Quantcast
Channel: Experiencing Adobe Experience Manager (AEM, CQ)
Viewing all articles
Browse latest Browse all 525

AEM 61 - Classic UI Limit Multifield Widget

$
0
0

Goal


Extend CQ.form.Multifield to create a LimitMultfield to limit the number of items added in the widget

For TouchUI check this post

Demo | Package Install


Configuration



Error



Solution


1) Login to CRXDE Lite (http://localhost:4502/crx/de) and create folder /apps/classic-ui-multi-field-limit-items

2) Create node /apps/classic-ui-multi-field-limit-items/clientlib of type cq:ClientLibraryFolder and add a String property categories with value cq.widgets

3) Create file (nt:file) /apps/classic-ui-multi-field-limit-items/clientlib/js.txt and add

                       multi-field-limit-items.js

4) Create file (nt:file) /apps/classic-ui-multi-field-limit-items/clientlib/multi-field-limit-items.js and add the following code.

CQ.Ext.ns("ExperienceAEM");

ExperienceAEM.LimitMultiField = CQ.Ext.extend(CQ.form.MultiField, {
initComponent: function () {
ExperienceAEM.LimitMultiField.superclass.initComponent.call(this);

if(!this.limit){
return;
}

this.on("beforeadd", function(){
var items = this.findByType(this.fieldConfig.xtype);

if(items.length < parseInt(this.limit)){
return;
}

CQ.Ext.Msg.alert('Error', 'More than ' + this.limit + " not allowed");

return false;
});
}
});

CQ.Ext.reg("limit-multifield", ExperienceAEM.LimitMultiField);



Viewing all articles
Browse latest Browse all 525

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>