1 | <?xml version="1.0" encoding="utf-8"?> |
---|
2 | <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" |
---|
3 | xmlns:rictus="com.rictus.controls.*" |
---|
4 | showCloseButton="true" |
---|
5 | creationComplete="PopUpManager.centerPopUp(this)" |
---|
6 | close="cleanUp();" |
---|
7 | title="Search in Isocat.org"> |
---|
8 | |
---|
9 | <mx:Metadata> |
---|
10 | [Event(name="OK", type="flash.events.Event")] |
---|
11 | </mx:Metadata> |
---|
12 | <mx:Script> |
---|
13 | <![CDATA[ |
---|
14 | import mx.controls.TextInput; |
---|
15 | import clarin.cmdi.componentregistry.services.IsocatService; |
---|
16 | import mx.managers.PopUpManager; |
---|
17 | |
---|
18 | public static const OK_EVENT:String = "OK"; |
---|
19 | |
---|
20 | [Bindable] |
---|
21 | public var searchService:IsocatService = null; |
---|
22 | |
---|
23 | public var isocatSearchType:String = null; |
---|
24 | |
---|
25 | //To store the result |
---|
26 | public var editField:TextInput; |
---|
27 | |
---|
28 | private function handleOkClick():void { |
---|
29 | dispatchEvent(new Event(OK_EVENT)); |
---|
30 | cleanUp(); |
---|
31 | } |
---|
32 | |
---|
33 | private function cleanUp():void { |
---|
34 | searchService.close(); |
---|
35 | PopUpManager.removePopUp(this); |
---|
36 | } |
---|
37 | |
---|
38 | private function initializeDataGrid():void { |
---|
39 | editField = new TextInput(); |
---|
40 | } |
---|
41 | |
---|
42 | private function setItem():void { |
---|
43 | var selectedItem:XML = dataGrid.selectedItem as XML; |
---|
44 | if (selectedItem) { |
---|
45 | editField.text = selectedItem.@pid; |
---|
46 | editField.toolTip = selectedItem.@name + ": " + selectedItem.@definition; |
---|
47 | } |
---|
48 | } |
---|
49 | |
---|
50 | private function handleSearch(event:KeyboardEvent):void { |
---|
51 | if (event.keyCode == Keyboard.ENTER) { |
---|
52 | searchService.load(searchBox.text, isocatSearchType); |
---|
53 | } |
---|
54 | } |
---|
55 | ]]> |
---|
56 | </mx:Script> |
---|
57 | |
---|
58 | <mx:VBox> |
---|
59 | <mx:HBox> |
---|
60 | <rictus:SearchBox id="searchBox" |
---|
61 | label="type keyword and press 'enter' to search" |
---|
62 | keyDown="handleSearch(event);" |
---|
63 | minWidth="300"/> |
---|
64 | <mx:Label text="{dataGrid.dataProvider.length} results"/> |
---|
65 | </mx:HBox> |
---|
66 | <mx:DataGrid id="dataGrid" |
---|
67 | dataProvider="{searchService.searchResults}" |
---|
68 | initialize="initializeDataGrid()" |
---|
69 | itemClick="setItem()" |
---|
70 | resizableColumns="true" |
---|
71 | itemRenderer="mx.controls.Label" |
---|
72 | showDataTips="true"> |
---|
73 | <mx:columns> |
---|
74 | <mx:DataGridColumn dataField="@name" |
---|
75 | dataTipField="@name" |
---|
76 | headerText="Name"/> |
---|
77 | <mx:DataGridColumn dataField="@definition" |
---|
78 | dataTipField="@definition" |
---|
79 | headerText="Definition"/> |
---|
80 | <mx:DataGridColumn dataField="@identifier" |
---|
81 | dataTipField="@identifier" |
---|
82 | headerText="Identifier"/> |
---|
83 | <mx:DataGridColumn dataField="@owner" |
---|
84 | dataTipField="@owner" |
---|
85 | headerText="Owner"/> |
---|
86 | <mx:DataGridColumn dataField="@pid" |
---|
87 | dataTipField="@pid" |
---|
88 | headerText="Persistent Identifier" |
---|
89 | width="130" |
---|
90 | itemRenderer="clarin.cmdi.componentregistry.common.components.LinkRenderer"/> |
---|
91 | <mx:DataGridColumn dataField="@type" |
---|
92 | dataTipField="@type" |
---|
93 | headerText="Type"/> |
---|
94 | <mx:DataGridColumn dataField="@version" |
---|
95 | dataTipField="@version" |
---|
96 | headerText="Version"/> |
---|
97 | </mx:columns> |
---|
98 | </mx:DataGrid> |
---|
99 | <mx:HBox width="100%"> |
---|
100 | <mx:Spacer width="100%"/> |
---|
101 | <mx:Button id="okBtn" |
---|
102 | label="OK" |
---|
103 | click="handleOkClick()"/> |
---|
104 | <mx:Button label="Cancel" |
---|
105 | click="cleanUp()"/> |
---|
106 | </mx:HBox> |
---|
107 | </mx:VBox> |
---|
108 | </mx:TitleWindow> |
---|