var myEditor = new esri.dijit.editing.Editor(params, 'editorDiv'); myEditor.startup(); var attInspector = myEditor.attributeInspector; var layerInfos = attInspector.layerInfos; var pointTypes = layerInfos[0].types;
Solved! Go to Solution.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=7, IE=9" /> <title> Default Editor </title> <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.8/js/dojo/dijit/themes/claro/claro.css"> <script type="text/javascript"> dojoConfig = { parseOnLoad: true }; </script> <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.8"> </script> <style type="text/css"> html,body { height:100%; width:100%; margin:0; } body { background-color:#fff; overflow:hidden; font-family:Helvetica; } #templatePickerPane { width:225px; overflow:hidden; } #panelHeader{ background-color:#92A661; border-bottom: solid 1px #92A860; color:#FFF; font-size:18px; height:24px; line-height:22px; margin:0; overflow:hidden; padding:10px 10px 10px 10px; } #map { margin-right:5px; padding:0; } .esriEditor .templatePicker { padding-bottom:5px; padding-top:5px; height:500px; border-radius:0px 0px 4px 4px; border:solid 1px #92A661; } .dj_ie .infowindow .window .top .right .user .content,.dj_ie .simpleInfoWindow .content { position:relative; } </style> <script type="text/javascript"> dojo.require("esri.dijit.editing.Editor-all"); dojo.require("dijit.layout.BorderContainer"); dojo.require("dijit.layout.ContentPane"); dojo.require("esri.SnappingManager"); var map; // array of types we want to be available in the app // these correspond to values in a coded value domain // taken from the layer's REST endpoint: // http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/FeatureServer/0 var types = ['11001', '11201']; function init() { //snapping is enabled for this sample - change the tooltip to reflect this esri.bundle.toolbars.draw.start = esri.bundle.toolbars.draw.start + "<br/>Press <b>CTRL</b> to enable snapping"; esri.bundle.toolbars.draw.addPoint = esri.bundle.toolbars.draw.addPoint + "<br/>Press <b>CTRL</b> to enable snapping"; esri.config.defaults.io.proxyUrl = "/your/proxy/proxy.php"; //This service is for development and testing purposes only. We recommend that you create your own geometry service for use within your applications esri.config.defaults.geometryService = new esri.tasks.GeometryService("http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); var extent = new esri.geometry.Extent({"xmin": -8576501, "ymin": 4705377, "xmax": -8574612, "ymax": 4706867, "spatialReference": {"wkid": 102100}}); map = new esri.Map("map", { extent: extent }); dojo.connect(map, "onLoad", function() { //resize the map when the browser resizes dojo.connect(dijit.byId('map'), 'resize', map,map.resize); }); dojo.connect(map, "onLayersAddResult", initEditing); var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"); map.addLayer(basemap); var operationsPointLayer = new esri.layers.FeatureLayer("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/FeatureServer/0", { mode: esri.layers.FeatureLayer.MODE_ONDEMAND, outFields: ["*"] }); operationsPointLayer.setDefinitionExpression("ftype in ('" + types.join("','") + "')"); map.addLayers([operationsPointLayer]); map.infoWindow.resize(400, 300); } function initEditing(results) { var featureLayerInfos = dojo.map(results, function(result) { return { 'featureLayer': result.layer }; }); // find the type definitions we're interested in var filteredTypes = dojo.filter(featureLayerInfos[0].featureLayer.types, function(type) { return (dojo.indexOf(types, type.id) > -1) }); // console.log("filtered types: ", filteredTypes); // update the feature layer's types so that the editor components only show the types we want featureLayerInfos[0].featureLayer.types = filteredTypes; var settings = { map: map, layerInfos: featureLayerInfos }; var params = { settings: settings }; var editorWidget = new esri.dijit.editing.Editor(params, 'editorDiv'); var options = {snapKey:dojo.keys.copyKey}; map.enableSnapping(options); editorWidget.startup(); } dojo.ready(init); </script> </head> <body class="claro"> <div id="mainWindow" data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="design:'headline',gutters:false" style="width:100%; height:100%;"> <div id="map" data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'center'"> </div> <div data-dojo-type="dijit.layout.ContentPane" id="templatePickerPane" data-dojo-props="region:'left'"> <div id="panelHeader"> Default Editor </div> <div style="padding:10px;" id="editorDiv"> </div> </div> </div> </body> </html>
var featureLayerInfos = dojo.map(results, function(result) { return { 'featureLayer': result.layer }; }); // find the type definitions we're interested in // types is an array of the different types of features we want to show/create/edit var filteredTypes = dojo.filter(featureLayerInfos[0].featureLayer.types, function(type) { return (dojo.indexOf(types, type.id) > -1) }); // update the feature layer's types so that the editor components only show the types we want featureLayerInfos[0].featureLayer.types = filteredTypes; var settings = { map: map, layerInfos: featureLayerInfos }; var params = { settings: settings }; var editorWidget = new esri.dijit.editing.Editor(params, 'editorDiv');
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=7, IE=9" /> <title> Default Editor </title> <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.8/js/dojo/dijit/themes/claro/claro.css"> <script type="text/javascript"> dojoConfig = { parseOnLoad: true }; </script> <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.8"> </script> <style type="text/css"> html,body { height:100%; width:100%; margin:0; } body { background-color:#fff; overflow:hidden; font-family:Helvetica; } #templatePickerPane { width:225px; overflow:hidden; } #panelHeader{ background-color:#92A661; border-bottom: solid 1px #92A860; color:#FFF; font-size:18px; height:24px; line-height:22px; margin:0; overflow:hidden; padding:10px 10px 10px 10px; } #map { margin-right:5px; padding:0; } .esriEditor .templatePicker { padding-bottom:5px; padding-top:5px; height:500px; border-radius:0px 0px 4px 4px; border:solid 1px #92A661; } .dj_ie .infowindow .window .top .right .user .content,.dj_ie .simpleInfoWindow .content { position:relative; } </style> <script type="text/javascript"> dojo.require("esri.dijit.editing.Editor-all"); dojo.require("dijit.layout.BorderContainer"); dojo.require("dijit.layout.ContentPane"); dojo.require("esri.SnappingManager"); var map; // array of types we want to be available in the app // these correspond to values in a coded value domain // taken from the layer's REST endpoint: // http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/FeatureServer/0 var types = ['11001', '11201']; function init() { //snapping is enabled for this sample - change the tooltip to reflect this esri.bundle.toolbars.draw.start = esri.bundle.toolbars.draw.start + "<br/>Press <b>CTRL</b> to enable snapping"; esri.bundle.toolbars.draw.addPoint = esri.bundle.toolbars.draw.addPoint + "<br/>Press <b>CTRL</b> to enable snapping"; esri.config.defaults.io.proxyUrl = "/your/proxy/proxy.php"; //This service is for development and testing purposes only. We recommend that you create your own geometry service for use within your applications esri.config.defaults.geometryService = new esri.tasks.GeometryService("http://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); var extent = new esri.geometry.Extent({"xmin": -8576501, "ymin": 4705377, "xmax": -8574612, "ymax": 4706867, "spatialReference": {"wkid": 102100}}); map = new esri.Map("map", { extent: extent }); dojo.connect(map, "onLoad", function() { //resize the map when the browser resizes dojo.connect(dijit.byId('map'), 'resize', map,map.resize); }); dojo.connect(map, "onLayersAddResult", initEditing); var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"); map.addLayer(basemap); var operationsPointLayer = new esri.layers.FeatureLayer("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/FeatureServer/0", { mode: esri.layers.FeatureLayer.MODE_ONDEMAND, outFields: ["*"] }); operationsPointLayer.setDefinitionExpression("ftype in ('" + types.join("','") + "')"); map.addLayers([operationsPointLayer]); map.infoWindow.resize(400, 300); } function initEditing(results) { var featureLayerInfos = dojo.map(results, function(result) { return { 'featureLayer': result.layer }; }); // find the type definitions we're interested in var filteredTypes = dojo.filter(featureLayerInfos[0].featureLayer.types, function(type) { return (dojo.indexOf(types, type.id) > -1) }); // console.log("filtered types: ", filteredTypes); // update the feature layer's types so that the editor components only show the types we want featureLayerInfos[0].featureLayer.types = filteredTypes; var settings = { map: map, layerInfos: featureLayerInfos }; var params = { settings: settings }; var editorWidget = new esri.dijit.editing.Editor(params, 'editorDiv'); var options = {snapKey:dojo.keys.copyKey}; map.enableSnapping(options); editorWidget.startup(); } dojo.ready(init); </script> </head> <body class="claro"> <div id="mainWindow" data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="design:'headline',gutters:false" style="width:100%; height:100%;"> <div id="map" data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'center'"> </div> <div data-dojo-type="dijit.layout.ContentPane" id="templatePickerPane" data-dojo-props="region:'left'"> <div id="panelHeader"> Default Editor </div> <div style="padding:10px;" id="editorDiv"> </div> </div> </div> </body> </html>
var featureLayerInfos = dojo.map(results, function(result) { return { 'featureLayer': result.layer }; }); // find the type definitions we're interested in // types is an array of the different types of features we want to show/create/edit var filteredTypes = dojo.filter(featureLayerInfos[0].featureLayer.types, function(type) { return (dojo.indexOf(types, type.id) > -1) }); // update the feature layer's types so that the editor components only show the types we want featureLayerInfos[0].featureLayer.types = filteredTypes; var settings = { map: map, layerInfos: featureLayerInfos }; var params = { settings: settings }; var editorWidget = new esri.dijit.editing.Editor(params, 'editorDiv');