Expand my Community achievements bar.

SOLVED

multifield layout problem in CQ6

Avatar

Level 3

Hi,

   This is my multifield dialog looks like in CQ6. You can see that the "move downward" and "remove" columns are hidden in the page. In CQ5, you  can adjust this by resizing the dialog. but in CQ6, I cannot resize the new dialog.

[img]2014-07-07_11-00-53.png[/img]

  This is my code.

/** * @class Ejst.LinkListField * @extends CQ.form.CompositeField * The LinkListField lets the user can input the text and url for this link. * */ Ejst.LinkListField = CQ.Ext.extend(CQ.form.CompositeField, { /** * xtype: hidden * store real value file: this is json format * {url: '/content/sample', text: 'sample'} */ valueField: null /** * xtype: textfield * view on dialog: store text for this link */ ,linkText: null /** * xtype: pathfield * view on dialog: store url for this link */ ,linkUrl: null /** * xtype: checkbox * view on dialog: store url for this link */ ,openInNewWindow: null /** * xtype: numberfield */ ,level: null ,constructor: function(config) { config = config || {}; var defaults = { border:     true ,layout: "form" ,autoWidth: false }; config = CQ.Util.applyDefaults(config, defaults); Ejst.LinkListField.superclass.constructor.call(this, config); } /** * create composite fields */ ,initComponent: function () { Ejst.LinkListField.superclass.initComponent.call(this); //create children items this.valueField = new CQ.Ext.form.Hidden({ name:  this.name }); this.linkText = new CQ.Ext.form.TextField({ emptyText:   'Link text' ,allowBlank: false ,fieldLabel: 'Link Text' ,style : { width: '100%' } ,listeners: { change: { scope: this ,fn: this.updateValue } } }); this.linkUrl = new CQ.form.PathField({ emptyText:   'Select path or type external URL' ,allowBlank: true ,fieldLabel: 'URL' ,style : { width: '100%' } ,width: '205px' // ,listeners: { dialogclose: { scope: this ,fn:    this.updateValue } ,change: { scope: this ,fn: this.updateValue } } }); this.openInNewWindow = new CQ.Ext.form.Checkbox({ boxLabel:    'Open in new window' ,listeners: { check: { scope: this ,fn:    this.updateValue } } }); this.level = new CQ.Ext.form.NumberField({ fieldLabel: 'Navigation Level' ,defaultValue: 0 ,style : { width: '100%' } ,allowBlank: false ,listeners: { change: { scope: this ,fn:    this.updateValue } } }); this.add(this.valueField, this.linkText, this.linkUrl, this.level, this.openInNewWindow); } // ,processInit : function(path, record) { //     this.linkText.processInit(path, record); //     this.linkUrl.processInit(path, record); //     this.level.processInit(path, record); //     this.openInNewWindow.processInit(path, record); // } ,getValue: function() { return this.getRawValue(); } ,getRawValue: function() { var link = { 'text':                 this.linkText.getValue() ,'url':                  this.linkUrl.getValue() ,'openInNewWindow':      this.openInNewWindow.getValue() ,'level':                this.level.getValue() }; return JSON.stringify(link); } ,setValue: function(value) { this.valueField.setValue(value); var link = JSON.parse(value); this.linkText.setValue(link.text); this.linkUrl.setValue(link.url); this.openInNewWindow.setValue(link.openInNewWindow); this.level.setValue(link.level); } ,updateValue: function() { this.valueField.setValue(this.getValue()); } }); CQ.Ext.reg('linklistfield', Ejst.LinkListField);

Please help

 

Thank you

1 Accepted Solution

Avatar

Correct answer by
Employee

In 6.0, there have been changes in how edit dialogs work. That is, dialogs for the new UI work like the normal hierarchy of components (different from how it was done before). I've created an issue to have this documented. Please feel free to open a ticket with customer support if you're still having issues.

View solution in original post

1 Reply

Avatar

Correct answer by
Employee

In 6.0, there have been changes in how edit dialogs work. That is, dialogs for the new UI work like the normal hierarchy of components (different from how it was done before). I've created an issue to have this documented. Please feel free to open a ticket with customer support if you're still having issues.