@esri/solution-simple-types 6.0.4-alpha.0 → 6.1.0-alpha.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.
Files changed (91) hide show
  1. package/package.json +3 -3
  2. package/dist/cjs/dashboard.d.ts +0 -93
  3. package/dist/cjs/dashboard.js +0 -351
  4. package/dist/cjs/dashboard.js.map +0 -1
  5. package/dist/cjs/helpers/convert-item-to-template.d.ts +0 -34
  6. package/dist/cjs/helpers/convert-item-to-template.js +0 -199
  7. package/dist/cjs/helpers/convert-item-to-template.js.map +0 -1
  8. package/dist/cjs/helpers/create-item-from-template.d.ts +0 -17
  9. package/dist/cjs/helpers/create-item-from-template.js +0 -145
  10. package/dist/cjs/helpers/create-item-from-template.js.map +0 -1
  11. package/dist/cjs/helpers/notebook-helpers.d.ts +0 -19
  12. package/dist/cjs/helpers/notebook-helpers.js +0 -25
  13. package/dist/cjs/helpers/notebook-helpers.js.map +0 -1
  14. package/dist/cjs/helpers/quickcapture-helpers.d.ts +0 -18
  15. package/dist/cjs/helpers/quickcapture-helpers.js +0 -23
  16. package/dist/cjs/helpers/quickcapture-helpers.js.map +0 -1
  17. package/dist/cjs/helpers/simple-type-helpers.d.ts +0 -18
  18. package/dist/cjs/helpers/simple-type-helpers.js +0 -23
  19. package/dist/cjs/helpers/simple-type-helpers.js.map +0 -1
  20. package/dist/cjs/helpers/update-notebook-data.d.ts +0 -17
  21. package/dist/cjs/helpers/update-notebook-data.js +0 -28
  22. package/dist/cjs/helpers/update-notebook-data.js.map +0 -1
  23. package/dist/cjs/index.d.ts +0 -27
  24. package/dist/cjs/index.js +0 -37
  25. package/dist/cjs/index.js.map +0 -1
  26. package/dist/cjs/notebook.d.ts +0 -73
  27. package/dist/cjs/notebook.js +0 -164
  28. package/dist/cjs/notebook.js.map +0 -1
  29. package/dist/cjs/oic.d.ts +0 -53
  30. package/dist/cjs/oic.js +0 -170
  31. package/dist/cjs/oic.js.map +0 -1
  32. package/dist/cjs/quickcapture.d.ts +0 -75
  33. package/dist/cjs/quickcapture.js +0 -143
  34. package/dist/cjs/quickcapture.js.map +0 -1
  35. package/dist/cjs/simple-types.d.ts +0 -56
  36. package/dist/cjs/simple-types.js +0 -94
  37. package/dist/cjs/simple-types.js.map +0 -1
  38. package/dist/cjs/webmap.d.ts +0 -102
  39. package/dist/cjs/webmap.js +0 -314
  40. package/dist/cjs/webmap.js.map +0 -1
  41. package/dist/cjs/webmappingapplication.d.ts +0 -176
  42. package/dist/cjs/webmappingapplication.js +0 -661
  43. package/dist/cjs/webmappingapplication.js.map +0 -1
  44. package/dist/cjs/workforce.d.ts +0 -34
  45. package/dist/cjs/workforce.js +0 -45
  46. package/dist/cjs/workforce.js.map +0 -1
  47. package/dist/esm/dashboard.d.ts +0 -93
  48. package/dist/esm/dashboard.js +0 -338
  49. package/dist/esm/dashboard.js.map +0 -1
  50. package/dist/esm/helpers/convert-item-to-template.d.ts +0 -34
  51. package/dist/esm/helpers/convert-item-to-template.js +0 -193
  52. package/dist/esm/helpers/convert-item-to-template.js.map +0 -1
  53. package/dist/esm/helpers/create-item-from-template.d.ts +0 -17
  54. package/dist/esm/helpers/create-item-from-template.js +0 -140
  55. package/dist/esm/helpers/create-item-from-template.js.map +0 -1
  56. package/dist/esm/helpers/notebook-helpers.d.ts +0 -19
  57. package/dist/esm/helpers/notebook-helpers.js +0 -21
  58. package/dist/esm/helpers/notebook-helpers.js.map +0 -1
  59. package/dist/esm/helpers/quickcapture-helpers.d.ts +0 -18
  60. package/dist/esm/helpers/quickcapture-helpers.js +0 -20
  61. package/dist/esm/helpers/quickcapture-helpers.js.map +0 -1
  62. package/dist/esm/helpers/simple-type-helpers.d.ts +0 -18
  63. package/dist/esm/helpers/simple-type-helpers.js +0 -20
  64. package/dist/esm/helpers/simple-type-helpers.js.map +0 -1
  65. package/dist/esm/helpers/update-notebook-data.d.ts +0 -17
  66. package/dist/esm/helpers/update-notebook-data.js +0 -24
  67. package/dist/esm/helpers/update-notebook-data.js.map +0 -1
  68. package/dist/esm/index.d.ts +0 -27
  69. package/dist/esm/index.js +0 -28
  70. package/dist/esm/index.js.map +0 -1
  71. package/dist/esm/notebook.d.ts +0 -73
  72. package/dist/esm/notebook.js +0 -153
  73. package/dist/esm/notebook.js.map +0 -1
  74. package/dist/esm/oic.d.ts +0 -53
  75. package/dist/esm/oic.js +0 -162
  76. package/dist/esm/oic.js.map +0 -1
  77. package/dist/esm/quickcapture.d.ts +0 -75
  78. package/dist/esm/quickcapture.js +0 -131
  79. package/dist/esm/quickcapture.js.map +0 -1
  80. package/dist/esm/simple-types.d.ts +0 -56
  81. package/dist/esm/simple-types.js +0 -86
  82. package/dist/esm/simple-types.js.map +0 -1
  83. package/dist/esm/webmap.d.ts +0 -102
  84. package/dist/esm/webmap.js +0 -301
  85. package/dist/esm/webmap.js.map +0 -1
  86. package/dist/esm/webmappingapplication.d.ts +0 -176
  87. package/dist/esm/webmappingapplication.js +0 -635
  88. package/dist/esm/webmappingapplication.js.map +0 -1
  89. package/dist/esm/workforce.d.ts +0 -34
  90. package/dist/esm/workforce.js +0 -39
  91. package/dist/esm/workforce.js.map +0 -1
