@esri/solution-common 5.5.1 → 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 +5 -5
- package/package.json +5 -5
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
// ------------------------------------------------------------------------------------------------------------------ //
|
|
22
22
|
export { queryFeatures as rest_queryFeatures, addFeatures as rest_addFeatures } from "@esri/arcgis-rest-feature-layer";
|
|
23
23
|
//#region Imports -------------------------------------------------------------------------------------------------------//
|
|
24
|
-
import { UNREACHABLE } from "./interfaces";
|
|
25
|
-
import { checkUrlPathTermination, deleteProp, deleteProps, fail, getProp, setCreateProp, setProp } from "./generalHelpers";
|
|
24
|
+
import { UNREACHABLE, } from "./interfaces";
|
|
25
|
+
import { checkUrlPathTermination, deleteProp, deleteProps, fail, getProp, setCreateProp, setProp, } from "./generalHelpers";
|
|
26
26
|
import { replaceInTemplate, templatizeTerm, templatizeIds } from "./templatization";
|
|
27
27
|
import { addToServiceDefinition, getLayerUpdates, getRequest, rest_request } from "./restHelpers";
|
|
28
28
|
import { isTrackingViewTemplate, templatizeTracker } from "./trackingHelpers";
|
|
@@ -40,7 +40,7 @@ export function getFeatureServiceRelatedRecords(url, relationshipId, objectIds)
|
|
|
40
40
|
const options = {
|
|
41
41
|
url: url + `/${relationshipId}`,
|
|
42
42
|
relationshipId,
|
|
43
|
-
objectIds
|
|
43
|
+
objectIds,
|
|
44
44
|
};
|
|
45
45
|
return queryRelated(options);
|
|
46
46
|
}
|
|
@@ -63,7 +63,7 @@ export function templatize(itemTemplate, dependencies, templatizeFieldReferences
|
|
|
63
63
|
...itemTemplate.item,
|
|
64
64
|
id: templatizeTerm(id, id, ".itemId"),
|
|
65
65
|
url: _templatize(id, "url"),
|
|
66
|
-
typeKeywords: templatizeIds(itemTemplate.item.typeKeywords)
|
|
66
|
+
typeKeywords: templatizeIds(itemTemplate.item.typeKeywords),
|
|
67
67
|
};
|
|
68
68
|
// special handeling if we are dealing with a tracker view
|
|
69
69
|
templatizeTracker(itemTemplate);
|
|
@@ -78,7 +78,7 @@ export function templatize(itemTemplate, dependencies, templatizeFieldReferences
|
|
|
78
78
|
const _items = layers.concat(tables);
|
|
79
79
|
// Set up symbols for the URL of the feature service and its layers and tables
|
|
80
80
|
templateDictionary[fsUrl] = itemTemplate.item.url; // map FS URL to its templatized form
|
|
81
|
-
jsonItems.concat(_items).forEach(layer => {
|
|
81
|
+
jsonItems.concat(_items).forEach((layer) => {
|
|
82
82
|
templateDictionary[fsUrl + "/" + layer.id] = _templatize(id, "layer" + layer.id + ".url");
|
|
83
83
|
});
|
|
84
84
|
// templatize the service references serviceItemId
|
|
@@ -107,7 +107,7 @@ export function templatize(itemTemplate, dependencies, templatizeFieldReferences
|
|
|
107
107
|
let hasZ = false;
|
|
108
108
|
jsonItems.forEach((jsonItem) => {
|
|
109
109
|
// get the source service json for the given data item
|
|
110
|
-
const matchingItems = _items.filter(item => {
|
|
110
|
+
const matchingItems = _items.filter((item) => {
|
|
111
111
|
return jsonItem.id === item.id;
|
|
112
112
|
});
|
|
113
113
|
// templatize the source service json
|
|
@@ -128,7 +128,7 @@ export function templatize(itemTemplate, dependencies, templatizeFieldReferences
|
|
|
128
128
|
*/
|
|
129
129
|
export function deleteViewProps(layer) {
|
|
130
130
|
const props = ["definitionQuery"];
|
|
131
|
-
props.forEach(prop => {
|
|
131
|
+
props.forEach((prop) => {
|
|
132
132
|
deleteProp(layer, prop);
|
|
133
133
|
});
|
|
134
134
|
}
|
|
@@ -149,7 +149,7 @@ export function cacheFieldInfos(layer, fieldInfos) {
|
|
|
149
149
|
fieldInfos[layer.id] = {
|
|
150
150
|
sourceFields: JSON.parse(JSON.stringify(layer.fields)),
|
|
151
151
|
type: layer.type,
|
|
152
|
-
id: layer.id
|
|
152
|
+
id: layer.id,
|
|
153
153
|
};
|
|
154
154
|
}
|
|
155
155
|
// cache each of these properties as they each can contain field references
|
|
@@ -162,9 +162,9 @@ export function cacheFieldInfos(layer, fieldInfos) {
|
|
|
162
162
|
relationships: true,
|
|
163
163
|
drawingInfo: false,
|
|
164
164
|
timeInfo: false,
|
|
165
|
-
viewDefinitionQuery: false
|
|
165
|
+
viewDefinitionQuery: false,
|
|
166
166
|
};
|
|
167
|
-
Object.keys(props).forEach(k => {
|
|
167
|
+
Object.keys(props).forEach((k) => {
|
|
168
168
|
_cacheFieldInfo(layer, k, fieldInfos, props[k]);
|
|
169
169
|
});
|
|
170
170
|
return fieldInfos;
|
|
@@ -178,9 +178,9 @@ export function cacheFieldInfos(layer, fieldInfos) {
|
|
|
178
178
|
* @returns An updated instance of the fieldInfos
|
|
179
179
|
*/
|
|
180
180
|
export function cacheContingentValues(id, fieldInfos, itemTemplate) {
|
|
181
|
-
const contingentValues = getProp(itemTemplate,
|
|
181
|
+
const contingentValues = getProp(itemTemplate, "properties.contingentValues");
|
|
182
182
|
if (contingentValues && contingentValues[id]) {
|
|
183
|
-
fieldInfos[id][
|
|
183
|
+
fieldInfos[id]["contingentValues"] = contingentValues[id];
|
|
184
184
|
}
|
|
185
185
|
return fieldInfos;
|
|
186
186
|
}
|
|
@@ -195,10 +195,7 @@ export function cacheContingentValues(id, fieldInfos, itemTemplate) {
|
|
|
195
195
|
*/
|
|
196
196
|
export function _cacheFieldInfo(layer, prop, fieldInfos, removeProp) {
|
|
197
197
|
/* istanbul ignore else */
|
|
198
|
-
if (layer &&
|
|
199
|
-
layer.hasOwnProperty(prop) &&
|
|
200
|
-
fieldInfos &&
|
|
201
|
-
fieldInfos.hasOwnProperty(layer.id)) {
|
|
198
|
+
if (layer && layer.hasOwnProperty(prop) && fieldInfos && fieldInfos.hasOwnProperty(layer.id)) {
|
|
202
199
|
fieldInfos[layer.id][prop] = layer[prop];
|
|
203
200
|
// editFieldsInfo does not come through unless its with the layer
|
|
204
201
|
// when it's being added
|
|
@@ -218,7 +215,7 @@ export function cachePopupInfos(data) {
|
|
|
218
215
|
// store any popupInfo so we can update after any potential name changes
|
|
219
216
|
const popupInfos = {
|
|
220
217
|
layers: {},
|
|
221
|
-
tables: {}
|
|
218
|
+
tables: {},
|
|
222
219
|
};
|
|
223
220
|
if (data && data.layers && data.layers.length > 0) {
|
|
224
221
|
_cachePopupInfo(popupInfos, "layers", data.layers);
|
|
@@ -261,11 +258,11 @@ export function cacheLayerInfo(layerId, itemId, url, templateDictionary) {
|
|
|
261
258
|
// need to structure these differently so they are not used for standard replacement calls
|
|
262
259
|
// this now adds additional vars that are not needing replacement unless we fail to fetch the service
|
|
263
260
|
const newVars = getProp(templateDictionary, `${UNREACHABLE}.${itemId}`) || {
|
|
264
|
-
itemId
|
|
261
|
+
itemId,
|
|
265
262
|
};
|
|
266
263
|
newVars[layerIdVar] = getProp(newVars, layerIdVar) || {
|
|
267
264
|
layerId,
|
|
268
|
-
itemId
|
|
265
|
+
itemId,
|
|
269
266
|
};
|
|
270
267
|
if (url !== "") {
|
|
271
268
|
newVars[layerIdVar]["url"] = url;
|
|
@@ -274,7 +271,7 @@ export function cacheLayerInfo(layerId, itemId, url, templateDictionary) {
|
|
|
274
271
|
unreachableVars[itemId] = newVars;
|
|
275
272
|
templateDictionary[UNREACHABLE] = {
|
|
276
273
|
...templateDictionary[UNREACHABLE],
|
|
277
|
-
...unreachableVars
|
|
274
|
+
...unreachableVars,
|
|
278
275
|
};
|
|
279
276
|
}
|
|
280
277
|
}
|
|
@@ -294,7 +291,7 @@ export function updateTemplate(itemTemplate, templateDictionary, createResponse)
|
|
|
294
291
|
templateDictionary[itemTemplate.itemId] = Object.assign(templateDictionary[itemTemplate.itemId] || {}, {
|
|
295
292
|
itemId: createResponse.serviceItemId,
|
|
296
293
|
url: checkUrlPathTermination(createResponse.serviceurl),
|
|
297
|
-
name: createResponse.name
|
|
294
|
+
name: createResponse.name,
|
|
298
295
|
});
|
|
299
296
|
// Update the item template now that the new service has been created
|
|
300
297
|
itemTemplate.itemId = createResponse.serviceItemId;
|
|
@@ -314,7 +311,7 @@ export function _updateTypeKeywords(itemTemplate, createResponse) {
|
|
|
314
311
|
const iKwords = getProp(itemTemplate, "item.typeKeywords");
|
|
315
312
|
const cKwords = getProp(createResponse, "typeKeywords");
|
|
316
313
|
if (iKwords && cKwords) {
|
|
317
|
-
setProp(itemTemplate, "item.typeKeywords", iKwords.concat(cKwords.filter(k => iKwords.indexOf(k) < 0)));
|
|
314
|
+
setProp(itemTemplate, "item.typeKeywords", iKwords.concat(cKwords.filter((k) => iKwords.indexOf(k) < 0)));
|
|
318
315
|
}
|
|
319
316
|
return itemTemplate;
|
|
320
317
|
}
|
|
@@ -335,16 +332,12 @@ export function getLayerSettings(layerInfos, url, itemId, enterpriseIDMapping) {
|
|
|
335
332
|
ids.forEach((id) => {
|
|
336
333
|
const _layerId = getProp(layerInfos[id], "item.id");
|
|
337
334
|
const isNum = parseInt(_layerId, 10) > -1;
|
|
338
|
-
const layerId = isNum && enterpriseIDMapping
|
|
339
|
-
? enterpriseIDMapping[_layerId]
|
|
340
|
-
: isNum
|
|
341
|
-
? _layerId
|
|
342
|
-
: id;
|
|
335
|
+
const layerId = isNum && enterpriseIDMapping ? enterpriseIDMapping[_layerId] : isNum ? _layerId : id;
|
|
343
336
|
settings[`layer${isNum ? _layerId : id}`] = {
|
|
344
337
|
fields: _getNameMapping(layerInfos, id),
|
|
345
338
|
url: checkUrlPathTermination(url) + layerId,
|
|
346
339
|
layerId,
|
|
347
|
-
itemId
|
|
340
|
+
itemId,
|
|
348
341
|
};
|
|
349
342
|
deleteProp(layerInfos[id], "newFields");
|
|
350
343
|
deleteProp(layerInfos[id], "sourceFields");
|
|
@@ -363,7 +356,7 @@ export function getLayerSettings(layerInfos, url, itemId, enterpriseIDMapping) {
|
|
|
363
356
|
*/
|
|
364
357
|
export function setNamesAndTitles(templates, solutionItemId) {
|
|
365
358
|
const names = [];
|
|
366
|
-
return templates.map(t => {
|
|
359
|
+
return templates.map((t) => {
|
|
367
360
|
/* istanbul ignore else */
|
|
368
361
|
if (t.item.type === "Feature Service") {
|
|
369
362
|
// Retain the existing title but swap with name if it's missing
|
|
@@ -378,10 +371,7 @@ export function setNamesAndTitles(templates, solutionItemId) {
|
|
|
378
371
|
// Limit the baseName to 50 characters before the _<guid>
|
|
379
372
|
const name = baseName.substring(0, 50) + "_" + solutionItemId;
|
|
380
373
|
// If the name + GUID already exists then append "_occurrenceCount"
|
|
381
|
-
t.item.name =
|
|
382
|
-
names.indexOf(name) === -1
|
|
383
|
-
? name
|
|
384
|
-
: `${name}_${names.filter(n => n === name).length}`;
|
|
374
|
+
t.item.name = names.indexOf(name) === -1 ? name : `${name}_${names.filter((n) => n === name).length}`;
|
|
385
375
|
names.push(name);
|
|
386
376
|
}
|
|
387
377
|
}
|
|
@@ -414,7 +404,7 @@ export function updateSettingsFieldInfos(itemTemplate, settings) {
|
|
|
414
404
|
? { ...settings[k]["sourceServiceFields"], ...fieldInfos }
|
|
415
405
|
: fieldInfos;
|
|
416
406
|
const layerKeys = Object.keys(settings[_k]);
|
|
417
|
-
layerKeys.forEach(layerKey => {
|
|
407
|
+
layerKeys.forEach((layerKey) => {
|
|
418
408
|
/* istanbul ignore else */
|
|
419
409
|
if (layerKey.startsWith("layer")) {
|
|
420
410
|
settings[k][layerKey] = settings[_k][layerKey];
|
|
@@ -442,8 +432,8 @@ export function updateTemplateForInvalidDesignations(template, authentication) {
|
|
|
442
432
|
// get the admin URL
|
|
443
433
|
const url = template.item.url;
|
|
444
434
|
rest_request(url + "?f=json", {
|
|
445
|
-
authentication: authentication
|
|
446
|
-
}).then(serviceData => {
|
|
435
|
+
authentication: authentication,
|
|
436
|
+
}).then((serviceData) => {
|
|
447
437
|
const layerInfos = {};
|
|
448
438
|
const layersAndTables = (serviceData.layers || []).concat(serviceData.tables || []);
|
|
449
439
|
layersAndTables.forEach((l) => {
|
|
@@ -453,10 +443,10 @@ export function updateTemplateForInvalidDesignations(template, authentication) {
|
|
|
453
443
|
}
|
|
454
444
|
});
|
|
455
445
|
template.data[template.itemId] = Object.assign({
|
|
456
|
-
itemId: template.itemId
|
|
446
|
+
itemId: template.itemId,
|
|
457
447
|
}, getLayerSettings(layerInfos, url, template.itemId));
|
|
458
448
|
resolve(template);
|
|
459
|
-
}, e => reject(fail(e)));
|
|
449
|
+
}, (e) => reject(fail(e)));
|
|
460
450
|
}
|
|
461
451
|
else {
|
|
462
452
|
resolve(template);
|
|
@@ -476,7 +466,7 @@ export function updateTemplateForInvalidDesignations(template, authentication) {
|
|
|
476
466
|
*/
|
|
477
467
|
export function processContingentValues(properties, adminUrl, authentication) {
|
|
478
468
|
return new Promise((resolve, reject) => {
|
|
479
|
-
if (getProp(properties,
|
|
469
|
+
if (getProp(properties, "service.isView")) {
|
|
480
470
|
// views will inherit from the source service
|
|
481
471
|
resolve();
|
|
482
472
|
}
|
|
@@ -486,8 +476,10 @@ export function processContingentValues(properties, adminUrl, authentication) {
|
|
|
486
476
|
const contingentValuePromises = layersAndTables.reduce((prev, cur) => {
|
|
487
477
|
/* istanbul ignore else */
|
|
488
478
|
if (cur.hasContingentValuesDefinition) {
|
|
489
|
-
prev.push(rest_request(`${adminUrl}/${cur[
|
|
490
|
-
|
|
479
|
+
prev.push(rest_request(`${adminUrl}/${cur["id"]}/contingentValues?f=json`, {
|
|
480
|
+
authentication,
|
|
481
|
+
}));
|
|
482
|
+
layerIds.push(cur["id"]);
|
|
491
483
|
}
|
|
492
484
|
return prev;
|
|
493
485
|
}, []);
|
|
@@ -495,13 +487,18 @@ export function processContingentValues(properties, adminUrl, authentication) {
|
|
|
495
487
|
Promise.all(contingentValuePromises).then((results) => {
|
|
496
488
|
const contingentValues = {};
|
|
497
489
|
results.forEach((r, i) => {
|
|
498
|
-
deleteProp(r,
|
|
490
|
+
deleteProp(r, "typeCodes");
|
|
499
491
|
/* istanbul ignore else */
|
|
500
|
-
if (getProp(r,
|
|
501
|
-
r.contingentValuesDefinition[
|
|
502
|
-
deleteProp(r,
|
|
492
|
+
if (getProp(r, "stringDicts") && getProp(r, "contingentValuesDefinition")) {
|
|
493
|
+
r.contingentValuesDefinition["stringDicts"] = r.stringDicts;
|
|
494
|
+
deleteProp(r, "stringDicts");
|
|
503
495
|
}
|
|
504
|
-
deleteProps(getProp(r,
|
|
496
|
+
deleteProps(getProp(r, "contingentValuesDefinition"), [
|
|
497
|
+
"layerID",
|
|
498
|
+
"layerName",
|
|
499
|
+
"geometryType",
|
|
500
|
+
"hasSubType",
|
|
501
|
+
]);
|
|
505
502
|
contingentValues[layerIds[i]] = r;
|
|
506
503
|
});
|
|
507
504
|
properties.contingentValues = contingentValues;
|
|
@@ -525,13 +522,12 @@ export function processContingentValues(properties, adminUrl, authentication) {
|
|
|
525
522
|
*/
|
|
526
523
|
export function deTemplatizeFieldInfos(fieldInfos, popupInfos, adminLayerInfos, settings) {
|
|
527
524
|
const fieldInfoKeys = Object.keys(fieldInfos);
|
|
528
|
-
fieldInfoKeys.forEach(id => {
|
|
525
|
+
fieldInfoKeys.forEach((id) => {
|
|
529
526
|
if (fieldInfos[id].hasOwnProperty("templates")) {
|
|
530
527
|
fieldInfos[id].templates = JSON.parse(replaceInTemplate(JSON.stringify(fieldInfos[id].templates), settings));
|
|
531
528
|
}
|
|
532
529
|
if (fieldInfos[id].hasOwnProperty("adminLayerInfo")) {
|
|
533
|
-
adminLayerInfos[id].viewLayerDefinition.table.relatedTables =
|
|
534
|
-
fieldInfos[id].adminLayerInfo;
|
|
530
|
+
adminLayerInfos[id].viewLayerDefinition.table.relatedTables = fieldInfos[id].adminLayerInfo;
|
|
535
531
|
deleteProp(fieldInfos[id], "adminLayerInfo");
|
|
536
532
|
}
|
|
537
533
|
if (fieldInfos[id].hasOwnProperty("types")) {
|
|
@@ -541,7 +537,7 @@ export function deTemplatizeFieldInfos(fieldInfos, popupInfos, adminLayerInfos,
|
|
|
541
537
|
return {
|
|
542
538
|
popupInfos: replaceInTemplate(popupInfos, settings),
|
|
543
539
|
fieldInfos: replaceInTemplate(fieldInfos, settings),
|
|
544
|
-
adminLayerInfos: replaceInTemplate(adminLayerInfos, settings)
|
|
540
|
+
adminLayerInfos: replaceInTemplate(adminLayerInfos, settings),
|
|
545
541
|
};
|
|
546
542
|
}
|
|
547
543
|
/**
|
|
@@ -559,13 +555,13 @@ export function getLayersAndTables(itemTemplate) {
|
|
|
559
555
|
(properties.layers || []).forEach(function (layer) {
|
|
560
556
|
layersAndTables.push({
|
|
561
557
|
item: layer,
|
|
562
|
-
type: "layer"
|
|
558
|
+
type: "layer",
|
|
563
559
|
});
|
|
564
560
|
});
|
|
565
561
|
(properties.tables || []).forEach(function (table) {
|
|
566
562
|
layersAndTables.push({
|
|
567
563
|
item: table,
|
|
568
|
-
type: "table"
|
|
564
|
+
type: "table",
|
|
569
565
|
});
|
|
570
566
|
});
|
|
571
567
|
return layersAndTables;
|
|
@@ -583,14 +579,14 @@ export function getLayersAndTables(itemTemplate) {
|
|
|
583
579
|
*/
|
|
584
580
|
export function getExistingLayersAndTables(url, ids, authentication) {
|
|
585
581
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
586
|
-
return new Promise(resolve => {
|
|
587
|
-
const defs = ids.map(id => {
|
|
582
|
+
return new Promise((resolve) => {
|
|
583
|
+
const defs = ids.map((id) => {
|
|
588
584
|
return rest_request(checkUrlPathTermination(url) + id, {
|
|
589
|
-
authentication
|
|
585
|
+
authentication,
|
|
590
586
|
});
|
|
591
587
|
});
|
|
592
588
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
593
|
-
Promise.all(defs.map(p => p.catch(e => e))).then(resolve);
|
|
589
|
+
Promise.all(defs.map((p) => p.catch((e) => e))).then(resolve);
|
|
594
590
|
});
|
|
595
591
|
}
|
|
596
592
|
/**
|
|
@@ -620,13 +616,13 @@ export function addFeatureServiceLayersAndTables(itemTemplate, templateDictionar
|
|
|
620
616
|
// Detemplatize field references and update the layer properties
|
|
621
617
|
// Only failure path is handled by addFeatureServiceDefinition
|
|
622
618
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
623
|
-
updateLayerFieldReferences(itemTemplate, fieldInfos, popupInfos, adminLayerInfos, templateDictionary).then(r => {
|
|
619
|
+
updateLayerFieldReferences(itemTemplate, fieldInfos, popupInfos, adminLayerInfos, templateDictionary).then((r) => {
|
|
624
620
|
// Update relationships and layer definitions
|
|
625
621
|
const updates = getLayerUpdates({
|
|
626
622
|
message: "updated layer definition",
|
|
627
623
|
objects: r.layerInfos.fieldInfos,
|
|
628
624
|
itemTemplate: r.itemTemplate,
|
|
629
|
-
authentication
|
|
625
|
+
authentication,
|
|
630
626
|
}, templateDictionary.isPortal);
|
|
631
627
|
// Process the updates sequentially
|
|
632
628
|
updates
|
|
@@ -635,11 +631,9 @@ export function addFeatureServiceLayersAndTables(itemTemplate, templateDictionar
|
|
|
635
631
|
return getRequest(update);
|
|
636
632
|
});
|
|
637
633
|
}, Promise.resolve(null))
|
|
638
|
-
.then(() => resolve(null), (e) => reject(fail(e))
|
|
639
|
-
);
|
|
634
|
+
.then(() => resolve(null), (e) => reject(fail(e)));
|
|
640
635
|
});
|
|
641
|
-
}, e => reject(fail(e))
|
|
642
|
-
);
|
|
636
|
+
}, (e) => reject(fail(e)));
|
|
643
637
|
}
|
|
644
638
|
else {
|
|
645
639
|
resolve(null);
|
|
@@ -671,7 +665,7 @@ export function addFeatureServiceDefinition(serviceUrl, listToAdd, templateDicti
|
|
|
671
665
|
let options = {
|
|
672
666
|
layers: [],
|
|
673
667
|
tables: [],
|
|
674
|
-
authentication
|
|
668
|
+
authentication,
|
|
675
669
|
};
|
|
676
670
|
// if the service has veiws keep track of the fields so we can use them to
|
|
677
671
|
// compare with the view fields
|
|
@@ -705,10 +699,9 @@ export function addFeatureServiceDefinition(serviceUrl, listToAdd, templateDicti
|
|
|
705
699
|
item.adminLayerInfo = replaceInTemplate(item.adminLayerInfo, templateDictionary);
|
|
706
700
|
/* istanbul ignore else */
|
|
707
701
|
if (fieldInfos && fieldInfos.hasOwnProperty(item.id)) {
|
|
708
|
-
Object.keys(templateDictionary).some(k => {
|
|
702
|
+
Object.keys(templateDictionary).some((k) => {
|
|
709
703
|
if (templateDictionary[k].itemId === itemTemplate.itemId) {
|
|
710
|
-
fieldInfos[item.id]["sourceServiceFields"] =
|
|
711
|
-
templateDictionary[k].sourceServiceFields;
|
|
704
|
+
fieldInfos[item.id]["sourceServiceFields"] = templateDictionary[k].sourceServiceFields;
|
|
712
705
|
return true;
|
|
713
706
|
}
|
|
714
707
|
else {
|
|
@@ -740,7 +733,7 @@ export function addFeatureServiceDefinition(serviceUrl, listToAdd, templateDicti
|
|
|
740
733
|
options = {
|
|
741
734
|
layers: [],
|
|
742
735
|
tables: [],
|
|
743
|
-
authentication
|
|
736
|
+
authentication,
|
|
744
737
|
};
|
|
745
738
|
}
|
|
746
739
|
});
|
|
@@ -792,7 +785,7 @@ export function _updateAddOptions(itemTemplate, options, layerChunks, isSelfRefe
|
|
|
792
785
|
options = {
|
|
793
786
|
layers: [],
|
|
794
787
|
tables: [],
|
|
795
|
-
authentication
|
|
788
|
+
authentication,
|
|
796
789
|
};
|
|
797
790
|
}
|
|
798
791
|
}
|
|
@@ -808,9 +801,9 @@ export function _updateAddOptions(itemTemplate, options, layerChunks, isSelfRefe
|
|
|
808
801
|
* @private
|
|
809
802
|
*/
|
|
810
803
|
export function _isSelfReferential(layersAndTables) {
|
|
811
|
-
const names = layersAndTables.map(l => l.item.name);
|
|
804
|
+
const names = layersAndTables.map((l) => l.item.name);
|
|
812
805
|
const srcTables = {};
|
|
813
|
-
return layersAndTables.some(l => {
|
|
806
|
+
return layersAndTables.some((l) => {
|
|
814
807
|
const table = l.item.adminLayerInfo?.viewLayerDefinition?.table;
|
|
815
808
|
if (table) {
|
|
816
809
|
const name = table.sourceServiceName;
|
|
@@ -828,7 +821,7 @@ export function _isSelfReferential(layersAndTables) {
|
|
|
828
821
|
srcTables[name] = [id];
|
|
829
822
|
}
|
|
830
823
|
}
|
|
831
|
-
return (table.relatedTables || []).some(r => names.indexOf(r.name) > -1);
|
|
824
|
+
return (table.relatedTables || []).some((r) => names.indexOf(r.name) > -1);
|
|
832
825
|
}
|
|
833
826
|
});
|
|
834
827
|
}
|
|
@@ -888,7 +881,7 @@ export function _updateForPortal(item, itemTemplate, templateDictionary) {
|
|
|
888
881
|
}
|
|
889
882
|
}
|
|
890
883
|
else {
|
|
891
|
-
Object.keys(templateDictionary).some(k => {
|
|
884
|
+
Object.keys(templateDictionary).some((k) => {
|
|
892
885
|
/* istanbul ignore else */
|
|
893
886
|
if (templateDictionary[k].itemId === item.serviceItemId) {
|
|
894
887
|
const layerInfo = templateDictionary[k][`layer${item.id}`];
|
|
@@ -928,12 +921,10 @@ export function _getFieldNames(table, itemTemplate, templateDictionary) {
|
|
|
928
921
|
/* istanbul ignore else */
|
|
929
922
|
if (typeof viewSourceLayerId === "number") {
|
|
930
923
|
// need to make sure these actually exist in the source..
|
|
931
|
-
itemTemplate.dependencies.forEach(d => {
|
|
924
|
+
itemTemplate.dependencies.forEach((d) => {
|
|
932
925
|
const layerInfo = templateDictionary[d][`layer${viewSourceLayerId}`];
|
|
933
926
|
/* istanbul ignore else */
|
|
934
|
-
if (layerInfo &&
|
|
935
|
-
layerInfo.fields &&
|
|
936
|
-
templateDictionary[d].name === table.sourceServiceName) {
|
|
927
|
+
if (layerInfo && layerInfo.fields && templateDictionary[d].name === table.sourceServiceName) {
|
|
937
928
|
if (Array.isArray(layerInfo.fields)) {
|
|
938
929
|
sourceLayerFields = sourceLayerFields.concat(layerInfo.fields.map((f) => f.name));
|
|
939
930
|
}
|
|
@@ -996,8 +987,7 @@ export function _updateItemFields(item, fieldNames) {
|
|
|
996
987
|
*/
|
|
997
988
|
export function _updateSourceLayerFields(table, sourceLayerFields) {
|
|
998
989
|
/* istanbul ignore else */
|
|
999
|
-
if (Array.isArray(table.sourceLayerFields) &&
|
|
1000
|
-
table.sourceLayerFields.length > 0) {
|
|
990
|
+
if (Array.isArray(table.sourceLayerFields) && table.sourceLayerFields.length > 0) {
|
|
1001
991
|
// need to make sure these actually exist in the source..
|
|
1002
992
|
/* istanbul ignore else */
|
|
1003
993
|
if (sourceLayerFields.length > 0) {
|
|
@@ -1020,9 +1010,7 @@ export function _updateGeomFieldName(adminLayerInfo, templateDictionary) {
|
|
|
1020
1010
|
const fieldName = getProp(adminLayerInfo, "geometryField.name");
|
|
1021
1011
|
/* istanbul ignore else */
|
|
1022
1012
|
if (fieldName && tableName) {
|
|
1023
|
-
const geomName = templateDictionary.isPortal
|
|
1024
|
-
? `${tableName}.shape`
|
|
1025
|
-
: `${tableName}.Shape`;
|
|
1013
|
+
const geomName = templateDictionary.isPortal ? `${tableName}.shape` : `${tableName}.Shape`;
|
|
1026
1014
|
setProp(adminLayerInfo, "geometryField.name", geomName);
|
|
1027
1015
|
}
|
|
1028
1016
|
else if (!fieldName && getProp(adminLayerInfo, "geometryField")) {
|
|
@@ -1047,13 +1035,11 @@ export function _updateTemplateDictionaryFields(itemTemplate, templateDictionary
|
|
|
1047
1035
|
const tables = itemTemplate.properties.tables;
|
|
1048
1036
|
const layersAndTables = layers.concat(tables);
|
|
1049
1037
|
const fieldInfos = {};
|
|
1050
|
-
layersAndTables.forEach(layerOrTable => {
|
|
1038
|
+
layersAndTables.forEach((layerOrTable) => {
|
|
1051
1039
|
fieldInfos[layerOrTable.id] = layerOrTable.fields;
|
|
1052
1040
|
});
|
|
1053
|
-
Object.keys(templateDictionary).some(k => {
|
|
1054
|
-
if (compareItemId
|
|
1055
|
-
? templateDictionary[k].itemId === itemTemplate.itemId
|
|
1056
|
-
: k === itemTemplate.itemId) {
|
|
1041
|
+
Object.keys(templateDictionary).some((k) => {
|
|
1042
|
+
if (compareItemId ? templateDictionary[k].itemId === itemTemplate.itemId : k === itemTemplate.itemId) {
|
|
1057
1043
|
templateDictionary[k].fieldInfos = fieldInfos;
|
|
1058
1044
|
return true;
|
|
1059
1045
|
}
|
|
@@ -1107,9 +1093,7 @@ export function validateSpatialReferenceAndExtent(serviceInfo, itemTemplate, tem
|
|
|
1107
1093
|
}
|
|
1108
1094
|
const viewExt = getProp(serviceInfo, "service.fullExtent");
|
|
1109
1095
|
/* istanbul ignore else */
|
|
1110
|
-
if (sourceExt &&
|
|
1111
|
-
viewExt &&
|
|
1112
|
-
JSON.stringify(sourceExt) !== JSON.stringify(viewExt)) {
|
|
1096
|
+
if (sourceExt && viewExt && JSON.stringify(sourceExt) !== JSON.stringify(viewExt)) {
|
|
1113
1097
|
setCreateProp(serviceInfo, "defaultExtent", sourceExt);
|
|
1114
1098
|
}
|
|
1115
1099
|
}
|
|
@@ -1127,18 +1111,17 @@ export function validateSpatialReferenceAndExtent(serviceInfo, itemTemplate, tem
|
|
|
1127
1111
|
* @private
|
|
1128
1112
|
*/
|
|
1129
1113
|
export function _getSourceSpatialReferenceAndExtent(serviceInfo, itemTemplate, templateDictionary, validateGeom) {
|
|
1130
|
-
const layersAndTables = [
|
|
1131
|
-
...serviceInfo.layers || [],
|
|
1132
|
-
...serviceInfo.tables || []
|
|
1133
|
-
];
|
|
1114
|
+
const layersAndTables = [...(serviceInfo.layers || []), ...(serviceInfo.tables || [])];
|
|
1134
1115
|
let spatialReference;
|
|
1135
1116
|
let extent;
|
|
1136
|
-
itemTemplate.dependencies.some(id => {
|
|
1117
|
+
itemTemplate.dependencies.some((id) => {
|
|
1137
1118
|
const source = templateDictionary[id];
|
|
1138
|
-
const hasGeom = validateGeom
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1119
|
+
const hasGeom = validateGeom
|
|
1120
|
+
? layersAndTables.some((layerOrTable) => {
|
|
1121
|
+
const name = getProp(layerOrTable, "adminLayerInfo.viewLayerDefinition.table.sourceServiceName");
|
|
1122
|
+
return name && source.name && name === source.name && layerOrTable.geometryType;
|
|
1123
|
+
})
|
|
1124
|
+
: true;
|
|
1142
1125
|
const sr = getProp(source, "defaultSpatialReference");
|
|
1143
1126
|
/* istanbul ignore else */
|
|
1144
1127
|
if (!spatialReference && sr && hasGeom) {
|
|
@@ -1153,7 +1136,7 @@ export function _getSourceSpatialReferenceAndExtent(serviceInfo, itemTemplate, t
|
|
|
1153
1136
|
});
|
|
1154
1137
|
return {
|
|
1155
1138
|
spatialReference,
|
|
1156
|
-
extent
|
|
1139
|
+
extent,
|
|
1157
1140
|
};
|
|
1158
1141
|
}
|
|
1159
1142
|
/**
|
|
@@ -1177,9 +1160,9 @@ export function updateLayerFieldReferences(itemTemplate, fieldInfos, popupInfos,
|
|
|
1177
1160
|
updatePopupInfo(itemTemplate, layerInfos.popupInfos);
|
|
1178
1161
|
resolveFn({
|
|
1179
1162
|
itemTemplate,
|
|
1180
|
-
layerInfos
|
|
1163
|
+
layerInfos,
|
|
1181
1164
|
});
|
|
1182
|
-
}, e => rejectFn(fail(e)));
|
|
1165
|
+
}, (e) => rejectFn(fail(e)));
|
|
1183
1166
|
});
|
|
1184
1167
|
}
|
|
1185
1168
|
/**
|
|
@@ -1204,7 +1187,7 @@ export function postProcessFields(itemTemplate, layerInfos, popupInfos, adminLay
|
|
|
1204
1187
|
const id = itemTemplate.itemId;
|
|
1205
1188
|
const settingsKeys = Object.keys(templateDictionary);
|
|
1206
1189
|
let templateInfo;
|
|
1207
|
-
settingsKeys.some(k => {
|
|
1190
|
+
settingsKeys.some((k) => {
|
|
1208
1191
|
if (templateDictionary[k].itemId === id) {
|
|
1209
1192
|
templateInfo = templateDictionary[k];
|
|
1210
1193
|
return true;
|
|
@@ -1229,8 +1212,7 @@ export function postProcessFields(itemTemplate, layerInfos, popupInfos, adminLay
|
|
|
1229
1212
|
const layerInfo = layerInfos[item.id];
|
|
1230
1213
|
layerInfo["isView"] = item.isView;
|
|
1231
1214
|
layerInfo["newFields"] = item.fields;
|
|
1232
|
-
layerInfo["sourceSchemaChangesAllowed"] =
|
|
1233
|
-
item.sourceSchemaChangesAllowed;
|
|
1215
|
+
layerInfo["sourceSchemaChangesAllowed"] = item.sourceSchemaChangesAllowed;
|
|
1234
1216
|
/* istanbul ignore else */
|
|
1235
1217
|
if (item.editFieldsInfo) {
|
|
1236
1218
|
// more than case change when deployed to protal so keep track of the new names
|
|
@@ -1262,7 +1244,7 @@ export function postProcessFields(itemTemplate, layerInfos, popupInfos, adminLay
|
|
|
1262
1244
|
* @private
|
|
1263
1245
|
*/
|
|
1264
1246
|
export function updatePopupInfo(itemTemplate, popupInfos) {
|
|
1265
|
-
["layers", "tables"].forEach(type => {
|
|
1247
|
+
["layers", "tables"].forEach((type) => {
|
|
1266
1248
|
const _items = getProp(itemTemplate, "data." + type);
|
|
1267
1249
|
/* istanbul ignore else */
|
|
1268
1250
|
if (_items && Array.isArray(_items)) {
|
|
@@ -1325,7 +1307,7 @@ export function _templatizeLayer(dataItem, adminItem, itemTemplate, dependencies
|
|
|
1325
1307
|
if (dataItem) {
|
|
1326
1308
|
updates.push(dataItem);
|
|
1327
1309
|
}
|
|
1328
|
-
updates.forEach(update => {
|
|
1310
|
+
updates.forEach((update) => {
|
|
1329
1311
|
if (update.hasOwnProperty("name")) {
|
|
1330
1312
|
// templatize the name but leave the current name as the optional default
|
|
1331
1313
|
update.name = templatizeTerm(update["serviceItemId"] + ".layer" + update.id, update["serviceItemId"] + ".layer" + update.id, ".name||" + update.name);
|
|
@@ -1371,7 +1353,7 @@ export function _validateFields(adminItem) {
|
|
|
1371
1353
|
export function _validateDisplayField(adminItem, fieldNames) {
|
|
1372
1354
|
const displayField = adminItem.displayField || "";
|
|
1373
1355
|
let i = -1;
|
|
1374
|
-
if (fieldNames.some(name => {
|
|
1356
|
+
if (fieldNames.some((name) => {
|
|
1375
1357
|
i += 1;
|
|
1376
1358
|
return name === displayField || name === displayField.toLowerCase();
|
|
1377
1359
|
})) {
|
|
@@ -1390,7 +1372,7 @@ export function _validateDisplayField(adminItem, fieldNames) {
|
|
|
1390
1372
|
if (globalIdField) {
|
|
1391
1373
|
skipFields.push(globalIdField);
|
|
1392
1374
|
}
|
|
1393
|
-
fieldNames.some(name => {
|
|
1375
|
+
fieldNames.some((name) => {
|
|
1394
1376
|
if (skipFields.indexOf(name) === -1) {
|
|
1395
1377
|
adminItem.displayField = name;
|
|
1396
1378
|
return true;
|
|
@@ -1417,7 +1399,7 @@ export function _validateIndexes(adminItem, fieldNames) {
|
|
|
1417
1399
|
adminItem.indexes = indexes.reduce((filtered, index) => {
|
|
1418
1400
|
const indexFields = index.fields.split(",");
|
|
1419
1401
|
const verifiedFields = [];
|
|
1420
|
-
indexFields.forEach(indexField => {
|
|
1402
|
+
indexFields.forEach((indexField) => {
|
|
1421
1403
|
/* istanbul ignore else */
|
|
1422
1404
|
if (indexedFields.indexOf(indexField) === -1) {
|
|
1423
1405
|
indexedFields.push(indexField);
|
|
@@ -1449,11 +1431,11 @@ export function _validateTemplatesFields(adminItem, fieldNames) {
|
|
|
1449
1431
|
const templates = adminItem.templates;
|
|
1450
1432
|
/* istanbul ignore else */
|
|
1451
1433
|
if (templates) {
|
|
1452
|
-
adminItem.templates = templates.map(template => {
|
|
1434
|
+
adminItem.templates = templates.map((template) => {
|
|
1453
1435
|
const attributes = getProp(template, "prototype.attributes");
|
|
1454
1436
|
/* istanbul ignore else */
|
|
1455
1437
|
if (attributes) {
|
|
1456
|
-
Object.keys(attributes).forEach(k => {
|
|
1438
|
+
Object.keys(attributes).forEach((k) => {
|
|
1457
1439
|
/* istanbul ignore else */
|
|
1458
1440
|
if (fieldNames.indexOf(k) === -1) {
|
|
1459
1441
|
delete attributes[k];
|
|
@@ -1476,7 +1458,7 @@ export function _validateTypesTemplates(adminItem, fieldNames) {
|
|
|
1476
1458
|
const types = adminItem.types;
|
|
1477
1459
|
/* istanbul ignore else */
|
|
1478
1460
|
if (types) {
|
|
1479
|
-
adminItem.types = types.map(t => {
|
|
1461
|
+
adminItem.types = types.map((t) => {
|
|
1480
1462
|
_validateTemplatesFields(t, fieldNames);
|
|
1481
1463
|
return t;
|
|
1482
1464
|
});
|
|
@@ -1494,11 +1476,11 @@ export function _validateEditFieldsInfo(adminItem, fieldNames) {
|
|
|
1494
1476
|
/* istanbul ignore else */
|
|
1495
1477
|
if (editFieldsInfo) {
|
|
1496
1478
|
const editFieldsInfoKeys = Object.keys(editFieldsInfo);
|
|
1497
|
-
editFieldsInfoKeys.forEach(k => {
|
|
1479
|
+
editFieldsInfoKeys.forEach((k) => {
|
|
1498
1480
|
const editFieldName = editFieldsInfo[k];
|
|
1499
1481
|
/* istanbul ignore else */
|
|
1500
1482
|
if (editFieldName) {
|
|
1501
|
-
fieldNames.some(name => {
|
|
1483
|
+
fieldNames.some((name) => {
|
|
1502
1484
|
if (name === editFieldName) {
|
|
1503
1485
|
return true;
|
|
1504
1486
|
}
|
|
@@ -1605,7 +1587,7 @@ export function _processAdminObject(object, dependencies) {
|
|
|
1605
1587
|
* @private
|
|
1606
1588
|
*/
|
|
1607
1589
|
export function _templatizeSourceServiceName(lookupName, dependencies) {
|
|
1608
|
-
const deps = dependencies.filter(dependency => dependency.name === lookupName);
|
|
1590
|
+
const deps = dependencies.filter((dependency) => dependency.name === lookupName);
|
|
1609
1591
|
return deps.length === 1 ? _templatize(deps[0].id, "name") : undefined;
|
|
1610
1592
|
}
|
|
1611
1593
|
/**
|
|
@@ -1651,7 +1633,7 @@ export function _templatizeAdminLayerInfoFields(layer, dependencies) {
|
|
|
1651
1633
|
* @private
|
|
1652
1634
|
*/
|
|
1653
1635
|
export function _getDependantItemId(lookupName, dependencies) {
|
|
1654
|
-
const deps = dependencies.filter(dependency => dependency.name === lookupName);
|
|
1636
|
+
const deps = dependencies.filter((dependency) => dependency.name === lookupName);
|
|
1655
1637
|
return deps.length === 1 ? deps[0].id : "";
|
|
1656
1638
|
}
|
|
1657
1639
|
/**
|
|
@@ -1662,7 +1644,7 @@ export function _getDependantItemId(lookupName, dependencies) {
|
|
|
1662
1644
|
* @private
|
|
1663
1645
|
*/
|
|
1664
1646
|
export function _templatizeAdminSourceLayerFields(fields, basePath) {
|
|
1665
|
-
fields.forEach(f => _templatizeProperty(f, "source", basePath, "name"));
|
|
1647
|
+
fields.forEach((f) => _templatizeProperty(f, "source", basePath, "name"));
|
|
1666
1648
|
}
|
|
1667
1649
|
/**
|
|
1668
1650
|
* templatize the topFilter property from adminLayerInfo related tables
|
|
@@ -1705,7 +1687,7 @@ export function _templatizeTopFilter(topFilter, basePath) {
|
|
|
1705
1687
|
export function _templatizeRelationshipFields(layer, itemID) {
|
|
1706
1688
|
if (layer && layer.relationships) {
|
|
1707
1689
|
const relationships = layer.relationships;
|
|
1708
|
-
relationships.forEach(r => {
|
|
1690
|
+
relationships.forEach((r) => {
|
|
1709
1691
|
/* istanbul ignore else */
|
|
1710
1692
|
if (r.keyField) {
|
|
1711
1693
|
const basePath = itemID + ".layer" + layer.id + ".fields";
|
|
@@ -1753,7 +1735,7 @@ export function _templatizePopupInfo(layerDefinition, layer, basePath, itemID, f
|
|
|
1753
1735
|
*/
|
|
1754
1736
|
export function _templatizeName(object, property, fieldNames, basePath) {
|
|
1755
1737
|
if (object.hasOwnProperty(property)) {
|
|
1756
|
-
fieldNames.forEach(name => {
|
|
1738
|
+
fieldNames.forEach((name) => {
|
|
1757
1739
|
// Only test and replace instance of the name so any enclosing characters
|
|
1758
1740
|
// will be retained
|
|
1759
1741
|
const regEx = new RegExp("(\\b" + name + "\\b(?![}]{2}))", "gm");
|
|
@@ -1799,9 +1781,7 @@ export function _templatizeFieldName(name, layer, itemID, basePath) {
|
|
|
1799
1781
|
const relatedTable = relatedTables[relationshipId];
|
|
1800
1782
|
// the layers relationships stores the property as relatedTableId
|
|
1801
1783
|
// the layers adminLayerInfo relatedTables stores the property as sourceLayerId
|
|
1802
|
-
const prop = getProp(relatedTable, "relatedTableId")
|
|
1803
|
-
? "relatedTableId"
|
|
1804
|
-
: "sourceLayerId";
|
|
1784
|
+
const prop = getProp(relatedTable, "relatedTableId") ? "relatedTableId" : "sourceLayerId";
|
|
1805
1785
|
const _basePath = itemID + ".layer" + relatedTable[prop] + ".fields";
|
|
1806
1786
|
rels[2] = _templatize(_basePath, rels[2], "name");
|
|
1807
1787
|
name = rels.join("/");
|
|
@@ -1826,7 +1806,7 @@ export function _templatizeFieldName(name, layer, itemID, basePath) {
|
|
|
1826
1806
|
*/
|
|
1827
1807
|
export function _templatizeExpressionInfos(expressionInfos, fieldNames, basePath) {
|
|
1828
1808
|
return expressionInfos.map((i) => {
|
|
1829
|
-
fieldNames.forEach(name => {
|
|
1809
|
+
fieldNames.forEach((name) => {
|
|
1830
1810
|
i.expression = _templatizeArcadeExpressions(i.expression, name, basePath);
|
|
1831
1811
|
});
|
|
1832
1812
|
return i;
|
|
@@ -1865,13 +1845,13 @@ export function _templatizePopupElements(popupElelments, basePath, layer, itemID
|
|
|
1865
1845
|
export function _templatizeMediaInfos(mediaInfos, fieldNames, basePath, layer, itemId) {
|
|
1866
1846
|
// templatize various properties of mediaInfos
|
|
1867
1847
|
const props = ["title", "caption"];
|
|
1868
|
-
props.forEach(p => _templatizeName(mediaInfos, p, fieldNames, basePath));
|
|
1848
|
+
props.forEach((p) => _templatizeName(mediaInfos, p, fieldNames, basePath));
|
|
1869
1849
|
mediaInfos.forEach((mi) => {
|
|
1870
1850
|
/* istanbul ignore else */
|
|
1871
1851
|
if (mi.hasOwnProperty("value")) {
|
|
1872
1852
|
const v = mi.value;
|
|
1873
1853
|
const vfields = v.fields || [];
|
|
1874
|
-
v.fields = vfields.map(f => _templatizeFieldName(f, layer, itemId, basePath));
|
|
1854
|
+
v.fields = vfields.map((f) => _templatizeFieldName(f, layer, itemId, basePath));
|
|
1875
1855
|
if (v.hasOwnProperty("normalizeField")) {
|
|
1876
1856
|
_templatizeProperty(v, "normalizeField", basePath, "name");
|
|
1877
1857
|
}
|
|
@@ -1897,7 +1877,7 @@ export function _templatizeDefinitionEditor(layer, basePath, fieldNames) {
|
|
|
1897
1877
|
if (defEditor) {
|
|
1898
1878
|
const inputs = defEditor.inputs;
|
|
1899
1879
|
if (inputs) {
|
|
1900
|
-
inputs.forEach(i => {
|
|
1880
|
+
inputs.forEach((i) => {
|
|
1901
1881
|
/* istanbul ignore else */
|
|
1902
1882
|
if (i.parameters) {
|
|
1903
1883
|
i.parameters.forEach((p) => {
|
|
@@ -1934,7 +1914,7 @@ export function _templatizeDefinitionExpression(layer, basePath, fieldNames) {
|
|
|
1934
1914
|
* @private
|
|
1935
1915
|
*/
|
|
1936
1916
|
export function _templatizeSimpleName(expression, basePath, fieldNames, suffix) {
|
|
1937
|
-
fieldNames.forEach(name => {
|
|
1917
|
+
fieldNames.forEach((name) => {
|
|
1938
1918
|
// look for the name but not if its followed by }}
|
|
1939
1919
|
const regEx = new RegExp("\\b" + name + "\\b(?![}]{2})", "gm");
|
|
1940
1920
|
if (expression && regEx.test(expression)) {
|
|
@@ -2005,13 +1985,13 @@ export function _templatizeGenRenderer(renderer, basePath, fieldNames) {
|
|
|
2005
1985
|
_templatizeAuthoringInfo(authoringInfo, basePath, fieldNames);
|
|
2006
1986
|
}
|
|
2007
1987
|
const props = ["field", "normalizationField"];
|
|
2008
|
-
props.forEach(p => _templatizeProperty(renderer, p, basePath, "name"));
|
|
1988
|
+
props.forEach((p) => _templatizeProperty(renderer, p, basePath, "name"));
|
|
2009
1989
|
const fieldNameProps = ["field1", "field2", "field3"];
|
|
2010
|
-
fieldNameProps.forEach(fnP => _templatizeProperty(renderer, fnP, basePath, "name"));
|
|
1990
|
+
fieldNameProps.forEach((fnP) => _templatizeProperty(renderer, fnP, basePath, "name"));
|
|
2011
1991
|
// When an attribute name is specified, it's enclosed in square brackets
|
|
2012
1992
|
const rExp = renderer.rotationExpression;
|
|
2013
1993
|
if (rExp) {
|
|
2014
|
-
fieldNames.forEach(name => {
|
|
1994
|
+
fieldNames.forEach((name) => {
|
|
2015
1995
|
const regEx = new RegExp("(\\[" + name + "\\])", "gm");
|
|
2016
1996
|
if (regEx.test(rExp)) {
|
|
2017
1997
|
renderer.rotationExpression = rExp.replace(regEx, "[" + _templatize(basePath, name, "name") + "]");
|
|
@@ -2020,17 +2000,17 @@ export function _templatizeGenRenderer(renderer, basePath, fieldNames) {
|
|
|
2020
2000
|
}
|
|
2021
2001
|
// update valueExpression
|
|
2022
2002
|
if (renderer.valueExpression) {
|
|
2023
|
-
fieldNames.forEach(name => {
|
|
2003
|
+
fieldNames.forEach((name) => {
|
|
2024
2004
|
renderer.valueExpression = _templatizeArcadeExpressions(renderer.valueExpression, name, basePath);
|
|
2025
2005
|
});
|
|
2026
2006
|
}
|
|
2027
2007
|
// update visualVariables
|
|
2028
2008
|
const visualVariables = renderer.visualVariables;
|
|
2029
2009
|
if (visualVariables) {
|
|
2030
|
-
visualVariables.forEach(v => {
|
|
2031
|
-
props.forEach(p => _templatizeProperty(v, p, basePath, "name"));
|
|
2010
|
+
visualVariables.forEach((v) => {
|
|
2011
|
+
props.forEach((p) => _templatizeProperty(v, p, basePath, "name"));
|
|
2032
2012
|
if (v.valueExpression) {
|
|
2033
|
-
fieldNames.forEach(name => {
|
|
2013
|
+
fieldNames.forEach((name) => {
|
|
2034
2014
|
v.valueExpression = _templatizeArcadeExpressions(v.valueExpression, name, basePath);
|
|
2035
2015
|
});
|
|
2036
2016
|
}
|
|
@@ -2047,12 +2027,8 @@ export function _templatizeGenRenderer(renderer, basePath, fieldNames) {
|
|
|
2047
2027
|
* @private
|
|
2048
2028
|
*/
|
|
2049
2029
|
export function _templatizeTemporalRenderer(renderer, basePath, fieldNames) {
|
|
2050
|
-
const renderers = [
|
|
2051
|
-
|
|
2052
|
-
renderer.observationRenderer,
|
|
2053
|
-
renderer.trackRenderer
|
|
2054
|
-
];
|
|
2055
|
-
renderers.forEach(r => {
|
|
2030
|
+
const renderers = [renderer.latestObservationRenderer, renderer.observationRenderer, renderer.trackRenderer];
|
|
2031
|
+
renderers.forEach((r) => {
|
|
2056
2032
|
_templatizeRenderer(r, basePath, fieldNames);
|
|
2057
2033
|
});
|
|
2058
2034
|
}
|
|
@@ -2069,17 +2045,17 @@ export function _templatizeAuthoringInfo(authoringInfo, basePath, fieldNames) {
|
|
|
2069
2045
|
if (authoringInfo) {
|
|
2070
2046
|
const props = ["field", "normalizationField"];
|
|
2071
2047
|
const field1 = authoringInfo.field1;
|
|
2072
|
-
props.forEach(p => _templatizeProperty(field1, p, basePath, "name"));
|
|
2048
|
+
props.forEach((p) => _templatizeProperty(field1, p, basePath, "name"));
|
|
2073
2049
|
const field2 = authoringInfo.field2;
|
|
2074
|
-
props.forEach(p => _templatizeProperty(field2, p, basePath, "name"));
|
|
2050
|
+
props.forEach((p) => _templatizeProperty(field2, p, basePath, "name"));
|
|
2075
2051
|
const fields = authoringInfo.fields;
|
|
2076
2052
|
if (fields) {
|
|
2077
|
-
authoringInfo.fields = fields.map(f => _templatize(basePath, f, "name"));
|
|
2053
|
+
authoringInfo.fields = fields.map((f) => _templatize(basePath, f, "name"));
|
|
2078
2054
|
}
|
|
2079
2055
|
const vProps = ["endTime", "field", "startTime"];
|
|
2080
2056
|
const vVars = authoringInfo.visualVariables;
|
|
2081
2057
|
if (vVars) {
|
|
2082
|
-
vProps.forEach(p => {
|
|
2058
|
+
vProps.forEach((p) => {
|
|
2083
2059
|
// endTime and startTime may or may not be a field name
|
|
2084
2060
|
if (fieldNames.indexOf(vVars[p]) > -1) {
|
|
2085
2061
|
_templatizeProperty(vVars, p, basePath, "name");
|
|
@@ -2116,8 +2092,7 @@ export function _templatizeArcadeExpressions(text, fieldName, basePath) {
|
|
|
2116
2092
|
}
|
|
2117
2093
|
// test for $feature[] with join case
|
|
2118
2094
|
// captures VOTED_DEM_2016 from $feature["COUNTY_ID.VOTED_DEM_2016"]
|
|
2119
|
-
exp =
|
|
2120
|
-
"(?:[$]feature)(\\[\\\"?\\'?)(\\w+)[.]" + fieldName + "(\\\"?\\'?\\])";
|
|
2095
|
+
exp = "(?:[$]feature)(\\[\\\"?\\'?)(\\w+)[.]" + fieldName + "(\\\"?\\'?\\])";
|
|
2121
2096
|
regEx = new RegExp(exp, "gm");
|
|
2122
2097
|
result = regEx.exec(text);
|
|
2123
2098
|
if (result && result.length > 3) {
|
|
@@ -2149,11 +2124,11 @@ export function _templatizeLabelingInfo(labelingInfo, basePath, fieldNames) {
|
|
|
2149
2124
|
/* istanbul ignore else */
|
|
2150
2125
|
if (li.hasOwnProperty("fieldInfos")) {
|
|
2151
2126
|
const fieldInfos = li.fieldInfos || [];
|
|
2152
|
-
fieldInfos.forEach(fi => _templatizeProperty(fi, "fieldName", basePath, "name"));
|
|
2127
|
+
fieldInfos.forEach((fi) => _templatizeProperty(fi, "fieldName", basePath, "name"));
|
|
2153
2128
|
}
|
|
2154
2129
|
const labelExp = li.labelExpression || "";
|
|
2155
2130
|
const labelExpInfo = li.labelExpressionInfo || {};
|
|
2156
|
-
fieldNames.forEach(n => {
|
|
2131
|
+
fieldNames.forEach((n) => {
|
|
2157
2132
|
const t = _templatize(basePath, n, "name");
|
|
2158
2133
|
// check for [fieldName] or ["fieldName"]
|
|
2159
2134
|
const regExBracket = new RegExp('(\\[\\"*)+(' + n + ')(\\"*\\])+', "gm");
|
|
@@ -2188,7 +2163,7 @@ export function _templatizeLabelingInfo(labelingInfo, basePath, fieldNames) {
|
|
|
2188
2163
|
*/
|
|
2189
2164
|
export function _templatizeTemplates(layer, basePath) {
|
|
2190
2165
|
const templates = layer.templates || [];
|
|
2191
|
-
templates.forEach(t => {
|
|
2166
|
+
templates.forEach((t) => {
|
|
2192
2167
|
const attributes = getProp(t, "prototype.attributes");
|
|
2193
2168
|
const _attributes = _templatizeKeys(attributes, basePath, "name");
|
|
2194
2169
|
/* istanbul ignore else */
|
|
@@ -2244,7 +2219,7 @@ export function _templatizeKeys(obj, basePath, suffix) {
|
|
|
2244
2219
|
const objKeys = Object.keys(obj);
|
|
2245
2220
|
/* istanbul ignore else */
|
|
2246
2221
|
if (objKeys && objKeys.length > 0) {
|
|
2247
|
-
objKeys.forEach(k => {
|
|
2222
|
+
objKeys.forEach((k) => {
|
|
2248
2223
|
_obj[_templatize(basePath, k, suffix)] = obj[k];
|
|
2249
2224
|
});
|
|
2250
2225
|
}
|
|
@@ -2261,12 +2236,8 @@ export function _templatizeKeys(obj, basePath, suffix) {
|
|
|
2261
2236
|
export function _templatizeTimeInfo(layer, basePath) {
|
|
2262
2237
|
if (layer.timeInfo) {
|
|
2263
2238
|
const timeInfo = layer.timeInfo;
|
|
2264
|
-
const timeProps = [
|
|
2265
|
-
|
|
2266
|
-
"startTimeField",
|
|
2267
|
-
"trackIdField"
|
|
2268
|
-
];
|
|
2269
|
-
timeProps.forEach(t => {
|
|
2239
|
+
const timeProps = ["endTimeField", "startTimeField", "trackIdField"];
|
|
2240
|
+
timeProps.forEach((t) => {
|
|
2270
2241
|
if (timeInfo[t] !== "") {
|
|
2271
2242
|
_templatizeProperty(timeInfo, t, basePath, "name");
|
|
2272
2243
|
}
|
|
@@ -2306,22 +2277,19 @@ export function _getNameMapping(fieldInfos, id) {
|
|
|
2306
2277
|
const fInfo = fieldInfos[id];
|
|
2307
2278
|
const nameMapping = {};
|
|
2308
2279
|
const newFields = fInfo.newFields;
|
|
2309
|
-
const newFieldNames = newFields
|
|
2310
|
-
? newFields.map((f) => f.name)
|
|
2311
|
-
: [];
|
|
2280
|
+
const newFieldNames = newFields ? newFields.map((f) => f.name) : [];
|
|
2312
2281
|
const sourceFields = fInfo.sourceFields || [];
|
|
2313
2282
|
sourceFields.forEach((field) => {
|
|
2314
2283
|
const lName = String(field.name).toLowerCase();
|
|
2315
2284
|
newFields.forEach((f) => {
|
|
2316
2285
|
// Names can change more than case
|
|
2317
|
-
if (newFieldNames.indexOf(field.name) === -1 &&
|
|
2318
|
-
newFieldNames.indexOf(lName) === -1) {
|
|
2286
|
+
if (newFieldNames.indexOf(field.name) === -1 && newFieldNames.indexOf(lName) === -1) {
|
|
2319
2287
|
// If both new (f) and source (field) aliases are defined and are equal, map the source name to the new name
|
|
2320
2288
|
if (f.alias && f.alias === field.alias) {
|
|
2321
2289
|
nameMapping[lName] = {
|
|
2322
2290
|
name: f.name,
|
|
2323
2291
|
alias: f.alias,
|
|
2324
|
-
type: f.type ? f.type : ""
|
|
2292
|
+
type: f.type ? f.type : "",
|
|
2325
2293
|
};
|
|
2326
2294
|
}
|
|
2327
2295
|
}
|
|
@@ -2329,7 +2297,7 @@ export function _getNameMapping(fieldInfos, id) {
|
|
|
2329
2297
|
nameMapping[lName] = {
|
|
2330
2298
|
name: f.name,
|
|
2331
2299
|
alias: f.alias ? f.alias : "",
|
|
2332
|
-
type: f.type ? f.type : ""
|
|
2300
|
+
type: f.type ? f.type : "",
|
|
2333
2301
|
};
|
|
2334
2302
|
}
|
|
2335
2303
|
});
|
|
@@ -2339,10 +2307,9 @@ export function _getNameMapping(fieldInfos, id) {
|
|
|
2339
2307
|
const efi = JSON.parse(JSON.stringify(fInfo.editFieldsInfo));
|
|
2340
2308
|
const newEfi = JSON.parse(JSON.stringify(fInfo.newEditFieldsInfo));
|
|
2341
2309
|
const nameMappingKeys = Object.keys(nameMapping);
|
|
2342
|
-
Object.keys(efi).forEach(k => {
|
|
2310
|
+
Object.keys(efi).forEach((k) => {
|
|
2343
2311
|
const lowerEfi = String(efi[k]).toLowerCase();
|
|
2344
|
-
if ((nameMappingKeys.indexOf(lowerEfi) === -1 ||
|
|
2345
|
-
nameMapping[lowerEfi].name !== newEfi[k]) &&
|
|
2312
|
+
if ((nameMappingKeys.indexOf(lowerEfi) === -1 || nameMapping[lowerEfi].name !== newEfi[k]) &&
|
|
2346
2313
|
newFieldNames.indexOf(lowerEfi) > -1) {
|
|
2347
2314
|
// Only add delete fields if source schema changes allowed
|
|
2348
2315
|
/* istanbul ignore else */
|
|
@@ -2366,7 +2333,7 @@ export function _getNameMapping(fieldInfos, id) {
|
|
|
2366
2333
|
nameMapping[lowerEfi] = {
|
|
2367
2334
|
name: newEfi[k],
|
|
2368
2335
|
alias: sourceEfiField && sourceEfiField.alias ? sourceEfiField.alias : "",
|
|
2369
|
-
type: sourceEfiField && sourceEfiField.type ? sourceEfiField.type : ""
|
|
2336
|
+
type: sourceEfiField && sourceEfiField.type ? sourceEfiField.type : "",
|
|
2370
2337
|
};
|
|
2371
2338
|
}
|
|
2372
2339
|
});
|