Liz,
Here is the code change for WAB 1.3 edit widget Widget.js function _converConfiguredLayerInfos (line 27-36):
_converConfiguredLayerInfos: function (layerInfos) {
array.forEach(layerInfos, function (layerInfo) {
// convert layerInfos to compatible with old version
if (!layerInfo.featureLayer.id && layerInfo.featureLayer.url) {
var layerObject = getLayerObjectFromMapByUrl(this.map, layerInfo.featureLayer.url);
if (layerObject) {
layerInfo.featureLayer.id = layerObject.id;
}
}
// convert fieldInfos
var newFieldInfos = [];
var webmapFieldInfos =
editUtils.getFieldInfosFromWebmap(layerInfo.featureLayer.id, this._jimuLayerInfos);
array.forEach(layerInfo.fieldInfos, function (fieldInfo) {
if ( /*fieldInfo.isEditable &&*/
// only for compitible with old version of config.
// 'globalid' and 'objectid' can not appear in new app's config.
fieldInfo.fieldName !== "globalid" &&
fieldInfo.fieldName !== "objectid") {
var webmapFieldInfo = getFieldInfoFromWebmapFieldInfos(webmapFieldInfos, fieldInfo);
if (webmapFieldInfo) {
if (webmapFieldInfo.isEditable ||
webmapFieldInfo.isEditableSettingInWebmap ||
webmapFieldInfo.visible) {
if (webmapFieldInfo.format != null) {
if (webmapFieldInfo.format.dateFormat != null) {
if (webmapFieldInfo.format.dateFormat === "shortDateShortTime" ||
webmapFieldInfo.format.dateFormat === "shortDateShortTime24" ||
webmapFieldInfo.format.dateFormat === "shortDateLEShortTime" ||
webmapFieldInfo.format.dateFormat === "shortDateLEShortTime24") {
webmapFieldInfo.format.time = true;
}
}
}
newFieldInfos.push(webmapFieldInfo);
}
} else {
newFieldInfos.push(fieldInfo);
}
}
}, this);
if (newFieldInfos.length !== 0) {
layerInfo.fieldInfos = newFieldInfos;
}
}, this);
return layerInfos;
function getFieldInfoFromWebmapFieldInfos(webmapFieldInfos, fieldInfo) {
var resultFieldInfo = null;
if (webmapFieldInfos) {
for (var i = 0; i < webmapFieldInfos.length; i++) {
if (fieldInfo.fieldName === webmapFieldInfos.fieldName) {
webmapFieldInfos.label = fieldInfo.label;
webmapFieldInfos.isEditableSettingInWebmap = webmapFieldInfos.isEditable;
webmapFieldInfos.isEditable = fieldInfo.isEditable;
resultFieldInfo = webmapFieldInfos;
// resultFieldInfo.label = fieldInfo.label;
// resultFieldInfo.isEditableSettingInWebmap = webmapFieldInfos.isEditable;
// resultFieldInfo.isEditable = fieldInfo.isEditable;
break;
}
}
}
return resultFieldInfo;
}
function getLayerObjectFromMapByUrl(map, layerUrl) {
var resultLayerObject = null;
for (var i = 0; i < map.graphicsLayerIds.length; i++) {
var layerObject = map.getLayer(map.graphicsLayerIds);
if (layerObject.url.toLowerCase() === layerUrl.toLowerCase()) {
resultLayerObject = layerObject;
break;
}
}
return resultLayerObject;
}
},