@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.
- package/package.json +3 -3
- package/dist/cjs/dashboard.d.ts +0 -93
- package/dist/cjs/dashboard.js +0 -351
- package/dist/cjs/dashboard.js.map +0 -1
- package/dist/cjs/helpers/convert-item-to-template.d.ts +0 -34
- package/dist/cjs/helpers/convert-item-to-template.js +0 -199
- package/dist/cjs/helpers/convert-item-to-template.js.map +0 -1
- package/dist/cjs/helpers/create-item-from-template.d.ts +0 -17
- package/dist/cjs/helpers/create-item-from-template.js +0 -145
- package/dist/cjs/helpers/create-item-from-template.js.map +0 -1
- package/dist/cjs/helpers/notebook-helpers.d.ts +0 -19
- package/dist/cjs/helpers/notebook-helpers.js +0 -25
- package/dist/cjs/helpers/notebook-helpers.js.map +0 -1
- package/dist/cjs/helpers/quickcapture-helpers.d.ts +0 -18
- package/dist/cjs/helpers/quickcapture-helpers.js +0 -23
- package/dist/cjs/helpers/quickcapture-helpers.js.map +0 -1
- package/dist/cjs/helpers/simple-type-helpers.d.ts +0 -18
- package/dist/cjs/helpers/simple-type-helpers.js +0 -23
- package/dist/cjs/helpers/simple-type-helpers.js.map +0 -1
- package/dist/cjs/helpers/update-notebook-data.d.ts +0 -17
- package/dist/cjs/helpers/update-notebook-data.js +0 -28
- package/dist/cjs/helpers/update-notebook-data.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -27
- package/dist/cjs/index.js +0 -37
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/notebook.d.ts +0 -73
- package/dist/cjs/notebook.js +0 -164
- package/dist/cjs/notebook.js.map +0 -1
- package/dist/cjs/oic.d.ts +0 -53
- package/dist/cjs/oic.js +0 -170
- package/dist/cjs/oic.js.map +0 -1
- package/dist/cjs/quickcapture.d.ts +0 -75
- package/dist/cjs/quickcapture.js +0 -143
- package/dist/cjs/quickcapture.js.map +0 -1
- package/dist/cjs/simple-types.d.ts +0 -56
- package/dist/cjs/simple-types.js +0 -94
- package/dist/cjs/simple-types.js.map +0 -1
- package/dist/cjs/webmap.d.ts +0 -102
- package/dist/cjs/webmap.js +0 -314
- package/dist/cjs/webmap.js.map +0 -1
- package/dist/cjs/webmappingapplication.d.ts +0 -176
- package/dist/cjs/webmappingapplication.js +0 -661
- package/dist/cjs/webmappingapplication.js.map +0 -1
- package/dist/cjs/workforce.d.ts +0 -34
- package/dist/cjs/workforce.js +0 -45
- package/dist/cjs/workforce.js.map +0 -1
- package/dist/esm/dashboard.d.ts +0 -93
- package/dist/esm/dashboard.js +0 -338
- package/dist/esm/dashboard.js.map +0 -1
- package/dist/esm/helpers/convert-item-to-template.d.ts +0 -34
- package/dist/esm/helpers/convert-item-to-template.js +0 -193
- package/dist/esm/helpers/convert-item-to-template.js.map +0 -1
- package/dist/esm/helpers/create-item-from-template.d.ts +0 -17
- package/dist/esm/helpers/create-item-from-template.js +0 -140
- package/dist/esm/helpers/create-item-from-template.js.map +0 -1
- package/dist/esm/helpers/notebook-helpers.d.ts +0 -19
- package/dist/esm/helpers/notebook-helpers.js +0 -21
- package/dist/esm/helpers/notebook-helpers.js.map +0 -1
- package/dist/esm/helpers/quickcapture-helpers.d.ts +0 -18
- package/dist/esm/helpers/quickcapture-helpers.js +0 -20
- package/dist/esm/helpers/quickcapture-helpers.js.map +0 -1
- package/dist/esm/helpers/simple-type-helpers.d.ts +0 -18
- package/dist/esm/helpers/simple-type-helpers.js +0 -20
- package/dist/esm/helpers/simple-type-helpers.js.map +0 -1
- package/dist/esm/helpers/update-notebook-data.d.ts +0 -17
- package/dist/esm/helpers/update-notebook-data.js +0 -24
- package/dist/esm/helpers/update-notebook-data.js.map +0 -1
- package/dist/esm/index.d.ts +0 -27
- package/dist/esm/index.js +0 -28
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/notebook.d.ts +0 -73
- package/dist/esm/notebook.js +0 -153
- package/dist/esm/notebook.js.map +0 -1
- package/dist/esm/oic.d.ts +0 -53
- package/dist/esm/oic.js +0 -162
- package/dist/esm/oic.js.map +0 -1
- package/dist/esm/quickcapture.d.ts +0 -75
- package/dist/esm/quickcapture.js +0 -131
- package/dist/esm/quickcapture.js.map +0 -1
- package/dist/esm/simple-types.d.ts +0 -56
- package/dist/esm/simple-types.js +0 -86
- package/dist/esm/simple-types.js.map +0 -1
- package/dist/esm/webmap.d.ts +0 -102
- package/dist/esm/webmap.js +0 -301
- package/dist/esm/webmap.js.map +0 -1
- package/dist/esm/webmappingapplication.d.ts +0 -176
- package/dist/esm/webmappingapplication.js +0 -635
- package/dist/esm/webmappingapplication.js.map +0 -1
- package/dist/esm/workforce.d.ts +0 -34
- package/dist/esm/workforce.js +0 -39
- 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>;
|
package/dist/esm/simple-types.js
DELETED
|
@@ -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"}
|
package/dist/esm/webmap.d.ts
DELETED
|
@@ -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;
|
package/dist/esm/webmap.js
DELETED
|
@@ -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
|
package/dist/esm/webmap.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webmap.js","sourceRoot":"","sources":["../../src/webmap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,mBAAmB,GAAW,iCAAiC,CAAC;AAEtE,wHAAwH;AAExH;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAkC,EAClC,kBAAsC,EACtC,iBAAqC,EACrC,kBAAuB;IAEvB,OAAO,IAAI,OAAO,CAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3D,2DAA2D;QAC3D,IAAI,YAAY,CAAC,IAAI,KAAK,qBAAqB,EAAE;YAC/C,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG;gBAC3C,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBACtE,mBAAmB;oBACnB,YAAY,CAAC,IAAI,CAAC,EAAE;gBACtB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB;SAC7C;QAED,uBAAuB;QACvB,oBAAoB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,IAAI,CACxD,CAAC,OAAmC,EAAE,EAAE;YACtC,YAAY,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YAEjD,0EAA0E;YAC1E,IAAI,YAAY,CAAC,IAAI,EAAE;gBACrB,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;gBAC/D,IAAI,aAAa,EAAE;oBACjB,gCAAgC,CAC9B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EACvC,OAAO,CAAC,OAAO,EACf,kBAAkB,CACnB,CAAC;iBACH;gBAED,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC9D,IAAI,iBAAiB,EAAE;oBACrB,gCAAgC,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;iBAC5G;gBAED,gCAAgC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;gBAEhG,sBAAsB;gBACtB,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACzC;YAED,OAAO,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAkC,EAClC,cAAkC;IAElC,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,YAAY,CAAC,IAAI,EAAE;YACrB,MAAM,aAAa,GAAU,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE,CAAC;YAC5E,MAAM,QAAQ,GAAU,YAAY,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;YAClE,MAAM,MAAM,GAAU,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YACrD,MAAM,eAAe,GAAU,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7E,YAAY,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,IAAI,CAC9D,CAAC,OAAO,EAAE,EAAE;gBACV,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC9B,CAAC;SACH;aAAM;YACL,OAAO,CAAC;gBACN,YAAY,EAAE,YAAY;gBAC1B,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAS;IAC5C,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAgB,EAChB,YAAsB,EACtB,cAAkC;IAElC,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAQ;YACnB,CAAC,EAAE,MAAM;YACT,cAAc,EAAE,cAAc;SAC/B,CAAC;QACF,MAAM,aAAa,GAAwB,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAU,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/C,8BAA8B;YAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,iBAAiB,EAAE;gBACzD,0GAA0G;gBAC1G,uGAAuG;gBACvG,WAAW;gBACX,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;gBACrE,OAAO,IAAI,CAAC;gBAEZ,gCAAgC;aACjC;iBAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;gBAChE,MAAM,OAAO,GAAQ,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxD,MAAM,OAAO,GAAW,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9F,IAAI,OAAO,EAAE;oBACX,6DAA6D;oBAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBACjD,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;qBAC3D;oBACD,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzC,OAAO,IAAI,CAAC;iBACb;qBAAM;oBACL,OAAO,KAAK,CAAC;iBACd;gBAED,iCAAiC;aAClC;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CAAC,CAAC;QAEH,yFAAyF;QACzF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAC7B,CAAC,SAAS,EAAE,EAAE;gBACZ,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;oBAChC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,iBAAiB,EAAE;wBAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;wBAC9D,IAAI,YAAY,IAAI,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;4BACrE,gEAAgE;4BAChE,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;gCACzC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;6BAChC;4BAED,iFAAiF;4BACjF,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;4BAE9B,2CAA2C;4BAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC;4BAC7E,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CACxC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,EACjF,QAAQ,CAAC,EAAE,EACX,UAAU,CACX,CAAC;yBACH;qBACF;yBAAM,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE;wBACpD,kBAAkB;wBAClB,MAAM,EAAE,GAAW,QAAQ,CAAC,aAAa,CAAC;wBAC1C,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;4BAChC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBACvB;wBACD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;qBAC7B;gBACH,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC;oBACN,YAAY;oBACZ,OAAO;iBACsB,CAAC,CAAC;YACnC,CAAC,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC9B,CAAC;SACH;aAAM;YACL,OAAO,CAAC;gBACN,YAAY;gBACZ,OAAO;aACsB,CAAC,CAAC;SAClC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gCAAgC,CAC9C,YAAY,EAAW,EACvB,OAA6B,EAC7B,kBAAuB;IAEvB,SAAS,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;QAC/B,8BAA8B;QAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,iBAAiB,EAAE;YACzD,wDAAwD;YACxD,IAAI,KAAK,CAAC,YAAY,EAAE;gBACtB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC5E,OAAO,KAAK,CAAC,YAAY,CAAC;aAC3B;YAED,gCAAgC;SACjC;aAAM,IAAI,KAAK,CAAC,GAAG,EAAE;YACpB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,KAAK,CAAC,GAAc,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7E,MAAM,EAAE,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjG,IAAI,EAAE,EAAE;gBACN,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;gBAClE,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;gBACvE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;aAC9E;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,gBAAsC,EACtC,eAAyC;IAEzC,MAAM,KAAK,GAAa,CAAC,wBAAwB,EAAE,aAAa,EAAE,kDAAkD,CAAC,CAAC;IACtH,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,gBAAsC,EACtC,eAAyC,EACzC,IAAY;IAEZ,MAAM,IAAI,GAAU,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,IAAI,EAAE;QACR,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;KAC5E;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAW,EAAE,eAAyC;IAChF,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,EAAE,GAA2B,kBAAkB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC5E,IAAI,EAAE,EAAE;YACN,MAAM,UAAU,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE1D,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAEzE,MAAM,CAAC,2BAA2B,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAEjE,IAAI,GAAG,CAAC,eAAe,EAAE;gBACvB,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAE5E,MAAM,CAAC,+BAA+B,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aACtF;YAED,+CAA+C;YAC/C,MAAM,SAAS,GAAQ,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YACzD,IAAI,SAAS,EAAE;gBACb,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;aACxG;SACF;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAQ,EAAE,eAAyC;IACpF,IAAI,cAAmB,CAAC;IACxB,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QAC1B,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;YAC/B,cAAc,GAAG,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC,CAAC,CAAC;IACH,OAAO,cAAc,CAAC;AACxB,CAAC"}
|