@esri/solutions-components 0.8.39 → 0.8.40
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/assets/t9n/solution-spatial-ref/resources.json +3 -3
- package/dist/assets/t9n/solution-spatial-ref/resources_en.json +2 -2
- package/dist/assets/t9n/solution-spatial-ref/resources_fr.json +2 -2
- package/dist/assets/t9n/solution-spatial-ref/resources_he.json +2 -2
- package/dist/cjs/_commonjsHelpers-baf43783.js +20 -0
- package/dist/cjs/basemap-gallery_7.cjs.entry.js +3 -2
- package/dist/cjs/buffer-tools_3.cjs.entry.js +3 -2
- package/dist/cjs/calcite-action-pad_2.cjs.entry.js +3 -2
- package/dist/cjs/calcite-alert_4.cjs.entry.js +7 -6
- package/dist/cjs/calcite-block_5.cjs.entry.js +5 -4
- package/dist/cjs/calcite-combobox_3.cjs.entry.js +1 -1
- package/dist/cjs/calcite-dropdown-group_2.cjs.entry.js +3 -2
- package/dist/cjs/calcite-flow_6.cjs.entry.js +3 -2
- package/dist/cjs/calcite-pagination.cjs.entry.js +1 -1
- package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +9 -8
- package/dist/cjs/card-manager_3.cjs.entry.js +6 -5
- package/dist/cjs/{common-03600219.js → common-7ee7ad73.js} +1 -1
- package/dist/cjs/consent-manager.cjs.entry.js +3 -2
- package/dist/cjs/{core-b459e4f2.js → core-7f0bcc12.js} +1 -1
- package/dist/cjs/crowdsource-manager.cjs.entry.js +3 -2
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +3 -2
- package/dist/cjs/{downloadUtils-839a1425.js → downloadUtils-2e169425.js} +7 -7
- package/dist/cjs/{esri-loader-fce6a9cb.js → esri-loader-a56cbcbe.js} +2 -13
- package/dist/cjs/feature-list.cjs.entry.js +7 -6
- package/dist/cjs/{helpers-7cee3150.js → helpers-95c28cf3.js} +1 -1
- package/dist/cjs/{html2canvas-ef5cae40.js → html2canvas-29c6b9cc.js} +2 -2
- package/dist/cjs/{index.es-dd4d4842.js → index.es-301b8d18.js} +11 -10
- package/dist/cjs/instant-apps-ckeditor-wrapper_3.cjs.entry.js +6 -5
- package/dist/cjs/instant-apps-control-panel.cjs.entry.js +3 -2
- package/dist/cjs/instant-apps-create.cjs.entry.js +5 -4
- package/dist/cjs/instant-apps-export.cjs.entry.js +5 -4
- package/dist/cjs/instant-apps-header.cjs.entry.js +3 -2
- package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +5 -4
- package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +4 -3
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +4 -3
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +4 -3
- package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +6 -5
- package/dist/cjs/instant-apps-keyboard-shortcuts.cjs.entry.js +5 -4
- package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +7 -6
- package/dist/cjs/instant-apps-language-translator.cjs.entry.js +7 -6
- package/dist/cjs/instant-apps-measurement.cjs.entry.js +5 -4
- package/dist/cjs/instant-apps-popover.cjs.entry.js +5 -4
- package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +5 -4
- package/dist/cjs/instant-apps-sign-in.cjs.entry.js +5 -4
- package/dist/cjs/instant-apps-splash.cjs.entry.js +5 -4
- package/dist/cjs/{languageSwitcher-1154d55d.js → languageSwitcher-f0bb94fa.js} +1 -1
- package/dist/cjs/{languageUtil-d23251cd.js → languageUtil-f22ce913.js} +1 -1
- package/dist/cjs/layout-manager.cjs.entry.js +3 -2
- package/dist/cjs/{loadModules-4189814e.js → loadModules-36d49819.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{locale-62f4cef2.js → locale-708985a1.js} +2 -2
- package/dist/cjs/{locale-6973733d.js → locale-f6fd03d2.js} +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +6 -5
- package/dist/cjs/{popupUtils-bae7f923.js → popupUtils-36e57a27.js} +2 -2
- package/dist/cjs/public-notification.cjs.entry.js +6 -5
- package/dist/cjs/{purify-4a0e9dfb.js → purify-17c0fc4a.js} +2 -2
- package/dist/cjs/{restHelpersGet-afc74285.js → restHelpersGet-be451f4a.js} +1 -1
- package/dist/cjs/solution-configuration.cjs.entry.js +10 -350
- package/dist/cjs/solution-contents_3.cjs.entry.js +58 -48
- package/dist/cjs/solution-resource-a09a6fe0.js +145 -0
- package/dist/cjs/{solution-store-c8bada29.js → solution-store-d9f3ea44.js} +8 -10
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/cjs/spatial-ref.cjs.entry.js +6 -5
- package/dist/cjs/store-manager.cjs.entry.js +17 -13
- package/dist/cjs/templates-f7a3bf48.js +401 -0
- package/dist/cjs/{utils-1de4eaa0.js → utils-31a22d49.js} +1 -1
- package/dist/collection/components/solution-item/solution-item.js +1 -1
- package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.css +11 -1
- package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +83 -47
- package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.spec.js +25 -24
- package/dist/collection/components/solution-template-data/solution-template-data.js +1 -1
- package/dist/collection/components/solution-variables/solution-variables.js +1 -1
- package/dist/collection/components/spatial-ref/spatial-ref.js +1 -1
- package/dist/collection/components/store-manager/store-manager.js +11 -13
- package/dist/collection/demos/data/election-outreach.json +2981 -0
- package/dist/collection/demos/solution-item.html +7 -6
- package/dist/collection/demos/solution-spatial-ref.html +10 -4
- package/dist/collection/demos/solution-template-data.html +5 -5
- package/dist/collection/utils/interfaces.ts +0 -2
- package/dist/collection/utils/solution-store.js +6 -8
- package/dist/collection/utils/solution-store.ts +12 -13
- package/dist/collection/utils/templates.js +113 -26
- package/dist/collection/utils/templates.ts +125 -30
- package/dist/collection/utils/test/templates.e2e.js +2 -2
- package/dist/collection/utils/test/templates.e2e.ts +2 -2
- package/dist/components/_commonjsHelpers.js +16 -0
- package/dist/components/core.js +1 -1
- package/dist/components/downloadUtils.js +1 -1
- package/dist/components/esri-loader.js +2 -10
- package/dist/components/html2canvas.js +1 -1
- package/dist/components/index.es.js +1 -1
- package/dist/components/instant-apps-interactive-legend-classic2.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/purify.js +1 -1
- package/dist/components/solution-configuration.js +1 -342
- package/dist/components/solution-item2.js +1 -1
- package/dist/components/solution-resource.js +1 -1
- package/dist/components/solution-spatial-ref2.js +52 -44
- package/dist/components/solution-store.js +6 -8
- package/dist/components/solution-template-data2.js +1 -1
- package/dist/components/solution-variables2.js +1 -1
- package/dist/components/spatial-ref2.js +1 -1
- package/dist/components/store-manager.js +11 -13
- package/dist/components/templates.js +395 -0
- package/dist/esm/_commonjsHelpers-089957fe.js +16 -0
- package/dist/esm/basemap-gallery_7.entry.js +3 -2
- package/dist/esm/buffer-tools_3.entry.js +3 -2
- package/dist/esm/calcite-action-pad_2.entry.js +3 -2
- package/dist/esm/calcite-alert_4.entry.js +7 -6
- package/dist/esm/calcite-block_5.entry.js +5 -4
- package/dist/esm/calcite-combobox_3.entry.js +1 -1
- package/dist/esm/calcite-dropdown-group_2.entry.js +3 -2
- package/dist/esm/calcite-flow_6.entry.js +3 -2
- package/dist/esm/calcite-pagination.entry.js +1 -1
- package/dist/esm/calcite-shell-panel_14.entry.js +9 -8
- package/dist/esm/card-manager_3.entry.js +6 -5
- package/dist/esm/{common-8697fccd.js → common-96e3ddb0.js} +1 -1
- package/dist/esm/consent-manager.entry.js +3 -2
- package/dist/esm/{core-4bd4a70f.js → core-6a3c13ac.js} +1 -1
- package/dist/esm/crowdsource-manager.entry.js +3 -2
- package/dist/esm/crowdsource-reporter.entry.js +3 -2
- package/dist/esm/{downloadUtils-97acca92.js → downloadUtils-5fbd8a40.js} +6 -6
- package/dist/esm/{esri-loader-3080dcc0.js → esri-loader-781d738a.js} +2 -10
- package/dist/esm/feature-list.entry.js +7 -6
- package/dist/esm/{helpers-7c88b974.js → helpers-3d53560f.js} +1 -1
- package/dist/esm/{html2canvas-fd387d87.js → html2canvas-6443b68e.js} +1 -1
- package/dist/esm/{index.es-ee5497bc.js → index.es-66571353.js} +6 -5
- package/dist/esm/instant-apps-ckeditor-wrapper_3.entry.js +6 -5
- package/dist/esm/instant-apps-control-panel.entry.js +3 -2
- package/dist/esm/instant-apps-create.entry.js +5 -4
- package/dist/esm/instant-apps-export.entry.js +5 -4
- package/dist/esm/instant-apps-header.entry.js +3 -2
- package/dist/esm/instant-apps-interactive-legend-classic.entry.js +4 -3
- package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +4 -3
- package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +4 -3
- package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +4 -3
- package/dist/esm/instant-apps-interactive-legend.entry.js +6 -5
- package/dist/esm/instant-apps-keyboard-shortcuts.entry.js +5 -4
- package/dist/esm/instant-apps-language-switcher.entry.js +7 -6
- package/dist/esm/instant-apps-language-translator.entry.js +7 -6
- package/dist/esm/instant-apps-measurement.entry.js +5 -4
- package/dist/esm/instant-apps-popover.entry.js +5 -4
- package/dist/esm/instant-apps-scoreboard.entry.js +5 -4
- package/dist/esm/instant-apps-sign-in.entry.js +5 -4
- package/dist/esm/instant-apps-splash.entry.js +5 -4
- package/dist/esm/{languageSwitcher-0f693a04.js → languageSwitcher-b665499d.js} +1 -1
- package/dist/esm/{languageUtil-de206286.js → languageUtil-a3e6adf6.js} +1 -1
- package/dist/esm/layout-manager.entry.js +3 -2
- package/dist/esm/{loadModules-43119ac8.js → loadModules-9c062d08.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{locale-42369411.js → locale-28d48640.js} +1 -1
- package/dist/esm/{locale-70630b7c.js → locale-b4e7d56f.js} +2 -2
- package/dist/esm/map-select-tools_3.entry.js +6 -5
- package/dist/esm/{popupUtils-98ad70f3.js → popupUtils-4a91aa2a.js} +2 -2
- package/dist/esm/public-notification.entry.js +6 -5
- package/dist/esm/{purify-caded4cd.js → purify-72515357.js} +1 -1
- package/dist/esm/{restHelpersGet-dab84057.js → restHelpersGet-5c822bcd.js} +1 -1
- package/dist/esm/solution-configuration.entry.js +7 -347
- package/dist/esm/solution-contents_3.entry.js +58 -48
- package/dist/esm/{solution-resource-a2fff3bf.js → solution-resource-3108caf7.js} +1 -1
- package/dist/esm/{solution-store-30a19a45.js → solution-store-1c36ce1d.js} +8 -10
- package/dist/esm/solutions-components.js +1 -1
- package/dist/esm/spatial-ref.entry.js +6 -5
- package/dist/esm/store-manager.entry.js +17 -13
- package/dist/esm/templates-824ea028.js +395 -0
- package/dist/esm/{utils-9bb48951.js → utils-5484fcbf.js} +1 -1
- package/dist/solutions-components/demos/data/election-outreach.json +2981 -0
- package/dist/solutions-components/demos/solution-item.html +7 -6
- package/dist/solutions-components/demos/solution-spatial-ref.html +10 -4
- package/dist/solutions-components/demos/solution-template-data.html +5 -5
- package/dist/solutions-components/{p-3eb49703.js → p-00291b93.js} +3 -3
- package/dist/solutions-components/p-0cd87dca.entry.js +6 -0
- package/dist/solutions-components/p-13404ad7.entry.js +6 -0
- package/dist/solutions-components/{p-bf27cd5f.js → p-1c3c83a5.js} +1 -1
- package/dist/solutions-components/p-1e6c6ec4.entry.js +6 -0
- package/dist/solutions-components/p-219f209e.entry.js +6 -0
- package/dist/solutions-components/{p-b1abf15c.entry.js → p-2467b476.entry.js} +3 -3
- package/dist/solutions-components/p-295f850a.entry.js +6 -0
- package/dist/solutions-components/p-2961c63c.entry.js +6 -0
- package/dist/solutions-components/{p-946ee345.js → p-2afdcdfc.js} +2 -2
- package/dist/solutions-components/p-2d6d44b5.entry.js +6 -0
- package/dist/solutions-components/p-36e199e0.entry.js +6 -0
- package/dist/solutions-components/{p-d27ab863.js → p-3d7cff5e.js} +1 -1
- package/dist/solutions-components/{p-b2f11718.entry.js → p-3e8562b5.entry.js} +1 -1
- package/dist/solutions-components/{p-49250010.js → p-427b4593.js} +1 -1
- package/dist/solutions-components/{p-f1ae51dc.js → p-44fea43a.js} +1 -1
- package/dist/solutions-components/{p-afd2b67b.entry.js → p-4b27da06.entry.js} +1 -1
- package/dist/solutions-components/{p-7fe77355.js → p-5cc6eb18.js} +1 -1
- package/dist/solutions-components/p-61f88049.entry.js +6 -0
- package/dist/solutions-components/{p-d029b513.js → p-65581d83.js} +1 -1
- package/dist/solutions-components/p-6a68306c.js +6 -0
- package/dist/solutions-components/p-6c7a990a.entry.js +6 -0
- package/dist/solutions-components/p-6e6e6d23.entry.js +6 -0
- package/dist/solutions-components/p-7696af8e.entry.js +6 -0
- package/dist/solutions-components/{p-7afca6b4.js → p-7d1af07b.js} +1 -1
- package/dist/solutions-components/{p-6c7e34c1.entry.js → p-881ead62.entry.js} +2 -2
- package/dist/solutions-components/p-90864588.entry.js +6 -0
- package/dist/solutions-components/{p-59f016a1.js → p-91142a26.js} +1 -1
- package/dist/solutions-components/p-932d6f29.entry.js +6 -0
- package/dist/solutions-components/{p-71c212e6.entry.js → p-969828ab.entry.js} +1 -1
- package/dist/solutions-components/p-986ee365.entry.js +6 -0
- package/dist/solutions-components/p-9e3b0220.entry.js +6 -0
- package/dist/solutions-components/{p-7996f123.js → p-a0300d31.js} +1 -1
- package/dist/solutions-components/p-a8d62b7d.entry.js +6 -0
- package/dist/solutions-components/p-ae50581b.entry.js +6 -0
- package/dist/solutions-components/{p-89f6ff72.js → p-af2c8aa9.js} +1 -1
- package/dist/solutions-components/p-b7123452.entry.js +6 -0
- package/dist/solutions-components/p-b92e9047.entry.js +6 -0
- package/dist/solutions-components/p-bb7463ed.entry.js +6 -0
- package/dist/solutions-components/p-bbc7dd5e.entry.js +6 -0
- package/dist/solutions-components/p-bd871071.entry.js +21 -0
- package/dist/solutions-components/p-c6fd40f9.entry.js +6 -0
- package/dist/solutions-components/{p-42ea2581.js → p-c742acd9.js} +1 -1
- package/dist/solutions-components/p-cb4842dd.entry.js +6 -0
- package/dist/solutions-components/{p-bd459df3.entry.js → p-ccd1e256.entry.js} +2 -2
- package/dist/solutions-components/p-ce4b6931.entry.js +6 -0
- package/dist/solutions-components/p-d2de2b2a.entry.js +6 -0
- package/dist/solutions-components/p-d300430b.entry.js +6 -0
- package/dist/solutions-components/p-d4056c1c.js +6 -0
- package/dist/solutions-components/p-d73b90ab.entry.js +6 -0
- package/dist/solutions-components/{p-4e92c1ba.entry.js → p-dae9d5b3.entry.js} +1 -1
- package/dist/solutions-components/p-df56c019.entry.js +6 -0
- package/dist/solutions-components/p-e80751f4.entry.js +6 -0
- package/dist/solutions-components/{p-132b1138.entry.js → p-e8ed3fa6.entry.js} +2 -2
- package/dist/solutions-components/{p-1d369231.js → p-eed41e1a.js} +1 -1
- package/dist/solutions-components/p-fdd93685.js +22 -0
- package/dist/solutions-components/{p-6acf6c8f.js → p-ff87b9de.js} +1 -1
- package/dist/solutions-components/{p-c9b22653.js → p-ffd41e25.js} +1 -1
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +0 -2
- package/dist/solutions-components/utils/solution-store.ts +12 -13
- package/dist/solutions-components/utils/templates.ts +125 -30
- package/dist/solutions-components/utils/test/templates.e2e.ts +2 -2
- package/dist/solutions-components_commit.txt +8 -0
- package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +21 -25
- package/dist/types/components/store-manager/store-manager.d.ts +3 -3
- package/dist/types/components.d.ts +10 -2
- package/dist/types/utils/templates.d.ts +35 -5
- package/package.json +5 -4
- package/dist/cjs/solution-resource-ffe3c333.js +0 -145
- package/dist/solutions-components/p-11b4cd1a.entry.js +0 -6
- package/dist/solutions-components/p-123fcb43.entry.js +0 -6
- package/dist/solutions-components/p-12b84e3b.entry.js +0 -36
- package/dist/solutions-components/p-1a8f7075.entry.js +0 -6
- package/dist/solutions-components/p-2a7111ad.entry.js +0 -6
- package/dist/solutions-components/p-36f5dee9.entry.js +0 -6
- package/dist/solutions-components/p-52bcd209.entry.js +0 -6
- package/dist/solutions-components/p-57961ae0.entry.js +0 -6
- package/dist/solutions-components/p-5b2d9899.entry.js +0 -6
- package/dist/solutions-components/p-5bd6a732.entry.js +0 -6
- package/dist/solutions-components/p-5fb4ddc2.entry.js +0 -6
- package/dist/solutions-components/p-622f33ee.entry.js +0 -6
- package/dist/solutions-components/p-652140aa.entry.js +0 -6
- package/dist/solutions-components/p-6d0404a6.entry.js +0 -6
- package/dist/solutions-components/p-789eb1c2.entry.js +0 -6
- package/dist/solutions-components/p-7a2f1801.entry.js +0 -6
- package/dist/solutions-components/p-7dcf6b16.entry.js +0 -6
- package/dist/solutions-components/p-8413a2ae.entry.js +0 -6
- package/dist/solutions-components/p-941e55f0.entry.js +0 -6
- package/dist/solutions-components/p-9b38e6a0.entry.js +0 -6
- package/dist/solutions-components/p-9c1fbf73.entry.js +0 -6
- package/dist/solutions-components/p-9d82f0e3.entry.js +0 -6
- package/dist/solutions-components/p-9fa1855f.entry.js +0 -6
- package/dist/solutions-components/p-a2390bee.entry.js +0 -6
- package/dist/solutions-components/p-a805c11f.entry.js +0 -6
- package/dist/solutions-components/p-af1c9389.entry.js +0 -6
- package/dist/solutions-components/p-b7d060b0.entry.js +0 -6
- package/dist/solutions-components/p-c4160bf7.js +0 -6
- package/dist/solutions-components/p-da75df88.entry.js +0 -6
- package/dist/solutions-components/p-e0277e0b.entry.js +0 -6
- package/dist/solutions-components/p-e11a4728.entry.js +0 -6
- package/dist/solutions-components/p-e89c05d6.entry.js +0 -6
- /package/dist/solutions-components/{p-8ad54f5c.js → p-e3196917.js} +0 -0
@@ -8,10 +8,11 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-ff18be0d.js');
|
11
|
-
const locale = require('./locale-
|
12
|
-
const common = require('./common-
|
13
|
-
require('./esri-loader-
|
14
|
-
require('./
|
11
|
+
const locale = require('./locale-f6fd03d2.js');
|
12
|
+
const common = require('./common-7ee7ad73.js');
|
13
|
+
require('./esri-loader-a56cbcbe.js');
|
14
|
+
require('./_commonjsHelpers-baf43783.js');
|
15
|
+
require('./solution-resource-a09a6fe0.js');
|
15
16
|
require('./index-f64944ad.js');
|
16
17
|
require('./interfaces-7cd0a48a.js');
|
17
18
|
|
@@ -21103,7 +21104,7 @@ const SpatialRef = class {
|
|
21103
21104
|
* Renders the component.
|
21104
21105
|
*/
|
21105
21106
|
render() {
|
21106
|
-
return (index.h(index.Host, { key: '
|
21107
|
+
return (index.h(index.Host, { key: '23f3f6ff3d7eeeaeb8fb916532302a241fdbc078' }, index.h("div", { key: 'ea7631c0c26d451a72bd68e24ccb3ac757cf73f3' }, index.h("calcite-input", { key: '32d27336b3bc34ee6cd0d3c7ac3e52de7ee8011e', disabled: this.disabled, id: "calcite-sr-search", onKeyUp: (evt) => this._searchInputKeyDown(evt), placeholder: this._translations.spatialReferencePlaceholder }), index.h("calcite-tree", { key: '927f03277a45d5cf256306a2246bccffc0d296cb', id: "calcite-sr-tree", slot: "children" }, this._getTreeContent()))));
|
21107
21108
|
}
|
21108
21109
|
//--------------------------------------------------------------------------
|
21109
21110
|
//
|
@@ -8,6 +8,14 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-ff18be0d.js');
|
11
|
+
const solutionStore = require('./solution-store-d9f3ea44.js');
|
12
|
+
const templates = require('./templates-f7a3bf48.js');
|
13
|
+
require('./index-97020c9d.js');
|
14
|
+
require('./interfaces-7cd0a48a.js');
|
15
|
+
require('./solution-resource-a09a6fe0.js');
|
16
|
+
require('./_commonjsHelpers-baf43783.js');
|
17
|
+
require('./index-f64944ad.js');
|
18
|
+
require('./restHelpersGet-be451f4a.js');
|
11
19
|
|
12
20
|
const StoreManager = class {
|
13
21
|
constructor(hostRef) {
|
@@ -33,26 +41,22 @@ const StoreManager = class {
|
|
33
41
|
}
|
34
42
|
/**
|
35
43
|
* Initialize the observer that will monitor and respond to changes in the value.
|
36
|
-
* When we get a new value we are
|
44
|
+
* When we get a new value we are dealing with a new solution and need to fetch the item's data and load the state.
|
37
45
|
*/
|
38
46
|
_initValueObserver() {
|
39
|
-
|
47
|
+
const self = this;
|
40
48
|
this._valueObserver = new MutationObserver(ml => {
|
41
49
|
ml.some(mutation => {
|
42
50
|
const newValue = mutation.target[mutation.attributeName];
|
43
51
|
if (mutation.type === 'attributes' && mutation.attributeName === "value" &&
|
44
52
|
newValue !== mutation.oldValue && newValue !== "") {
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
self.templates = v;
|
53
|
-
self.stateLoaded.emit(state);
|
54
|
-
});
|
55
|
-
*/
|
53
|
+
const solutionData = JSON.parse(newValue);
|
54
|
+
solutionStore.state.setStoreInfo("solutionData", solutionData);
|
55
|
+
const services = templates.getFeatureServices(solutionData.templates);
|
56
|
+
solutionStore.state.setStoreInfo("featureServices", services);
|
57
|
+
solutionStore.state.setStoreInfo("spatialReferenceInfo", templates.getSpatialReferenceInfo(services, solutionData));
|
58
|
+
//self.templates = solutionData;
|
59
|
+
self.stateLoaded.emit(solutionStore.state);
|
56
60
|
return true;
|
57
61
|
}
|
58
62
|
});
|
@@ -0,0 +1,401 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2022 Esri
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
4
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
5
|
+
*/
|
6
|
+
'use strict';
|
7
|
+
|
8
|
+
require('./solution-resource-a09a6fe0.js');
|
9
|
+
const restHelpersGet = require('./restHelpersGet-be451f4a.js');
|
10
|
+
require('./index-f64944ad.js');
|
11
|
+
|
12
|
+
/** @license
|
13
|
+
* Copyright 2022 Esri
|
14
|
+
*
|
15
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
16
|
+
* you may not use this file except in compliance with the License.
|
17
|
+
* You may obtain a copy of the License at
|
18
|
+
*
|
19
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
20
|
+
*
|
21
|
+
* Unless required by applicable law or agreed to in writing, software
|
22
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
23
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
24
|
+
* See the License for the specific language governing permissions and
|
25
|
+
* limitations under the License.
|
26
|
+
*/
|
27
|
+
//--------------------------------------------------------------------------
|
28
|
+
//
|
29
|
+
// Public Functions
|
30
|
+
//
|
31
|
+
//--------------------------------------------------------------------------
|
32
|
+
/**
|
33
|
+
* Gets a list of Feature Services that are not views along with an enabled property that indicates
|
34
|
+
* if the service currently uses a spatial reference variable.
|
35
|
+
*
|
36
|
+
* @param templates a list of item templates from the solution
|
37
|
+
*
|
38
|
+
* @returns a list of feature service names and an enabled property to indicate
|
39
|
+
* if they currently use a spatial reference variable.
|
40
|
+
*/
|
41
|
+
function getFeatureServices(templates) {
|
42
|
+
return templates.reduce((prev, cur) => {
|
43
|
+
const name = cur.item.title || cur.item.name;
|
44
|
+
if (cur.type === "Feature Service" &&
|
45
|
+
cur.item.typeKeywords.indexOf("View Service") < 0 &&
|
46
|
+
prev.indexOf(name) < 0) {
|
47
|
+
const wkid = restHelpersGet.getProp(cur, "properties.service.spatialReference.wkid");
|
48
|
+
prev.push({ name, enabled: wkid.toString().startsWith("{{params.wkid||") });
|
49
|
+
}
|
50
|
+
return prev;
|
51
|
+
}, []);
|
52
|
+
}
|
53
|
+
/**
|
54
|
+
* Sort the solution items
|
55
|
+
*
|
56
|
+
* @param templates a list of item templates from the solution
|
57
|
+
*
|
58
|
+
* @returns a sorted list of solution items
|
59
|
+
*/
|
60
|
+
function getInventoryItems(templates) {
|
61
|
+
const hierarchy = getItemHierarchy(templates);
|
62
|
+
const ids = hierarchy.reduce((prev, cur) => {
|
63
|
+
prev.push(cur.id);
|
64
|
+
return prev;
|
65
|
+
}, []);
|
66
|
+
return templates.reduce((prev, cur) => {
|
67
|
+
if (ids.indexOf(cur.itemId) > -1) {
|
68
|
+
const hierarchyItems = hierarchy.filter(hi => hi.id === cur.itemId);
|
69
|
+
prev.push(_getItemFromTemplate(cur, templates, hierarchyItems[0].dependencies));
|
70
|
+
}
|
71
|
+
return prev;
|
72
|
+
}, []);
|
73
|
+
}
|
74
|
+
/**
|
75
|
+
* Create item hierarchy that will avoid issues from cylical dependencies
|
76
|
+
*
|
77
|
+
* @param templates a list of item templates from the solution
|
78
|
+
*
|
79
|
+
* @returns a hierarchy for item and item dependency display
|
80
|
+
*/
|
81
|
+
function getItemHierarchy(templates) {
|
82
|
+
const hierarchy = [];
|
83
|
+
// Get the template specified by id out of a list of templates
|
84
|
+
function getTemplateInSolution(templates, id) {
|
85
|
+
const iTemplate = templates.findIndex((template) => id === template.itemId);
|
86
|
+
return iTemplate >= 0 ? templates[iTemplate] : null;
|
87
|
+
}
|
88
|
+
// Hierarchically list the dependencies of specified node
|
89
|
+
function traceItemId(id, accumulatedHierarchy, alreadyVisitedIds = []) {
|
90
|
+
// Get the dependencies of the node
|
91
|
+
const template = getTemplateInSolution(templates, id);
|
92
|
+
/* istanbul ignore else */
|
93
|
+
if (template) {
|
94
|
+
const templateEntry = {
|
95
|
+
id,
|
96
|
+
dependencies: []
|
97
|
+
};
|
98
|
+
// Visit each dependency, but only if this template is not in the alreadyVisitedIds list to avoid infinite loops
|
99
|
+
/* istanbul ignore else */
|
100
|
+
if (alreadyVisitedIds.indexOf(id) < 0) {
|
101
|
+
// Add dependency to alreadyVisitedIds list
|
102
|
+
alreadyVisitedIds.push(id);
|
103
|
+
template.dependencies.forEach((dependencyId) => {
|
104
|
+
// Remove dependency from list of templates to visit in the top-level loop
|
105
|
+
const iDependencyTemplate = templateItemIds.indexOf(dependencyId);
|
106
|
+
/* istanbul ignore else */
|
107
|
+
if (iDependencyTemplate >= 0) {
|
108
|
+
templateItemIds.splice(iDependencyTemplate, 1);
|
109
|
+
}
|
110
|
+
traceItemId(dependencyId, templateEntry.dependencies, alreadyVisitedIds);
|
111
|
+
});
|
112
|
+
}
|
113
|
+
accumulatedHierarchy.push(templateEntry);
|
114
|
+
}
|
115
|
+
}
|
116
|
+
// Start with top-level nodes and add in the rest of the nodes to catch cycles without top-level nodes
|
117
|
+
let templateItemIds = _getTopLevelItemIds(templates);
|
118
|
+
const otherItems = templates
|
119
|
+
.filter((template) => templateItemIds.indexOf(template.itemId) < 0) // only keep non-top-level nodes
|
120
|
+
.sort((a, b) => b.dependencies.length - a.dependencies.length); // sort so that nodes with more dependencies come first--reduces stubs
|
121
|
+
templateItemIds = templateItemIds.concat(otherItems.map((template) => template.itemId));
|
122
|
+
// Step through the list of nodes; we'll also remove nodes as we visit them
|
123
|
+
let itemId = templateItemIds.shift();
|
124
|
+
while (typeof itemId !== "undefined") {
|
125
|
+
traceItemId(itemId, hierarchy);
|
126
|
+
itemId = templateItemIds.shift();
|
127
|
+
}
|
128
|
+
return hierarchy;
|
129
|
+
}
|
130
|
+
/**
|
131
|
+
* Set key organization variables we will allow users to insert at runtime
|
132
|
+
*
|
133
|
+
* @param translations nls translation object
|
134
|
+
*
|
135
|
+
* @returns a list of variables for the organization
|
136
|
+
*/
|
137
|
+
function getOrganizationVariables(translations) {
|
138
|
+
const orgVars = [{
|
139
|
+
id: "",
|
140
|
+
title: translations.geocodeUrl,
|
141
|
+
value: "{{organization.helperServices.geocode:getDefaultLocatorURL}}"
|
142
|
+
}, {
|
143
|
+
id: "",
|
144
|
+
title: translations.geometryUrl,
|
145
|
+
value: "{{organization.helperServices.geometry.url}}"
|
146
|
+
}, {
|
147
|
+
id: "",
|
148
|
+
title: translations.portalBaseUrl,
|
149
|
+
value: "{{portalBaseUrl}}"
|
150
|
+
}, {
|
151
|
+
id: "",
|
152
|
+
title: translations.routeUrl,
|
153
|
+
value: "{{organization.helperServices.route.url}}"
|
154
|
+
}, {
|
155
|
+
id: "",
|
156
|
+
title: translations.solutionItemExtent,
|
157
|
+
value: "{{solutionItemExtent}}"
|
158
|
+
}];
|
159
|
+
return orgVars;
|
160
|
+
}
|
161
|
+
/**
|
162
|
+
* Explore the solution item templates for variables we will allow users to insert at runtime
|
163
|
+
*
|
164
|
+
* @param templates a list of item templates from the solution
|
165
|
+
* @param translations nls translation object
|
166
|
+
*
|
167
|
+
* @returns a list of variables from the solution item templates
|
168
|
+
*/
|
169
|
+
function getSolutionVariables(templates, translations) {
|
170
|
+
const vars = [];
|
171
|
+
templates.forEach(t => {
|
172
|
+
const item = {
|
173
|
+
id: t.itemId,
|
174
|
+
title: t.item.title || t.item.name,
|
175
|
+
type: t.type,
|
176
|
+
value: undefined,
|
177
|
+
dependencies: [{
|
178
|
+
id: t.itemId,
|
179
|
+
title: translations.itemId,
|
180
|
+
value: `{{${t.itemId}.itemId}}`,
|
181
|
+
}]
|
182
|
+
};
|
183
|
+
if (t.item.url) {
|
184
|
+
item.dependencies.push({
|
185
|
+
id: t.itemId,
|
186
|
+
title: translations.url,
|
187
|
+
value: `{{${t.itemId}.url}}`,
|
188
|
+
});
|
189
|
+
}
|
190
|
+
if (t.type === "Feature Service") {
|
191
|
+
// TODO need to set source service name var...
|
192
|
+
// TODO need to set soure service shape field name "{{d05b3cf1ffcb4a4fa677627dfb18609e.name}}.Shape"
|
193
|
+
item.dependencies.push({
|
194
|
+
id: t.itemId,
|
195
|
+
title: translations.solutionExtent,
|
196
|
+
value: `{{${t.itemId}.solutionExtent}}`,
|
197
|
+
});
|
198
|
+
_addLayersOrTables(t.properties.layers || [], item, t, translations);
|
199
|
+
_addLayersOrTables(t.properties.tables || [], item, t, translations);
|
200
|
+
}
|
201
|
+
vars.push(item);
|
202
|
+
});
|
203
|
+
return vars;
|
204
|
+
}
|
205
|
+
/**
|
206
|
+
* Stores basic spatial reference information that is used to determine if a custom spatial reference parameter will
|
207
|
+
* be exposed while deploying this solution and if so what feature services will support it and what will the default wkid be
|
208
|
+
*
|
209
|
+
* @param services a list of objects with service name and enabled property (indicates if they currently use a spatial reference var)
|
210
|
+
* @param data the data object of a solution item
|
211
|
+
*
|
212
|
+
* @returns an object that stores if a custom spatial reference parameter is enabled/disabled,
|
213
|
+
* a list of services and if they are enabled/disabled, and the default wkid
|
214
|
+
*/
|
215
|
+
function getSpatialReferenceInfo(services, data) {
|
216
|
+
const defaultServices = {};
|
217
|
+
services.forEach(service => {
|
218
|
+
defaultServices[service.name] = service.enabled;
|
219
|
+
});
|
220
|
+
const wkid = restHelpersGet.getProp(data, "params.wkid.default");
|
221
|
+
return {
|
222
|
+
enabled: wkid !== undefined && wkid !== "",
|
223
|
+
services: defaultServices,
|
224
|
+
spatialReference: wkid ? { wkid } : undefined
|
225
|
+
};
|
226
|
+
}
|
227
|
+
//--------------------------------------------------------------------------
|
228
|
+
//
|
229
|
+
// Private Functions
|
230
|
+
//
|
231
|
+
//--------------------------------------------------------------------------
|
232
|
+
/**
|
233
|
+
* Explore a solution item template for variables we will allow users to insert at runtime.
|
234
|
+
* This function will update the item argument that is passed in with the var details.
|
235
|
+
*
|
236
|
+
* @param children a list of layers or tables from a template
|
237
|
+
* @param item an object that store key details for a given variable
|
238
|
+
* @param template one of the templates from the current solution
|
239
|
+
* @param translations nls translations object
|
240
|
+
*
|
241
|
+
*/
|
242
|
+
function _addLayersOrTables(children, item, template, translations) {
|
243
|
+
children.forEach(l => {
|
244
|
+
const name = l.name && l.name.indexOf("||") > -1 ? l.name.split("||")[1].replace("}}", "").trim() : l.name;
|
245
|
+
item.dependencies.push({
|
246
|
+
id: template.itemId,
|
247
|
+
title: `${name} (${translations.id})`,
|
248
|
+
value: `{{${template.itemId}.layer${l.id}.id}}`,
|
249
|
+
});
|
250
|
+
item.dependencies.push({
|
251
|
+
id: template.itemId,
|
252
|
+
title: `${name} (${translations.name})`,
|
253
|
+
value: `{{${template.itemId}.layer${l.id}.name||${name}}}`,
|
254
|
+
});
|
255
|
+
});
|
256
|
+
}
|
257
|
+
/**
|
258
|
+
* Capture key details from the solution item template
|
259
|
+
*
|
260
|
+
* @param template one of the templates from the current solution
|
261
|
+
* @param templates full list of templates
|
262
|
+
* @param dependencies list of hierarchical dependencies
|
263
|
+
*
|
264
|
+
* @returns an IInventoryItem that is used by other components to work with this template
|
265
|
+
*/
|
266
|
+
function _getItemFromTemplate(template, templates, dependencies) {
|
267
|
+
return {
|
268
|
+
id: template.itemId || "",
|
269
|
+
title: template.item.title || "",
|
270
|
+
dependencies: _getDependencies(dependencies, templates),
|
271
|
+
type: template.item.type || "",
|
272
|
+
typeKeywords: template.item.typeKeywords || [] /*,
|
273
|
+
solutionItem: {
|
274
|
+
itemId: template.itemId,
|
275
|
+
itemDetails: _getItemDetails(template.item, template.type === "Group"),
|
276
|
+
isResource: _getIsResource(template),
|
277
|
+
data: template.data,
|
278
|
+
properties: template.properties,
|
279
|
+
type: template.type,
|
280
|
+
groupDetails: _getGroupDetails(template, templates)
|
281
|
+
}*/
|
282
|
+
};
|
283
|
+
}
|
284
|
+
/**
|
285
|
+
* Capture key details from the solution item template
|
286
|
+
*
|
287
|
+
* @param dependencies list of dependencies from a template
|
288
|
+
* @param templates full list of templates
|
289
|
+
*
|
290
|
+
* @returns a list of IInventoryItem that are used by other components to work with the templates
|
291
|
+
*/
|
292
|
+
function _getDependencies(dependencies, templates) {
|
293
|
+
const dependencyItems = [];
|
294
|
+
const depIds = dependencies.reduce((prev, cur) => {
|
295
|
+
prev.push(cur.id);
|
296
|
+
dependencyItems.push(cur);
|
297
|
+
return prev;
|
298
|
+
}, []);
|
299
|
+
return templates.reduce((prev, curr) => {
|
300
|
+
const i = depIds.indexOf(curr.itemId);
|
301
|
+
if (i > -1) {
|
302
|
+
prev.push(_getItemFromTemplate(curr, templates, dependencyItems[i].dependencies));
|
303
|
+
}
|
304
|
+
return prev;
|
305
|
+
}, []);
|
306
|
+
}
|
307
|
+
/**
|
308
|
+
* Capture the key item details for a given template
|
309
|
+
*
|
310
|
+
* @param item the templates item
|
311
|
+
* @param isGroup boolean to indicate if the item is a group
|
312
|
+
* @param itemId the item id of the template
|
313
|
+
*
|
314
|
+
* @returns a IItemDetails object for the current item
|
315
|
+
*/
|
316
|
+
/*
|
317
|
+
function _getItemDetails(
|
318
|
+
item: any,
|
319
|
+
isGroup: boolean
|
320
|
+
): IItemDetails {
|
321
|
+
return {
|
322
|
+
title: item.title || "",
|
323
|
+
snippet: item.snippet || "",
|
324
|
+
description: item.description || "",
|
325
|
+
tags: item.tags || [],
|
326
|
+
accessInformation: !isGroup ? item.accessInformation || "" : "",
|
327
|
+
licenseInfo: !isGroup ? item.licenseInfo || "" : ""
|
328
|
+
};
|
329
|
+
}
|
330
|
+
*/
|
331
|
+
/**
|
332
|
+
* Capture the key item details for a given group template
|
333
|
+
*
|
334
|
+
* @param template one of the templates from the current solution
|
335
|
+
* @param templates full list of templates
|
336
|
+
*
|
337
|
+
* @returns a list of IItemShare objects
|
338
|
+
*/
|
339
|
+
/*
|
340
|
+
function _getGroupDetails(
|
341
|
+
template: any,
|
342
|
+
templates: any[]
|
343
|
+
): IItemShare[] {
|
344
|
+
return template.type === "Group" ? templates.reduce((prev, cur) => {
|
345
|
+
if (cur.itemId !== template.itemId && cur.type !== "Group") {
|
346
|
+
prev.push({
|
347
|
+
id: cur.itemId,
|
348
|
+
title: cur.item.name || cur.item.title,
|
349
|
+
isShared: (cur.groups || []).indexOf(template.itemId) > -1,
|
350
|
+
shareItem: (cur.groups || []).indexOf(template.itemId) > -1,
|
351
|
+
type: cur.type,
|
352
|
+
typeKeywords: cur.item.typeKeywords
|
353
|
+
});
|
354
|
+
}
|
355
|
+
return prev;
|
356
|
+
}, []) : [];
|
357
|
+
}
|
358
|
+
*/
|
359
|
+
/**
|
360
|
+
* Used to understand if we are dealing with a binary object that will support upload/download
|
361
|
+
*
|
362
|
+
* @param template one of the templates from the current solution
|
363
|
+
*
|
364
|
+
* @returns true if this item supports upload/download
|
365
|
+
*/
|
366
|
+
/*
|
367
|
+
function _getIsResource(
|
368
|
+
template: any
|
369
|
+
): boolean {
|
370
|
+
return template.type !== "Group" && template.resources.some(r => r.indexOf("_info_thumbnail") < 0) &&
|
371
|
+
(template.data === null || JSON.stringify(template.data) === "{}");
|
372
|
+
}
|
373
|
+
*/
|
374
|
+
/**
|
375
|
+
* Sort the template ids based on their dependencies
|
376
|
+
*
|
377
|
+
* @param templates full list of templates
|
378
|
+
*
|
379
|
+
* @returns a list of Itop level item ids
|
380
|
+
*/
|
381
|
+
function _getTopLevelItemIds(templates) {
|
382
|
+
// Find the top-level nodes. Start with all nodes, then remove those that other nodes depend on
|
383
|
+
const topLevelItemCandidateIds = templates.map((template) => template.itemId);
|
384
|
+
templates.forEach((template) => {
|
385
|
+
(template.dependencies || []).forEach((dependencyId) => {
|
386
|
+
const iNode = topLevelItemCandidateIds.indexOf(dependencyId);
|
387
|
+
if (iNode >= 0) {
|
388
|
+
// Node is somebody's dependency, so remove the node from the list of top-level nodes
|
389
|
+
// If iNode == -1, then it's a shared dependency and it has already been removed
|
390
|
+
topLevelItemCandidateIds.splice(iNode, 1);
|
391
|
+
}
|
392
|
+
});
|
393
|
+
});
|
394
|
+
return topLevelItemCandidateIds;
|
395
|
+
}
|
396
|
+
|
397
|
+
exports.getFeatureServices = getFeatureServices;
|
398
|
+
exports.getInventoryItems = getInventoryItems;
|
399
|
+
exports.getOrganizationVariables = getOrganizationVariables;
|
400
|
+
exports.getSolutionVariables = getSolutionVariables;
|
401
|
+
exports.getSpatialReferenceInfo = getSpatialReferenceInfo;
|
@@ -50,7 +50,7 @@ export class SolutionItem {
|
|
50
50
|
* Renders the component.
|
51
51
|
*/
|
52
52
|
render() {
|
53
|
-
return (h(Host, { key: '
|
53
|
+
return (h(Host, { key: '16de446a44799754d7066eb5cc587585fc9e37c8' }, h("div", { key: 'ddb7c1e6c86657502dc4b293d495f3b4dee594cf', class: "configuration-container" }, h("div", { key: '016954a98a5eb229a1f9eb2a4b9260daff3593bf', class: "configuration" }, this._showGroupTabs(this.itemType === "Group"), this._showItemTabs(this.itemType !== "Group")))));
|
54
54
|
}
|
55
55
|
//--------------------------------------------------------------------------
|
56
56
|
//
|
@@ -42,7 +42,6 @@
|
|
42
42
|
}
|
43
43
|
|
44
44
|
.switch-label {
|
45
|
-
margin: 0.25rem;
|
46
45
|
font-size: 0.875rem;
|
47
46
|
line-height: 1.25rem;
|
48
47
|
}
|
@@ -55,4 +54,15 @@
|
|
55
54
|
.spatial-ref-desc {
|
56
55
|
padding-bottom: 0.5rem;
|
57
56
|
padding-inline-start: 0.25rem;
|
57
|
+
}
|
58
|
+
|
59
|
+
.spatial-ref-services-list {
|
60
|
+
margin-block-start: 0.5em;
|
61
|
+
margin-block-end: 0.5em;
|
62
|
+
list-style-type: none;
|
63
|
+
padding-inline-start: 0;
|
64
|
+
}
|
65
|
+
|
66
|
+
.spatial-ref-services-list-item {
|
67
|
+
margin-top: 0.25rem;
|
58
68
|
}
|