Goal
Extend the List view of Inbox (/aem/inbox,/mnt/overlay/cq/inbox/content/inbox.html) and add column - Path
Also check column provider
Demo | Package Install | Github
Product
Extension
1) Login to CRXDE Lite, create folder (nt:folder) /apps/eaem-touchui-inbox-add-column-folder
2) Create clientlib (type cq:ClientLibraryFolder) /apps/eaem-touchui-inbox-add-column-folder/clientlib and set a property categories of String[] type to [cq.inbox.gui], dependencies of type String[] with value lodash
3) Create file ( type nt:file ) /apps/eaem-touchui-inbox-add-column-folder/clientlib/js.txt, add the following
add-column.js
4) Create file ( type nt:file ) /apps/eaem-touchui-inbox-add-column-folder/clientlib/add-column.js, add the following code
Product
Extension
Solution
1) Login to CRXDE Lite, create folder (nt:folder) /apps/eaem-touchui-inbox-add-column-folder
2) Create clientlib (type cq:ClientLibraryFolder) /apps/eaem-touchui-inbox-add-column-folder/clientlib and set a property categories of String[] type to [cq.inbox.gui], dependencies of type String[] with value lodash
3) Create file ( type nt:file ) /apps/eaem-touchui-inbox-add-column-folder/clientlib/js.txt, add the following
add-column.js
4) Create file ( type nt:file ) /apps/eaem-touchui-inbox-add-column-folder/clientlib/add-column.js, add the following code
(function($, $document){ var _ = window._, INBOX_UI_PAGE_VANITY = "/aem/inbox", INBOX_UI_PAGE = "/mnt/overlay/cq/inbox/content/inbox.html", LAYOUT_LIST_VIEW = "list", columnAdded = false; $document.on("foundation-contentloaded", addColumn); function isInboxPage() { var pathName = window.location.pathname; return ((pathName.indexOf(INBOX_UI_PAGE) >= 0) || (pathName.indexOf(INBOX_UI_PAGE_VANITY) >= 0)); } function addColumn(){ if(!isInboxPage() || columnAdded){ return; } var $thead = $("thead"); if(_.isEmpty($thead)){ return; } columnAdded = true; $thead.find("tr").append(getFolderColumnHeader()); addContent(); } function addContent(){ var $table = $("table"), foundationLayout = $table.data("foundation-layout"); if(_.isEmpty(foundationLayout)){ return; } var layoutId = foundationLayout.layoutId; if(layoutId !== LAYOUT_LIST_VIEW){ return; } $(".foundation-collection-item").each(function(index, item){ itemHandler($(item) ); }); } function itemHandler($item){ var payLoadLink = $item.data("payload-link"); $item.append(getListCellHtml(_.isEmpty(payLoadLink) ? "" : payLoadLink.substring(payLoadLink.indexOf("/content")))); } function getListCellHtml(itemName){ return '<td is="coral-table-cell">' + itemName + '</td>'; } function getFolderColumnHeader(){ return '<th is="coral-table-headercell">Path</th>'; } }(jQuery, jQuery(document)));
No comments:
Post a Comment