I am trying to add custom combobox by extending the OOB scene7 contentfinder in CQ. But for some reason, I am not seeing my combo box (id and selected value) getting passed in the request header as query parameter. Following is the js code I am using, has anyone worked on such a customization?
=================================================
CQ.Ext.ns("MyClientlib");
MyClientlib.ContentFinder = {
TAB_S7_BROWSE : "cfTab-S7Browse",
S7_QUERY_BOX: "cfTab-S7Browse-Tree",
CONTENT_FINDER_TAB: 'contentfindertab',
S7_RESULTS_BOX: "cfTab-S7Browse-resultBox",
addPageFilters: function(){
var tab = CQ.Ext.getCmp(this.TAB_S7_BROWSE);
var queryBox = CQ.Ext.getCmp(this.S7_QUERY_BOX);
queryBox.add({
"xtype": "label",
"text": "Select Path",
"cls": "x-form-field x-form-item-label"
});
var metaCombo = new CQ.Ext.form.ComboBox({
typeAhead: true,
triggerAction: 'all',
lazyRender:true,
mode: 'local',
store: new CQ.Ext.data.ArrayStore({
id: "cfTab-s7Browse-metaDataStore",
fields: [
'myId',
'displayText'
],
data: [[1, 'Name'], [2, 'Keywords'], [3, 'Description']]
}),
valueField: 'myId',
displayField: 'displayText',
listners: {
select: function (combo, record, index) {
var store = CQ.Ext.getCmp(this.S7_RESULTS_BOX).items.get(0).store;
store.setBaseParam("mFilter",CQ.Ext.getCmp(" cfTab-s7Browse-metaDataStore").getValue());
// CQ.S7.setSearchQualifiers(store);
store.reload();
}
}
});
queryBox.add(metaCombo);
var cfTab = queryBox.findParentByType(this.CONTENT_FINDER_TAB);
queryBox.add(new CQ.Ext.Panel({
border: false,
height: 40,
items: [{
xtype: 'panel',
border: false,
style: "margin:10px 0 0 0",
layout: {
type: 'hbox'
},
items: [{
xtype: "button",
text: "Search",
width: 60,
tooltip: 'Search',
handler: function (button) {
var params = cfTab.getParams(cfTab);
cfTab.loadStore(params);
}
},{
baseCls: "non-existent",
html:"<span style='margin-left: 10px;'></span>"
},{
xtype: "button",
text: "Clear",
width: 60,
tooltip: 'Clear the filters',
handler: function (button) {
$.each(cfTab.fields, function(key, field){
field[0].setValue("");
});
}
}
]
}]
}));
queryBox.setHeight(230);
queryBox.doLayout();
var form = cfTab.findByType("form")[0];
cfTab.fields = CQ.Util.findFormFields(form);
},
changeResultsStore: function(){
var queryBox = CQ.Ext.getCmp(this.S7_RESULTS_BOX);
var resultsView = queryBox.ownerCt.findByType("dataview");
var rvStore = resultsView[0].store;
rvStore.proxy = new CQ.Ext.data.HttpProxy({
url: CQ.S7.getSelectedConfigPath() + "/jcr:content.search.json",
method: 'GET'
});
}
};
(function(){
var INTERVAL = setInterval(function(){
var c = MyClientlib.ContentFinder;
var tabPanel = CQ.Ext.getCmp(CQ.wcm.ContentFinder.TABPANEL_ID);
if(tabPanel){
clearInterval(INTERVAL);
c.addPageFilters();
//CQ.Ext.Msg.alert('meta','CQ.Ext.getCmp("cfTab-s7Browse-metaDataStore").getValue()');
c.changeResultsStore();
}
}, 250);
})();
=================================================