18 package org.turro.dossier.zul.fields;
20 import java.util.List;
21 import org.turro.dossier.db.DossierPU;
22 import org.turro.dossier.entity.FieldDef;
23 import org.turro.elephant.context.Application;
24 import org.turro.elephant.db.WhereClause;
25 import org.turro.i18n.I_;
26 import org.turro.jpa.Dao;
27 import org.zkoss.zk.ui.Component;
28 import org.zkoss.zk.ui.event.Event;
29 import org.zkoss.zk.ui.event.EventListener;
30 import org.zkoss.zk.ui.event.Events;
31 import org.zkoss.zul.*;
40 private Toolbar toolbar;
41 private Toolbarbutton addButton, saveButton;
52 toolbar =
new Toolbar();
53 getParent().appendChild(toolbar);
58 private void addColumns() {
59 Columns cols =
new Columns();
60 cols.setSizable(
true);
61 cols.setMenupopup(
"auto");
64 Column col =
new Column(
I_.
get(
"Category"));
65 cols.appendChild(col);
66 col =
new Column(
I_.
get(
"Field label"));
67 cols.appendChild(col);
68 col =
new Column(
I_.
get(
"Field type"));
69 cols.appendChild(col);
70 col =
new Column(
I_.
get(
"Ordering"));
71 cols.appendChild(col);
72 col =
new Column(
I_.
get(
"Description"));
73 cols.appendChild(col);
74 col =
new Column(
I_.
get(
"Publishable"));
75 cols.appendChild(col);
79 cols.appendChild(col);
83 private void addRows() {
84 Dao dao =
new DossierPU();
85 WhereClause wc =
new WhereClause();
86 wc.addClause(
"select distinct fieldDef");
87 wc.addClause(
"from FieldDef as fieldDef");
88 wc.addClause(
"order by fieldDef.category.description, fieldDef.order, fieldDef.labelKey");
89 for(FieldDef fd : (List<FieldDef>) dao.getResultList(wc)) {
90 rows.appendChild(
new FieldDefRow(fd));
94 private void addToolbarButtons() {
95 saveButton =
new Toolbarbutton(
97 "/_zul/images/save.png"
99 saveButton.addEventListener(Events.ON_CLICK,
new EventListener() {
102 public void onEvent(Event event)
throws Exception {
103 DossierPU cpu =
new DossierPU();
104 for(Component fdr : rows.getChildren()) {
105 FieldDef fd = cpu.saveObject(((FieldDefRow)fdr).getFieldDef());
106 ((FieldDefRow)fdr).setFieldDef(fd);
111 toolbar.appendChild(saveButton);
113 addButton =
new Toolbarbutton(
115 "/_zul/images/new.png"
117 addButton.addEventListener(Events.ON_CLICK,
new EventListener() {
120 public void onEvent(Event event)
throws Exception {
121 rows.appendChild(
new FieldDefRow(
new FieldDef()));
125 toolbar.appendChild(addButton);
void setAddToolbar(boolean addToolbar)
boolean isInRole(String role)
static Application getApplication()
static String get(String msg)