@esri/solutions-components 0.7.23 → 0.7.24
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/assets/t9n/crowdsource-manager/resources.json +1 -3
- package/dist/assets/t9n/crowdsource-manager/resources_en.json +1 -3
- package/dist/assets/t9n/crowdsource-reporter/resources.json +18 -1
- package/dist/assets/t9n/crowdsource-reporter/resources_en.json +18 -1
- package/dist/assets/t9n/delete-button/resources.json +8 -0
- package/dist/assets/t9n/delete-button/resources_en.json +8 -0
- package/dist/assets/t9n/feature-list/resources.json +4 -0
- package/dist/assets/t9n/feature-list/resources_en.json +4 -0
- package/dist/assets/t9n/info-card/resources.json +1 -1
- package/dist/assets/t9n/info-card/resources_en.json +1 -1
- package/dist/assets/t9n/layer-list/resources.json +4 -0
- package/dist/assets/t9n/layer-list/resources_en.json +4 -0
- package/dist/assets/t9n/layer-table/resources.json +0 -9
- package/dist/assets/t9n/layer-table/resources_en.json +0 -9
- package/dist/cjs/basemap-gallery_5.cjs.entry.js +573 -0
- package/dist/cjs/buffer-tools_3.cjs.entry.js +1 -1
- package/dist/cjs/calcite-action-bar.cjs.entry.js +255 -0
- package/dist/cjs/calcite-alert_3.cjs.entry.js +136 -357
- package/dist/cjs/calcite-combobox_6.cjs.entry.js +2 -1
- package/dist/cjs/{calcite-action-bar_3.cjs.entry.js → calcite-filter_5.cjs.entry.js} +333 -172
- package/dist/cjs/calcite-flow_4.cjs.entry.js +658 -0
- package/dist/cjs/calcite-input-date-picker_3.cjs.entry.js +22 -11
- package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2 -1
- package/dist/cjs/{card-manager_3.cjs.entry.js → card-manager_2.cjs.entry.js} +48 -268
- package/dist/cjs/crowdsource-manager.cjs.entry.js +18 -3
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +215 -36
- package/dist/cjs/{basemap-gallery_7.cjs.entry.js → info-card_4.cjs.entry.js} +322 -409
- package/dist/cjs/instant-apps-export.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-language-translator.cjs.entry.js +41 -1
- package/dist/cjs/layout-manager.cjs.entry.js +2 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{locale-9db09b63.js → locale-1ff119f5.js} +19 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +1 -1
- package/dist/cjs/popupUtils-8d5b6e94.js +99 -0
- package/dist/cjs/public-notification.cjs.entry.js +1 -1
- package/dist/cjs/solution-configuration.cjs.entry.js +2 -1
- package/dist/cjs/solution-contents_3.cjs.entry.js +16 -2
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/cjs/spatial-ref.cjs.entry.js +2 -1
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +23 -2
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +73 -0
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +349 -56
- package/dist/collection/components/delete-button/delete-button.css +19 -0
- package/dist/collection/components/delete-button/delete-button.js +299 -0
- package/dist/collection/components/delete-button/test/delete-button.e2e.js +29 -0
- package/dist/collection/components/delete-button/test/delete-button.spec.js +37 -0
- package/dist/collection/components/feature-list/feature-list.css +38 -0
- package/dist/collection/components/feature-list/feature-list.js +303 -0
- package/dist/collection/components/info-card/info-card.js +65 -21
- package/dist/collection/components/layer-list/layer-list.css +28 -0
- package/dist/collection/components/layer-list/layer-list.js +288 -0
- package/dist/collection/components/layer-table/layer-table.js +63 -116
- package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +31 -1
- package/dist/collection/demos/crowdsource-reporter.html +42 -70
- package/dist/collection/demos/feature-list.html +43 -0
- package/dist/collection/demos/layer-list.html +43 -0
- package/dist/collection/utils/interfaces.ts +4 -0
- package/dist/components/calcite-flow-item.js +1 -261
- package/dist/components/calcite-flow.js +1 -165
- package/dist/components/card-manager2.js +38 -26
- package/dist/components/crowdsource-manager.js +110 -89
- package/dist/components/crowdsource-reporter.js +463 -42
- package/dist/components/delete-button.d.ts +11 -0
- package/dist/components/delete-button.js +11 -0
- package/dist/components/delete-button2.js +209 -0
- package/dist/components/feature-list.d.ts +11 -0
- package/dist/components/feature-list.js +11 -0
- package/dist/components/feature-list2.js +281 -0
- package/dist/{esm/calcite-flow-item.entry.js → components/flow-item.js} +94 -19
- package/dist/{esm/calcite-flow.entry.js → components/flow.js} +33 -10
- package/dist/components/info-card2.js +87 -136
- package/dist/components/instant-apps-export.js +1 -1
- package/dist/components/instant-apps-filter-list2.js +22 -11
- package/dist/components/instant-apps-language-translator2.js +48 -4
- package/dist/components/layer-list.d.ts +11 -0
- package/dist/components/layer-list.js +11 -0
- package/dist/components/layer-list2.js +268 -0
- package/dist/components/layer-table2.js +126 -165
- package/dist/components/locale.js +19 -2
- package/dist/components/popupUtils.js +97 -0
- package/dist/components/queryUtils.js +1 -1
- package/dist/components/solution-spatial-ref2.js +17 -2
- package/dist/esm/{ExpandToggle-540998b5.js → ExpandToggle-96688cda.js} +1 -1
- package/dist/esm/{ar-35006b74.js → ar-29711364.js} +8 -8
- package/dist/esm/basemap-gallery_5.entry.js +565 -0
- package/dist/esm/{bg-c289978f.js → bg-c0f5033b.js} +8 -8
- package/dist/esm/{bs-6f9fb44a.js → bs-60479ce5.js} +8 -8
- package/dist/esm/buffer-tools_3.entry.js +3 -3
- package/dist/esm/{ca-7962c8b7.js → ca-4317b986.js} +8 -8
- package/dist/esm/calcite-accordion-item.entry.js +1 -1
- package/dist/esm/calcite-action-bar.entry.js +251 -0
- package/dist/esm/calcite-action-group.entry.js +3 -3
- package/dist/esm/calcite-action-menu_2.entry.js +5 -5
- package/dist/esm/calcite-action-pad_2.entry.js +4 -4
- package/dist/esm/calcite-action_2.entry.js +3 -3
- package/dist/esm/calcite-alert_3.entry.js +141 -362
- package/dist/esm/calcite-avatar.entry.js +1 -1
- package/dist/esm/calcite-block-section.entry.js +3 -3
- package/dist/esm/calcite-block_2.entry.js +5 -5
- package/dist/esm/calcite-button.entry.js +5 -5
- package/dist/esm/calcite-card.entry.js +3 -3
- package/dist/esm/calcite-checkbox.entry.js +3 -3
- package/dist/esm/calcite-chip-group.entry.js +1 -1
- package/dist/esm/calcite-chip.entry.js +3 -3
- package/dist/esm/calcite-color-picker-hex-input_2.entry.js +1 -1
- package/dist/esm/calcite-color-picker.entry.js +3 -3
- package/dist/esm/calcite-combobox-item-group.entry.js +2 -2
- package/dist/esm/calcite-combobox_6.entry.js +11 -10
- package/dist/esm/calcite-date-picker-day_3.entry.js +3 -3
- package/dist/esm/calcite-fab.entry.js +1 -1
- package/dist/esm/{calcite-action-bar_3.entry.js → calcite-filter_5.entry.js} +363 -204
- package/dist/esm/calcite-flow_4.entry.js +651 -0
- package/dist/esm/calcite-graph_2.entry.js +4 -4
- package/dist/esm/calcite-icon.entry.js +1 -1
- package/dist/esm/calcite-inline-editable.entry.js +4 -4
- package/dist/esm/calcite-input-date-picker_3.entry.js +31 -20
- package/dist/esm/calcite-input-number.entry.js +5 -5
- package/dist/esm/calcite-input-text.entry.js +5 -5
- package/dist/esm/{calcite-input-time-picker-63439178.js → calcite-input-time-picker-2e1b2157.js} +55 -55
- package/dist/esm/calcite-input-time-picker.entry.js +8 -8
- package/dist/esm/calcite-input-time-zone.entry.js +5 -5
- package/dist/esm/calcite-input_2.entry.js +5 -5
- package/dist/esm/calcite-label.entry.js +2 -2
- package/dist/esm/calcite-link.entry.js +1 -1
- package/dist/esm/calcite-menu-item.entry.js +3 -3
- package/dist/esm/calcite-menu.entry.js +3 -3
- package/dist/esm/calcite-meter.entry.js +3 -3
- package/dist/esm/calcite-modal.entry.js +4 -4
- package/dist/esm/calcite-navigation.entry.js +1 -1
- package/dist/esm/calcite-notice.entry.js +3 -3
- package/dist/esm/calcite-option_2.entry.js +3 -3
- package/dist/esm/calcite-pagination.entry.js +3 -3
- package/dist/esm/calcite-panel_2.entry.js +3 -3
- package/dist/esm/calcite-pick-list-group.entry.js +1 -1
- package/dist/esm/calcite-pick-list-item.entry.js +3 -3
- package/dist/esm/calcite-pick-list.entry.js +2 -2
- package/dist/esm/calcite-radio-button.entry.js +3 -3
- package/dist/esm/calcite-rating.entry.js +5 -5
- package/dist/esm/calcite-scrim.entry.js +3 -3
- package/dist/esm/calcite-segmented-control_2.entry.js +3 -3
- package/dist/esm/calcite-sheet.entry.js +2 -2
- package/dist/esm/calcite-shell-center-row.entry.js +1 -1
- package/dist/esm/calcite-shell-panel_14.entry.js +8 -7
- package/dist/esm/calcite-sortable-list.entry.js +1 -1
- package/dist/esm/calcite-stepper-item.entry.js +3 -3
- package/dist/esm/calcite-stepper.entry.js +3 -3
- package/dist/esm/calcite-switch.entry.js +3 -3
- package/dist/esm/calcite-table-cell_2.entry.js +3 -3
- package/dist/esm/calcite-table-row.entry.js +1 -1
- package/dist/esm/calcite-table.entry.js +3 -3
- package/dist/esm/calcite-text-area.entry.js +5 -5
- package/dist/esm/calcite-tile.entry.js +1 -1
- package/dist/esm/calcite-time-picker.entry.js +4 -4
- package/dist/esm/calcite-tip-manager.entry.js +3 -3
- package/dist/esm/calcite-tip.entry.js +3 -3
- package/dist/esm/calcite-tooltip.entry.js +2 -2
- package/dist/esm/calcite-tree_2.entry.js +1 -1
- package/dist/esm/{card-manager_3.entry.js → card-manager_2.entry.js} +51 -270
- package/dist/esm/{common-2cf42ac2.js → common-d04ccc0d.js} +1 -1
- package/dist/esm/crowdsource-manager.entry.js +19 -4
- package/dist/esm/crowdsource-reporter.entry.js +215 -36
- package/dist/esm/{cs-6d13069b.js → cs-da404a04.js} +8 -8
- package/dist/esm/{da-14097e6c.js → da-1afac3fa.js} +8 -8
- package/dist/esm/{date-1743b515.js → date-8b4a8f33.js} +1 -1
- package/dist/esm/{de-dff2571b.js → de-98f3129e.js} +8 -8
- package/dist/esm/{de-at-b733db65.js → de-at-ed4817af.js} +8 -8
- package/dist/esm/{de-ch-5ad0cb74.js → de-ch-556c82c8.js} +8 -8
- package/dist/esm/{dom-492b1b24.js → dom-8f926f33.js} +1 -1
- package/dist/esm/{downloadUtils-13579d93.js → downloadUtils-067dc2ff.js} +2 -2
- package/dist/esm/{el-688e05ba.js → el-394dfd74.js} +8 -8
- package/dist/esm/{en-au-357e70d8.js → en-au-6dde1e7e.js} +8 -8
- package/dist/esm/{en-ca-1e0b6b47.js → en-ca-420be416.js} +8 -8
- package/dist/esm/{en-gb-861a17f2.js → en-gb-0a7caa85.js} +8 -8
- package/dist/esm/{es-291ab4bd.js → es-2e1beb99.js} +8 -8
- package/dist/esm/{es-mx-0a7283a7.js → es-mx-ef132a24.js} +8 -8
- package/dist/esm/{et-addd2617.js → et-83d139c1.js} +8 -8
- package/dist/esm/{fi-469884d5.js → fi-8b81ed94.js} +8 -8
- package/dist/esm/{floating-ui-03eb4c82.js → floating-ui-c397f653.js} +1 -1
- package/dist/esm/{focusTrapComponent-2e7de651.js → focusTrapComponent-14368766.js} +1 -1
- package/dist/esm/{form-9bccaf85.js → form-133b00c7.js} +1 -1
- package/dist/esm/{fr-f5cb34ca.js → fr-c47c114a.js} +8 -8
- package/dist/esm/{fr-ch-115d3fda.js → fr-ch-97635343.js} +8 -8
- package/dist/esm/{he-6e5f5c56.js → he-ed2a12b9.js} +8 -8
- package/dist/esm/{hi-503240c2.js → hi-a05727ac.js} +8 -8
- package/dist/esm/{hr-cc08d6fc.js → hr-d01671ca.js} +8 -8
- package/dist/esm/{hu-69ac240d.js → hu-16506ca7.js} +8 -8
- package/dist/esm/{id-99547746.js → id-e9367e87.js} +8 -8
- package/dist/esm/{index.es-04d2e63e.js → index.es-92e46d8b.js} +3 -3
- package/dist/esm/{basemap-gallery_7.entry.js → info-card_4.entry.js} +322 -406
- package/dist/esm/instant-apps-export.entry.js +1 -1
- package/dist/esm/instant-apps-language-translator.entry.js +42 -2
- package/dist/esm/{interfaces-341e3ab3.js → interfaces-586e863c.js} +1 -1
- package/dist/esm/{it-dbb6ea7d.js → it-14246b4a.js} +8 -8
- package/dist/esm/{it-ch-a83801f6.js → it-ch-a877e111.js} +8 -8
- package/dist/esm/{ja-79dbb02f.js → ja-67a0cfa0.js} +8 -8
- package/dist/esm/{ko-31ebe067.js → ko-35b0b83a.js} +8 -8
- package/dist/esm/{label-14301f4d.js → label-cd393c81.js} +1 -1
- package/dist/esm/layout-manager.entry.js +3 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{locale-834c52c6.js → locale-13e3c96c.js} +19 -2
- package/dist/esm/{locale-8cfa3086.js → locale-6107ef11.js} +1 -1
- package/dist/esm/{lt-94d3f4b8.js → lt-71014faf.js} +8 -8
- package/dist/esm/{lv-d770ed0d.js → lv-def9df38.js} +8 -8
- package/dist/esm/map-select-tools_3.entry.js +4 -4
- package/dist/esm/{mapViewUtils-8fe70944.js → mapViewUtils-6daedef8.js} +2 -2
- package/dist/esm/{mk-1046d60a.js → mk-bfeac49e.js} +8 -8
- package/dist/esm/{nb-dad0b4b9.js → nb-0723b461.js} +8 -8
- package/dist/esm/{nl-a968c4b7.js → nl-89663165.js} +8 -8
- package/dist/esm/{pl-a0037bd3.js → pl-0157c37c.js} +8 -8
- package/dist/esm/popupUtils-b71f30fc.js +97 -0
- package/dist/esm/{pt-e3d9370c.js → pt-80d1520c.js} +8 -8
- package/dist/esm/{pt-br-44c11565.js → pt-br-ee5003c7.js} +8 -8
- package/dist/esm/public-notification.entry.js +4 -4
- package/dist/esm/{ro-290e025d.js → ro-eff987f8.js} +8 -8
- package/dist/esm/{ru-38ff91f1.js → ru-62839398.js} +8 -8
- package/dist/esm/{shared-list-render-89e4bcff.js → shared-list-render-a2ab63e8.js} +1 -1
- package/dist/esm/{sk-9622a24b.js → sk-c2f4bd58.js} +8 -8
- package/dist/esm/{sl-6bc83a24.js → sl-328ff1db.js} +8 -8
- package/dist/esm/solution-configuration.entry.js +4 -3
- package/dist/esm/solution-contents_3.entry.js +19 -5
- package/dist/esm/{solution-store-b08696f7.js → solution-store-19f7825b.js} +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/esm/spatial-ref.entry.js +4 -3
- package/dist/esm/{sr-35e575d8.js → sr-75a3ad46.js} +8 -8
- package/dist/esm/{sv-d80fa359.js → sv-10da5ef2.js} +8 -8
- package/dist/esm/{t9n-3c5e55ab.js → t9n-f16911e7.js} +1 -1
- package/dist/esm/{th-23e71d40.js → th-aa112042.js} +8 -8
- package/dist/esm/{time-d956a7c8.js → time-855b3426.js} +1 -1
- package/dist/esm/{tr-961fd2f3.js → tr-5925a2f5.js} +8 -8
- package/dist/esm/{uk-4e8a425a.js → uk-c40eeb9f.js} +8 -8
- package/dist/esm/{utils-56206ec2.js → utils-93fd55c4.js} +2 -2
- package/dist/esm/{utils-8287806a.js → utils-c3509713.js} +1 -1
- package/dist/esm/{vi-ad983882.js → vi-27922b93.js} +8 -8
- package/dist/esm/{zh-cn-5b6fd039.js → zh-cn-38a2e1d3.js} +8 -8
- package/dist/esm/{zh-hk-7439b11d.js → zh-hk-e0217bd1.js} +8 -8
- package/dist/esm/{zh-tw-cf384663.js → zh-tw-31f0447c.js} +8 -8
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-filter-list/instant-apps-filter-list.css +0 -1
- package/dist/solutions-components/demos/crowdsource-reporter.html +42 -70
- package/dist/solutions-components/demos/feature-list.html +43 -0
- package/dist/solutions-components/demos/layer-list.html +43 -0
- package/dist/solutions-components/{p-c634d047.entry.js → p-01032eec.entry.js} +2 -18
- package/dist/solutions-components/{p-e7951fcb.js → p-0392679d.js} +1 -1
- package/dist/solutions-components/{p-3022da2d.js → p-05f702ae.js} +1 -1
- package/dist/solutions-components/{p-4da72ee8.entry.js → p-068f5a8c.entry.js} +1 -1
- package/dist/solutions-components/{p-4f71a1a0.js → p-0d774e41.js} +1 -1
- package/dist/solutions-components/{p-0e723ffc.js → p-0f6b58b2.js} +1 -1
- package/dist/solutions-components/{p-ec8f042e.entry.js → p-10410f92.entry.js} +1 -1
- package/dist/solutions-components/{p-6a4b1e48.entry.js → p-10f2d6b0.entry.js} +2 -2
- package/dist/solutions-components/{p-5d2ccc75.entry.js → p-13be5cf5.entry.js} +1 -1
- package/dist/solutions-components/{p-58054bc2.js → p-14548a83.js} +1 -1
- package/dist/solutions-components/{p-c9f87acb.js → p-14ff1465.js} +2 -2
- package/dist/solutions-components/{p-026b1345.js → p-17668cb7.js} +3 -3
- package/dist/solutions-components/{p-5e530f8c.js → p-1c75bb3d.js} +1 -1
- package/dist/solutions-components/p-1f7046e9.entry.js +6 -0
- package/dist/solutions-components/{p-121a5dac.entry.js → p-234a8293.entry.js} +1 -1
- package/dist/solutions-components/{p-355249fc.js → p-2447b332.js} +1 -1
- package/dist/solutions-components/{p-48828002.entry.js → p-24c699b0.entry.js} +1 -1
- package/dist/solutions-components/{p-9bcbc1cc.js → p-2592e0dd.js} +1 -1
- package/dist/solutions-components/{p-b78a1c21.js → p-28b33708.js} +1 -1
- package/dist/solutions-components/{p-fa6ef970.js → p-2d68a6fd.js} +1 -1
- package/dist/solutions-components/{p-6437fee1.entry.js → p-2e2d01de.entry.js} +1 -1
- package/dist/solutions-components/{p-5e9b05c0.entry.js → p-2f425700.entry.js} +1 -1
- package/dist/solutions-components/p-3606c4b8.entry.js +6 -0
- package/dist/solutions-components/{p-6c3cdd09.entry.js → p-364486d1.entry.js} +1 -1
- package/dist/solutions-components/{p-85a89f1d.entry.js → p-368cbb2c.entry.js} +1 -1
- package/dist/solutions-components/{p-c68a6d4f.js → p-36cbf14f.js} +1 -1
- package/dist/solutions-components/{p-52ad6ff9.entry.js → p-36f247db.entry.js} +1 -1
- package/dist/solutions-components/{p-080249de.js → p-38544b17.js} +1 -1
- package/dist/solutions-components/{p-a0be72b6.entry.js → p-3a73ee38.entry.js} +1 -1
- package/dist/solutions-components/{p-532b7378.entry.js → p-3ad4426b.entry.js} +1 -1
- package/dist/solutions-components/{p-5752785e.entry.js → p-3c10901a.entry.js} +1 -1
- package/dist/solutions-components/{p-6e406a7b.js → p-3c7d0eb9.js} +1 -1
- package/dist/solutions-components/{p-bf23173c.js → p-411b73a7.js} +1 -1
- package/dist/solutions-components/{p-76d60881.entry.js → p-429e1284.entry.js} +1 -1
- package/dist/solutions-components/{p-f3d277c2.entry.js → p-42f0e1fa.entry.js} +1 -1
- package/dist/solutions-components/{p-1fc220c7.js → p-4416d288.js} +1 -1
- package/dist/solutions-components/{p-663a433a.entry.js → p-451b16b3.entry.js} +2 -2
- package/dist/solutions-components/{p-b5d1b979.js → p-4566438a.js} +3 -3
- package/dist/solutions-components/{p-7a06dcdf.js → p-4647b2a6.js} +1 -1
- package/dist/solutions-components/{p-75fbe76c.js → p-480d0789.js} +1 -1
- package/dist/solutions-components/p-49b02dda.entry.js +6 -0
- package/dist/solutions-components/{p-722ae773.js → p-49fb1bfa.js} +2 -2
- package/dist/solutions-components/{p-17183100.js → p-4abf1c34.js} +1 -1
- package/dist/solutions-components/p-4ae36626.js +6 -0
- package/dist/solutions-components/{p-5c3fd315.entry.js → p-4bff69aa.entry.js} +1 -1
- package/dist/solutions-components/{p-f8f18a94.entry.js → p-4ccdac24.entry.js} +1 -1
- package/dist/solutions-components/{p-a3a64af2.entry.js → p-4d402bcf.entry.js} +1 -1
- package/dist/solutions-components/{p-7e82a730.js → p-4d8fc031.js} +1 -1
- package/dist/solutions-components/{p-1c720ed5.entry.js → p-4d99cb49.entry.js} +1 -1
- package/dist/solutions-components/p-4fbadb84.entry.js +6 -0
- package/dist/solutions-components/{p-e0276e26.entry.js → p-5268d845.entry.js} +2 -2
- package/dist/solutions-components/{p-f3f09834.js → p-5e12026e.js} +1 -1
- package/dist/solutions-components/p-5e832d65.entry.js +6 -0
- package/dist/solutions-components/{p-ffee4847.entry.js → p-5fe99315.entry.js} +1 -1
- package/dist/solutions-components/{p-d6208a47.js → p-6105d57c.js} +1 -1
- package/dist/solutions-components/{p-f3dfb34f.entry.js → p-613315a7.entry.js} +1 -1
- package/dist/solutions-components/{p-0d97c2c5.entry.js → p-62eba559.entry.js} +1 -1
- package/dist/solutions-components/{p-40235cb7.entry.js → p-63fa7791.entry.js} +1 -1
- package/dist/solutions-components/{p-cfccae7c.js → p-6604ac77.js} +1 -1
- package/dist/solutions-components/{p-9b1766ef.entry.js → p-674be06c.entry.js} +1 -1
- package/dist/solutions-components/{p-a4aef40c.entry.js → p-67ff8e9a.entry.js} +1 -1
- package/dist/solutions-components/{p-16df3a9e.entry.js → p-685257d1.entry.js} +1 -1
- package/dist/solutions-components/{p-4647c429.js → p-68e0adcf.js} +1 -1
- package/dist/solutions-components/{p-fc8338c6.entry.js → p-68e84199.entry.js} +1 -1
- package/dist/solutions-components/{p-aa3092cf.js → p-69763854.js} +1 -1
- package/dist/solutions-components/{p-e31754c8.js → p-6ae45648.js} +1 -1
- package/dist/solutions-components/{p-98013072.entry.js → p-6cce7009.entry.js} +1 -1
- package/dist/solutions-components/{p-34cacf32.js → p-6d511162.js} +1 -1
- package/dist/solutions-components/{p-337acb3c.js → p-727596e6.js} +1 -1
- package/dist/solutions-components/{p-b170916e.js → p-73100e79.js} +2 -2
- package/dist/solutions-components/{p-23662977.entry.js → p-734bc1b0.entry.js} +2 -2
- package/dist/solutions-components/{p-f3626331.entry.js → p-752ece4a.entry.js} +2 -2
- package/dist/solutions-components/{p-ecdd587c.entry.js → p-75e2a322.entry.js} +3 -3
- package/dist/solutions-components/{p-ca33fa09.entry.js → p-787203af.entry.js} +1 -1
- package/dist/solutions-components/{p-a9fc934d.js → p-79110824.js} +1 -1
- package/dist/solutions-components/{p-b82179c0.js → p-793cad54.js} +1 -1
- package/dist/solutions-components/{p-0250dec5.js → p-797aa505.js} +1 -1
- package/dist/solutions-components/{p-133de052.entry.js → p-7ebd34df.entry.js} +1 -1
- package/dist/solutions-components/{p-8934e858.entry.js → p-809b7e47.entry.js} +2 -2
- package/dist/solutions-components/{p-ca97465b.js → p-83fd31d5.js} +1 -1
- package/dist/solutions-components/{p-2e1f7c0e.entry.js → p-84378c8d.entry.js} +2 -2
- package/dist/solutions-components/p-864b1d72.entry.js +6 -0
- package/dist/solutions-components/{p-50ea26de.entry.js → p-8b47b607.entry.js} +1 -1
- package/dist/solutions-components/{p-f4e91113.js → p-8d49a084.js} +1 -1
- package/dist/solutions-components/{p-f84848b0.entry.js → p-8fabb8a4.entry.js} +1 -1
- package/dist/solutions-components/p-8fc072ca.entry.js +6 -0
- package/dist/solutions-components/{p-29602eff.entry.js → p-96c2ed64.entry.js} +1 -1
- package/dist/solutions-components/{p-b42bde59.entry.js → p-978d936a.entry.js} +1 -1
- package/dist/solutions-components/{p-79ba73cb.js → p-981e9549.js} +1 -1
- package/dist/solutions-components/{p-02714171.entry.js → p-98308b13.entry.js} +2 -2
- package/dist/solutions-components/p-99c5701d.entry.js +6 -0
- package/dist/solutions-components/{p-fe68d502.js → p-9cbfd8cd.js} +1 -1
- package/dist/solutions-components/{p-8f8fe5d0.entry.js → p-a09c8edf.entry.js} +1 -1
- package/dist/solutions-components/p-a2d3df14.entry.js +6 -0
- package/dist/solutions-components/{p-ac6a3e13.js → p-a5272d7e.js} +1 -1
- package/dist/solutions-components/p-a5c5b24d.js +6 -0
- package/dist/solutions-components/{p-5d9ad152.entry.js → p-a5e93c7e.entry.js} +1 -1
- package/dist/solutions-components/{p-07b31dc9.js → p-a6bb4148.js} +1 -1
- package/dist/solutions-components/{p-11b59592.entry.js → p-a8c9ac0b.entry.js} +2 -2
- package/dist/solutions-components/{p-41f7bc94.entry.js → p-a9bd945b.entry.js} +1 -1
- package/dist/solutions-components/p-ab006ace.js +21 -0
- package/dist/solutions-components/{p-634835fe.js → p-abdd289e.js} +1 -1
- package/dist/solutions-components/{p-43e67b3c.entry.js → p-aca29f67.entry.js} +2 -2
- package/dist/solutions-components/{p-8118146c.entry.js → p-ad96cd8b.entry.js} +1 -1
- package/dist/solutions-components/{p-8772a573.js → p-af1bb992.js} +1 -1
- package/dist/solutions-components/{p-36eb8399.js → p-b1b768f7.js} +4 -4
- package/dist/solutions-components/{p-dd37c504.js → p-b29677ca.js} +1 -1
- package/dist/solutions-components/{p-82b4ab94.js → p-b2c5e62b.js} +1 -1
- package/dist/solutions-components/{p-db436a77.entry.js → p-b326b592.entry.js} +1 -1
- package/dist/solutions-components/{p-a4772574.js → p-b7285bd5.js} +1 -1
- package/dist/solutions-components/{p-8b5b4662.js → p-b8959537.js} +1 -1
- package/dist/solutions-components/p-ba56035f.entry.js +6 -0
- package/dist/solutions-components/{p-c21f578f.js → p-baf4cb37.js} +1 -1
- package/dist/solutions-components/{p-799c3f19.js → p-bfebff0e.js} +1 -1
- package/dist/solutions-components/p-c0ed2b83.entry.js +6 -0
- package/dist/solutions-components/p-c0f97ed2.entry.js +6 -0
- package/dist/solutions-components/{p-4af32c75.js → p-c1cf3ebc.js} +1 -1
- package/dist/solutions-components/{p-cfb83693.js → p-c3190f85.js} +1 -1
- package/dist/solutions-components/{p-0511c98c.js → p-c4ebb5d1.js} +1 -1
- package/dist/solutions-components/p-c56fd16c.entry.js +11 -0
- package/dist/solutions-components/{p-2d1b8cfa.js → p-c6b9a129.js} +1 -1
- package/dist/solutions-components/{p-1cb4c542.entry.js → p-c7e7da9a.entry.js} +1 -1
- package/dist/solutions-components/{p-d8b3d156.entry.js → p-ca4023f4.entry.js} +1 -1
- package/dist/solutions-components/p-cb1d29d4.entry.js +17 -0
- package/dist/solutions-components/p-cc88bb42.entry.js +6 -0
- package/dist/solutions-components/{p-034d43fb.js → p-cdee3846.js} +1 -1
- package/dist/solutions-components/{p-c5cb8804.js → p-cfb3d66a.js} +1 -1
- package/dist/solutions-components/{p-ebbeec9f.entry.js → p-d2d7d6b4.entry.js} +2 -2
- package/dist/solutions-components/{p-dd071507.js → p-d44e2fd7.js} +1 -1
- package/dist/solutions-components/{p-48a5ae32.entry.js → p-d50f34c4.entry.js} +1 -1
- package/dist/solutions-components/{p-5953ebe8.entry.js → p-d9061e5d.entry.js} +1 -1
- package/dist/solutions-components/{p-414240b2.js → p-d9a59fcc.js} +1 -1
- package/dist/solutions-components/{p-24286e8c.entry.js → p-db69f4ba.entry.js} +1 -1
- package/dist/solutions-components/{p-ede84883.js → p-de281b08.js} +2 -2
- package/dist/solutions-components/{p-a11fca14.js → p-df118036.js} +1 -1
- package/dist/solutions-components/p-e274f3b0.entry.js +23 -0
- package/dist/solutions-components/p-e3061220.entry.js +6 -0
- package/dist/solutions-components/{p-4613e205.js → p-e6d4bdce.js} +1 -1
- package/dist/solutions-components/{p-3c5d3b4a.js → p-e6dfc80f.js} +1 -1
- package/dist/solutions-components/{p-92ea9e81.js → p-e834d132.js} +1 -1
- package/dist/solutions-components/{p-f9eb2f2d.js → p-ee4e5212.js} +1 -1
- package/dist/solutions-components/{p-efce2e85.js → p-ef05dea5.js} +1 -1
- package/dist/solutions-components/{p-5fd1eb64.js → p-f0d68a3f.js} +2 -2
- package/dist/solutions-components/p-f17941f1.entry.js +6 -0
- package/dist/solutions-components/{p-9e3b8632.entry.js → p-f1e6ce96.entry.js} +1 -1
- package/dist/solutions-components/p-f54f3719.entry.js +17 -0
- package/dist/solutions-components/{p-fdb1ace8.entry.js → p-fb1c6811.entry.js} +2 -2
- package/dist/solutions-components/p-fec77450.js +21 -0
- package/dist/solutions-components/{p-50764143.entry.js → p-ff460d05.entry.js} +3 -3
- package/dist/solutions-components/{p-d1ca57f3.entry.js → p-ff7c9bc3.entry.js} +1 -1
- package/dist/solutions-components/{p-0b47b407.js → p-ffa2c430.js} +1 -1
- package/dist/solutions-components/{p-89520d31.entry.js → p-ffbed9b2.entry.js} +1 -1
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +4 -0
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +8 -0
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +159 -11
- package/dist/types/components/delete-button/delete-button.d.ts +120 -0
- package/dist/types/components/feature-list/feature-list.d.ts +128 -0
- package/dist/types/components/info-card/info-card.d.ts +19 -0
- package/dist/types/components/layer-list/layer-list.d.ts +133 -0
- package/dist/types/components/layer-table/layer-table.d.ts +12 -40
- package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +5 -1
- package/dist/types/components.d.ts +269 -11
- package/dist/types/preact.d.ts +15 -1
- package/dist/types/utils/interfaces.d.ts +2 -0
- package/package.json +2 -2
- package/dist/cjs/calcite-filter_2.cjs.entry.js +0 -237
- package/dist/cjs/calcite-flow-item.cjs.entry.js +0 -197
- package/dist/cjs/calcite-flow.cjs.entry.js +0 -153
- package/dist/cjs/calcite-handle.cjs.entry.js +0 -184
- package/dist/cjs/resources-55ba2752.js +0 -29
- package/dist/esm/calcite-filter_2.entry.js +0 -232
- package/dist/esm/calcite-handle.entry.js +0 -180
- package/dist/esm/resources-221791b0.js +0 -26
- package/dist/solutions-components/p-0200864c.entry.js +0 -11
- package/dist/solutions-components/p-02fad071.entry.js +0 -6
- package/dist/solutions-components/p-04f05bc5.entry.js +0 -6
- package/dist/solutions-components/p-166d5bcc.entry.js +0 -6
- package/dist/solutions-components/p-1711c535.entry.js +0 -6
- package/dist/solutions-components/p-1f88a556.entry.js +0 -6
- package/dist/solutions-components/p-2ddd9cf8.entry.js +0 -6
- package/dist/solutions-components/p-3cf20613.entry.js +0 -17
- package/dist/solutions-components/p-43546966.entry.js +0 -6
- package/dist/solutions-components/p-6b943f52.js +0 -21
- package/dist/solutions-components/p-79f95735.entry.js +0 -11
- package/dist/solutions-components/p-7f333e23.js +0 -11
- package/dist/solutions-components/p-897037f0.entry.js +0 -6
- package/dist/solutions-components/p-8c7fc78f.entry.js +0 -11
- package/dist/solutions-components/p-941ab8c0.js +0 -6
- package/dist/solutions-components/p-96974e5f.js +0 -6
- package/dist/solutions-components/p-a32b61ee.entry.js +0 -6
- package/dist/solutions-components/p-ad9fbb2a.entry.js +0 -6
- package/dist/solutions-components/p-bacc9b0d.entry.js +0 -6
- package/dist/solutions-components/p-c252997f.entry.js +0 -17
- package/dist/solutions-components/p-c5db42ad.entry.js +0 -6
- package/dist/solutions-components/p-e89c5860.entry.js +0 -6
- package/dist/solutions-components/p-eb9b003a.entry.js +0 -11
- package/dist/solutions-components/p-eff7f407.entry.js +0 -6
@@ -3,137 +3,95 @@
|
|
3
3
|
* Licensed under the Apache License, Version 2.0
|
4
4
|
* http://www.apache.org/licenses/LICENSE-2.0
|
5
5
|
*/
|
6
|
-
import { r as registerInstance, h, H as Host, g as getElement
|
6
|
+
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-7183ce4a.js';
|
7
|
+
import { g as getLocaleComponentStrings } from './locale-13e3c96c.js';
|
7
8
|
import { l as loadModules } from './loadModules-cea493da.js';
|
8
|
-
import {
|
9
|
+
import { P as PopupUtils } from './popupUtils-b71f30fc.js';
|
9
10
|
import './esri-loader-eda07632.js';
|
10
11
|
import './_commonjsHelpers-d5f9d613.js';
|
11
12
|
|
12
|
-
const
|
13
|
+
const infoCardCss = ":host{display:block;--calcite-label-margin-bottom:0}.padding-1-2{padding:0.5rem}.display-none{display:none !important}.display-flex{display:flex}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.esri-features__footer{display:none !important}.button-container{justify-content:space-between;align-items:center}.top-border{border-top:1px solid var(--calcite-color-border-1)}.min-width-100{min-width:100px}.width-100{width:100%}.esri-features__container{padding:0.5rem !important;background-color:var(--calcite-color-foreground-1) !important;height:100% !important}.overflow-hidden{overflow:hidden}.height-40{height:40px}.padding-top-46{padding-top:46px}.end-border{border-inline-end:1px solid var(--calcite-color-border-1)}.font-bold{font-weight:bold}.visibility-hidden{visibility:hidden;height:0px}.padding-inline-start-1{padding-inline-start:1rem}";
|
13
14
|
|
14
|
-
const
|
15
|
+
const InfoCard = class {
|
15
16
|
constructor(hostRef) {
|
16
17
|
registerInstance(this, hostRef);
|
18
|
+
this.popupClosed = createEvent(this, "popupClosed", 7);
|
19
|
+
this.selectionChanged = createEvent(this, "selectionChanged", 7);
|
20
|
+
this.graphics = undefined;
|
21
|
+
this.isLoading = false;
|
22
|
+
this.isMobile = undefined;
|
17
23
|
this.mapView = undefined;
|
18
|
-
this.
|
19
|
-
this.
|
24
|
+
this.zoomAndScrollToSelected = undefined;
|
25
|
+
this.allowEditing = true;
|
26
|
+
this._alertOpen = false;
|
27
|
+
this._count = "";
|
28
|
+
this._editRecordOpen = false;
|
29
|
+
this._mobileTitle = "";
|
30
|
+
this._showListView = false;
|
31
|
+
this._translations = undefined;
|
20
32
|
}
|
21
33
|
//--------------------------------------------------------------------------
|
22
34
|
//
|
23
35
|
// Watch handlers
|
24
36
|
//
|
25
37
|
//--------------------------------------------------------------------------
|
26
|
-
async mapViewWatchHandler() {
|
27
|
-
await this.mapView.when(() => {
|
28
|
-
void this._initBaseMapGallery(this.mapView);
|
29
|
-
});
|
30
|
-
}
|
31
|
-
//--------------------------------------------------------------------------
|
32
|
-
//
|
33
|
-
// Methods (public)
|
34
|
-
//
|
35
|
-
//--------------------------------------------------------------------------
|
36
|
-
//--------------------------------------------------------------------------
|
37
|
-
//
|
38
|
-
// Events (public)
|
39
|
-
//
|
40
|
-
//--------------------------------------------------------------------------
|
41
|
-
//--------------------------------------------------------------------------
|
42
|
-
//
|
43
|
-
// Functions (lifecycle)
|
44
|
-
//
|
45
|
-
//--------------------------------------------------------------------------
|
46
38
|
/**
|
47
|
-
*
|
39
|
+
* Watch for changes to the graphic and update the feature widget
|
48
40
|
*/
|
49
|
-
async
|
50
|
-
|
41
|
+
async graphicsWatchHandler() {
|
42
|
+
await this.setGraphics();
|
51
43
|
}
|
52
44
|
/**
|
53
|
-
*
|
45
|
+
* Watch for changes to the isMobile prop then init the Features widget
|
46
|
+
* We need to know if the title should be displayed by the widget (non mobile)
|
47
|
+
* or by us (mobile)
|
54
48
|
*/
|
55
|
-
|
56
|
-
|
49
|
+
async isMobileWatchHandler() {
|
50
|
+
await this._initFeaturesWidget();
|
57
51
|
}
|
58
52
|
/**
|
59
|
-
*
|
53
|
+
* Watch for changes to the mapView and re-init the Feature widget
|
60
54
|
*/
|
61
|
-
async
|
62
|
-
|
63
|
-
await this.mapViewWatchHandler();
|
64
|
-
}
|
55
|
+
async mapViewWatchHandler() {
|
56
|
+
return await this._initFeaturesWidget();
|
65
57
|
}
|
66
58
|
//--------------------------------------------------------------------------
|
67
59
|
//
|
68
|
-
//
|
60
|
+
// Methods (public)
|
69
61
|
//
|
70
62
|
//--------------------------------------------------------------------------
|
71
63
|
/**
|
72
|
-
*
|
64
|
+
* Get the current selected feature from the Features widget
|
73
65
|
*
|
74
|
-
* @returns Promise resolving
|
75
|
-
*
|
76
|
-
* @protected
|
66
|
+
* @returns Promise resolving with the current feature
|
77
67
|
*/
|
78
|
-
async
|
79
|
-
|
80
|
-
"esri/widgets/BasemapGallery",
|
81
|
-
"esri/widgets/BasemapGallery/support/PortalBasemapsSource"
|
82
|
-
]);
|
83
|
-
this.BasemapGallery = BasemapGallery;
|
84
|
-
this.PortalBasemapsSource = PortalBasemapsSource;
|
68
|
+
async getSelectedFeature() {
|
69
|
+
return this._features.selectedFeature;
|
85
70
|
}
|
86
71
|
/**
|
87
|
-
*
|
72
|
+
* Respond to and close the edit record display
|
88
73
|
*
|
89
|
-
* @
|
74
|
+
* @returns a promise when the operation has completed
|
90
75
|
*/
|
91
|
-
async
|
76
|
+
async closeEdit() {
|
77
|
+
this._editRecordOpen = false;
|
78
|
+
}
|
79
|
+
/**
|
80
|
+
* Reset key properties when the layer selection changes
|
81
|
+
*/
|
82
|
+
async layerSelectionChange() {
|
92
83
|
var _a;
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
const source = new this.PortalBasemapsSource({
|
98
|
-
query: ((_a = this.basemapConfig) === null || _a === void 0 ? void 0 : _a.basemapGroupId) ? `id:${this.basemapConfig.basemapGroupId}` : null,
|
99
|
-
filterFunction: this.basemapConfig ? (basemap) => {
|
100
|
-
return !this.basemapConfig.basemapIdsToFilter.includes(basemap.portalItem.id);
|
101
|
-
} : () => true
|
102
|
-
});
|
103
|
-
await source.refresh();
|
104
|
-
this.basemapWidget = new this.BasemapGallery({
|
105
|
-
container: this._basemapElement,
|
106
|
-
view,
|
107
|
-
source
|
108
|
-
});
|
84
|
+
this._showListView = false;
|
85
|
+
if ((_a = this._features) === null || _a === void 0 ? void 0 : _a.viewModel) {
|
86
|
+
this._features.viewModel.featureMenuOpen = false;
|
87
|
+
this._features.close();
|
109
88
|
}
|
110
89
|
}
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
BasemapGallery.style = basemapGalleryCss;
|
117
|
-
|
118
|
-
const floorFilterCss = ":host{display:block}";
|
119
|
-
|
120
|
-
const FloorFilter = class {
|
121
|
-
constructor(hostRef) {
|
122
|
-
registerInstance(this, hostRef);
|
123
|
-
this.levelChanged = createEvent(this, "levelChanged", 7);
|
124
|
-
this.enabled = undefined;
|
125
|
-
this.floorFilterWidget = undefined;
|
126
|
-
this.mapView = undefined;
|
127
|
-
}
|
128
|
-
//--------------------------------------------------------------------------
|
129
|
-
//
|
130
|
-
// Watch handlers
|
131
|
-
//
|
132
|
-
//--------------------------------------------------------------------------
|
133
|
-
async mapViewWatchHandler() {
|
134
|
-
await this.mapView.when(() => {
|
135
|
-
this._initFloorFilter(this.mapView);
|
136
|
-
});
|
90
|
+
/**
|
91
|
+
* Refresh the info-card graphics
|
92
|
+
*/
|
93
|
+
async refreshGraphics(evt) {
|
94
|
+
this.graphics = [...evt.detail];
|
137
95
|
}
|
138
96
|
//--------------------------------------------------------------------------
|
139
97
|
//
|
@@ -142,12 +100,41 @@ const FloorFilter = class {
|
|
142
100
|
//--------------------------------------------------------------------------
|
143
101
|
/**
|
144
102
|
* StencilJS: Called once just after the component is first connected to the DOM.
|
103
|
+
*
|
104
|
+
* @returns Promise when complete
|
145
105
|
*/
|
146
106
|
async componentWillLoad() {
|
147
|
-
|
107
|
+
await this._initModules();
|
108
|
+
await this._getTranslations();
|
109
|
+
this._popupUtils = new PopupUtils();
|
148
110
|
}
|
111
|
+
/**
|
112
|
+
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
113
|
+
* @returns Promise when complete
|
114
|
+
*/
|
115
|
+
async componentDidLoad() {
|
116
|
+
var _a;
|
117
|
+
if (((_a = this.graphics) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
118
|
+
await this.setGraphics();
|
119
|
+
}
|
120
|
+
}
|
121
|
+
/**
|
122
|
+
* Renders the component.
|
123
|
+
*/
|
149
124
|
render() {
|
150
|
-
|
125
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
126
|
+
const loadingClass = this.isLoading ? "" : "display-none";
|
127
|
+
const featureNodeClass = this.isLoading || this._editRecordOpen ? "visibility-hidden" : "position-absolute";
|
128
|
+
const editClass = !this.isLoading && this._editRecordOpen ? "position-absolute" : "display-none";
|
129
|
+
const editButtonClass = (!this.isLoading && this._editRecordOpen) || this._showListView ? "display-none" : "";
|
130
|
+
const nextBackDisabled = ((_b = (_a = this._features) === null || _a === void 0 ? void 0 : _a.features) === null || _b === void 0 ? void 0 : _b.length) < 2;
|
131
|
+
const nextBackClass = this.isMobile ? "display-none" : "";
|
132
|
+
const shellClass = this.isMobile && !this._editRecordOpen ? "padding-top-46" : "";
|
133
|
+
const id = (_d = (_c = this._features) === null || _c === void 0 ? void 0 : _c.selectedFeature) === null || _d === void 0 ? void 0 : _d.getObjectId();
|
134
|
+
const ids = parseInt(id === null || id === void 0 ? void 0 : id.toString(), 10) > -1 ? [id] : [];
|
135
|
+
const deleteEnabled = ((_e = this._layer) === null || _e === void 0 ? void 0 : _e.editingEnabled) && ((_h = (_g = (_f = this._layer) === null || _f === void 0 ? void 0 : _f.capabilities) === null || _g === void 0 ? void 0 : _g.operations) === null || _h === void 0 ? void 0 : _h.supportsDelete);
|
136
|
+
return (h(Host, null, this.isMobile && !this._editRecordOpen ? (h("calcite-panel", null, h("calcite-action", { class: "end-border", icon: "chevron-left", iconFlipRtl: true, onClick: () => this._closePopup(), scale: "s", slot: "header-actions-start", text: "" }), h("span", { class: "font-bold", slot: "header-content" }, this._mobileTitle))) : undefined, h("calcite-shell", { class: shellClass }, h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData }), h("div", { class: "esri-widget " + featureNodeClass, id: "features-node" }), h("div", { class: `${editButtonClass} width-100`, slot: "footer" }, this.allowEditing &&
|
137
|
+
h("div", { class: "display-flex top-border padding-1-2" }, h("calcite-button", { appearance: "solid", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), this.isMobile && deleteEnabled ? (h("delete-button", { class: "padding-inline-start-1 width-100", id: "solutions-delete", ids: ids, layer: this._layer, onEditsComplete: () => this._closePopup() })) : undefined, h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-edit" }, h("span", null, this._translations.edit)), this.isMobile ? (h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-delete" }, h("span", null, this._translations.delete))) : undefined), !nextBackDisabled && h("div", { class: `display-flex padding-1-2 button-container top-border ${nextBackClass}` }, h("div", { class: "min-width-100" }, h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-back", onClick: () => this._back(), width: "full" }, this._translations.back), h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-back" }, h("span", null, this._translations.back))), h("div", null, h("calcite-action", { icon: "list", onClick: () => this._toggleListView(), scale: "s", text: this._count, textEnabled: true })), h("div", { class: "min-width-100" }, h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-next", onClick: () => this._next(), width: "full" }, this._translations.next), h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-next" }, h("span", null, this._translations.next))))), h("edit-card", { class: editClass, graphicIndex: (_j = this._features) === null || _j === void 0 ? void 0 : _j.selectedFeatureIndex, graphics: this.graphics, mapView: this.mapView, open: this._editRecordOpen }), h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, h("div", { slot: "title" }, this._translations.editDisabled), h("div", { slot: "message" }, this._translations.enableEditing)))));
|
151
138
|
}
|
152
139
|
//--------------------------------------------------------------------------
|
153
140
|
//
|
@@ -162,172 +149,215 @@ const FloorFilter = class {
|
|
162
149
|
* @protected
|
163
150
|
*/
|
164
151
|
async _initModules() {
|
165
|
-
const [
|
166
|
-
"esri/widgets/
|
152
|
+
const [Features, reactiveUtils] = await loadModules([
|
153
|
+
"esri/widgets/Features",
|
167
154
|
"esri/core/reactiveUtils"
|
168
155
|
]);
|
169
|
-
this.
|
156
|
+
this.Features = Features;
|
170
157
|
this.reactiveUtils = reactiveUtils;
|
171
158
|
}
|
172
159
|
/**
|
173
|
-
*
|
160
|
+
* Initializes the features widget if not created and updates the feature widget and other required states
|
161
|
+
*
|
162
|
+
* @protected
|
174
163
|
*/
|
175
|
-
|
164
|
+
async setGraphics() {
|
176
165
|
var _a;
|
177
|
-
if (
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
166
|
+
if (!this._features) {
|
167
|
+
await this._initFeaturesWidget();
|
168
|
+
}
|
169
|
+
if (this.graphics.length > 0) {
|
170
|
+
this._layer = (_a = this.graphics[0]) === null || _a === void 0 ? void 0 : _a.layer;
|
171
|
+
this._editEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsUpdate;
|
172
|
+
this._mobileTitle = await this._popupUtils.getPopupTitle(this.graphics[0]);
|
173
|
+
this._features.open({
|
174
|
+
features: this.graphics
|
175
|
+
});
|
176
|
+
}
|
177
|
+
else {
|
178
|
+
this._features.clear();
|
179
|
+
this._features.close();
|
180
|
+
}
|
181
|
+
this._count = this._getCount();
|
182
|
+
}
|
183
|
+
/**
|
184
|
+
* Init the Feature widget so we can display the popup content
|
185
|
+
*
|
186
|
+
* @returns a promise when the operation has completed
|
187
|
+
*
|
188
|
+
* @protected
|
189
|
+
*/
|
190
|
+
async _initFeaturesWidget() {
|
191
|
+
var _a;
|
192
|
+
return this.isMobile !== undefined ? await ((_a = this.mapView) === null || _a === void 0 ? void 0 : _a.when(() => {
|
193
|
+
if (!this._features) {
|
194
|
+
this._features = new this.Features({
|
195
|
+
view: this.mapView,
|
196
|
+
container: "features-node",
|
197
|
+
visibleElements: {
|
198
|
+
actionBar: false,
|
199
|
+
closeButton: false,
|
200
|
+
heading: !this.isMobile
|
201
|
+
}
|
182
202
|
});
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
this.levelChanged.emit(level);
|
203
|
+
this.reactiveUtils.watch(() => this._features.viewModel.featureMenuOpen, (isOpen) => {
|
204
|
+
if (!isOpen) {
|
205
|
+
this._showListView = isOpen;
|
206
|
+
}
|
188
207
|
});
|
208
|
+
if (this.zoomAndScrollToSelected) {
|
209
|
+
this.reactiveUtils.watch(() => this._features.selectedFeatureIndex, (i) => {
|
210
|
+
if (i > -1) {
|
211
|
+
this.selectionChanged.emit([this._features.selectedFeature]);
|
212
|
+
}
|
213
|
+
});
|
214
|
+
}
|
189
215
|
}
|
190
216
|
else {
|
191
|
-
this.
|
217
|
+
this._features.view = this.mapView;
|
218
|
+
this._features.visibleElements.actionBar = false;
|
219
|
+
this._features.visibleElements.closeButton = false;
|
220
|
+
this._features.visibleElements.heading = !this.isMobile;
|
192
221
|
}
|
193
|
-
}
|
194
|
-
}
|
195
|
-
get el() { return getElement(this); }
|
196
|
-
static get watchers() { return {
|
197
|
-
"mapView": ["mapViewWatchHandler"]
|
198
|
-
}; }
|
199
|
-
};
|
200
|
-
FloorFilter.style = floorFilterCss;
|
201
|
-
|
202
|
-
const mapFullscreenCss = ":host{display:block}";
|
203
|
-
|
204
|
-
const MapFullscreen = class {
|
205
|
-
constructor(hostRef) {
|
206
|
-
registerInstance(this, hostRef);
|
207
|
-
this.fullscreenStateChange = createEvent(this, "fullscreenStateChange", 7);
|
208
|
-
this.mapView = undefined;
|
209
|
-
this.fullscreenWidget = undefined;
|
222
|
+
})) : Promise.resolve();
|
210
223
|
}
|
211
|
-
//--------------------------------------------------------------------------
|
212
|
-
//
|
213
|
-
// Watch handlers
|
214
|
-
//
|
215
|
-
//--------------------------------------------------------------------------
|
216
224
|
/**
|
217
|
-
*
|
218
|
-
*
|
219
|
-
* @returns Promise when complete
|
225
|
+
* Close the popup and emit the selected features
|
220
226
|
*/
|
221
|
-
|
222
|
-
|
223
|
-
await this._initFullscreenWidget();
|
224
|
-
});
|
227
|
+
_closePopup() {
|
228
|
+
this.popupClosed.emit();
|
225
229
|
}
|
226
|
-
//--------------------------------------------------------------------------
|
227
|
-
//
|
228
|
-
// Functions (lifecycle)
|
229
|
-
//
|
230
|
-
//--------------------------------------------------------------------------
|
231
230
|
/**
|
232
|
-
*
|
231
|
+
* Set the alertOpen member to false when the alert is closed
|
233
232
|
*/
|
234
|
-
|
235
|
-
|
233
|
+
_alertClosed() {
|
234
|
+
this._alertOpen = false;
|
236
235
|
}
|
237
236
|
/**
|
238
|
-
*
|
237
|
+
* Open the edit record
|
239
238
|
*/
|
240
|
-
|
241
|
-
|
239
|
+
_openEditRecord() {
|
240
|
+
if (this._editEnabled) {
|
241
|
+
this._editRecordOpen = true;
|
242
|
+
}
|
243
|
+
else {
|
244
|
+
this._alertOpen = true;
|
245
|
+
}
|
242
246
|
}
|
243
247
|
/**
|
244
|
-
*
|
245
|
-
* It's never called during the first render().
|
248
|
+
* Go to the previous feature in the features widget
|
246
249
|
*/
|
247
|
-
|
248
|
-
|
250
|
+
_back() {
|
251
|
+
this._features.previous();
|
252
|
+
this._count = this._getCount();
|
249
253
|
}
|
250
254
|
/**
|
251
|
-
*
|
255
|
+
* Go to the next feature in the features widget
|
252
256
|
*/
|
253
|
-
|
254
|
-
|
257
|
+
_next() {
|
258
|
+
this._features.next();
|
259
|
+
this._count = this._getCount();
|
255
260
|
}
|
256
|
-
//--------------------------------------------------------------------------
|
257
|
-
//
|
258
|
-
// Functions (protected)
|
259
|
-
//
|
260
|
-
//--------------------------------------------------------------------------
|
261
261
|
/**
|
262
|
-
*
|
263
|
-
*
|
264
|
-
* @returns Promise resolving when function is done
|
262
|
+
* Get the current index of total string
|
265
263
|
*
|
266
|
-
* @
|
264
|
+
* @returns the index of total string
|
267
265
|
*/
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
266
|
+
_getCount() {
|
267
|
+
var _a, _b, _c;
|
268
|
+
const index = (((_a = this._features) === null || _a === void 0 ? void 0 : _a.viewModel.selectedFeatureIndex) + 1).toString();
|
269
|
+
const total = (_c = (_b = this._features) === null || _b === void 0 ? void 0 : _b.features) === null || _c === void 0 ? void 0 : _c.length.toString();
|
270
|
+
return this._translations.indexOfTotal
|
271
|
+
.replace("{{index}}", index)
|
272
|
+
.replace("{{total}}", total);
|
275
273
|
}
|
276
274
|
/**
|
277
|
-
*
|
275
|
+
* Toggle the visibility of the features list view
|
276
|
+
*/
|
277
|
+
_toggleListView() {
|
278
|
+
this._showListView = !this._showListView;
|
279
|
+
const i = this._features.selectedFeatureIndex;
|
280
|
+
this._features.open({
|
281
|
+
features: this.graphics,
|
282
|
+
featureMenuOpen: this._showListView
|
283
|
+
});
|
284
|
+
this._features.selectedFeatureIndex = i;
|
285
|
+
}
|
286
|
+
/**
|
287
|
+
* Fetches the component's translations
|
278
288
|
*
|
289
|
+
* @returns Promise when complete
|
279
290
|
* @protected
|
280
291
|
*/
|
281
|
-
async
|
282
|
-
|
283
|
-
|
284
|
-
view: this.mapView
|
285
|
-
});
|
286
|
-
await this.fullscreenWidget.when(() => {
|
287
|
-
if (this._fullscreenStateChangeHandle) {
|
288
|
-
this._fullscreenStateChangeHandle.remove();
|
289
|
-
}
|
290
|
-
this._fullscreenStateChangeHandle = this.reactiveUtils.watch(() => this.fullscreenWidget.viewModel.state, (state) => this.fullscreenStateChange.emit(state));
|
291
|
-
});
|
292
|
-
}
|
293
|
-
else if (this.fullscreenWidget) {
|
294
|
-
this.fullscreenWidget.view = this.mapView;
|
295
|
-
}
|
292
|
+
async _getTranslations() {
|
293
|
+
const messages = await getLocaleComponentStrings(this.el);
|
294
|
+
this._translations = messages[0];
|
296
295
|
}
|
296
|
+
get el() { return getElement(this); }
|
297
297
|
static get watchers() { return {
|
298
|
+
"graphics": ["graphicsWatchHandler"],
|
299
|
+
"isMobile": ["isMobileWatchHandler"],
|
298
300
|
"mapView": ["mapViewWatchHandler"]
|
299
301
|
}; }
|
300
302
|
};
|
301
|
-
|
303
|
+
InfoCard.style = infoCardCss;
|
302
304
|
|
303
|
-
const
|
305
|
+
const mapCardCss = ":host{display:block;--calcite-label-margin-bottom:0;--calcite-block-padding:0}.map-height{height:calc(100% - 51px)}.height-full{height:100%}.box-shadow{box-shadow:none !important}.visibility-hidden{visibility:hidden}.display-none{display:none}";
|
304
306
|
|
305
|
-
const
|
307
|
+
const MapCard = class {
|
306
308
|
constructor(hostRef) {
|
307
309
|
registerInstance(this, hostRef);
|
310
|
+
this.mapChanged = createEvent(this, "mapChanged", 7);
|
311
|
+
this.beforeMapChanged = createEvent(this, "beforeMapChanged", 7);
|
312
|
+
/**
|
313
|
+
* boolean: When true the default map provided via url params has been loaded and should no longer override other maps
|
314
|
+
*/
|
315
|
+
this._defaultWebmapHonored = false;
|
316
|
+
/**
|
317
|
+
* string: the id of map currently displayed
|
318
|
+
*/
|
319
|
+
this._loadedId = "";
|
320
|
+
this.defaultWebmapId = "";
|
321
|
+
this.enableHome = undefined;
|
322
|
+
this.enableLegend = undefined;
|
323
|
+
this.enableFloorFilter = undefined;
|
324
|
+
this.enableFullscreen = undefined;
|
325
|
+
this.enableSingleExpand = true;
|
326
|
+
this.enableSearch = undefined;
|
327
|
+
this.enableBasemap = undefined;
|
328
|
+
this.basemapConfig = undefined;
|
329
|
+
this.hidden = undefined;
|
330
|
+
this.homeZoomIndex = 3;
|
331
|
+
this.homeZoomPosition = "top-left";
|
332
|
+
this.homeZoomToolsSize = "m";
|
333
|
+
this.mapInfos = [];
|
334
|
+
this.mapWidgetsIndex = 0;
|
335
|
+
this.mapWidgetsPosition = "top-right";
|
336
|
+
this.mapWidgetsSize = "m";
|
308
337
|
this.mapView = undefined;
|
309
|
-
this.
|
338
|
+
this.stackTools = true;
|
339
|
+
this.theme = undefined;
|
340
|
+
this.toolOrder = undefined;
|
341
|
+
this._searchConfiguration = undefined;
|
342
|
+
this._webMapInfo = undefined;
|
310
343
|
}
|
311
344
|
//--------------------------------------------------------------------------
|
312
345
|
//
|
313
346
|
// Watch handlers
|
314
347
|
//
|
315
348
|
//--------------------------------------------------------------------------
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
349
|
+
/**
|
350
|
+
* Add/remove home widget
|
351
|
+
*/
|
352
|
+
enableHomeWatchHandler() {
|
353
|
+
this._initHome();
|
354
|
+
}
|
355
|
+
/**
|
356
|
+
* Listen for changes to map info and load the appropriate map
|
357
|
+
*/
|
358
|
+
async mapInfoChange(evt) {
|
359
|
+
await this._loadMap(evt.detail);
|
320
360
|
}
|
321
|
-
//--------------------------------------------------------------------------
|
322
|
-
//
|
323
|
-
// Methods (public)
|
324
|
-
//
|
325
|
-
//--------------------------------------------------------------------------
|
326
|
-
//--------------------------------------------------------------------------
|
327
|
-
//
|
328
|
-
// Events (public)
|
329
|
-
//
|
330
|
-
//--------------------------------------------------------------------------
|
331
361
|
//--------------------------------------------------------------------------
|
332
362
|
//
|
333
363
|
// Functions (lifecycle)
|
@@ -337,21 +367,18 @@ const MapLegend = class {
|
|
337
367
|
* StencilJS: Called once just after the component is first connected to the DOM.
|
338
368
|
*/
|
339
369
|
async componentWillLoad() {
|
340
|
-
|
370
|
+
await this._initModules();
|
341
371
|
}
|
342
372
|
/**
|
343
|
-
*
|
373
|
+
* Renders the component.
|
344
374
|
*/
|
345
375
|
render() {
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
if (this.mapView) {
|
353
|
-
await this.mapViewWatchHandler();
|
354
|
-
}
|
376
|
+
var _a, _b;
|
377
|
+
const mapClass = this.hidden ? "visibility-hidden" : "";
|
378
|
+
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
379
|
+
const mapPickerClass = ((_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.length) > 1 ? "" : "display-none";
|
380
|
+
const mapHeightClass = ((_b = this.mapInfos) === null || _b === void 0 ? void 0 : _b.length) > 1 ? "map-height" : "height-full";
|
381
|
+
return (h(Host, null, h("map-picker", { class: mapPickerClass, mapInfos: this.mapInfos, ref: (el) => this._mapPicker = el }), h("div", { class: `${mapHeightClass} ${mapClass}`, ref: (el) => (this._mapDiv = el) }), h("map-tools", { basemapConfig: this.basemapConfig, class: `box-shadow ${themeClass}`, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: this.enableSingleExpand, homeZoomToolsSize: this.homeZoomToolsSize, mapView: this.mapView, mapWidgetsSize: this.mapWidgetsSize, position: this.mapWidgetsPosition, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration, stackTools: this.stackTools, toolOrder: this.toolOrder })));
|
355
382
|
}
|
356
383
|
//--------------------------------------------------------------------------
|
357
384
|
//
|
@@ -366,33 +393,91 @@ const MapLegend = class {
|
|
366
393
|
* @protected
|
367
394
|
*/
|
368
395
|
async _initModules() {
|
369
|
-
const [
|
370
|
-
"esri/
|
396
|
+
const [WebMap, MapView, Home] = await loadModules([
|
397
|
+
"esri/WebMap",
|
398
|
+
"esri/views/MapView",
|
399
|
+
"esri/widgets/Home"
|
371
400
|
]);
|
372
|
-
this.
|
401
|
+
this.WebMap = WebMap;
|
402
|
+
this.MapView = MapView;
|
403
|
+
this.Home = Home;
|
373
404
|
}
|
374
405
|
/**
|
375
|
-
*
|
406
|
+
* Load the webmap for the provided webMapInfo
|
407
|
+
*
|
408
|
+
* @param webMapInfo the webmap id and name to load
|
376
409
|
*/
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
410
|
+
async _loadMap(webMapInfo) {
|
411
|
+
var _a;
|
412
|
+
// on the first render use the default webmap id if provided otherwise use the first child of the provided mapInfos
|
413
|
+
const loadDefaultMap = !this._defaultWebmapHonored && this.defaultWebmapId;
|
414
|
+
const defaultMap = (_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.filter(i => i.id === this.defaultWebmapId);
|
415
|
+
const mapConfigChanged = JSON.stringify(webMapInfo) !== JSON.stringify(this._webMapInfo);
|
416
|
+
this._webMapInfo = loadDefaultMap && defaultMap ? defaultMap[0] :
|
417
|
+
!(webMapInfo === null || webMapInfo === void 0 ? void 0 : webMapInfo.id) && this.mapInfos.length > 0 ? this.mapInfos[0] : webMapInfo;
|
418
|
+
const id = this._webMapInfo.id;
|
419
|
+
const isDefaultMap = loadDefaultMap && (webMapInfo === null || webMapInfo === void 0 ? void 0 : webMapInfo.id) === this.defaultWebmapId;
|
420
|
+
if ((this._loadedId !== id && !loadDefaultMap) || isDefaultMap) {
|
421
|
+
const webMap = new this.WebMap({
|
422
|
+
portalItem: { id }
|
423
|
+
});
|
424
|
+
this.mapView = new this.MapView({
|
425
|
+
container: this._mapDiv,
|
426
|
+
map: webMap,
|
427
|
+
resizeAlign: "center"
|
428
|
+
});
|
429
|
+
this._loadedId = id;
|
430
|
+
this._searchConfiguration = this._webMapInfo.searchConfiguration;
|
431
|
+
this.beforeMapChanged.emit();
|
432
|
+
await this.mapView.when(() => {
|
433
|
+
this._initHome();
|
434
|
+
this.mapView.ui.add(this._mapTools, { position: this.mapWidgetsPosition, index: this.mapWidgetsIndex });
|
435
|
+
this._defaultWebmapHonored = isDefaultMap ? true : this._defaultWebmapHonored;
|
436
|
+
this.mapChanged.emit({
|
437
|
+
id: id,
|
438
|
+
mapView: this.mapView
|
383
439
|
});
|
384
|
-
}
|
385
|
-
|
386
|
-
|
387
|
-
|
440
|
+
});
|
441
|
+
}
|
442
|
+
else if (loadDefaultMap) {
|
443
|
+
this._defaultWebmapHonored = true;
|
444
|
+
this._mapPicker.setMapByID(id);
|
445
|
+
}
|
446
|
+
else if (mapConfigChanged) {
|
447
|
+
// Map is the same so no need to reload but we need to update for any changes from the config
|
448
|
+
this._searchConfiguration = this._webMapInfo.searchConfiguration;
|
449
|
+
this.beforeMapChanged.emit();
|
450
|
+
this.mapChanged.emit({
|
451
|
+
id: id,
|
452
|
+
mapView: this.mapView
|
453
|
+
});
|
454
|
+
}
|
455
|
+
}
|
456
|
+
/**
|
457
|
+
* Add/remove the home widget base on enableHome prop
|
458
|
+
*
|
459
|
+
* @protected
|
460
|
+
*/
|
461
|
+
_initHome() {
|
462
|
+
if (this.enableHome) {
|
463
|
+
this._homeWidget = new this.Home({
|
464
|
+
view: this.mapView
|
465
|
+
});
|
466
|
+
this.mapView.ui.add(this._homeWidget, { position: this.homeZoomPosition, index: this.homeZoomIndex });
|
467
|
+
const size = this.homeZoomToolsSize === "s" ? "32px" : this.homeZoomToolsSize === "m" ? "40px" : "48px";
|
468
|
+
this._homeWidget.domNode.style.height = size;
|
469
|
+
this._homeWidget.domNode.style.width = size;
|
470
|
+
}
|
471
|
+
else if (this._homeWidget) {
|
472
|
+
this.mapView.ui.remove(this._homeWidget);
|
388
473
|
}
|
389
474
|
}
|
390
475
|
get el() { return getElement(this); }
|
391
476
|
static get watchers() { return {
|
392
|
-
"
|
477
|
+
"enableHome": ["enableHomeWatchHandler"]
|
393
478
|
}; }
|
394
479
|
};
|
395
|
-
|
480
|
+
MapCard.style = mapCardCss;
|
396
481
|
|
397
482
|
const mapPickerCss = ":host{display:block;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.width-full{width:100%}.height-full{height:100%}.display-flex{display:flex}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-color-border-3)}.action-bar-size{height:51px;width:100%}.map-list{position:absolute;display:flex;flex-direction:column;overflow:hidden;animation:calcite-scrim-fade-in var(--calcite-internal-animation-timing-medium) ease-in-out;background-color:var(--calcite-color-background);z-index:1000;width:100%;height:-moz-fit-content;height:fit-content}.display-none{display:none}.align-center{align-items:center}";
|
398
483
|
|
@@ -552,175 +637,6 @@ const MapPicker = class {
|
|
552
637
|
};
|
553
638
|
MapPicker.style = mapPickerCss;
|
554
639
|
|
555
|
-
const mapSearchCss = ":host{display:block}.search-widget{width:100% !important;border:1px solid var(--calcite-color-border-input)}";
|
556
|
-
|
557
|
-
const MapSearch = class {
|
558
|
-
constructor(hostRef) {
|
559
|
-
registerInstance(this, hostRef);
|
560
|
-
this.mapView = undefined;
|
561
|
-
this.popupEnabled = false;
|
562
|
-
this.resultGraphicEnabled = false;
|
563
|
-
this.searchConfiguration = undefined;
|
564
|
-
this.searchTerm = undefined;
|
565
|
-
this.searchWidget = undefined;
|
566
|
-
}
|
567
|
-
//--------------------------------------------------------------------------
|
568
|
-
//
|
569
|
-
// Watch handlers
|
570
|
-
//
|
571
|
-
//--------------------------------------------------------------------------
|
572
|
-
/**
|
573
|
-
* Called each time the searchConfiguration prop is changed.
|
574
|
-
*
|
575
|
-
* @returns Promise when complete
|
576
|
-
*/
|
577
|
-
async watchSearchConfigurationHandler() {
|
578
|
-
this._initSearchWidget();
|
579
|
-
}
|
580
|
-
/**
|
581
|
-
* Called each time the mapView prop is changed.
|
582
|
-
*
|
583
|
-
* @returns Promise when complete
|
584
|
-
*/
|
585
|
-
async mapViewWatchHandler() {
|
586
|
-
await this.mapView.when(() => {
|
587
|
-
this._initSearchWidget();
|
588
|
-
});
|
589
|
-
}
|
590
|
-
//--------------------------------------------------------------------------
|
591
|
-
//
|
592
|
-
// Methods (public)
|
593
|
-
//
|
594
|
-
//--------------------------------------------------------------------------
|
595
|
-
//--------------------------------------------------------------------------
|
596
|
-
//
|
597
|
-
// Events (public)
|
598
|
-
//
|
599
|
-
//--------------------------------------------------------------------------
|
600
|
-
//--------------------------------------------------------------------------
|
601
|
-
//
|
602
|
-
// Functions (lifecycle)
|
603
|
-
//
|
604
|
-
//--------------------------------------------------------------------------
|
605
|
-
/**
|
606
|
-
* StencilJS: Called once just after the component is first connected to the DOM.
|
607
|
-
*/
|
608
|
-
async componentWillLoad() {
|
609
|
-
await this._initModules();
|
610
|
-
}
|
611
|
-
/**
|
612
|
-
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
613
|
-
*/
|
614
|
-
async componentDidLoad() {
|
615
|
-
return this._initSearchWidget();
|
616
|
-
}
|
617
|
-
/**
|
618
|
-
* Renders the component.
|
619
|
-
*/
|
620
|
-
render() {
|
621
|
-
return (h(Host, null, h("div", { class: "search-widget", ref: (el) => { this._searchElement = el; } })));
|
622
|
-
}
|
623
|
-
//--------------------------------------------------------------------------
|
624
|
-
//
|
625
|
-
// Functions (protected)
|
626
|
-
//
|
627
|
-
//--------------------------------------------------------------------------
|
628
|
-
/**
|
629
|
-
* Load esri javascript api modules
|
630
|
-
*
|
631
|
-
* @returns Promise resolving when function is done
|
632
|
-
*
|
633
|
-
* @protected
|
634
|
-
*/
|
635
|
-
async _initModules() {
|
636
|
-
const [Search, FeatureLayer] = await loadModules([
|
637
|
-
"esri/widgets/Search",
|
638
|
-
"esri/layers/FeatureLayer"
|
639
|
-
]);
|
640
|
-
this.Search = Search;
|
641
|
-
this.FeatureLayer = FeatureLayer;
|
642
|
-
}
|
643
|
-
/**
|
644
|
-
* Initialize the search widget
|
645
|
-
*
|
646
|
-
* @protected
|
647
|
-
*/
|
648
|
-
_initSearchWidget() {
|
649
|
-
if (this.mapView && this._searchElement && !this.searchWidget) {
|
650
|
-
let searchOptions = {
|
651
|
-
view: this.mapView,
|
652
|
-
container: this._searchElement,
|
653
|
-
searchTerm: this.searchTerm
|
654
|
-
};
|
655
|
-
if (this.searchConfiguration) {
|
656
|
-
const searchConfiguration = this._getSearchConfig(this.searchConfiguration, this.mapView);
|
657
|
-
searchOptions = Object.assign({}, searchConfiguration);
|
658
|
-
}
|
659
|
-
this.searchWidget = new this.Search(searchOptions);
|
660
|
-
this.searchWidget.popupEnabled = this.popupEnabled;
|
661
|
-
this.searchWidget.resultGraphicEnabled = this.resultGraphicEnabled;
|
662
|
-
}
|
663
|
-
else {
|
664
|
-
if (this.searchWidget) {
|
665
|
-
this.searchWidget.view = this.mapView;
|
666
|
-
}
|
667
|
-
}
|
668
|
-
}
|
669
|
-
/**
|
670
|
-
* Initialize the search widget based on user defined configuration
|
671
|
-
*
|
672
|
-
* @param searchConfiguration search configuration defined by the user
|
673
|
-
* @param view the current map view
|
674
|
-
*
|
675
|
-
* @protected
|
676
|
-
*/
|
677
|
-
_getSearchConfig(searchConfiguration, view) {
|
678
|
-
const INCLUDE_DEFAULT_SOURCES = "includeDefaultSources";
|
679
|
-
const sources = searchConfiguration.sources;
|
680
|
-
if ((sources === null || sources === void 0 ? void 0 : sources.length) > 0) {
|
681
|
-
searchConfiguration[INCLUDE_DEFAULT_SOURCES] = false;
|
682
|
-
sources.forEach((source) => {
|
683
|
-
var _a, _b;
|
684
|
-
const isLayerSource = source.hasOwnProperty("layer");
|
685
|
-
if (isLayerSource) {
|
686
|
-
const layerSource = source;
|
687
|
-
const layerId = (_a = layerSource.layer) === null || _a === void 0 ? void 0 : _a.id;
|
688
|
-
const layerFromMap = layerId ? view.map.findLayerById(layerId) : null;
|
689
|
-
const layerUrl = (_b = layerSource === null || layerSource === void 0 ? void 0 : layerSource.layer) === null || _b === void 0 ? void 0 : _b.url;
|
690
|
-
if (layerFromMap) {
|
691
|
-
layerSource.layer = layerFromMap;
|
692
|
-
}
|
693
|
-
else if (layerUrl) {
|
694
|
-
layerSource.layer = new this.FeatureLayer(layerUrl);
|
695
|
-
}
|
696
|
-
}
|
697
|
-
});
|
698
|
-
sources === null || sources === void 0 ? void 0 : sources.forEach((source) => {
|
699
|
-
const isLocatorSource = source.hasOwnProperty("locator");
|
700
|
-
if (isLocatorSource) {
|
701
|
-
const locatorSource = source;
|
702
|
-
if ((locatorSource === null || locatorSource === void 0 ? void 0 : locatorSource.name) === "ArcGIS World Geocoding Service") {
|
703
|
-
const outFields = locatorSource.outFields || ["Addr_type", "Match_addr", "StAddr", "City"];
|
704
|
-
locatorSource.outFields = outFields;
|
705
|
-
locatorSource.singleLineFieldName = "SingleLine";
|
706
|
-
}
|
707
|
-
locatorSource.url = locatorSource.url;
|
708
|
-
delete locatorSource.url;
|
709
|
-
}
|
710
|
-
});
|
711
|
-
}
|
712
|
-
else {
|
713
|
-
searchConfiguration = Object.assign(Object.assign({}, searchConfiguration), { includeDefaultSources: true });
|
714
|
-
}
|
715
|
-
return searchConfiguration;
|
716
|
-
}
|
717
|
-
static get watchers() { return {
|
718
|
-
"searchConfiguration": ["watchSearchConfigurationHandler"],
|
719
|
-
"mapView": ["mapViewWatchHandler"]
|
720
|
-
}; }
|
721
|
-
};
|
722
|
-
MapSearch.style = mapSearchCss;
|
723
|
-
|
724
640
|
const mapToolsCss = ":host{display:block}.display-none{display:none}.margin-top-1-2{margin-top:0.5rem}.square-32{width:32px;height:32px}.square-40{width:40px;height:40px}.square-48{width:48px;height:48px}.width-40{width:40px}.square-40-41{width:40px;height:41px}.border-bottom{border-bottom:1px solid var(--calcite-color-border-3)}.box-shadow{box-shadow:0 1px 2px rgba(0, 0, 0, 0.3)}.margin-bottom-1-2{margin-bottom:0.5rem}";
|
725
641
|
|
726
642
|
const MapTools = class {
|
@@ -1078,4 +994,4 @@ const MapTools = class {
|
|
1078
994
|
};
|
1079
995
|
MapTools.style = mapToolsCss;
|
1080
996
|
|
1081
|
-
export {
|
997
|
+
export { InfoCard as info_card, MapCard as map_card, MapPicker as map_picker, MapTools as map_tools };
|