Changeset 2126


Ignore:
Timestamp:
08/22/12 07:31:04 (12 years ago)
Author:
twagoo
Message:

Merged changes from 1.12.0 branch that fix #217 and #218 + CHANGES file for that release

Files:
28 edited

Legend:

Unmodified
Added
Removed
  • ComponentRegistry/trunk

  • ComponentRegistry/trunk/CMDValidate

  • ComponentRegistry/trunk/ComponentBrowserGui

  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser/Browse.mxml

    r1946 r2126  
    66                   width="100%"
    77                   height="100%"
    8                    label="Browser"
    9                    implements="clarin.cmdi.componentregistry.common.components.RegistryView">
     8                   label="Component Browser"
     9                   implements="clarin.cmdi.componentregistry.common.components.RegistryView" xmlns:components="clarin.cmdi.componentregistry.common.components.*"
     10                   >
    1011        <mx:Metadata>
    1112                [Event(name="startItemLoaded",type="flash.events.Event")]
     
    161162                        }
    162163                       
    163                         private static const USERSPACE_LABEL:String = "Work space";
    164                         private static const PUBLICSPACE_LABEL:String = "Public space";
    165                         [Bindable]
    166                         public var spaces:ArrayCollection = new ArrayCollection([{label: PUBLICSPACE_LABEL, data: 1}, {label: USERSPACE_LABEL, data: 2}]);
    167                        
    168164                        private function setUserSpace(event:Event = null):void {
    169165                                if (Config.instance.userSpace) {
     
    173169                                }
    174170                        }
    175                        
    176                         private function userSpaceCloseHandler(event:Event):void {
    177                                 if (Credentials.instance.isLoggedIn()) {
    178                                         Config.instance.userSpace = ComboBox(event.target).selectedItem.data == 2;
    179                                 } else if (userSpaceCB.selectedIndex != 0) {
    180                                         userSpaceCB.selectedIndex = 0;
    181                                         new Login().show(this, Config.VIEW_BROWSE, Config.SPACE_USER, null);
    182                                 }
    183                                
    184                         }
    185171                ]]>
    186172        </mx:Script>
     
    188174        <browser:BrowserColumns id="browserColumns"/>
    189175       
    190         <mx:Panel layout="absolute"
    191                           width="100%"
     176        <mx:Panel width="100%"
    192177                          height="100%"
    193178                          headerHeight="0"
     
    196181                          borderThicknessBottom="0"
    197182                          borderThicknessLeft="0"
     183                          layout="absolute"
     184                          horizontalAlign="center"
    198185                          >
    199                        
    200                 <mx:ComboBox right="0"
    201                                          top="0"                               
    202                                          id="userSpaceCB"
    203                                          dataProvider="{spaces}"
    204                                          width="110"
    205                                          close="userSpaceCloseHandler(event);"/>
     186               
     187               
     188                <mx:Box paddingTop="5" paddingLeft="5"
     189                                top="-5"
     190                                horizontalCenter="-110"
     191                                >
     192                        <components:SpaceSwitch id="userSpaceCB" width="110" />
     193                </mx:Box>
    206194               
    207195                <mx:VBox left="0"
    208196                                 top="5"
    209197                                 borderStyle="none"
    210                                  horizontalAlign="center"
    211198                                 height="100%"
    212199                                 width="100%">
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser/BrowserOverviewList.mxml

    r1946 r2126  
    3434                        [Bindable]
    3535                        public var viewStack:RegistryViewStack;
     36                       
     37                        [Bindable]
     38                        public var buttonsEnabled:Boolean = true;
     39                       
     40                        [Bindable]
     41                        public var spaceSwitchEnabled:Boolean = false;
    3642                       
    3743                        public function set browserDataProvider(dataProvider:ArrayCollection):void {
     
    9197                        }
    9298                       
     99                        private function importItem():void{
     100                                viewStack.switchToImport();
     101                        }
     102                       
    93103                        private function dispatchCreateNewEvent():void{
    94104                                dispatchEvent(new CreateNewComponentEvent());
     
    100110                         paddingRight="5"
    101111                         width="100%">
    102        
     112               
     113                <mx:Box paddingTop="5" paddingLeft="5"
     114                                visible="{spaceSwitchEnabled}"
     115                                includeInLayout="{spaceSwitchEnabled}">
     116                        <comp:SpaceSwitch id="userSpaceCB" />
     117                </mx:Box>
     118               
    103119                <mx:HBox horizontalAlign="left"
    104120                                 verticalAlign="middle"
    105                                  width="50%">
     121                                 width="70%"
     122                                 visible="{buttonsEnabled}"
     123                                 >
    106124                       
    107                         <!-- public space -->
     125                        <mx:Button label="Create new"
     126                                           toolTip="Create a new item in the private workspace"
     127                                           click="dispatchCreateNewEvent()"
     128                                           />
     129                        <mx:Button label="Edit"
     130                                           toolTip="Edit the selected item in the editor"
     131                                           visible="{Config.instance.userSpace}"
     132                                           includeInLayout="{Config.instance.userSpace}"
     133                                           enabled="{Config.instance.userSpace &amp;&amp; dataGrid.selectedItem != null}"
     134                                           click="editItem()" />
    108135                        <mx:Button label="Edit as new"
    109136                                           toolTip="Edit the selected item as a new item in the private workspace"
    110                                            includeInLayout="{!Config.instance.userSpace}"
    111                                            visible="{!Config.instance.userSpace}"
    112                                            enabled="{(dataGrid.selectedItem != null) &amp;&amp; Credentials.instance.isLoggedIn()}"
     137                                           visible="{!Config.instance.userSpace}"
     138                                           includeInLayout="{!Config.instance.userSpace}"
     139                                           enabled="{!Config.instance.userSpace &amp;&amp; dataGrid.selectedItem != null}"
    113140                                           click="editItem()" />
    114                         <!-- private space -->
    115                         <mx:Button label="Create new" includeInLayout="{Config.instance.userSpace}"
    116                                            toolTip="Create a new item in the private workspace"
    117                                            visible="{Config.instance.userSpace}"
    118                                            enabled="{Credentials.instance.isLoggedIn()}"
    119                                            click="dispatchCreateNewEvent()"
    120                                            />
    121                         <mx:Button label="Edit" includeInLayout="{Config.instance.userSpace}"
    122                                            toolTip="Edit the selected item in the editor"
    123                                            visible="{Config.instance.userSpace}"
    124                                            enabled="{dataGrid.selectedItem != null &amp;&amp; Credentials.instance.isLoggedIn()}"
    125                                            click="editItem()" />
     141                        <mx:Button label="Import"
     142                                           toolTip="Import an item from a local file"
     143                                           click="importItem()" />
    126144                </mx:HBox>
    127145               
    128146                <mx:HBox horizontalAlign="right"
    129147                                 verticalAlign="middle"
    130                                  width="50%">
     148                                 width="30%">
    131149       
    132150                        <rictus:SearchBox id="searchBox"
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/components/BrowseContextMenu.as

    r1090 r2126  
    22        import clarin.cmdi.componentregistry.common.ItemDescription;
    33        import clarin.cmdi.componentregistry.common.ShowInfoPopUp;
     4        import clarin.cmdi.componentregistry.services.Config;
    45        import clarin.cmdi.componentregistry.services.DeleteService;
    56        import clarin.cmdi.componentregistry.services.SaveItemDialog;
    6 
     7       
    78        import flash.events.ContextMenuEvent;
    89        import flash.geom.Point;
    910        import flash.ui.ContextMenu;
    1011        import flash.ui.ContextMenuItem;
    11 
     12       
    1213        import mx.controls.Alert;
    1314        import mx.controls.DataGrid;
     
    3132                private var saveItemDialog:SaveItemDialog = new SaveItemDialog();
    3233                private var isComponent:Boolean = false;
     34               
     35                private var editMenuItem:ContextMenuItem;
     36                private var editAsNewMenuItem:ContextMenuItem;
    3337
    3438                public function BrowseContextMenu(isComponent:Boolean = false) {
     
    3741                        cm.hideBuiltInItems();
    3842                        cm.customItems = createMenuItems();
     43                        setItemStates();
     44                       
     45                        Config.instance.addEventListener(Config.USER_SPACE_TOGGLE_EVENT, setItemStates);
    3946                }
    4047
     
    5259                                result.push(cmi);
    5360                        }
    54                         cmi = new ContextMenuItem("Edit Item...");
    55                         cmi.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, editItem);
    56                         result.push(cmi);
     61                        editMenuItem = new ContextMenuItem("Edit Item...");
     62                        editMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, editItem);
     63                        result.push(editMenuItem);
     64                       
     65                        editAsNewMenuItem = new ContextMenuItem("Edit Item as New...");
     66                        editAsNewMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, editItem);
     67                        result.push(editAsNewMenuItem);
     68                       
    5769                        cmi = new ContextMenuItem("Delete Item...", true);
    5870                        cmi.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, handleDelete);
     
    6173                        return result;
    6274                }
     75               
     76                private function setItemStates(event:Event = null):void {
     77                        editMenuItem.visible = Config.instance.userSpace;
     78                        editAsNewMenuItem.visible = !Config.instance.userSpace;
     79                }
    6380
    6481                public function set dataGrid(dataGrid:DataGrid):void {
    6582                        _dataGrid = dataGrid;
    6683                }
    67 
    68 
    6984
    7085                private function showInfo(event:ContextMenuEvent):void {
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/common/components/RegistryViewStack.as

    r1946 r2126  
    7878               
    7979                public function switchToEditor(itemDescription:ItemDescription):void {
    80                         // About to open item in editor, check if there are pending changes
    81                         if(itemDescription != null && editor.xmlEditor.specHasChanges){
    82                                 Alert.show("Doing this will discard all changes in the component that is currently being edited. Proceed?", "Discard changes", Alert.OK|Alert.CANCEL, this,
    83                                         function(event:CloseEvent):void {
    84                                                 if(event.detail == Alert.OK) {
    85                                                         doSwitchToEditor(itemDescription);
    86                                                 }
    87                                         } );
    88                         } else {
    89                                 doSwitchToEditor(itemDescription);
    90                         }
     80                        doSwitchToEditor(itemDescription);
    9181                }
    9282               
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/CMDComponentXMLEditor.as

    r1946 r2126  
    66        import clarin.cmdi.componentregistry.common.components.AddComponentLabelButton;
    77        import clarin.cmdi.componentregistry.common.components.AddElementLabelButton;
     8        import clarin.cmdi.componentregistry.common.components.LabelButton;
    89        import clarin.cmdi.componentregistry.common.components.RemoveLabelButton;
    910        import clarin.cmdi.componentregistry.editor.model.CMDComponent;
     
    2223        import mx.containers.FormItem;
    2324        import mx.containers.FormItemDirection;
     25        import mx.containers.HBox;
    2426        import mx.controls.Alert;
    2527        import mx.controls.Label;
     
    163165                        checkFirstDefiningComponent(_spec.cmdComponents);
    164166                        handleHeader(_spec);
     167                       
     168                        addChild(createCollapseExpandBox());
     169                       
    165170                        handleElements(_firstComponent.cmdElements);
    166171                        addElementAddButton();
    167172                        handleComponents(_firstComponent.cmdComponents);
    168173                        addComponentAddButton();
     174                       
     175                        addChild(createCollapseExpandBox());
     176
    169177                        trace("Created editor view in " + (getTimer() - start) + " ms.");
     178                }
     179               
     180                private function createCollapseExpandBox():HBox{
     181                        var collapseExpandBox:HBox = new HBox();
     182                        collapseExpandBox.addChild(createCollapseAllButton());
     183                        collapseExpandBox.addChild(createExpandAllButton());
     184                        return collapseExpandBox;
     185                }
     186               
     187                private function createCollapseAllButton():UIComponent{
     188                        var button:LabelButton = new LabelButton(collapseAll,  "Collapse all");
     189                        button.setStyle("color","blue");
     190                        button.toolTip = "Collapse all components and elements in this editor";
     191                        return button;
     192                }
     193               
     194                private function collapseAll(event:Event):void{
     195                        for(var i:int=0;i<numChildren;i++){
     196                                var child:Object = getChildAt(i);
     197                                if(child is ElementEdit || child is ComponentEdit){
     198                                        ItemEdit(child).collapseAll();
     199                                }
     200                        }
     201                }
     202               
     203                private function createExpandAllButton():UIComponent{
     204                        var button:LabelButton = new LabelButton(expandAll,  "Expand all");
     205                        button.setStyle("color","blue");
     206                        button.toolTip = "Expand all components and elements in this editor";
     207                        return button;
     208                }               
     209               
     210                private function expandAll(event:Event):void{
     211                        for(var i:int=0;i<numChildren;i++){
     212                                var child:Object = getChildAt(i);
     213                                if(child is ElementEdit || child is ComponentEdit){
     214                                        ItemEdit(child).expandAll();
     215                                }
     216                        }
    170217                }
    171218               
     
    237284                        var buttons:FormItem = new SelectTypeRadioButtons(spec);
    238285                        head.addChild(buttons);
    239                         var startOverLabel:Label = createStartOverButton();
    240                         startOverLabel.setStyle("paddingTop", "2");
    241                         startOverLabel.height = buttons.height;
    242286                        var space:Spacer = new Spacer();
    243287                        space.width = 55;
    244288                        head.addChild(space);
    245                         head.addChild(startOverLabel);
    246289                        addChild(head);
    247290                       
     
    371414                        removeChild(event.currentTarget as DisplayObject);
    372415                }
    373                
    374                 private function createStartOverButton():Label {
    375                         var startOverButton:Label = new RemoveLabelButton();
    376                         startOverButton.addEventListener(MouseEvent.CLICK, clearEditorHandler);
    377                         startOverButton.toolTip = "Clears all input and removes added components";
    378                         startOverButton.text = "start over";
    379                         return startOverButton;
    380                 }
    381416        }
    382417}
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/ComponentEdit.as

    r2070 r2126  
    2929       
    3030        [Event(name="removeComponent", type="flash.events.Event")]
    31         public class ComponentEdit extends Form {
     31        public class ComponentEdit extends ItemEdit {
    3232                public static const REMOVE_COMPONENT_EVENT:String = "removeComponent";
    3333                private static const DRAG_ITEMS:String = "items";
     
    3838                private var addComponentLabel:Label
    3939                private var addElementLabel:Label
    40                
    4140               
    4241                public function ComponentEdit(component:CMDComponent, parent:UIComponent, parentComponent:CMDComponent) {
     
    9897                        createComponentEditBar();
    9998                       
     99                        addChild(getHideableForm());                   
     100                       
     101                        var summary:ComponentSummary = new ComponentSummary();
     102                        summary.component = _component;
     103                        summary.visible = false;
     104                       
     105                        setSummaryContainer(summary);           
     106                        addChild(summary);
     107                       
    100108                        var componentLink:FormItem = createComponentLink(_component);
    101109                        if (componentLink != null) {
    102110                                addCardinalityInput();
    103                                 addChild(componentLink);
     111                                addToHideableForm(componentLink);
    104112                        } else {
    105113                                addNameInput();
     
    148156               
    149157                private function addConceptLink():void {
    150                         addChild(new ConceptLinkInput(LabelConstants.CONCEPTLINK, _component.conceptLink, function(val:String):void {
     158                        addToHideableForm(new ConceptLinkInput(LabelConstants.CONCEPTLINK, _component.conceptLink, function(val:String):void {
    151159                                _component.conceptLink = val;
    152160                        }));
     
    163171                                _component.name = val; 
    164172                        }, new ChildNameValidator(_parentComponent, component));
    165                         addChild(nameInput);
     173                        addToHideableForm(nameInput);
    166174                }
    167175               
    168176                private function addCardinalityInput():void {
    169                         addChild(new CardinalityInput(LabelConstants.CARDINALITY_MIN, _component.cardinalityMin, CardinalityInput.BOUNDED, function(val:String):void {
     177                        addToHideableForm(new CardinalityInput(LabelConstants.CARDINALITY_MIN, _component.cardinalityMin, CardinalityInput.BOUNDED, function(val:String):void {
    170178                                _component.cardinalityMin = val;
    171179                        }));
    172                         addChild(new CardinalityInput(LabelConstants.CARDINALITY_MAX, _component.cardinalityMax, CardinalityInput.UNBOUNDED,function(val:String):void {
     180                        addToHideableForm(new CardinalityInput(LabelConstants.CARDINALITY_MAX, _component.cardinalityMax, CardinalityInput.UNBOUNDED,function(val:String):void {
    173181                                _component.cardinalityMax = val;
    174182                        }));
    175183                }
    176184               
     185                private function createHidableForm():Form {
     186                        var form:Form = new Form();
     187                        form.styleName = StyleConstants.XMLBROWSER;
     188                        form.setStyle("paddingTop","0");
     189                        form.setStyle("paddingBottom","0");
     190                        form.verticalScrollPolicy = "off";
     191                        form.horizontalScrollPolicy = "off";
     192                        return form;
     193                }
     194               
    177195                private function createComponentEditBar():void {
    178196                        var editBar:HBox = new HBox();
     197                       
     198                        editBar.addChild(getShowToggleBox());
     199                       
    179200                        editBar.addChild(createHeading());
    180201                        var removeButton:Label = new RemoveLabelButton();
     
    236257               
    237258                private function handleCMDAttributeList():void {
    238                         addChild(new AttributeListEdit(_component, this));
     259                        addToHideableForm(new AttributeListEdit(_component, this));
    239260                }
    240261               
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/Editor.mxml

    r1942 r2126  
    66                   width="100%"
    77                   height="100%"
    8                    label="Editor"
     8                   label="Component Editor"
    99                   creationComplete="init()"
    10                    implements="clarin.cmdi.componentregistry.common.components.RegistryView"
     10                   implements="clarin.cmdi.componentregistry.common.components.RegistryView" xmlns:components="clarin.cmdi.componentregistry.common.components.*"
    1111                   >
    1212       
     
    2121                                                                        saveClick="saveSpec(true, UploadService.UPDATE)"
    2222                                                                        saveAsNewClick="saveSpec(true, UploadService.NEW)"
    23                                                                         publishClick="publishSpec()"/>
     23                                                                        publishClick="publishSpec()"
     24                                                                        cancelClick="cancel()"
     25                                                                        />
    2426                        <mx:Text id="errorMessageField"
    2527                                         text="{uploadService.message}"
     
    4648                                <browser:BrowserOverviewList id="componentsPaletteOverview"
    4749                                                                                         width="100%" height="90%"
     50                                                                                         buttonsEnabled="false"
     51                                                                                         spaceSwitchEnabled="true"
    4852                                                                                         browserDataProvider="{componentsSrv.itemDescriptions}"
    4953                                                                                         browserColumns="{browserColumns.getComponentColumns()}"
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/EditorAS.as

    r1946 r2126  
    22import clarin.cmdi.componentregistry.browser.BrowserColumns;
    33import clarin.cmdi.componentregistry.common.ItemDescription;
     4import clarin.cmdi.componentregistry.common.components.RegistryViewStack;
    45import clarin.cmdi.componentregistry.editor.model.CMDModelFactory;
    56import clarin.cmdi.componentregistry.editor.model.CMDSpec;
     
    3940private var uploadService:UploadService = new UploadService();
    4041
     42[Bindable]
     43private var viewStack:RegistryViewStack;
    4144
    4245public function init():void {
     
    4750        uploadService.init(uploadProgress);
    4851        Config.instance.addEventListener(Config.USER_SPACE_TOGGLE_EVENT, toggleUserSpace);
     52        viewStack = this.parent as RegistryViewStack;
    4953}
    5054
     
    128132        } else {
    129133                errorMessageField.text = "Validation errors: red colored fields are invalid.";
     134        }
     135}
     136
     137private function cancel():void {
     138        if(xmlEditor.specHasChanges){
     139        Alert.show("There are pending changes. Cancelling will discard these. Are you sure you want to proceed?", "Discard changes?", Alert.YES|Alert.NO, null,
     140                function (eventObj:CloseEvent):void{
     141                        if(eventObj.detail == Alert.YES){
     142                                viewStack.switchToBrowse(itemDescription);                             
     143                        }
     144                });
     145        } else {
     146                viewStack.switchToBrowse(itemDescription);
    130147        }
    131148}
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/EditorButtonBar.mxml

    r1839 r2126  
    88                [Event(name="saveAsNewClick", type="flash.events.MouseEvent")]
    99                [Event(name="publishClick", type="flash.events.MouseEvent")]
     10                [Event(name="cancelClick", type="flash.events.MouseEvent")]
    1011        </mx:Metadata>
    1112        <mx:Button id="saveBtn"
    12                            label="save"
     13                           label="Save"
    1314                           click="dispatchEvent(new MouseEvent('saveClick'))"
    1415                           enabled="false"
    1516                           />
    1617        <mx:Button id="saveAsNewBtn"
    17                            label="save as new"
     18                           label="Save as new"
    1819                           click="dispatchEvent(new MouseEvent('saveAsNewClick'))"/>
    1920        <mx:Button id="publishBtn"
    20                            label="publish in public space"
     21                           label="Publish in public space"
    2122                           click="dispatchEvent(new MouseEvent('publishClick'))"/>
     23       
     24        <mx:Button id="cancelBtn"
     25                           label="Cancel"
     26                           click="dispatchEvent(new MouseEvent('cancelClick'))"/>
    2227</mx:HBox>
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/ElementEdit.as

    r2070 r2126  
    1212       
    1313        import mx.binding.utils.BindingUtils;
     14        import mx.containers.Box;
    1415        import mx.containers.Form;
    1516        import mx.containers.FormItem;
    1617        import mx.containers.HBox;
     18        import mx.containers.VBox;
    1719        import mx.controls.Button;
    1820        import mx.controls.Label;
     
    2123
    2224        [Event(name="removeElement", type="flash.events.Event")]
    23         public class ElementEdit extends Form {
     25        public class ElementEdit extends ItemEdit {
    2426                public static const REMOVE_ELEMENT_EVENT:String = "removeElement";
    2527                private var _element:CMDComponentElement;
     
    3335                        this._parent = parent;
    3436                        styleName = StyleConstants.XMLBROWSER;
     37                       
     38                        setStyle("paddingBottom","5");
     39                        verticalScrollPolicy = "off";
     40                        horizontalScrollPolicy = "off";
     41                       
    3542                }
    3643
     
    4552                protected override function createChildren():void {
    4653                        super.createChildren();
     54                                               
    4755                        addChild(createEditBar());
    48                         addNameInput();
    49                         addChild(new ConceptLinkInput(LabelConstants.CONCEPTLINK, _element.conceptLink, function(val:String):void {
     56                       
     57                        addChild(getHideableForm());
     58                       
     59                        var summary:ElementSummary = new ElementSummary();
     60                        summary.element = _element;
     61                        summary.visible = false;
     62                       
     63                        setSummaryContainer(summary);
     64                        addChild(summary);
     65                       
     66                        addToHideableForm(createNameInput());
     67                        addToHideableForm(new ConceptLinkInput(LabelConstants.CONCEPTLINK, _element.conceptLink, function(val:String):void {
    5068                                        _element.conceptLink = val;
    5169                                }));
    52                         addChild(new FormItemInputLine(LabelConstants.DOCUMENTATION, _element.documentation, function(val:String):void {
     70                        addToHideableForm(new FormItemInputLine(LabelConstants.DOCUMENTATION, _element.documentation, function(val:String):void {
    5371                                        _element.documentation = val;
    5472                                }));
    55                         addChild(new DisplayPriorityInput(LabelConstants.DISPLAY_PRIORITY, _element.displayPriority, function(val:String):void {
     73                        addToHideableForm(new DisplayPriorityInput(LabelConstants.DISPLAY_PRIORITY, _element.displayPriority, function(val:String):void {
    5674                                        _element.displayPriority = val;
    5775                                }));
     
    6078                                _element.cardinalityMin = val;
    6179                        });
    62                         addChild(cardinalityMinInput);
     80                        addToHideableForm(cardinalityMinInput);
    6381                       
    6482                        var cardinalityMaxInput:CardinalityInput = new CardinalityInput(LabelConstants.CARDINALITY_MAX, _element.cardinalityMax, CardinalityInput.UNBOUNDED, function(val:String):void {
     
    6987                                cardinalityMaxInput.enabled = _element.multilingual != "true";
    7088                        }, _element, "multilingual");
    71                         addChild(cardinalityMaxInput);
     89                        addToHideableForm(cardinalityMaxInput);
    7290                       
    73                         addChild(AttributeListEdit.createAndAddValueScheme(_element));
     91                        addToHideableForm(AttributeListEdit.createAndAddValueScheme(_element));
    7492                        var multiLingualCheck:CheckboxInput = new CheckboxInput(LabelConstants.MULTILINGUAL, _element.multilingual == "true", function(val:Boolean):void {
    7593                                        _element.multilingual = String(val);
     
    85103                                }, _element, "valueSchemeSimple");
    86104                       
    87                         addChild(multiLingualCheck);
     105                        addToHideableForm(multiLingualCheck);
    88106                        handleCMDAttributeList();
    89107                }
     
    91109                private function createEditBar():HBox {
    92110                        var editBar:HBox = new HBox();
     111                       
     112                        editBar.addChild(getShowToggleBox());
     113                       
    93114                        editBar.addChild(createHeading());
    94115                        var removeButton:Label = new RemoveLabelButton();
     
    146167                private function handleCMDAttributeList():void {
    147168                        var attributeEdit:Container = new AttributeListEdit(_element, this);
    148                         addChild(attributeEdit);
     169                        addToHideableForm(attributeEdit);
    149170                }
    150171
     
    156177                }
    157178
    158                 private function addNameInput():void {
     179                private function createNameInput():NameInputLine {
    159180                        var nameInput:NameInputLine = new NameInputLine(_element.name, function(val:String):void {
    160181                                        _element.name = val;
    161182                        }, new ChildNameValidator(_parentComponent, element));
    162                         addChild(nameInput);
     183                        return nameInput;
    163184                }
    164185        }
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/IsocatSearchPopUp.mxml

    r1913 r2126  
    105105                        <mx:Button id="okBtn"
    106106                                           label="OK"
    107                                            click="handleOkClick()"/>
     107                                           click="handleOkClick()"
     108                                           enabled="{dataGrid.selectedItem != null}"
     109                                           />
    108110                        <mx:Button label="Cancel"
    109111                                           click="cleanUp()"/>
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/model/CMDComponent.as

    r1954 r2126  
    77        import mx.events.CollectionEventKind;
    88
     9        [Bindable]
    910        public class CMDComponent implements XmlAble, AttributeContainer, ChangeTrackingCMDElement {
    1011
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/importer/Importer.mxml

    r1942 r2126  
    55                   height="100%"
    66                   label="Import file"
    7                    implements="clarin.cmdi.componentregistry.common.components.RegistryView">
     7                   implements="clarin.cmdi.componentregistry.common.components.RegistryView"
     8                   >
    89
    910        <mx:Script>
    1011                <![CDATA[
     12                        import clarin.cmdi.componentregistry.common.ComponentMD;
     13                        import clarin.cmdi.componentregistry.common.Credentials;
     14                        import clarin.cmdi.componentregistry.common.ItemDescription;
     15                        import clarin.cmdi.componentregistry.common.LabelConstants;
     16                        import clarin.cmdi.componentregistry.common.Profile;
     17                        import clarin.cmdi.componentregistry.common.components.RegistryViewStack;
     18                        import clarin.cmdi.componentregistry.editor.InputValidators;
     19                        import clarin.cmdi.componentregistry.services.Config;
     20                       
     21                        import mx.collections.ArrayCollection;
     22                        import mx.controls.Alert;
     23                        import mx.core.Application;
    1124                        import mx.core.UIComponent;
    12                         import clarin.cmdi.componentregistry.common.ComponentMD;
    13                         import clarin.cmdi.componentregistry.common.Profile;
    14                         import clarin.cmdi.componentregistry.services.Config;
    1525                        import mx.events.ValidationResultEvent;
    16                         import mx.collections.ArrayCollection;
    1726                        import mx.validators.Validator;
    18                         import clarin.cmdi.componentregistry.editor.InputValidators;
    19                         import clarin.cmdi.componentregistry.common.LabelConstants;
    20                         import clarin.cmdi.componentregistry.common.Credentials;
    21                         import mx.core.Application;
    22                         import clarin.cmdi.componentregistry.common.ItemDescription;
    23                         import mx.controls.Alert;
    2427
    2528                        private var validators:ArrayCollection = new ArrayCollection();
     
    5154                                }
    5255                        }
     56                       
     57                        private function close():void{
     58                                var viewStack:RegistryViewStack = this.parent as RegistryViewStack;
     59                                viewStack.switchToBrowse(null);
     60                        }
    5361
    5462                        private function validate():Boolean {
     
    204212                                                 uploadComplete="registryChange(event)"/>
    205213        <mx:VBox>
     214               
    206215                <mx:Form>
    207216                        <mx:HBox>
     
    245254                                                          width="300"/>
    246255                        </mx:FormItem>
    247                         <mx:Button label="Submit"
    248                                            click="submit(event)"/>
     256
     257                        <mx:HBox>
     258                                <mx:Button label="Submit"
     259                                                   click="submit(event)"/>
     260                                <mx:Button label="Close"
     261                                                   click="close()"/>                           
     262                        </mx:HBox>
     263                       
    249264                        <mx:ProgressBar id="uploadProgress"
    250265                                                        label=""
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/main.mxml

    r1793 r2126  
    7272                                        flexSpyButton.label="FlexSpy";
    7373                                        flexSpyButton.addEventListener(MouseEvent.CLICK,showFlexSpy);
    74                                         topBar.addChild(flexSpyButton);
     74                                        flexSpyButton.setStyle("right","0");
     75                                        flexSpyButton.setStyle("top","0");
     76                                        addChild(flexSpyButton);
    7577                                }
    7678                        }
     
    8688                          height="100%"
    8789                          layout="absolute"
    88                           title="Clarin Component Browser"
     90                          title="Clarin Component Registry"
    8991                          x="0"
    9092                          y="0">                         
    91 
    92                 <mx:VBox height="100%"
    93                                  width="100%">
    94                         <mx:HBox borderStyle="none" id="topBar"
    95                                          width="100%">
    96                                 <mx:ToggleButtonBar id="toggleBar"
    97                                                                         dataProvider="{viewStack}"/>
    98                                 <mx:Spacer width="90%"/>
    99                                 <mx:Label text="User: {Credentials.instance.userName}"/>
    100                                 <common:LoginLabelButton id="login" includeInLayout="{!Credentials.instance.isLoggedIn()}" visible="{!Credentials.instance.isLoggedIn()}" />
    101                                 <common:UserSettingsLabelButton id="userSettings" includeInLayout="{Credentials.instance.isLoggedIn()}" visible="{Credentials.instance.isLoggedIn()}"/>
     93               
     94                <mx:VBox height="100%" width="100%">                   
     95                       
     96                        <mx:HBox width="100%" id="topBar" styleName="topBar" verticalAlign="middle">
     97                                <mx:Label width="20%" styleName="sectionTitle" paddingLeft="5" text="{viewStack.selectedChild.label}" />
     98                       
     99                                <mx:HBox width="80%" horizontalAlign="right" paddingRight="5">                                 
     100                                        <mx:Label text="User: {Credentials.instance.userName}"/>
     101                                        <common:LoginLabelButton id="login" includeInLayout="{!Credentials.instance.isLoggedIn()}" visible="{!Credentials.instance.isLoggedIn()}" />
     102                                        <common:UserSettingsLabelButton id="userSettings" includeInLayout="{Credentials.instance.isLoggedIn()}" visible="{Credentials.instance.isLoggedIn()}"/>
     103                                </mx:HBox>
    102104                        </mx:HBox>
     105                       
    103106                        <common:RegistryViewStack id="viewStack"
    104107                                                                          borderStyle="none"
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/resources/assets/css/main.css

    r1705 r2126  
    6363}
    6464
     65.topBar{
     66        backgroundColor: #DDE3EF;       
     67}
     68
     69.sectionTitle {
     70    fontWeight: bold;
     71    fontSize: 18px;     
     72}
    6573
    6674
  • ComponentRegistry/trunk/ComponentRegistry

  • ComponentRegistry/trunk/ComponentRegistry/CHANGES

    r1987 r2126  
    11Bug Fixes and Features
    22
    3 Release ComponentRegistry-1.12.0 (?):
     3Release ComponentRegistry-1.12.0 (21 august 2012):
    44- REST service produces 404 status when component requested that does not exist.
    55- Users can delete their own comments from the Flex UI. http://trac.clarin.eu/ticket/185
     
    1111- If string element is set to multilingual, max occurences field gets disabled. http://trac.clarin.eu/ticket/208
    1212- Added 'close' link to user settings page. http://trac.clarin.eu/ticket/156
     13- Removed 'unbounded' option from minimal occurrences drop-down in editor. http://trac.clarin.eu/ticket/210
     14- Made elements and components in component editor collapsable. http://trac.clarin.eu/ticket/217
     15- Removed top-level tabs in the Flex UI, added buttons to browser, editor and import for navigation. http://trac.clarin.eu/ticket/218
    1316
    1417Release ComponentRegistry-1.11.1 (10 april 2012):
  • ComponentRegistry/trunk/ComponentRegistry/src/main/binding

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • ComponentRegistry/trunk/ComponentRegistry/src/main/binding/bindings.xjb

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • ComponentRegistry/trunk/ComponentRegistry/src/main/java

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • ComponentRegistry/trunk/ComponentRegistry/src/test/java

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • ComponentRegistry/trunk/README

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • ComponentRegistry/trunk/docs

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • ComponentRegistry/trunk/pom.xml

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • metadata/trunk/toolkit/general-component-schema.xsd

Note: See TracChangeset for help on using the changeset viewer.