18 package org.turro.dossier.zul.viewer;
20 import org.turro.attach.search.AttachResults;
21 import org.turro.dossier.db.DossierPU;
22 import org.turro.dossier.dossier.DossierWrapper;
23 import org.turro.dossier.entity.Dossier;
24 import org.turro.dossier.entity.FieldValue;
25 import org.turro.elephant.context.Application;
26 import org.turro.i18n.I_;
27 import org.turro.zkoss.label.LabelExtended;
28 import org.turro.zkoss.layout.GridLayout;
29 import org.zkoss.lang.Strings;
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.Detail;
34 import org.zkoss.zul.Div;
35 import org.zkoss.zul.Hbox;
36 import org.zkoss.zul.Label;
37 import org.zkoss.zul.Row;
38 import org.zkoss.zul.Vbox;
46 private String issueColumns;
47 private Detail detail;
50 this.issueColumns = issueColumns;
55 super.setValue(value);
62 Vbox vbox =
new Vbox();
66 lext.setStyle(
"font-weight:bold;");
69 lext.setMultiline(
true);
71 lext.setStyle(lext.getStyle() +
"cursor:pointer");
72 lext.addEventListener(Events.ON_CLICK,
new EventListener() {
74 public void onEvent(Event event)
throws Exception {
77 detail.setOpen(!detail.isOpen());
82 vbox.appendChild(lext);
84 Hbox hbox =
new Hbox();
86 vbox.appendChild(hbox);
89 lext.setStyle(
"color:gray;font-size:11px;");
91 hbox.appendChild(lext);
94 lext.setStyle(
"color:maroon;font-size:11px;");
96 hbox.appendChild(lext);
99 lext.setStyle(
"color:gray;font-size:11px;");
103 vbox.appendChild(lext);
107 private void addDetail() {
108 detail =
new Detail();
111 detail.addEventListener(Events.ON_OPEN,
new EventListener() {
113 public void onEvent(Event event)
throws Exception {
119 private void fillDetail() {
120 if(!detail.getChildren().isEmpty())
return;
121 final Dossier dossier = (Dossier) getValue();
122 DossierGrid grid = (DossierGrid) getGrid();
123 if (!grid.isShowAttachments() && !grid.isShowFields() && !grid.isShowIssues()) {
126 Div vdetail =
new Div();
127 vdetail.setStyle(
"padding:5px");
128 detail.appendChild(vdetail);
130 if (grid.isShowFields() && !dossier.getFieldValues().isEmpty()) {
131 GridLayout gl =
new GridLayout(
"min,1");
132 for(FieldValue fv : dossier.getFieldValues()) {
133 if(!Strings.isBlank(fv.getValue()) && fv.getFieldDef().isPublishable()) {
134 gl.addCaption(fv.getFieldDef().getLabelKey());
135 gl.addComponent(
new Label(fv.getObjectString()));
138 if(!(gl.getChildren().isEmpty())) {
139 vdetail.appendChild(gl);
142 if (grid.isShowIssues() &&
new DossierWrapper(dossier).getIssueCount() > 0) {
144 div.setStyle(
"margin-top:10px");
145 vdetail.appendChild(div);
146 IssueGrid issueGrid =
new IssueGrid();
147 issueGrid.setIssueColumns(issueColumns);
148 issueGrid.setDossier(dossier);
149 div.appendChild(issueGrid);
151 if (grid.isShowAttachments() && AttachResults.getCountAttachments(DossierPU.getObjectPath(dossier)) > 0) {
153 div.setStyle(
"margin-top:10px");
154 vdetail.appendChild(div);
155 DossierAttachTree attach =
new DossierAttachTree();
156 div.appendChild(attach);
157 attach.setDossier(dossier);
158 attach.afterCompose();
DossierStatus getStatus()
String getFullDescription()
String getPublishableDescription()
void setValue(Object value)
void setIssueColumns(String issueColumns)
boolean isInRole(String role)
static Application getApplication()
static String get(String msg)
LabelExtended setShowTooltip(boolean showTooltip)
void setValue(String value)
LabelExtended setResourceValue(String resourceValue)
LabelExtended setMaxChars(int maxChars)