private function editLayerStart(event:FeatureLayerEvent):void { event.preventDefault(); }
Solved! Go to Solution.
(EditorSkin)(myEditor.getChildAt(0)).currentState = "normal"
FeatureLayerEvent () Constructor
public function FeatureLayerEvent(type:String, featureLayer:FeatureLayer = null, cancelable:Boolean = false)
Creates a new FeatureLayerEvent.
Parameters
type:String â?? The event type; indicates the action that triggered the event.
featureLayer:FeatureLayer (default = null) â?? Reference to the associated layer.
cancelable:Boolean ( default = false) â?? Specifies whether the behavior associated with the event can be prevented.
protected function onSmthingChange(event:SmthingChangeEvent):void
{
dispatchEvent(new FeatureLayerEvent(FeatureLayerEvent.EDITS_STARTING, myFeatureLayer, true);
}
protected function editLayerStart(event:FeatureLayerEvent):void
{
if (event.cancelable)
{
event.preventDefault();
}
else
{
// undo only
}
}
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:esri="http://www.esri.com/2008/ags" initialize="application_initializeHandler(event)"> <s:layout> <s:HorizontalLayout/> </s:layout> <fx:Style> @namespace esri "http://www.esri.com/2008/ags"; esri|Editor { skin-class: ClassReference("assets.skins.EditorSkin"); /* undo/redo buttons commented */ } </fx:Style> <fx:Script> <![CDATA[ import com.esri.ags.components.Editor; import com.esri.ags.events.FeatureLayerEvent; import com.esri.ags.tasks.GeometryService; import mx.events.FlexEvent; private var myEditor:Editor; private var geometryService:GeometryService = new GeometryService("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); protected function application_initializeHandler(event:FlexEvent):void { myEditor = new Editor(); myEditor.map = myMap; myEditor.featureLayers = [ points, fireAreas ]; myEditor.geometryService = geometryService; myEditor.toolbarVisible = true; editorHolder.addElement(myEditor); } protected function editsStartingHandler(event:FeatureLayerEvent):void { var addingDisabled:Boolean = Math.random() > 0.5; if (event.adds && event.adds.length > 0 && addingDisabled && event.cancelable) { event.preventDefault(); editorHolder.removeAllElements(); myEditor = new Editor(); myEditor.map = myMap; myEditor.featureLayers = [ points, fireAreas ]; myEditor.geometryService = geometryService; myEditor.toolbarVisible = true; editorHolder.addElement(myEditor); } } ]]> </fx:Script> <s:VGroup width="328" height="100%" id="editorHolder" /> <esri:Map id="myMap" wrapAround180="true"> <esri:extent> <esri:Extent id="sheepfire" xmin="-13144000" ymin="4033000" xmax="-13066000" ymax="4099000"> <esri:SpatialReference wkid="102100"/> </esri:Extent> </esri:extent> <esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"/> <esri:FeatureLayer id="fireAreas" editsStarting="editsStartingHandler(event)" mode="snapshot" outFields="*" url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Fire/Sheep/FeatureServer/2"/> <esri:FeatureLayer id="points" mode="snapshot" editsStarting="editsStartingHandler(event)" outFields="*" url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Fire/Sheep/FeatureServer/0"/> </esri:Map> </s:Application>
(EditorSkin)(myEditor.getChildAt(0)).currentState = "normal"