YUI().use(function(Y) {
var CONFIG = {
groups: {
'inputex': {
base: 'inputex/src/',
combine: false,
modules: {
'inputex': {
requires: ['node','intl'],
skinnable: true,
lang: ['en','fr','de','es','fr','it','nl']
},
// inputEx base
'inputex-field': {
requires: ['inputex']
},
'inputex-visus': {
requires: ['inputex','dump']
},
'inputex-jsonschema': {
requires: ['inputex']
},
// RPC
'inputex-rpc': {
requires: ['json','inputex','io','inputex-jsonschema','jsonp']
},
'inputex-smdtester': {
requires: ['inputex-rpc', 'inputex-jsontreeinspector']
},
// Mixins
'inputex-choice': {
requires: ['inputex']
},
// Widgets
'inputex-base': {
requires: ['inputex', 'widget', 'widget-stdmod']
},
'inputex-panel': {
requires: ['inputex', 'panel','inputex-base']
},
'inputex-datatable': {
requires: ['inputex-group', 'inputex-panel','datatable']
},
/*'inputex-dtinplaceedit': {
requires: ['inputex-datatable']
},*/
'inputex-jsontreeinspector': {
requires: ['inputex'],
skinnable: true
},
'inputex-button': {
requires: ['inputex']
},
// MetaFields
'inputex-group': {
requires: ['inputex-field'],
ix_provides: 'group'
},
'inputex-form': {
requires: ['io-base','inputex-group','json','inputex-button'],
ix_provides: 'form'
},
'inputex-list': {
requires: ['inputex-field','anim'],
skinnable: true,
ix_provides: 'list'
},
'inputex-tree': {
requires: ['inputex-string', 'inputex-list','inputex-inplaceedit'],
ix_provides: 'tree'
},
'inputex-combine': {
requires: ['inputex-group'],
ix_provides: 'combine'
},
'inputex-inplaceedit': {
requires: ['inputex-field', 'inputex-button', 'anim','inputex-visus'],
ix_provides: 'inplaceedit'
},
'inputex-lens': {
requires: ['inputex-group','inputex-inplaceedit'],
ix_provides: 'lens'
},
'inputex-serialize': {
requires: ['inputex-string','json'],
ix_provides: 'serialize'
},
'inputex-object': {
requires: ['inputex-list','inputex-combine','inputex-string'],
ix_provides: 'object'
},
// Fields
'inputex-string': {
requires: ['inputex-field','event-key'],
ix_provides: 'string'
},
'inputex-uppercase': {
requires: ['inputex-string'],
ix_provides: 'uppercase'
},
'inputex-autocomplete': {
requires: ['inputex-string','autocomplete', 'autocomplete-filters', 'autocomplete-highlighters','datasource'],
ix_provides: 'autocomplete'
},
'inputex-checkbox': {
requires: ['inputex-field'],
ix_provides: 'boolean'
},
'inputex-color': {
requires: ['inputex-field','node-event-delegate','overlay'],
skinnable: true,
ix_provides: 'color'
},
'inputex-colorpicker': {
requires: ['inputex-field','yui2-colorpicker','yui2-container','yui2-menu','yui2-button'],
skinnable: true,
ix_provides: 'colorpicker'
},
'inputex-date': {
requires: ['inputex-string'],
ix_provides: 'date'
},
'inputex-datepicker': {
requires: ['inputex-date','node-event-delegate','overlay','calendar'],
ix_provides: 'datepicker'
},
'inputex-dateselectmonth': {
requires: ['inputex-combine'],
ix_provides: 'dateselectmonth'
},
'inputex-integer': {
requires: ['inputex-string'],
ix_provides: 'integer'
},
'inputex-datesplit': {
requires: ['inputex-combine', 'inputex-integer'],
ix_provides: 'datesplit'
},
'inputex-select': {
requires: ['inputex-field','inputex-choice'],
ix_provides: 'select'
},
'inputex-time': {
requires: ['inputex-combine', 'inputex-select'],
ix_provides: 'time'
},
'inputex-datetime': {
requires: ['inputex-datepicker', 'inputex-combine', 'inputex-time'],
ix_provides: 'datetime'
},
'inputex-timeinterval': {
requires: ['inputex-combine', 'inputex-select'],
ix_provides: 'timeinterval'
},
'inputex-dsselect': {
requires: ['inputex-select', 'datasource'],
ix_provides: 'dsselect'
},
'inputex-email': {
requires: ['inputex-string'],
ix_provides: 'email'
},
'inputex-hidden': {
requires: ['inputex-field'],
ix_provides: 'hidden'
},
'inputex-keyvalue': {
requires: ['inputex-combine'],
ix_provides: 'keyvalue'
},
'inputex-keyopvalue': {
requires: ['inputex-keyvalue'],
ix_provides: 'keyopvalue'
},
'inputex-multiautocomplete': {
requires: ['inputex-autocomplete','json','sortable'],
ix_provides: 'multiautocomplete'
},
'inputex-multiselect': {
requires: ['inputex-select', 'sortable'],
ix_provides: 'multiselect'
},
'inputex-number': {
requires: ['inputex-string'],
ix_provides: 'number'
},
'inputex-password': {
requires: ['inputex-string'],
ix_provides: 'password'
},
'inputex-radio': {
requires: ['selector','event-delegate','inputex-field','inputex-choice','inputex-string'],
ix_provides: 'radio'
},
'inputex-rte': {
requires: ['inputex-field', 'yui2-editor'],
ix_provides: 'html'
},
'inputex-slider': {
requires: ['inputex-field', 'slider'],
ix_provides: 'slider'
},
'inputex-textarea': {
requires: ['inputex-string'],
ix_provides: 'text'
},
'inputex-type': {
requires: ['inputex-field','inputex-group','inputex-select', 'inputex-list','inputex-string','inputex-checkbox','inputex-integer'],
skinnable: true,
ix_provides: 'type'
},
'inputex-uneditable': {
requires: ['inputex-field', 'inputex-visus'],
ix_provides: 'uneditable'
},
'inputex-url': {
requires: ['inputex-string'],
ix_provides: 'url'
},
'inputex-dateselectmonth': {
requires: ['inputex-combine', 'inputex-string', 'inputex-select'],
ix_provides: 'dateselectmonth'
},
'inputex-ipv4': {
requires: ['inputex-string'],
ix_provides: 'ipv4'
},
'inputex-vector': {
requires: ['inputex-combine'],
ix_provides: 'vector'
},
'inputex-map': {
requires: ['inputex-field'],
ix_provides: 'map'
},
'inputex-ratingstars': {
requires: ['inputex-field'],
skinnable: true,
ix_provides: 'ratingstars'
},
'inputex-ratingstarsform': {
requires: ['inputex-ratingstars','inputex-form'],
ix_provides: 'ratingstarsform'
},
'inputex-menu': {
requires: ['inputex-field','yui2-menu'],
ix_provides: 'menu'
},
'inputex-file': {
requires: ['inputex-field'],
ix_provides: 'file'
},
'inputex-tinymce': {
requires: ['inputex-field'],
ix_provides: 'tinymce'
}
/*,
// Piercus widgets
'inputex-pie-listcustom': {
requires: ['sortable','yui2-json']
},
'inputex-pie-multiselect':{
requires: ['inputex-multiselect', 'inputex-pie-listcustom']
},
'inputex-pie-multiautocomplete':{
requires: ['inputex-multiautocomplete', 'inputex-pie-listcustom']
}*/
}
}
}
};
if(typeof YUI_config === 'undefined') { YUI_config = {groups: {}}; }
Y.mix(YUI_config.groups, CONFIG.groups);
// Loop through all modules
var modules = YUI_config.groups.inputex.modules,
allModules = [],
modulesByType = {};
for(var moduleName in modules) {
if (modules.hasOwnProperty(moduleName) ) {
// Build a list of all inputEx modules
allModules.push(moduleName);
// Build a reverse index on which module provides what type
if(modules[moduleName].ix_provides) {
modulesByType[modules[moduleName].ix_provides] = moduleName;
}
}
}
YUI_config.groups.inputex.allModules = allModules;
YUI_config.groups.inputex.modulesByType = modulesByType;
});