DocumentsJsTreeItem.java
package sk.iway.iwcm.doc;
import com.fasterxml.jackson.annotation.JsonProperty;
import sk.iway.iwcm.Tools;
import sk.iway.iwcm.admin.jstree.JsTreeItem;
import sk.iway.iwcm.admin.jstree.JsTreeItemState;
import sk.iway.iwcm.admin.jstree.JsTreeItemType;
public class DocumentsJsTreeItem extends JsTreeItem {
@JsonProperty("docDetails")
private DocDetails docDetails;
public DocumentsJsTreeItem(DocDetails docDetails, int groupDefaultDocId) {
this.docDetails = docDetails;
setId("docId-" + docDetails.getDocId());
setText(Tools.replace(docDetails.getTitle(), "/", "/"));
setVirtualPath(docDetails.getVirtualPath());
setIcon(getIconPrivate(groupDefaultDocId));
setState(getStatePrivate());
setChildren(false);
setType(JsTreeItemType.PAGE);
}
private String getIconPrivate(int groupDefaultDocId) {
if (!docDetails.isAvailable()) {
addLiClass("is-not-public");
}
if (Tools.isNotEmpty(docDetails.getExternalLink())) {
addTextIcon("ti ti-external-link");
}
if (!docDetails.isSearchable()) {
addTextIcon("ti ti-eye-off");
}
if (Tools.isNotEmpty(docDetails.getPasswordProtected())) {
addTextIcon("ti ti-lock");
}
String icon = "article";
String suffix = "-filled";
if (docDetails.isShowInMenu()==false) suffix = "";
if (docDetails.getDocId()==groupDefaultDocId) {
addLiClass("is-default-page");
icon = "star";
}
return "ti ti-"+icon+suffix;
}
private JsTreeItemState getStatePrivate() {
return new JsTreeItemState();
}
public DocDetails getDocDetails() {
return docDetails;
}
public void setDocDetails(DocDetails docDetails) {
this.docDetails = docDetails;
}
}