Registrazione cusotm multifield in CQ


In Adobe CQ Sviluppo soddisfare molti scenario in cui dobbiamo utilizzare multifield ma CQ fornisce multifield non realmente ottenere attraverso il multifield il modo in cui si vuole fare con esso. Il seguente frammento di codice crea tutti i valori multicampo in formato JSON per renderli facili da leggere e utilizzare JSON conseguenza. Tutto quello che dovete fare è segno che multifieldpanel e utilizzare questo xtype come nodo basso multifieldpanel multifield.


CQ.Ext.ns ("ACS.CQ");
ACS.CQ.MultiFieldPanel = CQ.Ext.extend (CQ.Ext.Panel, {
panelValue: ''

/ **
* Costruttore
* Creare un nuovo MultiFieldPanel.
* Param {oggetto} config L'oggetto di configurazione
* /
constructor: function (config) {
config = config || {};
if (config.layout!) {
config.layout = "forma";
config.padding = '10px';
}
ACS.CQ.MultiFieldPanel.superclass.constructor.call (questo, config);
},

InitComponent: function () {
ACS.CQ.MultiFieldPanel.superclass.initComponent.call (questo);

= New CQ.Ext.form.Hidden this.panelValue ({
Nome: this.name
});

this.add (this.panelValue);

var = this.findParentByType dialogo ("finestra");

dialog.on ('beforesubmit', function () {
valore var = this.getValue ();

if (value) {
this.panelValue.setValue (valore);
}
}, Questo);
},

getValue: function () {
var pData = {};

this.items.each (funzione (i) {
if (i.xtype === "tag" || === ("chiave" i.xtype "nascosto" ||! i.hasOwnProperty)) {
ritorno;
}

pData [i.key] = i.getValue ();
});

return $ .isEmptyObject (pData)? "": JSON.stringify (pData);
},

setValue: function (value) {
this.panelValue.setValue (valore);

var pData = JSON.parse (valore);

this.items.each (funzione (i) {
if (i.xtype === "tag" || === ("chiave" i.xtype "nascosto" ||! i.hasOwnProperty)) {
ritorno;
}

if (! pData [i.key]) {
ritorno;
}

i.setValue (pData [i.key]);
});
},

convalidate: function () {
return true;
},

getName: function () {
ritorno this.name;
}
});

CQ.Ext.reg ("multifieldpanel" ACS.CQ.MultiFieldPanel);

(0)
(0)

Commenti - 0

Non ci sono commenti

Aggiungi un commento

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caratteri rimanenti: 3000
captcha