All Downloads are FREE. Search and download functionalities are using the official Maven repository.

root.libs.composum.nodes.commons.components.js.widgets.min.js Maven / Gradle / Ivy

There is a newer version: 4.3.4
Show newest version
(function(){window.CPM=window.CPM||{};window.widgets=CPM.widgets={const:{css:{base:"widget",selector:{general:".widget",prefix:".widget.",form:"form.widget-form",group:".form-group",labeltext:"label .label-text",label:"label"}},attr:{name:"name"},tag:{input:["input","select","textarea"]}},registered:{},register:function(a,b,c){widgets.registered[a]=_.extend({selector:a,widgetClass:b},c)},setUp:function(a){var b=a?$(a):$(document);_.keys(widgets.registered).forEach(function(a){b.find(a).each(function(){core.getView(this,
widgets.registered[a].widgetClass)})})},apply:function(a,b){_.keys(widgets.registered).forEach(function(c){c=widgets.registered[c];var d=c[b];if(_.isFunction(d)){var e=$(a);e.is(c.selector)?d.apply(a):e.find(c.selector).each(function(){d.apply(this)})}})},Widget:Backbone.View.extend({initialize:function(a){this.$input=this.retrieveInput();this.rules={};this.name=this.retrieveName();(this.form=this.retrieveForm())&&_.isFunction(this.form.registerWidget)&&this.form.registerWidget(this);this.initChangeEvent()},
retrieveInput:function(){for(var a=[],b=0;0===a.length&&bb.length&&(b=this.$el.closest(a.group).find(a.label));return 1===b.length?b.text().trim():this.retrieveName()},
declareName:function(a){a?this.$input.attr(widgets.const.attr.name,a):this.$input.removeAttr(widgets.const.attr.name)},retrieveForm:function(){var a=this.$el.closest(widgets.const.css.selector.form);return 0b.trim().length)||this.rules.pattern.test(b))||(this.rules.patternHint?this.alert(a,"danger","",this.rules.patternHint,this.patternHint(this.rules.pattern)):core.i18n.get("value doesn't match pattern",_.bind(function(b){this.alert(a,"danger","",b,this.patternHint(this.rules.pattern))},this))));this.valid&&this.rules.required&&((c=this.valid=void 0!==b&&(this.rules.blank||0




© 2015 - 2025 Weber Informatics LLC | Privacy Policy