@@ -1,56 +0,0 @@
1
- /** @license
2
- * Copyright 2018 Esri
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { ICreateItemFromTemplateResponse, IDatasourceInfo, IItemProgressCallback, IItemTemplate, IUpdateItemResponse, UserSession } from "@esri/solution-common";
17
- /**
18
- * Converts an item into a template.
19
- *
20
- * @param itemInfo Info about the item
21
- * @param destAuthentication Credentials for requests to the destination organization
22
- * @param srcAuthentication Credentials for requests to source items
23
- * @param templateDictionary Hash of facts: folder id, org URL, adlib replacements
24
- * @returns A promise that will resolve when the template has been created
25
- */
26
- export declare function convertItemToTemplate(itemInfo: any, destAuthentication: UserSession, srcAuthentication: UserSession, templateDictionary: any): Promise<IItemTemplate>;
27
- /**
28
- * Delegate to simpleType creator
29
- *
30
- * @param template
31
- * @param templateDictionary
32
- * @param destinationAuthentication
33
- * @param itemProgressCallback
34
- */
35
- export declare function createItemFromTemplate(template: IItemTemplate, templateDictionary: any, destinationAuthentication: UserSession, itemProgressCallback: IItemProgressCallback): Promise<ICreateItemFromTemplateResponse>;
36
- /**
37
- * Templatizes field references within specific template types.
38
- * Currently only handles web mapping applications
39
- *
40
- * @param template A solution template
41
- * @param datasourceInfos A list of objects that store key datasource info used to templatizing field references
42
- * @param type The item type
43
- * @returns The updated solution template
44
- */
45
- export declare function postProcessFieldReferences(solutionTemplate: IItemTemplate, datasourceInfos: IDatasourceInfo[], type: string): IItemTemplate;
46
- /**
47
- * Simple Type post-processing actions
48
- *
49
- * @param {string} itemId The item ID
50
- * @param {string} type The template type
51
- * @param {any[]} itemInfos Array of \{id: 'ef3', type: 'Web Map'\} objects
52
- * @param {any} templateDictionary The template dictionary
53
- * @param {UserSession} authentication The destination session info
54
- * @returns Promise resolving to successfulness of update
55
- */
56
- export declare function postProcess(itemId: string, type: string, itemInfos: any[], template: IItemTemplate, templates: IItemTemplate[], templateDictionary: any, authentication: UserSession): Promise<IUpdateItemResponse>;
@@ -1,86 +0,0 @@
1
- /** @license
2
- * Copyright 2018 Esri
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- /**
17
- * Manages the creation and deployment of simple item types.
18
- *
19
- * @module simple-types
20
- */
21
- import * as dashboard from "./dashboard";
22
- import * as webmap from "./webmap";
23
- import * as webmappingapplication from "./webmappingapplication";
24
- import { updateItemTemplateFromDictionary, } from "@esri/solution-common";
25
- // Need to import collectively to enable spying
26
- import * as simpleTypeHelpers from "./helpers/simple-type-helpers";
27
- /**
28
- * Converts an item into a template.
29
- *
30
- * @param itemInfo Info about the item
31
- * @param destAuthentication Credentials for requests to the destination organization
32
- * @param srcAuthentication Credentials for requests to source items
33
- * @param templateDictionary Hash of facts: folder id, org URL, adlib replacements
34
- * @returns A promise that will resolve when the template has been created
35
- */
36
- export function convertItemToTemplate(itemInfo, destAuthentication, srcAuthentication, templateDictionary) {
37
- return simpleTypeHelpers.convertItemToTemplate(itemInfo, destAuthentication, srcAuthentication, templateDictionary);
38
- }
39
- /**
40
- * Delegate to simpleType creator
41
- *
42
- * @param template
43
- * @param templateDictionary
44
- * @param destinationAuthentication
45
- * @param itemProgressCallback
46
- */
47
- export function createItemFromTemplate(template, templateDictionary, destinationAuthentication, itemProgressCallback) {
48
- return simpleTypeHelpers.createItemFromTemplate(template, templateDictionary, destinationAuthentication, itemProgressCallback);
49
- }
50
- /**
51
- * Templatizes field references within specific template types.
52
- * Currently only handles web mapping applications
53
- *
54
- * @param template A solution template
55
- * @param datasourceInfos A list of objects that store key datasource info used to templatizing field references
56
- * @param type The item type
57
- * @returns The updated solution template
58
- */
59
- export function postProcessFieldReferences(solutionTemplate, datasourceInfos, type) {
60
- switch (type) {
61
- case "Web Mapping Application":
62
- webmappingapplication.postProcessFieldReferences(solutionTemplate, datasourceInfos);
63
- break;
64
- case "Dashboard":
65
- dashboard.postProcessFieldReferences(solutionTemplate, datasourceInfos);
66
- break;
67
- case "Web Map":
68
- webmap.postProcessFieldReferences(solutionTemplate, datasourceInfos);
69
- break;
70
- }
71
- return solutionTemplate;
72
- }
73
- /**
74
- * Simple Type post-processing actions
75
- *
76
- * @param {string} itemId The item ID
77
- * @param {string} type The template type
78
- * @param {any[]} itemInfos Array of \{id: 'ef3', type: 'Web Map'\} objects
79
- * @param {any} templateDictionary The template dictionary
80
- * @param {UserSession} authentication The destination session info
81
- * @returns Promise resolving to successfulness of update
82
- */
83
- export function postProcess(itemId, type, itemInfos, template, templates, templateDictionary, authentication) {
84
- return updateItemTemplateFromDictionary(itemId, templateDictionary, authentication);
85
- }
86
- //# sourceMappingURL=simple-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple-types.js","sourceRoot":"","sources":["../../src/simple-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AAEH,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,qBAAqB,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAML,gCAAgC,GAEjC,MAAM,uBAAuB,CAAC;AAE/B,+CAA+C;AAC/C,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAa,EACb,kBAA+B,EAC/B,iBAA8B,EAC9B,kBAAuB;IAEvB,OAAO,iBAAiB,CAAC,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AACtH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAuB,EACvB,kBAAuB,EACvB,yBAAsC,EACtC,oBAA2C;IAE3C,OAAO,iBAAiB,CAAC,sBAAsB,CAC7C,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,CACrB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CACxC,gBAA+B,EAC/B,eAAkC,EAClC,IAAY;IAEZ,QAAQ,IAAI,EAAE;QACZ,KAAK,yBAAyB;YAC5B,qBAAqB,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;YACpF,MAAM;QACR,KAAK,WAAW;YACd,SAAS,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;YACrE,MAAM;KACT;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,IAAY,EACZ,SAAgB,EAChB,QAAuB,EACvB,SAA0B,EAC1B,kBAAuB,EACvB,cAA2B;IAE3B,OAAO,gCAAgC,CAAC,MAAM,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;AACtF,CAAC"}
@@ -1,102 +0,0 @@
1
- /** @license
2
- * Copyright 2018 Esri
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import * as common from "@esri/solution-common";
17
- /**
18
- * Converts an AGOL webmap item to a template.
19
- *
20
- * @param itemTemplate Template for the webmap item
21
- * @param destAuthentication Credentials for requests to the destination organization
22
- * @param srcAuthentication Credentials for requests to source items
23
- * @param templateDictionary Hash of key details used for variable replacement
24
- * @returns Template for the solution item that contains key details for item reconstruction
25
- */
26
- export declare function convertItemToTemplate(itemTemplate: common.IItemTemplate, destAuthentication: common.UserSession, srcAuthentication: common.UserSession, templateDictionary: any): Promise<common.IItemTemplate>;
27
- /**
28
- * Gets the ids of the dependencies of an AGOL webmap item.
29
- *
30
- * @param itemTemplate A webmap item whose dependencies are sought
31
- * @param authentication Credentials for any requests
32
- * @returns List of dependencies ids and url/itemId hash
33
- * @private
34
- */
35
- export declare function _extractDependencies(itemTemplate: common.IItemTemplate, authentication: common.UserSession): Promise<common.IWebmapDependencies>;
36
- /**
37
- * Remove the initialState prop from webmaps saved from the new map viewer.
38
- * This allows the map to use the item extent property that we templatize.
39
- *
40
- * Added for issue #662
41
- *
42
- * @param data the data for the web maps item template
43
- * @returns void
44
- * @private
45
- */
46
- export declare function _excludeInitialState(data: any): void;
47
- /**
48
- * Extracts the AGOL itemId for each layer or table object in a list using the url.
49
- *
50
- * @param layerList List of map layers or tables; supported vector tile layers have their styleUrls templatized
51
- * @param dependencies Current list of dependencies
52
- * @param authentication Credentials for any requests
53
- * @returns Updated list of dependencies ids, url/itemId hash (for feature layers),
54
- * and id/styleUrl hash (for vector tile layers)
55
- * @private
56
- */
57
- export declare function _getLayerIds(layerList: any[], dependencies: string[], authentication: common.UserSession): Promise<common.IWebmapDependencies>;
58
- /**
59
- * Templatizes the url and item id for layers or tables within the webmap.
60
- *
61
- * @param layerList List of map layers or tables
62
- * @param urlHash Lookup object for analysis layers; hash from URL to AGO item id
63
- * @param templateDictionary Hash of key details used for variable replacement
64
- * @returns void
65
- * @private
66
- */
67
- export declare function _templatizeWebmapLayerIdsAndUrls(layerList: any[], urlHash: common.IKeyedStrings, templateDictionary: any): void;
68
- /**
69
- * Templatize field references.
70
- *
71
- * @param solutionTemplate The solution item template
72
- * @param datasourceInfos A list of datasource info objects that contain key values to templatize field references
73
- * @returns The solutionTemplate with templatized field references
74
- */
75
- export declare function postProcessFieldReferences(solutionTemplate: common.IItemTemplate, datasourceInfos: common.IDatasourceInfo[]): common.IItemTemplate;
76
- /**
77
- * Templatize field references.
78
- *
79
- * @param solutionTemplate The solution item template
80
- * @param datasourceInfos A list of datasource info objects that contain key values to templatize field references
81
- * @param path A string path to the object property to templatize
82
- * @private
83
- */
84
- export declare function _templatizeProperty(solutionTemplate: common.IItemTemplate, datasourceInfos: common.IDatasourceInfo[], path: string): void;
85
- /**
86
- * Templatize field references.
87
- *
88
- * @param objs Can be operationalLayers or tables or appProperties search layers
89
- * @param datasourceInfos A list of datasource info objects that contain key values to templatize field references
90
- * @returns updated instances of the objects
91
- * @private
92
- */
93
- export declare function _templatize(objs: any[], datasourceInfos: common.IDatasourceInfo[]): any[];
94
- /**
95
- * Get datasourceInfo by map layer id
96
- *
97
- * @param obj Can be operationalLayer or table or appProperties search layer
98
- * @param datasourceInfos A list of datasource info objects that contain key values to templatize field references
99
- * @returns datasourceInfo for the given object id
100
- * @private
101
- */
102
- export declare function _getDatasourceInfo(obj: any, datasourceInfos: common.IDatasourceInfo[]): any;
@@ -1,301 +0,0 @@
1
- /** @license
2
- * Copyright 2018 Esri
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import * as common from "@esri/solution-common";
17
- /**
18
- * The portion of a Webmap URL between the server and the map id.
19
- *
20
- * @private
21
- */
22
- const WEBMAP_APP_URL_PART = "home/webmap/viewer.html?webmap=";
23
- // ------------------------------------------------------------------------------------------------------------------ //
24
- /**
25
- * Converts an AGOL webmap item to a template.
26
- *
27
- * @param itemTemplate Template for the webmap item
28
- * @param destAuthentication Credentials for requests to the destination organization
29
- * @param srcAuthentication Credentials for requests to source items
30
- * @param templateDictionary Hash of key details used for variable replacement
31
- * @returns Template for the solution item that contains key details for item reconstruction
32
- */
33
- export function convertItemToTemplate(itemTemplate, destAuthentication, srcAuthentication, templateDictionary) {
34
- return new Promise((resolve, reject) => {
35
- // Templatize the app URL if it's not a vector tile service
36
- if (itemTemplate.type !== "Vector Tile Service") {
37
- itemTemplate.item.url = itemTemplate.item.url
38
- ? common.checkUrlPathTermination(common.placeholder(common.SERVER_NAME)) +
39
- WEBMAP_APP_URL_PART +
40
- itemTemplate.item.id
41
- : itemTemplate.item.url; // templatized id
42
- }
43
- // Extract dependencies
44
- _extractDependencies(itemTemplate, srcAuthentication).then((results) => {
45
- itemTemplate.dependencies = results.dependencies;
46
- // Templatize the map layer ids after we've extracted them as dependencies
47
- if (itemTemplate.data) {
48
- const baseMapLayers = itemTemplate.data.baseMap?.baseMapLayers;
49
- if (baseMapLayers) {
50
- _templatizeWebmapLayerIdsAndUrls(itemTemplate.data.baseMap.baseMapLayers, results.urlHash, templateDictionary);
51
- }
52
- const operationalLayers = itemTemplate.data.operationalLayers;
53
- if (operationalLayers) {
54
- _templatizeWebmapLayerIdsAndUrls(itemTemplate.data.operationalLayers, results.urlHash, templateDictionary);
55
- }
56
- _templatizeWebmapLayerIdsAndUrls(itemTemplate.data.tables, results.urlHash, templateDictionary);
57
- // Exclude intialState
58
- _excludeInitialState(itemTemplate.data);
59
- }
60
- resolve(itemTemplate);
61
- }, (e) => reject(common.fail(e)));
62
- });
63
- }
64
- /**
65
- * Gets the ids of the dependencies of an AGOL webmap item.
66
- *
67
- * @param itemTemplate A webmap item whose dependencies are sought
68
- * @param authentication Credentials for any requests
69
- * @returns List of dependencies ids and url/itemId hash
70
- * @private
71
- */
72
- export function _extractDependencies(itemTemplate, authentication) {
73
- return new Promise((resolve, reject) => {
74
- const dependencies = [];
75
- if (itemTemplate.data) {
76
- const basemapLayers = itemTemplate.data.baseMap?.baseMapLayers || [];
77
- const opLayers = itemTemplate.data.operationalLayers || [];
78
- const tables = itemTemplate.data.tables || [];
79
- const layersAndTables = basemapLayers.concat(opLayers).concat(tables);
80
- _getLayerIds(layersAndTables, dependencies, authentication).then((results) => {
81
- resolve(results);
82
- }, (e) => reject(common.fail(e)));
83
- }
84
- else {
85
- resolve({
86
- dependencies: dependencies,
87
- urlHash: {},
88
- });
89
- }
90
- });
91
- }
92
- /**
93
- * Remove the initialState prop from webmaps saved from the new map viewer.
94
- * This allows the map to use the item extent property that we templatize.
95
- *
96
- * Added for issue #662
97
- *
98
- * @param data the data for the web maps item template
99
- * @returns void
100
- * @private
101
- */
102
- export function _excludeInitialState(data) {
103
- common.deleteProp(data, "initialState");
104
- }
105
- /**
106
- * Extracts the AGOL itemId for each layer or table object in a list using the url.
107
- *
108
- * @param layerList List of map layers or tables; supported vector tile layers have their styleUrls templatized
109
- * @param dependencies Current list of dependencies
110
- * @param authentication Credentials for any requests
111
- * @returns Updated list of dependencies ids, url/itemId hash (for feature layers),
112
- * and id/styleUrl hash (for vector tile layers)
113
- * @private
114
- */
115
- export function _getLayerIds(layerList, dependencies, authentication) {
116
- return new Promise((resolve, reject) => {
117
- const urlHash = {};
118
- const options = {
119
- f: "json",
120
- authentication: authentication,
121
- };
122
- const layerPromises = [];
123
- const layerChecks = {};
124
- const layers = layerList.filter((layer) => {
125
- // Test for Vector Tile Layers
126
- if (layer.itemId && layer.layerType === "VectorTileLayer") {
127
- // Fetch the item so that we can check if it has the typeKeyword "Vector Tile Style Editor", which ensures
128
- // that the user has edited the style and it is something that could be reasonably be packaged with the
129
- // solution
130
- layerPromises.push(common.getItemBase(layer.itemId, authentication));
131
- return true;
132
- // Handle a feature server layer
133
- }
134
- else if (layer.url && layer.url.indexOf("{{velocityUrl}}") < 0) {
135
- const results = /.+FeatureServer/g.exec(layer.url);
136
- const baseUrl = Array.isArray(results) && results.length > 0 ? results[0] : undefined;
137
- if (baseUrl) {
138
- // avoid redundant checks when we have a layer with subLayers
139
- if (Object.keys(layerChecks).indexOf(baseUrl) < 0) {
140
- layerChecks[baseUrl] = common.request(layer.url, options);
141
- }
142
- layerPromises.push(layerChecks[baseUrl]);
143
- return true;
144
- }
145
- else {
146
- return false;
147
- }
148
- // This layer is not a dependency
149
- }
150
- else {
151
- return false;
152
- }
153
- });
154
- // We have a mix of Vector Tile Layer item base requests and Feature Server info requests
155
- if (layerPromises.length > 0) {
156
- Promise.all(layerPromises).then((responses) => {
157
- responses.forEach((response, i) => {
158
- if (layers[i].layerType === "VectorTileLayer") {
159
- const typeKeywords = common.getProp(response, "typeKeywords");
160
- if (typeKeywords && typeKeywords.includes("Vector Tile Style Editor")) {
161
- // Vector tiles edited by the style editor--flag as a dependency
162
- if (dependencies.indexOf(response.id) < 0) {
163
- dependencies.push(response.id);
164
- }
165
- // Set a flag indicating that this VectorTileLayer should have its id templatized
166
- layers[i].templatizeId = true;
167
- // Templatize the URL to the style resource
168
- const iSuffix = layers[i].styleUrl.indexOf(response.id) + response.id.length;
169
- layers[i].styleUrl = common.templatizeTerm(layers[i].styleUrl.replace(layers[i].styleUrl.substring(0, iSuffix), response.id), response.id, ".itemUrl");
170
- }
171
- }
172
- else if (common.getProp(response, "serviceItemId")) {
173
- // Feature Service
174
- const id = response.serviceItemId;
175
- if (dependencies.indexOf(id) < 0) {
176
- dependencies.push(id);
177
- }
178
- urlHash[layers[i].url] = id;
179
- }
180
- });
181
- resolve({
182
- dependencies,
183
- urlHash,
184
- });
185
- }, (e) => reject(common.fail(e)));
186
- }
187
- else {
188
- resolve({
189
- dependencies,
190
- urlHash,
191
- });
192
- }
193
- });
194
- }
195
- /**
196
- * Templatizes the url and item id for layers or tables within the webmap.
197
- *
198
- * @param layerList List of map layers or tables
199
- * @param urlHash Lookup object for analysis layers; hash from URL to AGO item id
200
- * @param templateDictionary Hash of key details used for variable replacement
201
- * @returns void
202
- * @private
203
- */
204
- export function _templatizeWebmapLayerIdsAndUrls(layerList = [], urlHash, templateDictionary) {
205
- layerList.forEach((layer) => {
206
- // Test for Vector Tile Layers
207
- if (layer.itemId && layer.layerType === "VectorTileLayer") {
208
- // Do we templatize its id? We don't for basemaps, e.g.
209
- if (layer.templatizeId) {
210
- layer.itemId = common.templatizeTerm(layer.itemId, layer.itemId, ".itemId");
211
- delete layer.templatizeId;
212
- }
213
- // Handle a feature server layer
214
- }
215
- else if (layer.url) {
216
- const layerId = layer.url.substr(layer.url.lastIndexOf("/") + 1);
217
- const id = Object.keys(urlHash).indexOf(layer.url) > -1 ? urlHash[layer.url] : undefined;
218
- if (id) {
219
- common.cacheLayerInfo(layerId, id, layer.url, templateDictionary);
220
- layer.url = common.templatizeTerm(id, id, ".layer" + layerId + ".url");
221
- layer.itemId = common.templatizeTerm(id, id, ".layer" + layerId + ".itemId");
222
- }
223
- }
224
- });
225
- }
226
- /**
227
- * Templatize field references.
228
- *
229
- * @param solutionTemplate The solution item template
230
- * @param datasourceInfos A list of datasource info objects that contain key values to templatize field references
231
- * @returns The solutionTemplate with templatized field references
232
- */
233
- export function postProcessFieldReferences(solutionTemplate, datasourceInfos) {
234
- const paths = ["data.operationalLayers", "data.tables", "data.applicationProperties.viewing.search.layers"];
235
- paths.forEach((p) => _templatizeProperty(solutionTemplate, datasourceInfos, p));
236
- return solutionTemplate;
237
- }
238
- /**
239
- * Templatize field references.
240
- *
241
- * @param solutionTemplate The solution item template
242
- * @param datasourceInfos A list of datasource info objects that contain key values to templatize field references
243
- * @param path A string path to the object property to templatize
244
- * @private
245
- */
246
- export function _templatizeProperty(solutionTemplate, datasourceInfos, path) {
247
- const objs = common.getProp(solutionTemplate, path);
248
- if (objs) {
249
- common.setProp(solutionTemplate, path, _templatize(objs, datasourceInfos));
250
- }
251
- }
252
- /**
253
- * Templatize field references.
254
- *
255
- * @param objs Can be operationalLayers or tables or appProperties search layers
256
- * @param datasourceInfos A list of datasource info objects that contain key values to templatize field references
257
- * @returns updated instances of the objects
258
- * @private
259
- */
260
- export function _templatize(objs, datasourceInfos) {
261
- objs.forEach((obj) => {
262
- const ds = _getDatasourceInfo(obj, datasourceInfos);
263
- if (ds) {
264
- const fieldNames = ds.fields.map((f) => f.name);
265
- common._templatizePopupInfo(obj, ds, ds.basePath, ds.itemId, fieldNames);
266
- common._templatizeDefinitionEditor(obj, ds.basePath, fieldNames);
267
- if (obj.layerDefinition) {
268
- common._templatizeDrawingInfo(obj.layerDefinition, ds.basePath, fieldNames);
269
- common._templatizeDefinitionExpression(obj.layerDefinition, ds.basePath, fieldNames);
270
- }
271
- // used for applicationProperties search layers
272
- const fieldName = common.getProp(obj, "field.name");
273
- if (fieldName) {
274
- common.setProp(obj, "field.name", common._templatizeFieldName(fieldName, obj, ds.itemId, ds.basePath));
275
- }
276
- }
277
- });
278
- return objs;
279
- }
280
- /**
281
- * Get datasourceInfo by map layer id
282
- *
283
- * @param obj Can be operationalLayer or table or appProperties search layer
284
- * @param datasourceInfos A list of datasource info objects that contain key values to templatize field references
285
- * @returns datasourceInfo for the given object id
286
- * @private
287
- */
288
- export function _getDatasourceInfo(obj, datasourceInfos) {
289
- let datasourceInfo;
290
- datasourceInfos.some((ds) => {
291
- if (ds.ids.indexOf(obj.id) > -1) {
292
- datasourceInfo = ds;
293
- return true;
294
- }
295
- else {
296
- return false;
297
- }
298
- });
299
- return datasourceInfo;
300
- }
301
- //# sourceMappingURL=webmap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webmap.js","sourceRoot":"","sources":["../../src/webmap.ts"],"names":[],"mappings":"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"}