Solved! Go to Solution.
} map.addEventListener(MapEvent.LAYER_ADD, mapLayerAddHandler, false); map.addEventListener(MapEvent.LAYER_REMOVE, mapLayerRemoveHandler, false); map.addEventListener(MapEvent.LAYER_REORDER, mapLayerReorderHandler, false); mapLayers = map.layers as ArrayCollection; layersUsedInAttributeTable = getLayers(mapLayers); for each (var layer:Layer in nonMappedLayers) { layersUsedInAttributeTable.push(layer); } populateAttributeTableTabBar(layersUsedInAttributeTable); startWidgetTimer(); } private function startWidgetTimer():void { if (queryRefreshRate) { var seconds:Number = Number(queryRefreshRate); var rate:Number = seconds * 1000; stopWidgetTimer(); timer = new Timer(rate); timer.addEventListener(TimerEvent.TIMER, timerTick); timer.start(); } } private function stopWidgetTimer():void { if (timer != null) { if (timer.running) { timer.stop(); } } } private function timerTick(event:TimerEvent):void { AttributeTable(featureLayerToAttributeTable[featureLayer]).refresh(); } private function configureAttachmentInspectorLabels():void { AttributeTableWidgetAttachmentInspectorSkin.noAttachmentsText = getDefaultString("noAttachmentsText"); AttributeTableWidgetAttachmentInspectorSkin.chooseFileText = getDefaultString("chooseFileText"); AttributeTableWidgetAttachmentInspectorSkin.attachmentSubmitLabel = getDefaultString("attachmentSubmitLabel"); AttributeTableWidgetAttachmentInspectorSkin.attachmentCancelLabel = getDefaultString("attachmentCancelLabel"); }
private var featureLayerToNavigatorContent:Dictionary = new Dictionary; private var featureLayerToAttributeTable:Dictionary = new Dictionary; private var featureLayerToDynamicMapService:Dictionary = new Dictionary; private var featureLayerToSettings:Dictionary = new Dictionary; private var hiddenFeatureLayerToSettingsName:Dictionary = new Dictionary; private var timer:Timer; private var querySource:String private var queryRefreshRate:String; private var featureLayer:FeatureLayer private function basewidget_initializeHandler():void { if (isPartOfPanel) // if widget is part of "left", "right" or "bottom" panel { this.percentWidth = this.percentHeight = 100; wTemplate.percentWidth = wTemplate.percentHeight = 100; } else { wTemplate.width = map.width - map.width / 100 - Number(this.left); wTemplate.minWidth = 800; wTemplate.height = wTemplate.minHeight = 300; } } private function basewidget_widgetConfigLoaded():void { if (configXML) { querySource = configXML.source; queryRefreshRate = configXML.refreshrate; // non-mapped layers var nonMappedLayers:Array = []; var players:XMLList = configXML.layer as XMLList; for (var p:Number = 0; p < players.length(); p++) { const layerXML:XML = players as XML; nonMappedLayers.push(createNonMappedLayer(layerXML)); } //excludeLayers excludeLayers = []; var elayers:XMLList = configXML.excludelayer as XMLList; for (var n:Number = 0; n < elayers.length(); n++) { excludeLayers.push(elayers.toString()); } // layerSettings, overriding default settings configureLayerSettings(configXML.layersettings.layer); // attachment inspector labels configureAttachmentInspectorLabels(); } map.addEventListener(MapEvent.LAYER_ADD, mapLayerAddHandler, false); map.addEventListener(MapEvent.LAYER_REMOVE, mapLayerRemoveHandler, false); map.addEventListener(MapEvent.LAYER_REORDER, mapLayerReorderHandler, false); mapLayers = map.layers as ArrayCollection; layersUsedInAttributeTable = getLayers(mapLayers); for each (var layer:Layer in nonMappedLayers) { layersUsedInAttributeTable.push(layer); } populateAttributeTableTabBar(layersUsedInAttributeTable); startWidgetTimer(); } private function startWidgetTimer():void { if (queryRefreshRate) { var seconds:Number = Number(queryRefreshRate); var rate:Number = seconds * 1000; stopWidgetTimer(); timer = new Timer(rate); timer.addEventListener(TimerEvent.TIMER, timerTick); timer.start(); } } private function stopWidgetTimer():void { if (timer != null) { if (timer.running) { timer.stop(); } } } private function timerTick(event:TimerEvent):void { var layer:Layer = layersUsedInAttributeTable.getItemAt(0) as Layer; createFeatureLayersFromDynamicMapService(ArcGISDynamicMapServiceLayer(layer), 0); AttributeTable(featureLayerToAttributeTable[featureLayers]).refresh(); }