1 Reply Latest reply on Jan 1, 2013 3:57 PM by Bayani Portier

    Uncaught TypeError: Cannot call method 'renderStoreProperty' of undefined

    Bayani Portier Level 1

      Hi,

       

      I'm using CQ5.5 with SP2.

       

      I am going through the tutorial on how to create and register a new xtype.

       

      I have followed the steps, and am getting the following error when I try to view the page:

       

      Uncaught TypeError: Cannot call method 'renderStoreProperty' of undefined

       

      I have added the following:

       

      /apps/training/widgets ( jcr:primaryType(Name)=cq:ClientLibraryFolder, categories(String[])=training.widgets, dependencies(String[])=cq.widgets, sling:resourceType(String[])=widgets/clientlib )

      /apps/training/widgets/files (jcr:primaryType(Name)=nt:folder)

      /apps/training/widgets/files/training.js (content below)

      /apps/training/widgets/js.txt

      #base=files

      training.js

       

      training.js

      // Create the namespace

      Training = {};

      // Create a new class based on existing CompositeField

      Training.Selection = CQ.Ext.extend(CQ.form.CompositeField, {

          text: "default text",

          constructor : function(config){

              if (config.text != null) this.text = config.text;

              var defaults = {

                      height: "auto",

                      border: false,

                      style: "padding:0;margin-bottom:0;",

                      layoutConfig: {

                          labelSeparator: CQ.themes.Dialog.LABEL_SEPARATOR

                      },

                      defaults: {

                          msgTarget: CQ.themes.Dialog.MSG_TARGET

                      }

              };

              CQ.Util.applyDefaults(config, defaults);

              Training.Selection.superclass.constructor.call(this, config);

              this.selectionForm = new CQ.Ext.form.TimeField({

                  name: this.name,

                  hideLabel: true,

                  anchor: "100%",

                  minValue: '8:00am',

                  maxValue: '6:00pm',

                 

                  intDate: new Date(),

                  validateValue: function(value) {return true}

              });

              this.add(this.selectionForm);

          },

          processRecord: function(record, path){

              this.selectionForm.setValue(record.get(this.getName()));

          }

      });

      CQ.Ext.reg("trainingSelection", Training.Selection);

       

      I have included headlibs.jsp for an extension of page as per the tutorial, contianing:

      <cq:includeClientLib js="training.widgets"/>

       

      When debugging the /etc/clientlibs/foundation/librarymanager/CQClientLibraryManager.js file, the path seems to be correct, pointing to:

      /apps/training/widgets.js

       

      unfortunately, when I try to hit

      http://localhost:4502/apps/training/widgets.js, I get a 404 No resource found error.

       

      This leads me to believe that I have something wrong with the /apps/training/widgets node, as it is not rendering the .js includes.

       

      Any help would be greatly appreciated.