Saturday, July 7, 2018

AEM 61 ClassicUI Add Title Column to Damdadmin Search grid

AEM 61 ClassicUI Add Title Column to Damdadmin Search grid


Goal


Add title column (available in Digital Assets tab ootb) to the search grid of Classic UI Damadmin - http://localhost:4502/damadmin

For adding a column to siteadmin search panel check this post

For adding a column to Digital Assets tab grid check this post

Demo | Package Install



Solution


1) Login to CRXDE Lite, create folder (nt:folder) /apps/classicui-damadmin-search-title-column

2) Create clientlib (type cq:ClientLibraryFolder/apps/classicui-damadmin-search-title-column/clientlib and set property categories of String type to cq.widgets

3) Create file ( type nt:file ) /apps/classicui-damadmin-search-title-column/clientlib/js.txt, add the following

                         title-column.js

4) Create file ( type nt:file ) /apps/classicui-damadmin-search-title-column/clientlib/title-column.js, add the following code

(function(){
if(window.location.pathname !== "/damadmin"){
return;
}

// yes cq-siteadminsearchpanel-grid is dam search panel grid in /damadmin
var DA_GRID = "cq-siteadminsearchpanel-grid",
TITLE = "title";

var DA_INTERVAL = setInterval(function(){
var grid = CQ.Ext.getCmp(DA_GRID);

if(grid && (grid.rendered == true)){
clearInterval(DA_INTERVAL);
addTitleColumn(grid);
}
}, 250);

function addTitleColumn(grid) {
var cm = grid.getColumnModel();

var tColumn = new CQ.Ext.grid.Column({
"header": "Title",
"id": TITLE,
width: 100,
"renderer": function (v, params, record) {
if(!record || !record.json || !record.json["jcr:content"]){
return "";
}

var metadata = record.json["jcr:content"]["metadata"];

if(metadata){
return metadata["dc:title"];
}
}
});

cm.columns.splice(2, 0, tColumn);

cm.lookup[TITLE] = tColumn;
}
})();



visit link download