Goal
In latest versions of AEM set "hidden=true" property on the folder to hide it in card/list/column views...
This sample extension is for hiding specific paths (folders or assets) in Touch UI Assets console Card View, List View and Column View. Setting up ACLs is a better way of providing necessary read/write access on folders....
Demo | Package Install
Product - /content/dam/geometrixx/portraits visible
Extension - /content/dam/geometrixx/portraits hidden
1) Login to CRXDE Lite, create folder (nt:folder) /apps/touch-ui-hide-specific-folders
2) Create clientlib (type cq:ClientLibraryFolder) /apps/touch-ui-hide-specific-folders/clientlib, set a property categories of String type to granite.ui.foundation.admin and dependencies of type String[] to underscore
3) Create file ( type nt:file ) /apps/touch-ui-hide-specific-folders/clientlib/js.txt, add the following
hide.js
4) Create file ( type nt:file ) /apps/touch-ui-hide-specific-folders/clientlib/hide.js, add the following code. The array PATHS_TO_HIDE has paths that should be hidden while rendering Assets console
Demo | Package Install
Product - /content/dam/geometrixx/portraits visible
Extension - /content/dam/geometrixx/portraits hidden
Solution
1) Login to CRXDE Lite, create folder (nt:folder) /apps/touch-ui-hide-specific-folders
2) Create clientlib (type cq:ClientLibraryFolder) /apps/touch-ui-hide-specific-folders/clientlib, set a property categories of String type to granite.ui.foundation.admin and dependencies of type String[] to underscore
3) Create file ( type nt:file ) /apps/touch-ui-hide-specific-folders/clientlib/js.txt, add the following
hide.js
4) Create file ( type nt:file ) /apps/touch-ui-hide-specific-folders/clientlib/hide.js, add the following code. The array PATHS_TO_HIDE has paths that should be hidden while rendering Assets console
(function (document, $) { "use strict"; var PATHS_TO_HIDE = ["/content/dam/catalogs", "/content/dam/projects", "/content/dam/geometrixx/portraits" ]; var DAM_ADMIN_CHILD_PAGES = "cq-damadmin-admin-childpages", LOAD_EVENT = "coral-columnview-load", FOUNDATION_LAYOUT_CARD = ".foundation-layout-card", NS_COLUMNS = ".foundation-layout-columns"; $(document).on("foundation-mode-change", function(e, mode, group){ //not assets console, return if(group != DAM_ADMIN_CHILD_PAGES){ return; } hide(); var $collection = $(".foundation-collection[data-foundation-mode-group=" + group + "]"); //for column view $collection.on(LOAD_EVENT, function(){ setTimeout( hide ,200); }); //for column view select $collection.on("coral-columnview-item-select" + NS_COLUMNS, hide); if (!$collection.is(FOUNDATION_LAYOUT_CARD)) { return; } var $scrollContainer = $collection.parent(); //for card view scroll $scrollContainer.on("scroll" + FOUNDATION_LAYOUT_CARD, _.throttle(function(){ var paging = $collection.data("foundation-layout-card.internal.paging"); if(!paging.isLoading){ return; } var INTERVAL = setInterval(function(){ if(paging.isLoading){ return; } clearInterval(INTERVAL); hide(); }, 250); }, 100)); }); function hide(){ var $articles = $("article"), $article, path; $articles.each(function(index, article){ $article = $(article); path = $article.data("path"); if(PATHS_TO_HIDE.indexOf(path) < 0){ return; } $article.hide(); }); } })(document, jQuery);
No comments:
Post a Comment