@esri/solutions-components 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +16 -6
- package/dist/cjs/calcite-shell-panel_14.cjs.entry.js.map +1 -1
- package/dist/cjs/solution-configuration.cjs.entry.js +10 -3
- package/dist/cjs/solution-configuration.cjs.entry.js.map +1 -1
- package/dist/cjs/solution-contents_3.cjs.entry.js +3 -1
- package/dist/cjs/solution-contents_3.cjs.entry.js.map +1 -1
- package/dist/cjs/{solution-store-e2fc11ac.js → solution-store-893499a5.js} +3 -1
- package/dist/cjs/solution-store-893499a5.js.map +1 -0
- package/dist/collection/components/solution-configuration/solution-configuration.js +9 -2
- package/dist/collection/components/solution-configuration/solution-configuration.js.map +1 -1
- package/dist/collection/components/solution-item/solution-item.js +2 -0
- package/dist/collection/components/solution-item/solution-item.js.map +1 -1
- package/dist/collection/components/solution-item-details/solution-item-details.js +15 -5
- package/dist/collection/components/solution-item-details/solution-item-details.js.map +1 -1
- package/dist/collection/utils/solution-store.js +2 -0
- package/dist/collection/utils/solution-store.js.map +1 -1
- package/dist/collection/utils/solution-store.ts +2 -0
- package/dist/esm/calcite-shell-panel_14.entry.js +16 -6
- package/dist/esm/calcite-shell-panel_14.entry.js.map +1 -1
- package/dist/esm/solution-configuration.entry.js +10 -3
- package/dist/esm/solution-configuration.entry.js.map +1 -1
- package/dist/esm/solution-contents_3.entry.js +3 -1
- package/dist/esm/solution-contents_3.entry.js.map +1 -1
- package/dist/esm/{solution-store-b3c65467.js → solution-store-0c58c852.js} +3 -1
- package/dist/esm/solution-store-0c58c852.js.map +1 -0
- package/dist/solutions-components/{p-b25f6ebe.js → p-659edb14.js} +3 -1
- package/dist/solutions-components/p-659edb14.js.map +1 -0
- package/dist/solutions-components/{p-638738f2.entry.js → p-77c75f3a.entry.js} +4 -2
- package/dist/solutions-components/p-77c75f3a.entry.js.map +1 -0
- package/dist/solutions-components/{p-7e8985f2.entry.js → p-90629c1d.entry.js} +11 -4
- package/dist/solutions-components/p-90629c1d.entry.js.map +1 -0
- package/dist/solutions-components/{p-542189bc.entry.js → p-984cb687.entry.js} +17 -7
- package/dist/solutions-components/p-984cb687.entry.js.map +1 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/solution-store.ts +2 -0
- package/dist/solutions-components_commit.txt +9 -6
- package/dist/types/components/solution-item-details/solution-item-details.d.ts +2 -1
- package/package.json +1 -1
- package/dist/cjs/solution-store-e2fc11ac.js.map +0 -1
- package/dist/components/ExpandToggle.js +0 -112
- package/dist/components/ExpandToggle.js.map +0 -1
- package/dist/components/Heading.js +0 -24
- package/dist/components/Heading.js.map +0 -1
- package/dist/components/_commonjsHelpers.js +0 -24
- package/dist/components/_commonjsHelpers.js.map +0 -1
- package/dist/components/action-bar.js +0 -278
- package/dist/components/action-bar.js.map +0 -1
- package/dist/components/action-group.js +0 -151
- package/dist/components/action-group.js.map +0 -1
- package/dist/components/action-menu.js +0 -358
- package/dist/components/action-menu.js.map +0 -1
- package/dist/components/action.js +0 -216
- package/dist/components/action.js.map +0 -1
- package/dist/components/array.js +0 -17
- package/dist/components/array.js.map +0 -1
- package/dist/components/buffer-tools.d.ts +0 -11
- package/dist/components/buffer-tools.js +0 -13
- package/dist/components/buffer-tools.js.map +0 -1
- package/dist/components/buffer-tools2.js +0 -256
- package/dist/components/buffer-tools2.js.map +0 -1
- package/dist/components/button.js +0 -265
- package/dist/components/button.js.map +0 -1
- package/dist/components/calcite-accordion-item.js +0 -246
- package/dist/components/calcite-accordion-item.js.map +0 -1
- package/dist/components/calcite-accordion.js +0 -182
- package/dist/components/calcite-accordion.js.map +0 -1
- package/dist/components/calcite-action-bar.js +0 -13
- package/dist/components/calcite-action-bar.js.map +0 -1
- package/dist/components/calcite-action-group.js +0 -13
- package/dist/components/calcite-action-group.js.map +0 -1
- package/dist/components/calcite-action-menu.js +0 -13
- package/dist/components/calcite-action-menu.js.map +0 -1
- package/dist/components/calcite-action-pad.js +0 -199
- package/dist/components/calcite-action-pad.js.map +0 -1
- package/dist/components/calcite-action.js +0 -13
- package/dist/components/calcite-action.js.map +0 -1
- package/dist/components/calcite-alert.js +0 -299
- package/dist/components/calcite-alert.js.map +0 -1
- package/dist/components/calcite-avatar.js +0 -184
- package/dist/components/calcite-avatar.js.map +0 -1
- package/dist/components/calcite-block-section.js +0 -157
- package/dist/components/calcite-block-section.js.map +0 -1
- package/dist/components/calcite-block.js +0 -277
- package/dist/components/calcite-block.js.map +0 -1
- package/dist/components/calcite-button.js +0 -13
- package/dist/components/calcite-button.js.map +0 -1
- package/dist/components/calcite-card.js +0 -189
- package/dist/components/calcite-card.js.map +0 -1
- package/dist/components/calcite-checkbox.js +0 -13
- package/dist/components/calcite-checkbox.js.map +0 -1
- package/dist/components/calcite-chip.js +0 -13
- package/dist/components/calcite-chip.js.map +0 -1
- package/dist/components/calcite-color-picker-hex-input.js +0 -13
- package/dist/components/calcite-color-picker-hex-input.js.map +0 -1
- package/dist/components/calcite-color-picker-swatch.js +0 -13
- package/dist/components/calcite-color-picker-swatch.js.map +0 -1
- package/dist/components/calcite-color-picker.js +0 -1038
- package/dist/components/calcite-color-picker.js.map +0 -1
- package/dist/components/calcite-combobox-item-group.js +0 -77
- package/dist/components/calcite-combobox-item-group.js.map +0 -1
- package/dist/components/calcite-combobox-item.js +0 -13
- package/dist/components/calcite-combobox-item.js.map +0 -1
- package/dist/components/calcite-combobox.js +0 -13
- package/dist/components/calcite-combobox.js.map +0 -1
- package/dist/components/calcite-date-picker-day.js +0 -13
- package/dist/components/calcite-date-picker-day.js.map +0 -1
- package/dist/components/calcite-date-picker-month-header.js +0 -13
- package/dist/components/calcite-date-picker-month-header.js.map +0 -1
- package/dist/components/calcite-date-picker-month.js +0 -13
- package/dist/components/calcite-date-picker-month.js.map +0 -1
- package/dist/components/calcite-date-picker.js +0 -13
- package/dist/components/calcite-date-picker.js.map +0 -1
- package/dist/components/calcite-dropdown-group.js +0 -101
- package/dist/components/calcite-dropdown-group.js.map +0 -1
- package/dist/components/calcite-dropdown-item.js +0 -237
- package/dist/components/calcite-dropdown-item.js.map +0 -1
- package/dist/components/calcite-dropdown.js +0 -13
- package/dist/components/calcite-dropdown.js.map +0 -1
- package/dist/components/calcite-fab.js +0 -146
- package/dist/components/calcite-fab.js.map +0 -1
- package/dist/components/calcite-filter.js +0 -197
- package/dist/components/calcite-filter.js.map +0 -1
- package/dist/components/calcite-flow-item.js +0 -245
- package/dist/components/calcite-flow-item.js.map +0 -1
- package/dist/components/calcite-flow.js +0 -149
- package/dist/components/calcite-flow.js.map +0 -1
- package/dist/components/calcite-graph.js +0 -13
- package/dist/components/calcite-graph.js.map +0 -1
- package/dist/components/calcite-handle.js +0 -13
- package/dist/components/calcite-handle.js.map +0 -1
- package/dist/components/calcite-icon.js +0 -13
- package/dist/components/calcite-icon.js.map +0 -1
- package/dist/components/calcite-inline-editable.js +0 -296
- package/dist/components/calcite-inline-editable.js.map +0 -1
- package/dist/components/calcite-input-date-picker.js +0 -715
- package/dist/components/calcite-input-date-picker.js.map +0 -1
- package/dist/components/calcite-input-message.js +0 -13
- package/dist/components/calcite-input-message.js.map +0 -1
- package/dist/components/calcite-input-number.js +0 -639
- package/dist/components/calcite-input-number.js.map +0 -1
- package/dist/components/calcite-input-text.js +0 -402
- package/dist/components/calcite-input-text.js.map +0 -1
- package/dist/components/calcite-input-time-picker.js +0 -436
- package/dist/components/calcite-input-time-picker.js.map +0 -1
- package/dist/components/calcite-input.js +0 -13
- package/dist/components/calcite-input.js.map +0 -1
- package/dist/components/calcite-label.js +0 -13
- package/dist/components/calcite-label.js.map +0 -1
- package/dist/components/calcite-link.js +0 -13
- package/dist/components/calcite-link.js.map +0 -1
- package/dist/components/calcite-list-item-group.js +0 -67
- package/dist/components/calcite-list-item-group.js.map +0 -1
- package/dist/components/calcite-list-item.js +0 -13
- package/dist/components/calcite-list-item.js.map +0 -1
- package/dist/components/calcite-list.js +0 -13
- package/dist/components/calcite-list.js.map +0 -1
- package/dist/components/calcite-loader.js +0 -13
- package/dist/components/calcite-loader.js.map +0 -1
- package/dist/components/calcite-modal.js +0 -500
- package/dist/components/calcite-modal.js.map +0 -1
- package/dist/components/calcite-notice.js +0 -13
- package/dist/components/calcite-notice.js.map +0 -1
- package/dist/components/calcite-option-group.js +0 -66
- package/dist/components/calcite-option-group.js.map +0 -1
- package/dist/components/calcite-option.js +0 -13
- package/dist/components/calcite-option.js.map +0 -1
- package/dist/components/calcite-pagination.js +0 -260
- package/dist/components/calcite-pagination.js.map +0 -1
- package/dist/components/calcite-panel.js +0 -13
- package/dist/components/calcite-panel.js.map +0 -1
- package/dist/components/calcite-pick-list-group.js +0 -76
- package/dist/components/calcite-pick-list-group.js.map +0 -1
- package/dist/components/calcite-pick-list-item.js +0 -13
- package/dist/components/calcite-pick-list-item.js.map +0 -1
- package/dist/components/calcite-pick-list.js +0 -175
- package/dist/components/calcite-pick-list.js.map +0 -1
- package/dist/components/calcite-popover-manager.js +0 -96
- package/dist/components/calcite-popover-manager.js.map +0 -1
- package/dist/components/calcite-popover.js +0 -13
- package/dist/components/calcite-popover.js.map +0 -1
- package/dist/components/calcite-progress.js +0 -13
- package/dist/components/calcite-progress.js.map +0 -1
- package/dist/components/calcite-radio-button-group.js +0 -134
- package/dist/components/calcite-radio-button-group.js.map +0 -1
- package/dist/components/calcite-radio-button.js +0 -312
- package/dist/components/calcite-radio-button.js.map +0 -1
- package/dist/components/calcite-radio-group-item.js +0 -13
- package/dist/components/calcite-radio-group-item.js.map +0 -1
- package/dist/components/calcite-radio-group.js +0 -13
- package/dist/components/calcite-radio-group.js.map +0 -1
- package/dist/components/calcite-rating.js +0 -203
- package/dist/components/calcite-rating.js.map +0 -1
- package/dist/components/calcite-scrim.js +0 -13
- package/dist/components/calcite-scrim.js.map +0 -1
- package/dist/components/calcite-select.js +0 -13
- package/dist/components/calcite-select.js.map +0 -1
- package/dist/components/calcite-shell-center-row.js +0 -102
- package/dist/components/calcite-shell-center-row.js.map +0 -1
- package/dist/components/calcite-shell-panel.js +0 -13
- package/dist/components/calcite-shell-panel.js.map +0 -1
- package/dist/components/calcite-shell.js +0 -13
- package/dist/components/calcite-shell.js.map +0 -1
- package/dist/components/calcite-slider.js +0 -13
- package/dist/components/calcite-slider.js.map +0 -1
- package/dist/components/calcite-sortable-list.js +0 -204
- package/dist/components/calcite-sortable-list.js.map +0 -1
- package/dist/components/calcite-split-button.js +0 -170
- package/dist/components/calcite-split-button.js.map +0 -1
- package/dist/components/calcite-stepper-item.js +0 -273
- package/dist/components/calcite-stepper-item.js.map +0 -1
- package/dist/components/calcite-stepper.js +0 -258
- package/dist/components/calcite-stepper.js.map +0 -1
- package/dist/components/calcite-switch.js +0 -13
- package/dist/components/calcite-switch.js.map +0 -1
- package/dist/components/calcite-tab-nav.js +0 -13
- package/dist/components/calcite-tab-nav.js.map +0 -1
- package/dist/components/calcite-tab-title.js +0 -13
- package/dist/components/calcite-tab-title.js.map +0 -1
- package/dist/components/calcite-tab.js +0 -13
- package/dist/components/calcite-tab.js.map +0 -1
- package/dist/components/calcite-tabs.js +0 -13
- package/dist/components/calcite-tabs.js.map +0 -1
- package/dist/components/calcite-tile-select-group.js +0 -67
- package/dist/components/calcite-tile-select-group.js.map +0 -1
- package/dist/components/calcite-tile-select.js +0 -268
- package/dist/components/calcite-tile-select.js.map +0 -1
- package/dist/components/calcite-tile.js +0 -13
- package/dist/components/calcite-tile.js.map +0 -1
- package/dist/components/calcite-time-picker.js +0 -13
- package/dist/components/calcite-time-picker.js.map +0 -1
- package/dist/components/calcite-tip-group.js +0 -43
- package/dist/components/calcite-tip-group.js.map +0 -1
- package/dist/components/calcite-tip-manager.js +0 -225
- package/dist/components/calcite-tip-manager.js.map +0 -1
- package/dist/components/calcite-tip.js +0 -164
- package/dist/components/calcite-tip.js.map +0 -1
- package/dist/components/calcite-tooltip-manager.js +0 -59
- package/dist/components/calcite-tooltip-manager.js.map +0 -1
- package/dist/components/calcite-tooltip.js +0 -13
- package/dist/components/calcite-tooltip.js.map +0 -1
- package/dist/components/calcite-tree-item.js +0 -13
- package/dist/components/calcite-tree-item.js.map +0 -1
- package/dist/components/calcite-tree.js +0 -13
- package/dist/components/calcite-tree.js.map +0 -1
- package/dist/components/calcite-value-list-item.js +0 -13
- package/dist/components/calcite-value-list-item.js.map +0 -1
- package/dist/components/calcite-value-list.js +0 -13
- package/dist/components/calcite-value-list.js.map +0 -1
- package/dist/components/check-list.d.ts +0 -11
- package/dist/components/check-list.js +0 -13
- package/dist/components/check-list.js.map +0 -1
- package/dist/components/check-list2.js +0 -128
- package/dist/components/check-list2.js.map +0 -1
- package/dist/components/checkbox.js +0 -167
- package/dist/components/checkbox.js.map +0 -1
- package/dist/components/chip.js +0 -172
- package/dist/components/chip.js.map +0 -1
- package/dist/components/color-picker-hex-input.js +0 -365
- package/dist/components/color-picker-hex-input.js.map +0 -1
- package/dist/components/color-picker-swatch.js +0 -2036
- package/dist/components/color-picker-swatch.js.map +0 -1
- package/dist/components/combobox-item.js +0 -184
- package/dist/components/combobox-item.js.map +0 -1
- package/dist/components/combobox.js +0 -914
- package/dist/components/combobox.js.map +0 -1
- package/dist/components/conditionalSlot.js +0 -52
- package/dist/components/conditionalSlot.js.map +0 -1
- package/dist/components/config-buffer-tools.d.ts +0 -11
- package/dist/components/config-buffer-tools.js +0 -185
- package/dist/components/config-buffer-tools.js.map +0 -1
- package/dist/components/config-draw-tools.d.ts +0 -11
- package/dist/components/config-draw-tools.js +0 -124
- package/dist/components/config-draw-tools.js.map +0 -1
- package/dist/components/config-layer-picker.d.ts +0 -11
- package/dist/components/config-layer-picker.js +0 -148
- package/dist/components/config-layer-picker.js.map +0 -1
- package/dist/components/config-pdf-download.d.ts +0 -11
- package/dist/components/config-pdf-download.js +0 -157
- package/dist/components/config-pdf-download.js.map +0 -1
- package/dist/components/date-picker-day.js +0 -113
- package/dist/components/date-picker-day.js.map +0 -1
- package/dist/components/date-picker-month-header.js +0 -226
- package/dist/components/date-picker-month-header.js.map +0 -1
- package/dist/components/date-picker-month.js +0 -346
- package/dist/components/date-picker-month.js.map +0 -1
- package/dist/components/date-picker.js +0 -577
- package/dist/components/date-picker.js.map +0 -1
- package/dist/components/date.js +0 -182
- package/dist/components/date.js.map +0 -1
- package/dist/components/debounce.js +0 -489
- package/dist/components/debounce.js.map +0 -1
- package/dist/components/dom.js +0 -233
- package/dist/components/dom.js.map +0 -1
- package/dist/components/dropdown.js +0 -507
- package/dist/components/dropdown.js.map +0 -1
- package/dist/components/filter.js +0 -765
- package/dist/components/filter.js.map +0 -1
- package/dist/components/floating-ui.js +0 -1787
- package/dist/components/floating-ui.js.map +0 -1
- package/dist/components/form.js +0 -230
- package/dist/components/form.js.map +0 -1
- package/dist/components/graph.js +0 -256
- package/dist/components/graph.js.map +0 -1
- package/dist/components/guid.js +0 -26
- package/dist/components/guid.js.map +0 -1
- package/dist/components/handle.js +0 -121
- package/dist/components/handle.js.map +0 -1
- package/dist/components/icon.js +0 -204
- package/dist/components/icon.js.map +0 -1
- package/dist/components/index.d.ts +0 -48
- package/dist/components/index.js +0 -190
- package/dist/components/index.js.map +0 -1
- package/dist/components/index2.js +0 -201
- package/dist/components/index2.js.map +0 -1
- package/dist/components/input-message.js +0 -103
- package/dist/components/input-message.js.map +0 -1
- package/dist/components/input.js +0 -742
- package/dist/components/input.js.map +0 -1
- package/dist/components/interactive.js +0 -53
- package/dist/components/interactive.js.map +0 -1
- package/dist/components/interfaces.js +0 -21
- package/dist/components/interfaces.js.map +0 -1
- package/dist/components/interfaces2.js +0 -23
- package/dist/components/interfaces2.js.map +0 -1
- package/dist/components/interfaces3.js +0 -72
- package/dist/components/interfaces3.js.map +0 -1
- package/dist/components/json-editor.d.ts +0 -11
- package/dist/components/json-editor.js +0 -13
- package/dist/components/json-editor.js.map +0 -1
- package/dist/components/json-editor2.js +0 -443
- package/dist/components/json-editor2.js.map +0 -1
- package/dist/components/key.js +0 -18
- package/dist/components/key.js.map +0 -1
- package/dist/components/label.js +0 -108
- package/dist/components/label.js.map +0 -1
- package/dist/components/label2.js +0 -133
- package/dist/components/label2.js.map +0 -1
- package/dist/components/labelFormats.js +0 -212
- package/dist/components/labelFormats.js.map +0 -1
- package/dist/components/link.js +0 -125
- package/dist/components/link.js.map +0 -1
- package/dist/components/list-item.js +0 -151
- package/dist/components/list-item.js.map +0 -1
- package/dist/components/list.js +0 -85
- package/dist/components/list.js.map +0 -1
- package/dist/components/loadModules.js +0 -30
- package/dist/components/loadModules.js.map +0 -1
- package/dist/components/loader.js +0 -118
- package/dist/components/loader.js.map +0 -1
- package/dist/components/locale.js +0 -414
- package/dist/components/locale.js.map +0 -1
- package/dist/components/locale2.js +0 -415
- package/dist/components/locale2.js.map +0 -1
- package/dist/components/map-draw-tools.d.ts +0 -11
- package/dist/components/map-draw-tools.js +0 -13
- package/dist/components/map-draw-tools.js.map +0 -1
- package/dist/components/map-draw-tools2.js +0 -230
- package/dist/components/map-draw-tools2.js.map +0 -1
- package/dist/components/map-layer-picker.d.ts +0 -11
- package/dist/components/map-layer-picker.js +0 -13
- package/dist/components/map-layer-picker.js.map +0 -1
- package/dist/components/map-layer-picker2.js +0 -190
- package/dist/components/map-layer-picker2.js.map +0 -1
- package/dist/components/map-search.d.ts +0 -11
- package/dist/components/map-search.js +0 -157
- package/dist/components/map-search.js.map +0 -1
- package/dist/components/map-select-tools.d.ts +0 -11
- package/dist/components/map-select-tools.js +0 -13
- package/dist/components/map-select-tools.js.map +0 -1
- package/dist/components/map-select-tools2.js +0 -555
- package/dist/components/map-select-tools2.js.map +0 -1
- package/dist/components/mapViewUtils.js +0 -131
- package/dist/components/mapViewUtils.js.map +0 -1
- package/dist/components/math.js +0 -26
- package/dist/components/math.js.map +0 -1
- package/dist/components/nonChromiumPlatformUtils.js +0 -505
- package/dist/components/nonChromiumPlatformUtils.js.map +0 -1
- package/dist/components/notice.js +0 -194
- package/dist/components/notice.js.map +0 -1
- package/dist/components/observers.js +0 -58
- package/dist/components/observers.js.map +0 -1
- package/dist/components/openCloseComponent.js +0 -58
- package/dist/components/openCloseComponent.js.map +0 -1
- package/dist/components/option.js +0 -111
- package/dist/components/option.js.map +0 -1
- package/dist/components/panel.js +0 -461
- package/dist/components/panel.js.map +0 -1
- package/dist/components/pdf-download.d.ts +0 -11
- package/dist/components/pdf-download.js +0 -13
- package/dist/components/pdf-download.js.map +0 -1
- package/dist/components/pdf-download2.js +0 -243
- package/dist/components/pdf-download2.js.map +0 -1
- package/dist/components/pick-list-item.js +0 -257
- package/dist/components/pick-list-item.js.map +0 -1
- package/dist/components/popover.js +0 -502
- package/dist/components/popover.js.map +0 -1
- package/dist/components/progress.js +0 -62
- package/dist/components/progress.js.map +0 -1
- package/dist/components/public-notification.d.ts +0 -11
- package/dist/components/public-notification.js +0 -784
- package/dist/components/public-notification.js.map +0 -1
- package/dist/components/publicNotificationStore.js +0 -40
- package/dist/components/publicNotificationStore.js.map +0 -1
- package/dist/components/queryUtils.js +0 -163
- package/dist/components/queryUtils.js.map +0 -1
- package/dist/components/radio-group-item.js +0 -103
- package/dist/components/radio-group-item.js.map +0 -1
- package/dist/components/radio-group.js +0 -237
- package/dist/components/radio-group.js.map +0 -1
- package/dist/components/refine-selection-tools.d.ts +0 -11
- package/dist/components/refine-selection-tools.js +0 -13
- package/dist/components/refine-selection-tools.js.map +0 -1
- package/dist/components/refine-selection-tools2.js +0 -500
- package/dist/components/refine-selection-tools2.js.map +0 -1
- package/dist/components/refine-selection.d.ts +0 -11
- package/dist/components/refine-selection.js +0 -13
- package/dist/components/refine-selection.js.map +0 -1
- package/dist/components/refine-selection2.js +0 -369
- package/dist/components/refine-selection2.js.map +0 -1
- package/dist/components/resources.js +0 -26
- package/dist/components/resources.js.map +0 -1
- package/dist/components/resources2.js +0 -23
- package/dist/components/resources2.js.map +0 -1
- package/dist/components/resources3.js +0 -40
- package/dist/components/resources3.js.map +0 -1
- package/dist/components/scrim.js +0 -85
- package/dist/components/scrim.js.map +0 -1
- package/dist/components/select.js +0 -261
- package/dist/components/select.js.map +0 -1
- package/dist/components/shared-list-render.js +0 -321
- package/dist/components/shared-list-render.js.map +0 -1
- package/dist/components/shell-panel.js +0 -283
- package/dist/components/shell-panel.js.map +0 -1
- package/dist/components/shell.js +0 -123
- package/dist/components/shell.js.map +0 -1
- package/dist/components/slider.js +0 -898
- package/dist/components/slider.js.map +0 -1
- package/dist/components/solution-configuration.d.ts +0 -11
- package/dist/components/solution-configuration.js +0 -2225
- package/dist/components/solution-configuration.js.map +0 -1
- package/dist/components/solution-contents.d.ts +0 -11
- package/dist/components/solution-contents.js +0 -13
- package/dist/components/solution-contents.js.map +0 -1
- package/dist/components/solution-contents2.js +0 -130
- package/dist/components/solution-contents2.js.map +0 -1
- package/dist/components/solution-item-details.d.ts +0 -11
- package/dist/components/solution-item-details.js +0 -13
- package/dist/components/solution-item-details.js.map +0 -1
- package/dist/components/solution-item-details2.js +0 -236
- package/dist/components/solution-item-details2.js.map +0 -1
- package/dist/components/solution-item-icon.d.ts +0 -11
- package/dist/components/solution-item-icon.js +0 -13
- package/dist/components/solution-item-icon.js.map +0 -1
- package/dist/components/solution-item-icon2.js +0 -344
- package/dist/components/solution-item-icon2.js.map +0 -1
- package/dist/components/solution-item-sharing.d.ts +0 -11
- package/dist/components/solution-item-sharing.js +0 -13
- package/dist/components/solution-item-sharing.js.map +0 -1
- package/dist/components/solution-item-sharing2.js +0 -169
- package/dist/components/solution-item-sharing2.js.map +0 -1
- package/dist/components/solution-item.d.ts +0 -11
- package/dist/components/solution-item.js +0 -13
- package/dist/components/solution-item.js.map +0 -1
- package/dist/components/solution-item2.js +0 -317
- package/dist/components/solution-item2.js.map +0 -1
- package/dist/components/solution-organization-variables.d.ts +0 -11
- package/dist/components/solution-organization-variables.js +0 -13
- package/dist/components/solution-organization-variables.js.map +0 -1
- package/dist/components/solution-organization-variables2.js +0 -134
- package/dist/components/solution-organization-variables2.js.map +0 -1
- package/dist/components/solution-resource-item.d.ts +0 -11
- package/dist/components/solution-resource-item.js +0 -13
- package/dist/components/solution-resource-item.js.map +0 -1
- package/dist/components/solution-resource-item2.js +0 -358
- package/dist/components/solution-resource-item2.js.map +0 -1
- package/dist/components/solution-spatial-ref.d.ts +0 -11
- package/dist/components/solution-spatial-ref.js +0 -13
- package/dist/components/solution-spatial-ref.js.map +0 -1
- package/dist/components/solution-spatial-ref2.js +0 -21448
- package/dist/components/solution-spatial-ref2.js.map +0 -1
- package/dist/components/solution-store.js +0 -4094
- package/dist/components/solution-store.js.map +0 -1
- package/dist/components/solution-template-data.d.ts +0 -11
- package/dist/components/solution-template-data.js +0 -13
- package/dist/components/solution-template-data.js.map +0 -1
- package/dist/components/solution-template-data2.js +0 -235
- package/dist/components/solution-template-data2.js.map +0 -1
- package/dist/components/solution-variables.d.ts +0 -11
- package/dist/components/solution-variables.js +0 -13
- package/dist/components/solution-variables.js.map +0 -1
- package/dist/components/solution-variables2.js +0 -152
- package/dist/components/solution-variables2.js.map +0 -1
- package/dist/components/sortable.esm.js +0 -3028
- package/dist/components/sortable.esm.js.map +0 -1
- package/dist/components/store-manager.d.ts +0 -11
- package/dist/components/store-manager.js +0 -85
- package/dist/components/store-manager.js.map +0 -1
- package/dist/components/switch.js +0 -141
- package/dist/components/switch.js.map +0 -1
- package/dist/components/tab-nav.js +0 -243
- package/dist/components/tab-nav.js.map +0 -1
- package/dist/components/tab-title.js +0 -278
- package/dist/components/tab-title.js.map +0 -1
- package/dist/components/tab.js +0 -156
- package/dist/components/tab.js.map +0 -1
- package/dist/components/tabs.js +0 -190
- package/dist/components/tabs.js.map +0 -1
- package/dist/components/tile.js +0 -131
- package/dist/components/tile.js.map +0 -1
- package/dist/components/time-picker.js +0 -945
- package/dist/components/time-picker.js.map +0 -1
- package/dist/components/tooltip.js +0 -401
- package/dist/components/tooltip.js.map +0 -1
- package/dist/components/tree-item.js +0 -296
- package/dist/components/tree-item.js.map +0 -1
- package/dist/components/tree.js +0 -329
- package/dist/components/tree.js.map +0 -1
- package/dist/components/utils.js +0 -121
- package/dist/components/utils.js.map +0 -1
- package/dist/components/utils2.js +0 -53
- package/dist/components/utils2.js.map +0 -1
- package/dist/components/value-list-item.js +0 -206
- package/dist/components/value-list-item.js.map +0 -1
- package/dist/components/value-list.js +0 -335
- package/dist/components/value-list.js.map +0 -1
- package/dist/esm/solution-store-b3c65467.js.map +0 -1
- package/dist/solutions-components/p-542189bc.entry.js.map +0 -1
- package/dist/solutions-components/p-638738f2.entry.js.map +0 -1
- package/dist/solutions-components/p-7e8985f2.entry.js.map +0 -1
- package/dist/solutions-components/p-b25f6ebe.js.map +0 -1
|
@@ -1,500 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright 2022 Esri
|
|
3
|
-
* Licensed under the Apache License, Version 2.0
|
|
4
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
7
|
-
import { e as ESelectionType, d as ERefineMode, c as ESelectionMode } from './interfaces3.js';
|
|
8
|
-
import { b as getMapLayerView, h as highlightFeatures } from './mapViewUtils.js';
|
|
9
|
-
import { c as queryFeaturesByGeometry } from './queryUtils.js';
|
|
10
|
-
import { s as state } from './publicNotificationStore.js';
|
|
11
|
-
import { l as loadModules } from './loadModules.js';
|
|
12
|
-
import { g as getLocaleComponentStrings } from './locale.js';
|
|
13
|
-
import { d as defineCustomElement$a } from './action.js';
|
|
14
|
-
import { d as defineCustomElement$9 } from './chip.js';
|
|
15
|
-
import { d as defineCustomElement$8 } from './combobox.js';
|
|
16
|
-
import { d as defineCustomElement$7 } from './combobox-item.js';
|
|
17
|
-
import { d as defineCustomElement$6 } from './icon.js';
|
|
18
|
-
import { d as defineCustomElement$5 } from './label.js';
|
|
19
|
-
import { d as defineCustomElement$4 } from './loader.js';
|
|
20
|
-
import { d as defineCustomElement$3 } from './option.js';
|
|
21
|
-
import { d as defineCustomElement$2 } from './select.js';
|
|
22
|
-
import { d as defineCustomElement$1 } from './map-layer-picker2.js';
|
|
23
|
-
|
|
24
|
-
const refineSelectionToolsCss = ":host{display:block}.div-visible{display:inherit}.div-not-visible{display:none !important}.padding-top-1-2{padding-top:.5rem}.main-label{display:flex;float:left}html[dir=\"rtl\"] .main-label{display:flex;float:right}.border{outline:1px solid var(--calcite-ui-border-input)}.margin-top-1{margin-top:1rem}.esri-sketch{display:flex;flex-flow:column wrap}.esri-widget{box-sizing:border-box;color:#323232;font-size:14px;font-family:\"Avenir Next\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:1.3em;background-color:#fff}.esri-sketch__panel{align-items:center;display:flex;flex-flow:row nowrap;padding:0}*/ .esri-sketch__tool-section{border-right:1px solid rgba(110,110,110,.3)}.esri-sketch__section{align-items:center;display:flex;flex-flow:row nowrap;padding:0 7px;margin:6px 0;border-right:1px solid rgba(110,110,110,.3)}";
|
|
25
|
-
|
|
26
|
-
const RefineSelectionTools = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
27
|
-
constructor() {
|
|
28
|
-
super();
|
|
29
|
-
this.__registerHost();
|
|
30
|
-
this.__attachShadow();
|
|
31
|
-
this.refineSelectionGraphicsChange = createEvent(this, "refineSelectionGraphicsChange", 7);
|
|
32
|
-
this.refineSelectionIdsChange = createEvent(this, "refineSelectionIdsChange", 7);
|
|
33
|
-
/**
|
|
34
|
-
* {<layer title>: Graphic[]}: Collection of graphics returned from queries to the layer
|
|
35
|
-
*/
|
|
36
|
-
this._featuresCollection = {};
|
|
37
|
-
/**
|
|
38
|
-
* IRefineOperation[]: Array to maintain the possible redo operations
|
|
39
|
-
*/
|
|
40
|
-
this._redoStack = [];
|
|
41
|
-
/**
|
|
42
|
-
* IRefineOperation[]: Array to maintain the possible undo operations
|
|
43
|
-
*/
|
|
44
|
-
this._undoStack = [];
|
|
45
|
-
this.active = false;
|
|
46
|
-
this.border = false;
|
|
47
|
-
this.graphics = undefined;
|
|
48
|
-
this.ids = [];
|
|
49
|
-
this.layerView = undefined;
|
|
50
|
-
this.layerViews = [];
|
|
51
|
-
this.mapView = undefined;
|
|
52
|
-
this.mode = undefined;
|
|
53
|
-
this.refineMode = undefined;
|
|
54
|
-
this.useLayerPicker = true;
|
|
55
|
-
this._selectEnabled = false;
|
|
56
|
-
this._selectionMode = undefined;
|
|
57
|
-
this._translations = undefined;
|
|
58
|
-
}
|
|
59
|
-
//--------------------------------------------------------------------------
|
|
60
|
-
//
|
|
61
|
-
// Watch handlers
|
|
62
|
-
//
|
|
63
|
-
//--------------------------------------------------------------------------
|
|
64
|
-
/**
|
|
65
|
-
* Called each time the ids prop is changed.
|
|
66
|
-
* Highlight the features based on the provided ids
|
|
67
|
-
*/
|
|
68
|
-
idsWatchHandler(v, oldV) {
|
|
69
|
-
if (v && JSON.stringify(v) !== JSON.stringify(oldV)) {
|
|
70
|
-
void this._highlightFeatures(v);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
//--------------------------------------------------------------------------
|
|
74
|
-
//
|
|
75
|
-
// Methods (public)
|
|
76
|
-
//
|
|
77
|
-
//--------------------------------------------------------------------------
|
|
78
|
-
/**
|
|
79
|
-
* Reset the ids collection
|
|
80
|
-
*
|
|
81
|
-
* @returns Promise when complete
|
|
82
|
-
*/
|
|
83
|
-
async reset() {
|
|
84
|
-
this.ids = [];
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Clear current highlight handle
|
|
88
|
-
*
|
|
89
|
-
* @returns Promise when complete
|
|
90
|
-
*/
|
|
91
|
-
async clearHighlight() {
|
|
92
|
-
this._clearHighlight();
|
|
93
|
-
}
|
|
94
|
-
//--------------------------------------------------------------------------
|
|
95
|
-
//
|
|
96
|
-
// Functions (lifecycle)
|
|
97
|
-
//
|
|
98
|
-
//--------------------------------------------------------------------------
|
|
99
|
-
/**
|
|
100
|
-
* StencilJS: Called once just after the component is first connected to the DOM.
|
|
101
|
-
*/
|
|
102
|
-
async componentWillLoad() {
|
|
103
|
-
await this._getTranslations();
|
|
104
|
-
await this._initModules();
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
|
108
|
-
*/
|
|
109
|
-
componentDidLoad() {
|
|
110
|
-
this._init();
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* StencilJS: Called every time the component is disconnected from the DOM, ie,
|
|
114
|
-
* it can be dispatched more than once, DO not confuse with a "onDestroy" kind of event.
|
|
115
|
-
*/
|
|
116
|
-
disconnectedCallback() {
|
|
117
|
-
this.active = false;
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Called every time the component is connected to the DOM.
|
|
121
|
-
* When the component is first connected, this method is called before componentWillLoad.
|
|
122
|
-
*/
|
|
123
|
-
connectedCallback() {
|
|
124
|
-
this.active = true;
|
|
125
|
-
if (this.ids.length > 0) {
|
|
126
|
-
this._selectEnabled = true;
|
|
127
|
-
void this._highlightFeatures(this.ids);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Renders the component.
|
|
132
|
-
*/
|
|
133
|
-
render() {
|
|
134
|
-
const showLayerPickerClass = this.useLayerPicker ? "div-visible" : "div-not-visible";
|
|
135
|
-
const drawClass = this.border ? " border" : "";
|
|
136
|
-
return (h(Host, null, h("div", null, h("div", { class: "main-label " + showLayerPickerClass }, h("calcite-label", null, this._translations.selectLayers)), h("map-layer-picker", { class: showLayerPickerClass, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedLayers: this.layerViews.map(l => l.layer.title), selectionMode: "single" }), h("div", { class: "margin-top-1" + drawClass }, h("div", { class: "esri-sketch esri-widget" }, h("div", { class: "esri-sketch__panel" }, h("div", { class: "esri-sketch__tool-section esri-sketch__section" }, h("calcite-action", { disabled: !this._selectEnabled, icon: "select", onClick: () => this._setSelectionMode(ESelectionType.POINT), scale: "s", text: this._translations.select })), h("div", { class: "esri-sketch__tool-section esri-sketch__section" }, h("calcite-action", { disabled: !this._selectEnabled, icon: "line", onClick: () => this._setSelectionMode(ESelectionType.LINE), scale: "s", text: this._translations.selectLine }), h("calcite-action", { disabled: !this._selectEnabled, icon: "polygon", onClick: () => this._setSelectionMode(ESelectionType.POLY), scale: "s", text: this._translations.selectPolygon }), h("calcite-action", { disabled: !this._selectEnabled, icon: "rectangle", onClick: () => this._setSelectionMode(ESelectionType.RECT), scale: "s", text: this._translations.selectRectangle })), h("div", { class: "esri-sketch__tool-section esri-sketch__section" }, h("calcite-action", { disabled: this._undoStack.length === 0, icon: "undo", onClick: () => this._undo(), scale: "s", text: this._translations.undo }), h("calcite-action", { disabled: this._redoStack.length === 0, icon: "redo", onClick: () => this._redo(), scale: "s", text: this._translations.redo }))))))));
|
|
137
|
-
}
|
|
138
|
-
//--------------------------------------------------------------------------
|
|
139
|
-
//
|
|
140
|
-
// Functions (protected)
|
|
141
|
-
//
|
|
142
|
-
//--------------------------------------------------------------------------
|
|
143
|
-
/**
|
|
144
|
-
* Load esri javascript api modules
|
|
145
|
-
*
|
|
146
|
-
* @returns Promise resolving when function is done
|
|
147
|
-
*
|
|
148
|
-
* @protected
|
|
149
|
-
*/
|
|
150
|
-
async _initModules() {
|
|
151
|
-
const [GraphicsLayer, SketchViewModel] = await loadModules([
|
|
152
|
-
"esri/layers/GraphicsLayer",
|
|
153
|
-
"esri/widgets/Sketch/SketchViewModel"
|
|
154
|
-
]);
|
|
155
|
-
this.GraphicsLayer = GraphicsLayer;
|
|
156
|
-
this.SketchViewModel = SketchViewModel;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Initialize the graphics layer and skecth view model
|
|
160
|
-
*
|
|
161
|
-
* @returns Promise when the operation has completed
|
|
162
|
-
* @protected
|
|
163
|
-
*/
|
|
164
|
-
_init() {
|
|
165
|
-
this._initGraphicsLayer();
|
|
166
|
-
this._initSketchViewModel();
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Initialize the skecth view model
|
|
170
|
-
*
|
|
171
|
-
* @returns Promise when the operation has completed
|
|
172
|
-
* @protected
|
|
173
|
-
*/
|
|
174
|
-
_initSketchViewModel() {
|
|
175
|
-
this._sketchViewModel = new this.SketchViewModel({
|
|
176
|
-
layer: this._sketchGraphicsLayer,
|
|
177
|
-
defaultUpdateOptions: {
|
|
178
|
-
tool: "reshape",
|
|
179
|
-
toggleToolOnClick: false
|
|
180
|
-
},
|
|
181
|
-
view: this.mapView
|
|
182
|
-
});
|
|
183
|
-
this._sketchViewModel.on("create", (event) => {
|
|
184
|
-
if (event.state === "complete" && this.active) {
|
|
185
|
-
this._featuresCollection = {};
|
|
186
|
-
this._sketchGeometry = event.graphic.geometry;
|
|
187
|
-
void this._selectFeatures(this._sketchGeometry);
|
|
188
|
-
}
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Clear any skecth graphics
|
|
193
|
-
*
|
|
194
|
-
* @returns Promise when the operation has completed
|
|
195
|
-
* @protected
|
|
196
|
-
*/
|
|
197
|
-
_clear() {
|
|
198
|
-
this._sketchGeometry = null;
|
|
199
|
-
this._sketchViewModel.cancel();
|
|
200
|
-
this._sketchGraphicsLayer.removeAll();
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Initialize the graphics layer
|
|
204
|
-
*
|
|
205
|
-
* @returns Promise when the operation has completed
|
|
206
|
-
* @protected
|
|
207
|
-
*/
|
|
208
|
-
_initGraphicsLayer() {
|
|
209
|
-
const title = this._translations.sketchLayer;
|
|
210
|
-
const sketchIndex = this.mapView.map.layers.findIndex((l) => l.title === title);
|
|
211
|
-
if (sketchIndex > -1) {
|
|
212
|
-
this._sketchGraphicsLayer = this.mapView.map.layers.getItemAt(sketchIndex);
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
this._sketchGraphicsLayer = new this.GraphicsLayer({ title });
|
|
216
|
-
state.managedLayers.push(title);
|
|
217
|
-
this.mapView.map.layers.add(this._sketchGraphicsLayer);
|
|
218
|
-
}
|
|
219
|
-
if (this.graphics && this.graphics.length > 0) {
|
|
220
|
-
this._sketchGraphicsLayer.addMany(this.graphics);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Clear selection based on map click
|
|
225
|
-
*
|
|
226
|
-
* @protected
|
|
227
|
-
*/
|
|
228
|
-
_initHitTest() {
|
|
229
|
-
if (this._hitTestHandle) {
|
|
230
|
-
this._hitTestHandle.remove();
|
|
231
|
-
}
|
|
232
|
-
this._hitTestHandle = this.mapView.on("click", (event) => {
|
|
233
|
-
event.stopPropagation();
|
|
234
|
-
const opts = {
|
|
235
|
-
include: this.layerViews.map(lv => lv.layer)
|
|
236
|
-
};
|
|
237
|
-
void this.mapView.hitTest(event, opts).then((response) => {
|
|
238
|
-
let graphics = [];
|
|
239
|
-
if (response.results.length > 0) {
|
|
240
|
-
graphics = response.results.reduce((prev, cur) => {
|
|
241
|
-
const g = cur === null || cur === void 0 ? void 0 : cur.graphic;
|
|
242
|
-
if (g) {
|
|
243
|
-
prev.push(g);
|
|
244
|
-
}
|
|
245
|
-
return prev;
|
|
246
|
-
}, []);
|
|
247
|
-
}
|
|
248
|
-
this.refineSelectionGraphicsChange.emit(graphics);
|
|
249
|
-
this._clear();
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Gets the layer views from the map when the layer selection changes
|
|
255
|
-
*
|
|
256
|
-
* @returns Promise resolving when function is done
|
|
257
|
-
*
|
|
258
|
-
* @protected
|
|
259
|
-
*/
|
|
260
|
-
async _layerSelectionChange(evt) {
|
|
261
|
-
if (Array.isArray(evt.detail) && evt.detail.length > 0) {
|
|
262
|
-
this._selectEnabled = true;
|
|
263
|
-
const layerPromises = evt.detail.map(title => {
|
|
264
|
-
return getMapLayerView(this.mapView, title);
|
|
265
|
-
});
|
|
266
|
-
return Promise.all(layerPromises).then((layerViews) => {
|
|
267
|
-
this.layerViews = layerViews;
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
else {
|
|
271
|
-
this._selectEnabled = false;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* Store the current selection mode
|
|
276
|
-
*
|
|
277
|
-
* @protected
|
|
278
|
-
*/
|
|
279
|
-
_setSelectionMode(mode) {
|
|
280
|
-
this._selectionMode = mode;
|
|
281
|
-
if (this._hitTestHandle) {
|
|
282
|
-
this._hitTestHandle.remove();
|
|
283
|
-
}
|
|
284
|
-
switch (this._selectionMode) {
|
|
285
|
-
case ESelectionType.POINT:
|
|
286
|
-
this._sketchViewModel.create("point");
|
|
287
|
-
//this._initHitTest();
|
|
288
|
-
break;
|
|
289
|
-
case ESelectionType.LINE:
|
|
290
|
-
this._sketchViewModel.create("polyline");
|
|
291
|
-
break;
|
|
292
|
-
case ESelectionType.POLY:
|
|
293
|
-
this._sketchViewModel.create("polygon");
|
|
294
|
-
break;
|
|
295
|
-
case ESelectionType.RECT:
|
|
296
|
-
this._sketchViewModel.create("rectangle");
|
|
297
|
-
break;
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Select features based on the input geometry
|
|
302
|
-
*
|
|
303
|
-
* @param geom the geometry used for selection
|
|
304
|
-
*
|
|
305
|
-
* @returns Promise resolving when function is done
|
|
306
|
-
*
|
|
307
|
-
* @protected
|
|
308
|
-
*/
|
|
309
|
-
async _selectFeatures(geom) {
|
|
310
|
-
const queryFeaturePromises = this.layerViews.map(layerView => {
|
|
311
|
-
this._featuresCollection[layerView.layer.title] = [];
|
|
312
|
-
return queryFeaturesByGeometry(0, layerView.layer, geom, this._featuresCollection);
|
|
313
|
-
});
|
|
314
|
-
return Promise.all(queryFeaturePromises).then(async (response) => {
|
|
315
|
-
let graphics = [];
|
|
316
|
-
response.forEach(r => {
|
|
317
|
-
Object.keys(r).forEach(k => {
|
|
318
|
-
graphics = graphics.concat(r[k]);
|
|
319
|
-
});
|
|
320
|
-
});
|
|
321
|
-
if (this.refineMode === ERefineMode.SUBSET) {
|
|
322
|
-
this.refineSelectionGraphicsChange.emit(graphics);
|
|
323
|
-
}
|
|
324
|
-
else {
|
|
325
|
-
const oids = Array.isArray(graphics) ? graphics.map(g => { var _a; return g.attributes[(_a = g === null || g === void 0 ? void 0 : g.layer) === null || _a === void 0 ? void 0 : _a.objectIdField]; }) : [];
|
|
326
|
-
await this._updateIds(oids, this.mode, this._undoStack, this.mode);
|
|
327
|
-
}
|
|
328
|
-
this._clear();
|
|
329
|
-
});
|
|
330
|
-
}
|
|
331
|
-
/**
|
|
332
|
-
* Highlight any selected features in the map
|
|
333
|
-
*
|
|
334
|
-
* @returns Promise resolving when function is done
|
|
335
|
-
* @protected
|
|
336
|
-
*/
|
|
337
|
-
async _highlightFeatures(ids, updateExtent = false) {
|
|
338
|
-
this._clearHighlight();
|
|
339
|
-
if (ids.length > 0) {
|
|
340
|
-
state.highlightHandle = await highlightFeatures(ids, this.layerViews[0], this.mapView, updateExtent);
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
/**
|
|
344
|
-
* Clear any highlighted features in the map
|
|
345
|
-
*
|
|
346
|
-
* @protected
|
|
347
|
-
*/
|
|
348
|
-
_clearHighlight() {
|
|
349
|
-
var _a;
|
|
350
|
-
(_a = state.highlightHandle) === null || _a === void 0 ? void 0 : _a.remove();
|
|
351
|
-
}
|
|
352
|
-
/**
|
|
353
|
-
* Update the ids for any ADD or REMOVE operation and highlight the features.
|
|
354
|
-
*
|
|
355
|
-
* @param oids the ids to add or remove
|
|
356
|
-
* @param mode ADD or REMOVE this will control if the ids are added or removed
|
|
357
|
-
* @param operationStack the undo or redo stack to push the operation to
|
|
358
|
-
* @param operationMode ADD or REMOVE the mode of the individual refine operation
|
|
359
|
-
*
|
|
360
|
-
* @returns Promise resolving when function is done
|
|
361
|
-
*
|
|
362
|
-
* @protected
|
|
363
|
-
*/
|
|
364
|
-
async _updateIds(oids, mode, operationStack, operationMode) {
|
|
365
|
-
const idUpdates = { addIds: [], removeIds: [] };
|
|
366
|
-
if (mode === ESelectionMode.ADD) {
|
|
367
|
-
idUpdates.addIds = oids.filter(id => this.ids.indexOf(id) < 0);
|
|
368
|
-
this.ids = [...this.ids, ...idUpdates.addIds];
|
|
369
|
-
operationStack.push({ mode: operationMode, ids: idUpdates.addIds });
|
|
370
|
-
}
|
|
371
|
-
else {
|
|
372
|
-
idUpdates.removeIds = oids.filter(id => this.ids.indexOf(id) > -1);
|
|
373
|
-
this.ids = this.ids.filter(id => idUpdates.removeIds.indexOf(id) < 0);
|
|
374
|
-
operationStack.push({ mode: operationMode, ids: idUpdates.removeIds });
|
|
375
|
-
}
|
|
376
|
-
await this._highlightFeatures(this.ids).then(() => {
|
|
377
|
-
this.refineSelectionIdsChange.emit(idUpdates);
|
|
378
|
-
});
|
|
379
|
-
}
|
|
380
|
-
/**
|
|
381
|
-
* Undo the most current ADD or REMOVE operation
|
|
382
|
-
*
|
|
383
|
-
* @returns Promise resolving when function is done
|
|
384
|
-
*
|
|
385
|
-
* @protected
|
|
386
|
-
*/
|
|
387
|
-
async _undo() {
|
|
388
|
-
const undoOp = this._undoStack.pop();
|
|
389
|
-
return this._updateIds(undoOp.ids, undoOp.mode === ESelectionMode.ADD ? ESelectionMode.REMOVE : ESelectionMode.ADD, this._redoStack, undoOp.mode);
|
|
390
|
-
}
|
|
391
|
-
/**
|
|
392
|
-
* Redo the most current ADD or REMOVE operation
|
|
393
|
-
*
|
|
394
|
-
* @returns Promise resolving when function is done
|
|
395
|
-
*
|
|
396
|
-
* @protected
|
|
397
|
-
*/
|
|
398
|
-
async _redo() {
|
|
399
|
-
const redoOp = this._redoStack.pop();
|
|
400
|
-
return this._updateIds(redoOp.ids, redoOp.mode, this._undoStack, redoOp.mode);
|
|
401
|
-
}
|
|
402
|
-
/**
|
|
403
|
-
* Fetches the component's translations
|
|
404
|
-
*
|
|
405
|
-
* @protected
|
|
406
|
-
*/
|
|
407
|
-
async _getTranslations() {
|
|
408
|
-
const translations = await getLocaleComponentStrings(this.el);
|
|
409
|
-
this._translations = translations[0];
|
|
410
|
-
}
|
|
411
|
-
get el() { return this; }
|
|
412
|
-
static get watchers() { return {
|
|
413
|
-
"ids": ["idsWatchHandler"]
|
|
414
|
-
}; }
|
|
415
|
-
static get style() { return refineSelectionToolsCss; }
|
|
416
|
-
}, [1, "refine-selection-tools", {
|
|
417
|
-
"active": [4],
|
|
418
|
-
"border": [4],
|
|
419
|
-
"graphics": [1040],
|
|
420
|
-
"ids": [16],
|
|
421
|
-
"layerView": [16],
|
|
422
|
-
"layerViews": [16],
|
|
423
|
-
"mapView": [16],
|
|
424
|
-
"mode": [1],
|
|
425
|
-
"refineMode": [1, "refine-mode"],
|
|
426
|
-
"useLayerPicker": [4, "use-layer-picker"],
|
|
427
|
-
"_selectEnabled": [32],
|
|
428
|
-
"_selectionMode": [32],
|
|
429
|
-
"_translations": [32],
|
|
430
|
-
"reset": [64],
|
|
431
|
-
"clearHighlight": [64]
|
|
432
|
-
}]);
|
|
433
|
-
function defineCustomElement() {
|
|
434
|
-
if (typeof customElements === "undefined") {
|
|
435
|
-
return;
|
|
436
|
-
}
|
|
437
|
-
const components = ["refine-selection-tools", "calcite-action", "calcite-chip", "calcite-combobox", "calcite-combobox-item", "calcite-icon", "calcite-label", "calcite-loader", "calcite-option", "calcite-select", "map-layer-picker"];
|
|
438
|
-
components.forEach(tagName => { switch (tagName) {
|
|
439
|
-
case "refine-selection-tools":
|
|
440
|
-
if (!customElements.get(tagName)) {
|
|
441
|
-
customElements.define(tagName, RefineSelectionTools);
|
|
442
|
-
}
|
|
443
|
-
break;
|
|
444
|
-
case "calcite-action":
|
|
445
|
-
if (!customElements.get(tagName)) {
|
|
446
|
-
defineCustomElement$a();
|
|
447
|
-
}
|
|
448
|
-
break;
|
|
449
|
-
case "calcite-chip":
|
|
450
|
-
if (!customElements.get(tagName)) {
|
|
451
|
-
defineCustomElement$9();
|
|
452
|
-
}
|
|
453
|
-
break;
|
|
454
|
-
case "calcite-combobox":
|
|
455
|
-
if (!customElements.get(tagName)) {
|
|
456
|
-
defineCustomElement$8();
|
|
457
|
-
}
|
|
458
|
-
break;
|
|
459
|
-
case "calcite-combobox-item":
|
|
460
|
-
if (!customElements.get(tagName)) {
|
|
461
|
-
defineCustomElement$7();
|
|
462
|
-
}
|
|
463
|
-
break;
|
|
464
|
-
case "calcite-icon":
|
|
465
|
-
if (!customElements.get(tagName)) {
|
|
466
|
-
defineCustomElement$6();
|
|
467
|
-
}
|
|
468
|
-
break;
|
|
469
|
-
case "calcite-label":
|
|
470
|
-
if (!customElements.get(tagName)) {
|
|
471
|
-
defineCustomElement$5();
|
|
472
|
-
}
|
|
473
|
-
break;
|
|
474
|
-
case "calcite-loader":
|
|
475
|
-
if (!customElements.get(tagName)) {
|
|
476
|
-
defineCustomElement$4();
|
|
477
|
-
}
|
|
478
|
-
break;
|
|
479
|
-
case "calcite-option":
|
|
480
|
-
if (!customElements.get(tagName)) {
|
|
481
|
-
defineCustomElement$3();
|
|
482
|
-
}
|
|
483
|
-
break;
|
|
484
|
-
case "calcite-select":
|
|
485
|
-
if (!customElements.get(tagName)) {
|
|
486
|
-
defineCustomElement$2();
|
|
487
|
-
}
|
|
488
|
-
break;
|
|
489
|
-
case "map-layer-picker":
|
|
490
|
-
if (!customElements.get(tagName)) {
|
|
491
|
-
defineCustomElement$1();
|
|
492
|
-
}
|
|
493
|
-
break;
|
|
494
|
-
} });
|
|
495
|
-
}
|
|
496
|
-
defineCustomElement();
|
|
497
|
-
|
|
498
|
-
export { RefineSelectionTools as R, defineCustomElement as d };
|
|
499
|
-
|
|
500
|
-
//# sourceMappingURL=refine-selection-tools2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"refine-selection-tools2.js","mappings":"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","names":[],"sources":["./src/components/refine-selection-tools/refine-selection-tools.css?tag=refine-selection-tools&encapsulation=shadow","./src/components/refine-selection-tools/refine-selection-tools.tsx"],"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\n:host {\r\n display: block;\r\n}\r\n\r\n.div-visible {\r\n display: inherit;\r\n}\r\n\r\n.div-not-visible {\r\n display: none !important;\r\n}\r\n\r\n.padding-top-1-2 {\r\n padding-top: .5rem;\r\n}\r\n\r\n.main-label {\r\n display: flex;\r\n float: left;\r\n}\r\n\r\nhtml[dir=\"rtl\"] .main-label {\r\n display: flex;\r\n float: right;\r\n}\r\n\r\n.border {\r\n outline: 1px solid var(--calcite-ui-border-input);\r\n}\r\n\r\n.margin-top-1 {\r\n margin-top: 1rem;\r\n}\r\n\r\n/* COPY FROM JS */\r\n.esri-sketch {\r\n display: flex;\r\n flex-flow: column wrap;\r\n}\r\n\r\n.esri-widget {\r\n box-sizing: border-box;\r\n color: #323232;\r\n font-size: 14px;\r\n font-family: \"Avenir Next\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;\r\n line-height: 1.3em;\r\n background-color: #fff;\r\n}\r\n\r\n/* DIV CHILD */\r\n.esri-sketch__panel {\r\n align-items: center;\r\n display: flex;\r\n flex-flow: row nowrap;\r\n padding: 0;\r\n} */\r\n\r\n/* DIV CHILD CHILD */\r\n.esri-sketch__tool-section {\r\n border-right: 1px solid rgba(110,110,110,.3);\r\n}\r\n\r\n.esri-sketch__section {\r\n align-items: center;\r\n display: flex;\r\n flex-flow: row nowrap;\r\n padding: 0 7px;\r\n margin: 6px 0;\r\n border-right: 1px solid rgba(110,110,110,.3);\r\n}\r\n","/** @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"],"version":3}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Components, JSX } from "../types/components";
|
|
2
|
-
|
|
3
|
-
interface RefineSelection extends Components.RefineSelection, HTMLElement {}
|
|
4
|
-
export const RefineSelection: {
|
|
5
|
-
prototype: RefineSelection;
|
|
6
|
-
new (): RefineSelection;
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Used to define this component and all nested components recursively.
|
|
10
|
-
*/
|
|
11
|
-
export const defineCustomElement: () => void;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright 2022 Esri
|
|
3
|
-
* Licensed under the Apache License, Version 2.0
|
|
4
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { R as RefineSelection$1, d as defineCustomElement$1 } from './refine-selection2.js';
|
|
7
|
-
|
|
8
|
-
const RefineSelection = RefineSelection$1;
|
|
9
|
-
const defineCustomElement = defineCustomElement$1;
|
|
10
|
-
|
|
11
|
-
export { RefineSelection, defineCustomElement };
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=refine-selection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"refine-selection.js","mappings":";;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|