18 package org.turro.dossier.zul.fields;
20 import java.util.Date;
21 import org.turro.dossier.db.DossierPU;
22 import org.turro.dossier.dossier.CategoryCombobox;
23 import org.turro.dossier.entity.FieldDef;
24 import org.turro.elephant.context.Application;
25 import org.turro.elephant.db.WhereClause;
26 import org.turro.elephant.util.Messages;
27 import org.turro.i18n.I_;
28 import org.turro.jpa.Dao;
29 import org.turro.zul.frame.Framework;
30 import org.zkoss.zk.ui.event.Event;
31 import org.zkoss.zk.ui.event.EventListener;
32 import org.zkoss.zk.ui.event.Events;
33 import org.zkoss.zul.Checkbox;
34 import org.zkoss.zul.Image;
35 import org.zkoss.zul.Listbox;
36 import org.zkoss.zul.Row;
37 import org.zkoss.zul.Spinner;
38 import org.zkoss.zul.Textbox;
49 this.fieldDef = fieldDef;
58 this.fieldDef = fieldDef;
61 private void addCells() {
65 category.addEventListener(Events.ON_CHANGE,
new EventListener() {
67 public void onEvent(Event event)
throws Exception {
71 appendChild(category);
73 final Textbox labelKey =
new Textbox(fieldDef.
getLabelKey());
75 labelKey.addEventListener(Events.ON_CHANGE,
new EventListener() {
77 public void onEvent(Event event)
throws Exception {
81 appendChild(labelKey);
83 final Listbox classes =
new Listbox();
84 classes.setMold(
"select");
85 classes.appendItem(I_.get(
"String"), String.class.getName())
86 .setSelected(String.class.equals(fieldDef.
getJavaClass()));
87 classes.appendItem(I_.get(
"Long integer"), Long.class.getName())
88 .setSelected(Long.class.equals(fieldDef.
getJavaClass()));
89 classes.appendItem(I_.get(
"Double"), Double.class.getName())
90 .setSelected(Double.class.equals(fieldDef.
getJavaClass()));
91 classes.appendItem(I_.get(
"Date"), Date.class.getName())
92 .setSelected(Date.class.equals(fieldDef.
getJavaClass()));
93 classes.appendItem(I_.get(
"Boolean"), Boolean.class.getName())
94 .setSelected(Boolean.class.equals(fieldDef.
getJavaClass()));
95 classes.addEventListener(Events.ON_SELECT,
new EventListener() {
97 public void onEvent(Event event)
throws Exception {
98 fieldDef.
setJavaClass(Class.forName((String) classes.getSelectedItem().getValue()));
101 if(classes.getSelectedItem() ==
null) {
104 appendChild(classes);
106 final Spinner order =
new Spinner(fieldDef.
getOrder());
108 order.addEventListener(Events.ON_CHANGE,
new EventListener() {
110 public void onEvent(Event event)
throws Exception {
111 fieldDef.
setOrder(order.getValue());
116 final Checkbox description =
new Checkbox();
118 description.addEventListener(Events.ON_CHECK,
new EventListener() {
120 public void onEvent(Event event)
throws Exception {
124 appendChild(description);
126 final Checkbox publishable =
new Checkbox();
128 publishable.addEventListener(Events.ON_CHECK,
new EventListener() {
130 public void onEvent(Event event)
throws Exception {
134 appendChild(publishable);
136 if(Application.getApplication().isInRole(
"contact-field:delete")) {
137 Image img =
new Image(
"/_zul/images/edit-delete.png");
138 img.setStyle(
"cursor:pointer");
139 img.addEventListener(Events.ON_CLICK,
new EventListener() {
141 public void onEvent(Event event)
throws Exception {
142 Messages.confirmDeletion().show(() -> {
144 Framework.getCurrent().invalidateSelected();
152 private void deleteFieldDef() {
153 Dao dao =
new DossierPU();
154 WhereClause wc =
new WhereClause();
155 wc.addClause(
"delete from FieldValue as fieldValue");
156 wc.addClause(
"where fieldValue.fieldDef = :fieldDef");
157 wc.addNamedValue(
"fieldDef", fieldDef);
158 dao.executeUpdate(wc);
159 wc =
new WhereClause();
160 wc.addClause(
"delete from FieldDef as fieldDef");
161 wc.addClause(
"where fieldDef = :fieldDef");
162 wc.addNamedValue(
"fieldDef", fieldDef);
163 dao.executeUpdate(wc);
void setCategory(Category category)
void setLabelKey(String labelKey)
void setDescription(boolean description)
void setJavaClass(Class javaClass)
void setCategory(Category category)
void setPublishable(boolean publishable)
FieldDefRow(FieldDef fieldDef)
void setFieldDef(FieldDef fieldDef)