@esri/solutions-components 0.2.3 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/assets/t9n/solution-config-modal/resources.json +22 -0
- package/dist/assets/t9n/solution-config-modal/resources_en.json +22 -0
- package/dist/cjs/ExpandToggle-73df0d51.js +2 -0
- package/dist/cjs/ExpandToggle-73df0d51.js.map +1 -0
- package/dist/cjs/Heading-6b7b374c.js +2 -0
- package/dist/cjs/Heading-6b7b374c.js.map +1 -0
- package/dist/cjs/_commonjsHelpers-6aafa5de.js +2 -0
- package/dist/cjs/_commonjsHelpers-6aafa5de.js.map +1 -0
- package/dist/cjs/app-globals-2f48e57e.js +2 -0
- package/dist/cjs/app-globals-2f48e57e.js.map +1 -0
- package/dist/cjs/array-ace6d4b5.js +2 -0
- package/dist/cjs/array-ace6d4b5.js.map +1 -0
- package/dist/cjs/buffer-tools_6.cjs.entry.js +2 -0
- package/dist/cjs/buffer-tools_6.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-accordion-item.cjs.entry.js +2 -0
- package/dist/cjs/calcite-accordion-item.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-accordion.cjs.entry.js +2 -0
- package/dist/cjs/calcite-accordion.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-action-bar_6.cjs.entry.js +2 -0
- package/dist/cjs/calcite-action-bar_6.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-action-group.cjs.entry.js +2 -0
- package/dist/cjs/calcite-action-group.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-action-menu_2.cjs.entry.js +20 -401
- package/dist/cjs/calcite-action-menu_2.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-action-pad.cjs.entry.js +2 -0
- package/dist/cjs/calcite-action-pad.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-action_2.cjs.entry.js +425 -71
- package/dist/cjs/calcite-action_2.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-alert.cjs.entry.js +2 -0
- package/dist/cjs/calcite-alert.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-avatar.cjs.entry.js +2 -0
- package/dist/cjs/calcite-avatar.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-block-section.cjs.entry.js +2 -0
- package/dist/cjs/calcite-block-section.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-block.cjs.entry.js +2 -0
- package/dist/cjs/calcite-block.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-button.cjs.entry.js +2 -0
- package/dist/cjs/calcite-button.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-card.cjs.entry.js +2 -0
- package/dist/cjs/calcite-card.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-checkbox.cjs.entry.js +2 -0
- package/dist/cjs/calcite-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-chip.cjs.entry.js +2 -0
- package/dist/cjs/calcite-chip.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js +2 -0
- package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js +2 -0
- package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-color-picker.cjs.entry.js +2 -0
- package/dist/cjs/calcite-color-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +2 -0
- package/dist/cjs/calcite-combobox-item-group.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-combobox_3.cjs.entry.js +2 -0
- package/dist/cjs/calcite-combobox_3.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +2 -0
- package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-date-picker.cjs.entry.js +2 -0
- package/dist/cjs/calcite-date-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-dropdown-group.cjs.entry.js +2 -0
- package/dist/cjs/calcite-dropdown-group.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-dropdown-item.cjs.entry.js +2 -0
- package/dist/cjs/calcite-dropdown-item.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-dropdown.cjs.entry.js +2 -0
- package/dist/cjs/calcite-dropdown.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-fab.cjs.entry.js +2 -0
- package/dist/cjs/calcite-fab.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-filter.cjs.entry.js +2 -0
- package/dist/cjs/calcite-filter.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-flow-item.cjs.entry.js +2 -0
- package/dist/cjs/calcite-flow-item.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-flow.cjs.entry.js +2 -0
- package/dist/cjs/calcite-flow.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-graph.cjs.entry.js +2 -0
- package/dist/cjs/calcite-graph.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-handle.cjs.entry.js +2 -0
- package/dist/cjs/calcite-handle.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-icon.cjs.entry.js +2 -0
- package/dist/cjs/calcite-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-inline-editable.cjs.entry.js +2 -0
- package/dist/cjs/calcite-inline-editable.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-input-date-picker.cjs.entry.js +2 -0
- package/dist/cjs/calcite-input-date-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-input-number.cjs.entry.js +2 -0
- package/dist/cjs/calcite-input-number.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-input-text.cjs.entry.js +2 -0
- package/dist/cjs/calcite-input-text.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-input-time-picker.cjs.entry.js +2 -0
- package/dist/cjs/calcite-input-time-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-input_2.cjs.entry.js +2 -0
- package/dist/cjs/calcite-input_2.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-label.cjs.entry.js +2 -0
- package/dist/cjs/calcite-label.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-link.cjs.entry.js +2 -0
- package/dist/cjs/calcite-link.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-list-item-group.cjs.entry.js +2 -0
- package/dist/cjs/calcite-list-item-group.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-list_2.cjs.entry.js +2 -0
- package/dist/cjs/calcite-list_2.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-loader.cjs.entry.js +97 -0
- package/dist/cjs/calcite-loader.cjs.entry.js.map +1 -0
- package/dist/cjs/{solution-configuration.cjs.entry.js → calcite-modal_2.cjs.entry.js} +452 -6
- package/dist/cjs/calcite-modal_2.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-option-group.cjs.entry.js +2 -0
- package/dist/cjs/calcite-option-group.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-option_2.cjs.entry.js +2 -0
- package/dist/cjs/calcite-option_2.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-pagination.cjs.entry.js +2 -0
- package/dist/cjs/calcite-pagination.cjs.entry.js.map +1 -0
- package/dist/cjs/{calcite-shell-panel_14.cjs.entry.js → calcite-panel_12.cjs.entry.js} +469 -711
- package/dist/cjs/calcite-panel_12.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-pick-list-group.cjs.entry.js +2 -0
- package/dist/cjs/calcite-pick-list-group.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-pick-list-item.cjs.entry.js +2 -0
- package/dist/cjs/calcite-pick-list-item.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-pick-list.cjs.entry.js +2 -0
- package/dist/cjs/calcite-pick-list.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-popover-manager.cjs.entry.js +2 -0
- package/dist/cjs/calcite-popover-manager.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-radio-button-group.cjs.entry.js +2 -0
- package/dist/cjs/calcite-radio-button-group.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-radio-button.cjs.entry.js +2 -0
- package/dist/cjs/calcite-radio-button.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-rating.cjs.entry.js +2 -0
- package/dist/cjs/calcite-rating.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-shell-center-row.cjs.entry.js +2 -0
- package/dist/cjs/calcite-shell-center-row.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-sortable-list.cjs.entry.js +2 -0
- package/dist/cjs/calcite-sortable-list.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-split-button.cjs.entry.js +2 -0
- package/dist/cjs/calcite-split-button.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-stepper-item.cjs.entry.js +2 -0
- package/dist/cjs/calcite-stepper-item.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-stepper.cjs.entry.js +2 -0
- package/dist/cjs/calcite-stepper.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-switch.cjs.entry.js +2 -0
- package/dist/cjs/calcite-switch.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-tile-select-group.cjs.entry.js +2 -0
- package/dist/cjs/calcite-tile-select-group.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-tile-select.cjs.entry.js +2 -0
- package/dist/cjs/calcite-tile-select.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-tile.cjs.entry.js +2 -0
- package/dist/cjs/calcite-tile.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-time-picker.cjs.entry.js +2 -0
- package/dist/cjs/calcite-time-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-tip-group.cjs.entry.js +2 -0
- package/dist/cjs/calcite-tip-group.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-tip-manager.cjs.entry.js +2 -0
- package/dist/cjs/calcite-tip-manager.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-tip.cjs.entry.js +2 -0
- package/dist/cjs/calcite-tip.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-tooltip-manager.cjs.entry.js +2 -0
- package/dist/cjs/calcite-tooltip-manager.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-tooltip.cjs.entry.js +2 -0
- package/dist/cjs/calcite-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/calcite-tree_3.cjs.entry.js +2 -0
- package/dist/cjs/calcite-tree_3.cjs.entry.js.map +1 -0
- package/dist/cjs/check-list.cjs.entry.js +2 -0
- package/dist/cjs/check-list.cjs.entry.js.map +1 -0
- package/dist/cjs/conditionalSlot-2defe83d.js +2 -0
- package/dist/cjs/conditionalSlot-2defe83d.js.map +1 -0
- package/dist/cjs/config-buffer-tools.cjs.entry.js +2 -0
- package/dist/cjs/config-buffer-tools.cjs.entry.js.map +1 -0
- package/dist/cjs/config-draw-tools.cjs.entry.js +2 -0
- package/dist/cjs/config-draw-tools.cjs.entry.js.map +1 -0
- package/dist/cjs/config-layer-picker.cjs.entry.js +2 -0
- package/dist/cjs/config-layer-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/config-pdf-download.cjs.entry.js +2 -0
- package/dist/cjs/config-pdf-download.cjs.entry.js.map +1 -0
- package/dist/cjs/date-e21b2052.js +2 -0
- package/dist/cjs/date-e21b2052.js.map +1 -0
- package/dist/cjs/debounce-69c3bada.js +2 -0
- package/dist/cjs/debounce-69c3bada.js.map +1 -0
- package/dist/cjs/dom-4a580af6.js +2 -0
- package/dist/cjs/dom-4a580af6.js.map +1 -0
- package/dist/cjs/filter-325f654f.js +2 -0
- package/dist/cjs/filter-325f654f.js.map +1 -0
- package/dist/cjs/floating-ui-ca1bcead.js +2 -0
- package/dist/cjs/floating-ui-ca1bcead.js.map +1 -0
- package/dist/cjs/form-45849654.js +2 -0
- package/dist/cjs/form-45849654.js.map +1 -0
- package/dist/cjs/guid-84ac4d91.js +2 -0
- package/dist/cjs/guid-84ac4d91.js.map +1 -0
- package/dist/cjs/index-7af21b6f.js +2 -0
- package/dist/cjs/index-7af21b6f.js.map +1 -0
- package/dist/cjs/index-a86078a0.js +2 -0
- package/dist/cjs/index-a86078a0.js.map +1 -0
- package/dist/cjs/index-d7f9770d.js +2 -0
- package/dist/cjs/index-d7f9770d.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/interactive-0a68ab99.js +2 -0
- package/dist/cjs/interactive-0a68ab99.js.map +1 -0
- package/dist/cjs/interfaces-ab603e16.js +2 -0
- package/dist/cjs/interfaces-ab603e16.js.map +1 -0
- package/dist/cjs/interfaces-e76f31e9.js +2 -0
- package/dist/cjs/interfaces-e76f31e9.js.map +1 -0
- package/dist/cjs/key-55aca5c0.js +2 -0
- package/dist/cjs/key-55aca5c0.js.map +1 -0
- package/dist/cjs/label-24fcd8a5.js +2 -0
- package/dist/cjs/label-24fcd8a5.js.map +1 -0
- package/dist/cjs/labelFormats-3236d2e0.js +2 -0
- package/dist/cjs/labelFormats-3236d2e0.js.map +1 -0
- package/dist/cjs/loadModules-38269f99.js +2 -0
- package/dist/cjs/loadModules-38269f99.js.map +1 -0
- package/dist/cjs/loader.cjs.js +3 -1
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/locale-73cab8e8.js +2 -0
- package/dist/cjs/locale-73cab8e8.js.map +1 -0
- package/dist/cjs/locale-746a095d.js +2 -0
- package/dist/cjs/locale-746a095d.js.map +1 -0
- package/dist/cjs/map-search.cjs.entry.js +2 -0
- package/dist/cjs/map-search.cjs.entry.js.map +1 -0
- package/dist/cjs/mapViewUtils-67cfc412.js +2 -0
- package/dist/cjs/mapViewUtils-67cfc412.js.map +1 -0
- package/dist/cjs/math-460fffaf.js +2 -0
- package/dist/cjs/math-460fffaf.js.map +1 -0
- package/dist/cjs/nonChromiumPlatformUtils-7a6a84d2.js +2 -0
- package/dist/cjs/nonChromiumPlatformUtils-7a6a84d2.js.map +1 -0
- package/dist/cjs/observers-5311faf8.js +2 -0
- package/dist/cjs/observers-5311faf8.js.map +1 -0
- package/dist/cjs/openCloseComponent-bf986132.js +2 -0
- package/dist/cjs/openCloseComponent-bf986132.js.map +1 -0
- package/dist/cjs/public-notification.cjs.entry.js +2 -0
- package/dist/cjs/public-notification.cjs.entry.js.map +1 -0
- package/dist/cjs/publicNotificationStore-6a3d40b3.js +2 -0
- package/dist/cjs/publicNotificationStore-6a3d40b3.js.map +1 -0
- package/dist/cjs/publicNotificationUtils-9d585d8d.js +2 -0
- package/dist/cjs/publicNotificationUtils-9d585d8d.js.map +1 -0
- package/dist/cjs/resources-1f785471.js +2 -0
- package/dist/cjs/resources-1f785471.js.map +1 -0
- package/dist/cjs/resources-2260d186.js +2 -0
- package/dist/cjs/resources-2260d186.js.map +1 -0
- package/dist/cjs/resources-2a9862c7.js +2 -0
- package/dist/cjs/resources-2a9862c7.js.map +1 -0
- package/dist/cjs/resources-308edbd8.js +2 -0
- package/dist/cjs/resources-308edbd8.js.map +1 -0
- package/dist/cjs/resources-6152b073.js +2 -0
- package/dist/cjs/resources-6152b073.js.map +1 -0
- package/dist/cjs/resources-808cfca8.js +2 -0
- package/dist/cjs/resources-808cfca8.js.map +1 -0
- package/dist/cjs/resources-9c55e05c.js +2 -0
- package/dist/cjs/resources-9c55e05c.js.map +1 -0
- package/dist/cjs/resources-aa19bf8c.js +2 -0
- package/dist/cjs/resources-aa19bf8c.js.map +1 -0
- package/dist/cjs/resources-b56bce71.js +2 -0
- package/dist/cjs/resources-b56bce71.js.map +1 -0
- package/dist/cjs/resources-cc7f63b0.js +2 -0
- package/dist/cjs/resources-cc7f63b0.js.map +1 -0
- package/dist/cjs/shared-list-render-4c7d84bf.js +2 -0
- package/dist/cjs/shared-list-render-4c7d84bf.js.map +1 -0
- package/dist/cjs/solution-config-modal.cjs.entry.js +131 -0
- package/dist/cjs/solution-config-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/{solution-contents_3.cjs.entry.js → solution-contents_7.cjs.entry.js} +665 -2
- package/dist/cjs/solution-contents_7.cjs.entry.js.map +1 -0
- package/dist/cjs/{solution-store-e2fc11ac.js → solution-store-09b3fc53.js} +5 -3
- package/dist/cjs/solution-store-09b3fc53.js.map +1 -0
- package/dist/cjs/solutions-components.cjs.js +3 -1
- package/dist/cjs/solutions-components.cjs.js.map +1 -0
- package/dist/cjs/sortable.esm-bf47019d.js +2 -0
- package/dist/cjs/sortable.esm-bf47019d.js.map +1 -0
- package/dist/cjs/store-manager.cjs.entry.js +2 -0
- package/dist/cjs/store-manager.cjs.entry.js.map +1 -0
- package/dist/cjs/time-3f5577cb.js +2 -0
- package/dist/cjs/time-3f5577cb.js.map +1 -0
- package/dist/cjs/utils-120bbbeb.js +2 -0
- package/dist/cjs/utils-120bbbeb.js.map +1 -0
- package/dist/cjs/utils-b4236001.js +2 -0
- package/dist/cjs/utils-b4236001.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/buffer-tools/buffer-tools.js +1 -0
- package/dist/collection/components/buffer-tools/buffer-tools.js.map +1 -0
- package/dist/collection/components/check-list/check-list.js +1 -0
- package/dist/collection/components/check-list/check-list.js.map +1 -0
- package/dist/collection/components/config-buffer-tools/config-buffer-tools.js +1 -0
- package/dist/collection/components/config-buffer-tools/config-buffer-tools.js.map +1 -0
- package/dist/collection/components/config-draw-tools/config-draw-tools.js +1 -0
- package/dist/collection/components/config-draw-tools/config-draw-tools.js.map +1 -0
- package/dist/collection/components/config-layer-picker/config-layer-picker.js +1 -0
- package/dist/collection/components/config-layer-picker/config-layer-picker.js.map +1 -0
- package/dist/collection/components/config-pdf-download/config-pdf-download.js +1 -0
- package/dist/collection/components/config-pdf-download/config-pdf-download.js.map +1 -0
- package/dist/collection/components/json-editor/json-editor.js +1 -0
- package/dist/collection/components/json-editor/json-editor.js.map +1 -0
- package/dist/collection/components/map-draw-tools/map-draw-tools.js +1 -0
- package/dist/collection/components/map-draw-tools/map-draw-tools.js.map +1 -0
- package/dist/collection/components/map-layer-picker/map-layer-picker.js +1 -0
- package/dist/collection/components/map-layer-picker/map-layer-picker.js.map +1 -0
- package/dist/collection/components/map-search/map-search.js +1 -0
- package/dist/collection/components/map-search/map-search.js.map +1 -0
- package/dist/collection/components/map-select-tools/map-select-tools.js +1 -0
- package/dist/collection/components/map-select-tools/map-select-tools.js.map +1 -0
- package/dist/collection/components/pdf-download/pdf-download.js +1 -0
- package/dist/collection/components/pdf-download/pdf-download.js.map +1 -0
- package/dist/collection/components/public-notification/public-notification.js +1 -0
- package/dist/collection/components/public-notification/public-notification.js.map +1 -0
- package/dist/collection/components/refine-selection/refine-selection.js +1 -0
- package/dist/collection/components/refine-selection/refine-selection.js.map +1 -0
- package/dist/collection/components/refine-selection-tools/refine-selection-tools.js +1 -0
- package/dist/collection/components/refine-selection-tools/refine-selection-tools.js.map +1 -0
- package/dist/collection/components/solution-config-modal/solution-config-modal.css +91 -0
- package/dist/collection/components/solution-config-modal/solution-config-modal.js +245 -0
- package/dist/collection/components/solution-config-modal/solution-config-modal.js.map +1 -0
- package/dist/collection/components/solution-configuration/solution-configuration.js +24 -11
- package/dist/collection/components/solution-configuration/solution-configuration.js.map +1 -0
- package/dist/collection/components/solution-contents/solution-contents.js +1 -0
- package/dist/collection/components/solution-contents/solution-contents.js.map +1 -0
- package/dist/collection/components/solution-item/solution-item.js +1 -0
- package/dist/collection/components/solution-item/solution-item.js.map +1 -0
- package/dist/collection/components/solution-item-details/solution-item-details.js +1 -0
- package/dist/collection/components/solution-item-details/solution-item-details.js.map +1 -0
- package/dist/collection/components/solution-item-icon/solution-item-icon.js +1 -0
- package/dist/collection/components/solution-item-icon/solution-item-icon.js.map +1 -0
- package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +1 -0
- package/dist/collection/components/solution-item-sharing/solution-item-sharing.js.map +1 -0
- package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +1 -0
- package/dist/collection/components/solution-organization-variables/solution-organization-variables.js.map +1 -0
- package/dist/collection/components/solution-resource-item/solution-resource-item.js +1 -0
- package/dist/collection/components/solution-resource-item/solution-resource-item.js.map +1 -0
- package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +1 -0
- package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js.map +1 -0
- package/dist/collection/components/solution-spatial-ref/spatialreferences.js +1 -0
- package/dist/collection/components/solution-spatial-ref/spatialreferences.js.map +1 -0
- package/dist/collection/components/solution-template-data/solution-template-data.js +1 -0
- package/dist/collection/components/solution-template-data/solution-template-data.js.map +1 -0
- package/dist/collection/components/solution-variables/solution-variables.js +1 -0
- package/dist/collection/components/solution-variables/solution-variables.js.map +1 -0
- package/dist/collection/components/store-manager/store-manager.js +1 -0
- package/dist/collection/components/store-manager/store-manager.js.map +1 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/utils/common.js +1 -0
- package/dist/collection/utils/common.js.map +1 -0
- package/dist/collection/utils/csvUtils.js +1 -0
- package/dist/collection/utils/csvUtils.js.map +1 -0
- package/dist/collection/utils/interfaces.js +1 -0
- package/dist/collection/utils/interfaces.js.map +1 -0
- package/dist/collection/utils/languageUtil.js +1 -0
- package/dist/collection/utils/languageUtil.js.map +1 -0
- package/dist/collection/utils/loadModules.js +1 -0
- package/dist/collection/utils/loadModules.js.map +1 -0
- package/dist/collection/utils/locale.js +1 -0
- package/dist/collection/utils/locale.js.map +1 -0
- package/dist/collection/utils/mapViewUtils.js +1 -0
- package/dist/collection/utils/mapViewUtils.js.map +1 -0
- package/dist/collection/utils/publicNotificationStore.js +1 -0
- package/dist/collection/utils/publicNotificationStore.js.map +1 -0
- package/dist/collection/utils/publicNotificationUtils.js +1 -0
- package/dist/collection/utils/publicNotificationUtils.js.map +1 -0
- package/dist/collection/utils/queryUtils.js +1 -0
- package/dist/collection/utils/queryUtils.js.map +1 -0
- package/dist/collection/utils/solution-store.js +4 -3
- package/dist/collection/utils/solution-store.js.map +1 -0
- package/dist/collection/utils/solution-store.ts +3 -3
- package/dist/collection/utils/templates.js +1 -0
- package/dist/collection/utils/templates.js.map +1 -0
- package/dist/collection/utils/test/testUtils.js +1 -0
- package/dist/collection/utils/test/testUtils.js.map +1 -0
- package/dist/collection/utils/types.js +1 -0
- package/dist/collection/utils/types.js.map +1 -0
- package/dist/esm/ExpandToggle-b7d1fb3c.js +2 -0
- package/dist/esm/ExpandToggle-b7d1fb3c.js.map +1 -0
- package/dist/esm/Heading-1efb4837.js +2 -0
- package/dist/esm/Heading-1efb4837.js.map +1 -0
- package/dist/esm/_commonjsHelpers-8fd39c50.js +2 -0
- package/dist/esm/_commonjsHelpers-8fd39c50.js.map +1 -0
- package/dist/esm/app-globals-09b9efee.js +2 -0
- package/dist/esm/app-globals-09b9efee.js.map +1 -0
- package/dist/esm/array-2ab3b18f.js +2 -0
- package/dist/esm/array-2ab3b18f.js.map +1 -0
- package/dist/esm/buffer-tools_6.entry.js +4 -2
- package/dist/esm/buffer-tools_6.entry.js.map +1 -0
- package/dist/esm/calcite-accordion-item.entry.js +2 -0
- package/dist/esm/calcite-accordion-item.entry.js.map +1 -0
- package/dist/esm/calcite-accordion.entry.js +2 -0
- package/dist/esm/calcite-accordion.entry.js.map +1 -0
- package/dist/esm/calcite-action-bar_6.entry.js +4 -2
- package/dist/esm/calcite-action-bar_6.entry.js.map +1 -0
- package/dist/esm/calcite-action-group.entry.js +2 -0
- package/dist/esm/calcite-action-group.entry.js.map +1 -0
- package/dist/esm/calcite-action-menu_2.entry.js +22 -403
- package/dist/esm/calcite-action-menu_2.entry.js.map +1 -0
- package/dist/esm/calcite-action-pad.entry.js +2 -0
- package/dist/esm/calcite-action-pad.entry.js.map +1 -0
- package/dist/esm/calcite-action_2.entry.js +426 -72
- package/dist/esm/calcite-action_2.entry.js.map +1 -0
- package/dist/esm/calcite-alert.entry.js +2 -0
- package/dist/esm/calcite-alert.entry.js.map +1 -0
- package/dist/esm/calcite-avatar.entry.js +2 -0
- package/dist/esm/calcite-avatar.entry.js.map +1 -0
- package/dist/esm/calcite-block-section.entry.js +2 -0
- package/dist/esm/calcite-block-section.entry.js.map +1 -0
- package/dist/esm/calcite-block.entry.js +2 -0
- package/dist/esm/calcite-block.entry.js.map +1 -0
- package/dist/esm/calcite-button.entry.js +2 -0
- package/dist/esm/calcite-button.entry.js.map +1 -0
- package/dist/esm/calcite-card.entry.js +2 -0
- package/dist/esm/calcite-card.entry.js.map +1 -0
- package/dist/esm/calcite-checkbox.entry.js +2 -0
- package/dist/esm/calcite-checkbox.entry.js.map +1 -0
- package/dist/esm/calcite-chip.entry.js +2 -0
- package/dist/esm/calcite-chip.entry.js.map +1 -0
- package/dist/esm/calcite-color-picker-hex-input.entry.js +2 -0
- package/dist/esm/calcite-color-picker-hex-input.entry.js.map +1 -0
- package/dist/esm/calcite-color-picker-swatch.entry.js +2 -0
- package/dist/esm/calcite-color-picker-swatch.entry.js.map +1 -0
- package/dist/esm/calcite-color-picker.entry.js +2 -0
- package/dist/esm/calcite-color-picker.entry.js.map +1 -0
- package/dist/esm/calcite-combobox-item-group.entry.js +2 -0
- package/dist/esm/calcite-combobox-item-group.entry.js.map +1 -0
- package/dist/esm/calcite-combobox_3.entry.js +4 -2
- package/dist/esm/calcite-combobox_3.entry.js.map +1 -0
- package/dist/esm/calcite-date-picker-day_3.entry.js +2 -0
- package/dist/esm/calcite-date-picker-day_3.entry.js.map +1 -0
- package/dist/esm/calcite-date-picker.entry.js +2 -0
- package/dist/esm/calcite-date-picker.entry.js.map +1 -0
- package/dist/esm/calcite-dropdown-group.entry.js +2 -0
- package/dist/esm/calcite-dropdown-group.entry.js.map +1 -0
- package/dist/esm/calcite-dropdown-item.entry.js +2 -0
- package/dist/esm/calcite-dropdown-item.entry.js.map +1 -0
- package/dist/esm/calcite-dropdown.entry.js +2 -0
- package/dist/esm/calcite-dropdown.entry.js.map +1 -0
- package/dist/esm/calcite-fab.entry.js +2 -0
- package/dist/esm/calcite-fab.entry.js.map +1 -0
- package/dist/esm/calcite-filter.entry.js +2 -0
- package/dist/esm/calcite-filter.entry.js.map +1 -0
- package/dist/esm/calcite-flow-item.entry.js +2 -0
- package/dist/esm/calcite-flow-item.entry.js.map +1 -0
- package/dist/esm/calcite-flow.entry.js +2 -0
- package/dist/esm/calcite-flow.entry.js.map +1 -0
- package/dist/esm/calcite-graph.entry.js +2 -0
- package/dist/esm/calcite-graph.entry.js.map +1 -0
- package/dist/esm/calcite-handle.entry.js +2 -0
- package/dist/esm/calcite-handle.entry.js.map +1 -0
- package/dist/esm/calcite-icon.entry.js +2 -0
- package/dist/esm/calcite-icon.entry.js.map +1 -0
- package/dist/esm/calcite-inline-editable.entry.js +2 -0
- package/dist/esm/calcite-inline-editable.entry.js.map +1 -0
- package/dist/esm/calcite-input-date-picker.entry.js +2 -0
- package/dist/esm/calcite-input-date-picker.entry.js.map +1 -0
- package/dist/esm/calcite-input-number.entry.js +2 -0
- package/dist/esm/calcite-input-number.entry.js.map +1 -0
- package/dist/esm/calcite-input-text.entry.js +2 -0
- package/dist/esm/calcite-input-text.entry.js.map +1 -0
- package/dist/esm/calcite-input-time-picker.entry.js +2 -0
- package/dist/esm/calcite-input-time-picker.entry.js.map +1 -0
- package/dist/esm/calcite-input_2.entry.js +2 -0
- package/dist/esm/calcite-input_2.entry.js.map +1 -0
- package/dist/esm/calcite-label.entry.js +2 -0
- package/dist/esm/calcite-label.entry.js.map +1 -0
- package/dist/esm/calcite-link.entry.js +2 -0
- package/dist/esm/calcite-link.entry.js.map +1 -0
- package/dist/esm/calcite-list-item-group.entry.js +2 -0
- package/dist/esm/calcite-list-item-group.entry.js.map +1 -0
- package/dist/esm/calcite-list_2.entry.js +2 -0
- package/dist/esm/calcite-list_2.entry.js.map +1 -0
- package/dist/esm/calcite-loader.entry.js +93 -0
- package/dist/esm/calcite-loader.entry.js.map +1 -0
- package/dist/esm/{solution-configuration.entry.js → calcite-modal_2.entry.js} +454 -9
- package/dist/esm/calcite-modal_2.entry.js.map +1 -0
- package/dist/esm/calcite-option-group.entry.js +2 -0
- package/dist/esm/calcite-option-group.entry.js.map +1 -0
- package/dist/esm/calcite-option_2.entry.js +2 -0
- package/dist/esm/calcite-option_2.entry.js.map +1 -0
- package/dist/esm/calcite-pagination.entry.js +2 -0
- package/dist/esm/calcite-pagination.entry.js.map +1 -0
- package/dist/esm/{calcite-shell-panel_14.entry.js → calcite-panel_12.entry.js} +468 -708
- package/dist/esm/calcite-panel_12.entry.js.map +1 -0
- package/dist/esm/calcite-pick-list-group.entry.js +2 -0
- package/dist/esm/calcite-pick-list-group.entry.js.map +1 -0
- package/dist/esm/calcite-pick-list-item.entry.js +2 -0
- package/dist/esm/calcite-pick-list-item.entry.js.map +1 -0
- package/dist/esm/calcite-pick-list.entry.js +2 -0
- package/dist/esm/calcite-pick-list.entry.js.map +1 -0
- package/dist/esm/calcite-popover-manager.entry.js +2 -0
- package/dist/esm/calcite-popover-manager.entry.js.map +1 -0
- package/dist/esm/calcite-radio-button-group.entry.js +2 -0
- package/dist/esm/calcite-radio-button-group.entry.js.map +1 -0
- package/dist/esm/calcite-radio-button.entry.js +2 -0
- package/dist/esm/calcite-radio-button.entry.js.map +1 -0
- package/dist/esm/calcite-rating.entry.js +2 -0
- package/dist/esm/calcite-rating.entry.js.map +1 -0
- package/dist/esm/calcite-shell-center-row.entry.js +2 -0
- package/dist/esm/calcite-shell-center-row.entry.js.map +1 -0
- package/dist/esm/calcite-sortable-list.entry.js +2 -0
- package/dist/esm/calcite-sortable-list.entry.js.map +1 -0
- package/dist/esm/calcite-split-button.entry.js +2 -0
- package/dist/esm/calcite-split-button.entry.js.map +1 -0
- package/dist/esm/calcite-stepper-item.entry.js +2 -0
- package/dist/esm/calcite-stepper-item.entry.js.map +1 -0
- package/dist/esm/calcite-stepper.entry.js +2 -0
- package/dist/esm/calcite-stepper.entry.js.map +1 -0
- package/dist/esm/calcite-switch.entry.js +2 -0
- package/dist/esm/calcite-switch.entry.js.map +1 -0
- package/dist/esm/calcite-tile-select-group.entry.js +2 -0
- package/dist/esm/calcite-tile-select-group.entry.js.map +1 -0
- package/dist/esm/calcite-tile-select.entry.js +2 -0
- package/dist/esm/calcite-tile-select.entry.js.map +1 -0
- package/dist/esm/calcite-tile.entry.js +2 -0
- package/dist/esm/calcite-tile.entry.js.map +1 -0
- package/dist/esm/calcite-time-picker.entry.js +2 -0
- package/dist/esm/calcite-time-picker.entry.js.map +1 -0
- package/dist/esm/calcite-tip-group.entry.js +2 -0
- package/dist/esm/calcite-tip-group.entry.js.map +1 -0
- package/dist/esm/calcite-tip-manager.entry.js +2 -0
- package/dist/esm/calcite-tip-manager.entry.js.map +1 -0
- package/dist/esm/calcite-tip.entry.js +2 -0
- package/dist/esm/calcite-tip.entry.js.map +1 -0
- package/dist/esm/calcite-tooltip-manager.entry.js +2 -0
- package/dist/esm/calcite-tooltip-manager.entry.js.map +1 -0
- package/dist/esm/calcite-tooltip.entry.js +2 -0
- package/dist/esm/calcite-tooltip.entry.js.map +1 -0
- package/dist/esm/calcite-tree_3.entry.js +2 -0
- package/dist/esm/calcite-tree_3.entry.js.map +1 -0
- package/dist/esm/check-list.entry.js +2 -0
- package/dist/esm/check-list.entry.js.map +1 -0
- package/dist/esm/conditionalSlot-bb4cab11.js +2 -0
- package/dist/esm/conditionalSlot-bb4cab11.js.map +1 -0
- package/dist/esm/config-buffer-tools.entry.js +2 -0
- package/dist/esm/config-buffer-tools.entry.js.map +1 -0
- package/dist/esm/config-draw-tools.entry.js +2 -0
- package/dist/esm/config-draw-tools.entry.js.map +1 -0
- package/dist/esm/config-layer-picker.entry.js +4 -2
- package/dist/esm/config-layer-picker.entry.js.map +1 -0
- package/dist/esm/config-pdf-download.entry.js +2 -0
- package/dist/esm/config-pdf-download.entry.js.map +1 -0
- package/dist/esm/date-45de0016.js +2 -0
- package/dist/esm/date-45de0016.js.map +1 -0
- package/dist/esm/debounce-4c884e5c.js +2 -0
- package/dist/esm/debounce-4c884e5c.js.map +1 -0
- package/dist/esm/dom-e593bf85.js +2 -0
- package/dist/esm/dom-e593bf85.js.map +1 -0
- package/dist/esm/filter-82935f2d.js +2 -0
- package/dist/esm/filter-82935f2d.js.map +1 -0
- package/dist/esm/floating-ui-69a55a27.js +2 -0
- package/dist/esm/floating-ui-69a55a27.js.map +1 -0
- package/dist/esm/form-dbfde8ce.js +2 -0
- package/dist/esm/form-dbfde8ce.js.map +1 -0
- package/dist/esm/guid-15fce7c0.js +2 -0
- package/dist/esm/guid-15fce7c0.js.map +1 -0
- package/dist/esm/index-15022d11.js +2 -0
- package/dist/esm/index-15022d11.js.map +1 -0
- package/dist/esm/index-9c882a6e.js +2 -0
- package/dist/esm/index-9c882a6e.js.map +1 -0
- package/dist/esm/index-d33ebc35.js +2 -0
- package/dist/esm/index-d33ebc35.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interactive-822ffed6.js +2 -0
- package/dist/esm/interactive-822ffed6.js.map +1 -0
- package/dist/esm/interfaces-1bdfc3a8.js +72 -0
- package/dist/esm/interfaces-1bdfc3a8.js.map +1 -0
- package/dist/esm/interfaces-4ae145eb.js +2 -0
- package/dist/esm/interfaces-4ae145eb.js.map +1 -0
- package/dist/esm/key-acb660e7.js +2 -0
- package/dist/esm/key-acb660e7.js.map +1 -0
- package/dist/esm/label-d411de44.js +2 -0
- package/dist/esm/label-d411de44.js.map +1 -0
- package/dist/esm/labelFormats-b37958c3.js +2 -0
- package/dist/esm/labelFormats-b37958c3.js.map +1 -0
- package/dist/esm/loadModules-d3b50f95.js +2 -0
- package/dist/esm/loadModules-d3b50f95.js.map +1 -0
- package/dist/esm/loader.js +3 -1
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/locale-0b490b02.js +2 -0
- package/dist/esm/locale-0b490b02.js.map +1 -0
- package/dist/esm/locale-0e10d7e5.js +2 -0
- package/dist/esm/locale-0e10d7e5.js.map +1 -0
- package/dist/esm/map-search.entry.js +2 -0
- package/dist/esm/map-search.entry.js.map +1 -0
- package/dist/esm/mapViewUtils-809947c8.js +284 -0
- package/dist/esm/mapViewUtils-809947c8.js.map +1 -0
- package/dist/esm/math-552c5420.js +2 -0
- package/dist/esm/math-552c5420.js.map +1 -0
- package/dist/esm/nonChromiumPlatformUtils-ee349005.js +2 -0
- package/dist/esm/nonChromiumPlatformUtils-ee349005.js.map +1 -0
- package/dist/esm/observers-31601001.js +2 -0
- package/dist/esm/observers-31601001.js.map +1 -0
- package/dist/esm/openCloseComponent-5caff873.js +2 -0
- package/dist/esm/openCloseComponent-5caff873.js.map +1 -0
- package/dist/esm/public-notification.entry.js +4 -2
- package/dist/esm/public-notification.entry.js.map +1 -0
- package/dist/esm/publicNotificationStore-060c59c8.js +2 -0
- package/dist/esm/publicNotificationStore-060c59c8.js.map +1 -0
- package/dist/esm/publicNotificationUtils-5cb5a607.js +2 -0
- package/dist/esm/publicNotificationUtils-5cb5a607.js.map +1 -0
- package/dist/esm/resources-2235e4ff.js +2 -0
- package/dist/esm/resources-2235e4ff.js.map +1 -0
- package/dist/esm/resources-3d641588.js +2 -0
- package/dist/esm/resources-3d641588.js.map +1 -0
- package/dist/esm/resources-436ae282.js +2 -0
- package/dist/esm/resources-436ae282.js.map +1 -0
- package/dist/esm/resources-4d02cb48.js +2 -0
- package/dist/esm/resources-4d02cb48.js.map +1 -0
- package/dist/esm/resources-78132e50.js +2 -0
- package/dist/esm/resources-78132e50.js.map +1 -0
- package/dist/esm/resources-7d4a587f.js +2 -0
- package/dist/esm/resources-7d4a587f.js.map +1 -0
- package/dist/esm/resources-971845d1.js +2 -0
- package/dist/esm/resources-971845d1.js.map +1 -0
- package/dist/esm/resources-9eb63965.js +2 -0
- package/dist/esm/resources-9eb63965.js.map +1 -0
- package/dist/esm/resources-d60362c3.js +2 -0
- package/dist/esm/resources-d60362c3.js.map +1 -0
- package/dist/esm/resources-e3a5cf27.js +2 -0
- package/dist/esm/resources-e3a5cf27.js.map +1 -0
- package/dist/esm/shared-list-render-4e9d47a3.js +2 -0
- package/dist/esm/shared-list-render-4e9d47a3.js.map +1 -0
- package/dist/esm/solution-config-modal.entry.js +127 -0
- package/dist/esm/solution-config-modal.entry.js.map +1 -0
- package/dist/esm/{solution-contents_3.entry.js → solution-contents_7.entry.js} +662 -3
- package/dist/esm/solution-contents_7.entry.js.map +1 -0
- package/dist/esm/{solution-store-b3c65467.js → solution-store-d8519c64.js} +6 -4
- package/dist/esm/solution-store-d8519c64.js.map +1 -0
- package/dist/esm/solutions-components.js +3 -1
- package/dist/esm/solutions-components.js.map +1 -0
- package/dist/esm/sortable.esm-3b2eaa5c.js +2 -0
- package/dist/esm/sortable.esm-3b2eaa5c.js.map +1 -0
- package/dist/esm/store-manager.entry.js +2 -0
- package/dist/esm/store-manager.entry.js.map +1 -0
- package/dist/esm/time-f014778c.js +2 -0
- package/dist/esm/time-f014778c.js.map +1 -0
- package/dist/esm/utils-3f4ee4c3.js +2 -0
- package/dist/esm/utils-3f4ee4c3.js.map +1 -0
- package/dist/esm/utils-583554bc.js +2 -0
- package/dist/esm/utils-583554bc.js.map +1 -0
- package/dist/solutions-components/index.esm.js +2 -0
- package/dist/solutions-components/index.esm.js.map +1 -0
- package/dist/solutions-components/p-06dab43c.entry.js +140 -0
- package/dist/solutions-components/p-06dab43c.entry.js.map +1 -0
- package/dist/solutions-components/p-0bbe4865.entry.js +620 -0
- package/dist/solutions-components/p-0bbe4865.entry.js.map +1 -0
- package/dist/solutions-components/p-0fddf8a4.entry.js +349 -0
- package/dist/solutions-components/p-0fddf8a4.entry.js.map +1 -0
- package/dist/solutions-components/p-11068040.entry.js +1121 -0
- package/dist/solutions-components/p-11068040.entry.js.map +1 -0
- package/dist/solutions-components/p-11bc6805.entry.js +87 -0
- package/dist/solutions-components/p-11bc6805.entry.js.map +1 -0
- package/dist/solutions-components/p-13b37f05.js +308 -3
- package/dist/solutions-components/p-13b37f05.js.map +1 -0
- package/dist/solutions-components/p-1dfb5fae.entry.js +713 -0
- package/dist/solutions-components/p-1dfb5fae.entry.js.map +1 -0
- package/dist/solutions-components/p-1e15b1a3.js +183 -2
- package/dist/solutions-components/p-1e15b1a3.js.map +1 -0
- package/dist/solutions-components/p-1e5bc9c3.entry.js +96 -0
- package/dist/solutions-components/p-1e5bc9c3.entry.js.map +1 -0
- package/dist/solutions-components/p-1ed05745.entry.js +214 -0
- package/dist/solutions-components/p-1ed05745.entry.js.map +1 -0
- package/dist/solutions-components/p-20bdf42f.js +407 -14
- package/dist/solutions-components/p-20bdf42f.js.map +1 -0
- package/dist/solutions-components/p-22574d83.entry.js +74 -0
- package/dist/solutions-components/p-22574d83.entry.js.map +1 -0
- package/dist/solutions-components/p-23904a3d.js +401 -3
- package/dist/solutions-components/p-23904a3d.js.map +1 -0
- package/dist/solutions-components/p-26484399.entry.js +108 -0
- package/dist/solutions-components/p-26484399.entry.js.map +1 -0
- package/dist/solutions-components/p-2910dd9e.js +4094 -0
- package/dist/solutions-components/p-2910dd9e.js.map +1 -0
- package/dist/solutions-components/p-29bdbd3e.entry.js +280 -0
- package/dist/solutions-components/p-29bdbd3e.entry.js.map +1 -0
- package/dist/solutions-components/p-2ac06389.js +25 -16
- package/dist/solutions-components/p-2ac06389.js.map +1 -0
- package/dist/solutions-components/p-2bce7fa2.entry.js +45 -0
- package/dist/solutions-components/p-2bce7fa2.entry.js.map +1 -0
- package/dist/solutions-components/p-2e9ed892.js +48 -1
- package/dist/solutions-components/p-2e9ed892.js.map +1 -0
- package/dist/solutions-components/p-2f12ff1b.entry.js +202 -0
- package/dist/solutions-components/p-2f12ff1b.entry.js.map +1 -0
- package/dist/solutions-components/p-30810b45.entry.js +1250 -0
- package/dist/solutions-components/p-30810b45.entry.js.map +1 -0
- package/dist/solutions-components/p-32a67cb2.js +207 -2
- package/dist/solutions-components/p-32a67cb2.js.map +1 -0
- package/dist/solutions-components/p-341ff921.entry.js +449 -0
- package/dist/solutions-components/p-341ff921.entry.js.map +1 -0
- package/dist/solutions-components/p-36ce64e4.entry.js +215 -0
- package/dist/solutions-components/p-36ce64e4.entry.js.map +1 -0
- package/dist/solutions-components/p-374a5031.js +107 -2
- package/dist/solutions-components/p-374a5031.js.map +1 -0
- package/dist/solutions-components/p-38ddadf2.entry.js +342 -0
- package/dist/solutions-components/p-38ddadf2.entry.js.map +1 -0
- package/dist/solutions-components/p-3b010ce1.js +19 -1
- package/dist/solutions-components/p-3b010ce1.js.map +1 -0
- package/dist/solutions-components/p-3f6b0af4.js +221 -2
- package/dist/solutions-components/p-3f6b0af4.js.map +1 -0
- package/dist/solutions-components/p-400e1427.entry.js +236 -0
- package/dist/solutions-components/p-400e1427.entry.js.map +1 -0
- package/dist/solutions-components/p-40d7cf01.entry.js +228 -0
- package/dist/solutions-components/p-40d7cf01.entry.js.map +1 -0
- package/dist/solutions-components/p-45556aff.entry.js +215 -0
- package/dist/solutions-components/p-45556aff.entry.js.map +1 -0
- package/dist/solutions-components/p-49aaa793.entry.js +95 -0
- package/dist/solutions-components/p-49aaa793.entry.js.map +1 -0
- package/dist/solutions-components/p-4e32bf8c.js +484 -1
- package/dist/solutions-components/p-4e32bf8c.js.map +1 -0
- package/dist/solutions-components/p-4e89b243.entry.js +479 -0
- package/dist/solutions-components/p-4e89b243.entry.js.map +1 -0
- package/dist/solutions-components/p-515637fb.entry.js +183 -0
- package/dist/solutions-components/p-515637fb.entry.js.map +1 -0
- package/dist/solutions-components/p-5243a654.entry.js +147 -0
- package/dist/solutions-components/p-5243a654.entry.js.map +1 -0
- package/dist/solutions-components/p-55673790.entry.js +82 -0
- package/dist/solutions-components/p-55673790.entry.js.map +1 -0
- package/dist/solutions-components/p-56350bff.js +173 -2
- package/dist/solutions-components/p-56350bff.js.map +1 -0
- package/dist/solutions-components/p-58b374c0.entry.js +347 -0
- package/dist/solutions-components/p-58b374c0.entry.js.map +1 -0
- package/dist/solutions-components/p-58c69df2.js +2024 -2
- package/dist/solutions-components/p-58c69df2.js.map +1 -0
- package/dist/solutions-components/p-59fd6684.entry.js +22 -0
- package/dist/solutions-components/p-59fd6684.entry.js.map +1 -0
- package/dist/solutions-components/p-5b0d7c7d.js +35 -16
- package/dist/solutions-components/p-5b0d7c7d.js.map +1 -0
- package/dist/solutions-components/p-5b20090f.entry.js +22189 -0
- package/dist/solutions-components/p-5b20090f.entry.js.map +1 -0
- package/dist/solutions-components/p-5cf33602.js +43 -2
- package/dist/solutions-components/p-5cf33602.js.map +1 -0
- package/dist/solutions-components/p-600e23c6.js +1770 -2
- package/dist/solutions-components/p-600e23c6.js.map +1 -0
- package/dist/solutions-components/p-61398a7b.entry.js +74 -0
- package/dist/solutions-components/p-61398a7b.entry.js.map +1 -0
- package/dist/solutions-components/p-63a05701.entry.js +45 -0
- package/dist/solutions-components/p-63a05701.entry.js.map +1 -0
- package/dist/solutions-components/p-63f6e8f1.js +16 -1
- package/dist/solutions-components/p-63f6e8f1.js.map +1 -0
- package/dist/solutions-components/p-64a2040e.entry.js +63 -0
- package/dist/solutions-components/p-64a2040e.entry.js.map +1 -0
- package/dist/solutions-components/p-64c63eb2.entry.js +157 -0
- package/dist/solutions-components/p-64c63eb2.entry.js.map +1 -0
- package/dist/solutions-components/p-6940e2fd.entry.js +100 -0
- package/dist/solutions-components/p-6940e2fd.entry.js.map +1 -0
- package/dist/solutions-components/p-69900b68.entry.js +152 -0
- package/dist/solutions-components/p-69900b68.entry.js.map +1 -0
- package/dist/solutions-components/p-699125b6.entry.js +44 -0
- package/dist/solutions-components/p-699125b6.entry.js.map +1 -0
- package/dist/solutions-components/p-6d0899c8.entry.js +118 -0
- package/dist/solutions-components/p-6d0899c8.entry.js.map +1 -0
- package/dist/solutions-components/p-6e0da576.js +15 -1
- package/dist/solutions-components/p-6e0da576.js.map +1 -0
- package/dist/solutions-components/p-6fe17794.js +11 -1
- package/dist/solutions-components/p-6fe17794.js.map +1 -0
- package/dist/solutions-components/p-708a63a8.js +14 -1
- package/dist/solutions-components/p-708a63a8.js.map +1 -0
- package/dist/solutions-components/p-729708a3.js +16 -1
- package/dist/solutions-components/p-729708a3.js.map +1 -0
- package/dist/solutions-components/p-73e23995.js +8 -1
- package/dist/solutions-components/p-73e23995.js.map +1 -0
- package/dist/solutions-components/p-75f54a34.entry.js +883 -0
- package/dist/solutions-components/p-75f54a34.entry.js.map +1 -0
- package/dist/solutions-components/p-77182c3a.js +3017 -1
- package/dist/solutions-components/p-77182c3a.js.map +1 -0
- package/dist/solutions-components/p-794ba85d.entry.js +175 -0
- package/dist/solutions-components/p-794ba85d.entry.js.map +1 -0
- package/dist/solutions-components/p-79cde78e.entry.js +203 -0
- package/dist/solutions-components/p-79cde78e.entry.js.map +1 -0
- package/dist/solutions-components/p-7a2c75a4.entry.js +230 -0
- package/dist/solutions-components/p-7a2c75a4.entry.js.map +1 -0
- package/dist/solutions-components/p-7daea1df.js +43 -1
- package/dist/solutions-components/p-7daea1df.js.map +1 -0
- package/dist/solutions-components/p-7de77097.entry.js +162 -0
- package/dist/solutions-components/p-7de77097.entry.js.map +1 -0
- package/dist/solutions-components/p-7f2b74a9.entry.js +56 -0
- package/dist/solutions-components/p-7f2b74a9.entry.js.map +1 -0
- package/dist/solutions-components/p-81e606c0.entry.js +915 -0
- package/dist/solutions-components/p-81e606c0.entry.js.map +1 -0
- package/dist/solutions-components/p-86908777.js +62 -3
- package/dist/solutions-components/p-86908777.js.map +1 -0
- package/dist/solutions-components/p-87a0ccb4.entry.js +254 -0
- package/dist/solutions-components/p-87a0ccb4.entry.js.map +1 -0
- package/dist/solutions-components/p-93d3119d.js +1950 -1
- package/dist/solutions-components/p-93d3119d.js.map +1 -0
- package/dist/solutions-components/p-958e2979.entry.js +111 -0
- package/dist/solutions-components/p-958e2979.entry.js.map +1 -0
- package/dist/solutions-components/p-95ddb529.entry.js +181 -0
- package/dist/solutions-components/p-95ddb529.entry.js.map +1 -0
- package/dist/solutions-components/p-991ee695.js +111 -1
- package/dist/solutions-components/p-991ee695.js.map +1 -0
- package/dist/solutions-components/p-99d9b624.entry.js +177 -0
- package/dist/solutions-components/p-99d9b624.entry.js.map +1 -0
- package/dist/solutions-components/p-9a9955db.js +43 -1
- package/dist/solutions-components/p-9a9955db.js.map +1 -0
- package/dist/solutions-components/p-9d925d5b.entry.js +233 -0
- package/dist/solutions-components/p-9d925d5b.entry.js.map +1 -0
- package/dist/solutions-components/p-9dc0210f.entry.js +125 -0
- package/dist/solutions-components/p-9dc0210f.entry.js.map +1 -0
- package/dist/solutions-components/p-9ef1328a.entry.js +542 -0
- package/dist/solutions-components/p-9ef1328a.entry.js.map +1 -0
- package/dist/solutions-components/p-9fec2884.entry.js +216 -0
- package/dist/solutions-components/p-9fec2884.entry.js.map +1 -0
- package/dist/solutions-components/p-a1786d11.entry.js +2380 -0
- package/dist/solutions-components/p-a1786d11.entry.js.map +1 -0
- package/dist/solutions-components/p-a2ada355.entry.js +135 -0
- package/dist/solutions-components/p-a2ada355.entry.js.map +1 -0
- package/dist/solutions-components/p-a57adb27.entry.js +154 -0
- package/dist/solutions-components/p-a57adb27.entry.js.map +1 -0
- package/dist/solutions-components/p-a80b3880.js +16 -1
- package/dist/solutions-components/p-a80b3880.js.map +1 -0
- package/dist/solutions-components/p-a88dd457.entry.js +123 -0
- package/dist/solutions-components/p-a88dd457.entry.js.map +1 -0
- package/dist/solutions-components/p-ac6efd19.entry.js +57 -0
- package/dist/solutions-components/p-ac6efd19.entry.js.map +1 -0
- package/dist/solutions-components/p-ae1fd76b.js +13 -1
- package/dist/solutions-components/p-ae1fd76b.js.map +1 -0
- package/dist/solutions-components/p-afffa81a.entry.js +140 -0
- package/dist/solutions-components/p-afffa81a.entry.js.map +1 -0
- package/dist/solutions-components/p-b0f3ed4d.entry.js +376 -0
- package/dist/solutions-components/p-b0f3ed4d.entry.js.map +1 -0
- package/dist/solutions-components/p-b359dc78.js +43 -1
- package/dist/solutions-components/p-b359dc78.js.map +1 -0
- package/dist/solutions-components/p-b66cba3e.entry.js +97 -0
- package/dist/solutions-components/p-b66cba3e.entry.js.map +1 -0
- package/dist/solutions-components/p-b6c2f470.entry.js +574 -0
- package/dist/solutions-components/p-b6c2f470.entry.js.map +1 -0
- package/dist/solutions-components/p-b978636e.js +16 -1
- package/dist/solutions-components/p-b978636e.js.map +1 -0
- package/dist/solutions-components/p-bd19837e.entry.js +96 -0
- package/dist/solutions-components/p-bd19837e.entry.js.map +1 -0
- package/dist/solutions-components/p-be8cc144.entry.js +567 -0
- package/dist/solutions-components/p-be8cc144.entry.js.map +1 -0
- package/dist/solutions-components/p-bfd20deb.entry.js +80 -0
- package/dist/solutions-components/p-bfd20deb.entry.js.map +1 -0
- package/dist/{esm/mapViewUtils-09f1e7bd.js → solutions-components/p-c20bd963.js} +3 -1
- package/dist/solutions-components/p-c20bd963.js.map +1 -0
- package/dist/solutions-components/p-c2c8442d.entry.js +140 -0
- package/dist/solutions-components/p-c2c8442d.entry.js.map +1 -0
- package/dist/solutions-components/p-c3f93cec.entry.js +158 -0
- package/dist/solutions-components/p-c3f93cec.entry.js.map +1 -0
- package/dist/solutions-components/p-c5721b0f.entry.js +127 -0
- package/dist/solutions-components/p-c5721b0f.entry.js.map +1 -0
- package/dist/solutions-components/p-c818e661.entry.js +107 -0
- package/dist/solutions-components/p-c818e661.entry.js.map +1 -0
- package/dist/solutions-components/p-c9870dc4.entry.js +38 -0
- package/dist/solutions-components/p-c9870dc4.entry.js.map +1 -0
- package/dist/solutions-components/p-cbd9fecf.js +500 -2
- package/dist/solutions-components/p-cbd9fecf.js.map +1 -0
- package/dist/solutions-components/p-cf59eb16.entry.js +2423 -0
- package/dist/solutions-components/p-cf59eb16.entry.js.map +1 -0
- package/dist/solutions-components/p-cfb300c6.entry.js +250 -0
- package/dist/solutions-components/p-cfb300c6.entry.js.map +1 -0
- package/dist/solutions-components/p-d48a24e6.js +756 -2
- package/dist/solutions-components/p-d48a24e6.js.map +1 -0
- package/dist/solutions-components/p-dbad98e8.js +124 -2
- package/dist/solutions-components/p-dbad98e8.js.map +1 -0
- package/dist/solutions-components/p-dd79118e.entry.js +708 -0
- package/dist/solutions-components/p-dd79118e.entry.js.map +1 -0
- package/dist/solutions-components/p-de5416e8.js +30 -1
- package/dist/solutions-components/p-de5416e8.js.map +1 -0
- package/dist/solutions-components/p-de881187.entry.js +87 -0
- package/dist/solutions-components/p-de881187.entry.js.map +1 -0
- package/dist/solutions-components/p-e1905f7b.entry.js +120 -0
- package/dist/solutions-components/p-e1905f7b.entry.js.map +1 -0
- package/dist/solutions-components/p-e405ebe8.entry.js +93 -0
- package/dist/solutions-components/p-e405ebe8.entry.js.map +1 -0
- package/dist/solutions-components/p-e515767a.entry.js +116 -0
- package/dist/solutions-components/p-e515767a.entry.js.map +1 -0
- package/dist/solutions-components/p-e611d8c8.js +30 -1
- package/dist/solutions-components/p-e611d8c8.js.map +1 -0
- package/dist/solutions-components/p-e6a695a5.js +103 -2
- package/dist/solutions-components/p-e6a695a5.js.map +1 -0
- package/dist/solutions-components/p-e6fb9cde.entry.js +1872 -0
- package/dist/solutions-components/p-e6fb9cde.entry.js.map +1 -0
- package/dist/solutions-components/p-e947d3b0.js +7 -1
- package/dist/solutions-components/p-e947d3b0.js.map +1 -0
- package/dist/solutions-components/p-e99b1247.js +207 -1
- package/dist/solutions-components/p-e99b1247.js.map +1 -0
- package/dist/solutions-components/p-eb5b78c3.entry.js +125 -0
- package/dist/solutions-components/p-eb5b78c3.entry.js.map +1 -0
- package/dist/solutions-components/p-eb976965.js +35 -3
- package/dist/solutions-components/p-eb976965.js.map +1 -0
- package/dist/solutions-components/p-ed075c2f.entry.js +186 -0
- package/dist/solutions-components/p-ed075c2f.entry.js.map +1 -0
- package/dist/solutions-components/p-eeb0321d.js +15 -2
- package/dist/solutions-components/p-eeb0321d.js.map +1 -0
- package/dist/solutions-components/p-ef6f9e24.entry.js +609 -0
- package/dist/solutions-components/p-ef6f9e24.entry.js.map +1 -0
- package/dist/solutions-components/p-f0294899.entry.js +84 -0
- package/dist/solutions-components/p-f0294899.entry.js.map +1 -0
- package/dist/{esm/interfaces-e2a2064d.js → solutions-components/p-f04fdb9a.js} +3 -1
- package/dist/solutions-components/p-f04fdb9a.js.map +1 -0
- package/dist/solutions-components/p-f477f146.entry.js +310 -0
- package/dist/solutions-components/p-f477f146.entry.js.map +1 -0
- package/dist/solutions-components/p-f48821a2.js +60 -7
- package/dist/solutions-components/p-f48821a2.js.map +1 -0
- package/dist/solutions-components/p-f496ed0c.entry.js +150 -0
- package/dist/solutions-components/p-f496ed0c.entry.js.map +1 -0
- package/dist/solutions-components/p-f759a6e7.js +196 -1
- package/dist/solutions-components/p-f759a6e7.js.map +1 -0
- package/dist/solutions-components/p-fc884dd6.js +30 -16
- package/dist/solutions-components/p-fc884dd6.js.map +1 -0
- package/dist/solutions-components/solutions-components.css +10531 -1
- package/dist/solutions-components/solutions-components.esm.js +22 -1
- package/dist/solutions-components/solutions-components.esm.js.map +1 -0
- package/dist/solutions-components/utils/solution-store.ts +3 -3
- package/dist/solutions-components_commit.txt +8 -6
- package/dist/types/components/solution-config-modal/solution-config-modal.d.ts +69 -0
- package/dist/types/components/solution-configuration/solution-configuration.d.ts +4 -2
- package/dist/types/components.d.ts +43 -5
- package/dist/types/preact.d.ts +4 -0
- package/package.json +2 -2
- package/dist/cjs/calcite-modal.cjs.entry.js +0 -447
- package/dist/cjs/calcite-panel_2.cjs.entry.js +0 -437
- package/dist/cjs/calcite-scrim.cjs.entry.js +0 -62
- package/dist/esm/calcite-modal.entry.js +0 -443
- package/dist/esm/calcite-panel_2.entry.js +0 -432
- package/dist/esm/calcite-scrim.entry.js +0 -58
- package/dist/solutions-components/p-006c6ae1.entry.js +0 -11
- package/dist/solutions-components/p-04a37fc0.entry.js +0 -6
- package/dist/solutions-components/p-062dbde8.entry.js +0 -6
- package/dist/solutions-components/p-0b941521.entry.js +0 -11
- package/dist/solutions-components/p-0c80eb51.entry.js +0 -11
- package/dist/solutions-components/p-10501e21.entry.js +0 -23
- package/dist/solutions-components/p-109e4684.entry.js +0 -6
- package/dist/solutions-components/p-12dfd43e.entry.js +0 -11
- package/dist/solutions-components/p-1c3bcd99.entry.js +0 -12
- package/dist/solutions-components/p-1c589630.entry.js +0 -6
- package/dist/solutions-components/p-1fb471cf.entry.js +0 -11
- package/dist/solutions-components/p-23275dbd.entry.js +0 -6
- package/dist/solutions-components/p-236d76e7.entry.js +0 -11
- package/dist/solutions-components/p-29246858.entry.js +0 -11
- package/dist/solutions-components/p-2af67c67.entry.js +0 -6
- package/dist/solutions-components/p-2bee764f.entry.js +0 -11
- package/dist/solutions-components/p-2f6b4f04.entry.js +0 -6
- package/dist/solutions-components/p-305ae3fe.entry.js +0 -11
- package/dist/solutions-components/p-343e325d.entry.js +0 -11
- package/dist/solutions-components/p-3485601e.entry.js +0 -6
- package/dist/solutions-components/p-395e9b6c.entry.js +0 -6
- package/dist/solutions-components/p-39c5f2d2.entry.js +0 -6
- package/dist/solutions-components/p-3c4f2257.entry.js +0 -11
- package/dist/solutions-components/p-3c8ec7a3.entry.js +0 -12
- package/dist/solutions-components/p-4130fbcd.entry.js +0 -11
- package/dist/solutions-components/p-421cbb15.entry.js +0 -6
- package/dist/solutions-components/p-43fa414d.entry.js +0 -11
- package/dist/solutions-components/p-4760f22a.entry.js +0 -6
- package/dist/solutions-components/p-4fb6d2cf.entry.js +0 -11
- package/dist/solutions-components/p-54384555.entry.js +0 -11
- package/dist/solutions-components/p-5493f036.entry.js +0 -6
- package/dist/solutions-components/p-551fd063.entry.js +0 -11
- package/dist/solutions-components/p-5a61ef0d.entry.js +0 -6
- package/dist/solutions-components/p-6a3ce8f6.entry.js +0 -6
- package/dist/solutions-components/p-6b9dc092.js +0 -21
- package/dist/solutions-components/p-6be581f5.entry.js +0 -6
- package/dist/solutions-components/p-6cf432f9.entry.js +0 -11
- package/dist/solutions-components/p-70368b2b.entry.js +0 -6
- package/dist/solutions-components/p-708ffad0.entry.js +0 -11
- package/dist/solutions-components/p-7321ba65.entry.js +0 -11
- package/dist/solutions-components/p-75b35018.entry.js +0 -11
- package/dist/solutions-components/p-764c0a90.entry.js +0 -11
- package/dist/solutions-components/p-77031b01.entry.js +0 -11
- package/dist/solutions-components/p-778a1b4a.entry.js +0 -11
- package/dist/solutions-components/p-7cdc6089.entry.js +0 -6
- package/dist/solutions-components/p-81467529.entry.js +0 -6
- package/dist/solutions-components/p-834380d6.entry.js +0 -11
- package/dist/solutions-components/p-89cc843b.entry.js +0 -11
- package/dist/solutions-components/p-8e3a2736.entry.js +0 -11
- package/dist/solutions-components/p-8e8b182f.entry.js +0 -12
- package/dist/solutions-components/p-8f052987.entry.js +0 -11
- package/dist/solutions-components/p-93790a9e.entry.js +0 -37
- package/dist/solutions-components/p-9bbee464.entry.js +0 -6
- package/dist/solutions-components/p-9bdd4abe.entry.js +0 -17
- package/dist/solutions-components/p-a4a7d49d.entry.js +0 -17
- package/dist/solutions-components/p-a7036d68.entry.js +0 -11
- package/dist/solutions-components/p-ac91cd40.entry.js +0 -11
- package/dist/solutions-components/p-acd0a09f.entry.js +0 -11
- package/dist/solutions-components/p-acd3b2bf.entry.js +0 -11
- package/dist/solutions-components/p-aea937fb.entry.js +0 -12
- package/dist/solutions-components/p-b1b36556.entry.js +0 -11
- package/dist/solutions-components/p-b25f6ebe.js +0 -257
- package/dist/solutions-components/p-b2ae8634.entry.js +0 -6
- package/dist/solutions-components/p-ba104266.entry.js +0 -11
- package/dist/solutions-components/p-bfcab358.entry.js +0 -11
- package/dist/solutions-components/p-c848d1bd.entry.js +0 -29
- package/dist/solutions-components/p-c9766584.entry.js +0 -6
- package/dist/solutions-components/p-d2cc1b94.entry.js +0 -12
- package/dist/solutions-components/p-d51a72d2.entry.js +0 -11
- package/dist/solutions-components/p-d88fe54b.entry.js +0 -18
- package/dist/solutions-components/p-daee23cc.entry.js +0 -11
- package/dist/solutions-components/p-db7d14d5.entry.js +0 -12
- package/dist/solutions-components/p-dc724c1d.entry.js +0 -11
- package/dist/solutions-components/p-dc7bc20f.entry.js +0 -11
- package/dist/solutions-components/p-de242ea9.entry.js +0 -6
- package/dist/solutions-components/p-e4ebb82a.entry.js +0 -11
- package/dist/solutions-components/p-e64c5c11.entry.js +0 -6
- package/dist/solutions-components/p-e9e47eab.entry.js +0 -6
- package/dist/solutions-components/p-eb3be6d4.entry.js +0 -6
- package/dist/solutions-components/p-ed27c151.entry.js +0 -6
- package/dist/solutions-components/p-ef170bb1.entry.js +0 -6
- package/dist/solutions-components/p-f044863f.entry.js +0 -16
- package/dist/solutions-components/p-f0bae2f0.entry.js +0 -37
- package/dist/solutions-components/p-f5a3b34f.entry.js +0 -23
- package/dist/solutions-components/p-fa2575c2.entry.js +0 -6
- package/dist/solutions-components/p-fe0fdd8b.js +0 -36
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"map-select-tools.js","sourceRoot":"","sources":["../../../src/components/map-select-tools/map-select-tools.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { Component, Element, Event, EventEmitter, Host, h, Method, Listen, Prop, State, VNode, Watch } from \"@stencil/core\";\r\nimport { loadModules } from \"../../utils/loadModules\";\r\nimport { highlightFeatures, goToSelection } from \"../../utils/mapViewUtils\";\r\nimport { getQueryGeoms, queryObjectIds } from \"../../utils/queryUtils\";\r\nimport { EWorkflowType, ESelectionMode, ISelectionSet, ERefineMode } from \"../../utils/interfaces\";\r\nimport state from \"../../utils/publicNotificationStore\";\r\nimport MapSelectTools_T9n from \"../../assets/t9n/map-select-tools/resources.json\";\r\nimport { getLocaleComponentStrings } from \"../../utils/locale\";\r\n\r\n@Component({\r\n tag: \"map-select-tools\",\r\n styleUrl: \"map-select-tools.css\",\r\n shadow: false,\r\n})\r\nexport class MapSelectTools {\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n @Element() el: HTMLElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html\r\n */\r\n @Prop() mapView: __esri.MapView;\r\n\r\n /**\r\n * esri/views/layers/FeatureLayerView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html\r\n */\r\n @Prop() selectLayerView: __esri.FeatureLayerView;\r\n\r\n /**\r\n * esri/geometry: https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry.html\r\n */\r\n @Prop() geometries: __esri.Geometry[];\r\n\r\n /**\r\n * utils/interfaces/ISelectionSet: Used to store key details about any selections that have been made.\r\n */\r\n @Prop({reflect: false}) selectionSet: ISelectionSet;\r\n\r\n /**\r\n * boolean: When true a new label is not generated for the stored selection set\r\n */\r\n @Prop() isUpdate = false;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (protected)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * string: Text entered by the end user.\r\n * Used to search against the locator.\r\n */\r\n @State() _searchTerm: string;\r\n\r\n /**\r\n * Contains the translations for this component.\r\n * All UI strings should be defined here.\r\n */\r\n @State() protected _translations: typeof MapSelectTools_T9n;\r\n\r\n /**\r\n * EWorkflowType: \"SEARCH\", \"SELECT\", \"SKETCH\", \"REFINE\"\r\n */\r\n @State() _workflowType: EWorkflowType;\r\n\r\n /**\r\n * esri/geometry/Geometry: https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Geometry.html\r\n */\r\n protected Geometry: typeof __esri.Geometry;\r\n\r\n /**\r\n * esri/Graphic: https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html\r\n */\r\n protected Graphic: typeof __esri.Graphic;\r\n\r\n /**\r\n * esri/layers/GraphicsLayer: https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html\r\n */\r\n protected GraphicsLayer: typeof __esri.GraphicsLayer;\r\n\r\n /**\r\n * esri/widgets/Search: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html\r\n */\r\n protected Search: typeof __esri.widgetsSearch;\r\n\r\n /**\r\n * esri/geometry: https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry.html\r\n */\r\n protected _bufferGeometry: __esri.Geometry;\r\n\r\n /**\r\n * esri/layers/GraphicsLayer: https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html\r\n */\r\n protected _bufferGraphicsLayer: __esri.GraphicsLayer;\r\n\r\n /**\r\n * HTMLBufferToolsElement: The container div for the buffer tools\r\n */\r\n protected _bufferTools: HTMLBufferToolsElement;\r\n\r\n /**\r\n * HTMLMapDrawToolsElement: The container div for the sketch widget\r\n */\r\n protected _drawTools: HTMLMapDrawToolsElement;\r\n\r\n /**\r\n * esri/geometry/geometryEngine: https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-geometryEngine.html\r\n */\r\n protected _geometryEngine: __esri.geometryEngine;\r\n\r\n /**\r\n * esri/views/layers/FeatureLayerView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html\r\n */\r\n protected _refineSelectLayers: __esri.FeatureLayerView[];\r\n\r\n /**\r\n * HTMLRefineSelectionToolsElement: The container div for the sketch widget\r\n */\r\n protected _refineTools: HTMLRefineSelectionToolsElement;\r\n\r\n /**\r\n * HTMLElement: The container div for the search widget\r\n */\r\n protected _searchElement: HTMLElement;\r\n\r\n /**\r\n * An array of objects representing the results of search\r\n */\r\n protected _searchResult: any;\r\n\r\n /**\r\n * esri/widgets/Search: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html\r\n */\r\n protected _searchWidget: __esri.widgetsSearch;\r\n\r\n /**\r\n * number[]: the oids of the selected features\r\n */\r\n protected _selectedIds: number[] = [];\r\n\r\n /**\r\n * string: A label to help uniquely identify the selection set\r\n */\r\n protected _selectionLabel = \"\";\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Watch handlers\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Called each time the geometries prop is changed.\r\n *\r\n * @returns Promise when complete\r\n */\r\n @Watch(\"geometries\")\r\n async watchGeometriesHandler(\r\n newValue: __esri.Geometry[],\r\n oldValue: __esri.Geometry[]\r\n ): Promise<void> {\r\n if (newValue !== oldValue) {\r\n if (newValue.length > 0) {\r\n return this._geomQuery(this.geometries);\r\n } else if (newValue.length === 0) {\r\n return this._clearResults(true, true);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Called each time the workflowType prop is changed and emits the workflowTypeChange event.\r\n *\r\n * @returns Promise when complete\r\n */\r\n @Watch(\"_workflowType\")\r\n async workflowTypeHandler(\r\n newValue: EWorkflowType,\r\n oldValue: EWorkflowType\r\n ): Promise<void> {\r\n if (newValue !== oldValue) {\r\n this.workflowTypeChange.emit(newValue);\r\n }\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Methods (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Clear any selection results\r\n *\r\n * @returns Promise when the results have been cleared\r\n */\r\n @Method()\r\n async clearSelection(): Promise<void> {\r\n return this._clearResults();\r\n }\r\n\r\n /**\r\n * Get the new selection set\r\n *\r\n * @returns Promise with the new selection set\r\n */\r\n @Method()\r\n async getSelection(): Promise<ISelectionSet> {\r\n return {\r\n id: this.isUpdate ? this.selectionSet.id : Date.now(),\r\n workflowType: this._workflowType,\r\n searchResult: this._searchResult,\r\n buffer: this._bufferGeometry,\r\n distance: this._bufferTools.distance,\r\n download: true,\r\n unit: this._bufferTools.unit,\r\n label: this._workflowType === EWorkflowType.SEARCH ?\r\n this._selectionLabel : `${this._selectionLabel} ${this._bufferTools.distance} ${this._bufferTools.unit}`,\r\n selectedIds: this._selectedIds,\r\n layerView: this.selectLayerView,\r\n geometries: this.geometries,\r\n refineSelectLayers: this._refineTools.layerViews\r\n } as ISelectionSet;\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Emitted on demand when the selection set changes.\r\n *\r\n */\r\n @Event() selectionSetChange: EventEmitter<number>;\r\n\r\n /**\r\n * Emitted on demand when the workflow type changes.\r\n *\r\n */\r\n @Event() workflowTypeChange: EventEmitter<EWorkflowType>;\r\n\r\n /**\r\n * Listen to changes in the sketch graphics\r\n *\r\n */\r\n @Listen(\"sketchGraphicsChange\", { target: \"window\" })\r\n sketchGraphicsChange(event: CustomEvent): void {\r\n this._updateSelection(EWorkflowType.SKETCH, event.detail, this._translations.sketch);\r\n }\r\n\r\n /**\r\n * Listen to changes in the refine graphics\r\n *\r\n */\r\n @Listen(\"refineSelectionGraphicsChange\", { target: \"window\" })\r\n refineSelectionGraphicsChange(event: CustomEvent): Promise<void> {\r\n const graphics = event.detail;\r\n\r\n this._updateSelection(EWorkflowType.SELECT, graphics, this._translations.select);\r\n // Using OIDs to avoid issue with points\r\n const oids = Array.isArray(graphics) ? graphics.map(g => g.attributes[g?.layer?.objectIdField]) : [];\r\n return this._highlightFeatures(oids);\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Functions (lifecycle)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * StencilJS: Called once just after the component is first connected to the DOM.\r\n */\r\n async componentWillLoad(): Promise<void> {\r\n await this._getTranslations();\r\n await this._initModules();\r\n }\r\n\r\n /**\r\n * StencilJS: Called once just after the component is fully loaded and the first render() occurs.\r\n */\r\n async componentDidLoad(): Promise<void> {\r\n return this._init();\r\n }\r\n\r\n /**\r\n * Renders the component.\r\n */\r\n render(): VNode {\r\n const searchEnabled = this._workflowType === EWorkflowType.SEARCH;\r\n const showSearchClass = searchEnabled ? \" div-visible-search\" : \" div-not-visible\";\r\n\r\n const drawEnabled = this._workflowType === EWorkflowType.SKETCH;\r\n const showDrawToolsClass = drawEnabled ? \" div-visible\" : \" div-not-visible\";\r\n\r\n const selectEnabled = this._workflowType === EWorkflowType.SELECT;\r\n const showSelectToolsClass = selectEnabled ? \" div-visible\" : \" div-not-visible\";\r\n\r\n return (\r\n <Host>\r\n <div class=\"padding-bottom-1\">\r\n <calcite-radio-group\r\n class=\"w-100\"\r\n onCalciteRadioGroupChange={(evt) => this._workflowChange(evt)}\r\n >\r\n <calcite-radio-group-item\r\n checked={searchEnabled}\r\n class=\"w-50 end-border\"\r\n value={EWorkflowType.SEARCH}\r\n >\r\n {this._translations.search}\r\n </calcite-radio-group-item>\r\n <calcite-radio-group-item\r\n checked={selectEnabled}\r\n class=\"w-50 end-border\"\r\n value={EWorkflowType.SELECT}\r\n >\r\n {this._translations.select}\r\n </calcite-radio-group-item>\r\n <calcite-radio-group-item\r\n checked={drawEnabled}\r\n class=\"w-50\"\r\n value={EWorkflowType.SKETCH}\r\n >\r\n {this._translations.sketch}\r\n </calcite-radio-group-item>\r\n </calcite-radio-group>\r\n </div>\r\n <div class={showSearchClass}>\r\n <div class=\"search-widget\" ref={(el) => { this._searchElement = el }} />\r\n </div>\r\n <map-draw-tools\r\n active={drawEnabled}\r\n border={true}\r\n class={showDrawToolsClass}\r\n mapView={this.mapView}\r\n ref={(el) => { this._drawTools = el}}\r\n />\r\n <refine-selection-tools\r\n active={selectEnabled}\r\n border={true}\r\n class={showSelectToolsClass}\r\n layerViews={this._refineSelectLayers}\r\n mapView={this.mapView}\r\n mode={ESelectionMode.ADD}\r\n ref={(el) => { this._refineTools = el }}\r\n refineMode={ERefineMode.SUBSET}\r\n />\r\n <calcite-label style={{ \"display\": \"flex\", \"padding-top\": \"1rem\" }}>\r\n {this._translations?.searchDistance}\r\n <buffer-tools\r\n distance={this.selectionSet?.distance}\r\n geometries={this.geometries}\r\n onBufferComplete={(evt) => this._bufferComplete(evt)}\r\n ref={(el) => this._bufferTools = el}\r\n unit={this.selectionSet?.unit}\r\n />\r\n </calcite-label>\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Functions (protected)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Load esri javascript api modules\r\n *\r\n * @returns Promise resolving when function is done\r\n *\r\n * @protected\r\n */\r\n protected async _initModules(): Promise<void> {\r\n const [GraphicsLayer, Graphic, Search, Geometry, geometryEngine]: [\r\n __esri.GraphicsLayerConstructor,\r\n __esri.GraphicConstructor,\r\n __esri.widgetsSearchConstructor,\r\n __esri.GeometryConstructor,\r\n __esri.geometryEngine\r\n ] = await loadModules([\r\n \"esri/layers/GraphicsLayer\",\r\n \"esri/Graphic\",\r\n \"esri/widgets/Search\",\r\n \"esri/geometry/Geometry\",\r\n \"esri/geometry/geometryEngine\"\r\n ]);\r\n this.GraphicsLayer = GraphicsLayer;\r\n this.Graphic = Graphic;\r\n this.Search = Search;\r\n this.Geometry = Geometry;\r\n this._geometryEngine = geometryEngine;\r\n }\r\n\r\n /**\r\n * Initialize the graphics layer, selection set, and search widget\r\n *\r\n * @returns Promise when the operation has completed\r\n */\r\n protected async _init(): Promise<void> {\r\n this._initGraphicsLayer();\r\n this._initSelectionSet();\r\n this._initSearchWidget();\r\n }\r\n\r\n /**\r\n * Initialize the state of the component with any stored values in a selection set\r\n *\r\n * @protected\r\n */\r\n protected _initSelectionSet(): void {\r\n if (this.selectionSet) {\r\n this._searchTerm = this.selectionSet?.searchResult?.name;\r\n this._workflowType = this.selectionSet?.workflowType;\r\n this._searchResult = this.selectionSet?.searchResult;\r\n this._refineSelectLayers = this.selectionSet?.refineSelectLayers;\r\n this.geometries = [\r\n ...this.selectionSet?.geometries\r\n ];\r\n // reset selection label base\r\n this._selectionLabel = this._workflowType === EWorkflowType.SKETCH ?\r\n this._translations.sketch : this._workflowType === EWorkflowType.SELECT ?\r\n this._translations.select : this.selectionSet?.label;\r\n\r\n void goToSelection(this.selectionSet.selectedIds, this.selectionSet.layerView, this.mapView, false);\r\n } else {\r\n this._workflowType = EWorkflowType.SEARCH;\r\n }\r\n }\r\n\r\n /**\r\n * Initialize the search widget\r\n *\r\n * @protected\r\n */\r\n protected _initSearchWidget(): void {\r\n if (this.mapView && this._searchElement) {\r\n const searchOptions: __esri.widgetsSearchProperties = {\r\n view: this.mapView,\r\n container: this._searchElement,\r\n searchTerm: this._searchTerm\r\n };\r\n\r\n this._searchWidget = new this.Search(searchOptions);\r\n\r\n this._searchWidget.on(\"search-clear\", () => {\r\n void this._clearResults(false);\r\n });\r\n\r\n this._searchWidget.on(\"select-result\", (searchResults) => {\r\n void this._clearResults(false);\r\n if (searchResults.result) {\r\n this._searchResult = searchResults.result;\r\n this._updateSelection(\r\n EWorkflowType.SEARCH,\r\n [searchResults.result.feature],\r\n searchResults?.result?.name\r\n );\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Initialize the graphics layer used to store any buffer grapghics\r\n *\r\n * @protected\r\n */\r\n protected _initGraphicsLayer(): void {\r\n const title = this._translations.bufferLayer;\r\n\r\n const bufferIndex = this.mapView.map.layers.findIndex((l) => l.title === title);\r\n if (bufferIndex > -1) {\r\n this._bufferGraphicsLayer = this.mapView.map.layers.getItemAt(bufferIndex) as __esri.GraphicsLayer;\r\n } else {\r\n this._bufferGraphicsLayer = new this.GraphicsLayer({ title });\r\n state.managedLayers.push(title);\r\n const sketchIndex = this.mapView.map.layers.findIndex((l) => l.title === this._translations.sketchLayer);\r\n if (sketchIndex > -1) {\r\n this.mapView.map.layers.add(this._bufferGraphicsLayer, sketchIndex);\r\n } else {\r\n this.mapView.map.layers.add(this._bufferGraphicsLayer);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Store workflow type change\r\n *\r\n * @protected\r\n */\r\n protected _workflowChange(evt: CustomEvent): void {\r\n this._workflowType = evt.detail;\r\n }\r\n\r\n /**\r\n * Highlight the features in the map\r\n *\r\n * @protected\r\n */\r\n protected async _highlightFeatures(\r\n ids: number[]\r\n ): Promise<void> {\r\n state.highlightHandle?.remove();\r\n if (ids.length > 0) {\r\n state.highlightHandle = await highlightFeatures(\r\n ids,\r\n this.selectLayerView,\r\n this.mapView\r\n );\r\n }\r\n this.selectionSetChange.emit(ids.length);\r\n }\r\n\r\n /**\r\n * Query the selectLayerView based on any user drawn geometries or buffers\r\n *\r\n * @param geometries Array of geometries used for the selection of ids from the select layer view\r\n *\r\n * @returns Promise when the selection is complete and the graphics have been highlighted\r\n */\r\n protected async _selectFeatures(\r\n geometries: __esri.Geometry[]\r\n ): Promise<void> {\r\n this._selectedIds = await queryObjectIds(\r\n geometries,\r\n this.selectLayerView.layer\r\n );\r\n // Add geometries used for selecting features as graphics\r\n this._drawTools.graphics = this.geometries.map(geom => {\r\n const props = {\r\n \"geometry\": geom,\r\n \"symbol\": geom.type === \"point\" ?\r\n this._drawTools?.pointSymbol : geom.type === \"polyline\" ?\r\n this._drawTools?.polylineSymbol : geom.type === \"polygon\" ?\r\n this._drawTools?.polygonSymbol : undefined\r\n };\r\n return new this.Graphic(props)\r\n });\r\n void this._highlightFeatures(this._selectedIds);\r\n }\r\n\r\n /**\r\n * Query the selectLayerView based on any user drawn geometries or buffers\r\n *\r\n * @param evt CustomEvent that contains the result of the buffer\r\n *\r\n * @protected\r\n */\r\n protected async _bufferComplete(\r\n evt: CustomEvent\r\n ): Promise<void> {\r\n this._bufferGeometry = Array.isArray(evt.detail) ?\r\n evt.detail[0] : evt.detail;\r\n\r\n if (this._bufferGeometry) {\r\n // Create a symbol for rendering the graphic\r\n const symbol = {\r\n type: \"simple-fill\",\r\n color: [227, 139, 79, 0.8],\r\n outline: {\r\n color: [255, 255, 255],\r\n width: 1\r\n }\r\n };\r\n\r\n // Add the geometry and symbol to a new graphic\r\n const polygonGraphic = new this.Graphic({\r\n geometry: this._bufferGeometry,\r\n symbol\r\n });\r\n\r\n this._bufferGraphicsLayer.removeAll();\r\n this._bufferGraphicsLayer.add(polygonGraphic);\r\n void this._selectFeatures([this._bufferGeometry]);\r\n void this.mapView.goTo(polygonGraphic.geometry.extent);\r\n } else {\r\n if (this._bufferGraphicsLayer) {\r\n this._bufferGraphicsLayer.removeAll();\r\n }\r\n void this._geomQuery(this.geometries);\r\n }\r\n }\r\n\r\n /**\r\n * Fetch a single geometry for each potential geometry type\r\n *\r\n * @param geometries All current selection geometries\r\n *\r\n * @protected\r\n */\r\n protected _geomQuery(\r\n geometries: __esri.Geometry[]\r\n ): Promise<void> {\r\n const queryGeoms = getQueryGeoms(geometries, this._geometryEngine);\r\n return this._selectFeatures(queryGeoms);\r\n }\r\n\r\n /**\r\n * Clear all stored values and general state for the component\r\n *\r\n * @param clearSearchWidget Optional boolean for clearing the search widget (default is true)\r\n * @param clearLabel Optional boolean for clearing the search label (default is true)\r\n *\r\n * @protected\r\n */\r\n protected async _clearResults(\r\n clearSearchWidget = true,\r\n clearLabel = true\r\n ): Promise<void> {\r\n this._selectedIds = [];\r\n\r\n if (clearLabel) {\r\n this._selectionLabel = \"\";\r\n }\r\n\r\n if (this._bufferGraphicsLayer) {\r\n this._bufferGraphicsLayer.removeAll();\r\n }\r\n\r\n if (clearSearchWidget && this._searchWidget) {\r\n this._searchWidget.clear();\r\n }\r\n\r\n state.highlightHandle?.remove();\r\n\r\n // for sketch\r\n if (this._drawTools) {\r\n void this._drawTools.clear();\r\n }\r\n this.selectionSetChange.emit(this._selectedIds.length);\r\n }\r\n\r\n /**\r\n * Fetch a single geometry for the current geometry type\r\n *\r\n * @param type worflow type\r\n * @param graphics graphics to be used for selection\r\n * @param label selection label\r\n *\r\n * @protected\r\n */\r\n protected _updateSelection(\r\n type: EWorkflowType,\r\n graphics: __esri.Graphic[],\r\n label: string\r\n ): void {\r\n this.geometries = Array.isArray(graphics) ? graphics.map(g => g.geometry) : this.geometries;\r\n this._workflowType = type;\r\n this._selectionLabel = label;\r\n }\r\n\r\n /**\r\n * Fetches the component's translations\r\n *\r\n * @protected\r\n */\r\n protected async _getTranslations(): Promise<void> {\r\n const translations = await getLocaleComponentStrings(this.el);\r\n this._translations = translations[0] as typeof MapSelectTools_T9n;\r\n }\r\n}\r\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"pdf-download.js","sourceRoot":"","sources":["../../../src/components/pdf-download/pdf-download.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { Component, Element, Host, h, Method, Prop, State, VNode } from \"@stencil/core\";\r\nimport * as pdfUtils from \"../../assets/data/labelFormats.json\";\r\nimport \"@esri/calcite-components\";\r\nimport PdfDownload_T9n from \"../../assets/t9n/pdf-download/resources.json\";\r\nimport { getLocaleComponentStrings } from \"../../utils/locale\";\r\nimport { exportCSV } from \"../../utils/csvUtils\";\r\n\r\n@Component({\r\n tag: \"pdf-download\",\r\n styleUrl: \"pdf-download.css\",\r\n shadow: true,\r\n})\r\nexport class PdfDownload {\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n @Element() el: HTMLPdfDownloadElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * boolean: Controls the enabled/disabled state of download\r\n */\r\n @Prop() disabled = true;\r\n\r\n /**\r\n * esri/views/layers/FeatureLayerView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html\r\n */\r\n @Prop() layerView: __esri.FeatureLayerView;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (protected)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains the translations for this component.\r\n * All UI strings should be defined here.\r\n */\r\n @State() protected _translations: typeof PdfDownload_T9n;\r\n\r\n /**\r\n * HTMLCalciteSelectElement: The html element for selecting buffer unit\r\n */\r\n protected _labelInfoElement: HTMLCalciteSelectElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Watch handlers\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Methods (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Downloads pdf of mailing labels for the provided list of ids\r\n *\r\n * @param ids List of ids to download\r\n * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value\r\n * @returns Promise resolving when function is done\r\n */\r\n @Method()\r\n async downloadPDF(\r\n ids: number[],\r\n removeDuplicates: boolean\r\n ): Promise<void> {\r\n return this._downloadPDF(ids, removeDuplicates);\r\n }\r\n\r\n /**\r\n * Downloads csv of mailing labels for the provided list of ids\r\n *\r\n * @param ids List of ids to download\r\n * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value\r\n * @returns Promise resolving when function is done\r\n */\r\n @Method()\r\n async downloadCSV(\r\n ids: number[],\r\n removeDuplicates: boolean\r\n ): Promise<void> {\r\n return this._downloadCSV(ids, removeDuplicates);\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Functions (lifecycle)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * StencilJS: Called once just after the component is first connected to the DOM.\r\n */\r\n async componentWillLoad(): Promise<void> {\r\n await this._getTranslations();\r\n }\r\n\r\n /**\r\n * Renders the component.\r\n */\r\n render(): VNode {\r\n return (\r\n <Host>\r\n <calcite-select\r\n disabled={this.disabled}\r\n label=\"\"\r\n ref={(el) => { this._labelInfoElement = el }}\r\n >\r\n {this._renderItems()}\r\n </calcite-select>\r\n </Host>\r\n );\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Functions (protected)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Renders the pdf export size options\r\n *\r\n * @returns Node array of size options\r\n *\r\n * @protected\r\n */\r\n protected _renderItems(): VNode[] {\r\n const s: any = pdfUtils;\r\n const sortedPdfIndo = (s.default || s).sort((a, b) => {\r\n const _a = parseInt(a.descriptionPDF.labelsPerPageDisplay, 10);\r\n const _b = parseInt(b.descriptionPDF.labelsPerPageDisplay, 10);\r\n return _a < _b ? -1 : _a > _b ? 1 : 0\r\n });\r\n return sortedPdfIndo.map((l) => {\r\n return (<calcite-option value={l}>{this._getLabelSizeText(l)}</calcite-option>)\r\n });\r\n }\r\n\r\n /**\r\n * Downloads pdf of mailing labels for the provided list of ids\r\n *\r\n * @param ids List of ids to download\r\n * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value\r\n *\r\n * @returns Promise resolving when function is done\r\n * @protected\r\n */\r\n protected async _downloadPDF(\r\n ids: number[],\r\n removeDuplicates: boolean\r\n ): Promise<void> {\r\n const l = this._labelInfoElement.selectedOption.value;\r\n alert(`PDF download: (${this._getLabelSizeText(l)}) (remove dups: ${removeDuplicates}) ${ids.join(\", \")}`);\r\n }\r\n\r\n /**\r\n * Downloads csv of mailing labels for the provided list of ids\r\n *\r\n * @param ids List of ids to download\r\n * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value\r\n * @returns Promise resolving when function is done\r\n *\r\n * @returns Promise that will resolve when the download is complete\r\n * @protected\r\n */\r\n protected async _downloadCSV(\r\n ids: number[],\r\n removeDuplicates: boolean\r\n ): Promise<void> {\r\n // TODO this will be leveraged when we do the real implementation of this\r\n console.log(removeDuplicates)\r\n await exportCSV(this.layerView, ids);\r\n }\r\n\r\n /**\r\n * Gets the formatted pdf export size text\r\n *\r\n * @param labelInfo current user selected label info\r\n *\r\n * @returns the pdf label as a string\r\n * @protected\r\n */\r\n protected _getLabelSizeText(\r\n labelInfo: any\r\n ): string {\r\n const lNum = labelInfo.descriptionPDF.labelsPerPageDisplay;\r\n const lSize = `${labelInfo.descriptionPDF.labelWidthDisplay} x ${labelInfo.descriptionPDF.labelHeightDisplay}`;\r\n return this._translations.pdfLabel.replace(\"{{n}}\", lNum).replace(\"{{labelSize}}\", lSize);\r\n }\r\n\r\n /**\r\n * Fetches the component's translations\r\n *\r\n * @protected\r\n */\r\n protected async _getTranslations(): Promise<void> {\r\n const translations = await getLocaleComponentStrings(this.el);\r\n this._translations = translations[0] as typeof PdfDownload_T9n;\r\n }\r\n\r\n}\r\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"public-notification.js","sourceRoot":"","sources":["../../../src/components/public-notification/public-notification.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { Component, Element, Host, h, Listen, Prop, State, VNode, Watch } from \"@stencil/core\";\r\nimport { loadModules } from \"../../utils/loadModules\";\r\nimport { EExportType, EPageType, EWorkflowType, ISelectionSet } from \"../../utils/interfaces\";\r\nimport { goToSelection, getMapLayerView, highlightFeatures } from \"../../utils/mapViewUtils\";\r\nimport { getSelectionSetQuery } from \"../../utils/queryUtils\";\r\nimport state from \"../../utils/publicNotificationStore\";\r\nimport NewPublicNotification_T9n from \"../../assets/t9n/public-notification/resources.json\";\r\nimport { getLocaleComponentStrings } from \"../../utils/locale\";\r\nimport * as utils from \"../../utils/publicNotificationUtils\";\r\n\r\n@Component({\r\n tag: \"public-notification\",\r\n styleUrl: \"public-notification.css\",\r\n shadow: false,\r\n})\r\nexport class PublicNotification {\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n @Element() el: HTMLPublicNotificationElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * esri/views/layers/FeatureLayerView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html\r\n */\r\n @Prop() addresseeLayer: __esri.FeatureLayerView;\r\n\r\n /**\r\n * esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html\r\n */\r\n @Prop() mapView: __esri.MapView;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (protected)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * boolean: Enabled when we have 1 or more selection sets that is enabled in the download pages.\r\n * By default all selection sets are enabled for download when they are first created.\r\n */\r\n @State() _downloadActive = true;\r\n\r\n /**\r\n * number: The number of selected features\r\n */\r\n @State() _numSelected = 0;\r\n\r\n /**\r\n * utils/interfaces/EPageType: LIST | SELECT | REFINE | PDF | CSV\r\n */\r\n @State() _pageType: EPageType = EPageType.LIST;\r\n\r\n /**\r\n * boolean: Save is enabled when we have 1 or more selected features\r\n */\r\n @State() _saveEnabled = false;\r\n\r\n /**\r\n * utils/interfaces/ISelectionSet: An array of user defined selection sets\r\n */\r\n @State() _selectionSets: ISelectionSet[] = [];\r\n\r\n /**\r\n * utils/interfaces/EWorkflowType: SEARCH | SELECT | SKETCH\r\n */\r\n @State() _selectionWorkflowType = EWorkflowType.SEARCH;\r\n\r\n /**\r\n * Contains the translations for this component.\r\n * All UI strings should be defined here.\r\n */\r\n @State() protected _translations: typeof NewPublicNotification_T9n;\r\n\r\n /**\r\n * ISelectionSet: The current active selection set\r\n */\r\n protected _activeSelection: ISelectionSet;\r\n\r\n /**\r\n * HTMLPdfDownloadElement: The pdf tools element\r\n */\r\n protected _downloadTools: HTMLPdfDownloadElement;\r\n\r\n /**\r\n * esri/geometry/geometryEngine: https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-geometryEngine.html\r\n */\r\n protected _geometryEngine: __esri.geometryEngine;\r\n\r\n /**\r\n * HTMLCalciteCheckboxElement: The remove duplicates checkbox element\r\n */\r\n protected _removeDuplicates: HTMLCalciteCheckboxElement;\r\n\r\n /**\r\n * HTMLMapSelectToolsElement: The select tools element\r\n */\r\n protected _selectTools: HTMLMapSelectToolsElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Watch handlers\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Called each time the selectionSets prop is changed.\r\n */\r\n @Watch(\"_selectionSets\")\r\n async selectionSetsWatchHandler(\r\n v: ISelectionSet[],\r\n oldV: ISelectionSet[]\r\n ): Promise<void> {\r\n if (v && v !== oldV && v.length > 0) {\r\n const nonRefineSets = v.filter(ss => ss.workflowType !== EWorkflowType.REFINE)\r\n if (nonRefineSets.length === 0) {\r\n this._selectionSets = [];\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Called each time the pageType prop is changed.\r\n */\r\n @Watch(\"_pageType\")\r\n async pageTypeWatchHandler(\r\n pageType: EPageType,\r\n oldPageType: EPageType\r\n ): Promise<void> {\r\n this._clearHighlight();\r\n\r\n if (oldPageType === EPageType.SELECT || oldPageType === EPageType.REFINE) {\r\n // clear any draw shapes or buffers\r\n await this._clearSelection()\r\n }\r\n\r\n if (pageType !== EPageType.SELECT) {\r\n return this._highlightFeatures();\r\n }\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Methods (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Handle changes to the selection sets\r\n */\r\n @Listen(\"selectionSetsChanged\", { target: \"window\" })\r\n selectionSetsChanged(event: CustomEvent): void {\r\n this._selectionSets = [...event.detail];\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Functions (lifecycle)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * StencilJS: Called once just after the component is first connected to the DOM.\r\n */\r\n async componentWillLoad(): Promise<void> {\r\n await this._getTranslations();\r\n await this._initModules();\r\n }\r\n\r\n /**\r\n * Renders the component.\r\n */\r\n render():void {\r\n const hasSelections = this._selectionSets.length > 0;\r\n return (\r\n <Host>\r\n <calcite-shell>\r\n <calcite-action-bar class=\"border-bottom-1 action-bar-size\" expand-disabled layout=\"horizontal\" slot=\"header\">\r\n {this._getActionGroup(\"list-check\", false, EPageType.LIST, this._translations?.myLists)}\r\n {this._getActionGroup(\"test-data\", !hasSelections, EPageType.REFINE, this._translations?.refineSelection)}\r\n {this._getActionGroup(\"file-pdf\", !hasSelections, EPageType.PDF, this._translations?.downloadPDF)}\r\n {this._getActionGroup(\"file-csv\", !hasSelections, EPageType.CSV, this._translations?.downloadCSV)}\r\n </calcite-action-bar>\r\n {this._getPage(this._pageType)}\r\n </calcite-shell>\r\n </Host>\r\n );\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Functions (protected)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Load esri javascript api modules\r\n *\r\n * @returns Promise resolving when function is done\r\n *\r\n * @protected\r\n */\r\n protected async _initModules(): Promise<void> {\r\n const [geometryEngine]: [\r\n __esri.geometryEngine\r\n ] = await loadModules([\r\n \"esri/geometry/geometryEngine\"\r\n ]);\r\n this._geometryEngine = geometryEngine;\r\n }\r\n\r\n /**\r\n * Get a calcite action group for the current action\r\n *\r\n * @param icon the icon to display for the current action\r\n * @param disabled should the action be disabled\r\n * @param pageType what page type will the action navigate to\r\n * @param tip information tip to display helpful details to end user\r\n *\r\n * @protected\r\n */\r\n protected _getActionGroup(\r\n icon: string,\r\n disabled: boolean,\r\n pageType: EPageType,\r\n tip: string\r\n ): VNode {\r\n return (\r\n <calcite-action-group class={\"action-center w-1-4\"} layout=\"horizontal\">\r\n <calcite-action\r\n active={this._pageType === pageType}\r\n alignment=\"center\"\r\n class=\"width-full height-full\"\r\n compact={false}\r\n disabled={disabled}\r\n icon={icon}\r\n id={icon}\r\n onClick={() => { this._setPageType(pageType) }}\r\n text=\"\"\r\n />\r\n <calcite-tooltip label=\"\" placement=\"bottom\" reference-element={icon}>\r\n <span>{tip}</span>\r\n </calcite-tooltip>\r\n </calcite-action-group>\r\n );\r\n }\r\n\r\n /**\r\n * Navigate to the defined page type\r\n *\r\n * @param pageType what page type will the action navigate to\r\n *\r\n * @protected\r\n */\r\n protected _setPageType(\r\n pageType: EPageType\r\n ): void {\r\n this._pageType = pageType;\r\n }\r\n\r\n /**\r\n * Navigate to the defined page type\r\n *\r\n * @param pageType what page type will the action navigate to\r\n *\r\n * @returns the page node\r\n * @protected\r\n */\r\n _getPage(\r\n pageType: EPageType\r\n ): VNode {\r\n let page: VNode;\r\n switch (pageType) {\r\n case EPageType.LIST:\r\n page = this._getListPage();\r\n break;\r\n\r\n case EPageType.SELECT:\r\n page = this._getSelectPage();\r\n break;\r\n\r\n case EPageType.REFINE:\r\n page = this._getRefinePage();\r\n break;\r\n\r\n case EPageType.PDF:\r\n page = this._getPDFPage();\r\n break;\r\n\r\n case EPageType.CSV:\r\n page = this._getCSVPage();\r\n break;\r\n\r\n }\r\n return page;\r\n }\r\n\r\n /**\r\n * Create the List page that shows as the initial home screen\r\n * This page is also used to show and selection sets that have been created\r\n *\r\n * @returns the page node\r\n * @protected\r\n */\r\n protected _getListPage(): VNode {\r\n const hasSets = this._selectionSets.filter(ss => ss.workflowType !== EWorkflowType.REFINE).length > 0;\r\n const total = utils.getTotal(this._selectionSets);\r\n return hasSets ? (\r\n <calcite-panel>\r\n <div class=\"padding-top-sides-1\">\r\n <calcite-label class=\"font-bold\">{this._translations?.myLists}</calcite-label>\r\n </div>\r\n {this._getNotice(this._translations?.listHasSetsTip, \"padding-sides-1 padding-bottom-1\")}\r\n <div class=\"display-flex padding-sides-1\">\r\n <calcite-label class=\"font-bold width-full\">{this._translations?.addresseeLayer}\r\n <map-layer-picker\r\n mapView={this.mapView}\r\n onLayerSelectionChange={(evt) => this._layerSelectionChange(evt)}\r\n selectedLayers={this.addresseeLayer ? [this.addresseeLayer?.layer.title] : []}\r\n selectionMode={\"single\"}\r\n />\r\n </calcite-label>\r\n </div>\r\n <div class=\"padding-sides-1 height-1-1-2\">\r\n <div class=\"position-left\">\r\n <calcite-label alignment=\"start\" class=\"font-bold\">{this._translations?.notifications}</calcite-label>\r\n </div>\r\n <div class=\"position-right\">\r\n <calcite-input-message active class=\"info-blue margin-top-0\" scale=\"m\">{this._translations?.uniqueCout.replace(\"{{n}}\", total.toString())}</calcite-input-message>\r\n </div>\r\n </div>\r\n {\r\n hasSets ? this._getSelectionSetList() : (\r\n <div class=\"info-message\">\r\n <calcite-input-message active class=\"info-blue\" scale=\"m\">{this._translations?.noNotifications}</calcite-input-message>\r\n </div>\r\n )\r\n }\r\n <div class=\"display-flex padding-1\">\r\n <calcite-button onClick={() => { this._setPageType(EPageType.SELECT) }} width=\"full\">{this._translations?.add}</calcite-button>\r\n </div>\r\n </calcite-panel>\r\n ) : (\r\n <calcite-panel>\r\n <div class=\"padding-top-sides-1\">\r\n <calcite-label class=\"font-bold\">{this._translations?.myLists}</calcite-label>\r\n </div>\r\n <div class=\"padding-sides-1\">\r\n <calcite-label>{this._translations?.notifications}</calcite-label>\r\n </div>\r\n <div class=\"info-message padding-bottom-1\">\r\n <calcite-input-message active class=\"info-blue\" scale=\"m\">{this._translations?.noNotifications}</calcite-input-message>\r\n </div>\r\n {this._getNotice(this._translations?.selectLayerAndAdd, \"padding-sides-1 padding-bottom-1\")}\r\n <div class=\"display-flex padding-sides-1\">\r\n <calcite-label class=\"font-bold width-full\">{this._translations?.addresseeLayer}\r\n <map-layer-picker\r\n mapView={this.mapView}\r\n onLayerSelectionChange={(evt) => this._layerSelectionChange(evt)}\r\n selectedLayers={this.addresseeLayer ? [this.addresseeLayer?.layer.title] : []}\r\n selectionMode={\"single\"}\r\n />\r\n </calcite-label>\r\n </div>\r\n <div class=\"display-flex padding-1\">\r\n <calcite-button onClick={() => { this._setPageType(EPageType.SELECT) }} width=\"full\">{this._translations?.add}</calcite-button>\r\n </div>\r\n </calcite-panel>\r\n );\r\n }\r\n\r\n /**\r\n * Create the selection sets list node for the List page\r\n *\r\n * @returns selection sets list node\r\n * @protected\r\n */\r\n protected _getSelectionSetList(): VNode {\r\n return (\r\n <calcite-list class=\"list-border margin-sides-1\">\r\n {\r\n // REFINE is handled seperately from the core selection sets\r\n // You can only access after clicking the refine action\r\n this._selectionSets.reduce((prev, cur, i) => {\r\n if (cur.workflowType !== EWorkflowType.REFINE) {\r\n prev.push((\r\n <calcite-list-item\r\n description={this._translations.selectedFeatures.replace(\"{{n}}\", cur.selectedIds.length.toString())}\r\n label={cur.label}\r\n onClick={() => goToSelection(cur.selectedIds, cur.layerView, this.mapView)}\r\n >\r\n {this._getAction(true, \"pencil\", \"\", (evt): void => this._openSelection(cur, evt), false, \"actions-end\")}\r\n {this._getAction(true, \"x\", \"\", (evt): Promise<void> => this._deleteSelection(i, evt), false, \"actions-end\")}\r\n </calcite-list-item>\r\n ));\r\n }\r\n return prev;\r\n }, [])\r\n }\r\n </calcite-list>\r\n );\r\n }\r\n\r\n /**\r\n * Create the Select page that shows the selection workflows\r\n *\r\n * @returns the page node\r\n * @protected\r\n */\r\n protected _getSelectPage(): VNode {\r\n const searchTip = `${this._translations?.selectSearchTip} ${this._translations?.optionalSearchDistance}`;\r\n const selectTip = `${this._translations?.selectLayerTip} ${this._translations?.optionalSearchDistance}`;\r\n const sketchTip = `${this._translations?.selectSketchTip} ${this._translations?.optionalSearchDistance}`;\r\n\r\n const noticeText = this._selectionWorkflowType === EWorkflowType.SELECT ? selectTip :\r\n this._selectionWorkflowType === EWorkflowType.SKETCH ? sketchTip : searchTip;\r\n\r\n return (\r\n <calcite-panel>\r\n {this._getLabel(this._translations?.stepTwoFull, true)}\r\n {this._getNotice(noticeText)}\r\n <div class={\"padding-1\"}>\r\n <map-select-tools\r\n class=\"font-bold\"\r\n isUpdate={!!this._activeSelection}\r\n mapView={this.mapView}\r\n onSelectionSetChange={(evt) => this._updateForSelection(evt)}\r\n onWorkflowTypeChange={(evt) => this._updateForWorkflowType(evt)}\r\n ref={(el) => { this._selectTools = el }}\r\n selectLayerView={this.addresseeLayer}\r\n selectionSet={this._activeSelection}\r\n />\r\n </div>\r\n <div class=\"padding-sides-1 padding-bottom-1\" style={{ \"align-items\": \"end\", \"display\": \"flex\" }}>\r\n <calcite-icon class=\"info-blue padding-end-1-2\" icon=\"feature-layer\" scale=\"s\" />\r\n <calcite-input-message active class=\"info-blue\" scale=\"m\">\r\n {this._translations?.selectedAddresses.replace(\"{{n}}\", this._numSelected.toString())}\r\n </calcite-input-message>\r\n </div>\r\n {\r\n this._getPageNavButtons(\r\n this._translations?.done,\r\n this._numSelected === 0,\r\n (): void => { void this._saveSelection() },\r\n this._translations?.cancel,\r\n false,\r\n (): void => { void this._home() }\r\n )\r\n }\r\n </calcite-panel>\r\n );\r\n }\r\n\r\n /**\r\n * Create the Refine page that users can interactively add/remove features from existing selection sets\r\n *\r\n * @returns the page node\r\n * @protected\r\n */\r\n protected _getRefinePage(): VNode {\r\n return (\r\n <calcite-panel>\r\n {this._getLabel(this._translations?.refineSelection)}\r\n {this._getNotice(this._translations?.refineTip, \"padding-sides-1\")}\r\n <refine-selection\r\n addresseeLayer={this.addresseeLayer}\r\n mapView={this.mapView}\r\n selectionSets={this._selectionSets}\r\n />\r\n </calcite-panel>\r\n );\r\n }\r\n\r\n /**\r\n * Create the PDF download page that shows the download options\r\n *\r\n * @returns the page node\r\n * @protected\r\n */\r\n protected _getPDFPage(): VNode {\r\n return this._getDownloadPage(EExportType.PDF);\r\n }\r\n\r\n /**\r\n * Create the CSV download page that shows the download options\r\n *\r\n * @returns the page node\r\n * @protected\r\n */\r\n protected _getCSVPage(): VNode {\r\n return this._getDownloadPage(EExportType.CSV);\r\n }\r\n\r\n /**\r\n * Create the main download page that has the shared aspects of both PDF and CSV\r\n * But only show the current PDF or CSV page content\r\n *\r\n * @param type EExportType of the current type expected\r\n *\r\n * @returns the page node\r\n * @protected\r\n */\r\n protected _getDownloadPage(\r\n type: EExportType\r\n ): VNode {\r\n const isPdf = type === EExportType.PDF;\r\n return (\r\n <calcite-panel>\r\n <div>\r\n <div class=\"padding-top-sides-1\">\r\n <calcite-label class=\"font-bold\">\r\n {isPdf ? this._translations?.pdfDownloads : this._translations?.csvDownloads}\r\n </calcite-label>\r\n <calcite-label>{this._translations?.notifications}</calcite-label>\r\n </div>\r\n {this._getSelectionLists()}\r\n <div class=\"margin-side-1 padding-top-1 border-bottom\" />\r\n <div class=\"padding-top-sides-1\">\r\n <calcite-label disabled={!this._downloadActive} layout=\"inline\">\r\n <calcite-checkbox disabled={!this._downloadActive} ref={(el) => { this._removeDuplicates = el }} />\r\n {this._translations?.removeDuplicate}\r\n </calcite-label>\r\n </div>\r\n <div class={isPdf ? \"\" : \"display-none\"}>\r\n {this._getLabel(this._translations?.selectPDFLabelOption, false, !this._downloadActive)}\r\n <div class={\"padding-sides-1\"}>\r\n <pdf-download\r\n disabled={!this._downloadActive}\r\n layerView={this.addresseeLayer}\r\n ref={(el) => { this._downloadTools = el }}\r\n />\r\n </div>\r\n </div>\r\n <div class=\"padding-1 display-flex\">\r\n <calcite-button\r\n disabled={!this._downloadActive}\r\n onClick={isPdf ? () => this._downloadPDF() : () => this._downloadCSV()}\r\n width=\"full\"\r\n >\r\n {isPdf ? this._translations?.downloadPDF : this._translations?.downloadCSV}\r\n </calcite-button>\r\n </div>\r\n </div>\r\n </calcite-panel>\r\n );\r\n }\r\n\r\n /**\r\n * Create the stacked navigation buttons for a page\r\n *\r\n * @param topLabel the label to use for the button on top\r\n * @param topDisabled should the button be disabled\r\n * @param topFunc the fucntion to execute when the button is clicked\r\n * @param bottomLabel the label to use for the button on bottom\r\n * @param bottomDisabled should the button be disabled\r\n * @param bottomFunc the fucntion to execute when the button is clicked\r\n *\r\n * @returns the page node\r\n * @protected\r\n */\r\n protected _getPageNavButtons(\r\n topLabel: string,\r\n topDisabled: boolean,\r\n topFunc: () => void,\r\n bottomLabel: string,\r\n bottomDisabled: boolean,\r\n bottomFunc: () => void\r\n ): VNode {\r\n return (\r\n <div>\r\n <div class=\"display-flex padding-top-sides-1\">\r\n <calcite-button\r\n disabled={topDisabled}\r\n onClick={topFunc}\r\n width=\"full\"\r\n >\r\n {topLabel}\r\n </calcite-button>\r\n </div>\r\n <div class=\"display-flex padding-top-1-2 padding-sides-1\">\r\n <calcite-button\r\n appearance=\"outline\"\r\n disabled={bottomDisabled}\r\n onClick={bottomFunc}\r\n width=\"full\"\r\n >\r\n {bottomLabel}\r\n </calcite-button>\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n /**\r\n * Create an informational notice\r\n *\r\n * @param message the message to display in the notice\r\n * @param noticeClass any custom css for the notice (default is \"padding-1\")\r\n *\r\n * @returns the notice node\r\n * @protected\r\n */\r\n protected _getNotice(\r\n message: string,\r\n noticeClass = \"padding-1\"\r\n ): VNode {\r\n return (\r\n <calcite-notice active class={noticeClass} color=\"green\" icon=\"lightbulb\">\r\n <div slot=\"message\">{message}</div>\r\n </calcite-notice>\r\n );\r\n }\r\n\r\n /**\r\n * Create a calcite label\r\n *\r\n * @param label value to display in the label\r\n * @param disableSpacing should extra calcite defined spacing be applied\r\n * @param disabled should the label be disabled\r\n *\r\n * @returns the label node\r\n * @protected\r\n */\r\n protected _getLabel(\r\n label: string,\r\n disableSpacing = false,\r\n disabled = false\r\n ): VNode {\r\n return (\r\n <div class=\"padding-top-sides-1\">\r\n <calcite-label\r\n class=\"font-bold\"\r\n disable-spacing={disableSpacing}\r\n disabled={disabled}\r\n >\r\n {label}\r\n </calcite-label>\r\n </div>\r\n );\r\n }\r\n\r\n /**\r\n * Get selection set list node with checkbox for Download pages\r\n *\r\n * @returns the list node\r\n * @protected\r\n */\r\n protected _getSelectionLists(): VNode {\r\n return this._selectionSets.reduce((prev, cur) => {\r\n if (cur.workflowType !== EWorkflowType.REFINE) {\r\n if (!this._downloadActive && cur.download) {\r\n this._downloadActive = true;\r\n }\r\n prev.push((\r\n <div class=\"display-flex padding-sides-1 padding-bottom-1\">\r\n <calcite-checkbox checked={cur.download} onClick={() => { void this._toggleDownload(cur.id) }} />\r\n <calcite-list class=\"list-border margin-start-1-2 w-100\" id=\"download-list\">\r\n <calcite-list-item\r\n description={this._translations.selectedFeatures.replace(\"{{n}}\", cur.selectedIds.length.toString())}\r\n disabled={!cur.download}\r\n label={cur.label}\r\n onClick={() => { void this._toggleDownload(cur.id) }}\r\n />\r\n </calcite-list>\r\n </div>\r\n ));\r\n }\r\n return prev;\r\n }, []) || (<div />);\r\n }\r\n\r\n /**\r\n * Toggle the disabled state for the download options based on user selection\r\n *\r\n * @param id the selection set id to toggle\r\n *\r\n * @protected\r\n */\r\n protected async _toggleDownload(\r\n id: number\r\n ): Promise<void> {\r\n let isActive = false;\r\n this._selectionSets = this._selectionSets.map(ss => {\r\n ss.download = ss.id === id ? !ss.download : ss.download;\r\n isActive = ss.download ? true : isActive;\r\n return ss;\r\n });\r\n this._downloadActive = isActive;\r\n await this._highlightFeatures();\r\n }\r\n\r\n /**\r\n * Download all selection sets as PDF\r\n *\r\n * @protected\r\n */\r\n protected _downloadPDF(): Promise<void> {\r\n const ids = utils.getSelectionIds(this._getDownloadSelectionSets());\r\n return this._downloadTools.downloadPDF(ids, this._removeDuplicates.checked);\r\n }\r\n\r\n /**\r\n * Download all selection sets as CSV\r\n *\r\n * @protected\r\n */\r\n protected _downloadCSV(): Promise<void> {\r\n const ids = utils.getSelectionIds(this._getDownloadSelectionSets());\r\n return this._downloadTools.downloadCSV(ids, this._removeDuplicates.checked);\r\n }\r\n\r\n /**\r\n * Get all enabled selection sets\r\n *\r\n * @returns the selection sets\r\n * @protected\r\n */\r\n protected _getDownloadSelectionSets(): ISelectionSet[] {\r\n return this._selectionSets.filter(ss => {\r\n return ss.download || ss.workflowType === EWorkflowType.REFINE;\r\n });\r\n }\r\n\r\n /**\r\n * Store the current workflow type\r\n *\r\n * @protected\r\n */\r\n protected _updateForWorkflowType(\r\n evt: CustomEvent\r\n ): void {\r\n this._selectionWorkflowType = evt.detail;\r\n }\r\n\r\n /**\r\n * Create a calcite action\r\n *\r\n * @param enabled controls the enabled state of the control\r\n * @param icon the image to display in the action\r\n * @param text and supporting text for the action\r\n * @param onClick the fucntion the actio will execute\r\n * @param indicator boolean to control if an indicator should be shown (default is false)\r\n * @param slot the supporting slot to use\r\n *\r\n * @returns the calcite action node\r\n * @protected\r\n */\r\n protected _getAction(\r\n enabled: boolean,\r\n icon: string,\r\n text: string,\r\n onClick: any,\r\n indicator = false,\r\n slot = \"\"\r\n ): VNode {\r\n return (\r\n <calcite-action\r\n disabled={!enabled}\r\n icon={icon}\r\n indicator={indicator}\r\n onClick={onClick}\r\n slot={slot}\r\n text={text} />\r\n );\r\n }\r\n\r\n /**\r\n * Store the number of selected features and if it's more than one enable save\r\n *\r\n * @returns the page node\r\n * @protected\r\n */\r\n protected _updateForSelection(evt: CustomEvent): void {\r\n this._numSelected = evt.detail;\r\n this._saveEnabled = this._numSelected > 0;\r\n }\r\n\r\n /**\r\n * Clear the selection and navigate to the home page\r\n *\r\n * @returns Promise when the function has completed\r\n * @protected\r\n */\r\n protected async _home(): Promise<void> {\r\n await this._clearSelection();\r\n this._setPageType(EPageType.LIST);\r\n }\r\n\r\n /**\r\n * Fetch the layer defined in the selection change event\r\n *\r\n * @returns Promise when the function has completed\r\n * @protected\r\n */\r\n protected async _layerSelectionChange(\r\n evt: CustomEvent\r\n ): Promise<void> {\r\n const title: string = evt?.detail?.length > 0 ? evt.detail[0] : \"\";\r\n if (title !== this.addresseeLayer?.layer.title) {\r\n this.addresseeLayer = await getMapLayerView(this.mapView, title);\r\n await this._updateSelectionSets(this.addresseeLayer);\r\n }\r\n }\r\n\r\n /**\r\n * Update selection sets when the addressee layer changes.\r\n * Will remove any \"refine\" selection set.\r\n * Will use stored search, select, and sketch geometries and any buffers to select from the new addressee layer.\r\n *\r\n * @param layerView The new addressee layer view to select from\r\n *\r\n * @returns Promise when the function has completed\r\n * @protected\r\n */\r\n protected async _updateSelectionSets(\r\n layerView: __esri.FeatureLayerView\r\n ): Promise<void> {\r\n const _selectionSets = this._selectionSets.filter(\r\n selectionSet => selectionSet.workflowType !== EWorkflowType.REFINE\r\n );\r\n const oidDefs = [];\r\n _selectionSets.forEach(selectionSet => {\r\n selectionSet.layerView = layerView;\r\n selectionSet.selectedIds = [];\r\n oidDefs.push(getSelectionSetQuery(selectionSet, this._geometryEngine));\r\n });\r\n\r\n return Promise.all(oidDefs).then(async (results): Promise<void> => {\r\n results.forEach((result, i) => {\r\n _selectionSets[i].selectedIds = result;\r\n });\r\n await this._highlightFeatures();\r\n this._selectionSets = [\r\n ..._selectionSets\r\n ];\r\n });\r\n }\r\n\r\n /**\r\n * Update the selection sets with any new selections from the select tools\r\n *\r\n * @returns Promise when the function has completed\r\n * @protected\r\n */\r\n protected async _saveSelection(): Promise<void> {\r\n const results = await this._selectTools?.getSelection();\r\n const isUpdate = this._selectTools?.isUpdate;\r\n\r\n this._selectionSets = isUpdate ? this._selectionSets.map(ss => {\r\n return ss.id === results.id ? results : ss;\r\n }) : [\r\n ...this._selectionSets,\r\n results\r\n ];\r\n return this._home();\r\n }\r\n\r\n /**\r\n * Clear any selections\r\n *\r\n * @returns Promise when the function has completed\r\n * @protected\r\n */\r\n protected async _clearSelection(): Promise<void> {\r\n await this._selectTools?.clearSelection();\r\n this._numSelected = 0;\r\n this._activeSelection = undefined;\r\n }\r\n\r\n /**\r\n * Delete the selection at the defined index\r\n *\r\n * @param index number that defines what selection set to delete\r\n *\r\n * @protected\r\n */\r\n protected _deleteSelection(\r\n index: number,\r\n evt: CustomEvent\r\n ): Promise<void> {\r\n evt.stopPropagation();\r\n this._selectionSets = this._selectionSets.filter((ss, i) => {\r\n if (i !== index) {\r\n return ss;\r\n }\r\n });\r\n return this._highlightFeatures();\r\n }\r\n\r\n /**\r\n * Open the selection set for further adjustment\r\n *\r\n * @protected\r\n */\r\n protected _openSelection(\r\n selectionSet: ISelectionSet,\r\n evt: CustomEvent\r\n ): void {\r\n evt.stopPropagation();\r\n this._activeSelection = selectionSet;\r\n this._pageType = EPageType.SELECT;\r\n }\r\n\r\n /**\r\n * Highlight any selected features in the map\r\n *\r\n * @protected\r\n */\r\n protected async _highlightFeatures(): Promise<void> {\r\n this._clearHighlight();\r\n const ids = utils.getSelectionIds(this._selectionSets);\r\n if (ids.length > 0) {\r\n state.highlightHandle = await highlightFeatures(\r\n ids,\r\n this.addresseeLayer,\r\n this.mapView\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Clear any highlighted features in the map\r\n *\r\n * @protected\r\n */\r\n protected _clearHighlight(): void {\r\n state.highlightHandle?.remove();\r\n }\r\n\r\n /**\r\n * Fetches the component's translations\r\n *\r\n * @protected\r\n */\r\n protected async _getTranslations(): Promise<void> {\r\n const translations = await getLocaleComponentStrings(this.el);\r\n this._translations = translations[0] as typeof NewPublicNotification_T9n;\r\n }\r\n}\r\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"refine-selection.js","sourceRoot":"","sources":["../../../src/components/refine-selection/refine-selection.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Host, h, Listen, Prop, State, VNode } from \"@stencil/core\";\r\nimport { ESelectionMode, EWorkflowType, ISelectionSet } from \"../../utils/interfaces\";\r\nimport * as utils from \"../../utils/publicNotificationUtils\";\r\nimport RefineSelection_T9n from \"../../assets/t9n/refine-selection/resources.json\";\r\nimport { getLocaleComponentStrings } from \"../../utils/locale\";\r\n\r\n@Component({\r\n tag: \"refine-selection\",\r\n styleUrl: \"refine-selection.css\",\r\n shadow: false,\r\n})\r\nexport class RefineSelection {\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n @Element() el: HTMLRefineSelectionToolsElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * esri/views/layers/FeatureLayerView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html\r\n */\r\n @Prop() addresseeLayer: __esri.FeatureLayerView;\r\n\r\n /**\r\n * esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html\r\n */\r\n @Prop() mapView: __esri.MapView;\r\n\r\n /**\r\n * utils/interfaces/ISelectionSet: An array of user defined selection sets\r\n */\r\n @Prop() selectionSets: ISelectionSet[] = [];\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (protected)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains the translations for this component.\r\n * All UI strings should be defined here.\r\n */\r\n @State() protected _translations: typeof RefineSelection_T9n;\r\n\r\n /**\r\n * boolean: Indicates if any new graphics should be added or removed\r\n */\r\n protected _addEnabled = true;\r\n\r\n /**\r\n * HTMLRefineSelectionToolsElement: The html element for the refine selection tools\r\n */\r\n protected _refineTools: HTMLRefineSelectionToolsElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Watch handlers\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Methods (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Emitted on demand when selection sets change.\r\n *\r\n */\r\n @Event() selectionSetsChanged: EventEmitter<ISelectionSet[]>;\r\n\r\n /**\r\n * Handles changes to refine selection ids.\r\n *\r\n */\r\n @Listen(\"refineSelectionIdsChange\", { target: \"window\" })\r\n refineSelectionIdsChange(event: CustomEvent): void {\r\n const addIds = event.detail?.addIds || [];\r\n const removeIds = event.detail?.removeIds || [];\r\n\r\n this._updateSelectionSets(removeIds);\r\n this._updateRefineSelectionSet(addIds, removeIds);\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Functions (lifecycle)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * StencilJS: Called once just after the component is first connected to the DOM.\r\n */\r\n async componentWillLoad(): Promise<void> {\r\n await this._getTranslations();\r\n }\r\n\r\n /**\r\n * Renders the component.\r\n */\r\n render(): VNode {\r\n return (\r\n <Host>\r\n <div class=\"padding-1\">\r\n <div>\r\n <calcite-radio-group\r\n class=\"w-100\"\r\n onCalciteRadioGroupChange={(evt) => this._modeChanged(evt)}\r\n >\r\n <calcite-radio-group-item\r\n checked={this._addEnabled}\r\n class=\"w-50\"\r\n onClick={() => this._setSelectionMode(ESelectionMode.ADD)}\r\n value={ESelectionMode.ADD}\r\n >\r\n {this._translations.add}\r\n </calcite-radio-group-item>\r\n <calcite-radio-group-item\r\n checked={!this._addEnabled}\r\n class=\"w-50\"\r\n onClick={() => this._setSelectionMode(ESelectionMode.REMOVE)}\r\n value={ESelectionMode.REMOVE}\r\n >\r\n {this._translations.remove}\r\n </calcite-radio-group-item>\r\n </calcite-radio-group>\r\n <refine-selection-tools\r\n border={true}\r\n ids={utils.getSelectionIds(this.selectionSets)}\r\n layerViews={[this.addresseeLayer]}\r\n mapView={this.mapView}\r\n mode={this._addEnabled ? ESelectionMode.ADD : ESelectionMode.REMOVE}\r\n ref={(el) => { this._refineTools = el }}\r\n useLayerPicker={false}\r\n />\r\n </div>\r\n <br />\r\n {\r\n (\r\n <calcite-list class=\"list-border\">\r\n {this._getRefineSelectionSetList()}\r\n </calcite-list>\r\n )\r\n }\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Functions (protected)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Store the Add/Remove mode\r\n *\r\n * @protected\r\n */\r\n protected _modeChanged(\r\n evt: CustomEvent\r\n ): void {\r\n this._addEnabled = evt.detail === ESelectionMode.ADD;\r\n }\r\n\r\n /**\r\n * Set the refine tools selection mode\r\n *\r\n * @protected\r\n */\r\n protected _setSelectionMode(\r\n mode: ESelectionMode\r\n ): void {\r\n this._refineTools.mode = mode;\r\n }\r\n\r\n /**\r\n * Create a list to show the number added/removed/total unique selected\r\n *\r\n * @returns the list node\r\n * @protected\r\n */\r\n protected _getRefineSelectionSetList(): VNode[] {\r\n const total = utils.getTotal(this.selectionSets);\r\n const refineSet = this._getRefineSelectionSet(this.selectionSets);\r\n const numAdded = refineSet?.refineIds.addIds.length || 0;\r\n const numRemoved = refineSet?.refineIds.removeIds.length || 0;\r\n\r\n return [(\r\n <calcite-list-item\r\n label={this._translations.featuresAdded?.replace(\"{{n}}\", numAdded.toString())}\r\n />\r\n ),(\r\n <calcite-list-item\r\n label={this._translations.featuresRemoved?.replace(\"{{n}}\", numRemoved.toString())}\r\n />\r\n ), (\r\n <calcite-list-item\r\n label={this._translations.totalSelected?.replace(\"{{n}}\", total.toString())}\r\n />\r\n )];\r\n }\r\n\r\n /**\r\n * Fetch the refine selection set\r\n *\r\n * @returns the refine selection set\r\n * @protected\r\n */\r\n protected _getRefineSelectionSet(\r\n selectionSets: ISelectionSet[]\r\n ): ISelectionSet {\r\n let refineSelectionSet: ISelectionSet;\r\n selectionSets.some(ss => {\r\n if (ss.workflowType === EWorkflowType.REFINE) {\r\n refineSelectionSet = ss;\r\n return true;\r\n }\r\n });\r\n return refineSelectionSet;\r\n }\r\n\r\n /**\r\n * Create a calcite action\r\n *\r\n * @param enabled controls the enabled state of the control\r\n * @param icon the image to display in the action\r\n * @param text and supporting text for the action\r\n * @param onClick the fucntion the actio will execute\r\n * @param indicator boolean to control if an indicator should be shown (default is false)\r\n * @param slot the supporting slot to use\r\n *\r\n * @returns the calcite action node\r\n * @protected\r\n */\r\n protected _getAction(\r\n enabled: boolean,\r\n icon: string,\r\n text: string,\r\n onClick: any,\r\n indicator = false,\r\n slot = \"\"\r\n ): VNode {\r\n return (\r\n <calcite-action\r\n disabled={!enabled}\r\n icon={icon}\r\n indicator={indicator}\r\n onClick={onClick}\r\n slot={slot}\r\n text={text} />\r\n );\r\n }\r\n\r\n /**\r\n * Remove ids from existing selection sets.\r\n * Remove any selection sets than have no selected ids\r\n * This can update any selection set not just the refine set.\r\n * We do not do something similar for adds as we will only ever add from refine tools to the single REFINE selection set.\r\n *\r\n * @param removeIds the ids to remove\r\n *\r\n * @protected\r\n */\r\n protected _updateSelectionSets(\r\n removeIds: number[]\r\n ): void {\r\n if (removeIds.length > 0) {\r\n this.selectionSets = this.selectionSets.reduce((prev, cur) => {\r\n cur.selectedIds = cur.selectedIds.filter(id => removeIds.indexOf(id) < 0);\r\n if (cur.selectedIds.length > 0) {\r\n prev.push(cur);\r\n }\r\n return prev;\r\n }, []);\r\n this.selectionSetsChanged.emit(this.selectionSets);\r\n }\r\n }\r\n\r\n /**\r\n * Update the refine selection set with any adds or removes\r\n *\r\n * @param addIds any ids to add\r\n * @param removeIds any ids to remove\r\n *\r\n * @returns Promise resolving when function is done\r\n * @protected\r\n */\r\n protected _updateRefineSelectionSet(\r\n addIds: number[],\r\n removeIds: number[]\r\n ): void {\r\n const selectionSet = this._getRefineSelectionSet(this.selectionSets);\r\n this.selectionSets = selectionSet ?\r\n this._updateRefineIds(selectionSet, addIds, removeIds) :\r\n this._addRefineSelectionSet(addIds, removeIds);\r\n this.selectionSetsChanged.emit(this.selectionSets);\r\n }\r\n\r\n /**\r\n * Update the ids stored for the refine selection set\r\n *\r\n * @param selectionSet the refine selection set\r\n * @param addIds any ids to add\r\n * @param removeIds any ids to remove\r\n *\r\n * @returns updated selection sets\r\n * @protected\r\n */\r\n protected _updateRefineIds(\r\n selectionSet: ISelectionSet,\r\n addIds: number[],\r\n removeIds: number[]\r\n ): ISelectionSet[] {\r\n // remove ids if they exist in the current add or remove list\r\n selectionSet.refineIds.addIds = selectionSet.refineIds.addIds.filter(id => removeIds.indexOf(id) < 0)\r\n selectionSet.refineIds.removeIds = selectionSet.refineIds.removeIds.filter(id => addIds.indexOf(id) < 0)\r\n\r\n const _addIds = [...new Set(selectionSet.refineIds.addIds.concat(addIds))];\r\n const _removeIds = [...new Set(selectionSet.refineIds.removeIds.concat(removeIds))];\r\n selectionSet.refineIds = {\r\n addIds: _addIds.filter(id => _removeIds.indexOf(id) < 0),\r\n removeIds: _removeIds.filter(id => _addIds.indexOf(id) < 0)\r\n }\r\n selectionSet.selectedIds = selectionSet.refineIds.addIds.length > 0 ?\r\n [...new Set(selectionSet.selectedIds.concat(selectionSet.refineIds.addIds))] :\r\n selectionSet.selectedIds.filter(id => selectionSet.refineIds.removeIds.indexOf(id) < 0);\r\n\r\n return this.selectionSets.map(ss => {\r\n return ss.workflowType === EWorkflowType.REFINE ? selectionSet : ss;\r\n });\r\n }\r\n\r\n /**\r\n * Add a new refine selection set\r\n *\r\n * @param addIds any ids to add\r\n * @param removeIds any ids to remove\r\n *\r\n * @returns updated selection sets\r\n * @protected\r\n */\r\n protected _addRefineSelectionSet(\r\n addIds: number[],\r\n removeIds: number[]\r\n ): ISelectionSet[] {\r\n return [\r\n ...this.selectionSets,\r\n ({\r\n buffer: undefined,\r\n distance: 0,\r\n download: true,\r\n geometries: [],\r\n id: Date.now(),\r\n label: \"Refine\",\r\n layerView: this.addresseeLayer,\r\n refineSelectLayers: [],\r\n searchResult: undefined,\r\n selectedIds: addIds,\r\n unit: \"feet\",\r\n workflowType: EWorkflowType.REFINE,\r\n refineIds: {\r\n addIds: addIds,\r\n removeIds: removeIds\r\n }\r\n })\r\n ];\r\n }\r\n\r\n /**\r\n * Fetches the component's translations\r\n *\r\n * @protected\r\n */\r\n protected async _getTranslations(): Promise<void> {\r\n const translations = await getLocaleComponentStrings(this.el);\r\n this._translations = translations[0] as typeof RefineSelection_T9n;\r\n }\r\n\r\n}\r\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"refine-selection-tools.js","sourceRoot":"","sources":["../../../src/components/refine-selection-tools/refine-selection-tools.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @license\r\n * Copyright 2022 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { Component, Element, Event, EventEmitter, Host, h, Method, Prop, State, VNode, Watch } from \"@stencil/core\";\r\nimport { ERefineMode, ESelectionMode, ESelectionType, IRefineOperation } from \"../../utils/interfaces\";\r\nimport { getMapLayerView, highlightFeatures } from \"../../utils/mapViewUtils\";\r\nimport { queryFeaturesByGeometry } from \"../../utils/queryUtils\";\r\nimport state from \"../../utils/publicNotificationStore\";\r\nimport { loadModules } from \"../../utils/loadModules\";\r\nimport RefineSelectionTools_T9n from \"../../assets/t9n/refine-selection-tools/resources.json\";\r\nimport { getLocaleComponentStrings } from \"../../utils/locale\";\r\n\r\n@Component({\r\n tag: \"refine-selection-tools\",\r\n styleUrl: \"refine-selection-tools.css\",\r\n shadow: true,\r\n})\r\nexport class RefineSelectionTools {\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n @Element() el: HTMLRefineSelectionToolsElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * boolean: sketch is used by multiple components...need a way to know who should respond...\r\n */\r\n @Prop() active = false;\r\n\r\n /**\r\n * boolean: Optionally draw a border around the draw tools\r\n */\r\n @Prop() border = false;\r\n\r\n /**\r\n * esri/Graphic: https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html\r\n */\r\n @Prop({ mutable: true }) graphics: __esri.Graphic[];\r\n\r\n /**\r\n * number: The oids of the selected features\r\n */\r\n @Prop() ids: number[] = [];\r\n\r\n /**\r\n * esri/views/layers/LayerView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-LayerView.html\r\n */\r\n @Prop() layerView: __esri.FeatureLayerView;\r\n\r\n /**\r\n * esri/views/layers/FeatureLayerView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html\r\n */\r\n @Prop() layerViews: __esri.FeatureLayerView[] = [];\r\n\r\n /**\r\n * esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html\r\n */\r\n @Prop() mapView: __esri.MapView;\r\n\r\n /**\r\n * utils/interfaces/ESelectionMode: ADD, REMOVE\r\n */\r\n @Prop() mode: ESelectionMode;\r\n\r\n /**\r\n * utils/interfaces/ERefineMode: ALL, SUBSET\r\n */\r\n @Prop() refineMode: ERefineMode;\r\n\r\n /**\r\n * boolean: Used to control the visibility of the layer picker\r\n */\r\n @Prop() useLayerPicker = true;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (protected)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * boolean: Is selected enabled\r\n */\r\n @State() _selectEnabled = false;\r\n\r\n /**\r\n * utils/interfaces/ESelectionType: POINT, LINE, POLY, RECT\r\n */\r\n @State() _selectionMode: ESelectionType;\r\n\r\n /**\r\n * Contains the translations for this component.\r\n * All UI strings should be defined here.\r\n */\r\n @State() _translations: typeof RefineSelectionTools_T9n;\r\n\r\n /**\r\n * esri/layers/GraphicsLayer: https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html\r\n * The graphics layer constructor\r\n */\r\n protected GraphicsLayer: typeof __esri.GraphicsLayer;\r\n\r\n /**\r\n * esri/widgets/Sketch/SketchViewModel: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Sketch-SketchViewModel.html\r\n * The sketch view model constructor\r\n */\r\n protected SketchViewModel: typeof __esri.SketchViewModel;\r\n\r\n /**\r\n * {<layer title>: Graphic[]}: Collection of graphics returned from queries to the layer\r\n */\r\n protected _featuresCollection: {[key: string]: __esri.Graphic[]} = {};\r\n\r\n /**\r\n * esri/core/Handles: https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Handles.html#Handle\r\n */\r\n protected _hitTestHandle: __esri.Handle;\r\n\r\n /**\r\n * IRefineOperation[]: Array to maintain the possible redo operations\r\n */\r\n protected _redoStack: IRefineOperation[] = [];\r\n\r\n /**\r\n * esri/geometry/Geometry: https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Geometry.html\r\n */\r\n protected _sketchGeometry: __esri.Geometry;\r\n\r\n /**\r\n * esri/layers/GraphicsLayer: https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-GraphicsLayer.html\r\n * The graphics layer used to show selections.\r\n */\r\n protected _sketchGraphicsLayer: __esri.GraphicsLayer;\r\n\r\n /**\r\n * esri/widgets/Sketch/SketchViewModel: The html element for selecting buffer unit\r\n * The sketch view model used to create graphics\r\n */\r\n protected _sketchViewModel: __esri.SketchViewModel;\r\n\r\n /**\r\n * IRefineOperation[]: Array to maintain the possible undo operations\r\n */\r\n protected _undoStack: IRefineOperation[] = [];\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Watch handlers\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Called each time the ids prop is changed.\r\n * Highlight the features based on the provided ids\r\n */\r\n @Watch(\"ids\")\r\n idsWatchHandler(v: any, oldV: any): void {\r\n if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {\r\n void this._highlightFeatures(v);\r\n }\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Methods (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Reset the ids collection\r\n *\r\n * @returns Promise when complete\r\n */\r\n @Method()\r\n async reset(): Promise<void> {\r\n this.ids = [];\r\n }\r\n\r\n /**\r\n * Clear current highlight handle\r\n *\r\n * @returns Promise when complete\r\n */\r\n @Method()\r\n async clearHighlight(): Promise<void> {\r\n this._clearHighlight();\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Emitted on demand when selection graphics change.\r\n */\r\n @Event() refineSelectionGraphicsChange: EventEmitter<any[]>;\r\n\r\n /**\r\n * Emitted on demand when selection ids change\r\n */\r\n @Event() refineSelectionIdsChange: EventEmitter<{ addIds: any[]; removeIds: any[]; }>;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Functions (lifecycle)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * StencilJS: Called once just after the component is first connected to the DOM.\r\n */\r\n async componentWillLoad(): Promise<void> {\r\n await this._getTranslations();\r\n await this._initModules();\r\n }\r\n\r\n /**\r\n * StencilJS: Called once just after the component is fully loaded and the first render() occurs.\r\n */\r\n componentDidLoad(): void {\r\n this._init();\r\n }\r\n\r\n /**\r\n * StencilJS: Called every time the component is disconnected from the DOM, ie,\r\n * it can be dispatched more than once, DO not confuse with a \"onDestroy\" kind of event.\r\n */\r\n disconnectedCallback(): void {\r\n this.active = false;\r\n }\r\n\r\n /**\r\n * Called every time the component is connected to the DOM.\r\n * When the component is first connected, this method is called before componentWillLoad.\r\n */\r\n connectedCallback(): void {\r\n this.active = true;\r\n if (this.ids.length > 0) {\r\n this._selectEnabled = true;\r\n void this._highlightFeatures(this.ids);\r\n }\r\n }\r\n\r\n /**\r\n * Renders the component.\r\n */\r\n render(): VNode {\r\n const showLayerPickerClass = this.useLayerPicker ? \"div-visible\" : \"div-not-visible\";\r\n const drawClass = this.border ? \" border\" : \"\";\r\n return (\r\n <Host>\r\n <div>\r\n <div class={\"main-label \" + showLayerPickerClass}>\r\n <calcite-label>{this._translations.selectLayers}</calcite-label>\r\n </div>\r\n <map-layer-picker\r\n class={showLayerPickerClass}\r\n mapView={this.mapView}\r\n onLayerSelectionChange={(evt) => { void this._layerSelectionChange(evt) }}\r\n selectedLayers={this.layerViews.map(l => l.layer.title)}\r\n selectionMode={\"single\"}\r\n />\r\n <div class={\"margin-top-1\" + drawClass}>\r\n <div class=\"esri-sketch esri-widget\">\r\n <div class=\"esri-sketch__panel\">\r\n <div class=\"esri-sketch__tool-section esri-sketch__section\">\r\n <calcite-action\r\n disabled={!this._selectEnabled}\r\n icon=\"select\"\r\n onClick={() => this._setSelectionMode(ESelectionType.POINT)}\r\n scale=\"s\"\r\n text={this._translations.select}\r\n />\r\n </div>\r\n <div class=\"esri-sketch__tool-section esri-sketch__section\">\r\n <calcite-action\r\n disabled={!this._selectEnabled}\r\n icon=\"line\"\r\n onClick={() => this._setSelectionMode(ESelectionType.LINE)}\r\n scale=\"s\"\r\n text={this._translations.selectLine}\r\n />\r\n <calcite-action\r\n disabled={!this._selectEnabled}\r\n icon=\"polygon\"\r\n onClick={() => this._setSelectionMode(ESelectionType.POLY)}\r\n scale=\"s\"\r\n text={this._translations.selectPolygon}\r\n />\r\n <calcite-action\r\n disabled={!this._selectEnabled}\r\n icon=\"rectangle\"\r\n onClick={() => this._setSelectionMode(ESelectionType.RECT)}\r\n scale=\"s\"\r\n text={this._translations.selectRectangle}\r\n />\r\n </div>\r\n <div class=\"esri-sketch__tool-section esri-sketch__section\">\r\n <calcite-action\r\n disabled={this._undoStack.length === 0}\r\n icon=\"undo\"\r\n onClick={() => this._undo()}\r\n scale=\"s\"\r\n text={this._translations.undo}\r\n />\r\n <calcite-action\r\n disabled={this._redoStack.length === 0}\r\n icon=\"redo\"\r\n onClick={() => this._redo()}\r\n scale=\"s\"\r\n text={this._translations.redo}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Functions (protected)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Load esri javascript api modules\r\n *\r\n * @returns Promise resolving when function is done\r\n *\r\n * @protected\r\n */\r\n protected async _initModules(): Promise<void> {\r\n const [GraphicsLayer, SketchViewModel]: [\r\n __esri.GraphicsLayerConstructor,\r\n __esri.SketchViewModelConstructor\r\n ] = await loadModules([\r\n \"esri/layers/GraphicsLayer\",\r\n \"esri/widgets/Sketch/SketchViewModel\"\r\n ]);\r\n this.GraphicsLayer = GraphicsLayer;\r\n this.SketchViewModel = SketchViewModel;\r\n }\r\n\r\n /**\r\n * Initialize the graphics layer and skecth view model\r\n *\r\n * @returns Promise when the operation has completed\r\n * @protected\r\n */\r\n protected _init(): void {\r\n this._initGraphicsLayer();\r\n this._initSketchViewModel();\r\n }\r\n\r\n /**\r\n * Initialize the skecth view model\r\n *\r\n * @returns Promise when the operation has completed\r\n * @protected\r\n */\r\n protected _initSketchViewModel(): void {\r\n this._sketchViewModel = new this.SketchViewModel({\r\n layer: this._sketchGraphicsLayer,\r\n defaultUpdateOptions: {\r\n tool: \"reshape\",\r\n toggleToolOnClick: false\r\n },\r\n view: this.mapView\r\n });\r\n\r\n this._sketchViewModel.on(\"create\", (event) => {\r\n if (event.state === \"complete\" && this.active) {\r\n this._featuresCollection = {};\r\n this._sketchGeometry = event.graphic.geometry;\r\n void this._selectFeatures(this._sketchGeometry);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Clear any skecth graphics\r\n *\r\n * @returns Promise when the operation has completed\r\n * @protected\r\n */\r\n protected _clear(): void {\r\n this._sketchGeometry = null;\r\n this._sketchViewModel.cancel();\r\n this._sketchGraphicsLayer.removeAll();\r\n }\r\n\r\n /**\r\n * Initialize the graphics layer\r\n *\r\n * @returns Promise when the operation has completed\r\n * @protected\r\n */\r\n protected _initGraphicsLayer(): void {\r\n const title = this._translations.sketchLayer;\r\n const sketchIndex = this.mapView.map.layers.findIndex((l) => l.title === title);\r\n if (sketchIndex > -1) {\r\n this._sketchGraphicsLayer = this.mapView.map.layers.getItemAt(sketchIndex) as __esri.GraphicsLayer;\r\n } else {\r\n this._sketchGraphicsLayer = new this.GraphicsLayer({ title });\r\n state.managedLayers.push(title);\r\n this.mapView.map.layers.add(this._sketchGraphicsLayer);\r\n }\r\n\r\n if (this.graphics && this.graphics.length > 0) {\r\n this._sketchGraphicsLayer.addMany(this.graphics);\r\n }\r\n }\r\n\r\n /**\r\n * Clear selection based on map click\r\n *\r\n * @protected\r\n */\r\n protected _initHitTest(): void {\r\n if (this._hitTestHandle) {\r\n this._hitTestHandle.remove();\r\n }\r\n this._hitTestHandle = this.mapView.on(\"click\", (event) => {\r\n event.stopPropagation();\r\n const opts = {\r\n include: this.layerViews.map(lv => lv.layer)\r\n };\r\n void this.mapView.hitTest(event, opts).then((response) => {\r\n let graphics = [];\r\n if (response.results.length > 0) {\r\n graphics = response.results.reduce((prev, cur) => {\r\n const g = (cur as any)?.graphic;\r\n if (g) {\r\n prev.push(g);\r\n }\r\n return prev;\r\n }, []);\r\n }\r\n this.refineSelectionGraphicsChange.emit(graphics);\r\n this._clear();\r\n });\r\n });\r\n\r\n }\r\n\r\n /**\r\n * Gets the layer views from the map when the layer selection changes\r\n *\r\n * @returns Promise resolving when function is done\r\n *\r\n * @protected\r\n */\r\n protected async _layerSelectionChange(\r\n evt: CustomEvent\r\n ): Promise<void> {\r\n if (Array.isArray(evt.detail) && evt.detail.length > 0) {\r\n this._selectEnabled = true;\r\n const layerPromises = evt.detail.map(title => {\r\n return getMapLayerView(this.mapView, title)\r\n });\r\n\r\n return Promise.all(layerPromises).then((layerViews) => {\r\n this.layerViews = layerViews;\r\n });\r\n } else {\r\n this._selectEnabled = false;\r\n }\r\n }\r\n\r\n /**\r\n * Store the current selection mode\r\n *\r\n * @protected\r\n */\r\n protected _setSelectionMode(\r\n mode: ESelectionType\r\n ): void {\r\n this._selectionMode = mode;\r\n\r\n if (this._hitTestHandle) {\r\n this._hitTestHandle.remove();\r\n }\r\n\r\n switch (this._selectionMode) {\r\n case ESelectionType.POINT:\r\n this._sketchViewModel.create(\"point\");\r\n //this._initHitTest();\r\n break;\r\n case ESelectionType.LINE:\r\n this._sketchViewModel.create(\"polyline\");\r\n break;\r\n case ESelectionType.POLY:\r\n this._sketchViewModel.create(\"polygon\");\r\n break;\r\n case ESelectionType.RECT:\r\n this._sketchViewModel.create(\"rectangle\");\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * Select features based on the input geometry\r\n *\r\n * @param geom the geometry used for selection\r\n *\r\n * @returns Promise resolving when function is done\r\n *\r\n * @protected\r\n */\r\n protected async _selectFeatures(\r\n geom: __esri.Geometry\r\n ): Promise<void> {\r\n const queryFeaturePromises = this.layerViews.map(layerView => {\r\n this._featuresCollection[layerView.layer.title] = [];\r\n return queryFeaturesByGeometry(0, layerView.layer, geom, this._featuresCollection)\r\n });\r\n\r\n return Promise.all(queryFeaturePromises).then(async response => {\r\n let graphics = [];\r\n response.forEach(r => {\r\n Object.keys(r).forEach(k => {\r\n graphics = graphics.concat(r[k]);\r\n })\r\n });\r\n\r\n if (this.refineMode === ERefineMode.SUBSET) {\r\n this.refineSelectionGraphicsChange.emit(graphics);\r\n } else {\r\n const oids = Array.isArray(graphics) ? graphics.map(g => g.attributes[g?.layer?.objectIdField]) : [];\r\n await this._updateIds(oids, this.mode, this._undoStack, this.mode);\r\n }\r\n this._clear();\r\n });\r\n }\r\n\r\n /**\r\n * Highlight any selected features in the map\r\n *\r\n * @returns Promise resolving when function is done\r\n * @protected\r\n */\r\n protected async _highlightFeatures(\r\n ids: number[],\r\n updateExtent = false\r\n ): Promise<void> {\r\n this._clearHighlight();\r\n if (ids.length > 0) {\r\n state.highlightHandle = await highlightFeatures(ids, this.layerViews[0], this.mapView, updateExtent);\r\n }\r\n }\r\n\r\n /**\r\n * Clear any highlighted features in the map\r\n *\r\n * @protected\r\n */\r\n protected _clearHighlight(): void {\r\n state.highlightHandle?.remove();\r\n }\r\n\r\n /**\r\n * Update the ids for any ADD or REMOVE operation and highlight the features.\r\n *\r\n * @param oids the ids to add or remove\r\n * @param mode ADD or REMOVE this will control if the ids are added or removed\r\n * @param operationStack the undo or redo stack to push the operation to\r\n * @param operationMode ADD or REMOVE the mode of the individual refine operation\r\n *\r\n * @returns Promise resolving when function is done\r\n *\r\n * @protected\r\n */\r\n protected async _updateIds(\r\n oids: number[],\r\n mode: ESelectionMode,\r\n operationStack: IRefineOperation[],\r\n operationMode: ESelectionMode\r\n ): Promise<void> {\r\n const idUpdates = { addIds: [], removeIds: [] };\r\n if (mode === ESelectionMode.ADD) {\r\n idUpdates.addIds = oids.filter(id => this.ids.indexOf(id) < 0);\r\n this.ids = [...this.ids, ...idUpdates.addIds];\r\n operationStack.push({ mode: operationMode, ids: idUpdates.addIds });\r\n } else {\r\n idUpdates.removeIds = oids.filter(id => this.ids.indexOf(id) > -1);\r\n this.ids = this.ids.filter(id => idUpdates.removeIds.indexOf(id) < 0);\r\n operationStack.push({ mode: operationMode, ids: idUpdates.removeIds });\r\n }\r\n await this._highlightFeatures(this.ids).then(() => {\r\n this.refineSelectionIdsChange.emit(idUpdates);\r\n });\r\n }\r\n\r\n /**\r\n * Undo the most current ADD or REMOVE operation\r\n *\r\n * @returns Promise resolving when function is done\r\n *\r\n * @protected\r\n */\r\n async _undo(): Promise<void> {\r\n const undoOp = this._undoStack.pop();\r\n return this._updateIds(\r\n undoOp.ids,\r\n undoOp.mode === ESelectionMode.ADD ? ESelectionMode.REMOVE : ESelectionMode.ADD,\r\n this._redoStack,\r\n undoOp.mode\r\n );\r\n }\r\n\r\n /**\r\n * Redo the most current ADD or REMOVE operation\r\n *\r\n * @returns Promise resolving when function is done\r\n *\r\n * @protected\r\n */\r\n async _redo(): Promise<void> {\r\n const redoOp = this._redoStack.pop();\r\n return this._updateIds(\r\n redoOp.ids,\r\n redoOp.mode,\r\n this._undoStack,\r\n redoOp.mode\r\n );\r\n }\r\n\r\n /**\r\n * Fetches the component's translations\r\n *\r\n * @protected\r\n */\r\n protected async _getTranslations(): Promise<void> {\r\n const translations = await getLocaleComponentStrings(this.el);\r\n this._translations = translations[0] as typeof RefineSelectionTools_T9n;\r\n }\r\n}\r\n"]}
|
@@ -0,0 +1,91 @@
|
|
1
|
+
/** @license
|
2
|
+
* Copyright 2022 Esri
|
3
|
+
*
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
* you may not use this file except in compliance with the License.
|
6
|
+
* You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
.configuration-container {
|
17
|
+
position: relative;
|
18
|
+
height: 100%;
|
19
|
+
width: 100%
|
20
|
+
}
|
21
|
+
|
22
|
+
.configuration {
|
23
|
+
position: absolute;
|
24
|
+
top: 0px;
|
25
|
+
right: 0px;
|
26
|
+
bottom: 0px;
|
27
|
+
left: 0px;
|
28
|
+
display: flex;
|
29
|
+
padding: 0.5rem;
|
30
|
+
border: 1px #808080 solid
|
31
|
+
}
|
32
|
+
|
33
|
+
.config-tabs {
|
34
|
+
width: 100%
|
35
|
+
}
|
36
|
+
|
37
|
+
.config-tab {
|
38
|
+
width: 100%
|
39
|
+
}
|
40
|
+
|
41
|
+
.config-solution {
|
42
|
+
position: absolute;
|
43
|
+
top: 3.5rem;
|
44
|
+
right: -1px;
|
45
|
+
bottom: -1px;
|
46
|
+
left: -1px;
|
47
|
+
display: flex;
|
48
|
+
padding: 0.5rem
|
49
|
+
}
|
50
|
+
|
51
|
+
.config-inventory {
|
52
|
+
display: inline;
|
53
|
+
max-width: -moz-min-content;
|
54
|
+
max-width: min-content;
|
55
|
+
flex-grow: 0;
|
56
|
+
overflow-y: auto
|
57
|
+
}
|
58
|
+
|
59
|
+
.config-inventory-hide {
|
60
|
+
display: none;
|
61
|
+
max-width: -moz-min-content;
|
62
|
+
max-width: min-content;
|
63
|
+
flex-grow: 0;
|
64
|
+
overflow-y: auto
|
65
|
+
}
|
66
|
+
|
67
|
+
.config-item {
|
68
|
+
position: relative;
|
69
|
+
display: inline;
|
70
|
+
flex-grow: 1;
|
71
|
+
overflow-y: auto;
|
72
|
+
-webkit-margin-start: 0.5rem;
|
73
|
+
margin-inline-start: 0.5rem
|
74
|
+
}
|
75
|
+
|
76
|
+
solution-contents {
|
77
|
+
position: relative;
|
78
|
+
height: 100%
|
79
|
+
}
|
80
|
+
|
81
|
+
solution-item {
|
82
|
+
position: relative;
|
83
|
+
height: 100%
|
84
|
+
}
|
85
|
+
|
86
|
+
solution-spatial-ref {
|
87
|
+
position: relative;
|
88
|
+
height: 100%;
|
89
|
+
width: 100%;
|
90
|
+
overflow-y: auto
|
91
|
+
}
|