DmailApp.java
package sk.iway.iwcm.components.dmail;
import javax.servlet.http.HttpServletRequest;
import lombok.Getter;
import lombok.Setter;
import sk.iway.iwcm.Identity;
import sk.iway.iwcm.components.WebjetComponentAbstract;
import sk.iway.iwcm.editor.rest.ComponentRequest;
import sk.iway.iwcm.system.annotations.WebjetAppStore;
import sk.iway.iwcm.system.annotations.WebjetComponent;
import sk.iway.iwcm.system.datatable.DataTableColumnType;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumn;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumnEditor;
import sk.iway.iwcm.system.datatable.annotations.DataTableColumnEditorAttr;
import sk.iway.iwcm.system.datatable.annotations.DataTableTab;
import sk.iway.iwcm.system.datatable.annotations.DataTableTabs;
import sk.iway.iwcm.users.UsersDB;
@WebjetComponent("sk.iway.iwcm.components.dmail.DmailApp")
@WebjetAppStore(
nameKey = "components.dmail.title",
descKey = "components.dmail.desc",
itemKey = "cmp_dmail",
imagePath = "/components/dmail/editoricon.png",
galleryImages = "/components/dmail/",
componentPath = "/components/dmail/subscribe.jsp,/components/dmail/subscribe-simple.jsp",
customHtml = "/apps/dmail/admin/editor-component.html"
)
@DataTableTabs(tabs = {
@DataTableTab(id = "basic", title = "components.universalComponentDialog.title", selected = true),
@DataTableTab(id = "componentIframeWindowTabSent", title = "components.dmail.camp.send_emails", content = ""),
// @DataTableTab(id = "componentIframeWindowTabUnsubscribed", title = "components.admin_unsubscribed_email.unsubscribed_email", content = ""),
@DataTableTab(id = "componentIframeWindowTabLimits", title = "components.dmail.domainlimits.list", content = "")
})
@Getter
@Setter
public class DmailApp extends WebjetComponentAbstract {
@DataTableColumn(
inputType = DataTableColumnType.SELECT,
tab = "basic",
title = "calendar.type",
editor = @DataTableColumnEditor(
options = {
@DataTableColumnEditorAttr(key = "components.user.reg_form", value = "subscribe"),
@DataTableColumnEditorAttr(key = "components.dmail.subscribeSimple", value = "subscribe-simple"),
//@DataTableColumnEditorAttr(key = "components.dmail.unsubscribeForm", value = "unsubscribe")
}
)
)
private String typeId;
@DataTableColumn(
inputType = DataTableColumnType.TEXT,
tab = "basic",
title = "components.dmail.camp.sender_name"
)
private String senderName;
@DataTableColumn(
inputType = DataTableColumnType.TEXT,
tab = "basic",
title = "components.dmail.camp.sender_email"
)
private String senderEmail;
@DataTableColumn(
inputType = DataTableColumnType.JSON,
tab = "basic",
title = "components.dmail.email_docid",
className = "dt-tree-page"
)
private Integer emailBodyId;
@DataTableColumn(inputType = DataTableColumnType.IFRAME, tab = "componentIframeWindowTabSent", title=" ")
private String iframe = "/components/dmail/admin_campaigns.jsp";
// @DataTableColumn(inputType = DataTableColumnType.IFRAME, tab = "componentIframeWindowTabUnsubscribed", title=" ")
// private String iframe2 = "/components/dmail/admin_unsubscribed.jsp";
@DataTableColumn(inputType = DataTableColumnType.IFRAME, tab = "componentIframeWindowTabLimits", title=" ")
private String iframe3 = "/components/dmail/admin-domainlimits-list.jsp";
@Override
public void initAppEditor(ComponentRequest componentRequest, HttpServletRequest request) {
Identity user = UsersDB.getCurrentUser(request);
if (user != null) {
senderEmail = user.getEmail();
senderName = user.getFullName();
}
}
}