p:dashboard 小部件状态
p:dashboard widgets state
我添加了仪表板和 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 方法保存仪表板的状态 getColumns();
List<DashboardColumn> dashboardList = model.getColumns();
然后您只需选择保存格式即可,在我的示例中,它是 Json
beeing 保存在 alfresco Share 上。
public String getModelWidgets() {
List<DashboardColumn> dashboardList = model.getColumns();
Gson gson = new Gson();
String toJson = gson.toJson(dashboardList);
return toJson;
}
我添加了仪表板和 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 方法保存仪表板的状态 getColumns();
List<DashboardColumn> dashboardList = model.getColumns();
然后您只需选择保存格式即可,在我的示例中,它是 Json
beeing 保存在 alfresco Share 上。
public String getModelWidgets() {
List<DashboardColumn> dashboardList = model.getColumns();
Gson gson = new Gson();
String toJson = gson.toJson(dashboardList);
return toJson;
}