I am making nice progress defining a DRYML taglib for ExtJS, however I noticed some things I think could be improved in the DRYML language:
In my case I end up with tags like the following: <def tag="ext-hiddenfield" attrs="var, allowDomMove, anchor, applyTo, autoCreate, autoEl, cls, ctCls, disabled, id, inputType, invalidClass , invalidText, itemCls, itemId, name, overCls, pageX, pageY, preventMark, ptype, readOnly, ref, renderTo, stateEvents, stateId, stateful, style, tabIndex, value, vtype, vtypeText, width, x, xtype, y"> ... </def> <def tag="ext-textfield" attrs="var, allowBlank, allowDomMove, anchor, applyTo, autoCreate, autoEl, autoHeight, autoShow, autoWidth, blankText, clearCls, cls, ctCls, disableKeyFilter, disabled, disabledClass, emptyClass, emptyText, enableKeyEvents, fieldClass, fieldLabel, focusClass, grow, growMax, growMin, height, hidden, hideLabel, hideMode, hideParent, id, inputType, invalidClass , invalidText, itemCls, itemId, labelSeparator, labelStyle, maskRe, maxLength, maxLengthText, minLength, minLengthText, msgFx, msgTarget, name, overCls, pageX, pageY, preventMark, ptype, readOnly, ref, regex, regexText, renderTo, selectOnFocus, stateEvents, stateId, stateful, stripCharsRe, style, tabIndex, validateOnBlur, validationDelay, validationEvent, value, vtype, vtypeText, width, x, xtype, y"> ... </def> ---- It should be obvious, that these tags each share common features/ configuration, and so it would be nice to allow for attribute sets or inheritance when defining tags. This allows for much more DRY tag definitions and allows for better reuse.. <def tag="ext-textfield" attrs="var, maskRe, value" attr-sets="form- component, min-max, grow, regex, text, validate"/> <def tag="ext-hiddenfield" attrs="var, value" attr-sets="form- component"/> <attr-set name="min-max" attrs="maxLength, maxLengthText, minLength, minLengthText"/> <attr-set name="grow" attrs="grow, growMax, growMin"/> <attr-set name="regex" attrs="regex, regexText"/> <attr-set name="text" attrs="emptyText, blankText"/> <attr-set name="validate" attrs="validateOnBlur, validationDelay, validationEvent"/> <attr-set name="form-component" attrs="allowDomMove, anchor, applyTo, autoCreate, autoEl, autoHeight, autoShow, autoWidth, clearCls, cls, ctCls, disableKeyFilter, disabled, disabledClass, emptyClass, enableKeyEvents, fieldClass, fieldLabel, focusClass, height, hidden, hideLabel, hideMode, hideParent, id, inputType, invalidClass , invalidText, itemCls, itemId, labelSeparator, labelStyle, msgFx, msgTarget, name, overCls, pageX, pageY, preventMark, ptype, readOnly, ref, renderTo, selectOnFocus, stateEvents, stateId, stateful, stripCharsRe, style, tabIndexvalue, vtype, vtypeText, width, x, xtype, y"/> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Hobo Users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/hobousers?hl=en -~----------~----~----~----~------~----~------~--~---
