<?xml version="1.0" encoding="utf-8"?> <components:ExtendedForm xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:components="components.*" change="{if(serverNode.@status != 'new') serverNode.@status='changed'}" enabled="{serverNode != null}" initialize="init()"> <mx:Script> <![CDATA[ import mx.events.CollectionEvent; import mx.collections.XMLListCollection; import mx.binding.utils.BindingUtils; import data.DataSource; [Bindable] public var serverNode:XML = null; [Bindable] public var scopeDP:Array= new Array("private","public"); [Bindable] public var dataSource:DataSource; [Bindable] private var formEnabled:Boolean = true; private function change():void { if(serverNode != null && serverNode.@status != 'new' && serverNode.@status != 'changed') { serverNode.@status = 'changed'; } } private function init():void { BindingUtils.bindSetter(function():void { if(serverNode != null) { service.selectedItem = services.Service.(@label == serverNode.Service); formEnabled = dataSource.isOwner(serverNode); } }, this, "serverNode"); BindingUtils.bindSetter(function():void { if(serverNode != null) { if(service.selectedItem != null) { version.dataProvider = service.selectedItem.Version; version.selectedItem = service.selectedItem.Version.(@label == serverNode.Version); security.dataProvider = service.selectedItem.Security; security.selectedItem = service.selectedItem.Security.(@label == serverNode.Security); } } }, service, "selectedItem"); formEnabled = dataSource.isOwner(serverNode); addRequiredValidator(resourceValidator); } ]]> </mx:Script> <mx:XML id="services"> <Services> <Service label="GI"> <Version label="1.0.0"/> <Version label="2.0.0"/> <Version label="3.0.0"/> <Security label="none"/> <Security label="http"/> </Service> <Service label="OGC:WMS"> <Version label="1.1.0"/> <Version label="1.1.1"/> <Security label="none"/> <Security label="ows"/> <Security label="http"/> </Service> <Service label="OGC:WFS"> <Version label="1.3.0"/> <Security label="none"/> <Security label="ows"/> <Security label="http"/> </Service> </Services> </mx:XML> <mx:RegExpValidator id="resourceValidator" source="{onlineresource}" property="text" expression="https?://.*[\?&]" triggerEvent="change"/> <mx:FormItem enabled="{formEnabled}" label="{resourceManager.getString('language', 'Lbl_ServerTitle')}" required="true" toolTip="{resourceManager.getString('language', 'Tlt_ServerTitle')}"> <mx:TextInput id="serverTitle" textAlign="left" text="{serverNode.Title}" enabled="{formEnabled}" change="{serverNode.Title = serverTitle.text}"/> </mx:FormItem> <mx:FormItem enabled="{formEnabled}"> <mx:HBox id="ownerScope" borderStyle="solid" paddingTop="5" paddingBottom="5" paddingLeft="5" paddingRight="5"> <mx:FormItem label="{resourceManager.getString('language', 'Lbl_ServerOwner')}" toolTip="{resourceManager.getString('language', 'Tlt_ServerOwner')}"> <mx:TextInput enabled="false" text="{serverNode.Owner}"/> </mx:FormItem> <mx:FormItem label="{resourceManager.getString('language', 'Lbl_ServerScope')}" required="true" toolTip="{resourceManager.getString('language', 'Tlt_ServerScope')}"> <mx:ComboBox id="scope" dataProvider="{scopeDP}" width="200" selectedItem="{serverNode.Scope.children()[0]}" change="{serverNode.Scope = scope.selectedItem}" enabled="{formEnabled}"/> </mx:FormItem> </mx:HBox> </mx:FormItem> <mx:FormItem enabled="{formEnabled}" label="{resourceManager.getString('language', 'Lbl_ServerService')}" required="true" toolTip="{resourceManager.getString('language', 'Tlt_ServerService')}"> <mx:ComboBox id="service" dataProvider="{services.Service}" labelField="@label" change="{serverNode.Service = service.selectedItem.@label}" enabled="{formEnabled}"/> </mx:FormItem> <mx:FormItem enabled="{formEnabled}" label="{resourceManager.getString('language', 'Lbl_ServerVersion')}" required="true" toolTip="{resourceManager.getString('language', 'Tlt_ServerVersion')}"> <mx:ComboBox id="version" labelField="@label" change="{serverNode.Version = version.selectedItem.@label}" enabled="{formEnabled}"/> </mx:FormItem> <mx:FormItem enabled="{formEnabled}" label="Security" required="true" toolTip="Security"> <mx:ComboBox id="security" labelField="@label" change="{serverNode.Security = security.selectedItem.@label}" enabled="{formEnabled}"/> </mx:FormItem> <mx:FormItem enabled="{formEnabled}" label="Proxy" required="true" toolTip="Proxy"> <mx:CheckBox id="proxy" selected="{serverNode.Proxy == 't'}" change="{serverNode.Proxy = proxy.selected ? 't' : 'f'}"/> </mx:FormItem> <mx:FormItem enabled="{formEnabled}" label="{resourceManager.getString('language', 'Lbl_ServerOnLineResource')}" required="true" toolTip="{resourceManager.getString('language', 'Tlt_ServerOnLineResource')}"> <mx:TextInput id="onlineresource" textAlign="left" text="{serverNode.Onlineresource}" change="{serverNode.Onlineresource = onlineresource.text; dataSource.dropServerCache(serverNode)}" enabled="{formEnabled}"/> </mx:FormItem> <mx:FormItem enabled="{formEnabled}" label="{resourceManager.getString('language', 'Lbl_ServerDescription')}" required="false" toolTip="{resourceManager.getString('language', 'Tlt_ServerDescription')}"> <mx:TextArea id="description" width="{ownerScope.width}" height="100" text="{serverNode.Description}" change="{serverNode.Description = description.text}" enabled="{formEnabled}"/> </mx:FormItem> </components:ExtendedForm>