Starting at version 2.2, you can customize the fields in the attribute inspector by specifying field information as part of the layer infos object.
dijit.byId("dijit_form_Button_0").set("label", "Dismiss");How do you set the ID of the delete button in the attribute inspector? Thanks!
dijit.registry.byId("esri_dijit_AttributeInspector_0").destroy();
dijit.registry.remove("esri_dijit_AttributeInspector_0"); var layerInfos = [{
'featureLayer': featLayer,
'isEditable': true,
'showAttachments':false,
'showDeleteButton':false,
'disableAttributeUpdate':false,
'disableGeometryUpdate': true
}];
attInspector = new esri.dijit.AttributeInspector({
layerInfos: layerInfos
}, dojo.create("div"));
//selectedTemplate is the selected template picked by the user
selectedTemplate.featureLayer.applyEdits([newGraphic], null, null, function() {
var screenPoint = map.toScreen(getInfoWindowPositionPoint(newGraphic));
map.infoWindow.setTitle("Incident about " + featLayer.name);
map.infoWindow.setContent(attInspector.domNode);
map.infoWindow.resize(260, 265);
map.infoWindow.show(screenPoint, map.getInfoWindowAnchor(screenPoint));
templatePicker.clearSelection();
});
var DismissButton = new dijit.form.Button({ label: "Dismiss", "class": "deleteButton"});
var DoneButton = new dijit.form.Button({ label: "Done", "class": "closeButton"});
dojo.place(DismissButton.domNode,attInspector.deleteBtn.domNode, "before")
dojo.place(DoneButton.domNode, DismissButton.domNode, "after");
dojo.connect(attInspector, "onAttributeChange", function(feature, fieldName, newFieldValue) {
feature.attributes[fieldName] = newFieldValue;
feature.getLayer().applyEdits(null, [feature], null);
});
DoneButton.on("click", function(){
map.infoWindow.hide();
});
DismissButton.on("click", function(){
featLayer.applyEdits(null, null, [newGraphic]);
map.infoWindow.hide();
});
Hi, did either of you find solutions to your problems? I am embarking down a similar path, modifying the attribute inspector, and creating and modifying buttons, curious if either of you have any tips for dealing with the attribute inspector and it's buttons? Thanks!
Also, I did try the sample posted above, and can't seem to place the save button correctly, it overlaps the delete button.
var saveButton = new Button({ label: "Save", "class": "saveButton"},domConstruct.create("div")); domConstruct.place(saveButton.domNode, attInspector.deleteBtn.domNode, "after");