【问题标题】:p:dashboard widgets statep:仪表板小部件状态
【发布时间】:2015-10-15 13:52:17
【问题描述】:

我添加了仪表板和 3 个小部件。

<ui:define name="mainContent">
            <h:form id="dashboard" styleClass="main-page-dashboard">
                <p:dashboard id="board" model="#{serviceDashboardController.model}">
                    <p:ajax event="reorder"
                        listener="#{serviceDashboardController.handleReorder}" />

                    <p:panel id="calendar" header="#{msg.day_agenda}"
                        styleClass="calendar-dashboard dashboard-inner">
                        <ui:insert name="registry">
                            <ui:include src="/html/services/day_agenda_dashboard.xhtml" />
                        </ui:insert>
                    </p:panel>

                    <p:panel id="notary_tasks" header="#{msg.tasks}" styleClass="task-dashboard dashboard-inner">
                        <ui:insert name="notary_registry">
                            <ui:include src="/html/services/inboxMessages.xhtml" />
                        </ui:insert>
                        <p:link outcome="/html/services/inbox"
                            value="#{msg.more_not_tasks}" styleClass="enot-more-link" />
                    </p:panel>
                    <p:panel id="registry" header="#{msg.notary_registry}"
                        styleClass="registry-dashboard dashboard-inner">
                        <ui:insert name="registry">
                            <ui:include src="/html/services/notary_registry_dashboard.xhtml" />
                        </ui:insert>
                    </p:panel>
                </p:dashboard>
            </h:form>
        </ui:define>

所以.. 用户可以重新排序所有 3 个小部件。

我需要做的是,保存重新排序的小部件的状态(位置)。

现在我知道如何通过event.getWidgetId(),event.getColumnIndex() 检查每个小部件的位置,但我正在寻找所有仪表板排列,如果有类似的东西。

所以在用户重新排序后,我可以保存它,所以重新连接后的用户会看到他之前离开的仪表板,而不是默认设置。

编辑:刚才认为我们添加小部件的所有列都添加到模型中。

model.addColumn(column1);
        model.addColumn(column2);
        model.addColumn(column3);

        column1.addWidget("calendar");
        column1.addWidget("notary_tasks");
        column1.addWidget("notary_registry");

所以我想,我应该更深入地研究model.. 因此,如果有人有更多想法,请随时.. :)

tomcat 7、Primefaces 5.1、Mojarra 2.2

【问题讨论】:

    标签: jsf primefaces dashboard


    【解决方案1】:

    所以,答案有点简单,当然只需要阅读一些文档即可。 ! :)

    所以,仪表板的状态可以用JSF方法getColumns();保存

    List<DashboardColumn> dashboardList = model.getColumns();
    

    然后您只需要选择保存它的格式,例如,Jsonbeeing 保存在 alfresco Share 上。

    public String getModelWidgets() {
            List<DashboardColumn> dashboardList = model.getColumns();
            Gson gson = new Gson();
            String toJson = gson.toJson(dashboardList);
    
            return toJson;
        }
    

    【讨论】:

      猜你喜欢
      • 2017-12-21
      • 1970-01-01
      • 2014-04-02
      • 2013-11-05
      • 2011-02-18
      • 1970-01-01
      • 2021-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多