Changeset 1773


Ignore:
Timestamp:
02/24/12 15:18:55 (12 years ago)
Author:
twagoo
Message:

Created ChildNameValidator? which checks if a component or element name is unique among siblings. Both ComponentEdit? and ElementEdit? add set it as a validator on the NameInputLine? field, which now takes a validator as constructor parameter.

Location:
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/ComponentEdit.as

    r1754 r1773  
    2929       
    3030        [Event(name="removeComponent", type="flash.events.Event")]
    31         public class ComponentEdit extends Form implements CMDValidator {
     31        public class ComponentEdit extends Form {
    3232                public static const REMOVE_COMPONENT_EVENT:String = "removeComponent";
    3333                private static const DRAG_ITEMS:String = "items";
     
    161161                private function addNameInput():void {
    162162                        var nameInput:FormItemInputLine = new NameInputLine(_component.name, function(val:String):void {
    163                                 _component.name = val;
    164                         });
     163                                _component.name = val; 
     164                        }, new ChildNameValidator(_parentComponent, component));
    165165                        addChild(nameInput);
    166166                }
     
    291291                        return heading;
    292292                }
    293                
    294                 public function validate():Boolean{
    295                         // Parent must not have another component or element of the same name
    296                         for each (var component:CMDComponent in _parentComponent.cmdComponents) {
    297                                 if(component != _component && component.name == _component.name){
    298                                         return false;
    299                                 }       
    300                         }
    301                         for each (var element:CMDComponentElement in _parentComponent.cmdElements) {
    302                                 if(element.name == _component.name){
    303                                         return false;
    304                                 }
    305                         }
    306                         return true;
    307                 }
    308293        }
    309294}
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/ElementEdit.as

    r1754 r1773  
    2121
    2222        [Event(name="removeElement", type="flash.events.Event")]
    23         public class ElementEdit extends Form implements CMDValidator {
     23        public class ElementEdit extends Form {
    2424                public static const REMOVE_ELEMENT_EVENT:String = "removeElement";
    2525                private var _element:CMDComponentElement;
     
    150150                        var nameInput:NameInputLine = new NameInputLine(_element.name, function(val:String):void {
    151151                                        _element.name = val;
    152                                 })
     152                        }, new ChildNameValidator(_parentComponent, element));
    153153                        addChild(nameInput);
    154                 }
    155                
    156                
    157                 public function validate():Boolean{
    158                         // Parent must not have another component or element of the same name
    159                         for each (var component:CMDComponent in _parentComponent.cmdComponents) {
    160                                 if(component.name == _element.name){
    161                                         return false;
    162                                 }       
    163                         }
    164                         for each (var element:CMDComponentElement in _parentComponent.cmdElements) {
    165                                 if(element != _element && element.name == _element.name){
    166                                         return false;
    167                                 }
    168                         }
    169                         return true;
    170154                }
    171155        }
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/FormItemInputLine.as

    r447 r1773  
    11package clarin.cmdi.componentregistry.editor {
    22        import clarin.cmdi.componentregistry.common.StyleConstants;
    3        
    4         import flash.events.Event;
    53       
    64        import mx.binding.utils.BindingUtils;
    75        import mx.containers.FormItem;
    86        import mx.controls.TextInput;
    9         import mx.events.FlexEvent;
    107        import mx.events.ValidationResultEvent;
    118        import mx.validators.Validator;
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/NameInputLine.as

    r414 r1773  
    11package clarin.cmdi.componentregistry.editor {
    22        import clarin.cmdi.componentregistry.common.LabelConstants;
    3 
     3       
    44        import mx.events.ValidationResultEvent;
    55        import mx.validators.Validator;
     
    99                private var validator:Validator;
    1010
    11                 public function NameInputLine(value:String, bindingFunction:Function) {
    12                         super(LabelConstants.NAME, value, bindingFunction, true, InputValidators.getNameValidator());
     11                public function NameInputLine(value:String, bindingFunction:Function, validator:Validator=null) {
     12                        super(LabelConstants.NAME, value, bindingFunction, true, validator);
    1313                }
    1414
Note: See TracChangeset for help on using the changeset viewer.