Changeset 252


Ignore:
Timestamp:
03/18/10 16:20:05 (14 years ago)
Author:
patdui
Message:
  • cleanup and added scrolling to just added item
Location:
ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser
Files:
2 edited

Legend:

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

    r242 r252  
    11<?xml version="1.0" encoding="utf-8"?>
    22<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
    3                    xmlns:local="clarin.cmdi.componentregistry.services.*"
    43                   xmlns:browser="clarin.cmdi.componentregistry.browser.*"
    54                   initialize="init()"
     
    1110        <mx:Script>
    1211                <![CDATA[
    13                     import clarin.cmdi.componentregistry.common.components.RegistryViewStack;
     12                    import clarin.cmdi.componentregistry.services.ComponentInfoService;
     13                    import clarin.cmdi.componentregistry.services.ProfileInfoService;
     14                    import clarin.cmdi.componentregistry.services.ProfileListService;
     15                    import mx.events.CollectionEvent;
     16                        import mx.collections.ArrayCollection;
     17                        import clarin.cmdi.componentregistry.common.components.RegistryViewStack;
    1418                        import clarin.cmdi.componentregistry.common.components.BrowseContextMenu;
    1519                        import clarin.cmdi.componentregistry.services.DeleteService;
     
    2024                        import clarin.cmdi.componentregistry.common.Profile;
    2125
     26            [Bindable]
     27                        private var componentsSrv:ComponentListService = ComponentListService.instance;
    2228                        [Bindable]
    23                         private var componentsSrv:ComponentListService = ComponentListService.instance;
     29                        private var profilesSrv:ProfileListService = new ProfileListService();
     30                        [Bindable]
     31                        private var profileSrv:ProfileInfoService = new ProfileInfoService();
     32                        [Bindable]
     33                        private var componentSrv:ComponentInfoService = new ComponentInfoService();
     34                       
    2435                        private var deleteSrv:DeleteService = new DeleteService();
     36                       
    2537                        [Bindable]
    26                         private var profilesMenu:BrowseContextMenu
     38                        private var profilesMenu:BrowseContextMenu;
    2739                        [Bindable]
    28                         private var componentsMenu:BrowseContextMenu
     40                        private var componentsMenu:BrowseContextMenu;
     41                        [Bindable]
     42                        private var selectedProfileItem:ItemDescription;
     43                        [Bindable]
     44                        private var selectedComponentItem:ItemDescription;
    2945
    3046                        public function init():void {
    31                             profilesMenu = new BrowseContextMenu();
     47                                profilesMenu = new BrowseContextMenu();
    3248                                profilesMenu.viewStack = this.parent as RegistryViewStack;
    3349                                profilesMenu.deleteService = deleteSrv;
    34                             componentsMenu = new BrowseContextMenu();
     50                                componentsMenu = new BrowseContextMenu();
    3551                                componentsMenu.viewStack = this.parent as RegistryViewStack;
    3652                                componentsMenu.deleteService = deleteSrv;
     
    5470                                if (desc.isProfile) {
    5571                                        tabnav.selectedIndex = 0;
     72                                        this.selectedProfileItem = desc;
    5673                                } else {
    5774                                        tabnav.selectedIndex = 1;
     75                                        this.selectedComponentItem = desc;
    5876                                }
    59 //                              var indeprofilesOverview.browserDataProvider.getItemIndex(desc);
    60                                 //Need to select the correct item, can't get it to highlight at the mo
    61                                 //profilesOverview.dataGrid.selectedIndex=2;
    62                                 //profilesOverview.dataGrid.validateNow();
    63                                 //profilesOverview.dataGrid.scrollToIndex(2);
    6477                        }
    6578
     
    7083        </mx:Script>
    7184
    72         <local:ProfileListService id="profilesSrv"/>
    73         <local:ProfileInfoService id="profileSrv"/>
    74         <local:ComponentInfoService id="componentSrv"/>
     85
    7586        <browser:BrowserColumns id="browserColumns"/>
    7687
     
    93104                                                                                         browserItemSelected="{loadProfileInfoPage(event)}"
    94105                                                                                         browserColumns="{browserColumns.getProfileColumns()}"
     106                                                                                         itemToScrollTo="{selectedProfileItem}"
    95107                                                                                         width="100%"
    96108                                                                                         height="70%"
     
    108120                                                                                         browserItemSelected="{loadComponentInfoPage(event)}"
    109121                                                                                         browserColumns="{browserColumns.getComponentColumns()}"
     122                                                                                         itemToScrollTo="{selectedComponentItem}"
    110123                                                                                         width="100%"
    111124                                                                                         height="50%"
  • ComponentRegistry/trunk/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/browser/BrowserOverviewList.mxml

    r206 r252  
    33<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
    44                 xmlns:comp="clarin.cmdi.componentregistry.common.components.*"
     5                 xmlns:common="clarin.cmdi.componentregistry.common.*"
    56                 xmlns:rictus="com.rictus.controls.*">
    67
     
    910        </mx:Metadata>
    1011
    11    
    12         <mx:ArrayCollection id="browserDataProvider" />
    1312        <mx:Array id="browserColumns"/>
    1413
     
    1615        <mx:Script>
    1716                <![CDATA[
    18                     import clarin.cmdi.componentregistry.common.components.BrowseContextMenu;
    19                     import mx.collections.ArrayCollection;
     17                        import clarin.cmdi.componentregistry.common.components.BrowseContextMenu;
     18                        import mx.collections.ArrayCollection;
    2019                        import mx.events.CollectionEvent;
    2120                        import clarin.cmdi.componentregistry.browser.BrowserSelectionEvent;
     
    2423                        private var currentSelectedItem:ItemDescription;
    2524                        [Bindable]
    26             private var menu:BrowseContextMenu;
    27            
     25                        private var menu:BrowseContextMenu;
     26
     27                        private var _browserDataProvider:ArrayCollection;
     28                        private var _itemToScrollTo:ItemDescription;
     29
     30                        [Bindable]
     31                        public function get browserDataProvider():ArrayCollection {
     32                                return _browserDataProvider;
     33                        }
     34
     35                        public function set browserDataProvider(dataProvider:ArrayCollection):void {
     36                                _browserDataProvider = dataProvider;
     37                                this.dataGrid.dataProvider = _browserDataProvider;
     38                                scrollToSelected();
     39                        }
     40
    2841                        private function dispatchBrowserSelectionEvent():void {
    2942                                if (this.dataGrid.selectedItem != null) {
    30                                         var item:ItemDescription = this.dataGrid.selectedItem as ItemDescription
     43                                        var item:ItemDescription = dataGrid.selectedItem as ItemDescription
    3144                                        if (currentSelectedItem == null || currentSelectedItem.id != item.id) { //Only update when the item selected is different.
    3245                                                currentSelectedItem = item;
     
    3649                                }
    3750                        }
    38                        
     51
     52                        public function set itemToScrollTo(itemToScrollTo:ItemDescription):void {
     53                                _itemToScrollTo = itemToScrollTo;
     54                        }
     55
     56                        private function scrollToSelected():void {
     57                                if (_itemToScrollTo) {
     58                                        for (var i:int; i < browserDataProvider.length; i++) {
     59                                                var item:ItemDescription = browserDataProvider.getItemAt(i) as ItemDescription;
     60                                                if (item.id == _itemToScrollTo.id) {
     61                                                        dataGrid.selectedItem = item;
     62                                                        dispatchBrowserSelectionEvent();
     63                                                        dataGrid.validateNow();
     64                                                        dataGrid.scrollToIndex(i);
     65                                                        dataGrid.setFocus();
     66                                                        break;
     67                                                }
     68                                        }
     69                                }
     70                        }
     71
    3972                        public function set browseMenu(browseMenu:BrowseContextMenu):void {
    40                             this.menu = browseMenu;
    41                             menu.dataGrid= dataGrid;
     73                                this.menu = browseMenu;
     74                                menu.dataGrid = dataGrid;
    4275                        }
    43                        
     76
    4477                        private function handleKeyUp(event:KeyboardEvent):void {
    45                             if (event.keyCode == Keyboard.DELETE) {
    46                                 menu.deleteSelectedItems();
    47                             }
     78                                if (event.keyCode == Keyboard.DELETE) {
     79                                        menu.deleteSelectedItems();
     80                                }
    4881                        }
    4982                ]]>
     
    5386                         verticalAlign="middle"
    5487                         width="100%">
    55                 <rictus:SearchBox id="searchBox" label="filter..."/>     
     88                <rictus:SearchBox id="searchBox"
     89                                                  label="filter..."/>
    5690                <mx:Label text="Showing {browserDataProvider.length} of {dataGrid.unfilteredLength}"/>
    5791        </mx:HBox>
     
    6397                                                        height="100%"
    6498                                                        click="dispatchBrowserSelectionEvent()"
    65                                                         dataProvider="{browserDataProvider}"
    6699                                                        columns="{browserColumns}"
    67100                                                        contextMenu="{menu.cm}"
    68                                                         allowMultipleSelection="true"
     101                                                        allowMultipleSelection="false"
    69102                                                        searchInput="{searchBox}"
    70103                                                        keyUp="handleKeyUp(event)">
Note: See TracChangeset for help on using the changeset viewer.