@esri/solution-common 5.5.0 → 5.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/completeItem.js +2 -2
- package/dist/cjs/completeItem.js.map +1 -1
- package/dist/cjs/create-hub-request-options.js +1 -1
- package/dist/cjs/deleteHelpers/deleteEmptyGroups.js +1 -1
- package/dist/cjs/deleteHelpers/deleteEmptyGroups.js.map +1 -1
- package/dist/cjs/deleteHelpers/deleteGroupIfEmpty.js +6 -6
- package/dist/cjs/deleteHelpers/deleteGroupIfEmpty.js.map +1 -1
- package/dist/cjs/deleteHelpers/deleteSolutionContents.js +7 -11
- package/dist/cjs/deleteHelpers/deleteSolutionContents.js.map +1 -1
- package/dist/cjs/deleteHelpers/deleteSolutionFolder.js +6 -6
- package/dist/cjs/deleteHelpers/deleteSolutionFolder.js.map +1 -1
- package/dist/cjs/deleteHelpers/deleteSolutionItem.js +4 -4
- package/dist/cjs/deleteHelpers/deleteSolutionItem.js.map +1 -1
- package/dist/cjs/deleteHelpers/reconstructBuildOrderIds.js.map +1 -1
- package/dist/cjs/deleteHelpers/removeItems.js +5 -6
- package/dist/cjs/deleteHelpers/removeItems.js.map +1 -1
- package/dist/cjs/deleteHelpers/reportProgress.js +1 -1
- package/dist/cjs/deleteHelpers/reportProgress.js.map +1 -1
- package/dist/cjs/deleteSolution.js +7 -7
- package/dist/cjs/deleteSolution.js.map +1 -1
- package/dist/cjs/dependencies.js +5 -5
- package/dist/cjs/dependencies.js.map +1 -1
- package/dist/cjs/featureServiceHelpers.js +132 -165
- package/dist/cjs/featureServiceHelpers.js.map +1 -1
- package/dist/cjs/formHelpers.js +1 -1
- package/dist/cjs/formHelpers.js.map +1 -1
- package/dist/cjs/generalHelpers.js +25 -40
- package/dist/cjs/generalHelpers.js.map +1 -1
- package/dist/cjs/get-subscription-info.js +1 -1
- package/dist/cjs/get-subscription-info.js.map +1 -1
- package/dist/cjs/getDeletableSolutionInfo.js.map +1 -1
- package/dist/cjs/getItemTypeAbbrev.js +27 -27
- package/dist/cjs/getItemTypeAbbrev.js.map +1 -1
- package/dist/cjs/getSolutionSummary.js +50 -51
- package/dist/cjs/getSolutionSummary.js.map +1 -1
- package/dist/cjs/interfaces.d.ts +2 -2
- package/dist/cjs/interfaces.js +1 -1
- package/dist/cjs/interfaces.js.map +1 -1
- package/dist/cjs/item-reuse.js +27 -24
- package/dist/cjs/item-reuse.js.map +1 -1
- package/dist/cjs/libConnectors.js +1 -1
- package/dist/cjs/libConnectors.js.map +1 -1
- package/dist/cjs/migrations/apply-schema.js +1 -1
- package/dist/cjs/migrations/is-legacy-solution.js +1 -2
- package/dist/cjs/migrations/is-legacy-solution.js.map +1 -1
- package/dist/cjs/migrations/upgrade-two-dot-five.js +2 -2
- package/dist/cjs/migrations/upgrade-two-dot-five.js.map +1 -1
- package/dist/cjs/migrations/upgrade-two-dot-four.js +4 -4
- package/dist/cjs/migrations/upgrade-two-dot-four.js.map +1 -1
- package/dist/cjs/migrations/upgrade-two-dot-seven.js.map +1 -1
- package/dist/cjs/migrations/upgrade-two-dot-six.js +2 -2
- package/dist/cjs/migrations/upgrade-two-dot-six.js.map +1 -1
- package/dist/cjs/migrations/upgrade-two-dot-three.js +3 -3
- package/dist/cjs/migrations/upgrade-two-dot-three.js.map +1 -1
- package/dist/cjs/migrations/upgrade-two-dot-two.js +3 -3
- package/dist/cjs/migrations/upgrade-two-dot-two.js.map +1 -1
- package/dist/cjs/migrations/upgrade-two-dot-zero.js +3 -3
- package/dist/cjs/migrations/upgrade-two-dot-zero.js.map +1 -1
- package/dist/cjs/migrator.js +1 -3
- package/dist/cjs/migrator.js.map +1 -1
- package/dist/cjs/resourceHelpers.js +24 -29
- package/dist/cjs/resourceHelpers.js.map +1 -1
- package/dist/cjs/resources/add-resource-from-blob.js +2 -2
- package/dist/cjs/resources/add-resource-from-blob.js.map +1 -1
- package/dist/cjs/resources/addMetadataFromBlob.js +3 -3
- package/dist/cjs/resources/addMetadataFromBlob.js.map +1 -1
- package/dist/cjs/resources/copyAssociatedFiles.js +25 -31
- package/dist/cjs/resources/copyAssociatedFiles.js.map +1 -1
- package/dist/cjs/resources/copyDataIntoItem.js +7 -9
- package/dist/cjs/resources/copyDataIntoItem.js.map +1 -1
- package/dist/cjs/resources/copyMetadataIntoItem.js +4 -6
- package/dist/cjs/resources/copyMetadataIntoItem.js.map +1 -1
- package/dist/cjs/resources/copyResourceIntoZip.js +3 -7
- package/dist/cjs/resources/copyResourceIntoZip.js.map +1 -1
- package/dist/cjs/resources/copyZipIntoItem.js +4 -5
- package/dist/cjs/resources/copyZipIntoItem.js.map +1 -1
- package/dist/cjs/resources/createCopyResults.js +1 -1
- package/dist/cjs/resources/get-blob.js +2 -2
- package/dist/cjs/resources/get-blob.js.map +1 -1
- package/dist/cjs/resources/getItemResourcesFilesFromPaths.js +5 -5
- package/dist/cjs/resources/getItemResourcesFilesFromPaths.js.map +1 -1
- package/dist/cjs/resources/getItemResourcesPaths.js +1 -1
- package/dist/cjs/resources/getItemResourcesPaths.js.map +1 -1
- package/dist/cjs/resources/transform-resource-paths-to-solution-resources.js +5 -11
- package/dist/cjs/resources/transform-resource-paths-to-solution-resources.js.map +1 -1
- package/dist/cjs/restHelpers.js +219 -261
- package/dist/cjs/restHelpers.js.map +1 -1
- package/dist/cjs/restHelpersGet.js +55 -63
- package/dist/cjs/restHelpersGet.js.map +1 -1
- package/dist/cjs/sharing/share-item-to-groups.js +2 -2
- package/dist/cjs/sharing/share-item-to-groups.js.map +1 -1
- package/dist/cjs/templatization.js +10 -12
- package/dist/cjs/templatization.js.map +1 -1
- package/dist/cjs/trackingHelpers.js +10 -15
- package/dist/cjs/trackingHelpers.js.map +1 -1
- package/dist/cjs/velocityHelpers.js +7 -11
- package/dist/cjs/velocityHelpers.js.map +1 -1
- package/dist/cjs/workflowHelpers.js +15 -17
- package/dist/cjs/workflowHelpers.js.map +1 -1
- package/dist/cjs/workforceHelpers.js +75 -103
- package/dist/cjs/workforceHelpers.js.map +1 -1
- package/dist/cjs/zip-utils.js +3 -3
- package/dist/cjs/zip-utils.js.map +1 -1
- package/dist/esm/completeItem.js +2 -2
- package/dist/esm/completeItem.js.map +1 -1
- package/dist/esm/create-hub-request-options.js +1 -1
- package/dist/esm/deleteHelpers/deleteEmptyGroups.js +1 -1
- package/dist/esm/deleteHelpers/deleteEmptyGroups.js.map +1 -1
- package/dist/esm/deleteHelpers/deleteGroupIfEmpty.js +6 -6
- package/dist/esm/deleteHelpers/deleteGroupIfEmpty.js.map +1 -1
- package/dist/esm/deleteHelpers/deleteSolutionContents.js +8 -12
- package/dist/esm/deleteHelpers/deleteSolutionContents.js.map +1 -1
- package/dist/esm/deleteHelpers/deleteSolutionFolder.js +6 -6
- package/dist/esm/deleteHelpers/deleteSolutionFolder.js.map +1 -1
- package/dist/esm/deleteHelpers/deleteSolutionItem.js +4 -4
- package/dist/esm/deleteHelpers/deleteSolutionItem.js.map +1 -1
- package/dist/esm/deleteHelpers/reconstructBuildOrderIds.js.map +1 -1
- package/dist/esm/deleteHelpers/removeItems.js +5 -6
- package/dist/esm/deleteHelpers/removeItems.js.map +1 -1
- package/dist/esm/deleteHelpers/reportProgress.js +1 -1
- package/dist/esm/deleteHelpers/reportProgress.js.map +1 -1
- package/dist/esm/deleteSolution.js +7 -7
- package/dist/esm/deleteSolution.js.map +1 -1
- package/dist/esm/dependencies.js +5 -5
- package/dist/esm/dependencies.js.map +1 -1
- package/dist/esm/featureServiceHelpers.js +134 -167
- package/dist/esm/featureServiceHelpers.js.map +1 -1
- package/dist/esm/formHelpers.js +1 -1
- package/dist/esm/formHelpers.js.map +1 -1
- package/dist/esm/generalHelpers.js +25 -40
- package/dist/esm/generalHelpers.js.map +1 -1
- package/dist/esm/get-subscription-info.js +1 -1
- package/dist/esm/get-subscription-info.js.map +1 -1
- package/dist/esm/getDeletableSolutionInfo.js.map +1 -1
- package/dist/esm/getItemTypeAbbrev.js +27 -27
- package/dist/esm/getItemTypeAbbrev.js.map +1 -1
- package/dist/esm/getSolutionSummary.js +51 -52
- package/dist/esm/getSolutionSummary.js.map +1 -1
- package/dist/esm/interfaces.d.ts +2 -2
- package/dist/esm/interfaces.js +2 -2
- package/dist/esm/interfaces.js.map +1 -1
- package/dist/esm/item-reuse.js +27 -24
- package/dist/esm/item-reuse.js.map +1 -1
- package/dist/esm/libConnectors.js +1 -1
- package/dist/esm/libConnectors.js.map +1 -1
- package/dist/esm/migrations/apply-schema.js +1 -1
- package/dist/esm/migrations/is-legacy-solution.js +1 -2
- package/dist/esm/migrations/is-legacy-solution.js.map +1 -1
- package/dist/esm/migrations/upgrade-two-dot-five.js +2 -2
- package/dist/esm/migrations/upgrade-two-dot-five.js.map +1 -1
- package/dist/esm/migrations/upgrade-two-dot-four.js +4 -4
- package/dist/esm/migrations/upgrade-two-dot-four.js.map +1 -1
- package/dist/esm/migrations/upgrade-two-dot-seven.js.map +1 -1
- package/dist/esm/migrations/upgrade-two-dot-six.js +2 -2
- package/dist/esm/migrations/upgrade-two-dot-six.js.map +1 -1
- package/dist/esm/migrations/upgrade-two-dot-three.js +3 -3
- package/dist/esm/migrations/upgrade-two-dot-three.js.map +1 -1
- package/dist/esm/migrations/upgrade-two-dot-two.js +3 -3
- package/dist/esm/migrations/upgrade-two-dot-two.js.map +1 -1
- package/dist/esm/migrations/upgrade-two-dot-zero.js +3 -3
- package/dist/esm/migrations/upgrade-two-dot-zero.js.map +1 -1
- package/dist/esm/migrator.js +1 -3
- package/dist/esm/migrator.js.map +1 -1
- package/dist/esm/resourceHelpers.js +26 -31
- package/dist/esm/resourceHelpers.js.map +1 -1
- package/dist/esm/resources/add-resource-from-blob.js +2 -2
- package/dist/esm/resources/add-resource-from-blob.js.map +1 -1
- package/dist/esm/resources/addMetadataFromBlob.js +3 -3
- package/dist/esm/resources/addMetadataFromBlob.js.map +1 -1
- package/dist/esm/resources/copyAssociatedFiles.js +26 -32
- package/dist/esm/resources/copyAssociatedFiles.js.map +1 -1
- package/dist/esm/resources/copyDataIntoItem.js +7 -9
- package/dist/esm/resources/copyDataIntoItem.js.map +1 -1
- package/dist/esm/resources/copyMetadataIntoItem.js +4 -6
- package/dist/esm/resources/copyMetadataIntoItem.js.map +1 -1
- package/dist/esm/resources/copyResourceIntoZip.js +3 -7
- package/dist/esm/resources/copyResourceIntoZip.js.map +1 -1
- package/dist/esm/resources/copyZipIntoItem.js +4 -5
- package/dist/esm/resources/copyZipIntoItem.js.map +1 -1
- package/dist/esm/resources/createCopyResults.js +1 -1
- package/dist/esm/resources/get-blob.js +2 -2
- package/dist/esm/resources/get-blob.js.map +1 -1
- package/dist/esm/resources/getItemResourcesFilesFromPaths.js +5 -5
- package/dist/esm/resources/getItemResourcesFilesFromPaths.js.map +1 -1
- package/dist/esm/resources/getItemResourcesPaths.js +1 -1
- package/dist/esm/resources/getItemResourcesPaths.js.map +1 -1
- package/dist/esm/resources/transform-resource-paths-to-solution-resources.js +5 -11
- package/dist/esm/resources/transform-resource-paths-to-solution-resources.js.map +1 -1
- package/dist/esm/restHelpers.js +224 -266
- package/dist/esm/restHelpers.js.map +1 -1
- package/dist/esm/restHelpersGet.js +56 -64
- package/dist/esm/restHelpersGet.js.map +1 -1
- package/dist/esm/sharing/share-item-to-groups.js +2 -2
- package/dist/esm/sharing/share-item-to-groups.js.map +1 -1
- package/dist/esm/templatization.js +10 -12
- package/dist/esm/templatization.js.map +1 -1
- package/dist/esm/trackingHelpers.js +10 -15
- package/dist/esm/trackingHelpers.js.map +1 -1
- package/dist/esm/velocityHelpers.js +7 -11
- package/dist/esm/velocityHelpers.js.map +1 -1
- package/dist/esm/workflowHelpers.js +15 -17
- package/dist/esm/workflowHelpers.js.map +1 -1
- package/dist/esm/workforceHelpers.js +75 -103
- package/dist/esm/workforceHelpers.js.map +1 -1
- package/dist/esm/zip-utils.js +3 -3
- package/dist/esm/zip-utils.js.map +1 -1
- package/dist/solution.js_commit.txt +6 -8
- package/package.json +13 -13
|
@@ -46,7 +46,7 @@ function getFeatureServiceRelatedRecords(url, relationshipId, objectIds) {
|
|
|
46
46
|
const options = {
|
|
47
47
|
url: url + `/${relationshipId}`,
|
|
48
48
|
relationshipId,
|
|
49
|
-
objectIds
|
|
49
|
+
objectIds,
|
|
50
50
|
};
|
|
51
51
|
return (0, arcgis_rest_feature_layer_2.queryRelated)(options);
|
|
52
52
|
}
|
|
@@ -70,7 +70,7 @@ function templatize(itemTemplate, dependencies, templatizeFieldReferences, templ
|
|
|
70
70
|
...itemTemplate.item,
|
|
71
71
|
id: (0, templatization_1.templatizeTerm)(id, id, ".itemId"),
|
|
72
72
|
url: _templatize(id, "url"),
|
|
73
|
-
typeKeywords: (0, templatization_1.templatizeIds)(itemTemplate.item.typeKeywords)
|
|
73
|
+
typeKeywords: (0, templatization_1.templatizeIds)(itemTemplate.item.typeKeywords),
|
|
74
74
|
};
|
|
75
75
|
// special handeling if we are dealing with a tracker view
|
|
76
76
|
(0, trackingHelpers_1.templatizeTracker)(itemTemplate);
|
|
@@ -85,7 +85,7 @@ function templatize(itemTemplate, dependencies, templatizeFieldReferences, templ
|
|
|
85
85
|
const _items = layers.concat(tables);
|
|
86
86
|
// Set up symbols for the URL of the feature service and its layers and tables
|
|
87
87
|
templateDictionary[fsUrl] = itemTemplate.item.url; // map FS URL to its templatized form
|
|
88
|
-
jsonItems.concat(_items).forEach(layer => {
|
|
88
|
+
jsonItems.concat(_items).forEach((layer) => {
|
|
89
89
|
templateDictionary[fsUrl + "/" + layer.id] = _templatize(id, "layer" + layer.id + ".url");
|
|
90
90
|
});
|
|
91
91
|
// templatize the service references serviceItemId
|
|
@@ -114,7 +114,7 @@ function templatize(itemTemplate, dependencies, templatizeFieldReferences, templ
|
|
|
114
114
|
let hasZ = false;
|
|
115
115
|
jsonItems.forEach((jsonItem) => {
|
|
116
116
|
// get the source service json for the given data item
|
|
117
|
-
const matchingItems = _items.filter(item => {
|
|
117
|
+
const matchingItems = _items.filter((item) => {
|
|
118
118
|
return jsonItem.id === item.id;
|
|
119
119
|
});
|
|
120
120
|
// templatize the source service json
|
|
@@ -136,7 +136,7 @@ exports.templatize = templatize;
|
|
|
136
136
|
*/
|
|
137
137
|
function deleteViewProps(layer) {
|
|
138
138
|
const props = ["definitionQuery"];
|
|
139
|
-
props.forEach(prop => {
|
|
139
|
+
props.forEach((prop) => {
|
|
140
140
|
(0, generalHelpers_1.deleteProp)(layer, prop);
|
|
141
141
|
});
|
|
142
142
|
}
|
|
@@ -158,7 +158,7 @@ function cacheFieldInfos(layer, fieldInfos) {
|
|
|
158
158
|
fieldInfos[layer.id] = {
|
|
159
159
|
sourceFields: JSON.parse(JSON.stringify(layer.fields)),
|
|
160
160
|
type: layer.type,
|
|
161
|
-
id: layer.id
|
|
161
|
+
id: layer.id,
|
|
162
162
|
};
|
|
163
163
|
}
|
|
164
164
|
// cache each of these properties as they each can contain field references
|
|
@@ -171,9 +171,9 @@ function cacheFieldInfos(layer, fieldInfos) {
|
|
|
171
171
|
relationships: true,
|
|
172
172
|
drawingInfo: false,
|
|
173
173
|
timeInfo: false,
|
|
174
|
-
viewDefinitionQuery: false
|
|
174
|
+
viewDefinitionQuery: false,
|
|
175
175
|
};
|
|
176
|
-
Object.keys(props).forEach(k => {
|
|
176
|
+
Object.keys(props).forEach((k) => {
|
|
177
177
|
_cacheFieldInfo(layer, k, fieldInfos, props[k]);
|
|
178
178
|
});
|
|
179
179
|
return fieldInfos;
|
|
@@ -188,9 +188,9 @@ exports.cacheFieldInfos = cacheFieldInfos;
|
|
|
188
188
|
* @returns An updated instance of the fieldInfos
|
|
189
189
|
*/
|
|
190
190
|
function cacheContingentValues(id, fieldInfos, itemTemplate) {
|
|
191
|
-
const contingentValues = (0, generalHelpers_1.getProp)(itemTemplate,
|
|
191
|
+
const contingentValues = (0, generalHelpers_1.getProp)(itemTemplate, "properties.contingentValues");
|
|
192
192
|
if (contingentValues && contingentValues[id]) {
|
|
193
|
-
fieldInfos[id][
|
|
193
|
+
fieldInfos[id]["contingentValues"] = contingentValues[id];
|
|
194
194
|
}
|
|
195
195
|
return fieldInfos;
|
|
196
196
|
}
|
|
@@ -206,10 +206,7 @@ exports.cacheContingentValues = cacheContingentValues;
|
|
|
206
206
|
*/
|
|
207
207
|
function _cacheFieldInfo(layer, prop, fieldInfos, removeProp) {
|
|
208
208
|
/* istanbul ignore else */
|
|
209
|
-
if (layer &&
|
|
210
|
-
layer.hasOwnProperty(prop) &&
|
|
211
|
-
fieldInfos &&
|
|
212
|
-
fieldInfos.hasOwnProperty(layer.id)) {
|
|
209
|
+
if (layer && layer.hasOwnProperty(prop) && fieldInfos && fieldInfos.hasOwnProperty(layer.id)) {
|
|
213
210
|
fieldInfos[layer.id][prop] = layer[prop];
|
|
214
211
|
// editFieldsInfo does not come through unless its with the layer
|
|
215
212
|
// when it's being added
|
|
@@ -230,7 +227,7 @@ function cachePopupInfos(data) {
|
|
|
230
227
|
// store any popupInfo so we can update after any potential name changes
|
|
231
228
|
const popupInfos = {
|
|
232
229
|
layers: {},
|
|
233
|
-
tables: {}
|
|
230
|
+
tables: {},
|
|
234
231
|
};
|
|
235
232
|
if (data && data.layers && data.layers.length > 0) {
|
|
236
233
|
_cachePopupInfo(popupInfos, "layers", data.layers);
|
|
@@ -275,11 +272,11 @@ function cacheLayerInfo(layerId, itemId, url, templateDictionary) {
|
|
|
275
272
|
// need to structure these differently so they are not used for standard replacement calls
|
|
276
273
|
// this now adds additional vars that are not needing replacement unless we fail to fetch the service
|
|
277
274
|
const newVars = (0, generalHelpers_1.getProp)(templateDictionary, `${interfaces_1.UNREACHABLE}.${itemId}`) || {
|
|
278
|
-
itemId
|
|
275
|
+
itemId,
|
|
279
276
|
};
|
|
280
277
|
newVars[layerIdVar] = (0, generalHelpers_1.getProp)(newVars, layerIdVar) || {
|
|
281
278
|
layerId,
|
|
282
|
-
itemId
|
|
279
|
+
itemId,
|
|
283
280
|
};
|
|
284
281
|
if (url !== "") {
|
|
285
282
|
newVars[layerIdVar]["url"] = url;
|
|
@@ -288,7 +285,7 @@ function cacheLayerInfo(layerId, itemId, url, templateDictionary) {
|
|
|
288
285
|
unreachableVars[itemId] = newVars;
|
|
289
286
|
templateDictionary[interfaces_1.UNREACHABLE] = {
|
|
290
287
|
...templateDictionary[interfaces_1.UNREACHABLE],
|
|
291
|
-
...unreachableVars
|
|
288
|
+
...unreachableVars,
|
|
292
289
|
};
|
|
293
290
|
}
|
|
294
291
|
}
|
|
@@ -309,7 +306,7 @@ function updateTemplate(itemTemplate, templateDictionary, createResponse) {
|
|
|
309
306
|
templateDictionary[itemTemplate.itemId] = Object.assign(templateDictionary[itemTemplate.itemId] || {}, {
|
|
310
307
|
itemId: createResponse.serviceItemId,
|
|
311
308
|
url: (0, generalHelpers_1.checkUrlPathTermination)(createResponse.serviceurl),
|
|
312
|
-
name: createResponse.name
|
|
309
|
+
name: createResponse.name,
|
|
313
310
|
});
|
|
314
311
|
// Update the item template now that the new service has been created
|
|
315
312
|
itemTemplate.itemId = createResponse.serviceItemId;
|
|
@@ -330,7 +327,7 @@ function _updateTypeKeywords(itemTemplate, createResponse) {
|
|
|
330
327
|
const iKwords = (0, generalHelpers_1.getProp)(itemTemplate, "item.typeKeywords");
|
|
331
328
|
const cKwords = (0, generalHelpers_1.getProp)(createResponse, "typeKeywords");
|
|
332
329
|
if (iKwords && cKwords) {
|
|
333
|
-
(0, generalHelpers_1.setProp)(itemTemplate, "item.typeKeywords", iKwords.concat(cKwords.filter(k => iKwords.indexOf(k) < 0)));
|
|
330
|
+
(0, generalHelpers_1.setProp)(itemTemplate, "item.typeKeywords", iKwords.concat(cKwords.filter((k) => iKwords.indexOf(k) < 0)));
|
|
334
331
|
}
|
|
335
332
|
return itemTemplate;
|
|
336
333
|
}
|
|
@@ -352,16 +349,12 @@ function getLayerSettings(layerInfos, url, itemId, enterpriseIDMapping) {
|
|
|
352
349
|
ids.forEach((id) => {
|
|
353
350
|
const _layerId = (0, generalHelpers_1.getProp)(layerInfos[id], "item.id");
|
|
354
351
|
const isNum = parseInt(_layerId, 10) > -1;
|
|
355
|
-
const layerId = isNum && enterpriseIDMapping
|
|
356
|
-
? enterpriseIDMapping[_layerId]
|
|
357
|
-
: isNum
|
|
358
|
-
? _layerId
|
|
359
|
-
: id;
|
|
352
|
+
const layerId = isNum && enterpriseIDMapping ? enterpriseIDMapping[_layerId] : isNum ? _layerId : id;
|
|
360
353
|
settings[`layer${isNum ? _layerId : id}`] = {
|
|
361
354
|
fields: _getNameMapping(layerInfos, id),
|
|
362
355
|
url: (0, generalHelpers_1.checkUrlPathTermination)(url) + layerId,
|
|
363
356
|
layerId,
|
|
364
|
-
itemId
|
|
357
|
+
itemId,
|
|
365
358
|
};
|
|
366
359
|
(0, generalHelpers_1.deleteProp)(layerInfos[id], "newFields");
|
|
367
360
|
(0, generalHelpers_1.deleteProp)(layerInfos[id], "sourceFields");
|
|
@@ -381,7 +374,7 @@ exports.getLayerSettings = getLayerSettings;
|
|
|
381
374
|
*/
|
|
382
375
|
function setNamesAndTitles(templates, solutionItemId) {
|
|
383
376
|
const names = [];
|
|
384
|
-
return templates.map(t => {
|
|
377
|
+
return templates.map((t) => {
|
|
385
378
|
/* istanbul ignore else */
|
|
386
379
|
if (t.item.type === "Feature Service") {
|
|
387
380
|
// Retain the existing title but swap with name if it's missing
|
|
@@ -396,10 +389,7 @@ function setNamesAndTitles(templates, solutionItemId) {
|
|
|
396
389
|
// Limit the baseName to 50 characters before the _<guid>
|
|
397
390
|
const name = baseName.substring(0, 50) + "_" + solutionItemId;
|
|
398
391
|
// If the name + GUID already exists then append "_occurrenceCount"
|
|
399
|
-
t.item.name =
|
|
400
|
-
names.indexOf(name) === -1
|
|
401
|
-
? name
|
|
402
|
-
: `${name}_${names.filter(n => n === name).length}`;
|
|
392
|
+
t.item.name = names.indexOf(name) === -1 ? name : `${name}_${names.filter((n) => n === name).length}`;
|
|
403
393
|
names.push(name);
|
|
404
394
|
}
|
|
405
395
|
}
|
|
@@ -433,7 +423,7 @@ function updateSettingsFieldInfos(itemTemplate, settings) {
|
|
|
433
423
|
? { ...settings[k]["sourceServiceFields"], ...fieldInfos }
|
|
434
424
|
: fieldInfos;
|
|
435
425
|
const layerKeys = Object.keys(settings[_k]);
|
|
436
|
-
layerKeys.forEach(layerKey => {
|
|
426
|
+
layerKeys.forEach((layerKey) => {
|
|
437
427
|
/* istanbul ignore else */
|
|
438
428
|
if (layerKey.startsWith("layer")) {
|
|
439
429
|
settings[k][layerKey] = settings[_k][layerKey];
|
|
@@ -462,8 +452,8 @@ function updateTemplateForInvalidDesignations(template, authentication) {
|
|
|
462
452
|
// get the admin URL
|
|
463
453
|
const url = template.item.url;
|
|
464
454
|
(0, restHelpers_1.rest_request)(url + "?f=json", {
|
|
465
|
-
authentication: authentication
|
|
466
|
-
}).then(serviceData => {
|
|
455
|
+
authentication: authentication,
|
|
456
|
+
}).then((serviceData) => {
|
|
467
457
|
const layerInfos = {};
|
|
468
458
|
const layersAndTables = (serviceData.layers || []).concat(serviceData.tables || []);
|
|
469
459
|
layersAndTables.forEach((l) => {
|
|
@@ -473,10 +463,10 @@ function updateTemplateForInvalidDesignations(template, authentication) {
|
|
|
473
463
|
}
|
|
474
464
|
});
|
|
475
465
|
template.data[template.itemId] = Object.assign({
|
|
476
|
-
itemId: template.itemId
|
|
466
|
+
itemId: template.itemId,
|
|
477
467
|
}, getLayerSettings(layerInfos, url, template.itemId));
|
|
478
468
|
resolve(template);
|
|
479
|
-
}, e => reject((0, generalHelpers_1.fail)(e)));
|
|
469
|
+
}, (e) => reject((0, generalHelpers_1.fail)(e)));
|
|
480
470
|
}
|
|
481
471
|
else {
|
|
482
472
|
resolve(template);
|
|
@@ -497,7 +487,7 @@ exports.updateTemplateForInvalidDesignations = updateTemplateForInvalidDesignati
|
|
|
497
487
|
*/
|
|
498
488
|
function processContingentValues(properties, adminUrl, authentication) {
|
|
499
489
|
return new Promise((resolve, reject) => {
|
|
500
|
-
if ((0, generalHelpers_1.getProp)(properties,
|
|
490
|
+
if ((0, generalHelpers_1.getProp)(properties, "service.isView")) {
|
|
501
491
|
// views will inherit from the source service
|
|
502
492
|
resolve();
|
|
503
493
|
}
|
|
@@ -507,8 +497,10 @@ function processContingentValues(properties, adminUrl, authentication) {
|
|
|
507
497
|
const contingentValuePromises = layersAndTables.reduce((prev, cur) => {
|
|
508
498
|
/* istanbul ignore else */
|
|
509
499
|
if (cur.hasContingentValuesDefinition) {
|
|
510
|
-
prev.push((0, restHelpers_1.rest_request)(`${adminUrl}/${cur[
|
|
511
|
-
|
|
500
|
+
prev.push((0, restHelpers_1.rest_request)(`${adminUrl}/${cur["id"]}/contingentValues?f=json`, {
|
|
501
|
+
authentication,
|
|
502
|
+
}));
|
|
503
|
+
layerIds.push(cur["id"]);
|
|
512
504
|
}
|
|
513
505
|
return prev;
|
|
514
506
|
}, []);
|
|
@@ -516,13 +508,18 @@ function processContingentValues(properties, adminUrl, authentication) {
|
|
|
516
508
|
Promise.all(contingentValuePromises).then((results) => {
|
|
517
509
|
const contingentValues = {};
|
|
518
510
|
results.forEach((r, i) => {
|
|
519
|
-
(0, generalHelpers_1.deleteProp)(r,
|
|
511
|
+
(0, generalHelpers_1.deleteProp)(r, "typeCodes");
|
|
520
512
|
/* istanbul ignore else */
|
|
521
|
-
if ((0, generalHelpers_1.getProp)(r,
|
|
522
|
-
r.contingentValuesDefinition[
|
|
523
|
-
(0, generalHelpers_1.deleteProp)(r,
|
|
513
|
+
if ((0, generalHelpers_1.getProp)(r, "stringDicts") && (0, generalHelpers_1.getProp)(r, "contingentValuesDefinition")) {
|
|
514
|
+
r.contingentValuesDefinition["stringDicts"] = r.stringDicts;
|
|
515
|
+
(0, generalHelpers_1.deleteProp)(r, "stringDicts");
|
|
524
516
|
}
|
|
525
|
-
(0, generalHelpers_1.deleteProps)((0, generalHelpers_1.getProp)(r,
|
|
517
|
+
(0, generalHelpers_1.deleteProps)((0, generalHelpers_1.getProp)(r, "contingentValuesDefinition"), [
|
|
518
|
+
"layerID",
|
|
519
|
+
"layerName",
|
|
520
|
+
"geometryType",
|
|
521
|
+
"hasSubType",
|
|
522
|
+
]);
|
|
526
523
|
contingentValues[layerIds[i]] = r;
|
|
527
524
|
});
|
|
528
525
|
properties.contingentValues = contingentValues;
|
|
@@ -547,13 +544,12 @@ exports.processContingentValues = processContingentValues;
|
|
|
547
544
|
*/
|
|
548
545
|
function deTemplatizeFieldInfos(fieldInfos, popupInfos, adminLayerInfos, settings) {
|
|
549
546
|
const fieldInfoKeys = Object.keys(fieldInfos);
|
|
550
|
-
fieldInfoKeys.forEach(id => {
|
|
547
|
+
fieldInfoKeys.forEach((id) => {
|
|
551
548
|
if (fieldInfos[id].hasOwnProperty("templates")) {
|
|
552
549
|
fieldInfos[id].templates = JSON.parse((0, templatization_1.replaceInTemplate)(JSON.stringify(fieldInfos[id].templates), settings));
|
|
553
550
|
}
|
|
554
551
|
if (fieldInfos[id].hasOwnProperty("adminLayerInfo")) {
|
|
555
|
-
adminLayerInfos[id].viewLayerDefinition.table.relatedTables =
|
|
556
|
-
fieldInfos[id].adminLayerInfo;
|
|
552
|
+
adminLayerInfos[id].viewLayerDefinition.table.relatedTables = fieldInfos[id].adminLayerInfo;
|
|
557
553
|
(0, generalHelpers_1.deleteProp)(fieldInfos[id], "adminLayerInfo");
|
|
558
554
|
}
|
|
559
555
|
if (fieldInfos[id].hasOwnProperty("types")) {
|
|
@@ -563,7 +559,7 @@ function deTemplatizeFieldInfos(fieldInfos, popupInfos, adminLayerInfos, setting
|
|
|
563
559
|
return {
|
|
564
560
|
popupInfos: (0, templatization_1.replaceInTemplate)(popupInfos, settings),
|
|
565
561
|
fieldInfos: (0, templatization_1.replaceInTemplate)(fieldInfos, settings),
|
|
566
|
-
adminLayerInfos: (0, templatization_1.replaceInTemplate)(adminLayerInfos, settings)
|
|
562
|
+
adminLayerInfos: (0, templatization_1.replaceInTemplate)(adminLayerInfos, settings),
|
|
567
563
|
};
|
|
568
564
|
}
|
|
569
565
|
exports.deTemplatizeFieldInfos = deTemplatizeFieldInfos;
|
|
@@ -582,13 +578,13 @@ function getLayersAndTables(itemTemplate) {
|
|
|
582
578
|
(properties.layers || []).forEach(function (layer) {
|
|
583
579
|
layersAndTables.push({
|
|
584
580
|
item: layer,
|
|
585
|
-
type: "layer"
|
|
581
|
+
type: "layer",
|
|
586
582
|
});
|
|
587
583
|
});
|
|
588
584
|
(properties.tables || []).forEach(function (table) {
|
|
589
585
|
layersAndTables.push({
|
|
590
586
|
item: table,
|
|
591
|
-
type: "table"
|
|
587
|
+
type: "table",
|
|
592
588
|
});
|
|
593
589
|
});
|
|
594
590
|
return layersAndTables;
|
|
@@ -607,14 +603,14 @@ exports.getLayersAndTables = getLayersAndTables;
|
|
|
607
603
|
*/
|
|
608
604
|
function getExistingLayersAndTables(url, ids, authentication) {
|
|
609
605
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
610
|
-
return new Promise(resolve => {
|
|
611
|
-
const defs = ids.map(id => {
|
|
606
|
+
return new Promise((resolve) => {
|
|
607
|
+
const defs = ids.map((id) => {
|
|
612
608
|
return (0, restHelpers_1.rest_request)((0, generalHelpers_1.checkUrlPathTermination)(url) + id, {
|
|
613
|
-
authentication
|
|
609
|
+
authentication,
|
|
614
610
|
});
|
|
615
611
|
});
|
|
616
612
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
617
|
-
Promise.all(defs.map(p => p.catch(e => e))).then(resolve);
|
|
613
|
+
Promise.all(defs.map((p) => p.catch((e) => e))).then(resolve);
|
|
618
614
|
});
|
|
619
615
|
}
|
|
620
616
|
exports.getExistingLayersAndTables = getExistingLayersAndTables;
|
|
@@ -645,13 +641,13 @@ function addFeatureServiceLayersAndTables(itemTemplate, templateDictionary, popu
|
|
|
645
641
|
// Detemplatize field references and update the layer properties
|
|
646
642
|
// Only failure path is handled by addFeatureServiceDefinition
|
|
647
643
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
648
|
-
updateLayerFieldReferences(itemTemplate, fieldInfos, popupInfos, adminLayerInfos, templateDictionary).then(r => {
|
|
644
|
+
updateLayerFieldReferences(itemTemplate, fieldInfos, popupInfos, adminLayerInfos, templateDictionary).then((r) => {
|
|
649
645
|
// Update relationships and layer definitions
|
|
650
646
|
const updates = (0, restHelpers_1.getLayerUpdates)({
|
|
651
647
|
message: "updated layer definition",
|
|
652
648
|
objects: r.layerInfos.fieldInfos,
|
|
653
649
|
itemTemplate: r.itemTemplate,
|
|
654
|
-
authentication
|
|
650
|
+
authentication,
|
|
655
651
|
}, templateDictionary.isPortal);
|
|
656
652
|
// Process the updates sequentially
|
|
657
653
|
updates
|
|
@@ -660,11 +656,9 @@ function addFeatureServiceLayersAndTables(itemTemplate, templateDictionary, popu
|
|
|
660
656
|
return (0, restHelpers_1.getRequest)(update);
|
|
661
657
|
});
|
|
662
658
|
}, Promise.resolve(null))
|
|
663
|
-
.then(() => resolve(null), (e) => reject((0, generalHelpers_1.fail)(e))
|
|
664
|
-
);
|
|
659
|
+
.then(() => resolve(null), (e) => reject((0, generalHelpers_1.fail)(e)));
|
|
665
660
|
});
|
|
666
|
-
}, e => reject((0, generalHelpers_1.fail)(e))
|
|
667
|
-
);
|
|
661
|
+
}, (e) => reject((0, generalHelpers_1.fail)(e)));
|
|
668
662
|
}
|
|
669
663
|
else {
|
|
670
664
|
resolve(null);
|
|
@@ -697,7 +691,7 @@ function addFeatureServiceDefinition(serviceUrl, listToAdd, templateDictionary,
|
|
|
697
691
|
let options = {
|
|
698
692
|
layers: [],
|
|
699
693
|
tables: [],
|
|
700
|
-
authentication
|
|
694
|
+
authentication,
|
|
701
695
|
};
|
|
702
696
|
// if the service has veiws keep track of the fields so we can use them to
|
|
703
697
|
// compare with the view fields
|
|
@@ -731,10 +725,9 @@ function addFeatureServiceDefinition(serviceUrl, listToAdd, templateDictionary,
|
|
|
731
725
|
item.adminLayerInfo = (0, templatization_1.replaceInTemplate)(item.adminLayerInfo, templateDictionary);
|
|
732
726
|
/* istanbul ignore else */
|
|
733
727
|
if (fieldInfos && fieldInfos.hasOwnProperty(item.id)) {
|
|
734
|
-
Object.keys(templateDictionary).some(k => {
|
|
728
|
+
Object.keys(templateDictionary).some((k) => {
|
|
735
729
|
if (templateDictionary[k].itemId === itemTemplate.itemId) {
|
|
736
|
-
fieldInfos[item.id]["sourceServiceFields"] =
|
|
737
|
-
templateDictionary[k].sourceServiceFields;
|
|
730
|
+
fieldInfos[item.id]["sourceServiceFields"] = templateDictionary[k].sourceServiceFields;
|
|
738
731
|
return true;
|
|
739
732
|
}
|
|
740
733
|
else {
|
|
@@ -766,7 +759,7 @@ function addFeatureServiceDefinition(serviceUrl, listToAdd, templateDictionary,
|
|
|
766
759
|
options = {
|
|
767
760
|
layers: [],
|
|
768
761
|
tables: [],
|
|
769
|
-
authentication
|
|
762
|
+
authentication,
|
|
770
763
|
};
|
|
771
764
|
}
|
|
772
765
|
});
|
|
@@ -820,7 +813,7 @@ function _updateAddOptions(itemTemplate, options, layerChunks, isSelfReferential
|
|
|
820
813
|
options = {
|
|
821
814
|
layers: [],
|
|
822
815
|
tables: [],
|
|
823
|
-
authentication
|
|
816
|
+
authentication,
|
|
824
817
|
};
|
|
825
818
|
}
|
|
826
819
|
}
|
|
@@ -837,9 +830,9 @@ exports._updateAddOptions = _updateAddOptions;
|
|
|
837
830
|
* @private
|
|
838
831
|
*/
|
|
839
832
|
function _isSelfReferential(layersAndTables) {
|
|
840
|
-
const names = layersAndTables.map(l => l.item.name);
|
|
833
|
+
const names = layersAndTables.map((l) => l.item.name);
|
|
841
834
|
const srcTables = {};
|
|
842
|
-
return layersAndTables.some(l => {
|
|
835
|
+
return layersAndTables.some((l) => {
|
|
843
836
|
const table = l.item.adminLayerInfo?.viewLayerDefinition?.table;
|
|
844
837
|
if (table) {
|
|
845
838
|
const name = table.sourceServiceName;
|
|
@@ -857,7 +850,7 @@ function _isSelfReferential(layersAndTables) {
|
|
|
857
850
|
srcTables[name] = [id];
|
|
858
851
|
}
|
|
859
852
|
}
|
|
860
|
-
return (table.relatedTables || []).some(r => names.indexOf(r.name) > -1);
|
|
853
|
+
return (table.relatedTables || []).some((r) => names.indexOf(r.name) > -1);
|
|
861
854
|
}
|
|
862
855
|
});
|
|
863
856
|
}
|
|
@@ -919,7 +912,7 @@ function _updateForPortal(item, itemTemplate, templateDictionary) {
|
|
|
919
912
|
}
|
|
920
913
|
}
|
|
921
914
|
else {
|
|
922
|
-
Object.keys(templateDictionary).some(k => {
|
|
915
|
+
Object.keys(templateDictionary).some((k) => {
|
|
923
916
|
/* istanbul ignore else */
|
|
924
917
|
if (templateDictionary[k].itemId === item.serviceItemId) {
|
|
925
918
|
const layerInfo = templateDictionary[k][`layer${item.id}`];
|
|
@@ -960,12 +953,10 @@ function _getFieldNames(table, itemTemplate, templateDictionary) {
|
|
|
960
953
|
/* istanbul ignore else */
|
|
961
954
|
if (typeof viewSourceLayerId === "number") {
|
|
962
955
|
// need to make sure these actually exist in the source..
|
|
963
|
-
itemTemplate.dependencies.forEach(d => {
|
|
956
|
+
itemTemplate.dependencies.forEach((d) => {
|
|
964
957
|
const layerInfo = templateDictionary[d][`layer${viewSourceLayerId}`];
|
|
965
958
|
/* istanbul ignore else */
|
|
966
|
-
if (layerInfo &&
|
|
967
|
-
layerInfo.fields &&
|
|
968
|
-
templateDictionary[d].name === table.sourceServiceName) {
|
|
959
|
+
if (layerInfo && layerInfo.fields && templateDictionary[d].name === table.sourceServiceName) {
|
|
969
960
|
if (Array.isArray(layerInfo.fields)) {
|
|
970
961
|
sourceLayerFields = sourceLayerFields.concat(layerInfo.fields.map((f) => f.name));
|
|
971
962
|
}
|
|
@@ -1031,8 +1022,7 @@ exports._updateItemFields = _updateItemFields;
|
|
|
1031
1022
|
*/
|
|
1032
1023
|
function _updateSourceLayerFields(table, sourceLayerFields) {
|
|
1033
1024
|
/* istanbul ignore else */
|
|
1034
|
-
if (Array.isArray(table.sourceLayerFields) &&
|
|
1035
|
-
table.sourceLayerFields.length > 0) {
|
|
1025
|
+
if (Array.isArray(table.sourceLayerFields) && table.sourceLayerFields.length > 0) {
|
|
1036
1026
|
// need to make sure these actually exist in the source..
|
|
1037
1027
|
/* istanbul ignore else */
|
|
1038
1028
|
if (sourceLayerFields.length > 0) {
|
|
@@ -1056,9 +1046,7 @@ function _updateGeomFieldName(adminLayerInfo, templateDictionary) {
|
|
|
1056
1046
|
const fieldName = (0, generalHelpers_1.getProp)(adminLayerInfo, "geometryField.name");
|
|
1057
1047
|
/* istanbul ignore else */
|
|
1058
1048
|
if (fieldName && tableName) {
|
|
1059
|
-
const geomName = templateDictionary.isPortal
|
|
1060
|
-
? `${tableName}.shape`
|
|
1061
|
-
: `${tableName}.Shape`;
|
|
1049
|
+
const geomName = templateDictionary.isPortal ? `${tableName}.shape` : `${tableName}.Shape`;
|
|
1062
1050
|
(0, generalHelpers_1.setProp)(adminLayerInfo, "geometryField.name", geomName);
|
|
1063
1051
|
}
|
|
1064
1052
|
else if (!fieldName && (0, generalHelpers_1.getProp)(adminLayerInfo, "geometryField")) {
|
|
@@ -1084,13 +1072,11 @@ function _updateTemplateDictionaryFields(itemTemplate, templateDictionary, compa
|
|
|
1084
1072
|
const tables = itemTemplate.properties.tables;
|
|
1085
1073
|
const layersAndTables = layers.concat(tables);
|
|
1086
1074
|
const fieldInfos = {};
|
|
1087
|
-
layersAndTables.forEach(layerOrTable => {
|
|
1075
|
+
layersAndTables.forEach((layerOrTable) => {
|
|
1088
1076
|
fieldInfos[layerOrTable.id] = layerOrTable.fields;
|
|
1089
1077
|
});
|
|
1090
|
-
Object.keys(templateDictionary).some(k => {
|
|
1091
|
-
if (compareItemId
|
|
1092
|
-
? templateDictionary[k].itemId === itemTemplate.itemId
|
|
1093
|
-
: k === itemTemplate.itemId) {
|
|
1078
|
+
Object.keys(templateDictionary).some((k) => {
|
|
1079
|
+
if (compareItemId ? templateDictionary[k].itemId === itemTemplate.itemId : k === itemTemplate.itemId) {
|
|
1094
1080
|
templateDictionary[k].fieldInfos = fieldInfos;
|
|
1095
1081
|
return true;
|
|
1096
1082
|
}
|
|
@@ -1146,9 +1132,7 @@ function validateSpatialReferenceAndExtent(serviceInfo, itemTemplate, templateDi
|
|
|
1146
1132
|
}
|
|
1147
1133
|
const viewExt = (0, generalHelpers_1.getProp)(serviceInfo, "service.fullExtent");
|
|
1148
1134
|
/* istanbul ignore else */
|
|
1149
|
-
if (sourceExt &&
|
|
1150
|
-
viewExt &&
|
|
1151
|
-
JSON.stringify(sourceExt) !== JSON.stringify(viewExt)) {
|
|
1135
|
+
if (sourceExt && viewExt && JSON.stringify(sourceExt) !== JSON.stringify(viewExt)) {
|
|
1152
1136
|
(0, generalHelpers_1.setCreateProp)(serviceInfo, "defaultExtent", sourceExt);
|
|
1153
1137
|
}
|
|
1154
1138
|
}
|
|
@@ -1167,18 +1151,17 @@ exports.validateSpatialReferenceAndExtent = validateSpatialReferenceAndExtent;
|
|
|
1167
1151
|
* @private
|
|
1168
1152
|
*/
|
|
1169
1153
|
function _getSourceSpatialReferenceAndExtent(serviceInfo, itemTemplate, templateDictionary, validateGeom) {
|
|
1170
|
-
const layersAndTables = [
|
|
1171
|
-
...serviceInfo.layers || [],
|
|
1172
|
-
...serviceInfo.tables || []
|
|
1173
|
-
];
|
|
1154
|
+
const layersAndTables = [...(serviceInfo.layers || []), ...(serviceInfo.tables || [])];
|
|
1174
1155
|
let spatialReference;
|
|
1175
1156
|
let extent;
|
|
1176
|
-
itemTemplate.dependencies.some(id => {
|
|
1157
|
+
itemTemplate.dependencies.some((id) => {
|
|
1177
1158
|
const source = templateDictionary[id];
|
|
1178
|
-
const hasGeom = validateGeom
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1159
|
+
const hasGeom = validateGeom
|
|
1160
|
+
? layersAndTables.some((layerOrTable) => {
|
|
1161
|
+
const name = (0, generalHelpers_1.getProp)(layerOrTable, "adminLayerInfo.viewLayerDefinition.table.sourceServiceName");
|
|
1162
|
+
return name && source.name && name === source.name && layerOrTable.geometryType;
|
|
1163
|
+
})
|
|
1164
|
+
: true;
|
|
1182
1165
|
const sr = (0, generalHelpers_1.getProp)(source, "defaultSpatialReference");
|
|
1183
1166
|
/* istanbul ignore else */
|
|
1184
1167
|
if (!spatialReference && sr && hasGeom) {
|
|
@@ -1193,7 +1176,7 @@ function _getSourceSpatialReferenceAndExtent(serviceInfo, itemTemplate, template
|
|
|
1193
1176
|
});
|
|
1194
1177
|
return {
|
|
1195
1178
|
spatialReference,
|
|
1196
|
-
extent
|
|
1179
|
+
extent,
|
|
1197
1180
|
};
|
|
1198
1181
|
}
|
|
1199
1182
|
exports._getSourceSpatialReferenceAndExtent = _getSourceSpatialReferenceAndExtent;
|
|
@@ -1218,9 +1201,9 @@ function updateLayerFieldReferences(itemTemplate, fieldInfos, popupInfos, adminL
|
|
|
1218
1201
|
updatePopupInfo(itemTemplate, layerInfos.popupInfos);
|
|
1219
1202
|
resolveFn({
|
|
1220
1203
|
itemTemplate,
|
|
1221
|
-
layerInfos
|
|
1204
|
+
layerInfos,
|
|
1222
1205
|
});
|
|
1223
|
-
}, e => rejectFn((0, generalHelpers_1.fail)(e)));
|
|
1206
|
+
}, (e) => rejectFn((0, generalHelpers_1.fail)(e)));
|
|
1224
1207
|
});
|
|
1225
1208
|
}
|
|
1226
1209
|
exports.updateLayerFieldReferences = updateLayerFieldReferences;
|
|
@@ -1246,7 +1229,7 @@ function postProcessFields(itemTemplate, layerInfos, popupInfos, adminLayerInfos
|
|
|
1246
1229
|
const id = itemTemplate.itemId;
|
|
1247
1230
|
const settingsKeys = Object.keys(templateDictionary);
|
|
1248
1231
|
let templateInfo;
|
|
1249
|
-
settingsKeys.some(k => {
|
|
1232
|
+
settingsKeys.some((k) => {
|
|
1250
1233
|
if (templateDictionary[k].itemId === id) {
|
|
1251
1234
|
templateInfo = templateDictionary[k];
|
|
1252
1235
|
return true;
|
|
@@ -1271,8 +1254,7 @@ function postProcessFields(itemTemplate, layerInfos, popupInfos, adminLayerInfos
|
|
|
1271
1254
|
const layerInfo = layerInfos[item.id];
|
|
1272
1255
|
layerInfo["isView"] = item.isView;
|
|
1273
1256
|
layerInfo["newFields"] = item.fields;
|
|
1274
|
-
layerInfo["sourceSchemaChangesAllowed"] =
|
|
1275
|
-
item.sourceSchemaChangesAllowed;
|
|
1257
|
+
layerInfo["sourceSchemaChangesAllowed"] = item.sourceSchemaChangesAllowed;
|
|
1276
1258
|
/* istanbul ignore else */
|
|
1277
1259
|
if (item.editFieldsInfo) {
|
|
1278
1260
|
// more than case change when deployed to protal so keep track of the new names
|
|
@@ -1305,7 +1287,7 @@ exports.postProcessFields = postProcessFields;
|
|
|
1305
1287
|
* @private
|
|
1306
1288
|
*/
|
|
1307
1289
|
function updatePopupInfo(itemTemplate, popupInfos) {
|
|
1308
|
-
["layers", "tables"].forEach(type => {
|
|
1290
|
+
["layers", "tables"].forEach((type) => {
|
|
1309
1291
|
const _items = (0, generalHelpers_1.getProp)(itemTemplate, "data." + type);
|
|
1310
1292
|
/* istanbul ignore else */
|
|
1311
1293
|
if (_items && Array.isArray(_items)) {
|
|
@@ -1371,7 +1353,7 @@ function _templatizeLayer(dataItem, adminItem, itemTemplate, dependencies, templ
|
|
|
1371
1353
|
if (dataItem) {
|
|
1372
1354
|
updates.push(dataItem);
|
|
1373
1355
|
}
|
|
1374
|
-
updates.forEach(update => {
|
|
1356
|
+
updates.forEach((update) => {
|
|
1375
1357
|
if (update.hasOwnProperty("name")) {
|
|
1376
1358
|
// templatize the name but leave the current name as the optional default
|
|
1377
1359
|
update.name = (0, templatization_1.templatizeTerm)(update["serviceItemId"] + ".layer" + update.id, update["serviceItemId"] + ".layer" + update.id, ".name||" + update.name);
|
|
@@ -1419,7 +1401,7 @@ exports._validateFields = _validateFields;
|
|
|
1419
1401
|
function _validateDisplayField(adminItem, fieldNames) {
|
|
1420
1402
|
const displayField = adminItem.displayField || "";
|
|
1421
1403
|
let i = -1;
|
|
1422
|
-
if (fieldNames.some(name => {
|
|
1404
|
+
if (fieldNames.some((name) => {
|
|
1423
1405
|
i += 1;
|
|
1424
1406
|
return name === displayField || name === displayField.toLowerCase();
|
|
1425
1407
|
})) {
|
|
@@ -1438,7 +1420,7 @@ function _validateDisplayField(adminItem, fieldNames) {
|
|
|
1438
1420
|
if (globalIdField) {
|
|
1439
1421
|
skipFields.push(globalIdField);
|
|
1440
1422
|
}
|
|
1441
|
-
fieldNames.some(name => {
|
|
1423
|
+
fieldNames.some((name) => {
|
|
1442
1424
|
if (skipFields.indexOf(name) === -1) {
|
|
1443
1425
|
adminItem.displayField = name;
|
|
1444
1426
|
return true;
|
|
@@ -1466,7 +1448,7 @@ function _validateIndexes(adminItem, fieldNames) {
|
|
|
1466
1448
|
adminItem.indexes = indexes.reduce((filtered, index) => {
|
|
1467
1449
|
const indexFields = index.fields.split(",");
|
|
1468
1450
|
const verifiedFields = [];
|
|
1469
|
-
indexFields.forEach(indexField => {
|
|
1451
|
+
indexFields.forEach((indexField) => {
|
|
1470
1452
|
/* istanbul ignore else */
|
|
1471
1453
|
if (indexedFields.indexOf(indexField) === -1) {
|
|
1472
1454
|
indexedFields.push(indexField);
|
|
@@ -1499,11 +1481,11 @@ function _validateTemplatesFields(adminItem, fieldNames) {
|
|
|
1499
1481
|
const templates = adminItem.templates;
|
|
1500
1482
|
/* istanbul ignore else */
|
|
1501
1483
|
if (templates) {
|
|
1502
|
-
adminItem.templates = templates.map(template => {
|
|
1484
|
+
adminItem.templates = templates.map((template) => {
|
|
1503
1485
|
const attributes = (0, generalHelpers_1.getProp)(template, "prototype.attributes");
|
|
1504
1486
|
/* istanbul ignore else */
|
|
1505
1487
|
if (attributes) {
|
|
1506
|
-
Object.keys(attributes).forEach(k => {
|
|
1488
|
+
Object.keys(attributes).forEach((k) => {
|
|
1507
1489
|
/* istanbul ignore else */
|
|
1508
1490
|
if (fieldNames.indexOf(k) === -1) {
|
|
1509
1491
|
delete attributes[k];
|
|
@@ -1527,7 +1509,7 @@ function _validateTypesTemplates(adminItem, fieldNames) {
|
|
|
1527
1509
|
const types = adminItem.types;
|
|
1528
1510
|
/* istanbul ignore else */
|
|
1529
1511
|
if (types) {
|
|
1530
|
-
adminItem.types = types.map(t => {
|
|
1512
|
+
adminItem.types = types.map((t) => {
|
|
1531
1513
|
_validateTemplatesFields(t, fieldNames);
|
|
1532
1514
|
return t;
|
|
1533
1515
|
});
|
|
@@ -1546,11 +1528,11 @@ function _validateEditFieldsInfo(adminItem, fieldNames) {
|
|
|
1546
1528
|
/* istanbul ignore else */
|
|
1547
1529
|
if (editFieldsInfo) {
|
|
1548
1530
|
const editFieldsInfoKeys = Object.keys(editFieldsInfo);
|
|
1549
|
-
editFieldsInfoKeys.forEach(k => {
|
|
1531
|
+
editFieldsInfoKeys.forEach((k) => {
|
|
1550
1532
|
const editFieldName = editFieldsInfo[k];
|
|
1551
1533
|
/* istanbul ignore else */
|
|
1552
1534
|
if (editFieldName) {
|
|
1553
|
-
fieldNames.some(name => {
|
|
1535
|
+
fieldNames.some((name) => {
|
|
1554
1536
|
if (name === editFieldName) {
|
|
1555
1537
|
return true;
|
|
1556
1538
|
}
|
|
@@ -1661,7 +1643,7 @@ exports._processAdminObject = _processAdminObject;
|
|
|
1661
1643
|
* @private
|
|
1662
1644
|
*/
|
|
1663
1645
|
function _templatizeSourceServiceName(lookupName, dependencies) {
|
|
1664
|
-
const deps = dependencies.filter(dependency => dependency.name === lookupName);
|
|
1646
|
+
const deps = dependencies.filter((dependency) => dependency.name === lookupName);
|
|
1665
1647
|
return deps.length === 1 ? _templatize(deps[0].id, "name") : undefined;
|
|
1666
1648
|
}
|
|
1667
1649
|
exports._templatizeSourceServiceName = _templatizeSourceServiceName;
|
|
@@ -1709,7 +1691,7 @@ exports._templatizeAdminLayerInfoFields = _templatizeAdminLayerInfoFields;
|
|
|
1709
1691
|
* @private
|
|
1710
1692
|
*/
|
|
1711
1693
|
function _getDependantItemId(lookupName, dependencies) {
|
|
1712
|
-
const deps = dependencies.filter(dependency => dependency.name === lookupName);
|
|
1694
|
+
const deps = dependencies.filter((dependency) => dependency.name === lookupName);
|
|
1713
1695
|
return deps.length === 1 ? deps[0].id : "";
|
|
1714
1696
|
}
|
|
1715
1697
|
exports._getDependantItemId = _getDependantItemId;
|
|
@@ -1721,7 +1703,7 @@ exports._getDependantItemId = _getDependantItemId;
|
|
|
1721
1703
|
* @private
|
|
1722
1704
|
*/
|
|
1723
1705
|
function _templatizeAdminSourceLayerFields(fields, basePath) {
|
|
1724
|
-
fields.forEach(f => _templatizeProperty(f, "source", basePath, "name"));
|
|
1706
|
+
fields.forEach((f) => _templatizeProperty(f, "source", basePath, "name"));
|
|
1725
1707
|
}
|
|
1726
1708
|
exports._templatizeAdminSourceLayerFields = _templatizeAdminSourceLayerFields;
|
|
1727
1709
|
/**
|
|
@@ -1766,7 +1748,7 @@ exports._templatizeTopFilter = _templatizeTopFilter;
|
|
|
1766
1748
|
function _templatizeRelationshipFields(layer, itemID) {
|
|
1767
1749
|
if (layer && layer.relationships) {
|
|
1768
1750
|
const relationships = layer.relationships;
|
|
1769
|
-
relationships.forEach(r => {
|
|
1751
|
+
relationships.forEach((r) => {
|
|
1770
1752
|
/* istanbul ignore else */
|
|
1771
1753
|
if (r.keyField) {
|
|
1772
1754
|
const basePath = itemID + ".layer" + layer.id + ".fields";
|
|
@@ -1816,7 +1798,7 @@ exports._templatizePopupInfo = _templatizePopupInfo;
|
|
|
1816
1798
|
*/
|
|
1817
1799
|
function _templatizeName(object, property, fieldNames, basePath) {
|
|
1818
1800
|
if (object.hasOwnProperty(property)) {
|
|
1819
|
-
fieldNames.forEach(name => {
|
|
1801
|
+
fieldNames.forEach((name) => {
|
|
1820
1802
|
// Only test and replace instance of the name so any enclosing characters
|
|
1821
1803
|
// will be retained
|
|
1822
1804
|
const regEx = new RegExp("(\\b" + name + "\\b(?![}]{2}))", "gm");
|
|
@@ -1864,9 +1846,7 @@ function _templatizeFieldName(name, layer, itemID, basePath) {
|
|
|
1864
1846
|
const relatedTable = relatedTables[relationshipId];
|
|
1865
1847
|
// the layers relationships stores the property as relatedTableId
|
|
1866
1848
|
// the layers adminLayerInfo relatedTables stores the property as sourceLayerId
|
|
1867
|
-
const prop = (0, generalHelpers_1.getProp)(relatedTable, "relatedTableId")
|
|
1868
|
-
? "relatedTableId"
|
|
1869
|
-
: "sourceLayerId";
|
|
1849
|
+
const prop = (0, generalHelpers_1.getProp)(relatedTable, "relatedTableId") ? "relatedTableId" : "sourceLayerId";
|
|
1870
1850
|
const _basePath = itemID + ".layer" + relatedTable[prop] + ".fields";
|
|
1871
1851
|
rels[2] = _templatize(_basePath, rels[2], "name");
|
|
1872
1852
|
name = rels.join("/");
|
|
@@ -1892,7 +1872,7 @@ exports._templatizeFieldName = _templatizeFieldName;
|
|
|
1892
1872
|
*/
|
|
1893
1873
|
function _templatizeExpressionInfos(expressionInfos, fieldNames, basePath) {
|
|
1894
1874
|
return expressionInfos.map((i) => {
|
|
1895
|
-
fieldNames.forEach(name => {
|
|
1875
|
+
fieldNames.forEach((name) => {
|
|
1896
1876
|
i.expression = _templatizeArcadeExpressions(i.expression, name, basePath);
|
|
1897
1877
|
});
|
|
1898
1878
|
return i;
|
|
@@ -1933,13 +1913,13 @@ exports._templatizePopupElements = _templatizePopupElements;
|
|
|
1933
1913
|
function _templatizeMediaInfos(mediaInfos, fieldNames, basePath, layer, itemId) {
|
|
1934
1914
|
// templatize various properties of mediaInfos
|
|
1935
1915
|
const props = ["title", "caption"];
|
|
1936
|
-
props.forEach(p => _templatizeName(mediaInfos, p, fieldNames, basePath));
|
|
1916
|
+
props.forEach((p) => _templatizeName(mediaInfos, p, fieldNames, basePath));
|
|
1937
1917
|
mediaInfos.forEach((mi) => {
|
|
1938
1918
|
/* istanbul ignore else */
|
|
1939
1919
|
if (mi.hasOwnProperty("value")) {
|
|
1940
1920
|
const v = mi.value;
|
|
1941
1921
|
const vfields = v.fields || [];
|
|
1942
|
-
v.fields = vfields.map(f => _templatizeFieldName(f, layer, itemId, basePath));
|
|
1922
|
+
v.fields = vfields.map((f) => _templatizeFieldName(f, layer, itemId, basePath));
|
|
1943
1923
|
if (v.hasOwnProperty("normalizeField")) {
|
|
1944
1924
|
_templatizeProperty(v, "normalizeField", basePath, "name");
|
|
1945
1925
|
}
|
|
@@ -1966,7 +1946,7 @@ function _templatizeDefinitionEditor(layer, basePath, fieldNames) {
|
|
|
1966
1946
|
if (defEditor) {
|
|
1967
1947
|
const inputs = defEditor.inputs;
|
|
1968
1948
|
if (inputs) {
|
|
1969
|
-
inputs.forEach(i => {
|
|
1949
|
+
inputs.forEach((i) => {
|
|
1970
1950
|
/* istanbul ignore else */
|
|
1971
1951
|
if (i.parameters) {
|
|
1972
1952
|
i.parameters.forEach((p) => {
|
|
@@ -2005,7 +1985,7 @@ exports._templatizeDefinitionExpression = _templatizeDefinitionExpression;
|
|
|
2005
1985
|
* @private
|
|
2006
1986
|
*/
|
|
2007
1987
|
function _templatizeSimpleName(expression, basePath, fieldNames, suffix) {
|
|
2008
|
-
fieldNames.forEach(name => {
|
|
1988
|
+
fieldNames.forEach((name) => {
|
|
2009
1989
|
// look for the name but not if its followed by }}
|
|
2010
1990
|
const regEx = new RegExp("\\b" + name + "\\b(?![}]{2})", "gm");
|
|
2011
1991
|
if (expression && regEx.test(expression)) {
|
|
@@ -2079,13 +2059,13 @@ function _templatizeGenRenderer(renderer, basePath, fieldNames) {
|
|
|
2079
2059
|
_templatizeAuthoringInfo(authoringInfo, basePath, fieldNames);
|
|
2080
2060
|
}
|
|
2081
2061
|
const props = ["field", "normalizationField"];
|
|
2082
|
-
props.forEach(p => _templatizeProperty(renderer, p, basePath, "name"));
|
|
2062
|
+
props.forEach((p) => _templatizeProperty(renderer, p, basePath, "name"));
|
|
2083
2063
|
const fieldNameProps = ["field1", "field2", "field3"];
|
|
2084
|
-
fieldNameProps.forEach(fnP => _templatizeProperty(renderer, fnP, basePath, "name"));
|
|
2064
|
+
fieldNameProps.forEach((fnP) => _templatizeProperty(renderer, fnP, basePath, "name"));
|
|
2085
2065
|
// When an attribute name is specified, it's enclosed in square brackets
|
|
2086
2066
|
const rExp = renderer.rotationExpression;
|
|
2087
2067
|
if (rExp) {
|
|
2088
|
-
fieldNames.forEach(name => {
|
|
2068
|
+
fieldNames.forEach((name) => {
|
|
2089
2069
|
const regEx = new RegExp("(\\[" + name + "\\])", "gm");
|
|
2090
2070
|
if (regEx.test(rExp)) {
|
|
2091
2071
|
renderer.rotationExpression = rExp.replace(regEx, "[" + _templatize(basePath, name, "name") + "]");
|
|
@@ -2094,17 +2074,17 @@ function _templatizeGenRenderer(renderer, basePath, fieldNames) {
|
|
|
2094
2074
|
}
|
|
2095
2075
|
// update valueExpression
|
|
2096
2076
|
if (renderer.valueExpression) {
|
|
2097
|
-
fieldNames.forEach(name => {
|
|
2077
|
+
fieldNames.forEach((name) => {
|
|
2098
2078
|
renderer.valueExpression = _templatizeArcadeExpressions(renderer.valueExpression, name, basePath);
|
|
2099
2079
|
});
|
|
2100
2080
|
}
|
|
2101
2081
|
// update visualVariables
|
|
2102
2082
|
const visualVariables = renderer.visualVariables;
|
|
2103
2083
|
if (visualVariables) {
|
|
2104
|
-
visualVariables.forEach(v => {
|
|
2105
|
-
props.forEach(p => _templatizeProperty(v, p, basePath, "name"));
|
|
2084
|
+
visualVariables.forEach((v) => {
|
|
2085
|
+
props.forEach((p) => _templatizeProperty(v, p, basePath, "name"));
|
|
2106
2086
|
if (v.valueExpression) {
|
|
2107
|
-
fieldNames.forEach(name => {
|
|
2087
|
+
fieldNames.forEach((name) => {
|
|
2108
2088
|
v.valueExpression = _templatizeArcadeExpressions(v.valueExpression, name, basePath);
|
|
2109
2089
|
});
|
|
2110
2090
|
}
|
|
@@ -2122,12 +2102,8 @@ exports._templatizeGenRenderer = _templatizeGenRenderer;
|
|
|
2122
2102
|
* @private
|
|
2123
2103
|
*/
|
|
2124
2104
|
function _templatizeTemporalRenderer(renderer, basePath, fieldNames) {
|
|
2125
|
-
const renderers = [
|
|
2126
|
-
|
|
2127
|
-
renderer.observationRenderer,
|
|
2128
|
-
renderer.trackRenderer
|
|
2129
|
-
];
|
|
2130
|
-
renderers.forEach(r => {
|
|
2105
|
+
const renderers = [renderer.latestObservationRenderer, renderer.observationRenderer, renderer.trackRenderer];
|
|
2106
|
+
renderers.forEach((r) => {
|
|
2131
2107
|
_templatizeRenderer(r, basePath, fieldNames);
|
|
2132
2108
|
});
|
|
2133
2109
|
}
|
|
@@ -2145,17 +2121,17 @@ function _templatizeAuthoringInfo(authoringInfo, basePath, fieldNames) {
|
|
|
2145
2121
|
if (authoringInfo) {
|
|
2146
2122
|
const props = ["field", "normalizationField"];
|
|
2147
2123
|
const field1 = authoringInfo.field1;
|
|
2148
|
-
props.forEach(p => _templatizeProperty(field1, p, basePath, "name"));
|
|
2124
|
+
props.forEach((p) => _templatizeProperty(field1, p, basePath, "name"));
|
|
2149
2125
|
const field2 = authoringInfo.field2;
|
|
2150
|
-
props.forEach(p => _templatizeProperty(field2, p, basePath, "name"));
|
|
2126
|
+
props.forEach((p) => _templatizeProperty(field2, p, basePath, "name"));
|
|
2151
2127
|
const fields = authoringInfo.fields;
|
|
2152
2128
|
if (fields) {
|
|
2153
|
-
authoringInfo.fields = fields.map(f => _templatize(basePath, f, "name"));
|
|
2129
|
+
authoringInfo.fields = fields.map((f) => _templatize(basePath, f, "name"));
|
|
2154
2130
|
}
|
|
2155
2131
|
const vProps = ["endTime", "field", "startTime"];
|
|
2156
2132
|
const vVars = authoringInfo.visualVariables;
|
|
2157
2133
|
if (vVars) {
|
|
2158
|
-
vProps.forEach(p => {
|
|
2134
|
+
vProps.forEach((p) => {
|
|
2159
2135
|
// endTime and startTime may or may not be a field name
|
|
2160
2136
|
if (fieldNames.indexOf(vVars[p]) > -1) {
|
|
2161
2137
|
_templatizeProperty(vVars, p, basePath, "name");
|
|
@@ -2193,8 +2169,7 @@ function _templatizeArcadeExpressions(text, fieldName, basePath) {
|
|
|
2193
2169
|
}
|
|
2194
2170
|
// test for $feature[] with join case
|
|
2195
2171
|
// captures VOTED_DEM_2016 from $feature["COUNTY_ID.VOTED_DEM_2016"]
|
|
2196
|
-
exp =
|
|
2197
|
-
"(?:[$]feature)(\\[\\\"?\\'?)(\\w+)[.]" + fieldName + "(\\\"?\\'?\\])";
|
|
2172
|
+
exp = "(?:[$]feature)(\\[\\\"?\\'?)(\\w+)[.]" + fieldName + "(\\\"?\\'?\\])";
|
|
2198
2173
|
regEx = new RegExp(exp, "gm");
|
|
2199
2174
|
result = regEx.exec(text);
|
|
2200
2175
|
if (result && result.length > 3) {
|
|
@@ -2227,11 +2202,11 @@ function _templatizeLabelingInfo(labelingInfo, basePath, fieldNames) {
|
|
|
2227
2202
|
/* istanbul ignore else */
|
|
2228
2203
|
if (li.hasOwnProperty("fieldInfos")) {
|
|
2229
2204
|
const fieldInfos = li.fieldInfos || [];
|
|
2230
|
-
fieldInfos.forEach(fi => _templatizeProperty(fi, "fieldName", basePath, "name"));
|
|
2205
|
+
fieldInfos.forEach((fi) => _templatizeProperty(fi, "fieldName", basePath, "name"));
|
|
2231
2206
|
}
|
|
2232
2207
|
const labelExp = li.labelExpression || "";
|
|
2233
2208
|
const labelExpInfo = li.labelExpressionInfo || {};
|
|
2234
|
-
fieldNames.forEach(n => {
|
|
2209
|
+
fieldNames.forEach((n) => {
|
|
2235
2210
|
const t = _templatize(basePath, n, "name");
|
|
2236
2211
|
// check for [fieldName] or ["fieldName"]
|
|
2237
2212
|
const regExBracket = new RegExp('(\\[\\"*)+(' + n + ')(\\"*\\])+', "gm");
|
|
@@ -2267,7 +2242,7 @@ exports._templatizeLabelingInfo = _templatizeLabelingInfo;
|
|
|
2267
2242
|
*/
|
|
2268
2243
|
function _templatizeTemplates(layer, basePath) {
|
|
2269
2244
|
const templates = layer.templates || [];
|
|
2270
|
-
templates.forEach(t => {
|
|
2245
|
+
templates.forEach((t) => {
|
|
2271
2246
|
const attributes = (0, generalHelpers_1.getProp)(t, "prototype.attributes");
|
|
2272
2247
|
const _attributes = _templatizeKeys(attributes, basePath, "name");
|
|
2273
2248
|
/* istanbul ignore else */
|
|
@@ -2325,7 +2300,7 @@ function _templatizeKeys(obj, basePath, suffix) {
|
|
|
2325
2300
|
const objKeys = Object.keys(obj);
|
|
2326
2301
|
/* istanbul ignore else */
|
|
2327
2302
|
if (objKeys && objKeys.length > 0) {
|
|
2328
|
-
objKeys.forEach(k => {
|
|
2303
|
+
objKeys.forEach((k) => {
|
|
2329
2304
|
_obj[_templatize(basePath, k, suffix)] = obj[k];
|
|
2330
2305
|
});
|
|
2331
2306
|
}
|
|
@@ -2343,12 +2318,8 @@ exports._templatizeKeys = _templatizeKeys;
|
|
|
2343
2318
|
function _templatizeTimeInfo(layer, basePath) {
|
|
2344
2319
|
if (layer.timeInfo) {
|
|
2345
2320
|
const timeInfo = layer.timeInfo;
|
|
2346
|
-
const timeProps = [
|
|
2347
|
-
|
|
2348
|
-
"startTimeField",
|
|
2349
|
-
"trackIdField"
|
|
2350
|
-
];
|
|
2351
|
-
timeProps.forEach(t => {
|
|
2321
|
+
const timeProps = ["endTimeField", "startTimeField", "trackIdField"];
|
|
2322
|
+
timeProps.forEach((t) => {
|
|
2352
2323
|
if (timeInfo[t] !== "") {
|
|
2353
2324
|
_templatizeProperty(timeInfo, t, basePath, "name");
|
|
2354
2325
|
}
|
|
@@ -2390,22 +2361,19 @@ function _getNameMapping(fieldInfos, id) {
|
|
|
2390
2361
|
const fInfo = fieldInfos[id];
|
|
2391
2362
|
const nameMapping = {};
|
|
2392
2363
|
const newFields = fInfo.newFields;
|
|
2393
|
-
const newFieldNames = newFields
|
|
2394
|
-
? newFields.map((f) => f.name)
|
|
2395
|
-
: [];
|
|
2364
|
+
const newFieldNames = newFields ? newFields.map((f) => f.name) : [];
|
|
2396
2365
|
const sourceFields = fInfo.sourceFields || [];
|
|
2397
2366
|
sourceFields.forEach((field) => {
|
|
2398
2367
|
const lName = String(field.name).toLowerCase();
|
|
2399
2368
|
newFields.forEach((f) => {
|
|
2400
2369
|
// Names can change more than case
|
|
2401
|
-
if (newFieldNames.indexOf(field.name) === -1 &&
|
|
2402
|
-
newFieldNames.indexOf(lName) === -1) {
|
|
2370
|
+
if (newFieldNames.indexOf(field.name) === -1 && newFieldNames.indexOf(lName) === -1) {
|
|
2403
2371
|
// If both new (f) and source (field) aliases are defined and are equal, map the source name to the new name
|
|
2404
2372
|
if (f.alias && f.alias === field.alias) {
|
|
2405
2373
|
nameMapping[lName] = {
|
|
2406
2374
|
name: f.name,
|
|
2407
2375
|
alias: f.alias,
|
|
2408
|
-
type: f.type ? f.type : ""
|
|
2376
|
+
type: f.type ? f.type : "",
|
|
2409
2377
|
};
|
|
2410
2378
|
}
|
|
2411
2379
|
}
|
|
@@ -2413,7 +2381,7 @@ function _getNameMapping(fieldInfos, id) {
|
|
|
2413
2381
|
nameMapping[lName] = {
|
|
2414
2382
|
name: f.name,
|
|
2415
2383
|
alias: f.alias ? f.alias : "",
|
|
2416
|
-
type: f.type ? f.type : ""
|
|
2384
|
+
type: f.type ? f.type : "",
|
|
2417
2385
|
};
|
|
2418
2386
|
}
|
|
2419
2387
|
});
|
|
@@ -2423,10 +2391,9 @@ function _getNameMapping(fieldInfos, id) {
|
|
|
2423
2391
|
const efi = JSON.parse(JSON.stringify(fInfo.editFieldsInfo));
|
|
2424
2392
|
const newEfi = JSON.parse(JSON.stringify(fInfo.newEditFieldsInfo));
|
|
2425
2393
|
const nameMappingKeys = Object.keys(nameMapping);
|
|
2426
|
-
Object.keys(efi).forEach(k => {
|
|
2394
|
+
Object.keys(efi).forEach((k) => {
|
|
2427
2395
|
const lowerEfi = String(efi[k]).toLowerCase();
|
|
2428
|
-
if ((nameMappingKeys.indexOf(lowerEfi) === -1 ||
|
|
2429
|
-
nameMapping[lowerEfi].name !== newEfi[k]) &&
|
|
2396
|
+
if ((nameMappingKeys.indexOf(lowerEfi) === -1 || nameMapping[lowerEfi].name !== newEfi[k]) &&
|
|
2430
2397
|
newFieldNames.indexOf(lowerEfi) > -1) {
|
|
2431
2398
|
// Only add delete fields if source schema changes allowed
|
|
2432
2399
|
/* istanbul ignore else */
|
|
@@ -2450,7 +2417,7 @@ function _getNameMapping(fieldInfos, id) {
|
|
|
2450
2417
|
nameMapping[lowerEfi] = {
|
|
2451
2418
|
name: newEfi[k],
|
|
2452
2419
|
alias: sourceEfiField && sourceEfiField.alias ? sourceEfiField.alias : "",
|
|
2453
|
-
type: sourceEfiField && sourceEfiField.type ? sourceEfiField.type : ""
|
|
2420
|
+
type: sourceEfiField && sourceEfiField.type ? sourceEfiField.type : "",
|
|
2454
2421
|
};
|
|
2455
2422
|
}
|
|
2456
2423
|
});
|