private function featureLayer_selectionComplete(event:FeatureLayerEvent):void { for each (var field:Field in event.target.layerDetails.fields) { if (field.type == Field.TYPE_DATE) { for each (var feature:Graphic in event.features) { var date:Date = new Date(feature.attributes[field.name]); if (date.milliseconds == 999) { date.milliseconds++; //Add 1ms to date values ending in 999 to workaround REST date bug feature.attributes[field.name] = date.time; } } } if (field.name == "NAME_REL") { getRel(feature,"Paddock - Yard","NAME_P"); field.editable = false; } if (field.name == "CREATEDATE") { if(feature.attributes[field.name] == null) { var newDate:Date = new Date(); feature.attributes[field.name] =newDate.time; } field.editable = false; } if (field.name == "LASTUPDATE") { var lastdate:Date = new Date(); feature.attributes[field.name] = lastdate.time; field.editable = false; } } var updates:Array = [ feature ]; event.featureLayer.applyEdits(null, updates, null); layername = event.featureLayer.name; } private function getRel(feature:Graphic,lyr:String,field:String):void { var name:String; var fid:String; var query:Query = new Query(); query.geometry = feature.geometry; var featureLayer:FeatureLayer = map.getLayer(lyr) as FeatureLayer; featureLayer.queryFeatures(query, new AsyncResponder(onResult, onFault)); function onResult(featureSet:FeatureSet, token:Object = null):void { if (featureSet.features.length > 0) { for each (var myGraphic:Graphic in featureSet.features) { fid = myGraphic.attributes["ID"]; feature.attributes["RID"] = fid; if (myGraphic.attributes[field] != null) { name = myGraphic.attributes["NAME_P"]; feature.attributes["NAME_REL"] = name; } else { Alert.show("No " + lyr + " name found."); } var updates:Array = [ feature ]; featureLayer.applyEdits(null, updates, null); Alert.show(feature.attributes["NAME_REL"],"Get Rel NAME_REL") Alert.show(feature.attributes["RID"],"Get Rel RID") } } else { Alert.show("No " + lyr + " found. Are you sure you want to add this without a " + lyr + "?"); } } function onFault(info:Object, token:Object = null):void { Alert.show(info.faultString + "\n\n" + info.faultDetail, "queryTask fault " + info.faultCode); } }
Solved! Go to Solution.
private function featureLayer_selectionComplete(event:FeatureLayerEvent):void { for each (var field:Field in event.target.layerDetails.fields) { if (field.type == Field.TYPE_DATE) { for each (var feature:Graphic in event.features) { var date:Date = new Date(feature.attributes[field.name]); if (date.milliseconds == 999) { date.milliseconds++; //Add 1ms to date values ending in 999 to workaround REST date bug feature.attributes[field.name] = date.time; } } } if (field.name == "NAME_REL") { getRel(event.featureLayer,feature,"Paddock - Yard","NAME_P"); field.editable = false; } if (field.name == "CREATEDATE") { if(feature.attributes[field.name] == null) { var newDate:Date = new Date(); feature.attributes[field.name] =newDate.time; } field.editable = false; } if (field.name == "LASTUPDATE") { var lastdate:Date = new Date(); feature.attributes[field.name] = lastdate.time; field.editable = false; } } var updates:Array = [ feature ]; event.featureLayer.applyEdits(null, updates, null); layername = event.featureLayer.name; } private function getRel(featureTrg:FeatureLayer,featureRel:Graphic,lyr:String,field:String):void { var name:String; var fid:String; var query:Query = new Query(); query.geometry = featureRel.geometry; var featureLayer:FeatureLayer = map.getLayer(lyr) as FeatureLayer; featureLayer.queryFeatures(query, new AsyncResponder(onResult, onFault)); function onResult(featureSet:FeatureSet, token:Object = null):void { if (featureSet.features.length > 0) { for each (var myGraphic:Graphic in featureSet.features) { fid = myGraphic.attributes["ID"]; featureRel.attributes["RID"] = fid; if (myGraphic.attributes[field] != null) { name = myGraphic.attributes["NAME_P"]; featureRel.attributes["NAME_REL"] = name; } else { Alert.show("No " + lyr + " name found."); } var updates:Array = [ featureRel ]; featureTrg.applyEdits(null, updates, null); } } else { Alert.show("No " + lyr + " found. Are you sure you want to add this without a " + lyr + "?"); } }
private function featureLayer_selectionComplete(event:FeatureLayerEvent):void { for each (var field:Field in event.target.layerDetails.fields) { if (field.type == Field.TYPE_DATE) { for each (var feature:Graphic in event.features) { var date:Date = new Date(feature.attributes[field.name]); if (date.milliseconds == 999) { date.milliseconds++; //Add 1ms to date values ending in 999 to workaround REST date bug feature.attributes[field.name] = date.time; } } } if (field.name == "NAME_REL") { getRel(event.featureLayer,feature,"Paddock - Yard","NAME_P"); field.editable = false; } if (field.name == "CREATEDATE") { if(feature.attributes[field.name] == null) { var newDate:Date = new Date(); feature.attributes[field.name] =newDate.time; } field.editable = false; } if (field.name == "LASTUPDATE") { var lastdate:Date = new Date(); feature.attributes[field.name] = lastdate.time; field.editable = false; } } var updates:Array = [ feature ]; event.featureLayer.applyEdits(null, updates, null); layername = event.featureLayer.name; } private function getRel(featureTrg:FeatureLayer,featureRel:Graphic,lyr:String,field:String):void { var name:String; var fid:String; var query:Query = new Query(); query.geometry = featureRel.geometry; var featureLayer:FeatureLayer = map.getLayer(lyr) as FeatureLayer; featureLayer.queryFeatures(query, new AsyncResponder(onResult, onFault)); function onResult(featureSet:FeatureSet, token:Object = null):void { if (featureSet.features.length > 0) { for each (var myGraphic:Graphic in featureSet.features) { fid = myGraphic.attributes["ID"]; featureRel.attributes["RID"] = fid; if (myGraphic.attributes[field] != null) { name = myGraphic.attributes["NAME_P"]; featureRel.attributes["NAME_REL"] = name; } else { Alert.show("No " + lyr + " name found."); } var updates:Array = [ featureRel ]; featureTrg.applyEdits(null, updates, null); } } else { Alert.show("No " + lyr + " found. Are you sure you want to add this without a " + lyr + "?"); } }