Here is the .js piece... again, just took sample code and replaced with our servers, feature layers, etc. Permissions are wide open on the Feature Services for editing too...Any thoughts? <!-- reference ArcGIS JavaScript API -->
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.2"></script>
<script type="text/javascript">
//require selection dijit
dojo.require("esri.map");
dojo.require("esri.dijit.editing.Editor-all");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.layout.BorderContainer");
var map;
var resizeTimer;
function init() {
esri.config.defaults.io.proxyUrl = "http://ourServer/proxy/proxy.ashx";
esri.config.defaults.geometryService = new esri.tasks.GeometryService("http://ourServer/ArcGIS/rest/services/Geometry/GeometryServer");
var extent = new esri.geometry.Extent({"xmin":-13969147.281817337,"ymin":4805977.618327605,"xmax":-12669147.534885714,"ymax":6610095.663226462, "spatialReference":{"wkid":3857}});
map = new esri.Map("map",{extent:extent});
dojo.connect(map, "onLoad", function() {
dojo.connect(dijit.byId('map'), 'resize', function() {
resizeMap();
});
});
dojo.connect(map, "onLayersAddResult", initEditor);
var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://ourServer/ArcGIS/rest/services/BaseMap/MapServer");
map.addLayer(basemap);
var evacuationPerimeter = new esri.layers.FeatureLayer("http://ourServer/ArcGIS/rest/services/MicroStorms_Collapsed/FeatureServer/1",{
mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
outFields: ['*']
});
map.addLayers([evacuationPerimeter]);
}
function initEditor(results) {
//build the layer and field information for the layer, display the description field
//using a text area.
var layers = dojo.map(results, function(result) {
var fieldInfos= dojo.map(result.layer.fields,function(field){
if(field.name === 'description'){
return {'fieldName': field.name,'label':'Details',stringFieldOption:esri.dijit.AttributeInspector.STRING_FIELD_OPTION_TEXTAREA}
}
else{
return {'fieldName': field.name,'lable':field.alias}
}
});
return {featureLayer:result.layer,'fieldInfos':fieldInfos}
});
var templateLayers = dojo.map(results,function(result){
return result.layer;
});
var templatePicker = new esri.dijit.editing.TemplatePicker({
featureLayers: templateLayers,
grouping: true,
rows: 'auto',
columns: 3
},'templateDiv');
templatePicker.startup();
var settings = {
map: map,
templatePicker:templatePicker,
enableUndoRedo:true,
layerInfos:layers,
toolbarVisible: true,
createOptions: {
polygonDrawTools: [ esri.dijit.editing.Editor.CREATE_TOOL_FREEHAND_POLYGON,
esri.dijit.editing.Editor.CREATE_TOOL_AUTOCOMPLETE]
},
toolbarOptions: {
reshapeVisible: true,
cutVisible: true,
mergeVisible: true
}
};
var params = {settings: settings};
var editorWidget = new esri.dijit.editing.Editor(params,'editorDiv');
editorWidget.startup();
map.infoWindow.resize(300,165);
}
//Handle resize of browser
function resizeMap(){
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function(){
map.resize();
map.reposition();
}, 500);
}
dojo.addOnLoad(init);
</script>