0 Replies Latest reply: Apr 29, 2014 12:21 AM by ngiri22 RSS

    Adding custom combobox to my scene7 tab in contentfinder

    ngiri22 Community Member

      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);

      })();

       

      =================================================