@esri/solutions-components 0.11.17 → 0.11.19
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/{asyncToGenerator-c7fc3ee4.js → asyncToGenerator-f169429a.js} +1 -1
- package/dist/cjs/basemap-gallery_7.cjs.entry.js +50 -259
- package/dist/cjs/buffer-tools_2.cjs.entry.js +29 -123
- package/dist/cjs/card-manager_3.cjs.entry.js +215 -565
- package/dist/cjs/consent-manager.cjs.entry.js +15 -57
- package/dist/cjs/create-feature_4.cjs.entry.js +102 -256
- package/dist/cjs/create-related-feature_3.cjs.entry.js +38 -172
- package/dist/cjs/crowdsource-manager.cjs.entry.js +89 -267
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +55 -219
- package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
- package/dist/cjs/delete-dialog.cjs.entry.js +9 -38
- package/dist/cjs/{downloadUtils-88ec0e88.js → downloadUtils-b269c7a1.js} +5 -5
- package/dist/cjs/{effects-3607d1ba.js → effects-2f75069e.js} +1 -1
- package/dist/cjs/feature-list.cjs.entry.js +30 -110
- package/dist/cjs/{helpers-a65cb83a.js → helpers-69e520bd.js} +3 -3
- package/dist/cjs/{index-2c21082d.js → index-af14245a.js} +346 -428
- package/dist/cjs/{index-90ef3c01.js → index-ffd12cb0.js} +1 -1
- package/dist/cjs/{index.es-3c2404c3.js → index.es-644259ff.js} +2 -2
- package/dist/cjs/instant-apps-app-guide.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-ckeditor-wrapper_3.cjs.entry.js +7 -7
- package/dist/cjs/instant-apps-control-panel.cjs.entry.js +3 -3
- package/dist/cjs/instant-apps-create.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-export-views.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-export.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-filter-list_2.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-header.cjs.entry.js +3 -3
- package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +6 -6
- package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +6 -6
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +6 -6
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +6 -6
- package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +8 -8
- package/dist/cjs/instant-apps-keyboard-shortcuts.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-landing-page.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +8 -8
- package/dist/cjs/instant-apps-language-translator.cjs.entry.js +8 -8
- package/dist/cjs/instant-apps-measurement-tool.cjs.entry.js +3 -3
- package/dist/cjs/instant-apps-measurement.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-popover.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-popovers.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-sign-in.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-splash.cjs.entry.js +5 -5
- package/dist/cjs/instant-apps-time-filter.cjs.entry.js +7 -7
- package/dist/cjs/json-editor_7.cjs.entry.js +50 -228
- package/dist/cjs/{languageSwitcher-19a22439.js → languageSwitcher-c8e62594.js} +1 -1
- package/dist/cjs/{languageUtil-a3e1eafd.js → languageUtil-bd49af69.js} +1 -1
- package/dist/cjs/{loadModules-e9d8977c.js → loadModules-3b29fa24.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{locale-c09e93fb.js → locale-905e6063.js} +2 -2
- package/dist/cjs/{locale-0a273172.js → locale-c923d7b6.js} +3 -3
- package/dist/cjs/map-layer-picker.cjs.entry.js +29 -114
- package/dist/cjs/map-select-tools_3.cjs.entry.js +53 -232
- package/dist/cjs/{mapViewUtils-319df9ec.js → mapViewUtils-4ea7216c.js} +0 -44
- package/dist/cjs/pci-calculator.cjs.entry.js +2 -15
- package/dist/cjs/{popupUtils-ca1127aa.js → popupUtils-5378e04a.js} +2 -2
- package/dist/cjs/public-notification.cjs.entry.js +47 -197
- package/dist/cjs/{publicNotificationStore-ee00411f.js → publicNotificationStore-beb782de.js} +1 -1
- package/dist/cjs/solution-configuration.cjs.entry.js +18 -53
- package/dist/cjs/solution-contents_3.cjs.entry.js +19 -85
- package/dist/cjs/solution-item-accordion.cjs.entry.js +15 -42
- package/dist/cjs/solution-item-icon.cjs.entry.js +4 -18
- package/dist/cjs/{solution-store-6208ce28.js → solution-store-3cf25b71.js} +1 -1
- package/dist/cjs/solutions-components.cjs.js +3 -3
- package/dist/cjs/spatial-ref.cjs.entry.js +11 -46
- package/dist/cjs/store-manager.cjs.entry.js +6 -21
- package/dist/cjs/{utils-30344ce0.js → utils-3739960f.js} +2 -2
- package/dist/collection/assets/t9n/crowdsource-manager/resources.json +4 -1
- package/dist/collection/assets/t9n/crowdsource-manager/resources_en.json +4 -1
- package/dist/collection/assets/t9n/solution-item-accordion/resources.json +1 -1
- package/dist/collection/assets/t9n/solution-item-accordion/resources_en.json +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/basemap-gallery/basemap-gallery.js +5 -19
- package/dist/collection/components/buffer-tools/buffer-tools.js +13 -52
- package/dist/collection/components/card-manager/card-manager.js +18 -72
- package/dist/collection/components/consent-manager/consent-manager.js +12 -52
- package/dist/collection/components/create-feature/create-feature.js +16 -68
- package/dist/collection/components/create-related-feature/create-related-feature.js +10 -44
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +23 -0
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +88 -263
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +53 -215
- package/dist/collection/components/delete-button/delete-button.js +13 -55
- package/dist/collection/components/delete-dialog/delete-dialog.js +8 -35
- package/dist/collection/components/edit-card/edit-card.js +10 -43
- package/dist/collection/components/feature-details/feature-details.js +18 -74
- package/dist/collection/components/feature-list/feature-list.js +25 -103
- package/dist/collection/components/floor-filter/floor-filter.js +5 -19
- package/dist/collection/components/info-card/info-card.js +100 -84
- package/dist/collection/components/json-editor/json-editor.js +7 -28
- package/dist/collection/components/layer-list/layer-list.js +12 -50
- package/dist/collection/components/layer-table/layer-table.js +188 -308
- package/dist/collection/components/map-card/map-card.js +43 -182
- package/dist/collection/components/map-draw-tools/map-draw-tools.js +15 -66
- package/dist/collection/components/map-fullscreen/map-fullscreen.js +4 -18
- package/dist/collection/components/map-layer-picker/map-layer-picker.js +25 -108
- package/dist/collection/components/map-legend/map-legend.js +4 -15
- package/dist/collection/components/map-picker/map-picker.js +8 -35
- package/dist/collection/components/map-search/map-search.js +8 -35
- package/dist/collection/components/map-select-tools/map-select-tools.js +32 -138
- package/dist/collection/components/map-tools/map-tools.js +27 -115
- package/dist/collection/components/pci-calculator/pci-calculator.js +3 -14
- package/dist/collection/components/pdf-download/pdf-download.js +6 -27
- package/dist/collection/components/public-notification/public-notification.js +41 -189
- package/dist/collection/components/refine-selection/refine-selection.js +13 -59
- package/dist/collection/components/solution-configuration/solution-configuration.js +13 -48
- package/dist/collection/components/solution-contents/solution-contents.js +4 -13
- package/dist/collection/components/solution-item/solution-item.js +9 -36
- package/dist/collection/components/solution-item-accordion/solution-item-accordion.js +19 -40
- package/dist/collection/components/solution-item-details/solution-item-details.js +16 -35
- package/dist/collection/components/solution-item-icon/solution-item-icon.js +5 -17
- package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +6 -27
- package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +6 -24
- package/dist/collection/components/solution-resource-item/solution-resource-item.js +8 -36
- package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +7 -31
- package/dist/collection/components/solution-template-data/solution-template-data.js +8 -49
- package/dist/collection/components/solution-variables/solution-variables.js +6 -24
- package/dist/collection/components/spatial-ref/spatial-ref.js +8 -43
- package/dist/collection/components/store-manager/store-manager.js +5 -18
- package/dist/components/basemap-gallery2.js +3 -19
- package/dist/components/buffer-tools2.js +11 -52
- package/dist/components/card-manager2.js +16 -72
- package/dist/components/consent-manager.js +10 -52
- package/dist/components/create-feature2.js +14 -68
- package/dist/components/create-related-feature2.js +8 -44
- package/dist/components/crowdsource-manager.js +87 -264
- package/dist/components/crowdsource-reporter.js +51 -215
- package/dist/components/delete-button2.js +11 -55
- package/dist/components/delete-dialog2.js +6 -35
- package/dist/components/edit-card2.js +8 -43
- package/dist/components/feature-details2.js +16 -74
- package/dist/components/feature-list2.js +23 -103
- package/dist/components/floor-filter2.js +3 -19
- package/dist/components/info-card2.js +64 -83
- package/dist/components/json-editor2.js +5 -28
- package/dist/components/layer-list2.js +10 -50
- package/dist/components/layer-table2.js +155 -307
- package/dist/components/map-card2.js +41 -182
- package/dist/components/map-draw-tools2.js +13 -66
- package/dist/components/map-fullscreen2.js +2 -18
- package/dist/components/map-layer-picker2.js +23 -108
- package/dist/components/map-legend2.js +2 -15
- package/dist/components/map-picker2.js +6 -35
- package/dist/components/map-search2.js +6 -35
- package/dist/components/map-select-tools2.js +31 -139
- package/dist/components/map-tools2.js +25 -115
- package/dist/components/pci-calculator.js +1 -14
- package/dist/components/pdf-download2.js +4 -27
- package/dist/components/public-notification.js +39 -189
- package/dist/components/queryUtils.js +1 -43
- package/dist/components/refine-selection2.js +12 -60
- package/dist/components/solution-configuration.js +13 -48
- package/dist/components/solution-contents2.js +2 -13
- package/dist/components/solution-item-accordion.js +12 -39
- package/dist/components/solution-item-details2.js +14 -35
- package/dist/components/solution-item-icon2.js +3 -17
- package/dist/components/solution-item-sharing2.js +4 -27
- package/dist/components/solution-item2.js +7 -36
- package/dist/components/solution-organization-variables2.js +4 -24
- package/dist/components/solution-resource-item2.js +6 -36
- package/dist/components/solution-spatial-ref2.js +5 -31
- package/dist/components/solution-template-data2.js +8 -49
- package/dist/components/solution-variables2.js +4 -24
- package/dist/components/spatial-ref.js +8 -43
- package/dist/components/store-manager.js +3 -18
- package/dist/esm/{asyncToGenerator-96b2368d.js → asyncToGenerator-e51717ed.js} +1 -1
- package/dist/esm/basemap-gallery_7.entry.js +50 -259
- package/dist/esm/buffer-tools_2.entry.js +29 -123
- package/dist/esm/card-manager_3.entry.js +215 -565
- package/dist/esm/consent-manager.entry.js +15 -57
- package/dist/esm/create-feature_4.entry.js +102 -256
- package/dist/esm/create-related-feature_3.entry.js +38 -172
- package/dist/esm/crowdsource-manager.entry.js +89 -267
- package/dist/esm/crowdsource-reporter.entry.js +55 -219
- package/dist/esm/deduct-calculator.entry.js +1 -1
- package/dist/esm/delete-dialog.entry.js +9 -38
- package/dist/esm/{downloadUtils-22a8f2d8.js → downloadUtils-d04d4095.js} +5 -5
- package/dist/esm/{effects-38bc1195.js → effects-602e7b51.js} +1 -1
- package/dist/esm/feature-list.entry.js +30 -110
- package/dist/esm/{helpers-77bdd30e.js → helpers-520f100c.js} +3 -3
- package/dist/esm/{index-6de7c296.js → index-c247b62b.js} +1 -1
- package/dist/esm/{index-3702583a.js → index-df5db8e9.js} +346 -428
- package/dist/esm/{index.es-87662946.js → index.es-ca80d0c5.js} +2 -2
- package/dist/esm/instant-apps-app-guide.entry.js +5 -5
- package/dist/esm/instant-apps-ckeditor-wrapper_3.entry.js +7 -7
- package/dist/esm/instant-apps-control-panel.entry.js +3 -3
- package/dist/esm/instant-apps-create.entry.js +5 -5
- package/dist/esm/instant-apps-export-views.entry.js +5 -5
- package/dist/esm/instant-apps-export.entry.js +5 -5
- package/dist/esm/instant-apps-filter-list_2.entry.js +5 -5
- package/dist/esm/instant-apps-header.entry.js +3 -3
- package/dist/esm/instant-apps-interactive-legend-classic.entry.js +6 -6
- package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +6 -6
- package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +6 -6
- package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +6 -6
- package/dist/esm/instant-apps-interactive-legend.entry.js +8 -8
- package/dist/esm/instant-apps-keyboard-shortcuts.entry.js +5 -5
- package/dist/esm/instant-apps-landing-page.entry.js +1 -1
- package/dist/esm/instant-apps-language-switcher.entry.js +8 -8
- package/dist/esm/instant-apps-language-translator.entry.js +8 -8
- package/dist/esm/instant-apps-measurement-tool.entry.js +3 -3
- package/dist/esm/instant-apps-measurement.entry.js +5 -5
- package/dist/esm/instant-apps-popover.entry.js +5 -5
- package/dist/esm/instant-apps-popovers.entry.js +1 -1
- package/dist/esm/instant-apps-scoreboard.entry.js +5 -5
- package/dist/esm/instant-apps-sign-in.entry.js +5 -5
- package/dist/esm/instant-apps-splash.entry.js +5 -5
- package/dist/esm/instant-apps-time-filter.entry.js +7 -7
- package/dist/esm/json-editor_7.entry.js +50 -228
- package/dist/esm/{languageSwitcher-49bad3f4.js → languageSwitcher-ccdf79d4.js} +1 -1
- package/dist/esm/{languageUtil-2b6e191a.js → languageUtil-2bac3910.js} +1 -1
- package/dist/esm/{loadModules-947ccfd4.js → loadModules-1b0b108c.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{locale-aa656a2c.js → locale-15e42305.js} +2 -2
- package/dist/esm/{locale-b0016f8e.js → locale-29d08ded.js} +3 -3
- package/dist/esm/map-layer-picker.entry.js +29 -114
- package/dist/esm/map-select-tools_3.entry.js +53 -232
- package/dist/esm/{mapViewUtils-a854e298.js → mapViewUtils-9da9be1c.js} +1 -43
- package/dist/esm/pci-calculator.entry.js +2 -15
- package/dist/esm/{popupUtils-1314cb13.js → popupUtils-b71abb01.js} +2 -2
- package/dist/esm/public-notification.entry.js +47 -197
- package/dist/esm/{publicNotificationStore-70219049.js → publicNotificationStore-9ec5e22a.js} +1 -1
- package/dist/esm/solution-configuration.entry.js +18 -53
- package/dist/esm/solution-contents_3.entry.js +19 -85
- package/dist/esm/solution-item-accordion.entry.js +15 -42
- package/dist/esm/solution-item-icon.entry.js +4 -18
- package/dist/esm/{solution-store-2493275a.js → solution-store-4c39c654.js} +1 -1
- package/dist/esm/solutions-components.js +4 -4
- package/dist/esm/spatial-ref.entry.js +11 -46
- package/dist/esm/store-manager.entry.js +6 -21
- package/dist/esm/{utils-68015f9d.js → utils-89be1743.js} +2 -2
- package/dist/solutions-components/assets/t9n/crowdsource-manager/resources.json +4 -1
- package/dist/solutions-components/assets/t9n/crowdsource-manager/resources_en.json +4 -1
- package/dist/solutions-components/assets/t9n/solution-item-accordion/resources.json +1 -1
- package/dist/solutions-components/assets/t9n/solution-item-accordion/resources_en.json +1 -1
- package/dist/solutions-components/{p-68d49e1a.entry.js → p-0132213f.entry.js} +2 -2
- package/dist/solutions-components/{p-dc188d13.js → p-039ab075.js} +1 -1
- package/dist/solutions-components/p-04277d48.entry.js +6 -0
- package/dist/solutions-components/p-04546ef6.js +6 -0
- package/dist/solutions-components/{p-174fa218.js → p-0607044f.js} +1 -1
- package/dist/solutions-components/p-099379e6.entry.js +6 -0
- package/dist/solutions-components/{p-300ff31e.entry.js → p-0b1c830a.entry.js} +1 -1
- package/dist/solutions-components/{p-ff5db601.entry.js → p-0ea99464.entry.js} +1 -1
- package/dist/solutions-components/p-1054e10a.entry.js +6 -0
- package/dist/solutions-components/p-1adc6874.entry.js +6 -0
- package/dist/solutions-components/{p-3c3aecdd.js → p-258aa58e.js} +1 -1
- package/dist/solutions-components/p-29baf8a2.entry.js +6 -0
- package/dist/solutions-components/{p-eb97b5ad.entry.js → p-2a1ed83a.entry.js} +1 -1
- package/dist/solutions-components/{p-8107be38.entry.js → p-2a7f23fc.entry.js} +1 -1
- package/dist/solutions-components/{p-6da8fe2d.entry.js → p-2cb8c175.entry.js} +1 -1
- package/dist/solutions-components/p-2d3b8412.entry.js +6 -0
- package/dist/solutions-components/p-2d8300ba.entry.js +6 -0
- package/dist/solutions-components/{p-ac122d9e.js → p-3423b5ef.js} +1 -1
- package/dist/solutions-components/{p-fa09caf3.entry.js → p-34338938.entry.js} +1 -1
- package/dist/solutions-components/{p-4f514c6d.js → p-36e3b39c.js} +2 -2
- package/dist/solutions-components/{p-ea64b72e.entry.js → p-37cc79c6.entry.js} +1 -1
- package/dist/solutions-components/p-38814554.entry.js +6 -0
- package/dist/solutions-components/{p-ee863ffb.entry.js → p-3f8b1062.entry.js} +1 -1
- package/dist/solutions-components/p-436b869c.entry.js +6 -0
- package/dist/solutions-components/{p-08ad0b7a.js → p-438fdc33.js} +1 -1
- package/dist/solutions-components/{p-335a630e.entry.js → p-4454af38.entry.js} +1 -1
- package/dist/solutions-components/p-532ed572.entry.js +6 -0
- package/dist/solutions-components/{p-959cb673.entry.js → p-552fb1c0.entry.js} +1 -1
- package/dist/solutions-components/{p-b560498c.entry.js → p-59a1c5a9.entry.js} +1 -1
- package/dist/solutions-components/p-5e4e0f84.entry.js +6 -0
- package/dist/solutions-components/{p-2b556610.entry.js → p-64a6162f.entry.js} +1 -1
- package/dist/solutions-components/{p-e85da876.entry.js → p-6ac03d17.entry.js} +1 -1
- package/dist/solutions-components/p-6e879de9.entry.js +6 -0
- package/dist/solutions-components/{p-8f7957a2.js → p-7bf7d67b.js} +1 -1
- package/dist/solutions-components/{p-81ae30bd.entry.js → p-86b6f918.entry.js} +1 -1
- package/dist/solutions-components/{p-e23b4193.js → p-8717729a.js} +1 -1
- package/dist/solutions-components/{p-e81e2d83.entry.js → p-8db12ee9.entry.js} +2 -2
- package/dist/solutions-components/{p-173d5fce.js → p-8f973b3d.js} +1 -1
- package/dist/solutions-components/{p-1ddd7128.entry.js → p-97abbf8f.entry.js} +1 -1
- package/dist/solutions-components/{p-ee2cbba0.js → p-a397e773.js} +1 -1
- package/dist/solutions-components/p-b636a8b4.entry.js +6 -0
- package/dist/solutions-components/{p-1890b884.entry.js → p-b6a6fdcf.entry.js} +2 -2
- package/dist/solutions-components/p-b8f29a99.entry.js +6 -0
- package/dist/solutions-components/p-ba472e45.entry.js +6 -0
- package/dist/solutions-components/{p-1dffcc22.entry.js → p-c3aac15b.entry.js} +1 -1
- package/dist/solutions-components/{p-3d20e307.js → p-cd38fc53.js} +1 -1
- package/dist/solutions-components/p-d45b0400.entry.js +6 -0
- package/dist/solutions-components/p-d885880a.entry.js +6 -0
- package/dist/solutions-components/{p-8b218ba7.js → p-da1e098c.js} +1 -1
- package/dist/solutions-components/{p-b40b5be5.entry.js → p-da1e4ff1.entry.js} +1 -1
- package/dist/solutions-components/p-dbf2c455.entry.js +6 -0
- package/dist/solutions-components/{p-952da957.js → p-dcd2f00b.js} +2 -2
- package/dist/solutions-components/{p-2c8360b4.entry.js → p-dda0aa41.entry.js} +1 -1
- package/dist/solutions-components/{p-70e8be5c.entry.js → p-e3e35c14.entry.js} +1 -1
- package/dist/solutions-components/{p-48942eb8.js → p-e6859850.js} +2 -2
- package/dist/solutions-components/{p-699a9557.entry.js → p-e79b69e6.entry.js} +1 -1
- package/dist/solutions-components/p-e996c38f.js +7 -0
- package/dist/solutions-components/{p-f07a02e2.entry.js → p-edfcce2c.entry.js} +1 -1
- package/dist/solutions-components/{p-2dcf8f00.entry.js → p-f292f56e.entry.js} +1 -1
- package/dist/solutions-components/{p-4bdd4009.entry.js → p-f36b4778.entry.js} +1 -1
- package/dist/solutions-components/{p-579628d9.entry.js → p-f457e8be.entry.js} +1 -1
- package/dist/solutions-components/{p-d65f8b73.js → p-f93a9d92.js} +1 -1
- package/dist/solutions-components/p-f99a78f1.entry.js +6 -0
- package/dist/solutions-components/{p-7f6cbe61.entry.js → p-fdf0d66f.entry.js} +1 -1
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components_commit.txt +7 -7
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +11 -7
- package/dist/types/components/info-card/info-card.d.ts +16 -0
- package/dist/types/components/layer-table/layer-table.d.ts +32 -21
- package/dist/types/components/solution-item-accordion/solution-item-accordion.d.ts +1 -1
- package/dist/types/components.d.ts +19 -2
- package/dist/types/preact.d.ts +2 -1
- package/package.json +2 -2
- package/dist/solutions-components/p-032d4411.entry.js +0 -6
- package/dist/solutions-components/p-1b0588d2.js +0 -7
- package/dist/solutions-components/p-1fe3577a.entry.js +0 -6
- package/dist/solutions-components/p-265f5dc4.entry.js +0 -6
- package/dist/solutions-components/p-43d9bb7d.entry.js +0 -6
- package/dist/solutions-components/p-4426901e.entry.js +0 -6
- package/dist/solutions-components/p-4ebc471b.entry.js +0 -6
- package/dist/solutions-components/p-5ea1e18b.entry.js +0 -6
- package/dist/solutions-components/p-6d62a4fa.entry.js +0 -6
- package/dist/solutions-components/p-70036eb6.entry.js +0 -6
- package/dist/solutions-components/p-87919d6d.entry.js +0 -6
- package/dist/solutions-components/p-89fbc318.js +0 -6
- package/dist/solutions-components/p-8ea0a36a.entry.js +0 -6
- package/dist/solutions-components/p-9d953313.entry.js +0 -6
- package/dist/solutions-components/p-a003600b.entry.js +0 -6
- package/dist/solutions-components/p-acd2699e.entry.js +0 -6
- package/dist/solutions-components/p-afc3ac6d.entry.js +0 -6
- package/dist/solutions-components/p-b37be371.entry.js +0 -6
- package/dist/solutions-components/p-bc2548ba.entry.js +0 -6
- package/dist/solutions-components/p-bf2598f8.entry.js +0 -6
- package/dist/solutions-components/p-ce8377c6.entry.js +0 -6
- /package/dist/cjs/{esri-loader-08dc41bd.js → esri-loader-1e8cc247.js} +0 -0
- /package/dist/cjs/{typeof-2a7e2dec.js → typeof-eba0a941.js} +0 -0
- /package/dist/esm/{esri-loader-c6842c6b.js → esri-loader-d10d860d.js} +0 -0
- /package/dist/esm/{typeof-ef2a007d.js → typeof-a3e780e1.js} +0 -0
- /package/dist/solutions-components/{p-4fe489cf.js → p-19bce2cc.js} +0 -0
- /package/dist/solutions-components/{p-0a24ad5f.js → p-3b3f77bc.js} +0 -0
@@ -22,10 +22,51 @@ import { Host, h } from "@stencil/core";
|
|
22
22
|
import { loadModules } from "../../utils/loadModules";
|
23
23
|
import { getLocaleComponentStrings } from "../../utils/locale";
|
24
24
|
import { getFeatureLayerView, getLayerOrTable, goToSelection } from "../../utils/mapViewUtils";
|
25
|
-
import {
|
25
|
+
import { queryFeaturesByGlobalID } from "../../utils/queryUtils";
|
26
26
|
import * as downloadUtils from "../../utils/downloadUtils";
|
27
27
|
import "@esri/instant-apps-components/dist/components/instant-apps-social-share";
|
28
28
|
export class LayerTable {
|
29
|
+
constructor() {
|
30
|
+
this.appLayout = undefined;
|
31
|
+
this.defaultGlobalId = undefined;
|
32
|
+
this.defaultLayerId = undefined;
|
33
|
+
this.defaultOid = undefined;
|
34
|
+
this.enableAutoRefresh = undefined;
|
35
|
+
this.enableColumnReorder = true;
|
36
|
+
this.enableCSV = undefined;
|
37
|
+
this.enableInlineEdit = undefined;
|
38
|
+
this.enableShare = undefined;
|
39
|
+
this.honorMapFieldSettings = undefined;
|
40
|
+
this.isMobile = undefined;
|
41
|
+
this.locale = undefined;
|
42
|
+
this.mapHidden = undefined;
|
43
|
+
this.mapInfo = undefined;
|
44
|
+
this.mapView = undefined;
|
45
|
+
this.onlyShowUpdatableLayers = undefined;
|
46
|
+
this.selectedIds = [];
|
47
|
+
this.shareIncludeEmbed = undefined;
|
48
|
+
this.shareIncludeSocial = undefined;
|
49
|
+
this.showNewestFirst = undefined;
|
50
|
+
this.zoomAndScrollToSelected = undefined;
|
51
|
+
this.zoomToScale = undefined;
|
52
|
+
this.createFilterModal = true;
|
53
|
+
this._allIds = [];
|
54
|
+
this._controlsThatFit = undefined;
|
55
|
+
this._csvExporting = false;
|
56
|
+
this._fetchingData = false;
|
57
|
+
this._filterActive = false;
|
58
|
+
this._filterOpen = false;
|
59
|
+
this._layer = undefined;
|
60
|
+
this._selectAllActive = false;
|
61
|
+
this._showHideOpen = false;
|
62
|
+
this._showOnlySelected = false;
|
63
|
+
this._toolInfos = undefined;
|
64
|
+
this._translations = undefined;
|
65
|
+
this._fullTextSearchInfo = undefined;
|
66
|
+
this._searchPlaceHolder = '';
|
67
|
+
this._size = 0;
|
68
|
+
this._queryingData = false;
|
69
|
+
}
|
29
70
|
//--------------------------------------------------------------------------
|
30
71
|
//
|
31
72
|
// Host element access
|
@@ -34,177 +75,6 @@ export class LayerTable {
|
|
34
75
|
el;
|
35
76
|
//--------------------------------------------------------------------------
|
36
77
|
//
|
37
|
-
// Properties (public)
|
38
|
-
//
|
39
|
-
//--------------------------------------------------------------------------
|
40
|
-
/**
|
41
|
-
* AppLayout: the current app layout
|
42
|
-
*/
|
43
|
-
appLayout;
|
44
|
-
/**
|
45
|
-
* string: Global ID of the feature to select
|
46
|
-
*/
|
47
|
-
defaultGlobalId;
|
48
|
-
/**
|
49
|
-
* string: when provided this layer ID will be used when the app loads
|
50
|
-
*/
|
51
|
-
defaultLayerId;
|
52
|
-
/**
|
53
|
-
* number: when provided this will be used to select a feature in the table by default
|
54
|
-
*/
|
55
|
-
defaultOid;
|
56
|
-
/**
|
57
|
-
* boolean: when true the layer table will auto refresh the data
|
58
|
-
*/
|
59
|
-
enableAutoRefresh;
|
60
|
-
/**
|
61
|
-
* boolean: when true the layer table will support drag/drop of columns to adjust order
|
62
|
-
*/
|
63
|
-
enableColumnReorder = true;
|
64
|
-
/**
|
65
|
-
* boolean: when true the export to csv button will be available
|
66
|
-
*/
|
67
|
-
enableCSV;
|
68
|
-
/**
|
69
|
-
* boolean: when true edits can be applied directly within the table
|
70
|
-
*/
|
71
|
-
enableInlineEdit;
|
72
|
-
/**
|
73
|
-
* boolean: when true the share widget will be available
|
74
|
-
*/
|
75
|
-
enableShare;
|
76
|
-
/**
|
77
|
-
* boolean: when true we will honor field order and visibility that may have been defined
|
78
|
-
* in the map viewer if no field order is defined in the mapInfo.
|
79
|
-
*
|
80
|
-
* Field order defined in the mapInfo as would be the case for Instant App configurations
|
81
|
-
* will always override this map level setting.
|
82
|
-
*/
|
83
|
-
honorMapFieldSettings;
|
84
|
-
/**
|
85
|
-
* When true the component will render an optimized view for mobile devices
|
86
|
-
*/
|
87
|
-
isMobile;
|
88
|
-
/**
|
89
|
-
* string: Locale to use for translation of stings in the UI
|
90
|
-
*/
|
91
|
-
locale;
|
92
|
-
/**
|
93
|
-
* boolean: when true the map is hidden and map specific controls should be hidden
|
94
|
-
*/
|
95
|
-
mapHidden;
|
96
|
-
/**
|
97
|
-
* IMapInfo: key configuration details about the current map
|
98
|
-
*/
|
99
|
-
mapInfo;
|
100
|
-
/**
|
101
|
-
* esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
|
102
|
-
*/
|
103
|
-
mapView;
|
104
|
-
/**
|
105
|
-
* boolean: When true only editable layers that support the update capability will be available
|
106
|
-
*/
|
107
|
-
onlyShowUpdatableLayers;
|
108
|
-
/**
|
109
|
-
* number[]: A list of ids that are currently selected
|
110
|
-
*/
|
111
|
-
selectedIds = [];
|
112
|
-
/**
|
113
|
-
* boolean: When true the share options will include embed option
|
114
|
-
*/
|
115
|
-
shareIncludeEmbed;
|
116
|
-
/**
|
117
|
-
* boolean: When true the share options will include social media sharing
|
118
|
-
*/
|
119
|
-
shareIncludeSocial;
|
120
|
-
/**
|
121
|
-
* boolean: when true the table will be sorted by objectid in descending order by default
|
122
|
-
*/
|
123
|
-
showNewestFirst;
|
124
|
-
/**
|
125
|
-
* boolean: When true the selected feature will zoomed to in the map and the row will be scrolled to within the table
|
126
|
-
*/
|
127
|
-
zoomAndScrollToSelected;
|
128
|
-
/**
|
129
|
-
* number: default scale to zoom to when zooming to a single point feature
|
130
|
-
*/
|
131
|
-
zoomToScale;
|
132
|
-
/**
|
133
|
-
* boolean: create filter modal optional (default true) boolean value to create filter modal in layer table
|
134
|
-
*/
|
135
|
-
createFilterModal = true;
|
136
|
-
//--------------------------------------------------------------------------
|
137
|
-
//
|
138
|
-
// State (internal)
|
139
|
-
//
|
140
|
-
//--------------------------------------------------------------------------
|
141
|
-
/**
|
142
|
-
* number[]: A list of all IDs for the current layer
|
143
|
-
*/
|
144
|
-
_allIds = [];
|
145
|
-
/**
|
146
|
-
* IToolSizeInfo[]: The controls that currently fit based on toolbar size
|
147
|
-
*/
|
148
|
-
_controlsThatFit;
|
149
|
-
/**
|
150
|
-
* boolean: When true a loading indicator will be shown beside the button text
|
151
|
-
*/
|
152
|
-
_csvExporting = false;
|
153
|
-
/**
|
154
|
-
* boolean: When true a loading indicator will be shown in place of the layer table
|
155
|
-
*/
|
156
|
-
_fetchingData = false;
|
157
|
-
/**
|
158
|
-
* boolean: When true an indicator will be shown on the action
|
159
|
-
*/
|
160
|
-
_filterActive = false;
|
161
|
-
/**
|
162
|
-
* boolean: When true the filter component will be displayed
|
163
|
-
*/
|
164
|
-
_filterOpen = false;
|
165
|
-
/**
|
166
|
-
* esri/views/layers/FeatureLayer: https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html
|
167
|
-
*/
|
168
|
-
_layer;
|
169
|
-
/**
|
170
|
-
* boolean: When true the select all will be displayed in an active state
|
171
|
-
*/
|
172
|
-
_selectAllActive = false;
|
173
|
-
/**
|
174
|
-
* boolean: When true the show/hide fields list is forced open
|
175
|
-
*/
|
176
|
-
_showHideOpen = false;
|
177
|
-
/**
|
178
|
-
* boolean: When true only selected records will be shown in the table
|
179
|
-
*/
|
180
|
-
_showOnlySelected = false;
|
181
|
-
/**
|
182
|
-
* IToolInfo[]: Key details used for creating the tools
|
183
|
-
*/
|
184
|
-
_toolInfos;
|
185
|
-
/**
|
186
|
-
* Contains the translations for this component.
|
187
|
-
* All UI strings should be defined here.
|
188
|
-
*/
|
189
|
-
_translations;
|
190
|
-
/**
|
191
|
-
* any[] Contains full text search info object
|
192
|
-
*/
|
193
|
-
_fullTextSearchInfo;
|
194
|
-
/**
|
195
|
-
* string Placeholder string to show fields included in full text search
|
196
|
-
*/
|
197
|
-
_searchPlaceHolder = '';
|
198
|
-
/**
|
199
|
-
* number Total number of records currently displayed in the table. This takes into account all active filters.
|
200
|
-
*/
|
201
|
-
_size = 0;
|
202
|
-
/**
|
203
|
-
* boolean: When true a loading indicator will be shown in place of the layer table
|
204
|
-
*/
|
205
|
-
_queryingData = false;
|
206
|
-
//--------------------------------------------------------------------------
|
207
|
-
//
|
208
78
|
// Properties (protected)
|
209
79
|
//
|
210
80
|
//--------------------------------------------------------------------------
|
@@ -220,10 +90,6 @@ export class LayerTable {
|
|
220
90
|
* IColumnsInfo: Key/value pair with fieldname/(visible in table)
|
221
91
|
*/
|
222
92
|
_columnsInfo;
|
223
|
-
/**
|
224
|
-
* boolean: When true the ctrl key is currently pressed
|
225
|
-
*/
|
226
|
-
_ctrlIsPressed = false;
|
227
93
|
/**
|
228
94
|
* number: The id of the most recently selected row from the table
|
229
95
|
*/
|
@@ -329,18 +195,10 @@ export class LayerTable {
|
|
329
195
|
* HTMLInstantAppsSocialShareElement: Element to support app sharing to social media
|
330
196
|
*/
|
331
197
|
_shareNode;
|
332
|
-
/**
|
333
|
-
* boolean: When true the shift key is currently pressed
|
334
|
-
*/
|
335
|
-
_shiftIsPressed = false;
|
336
198
|
/**
|
337
199
|
* HTMLCalciteDropdownElement: Dropdown the will support show/hide of table columns
|
338
200
|
*/
|
339
201
|
_showHideDropdown;
|
340
|
-
/**
|
341
|
-
* boolean: When true any onChange handeling will be skipped
|
342
|
-
*/
|
343
|
-
_skipOnChange = false;
|
344
202
|
/**
|
345
203
|
* HTMLCalciteDropdownElement: Dropdown the will support overflow tools that won't fit in the current display
|
346
204
|
*/
|
@@ -373,10 +231,22 @@ export class LayerTable {
|
|
373
231
|
* boolean: When true we will not evaluate if the editor has any pending edits
|
374
232
|
*/
|
375
233
|
_skipEditCheck = false;
|
234
|
+
/**
|
235
|
+
* __esri.Handle: handle for the filter by extent
|
236
|
+
*/
|
237
|
+
_filterByExtentHandle;
|
376
238
|
/**
|
377
239
|
* number[]: selected features from table
|
378
240
|
*/
|
379
241
|
_tempSelectedIds;
|
242
|
+
/**
|
243
|
+
* number[]: out of extent oids which are selected but now out of extent
|
244
|
+
*/
|
245
|
+
_outOFExtentOids = [];
|
246
|
+
/**
|
247
|
+
* boolean: When true allow table to update the records
|
248
|
+
*/
|
249
|
+
_shouldUpdateTableOnExtentChange = true;
|
380
250
|
//--------------------------------------------------------------------------
|
381
251
|
//
|
382
252
|
// Watch handlers
|
@@ -540,13 +410,35 @@ export class LayerTable {
|
|
540
410
|
* Reset the filter
|
541
411
|
*/
|
542
412
|
async filterReset() {
|
413
|
+
if (this._filterByExtentHandle) {
|
414
|
+
this._table.filterGeometry = undefined;
|
415
|
+
this._filterByExtentHandle.remove();
|
416
|
+
this._filterByExtentHandle = undefined;
|
417
|
+
}
|
543
418
|
await this._handleFilterListReset();
|
544
419
|
}
|
545
420
|
/**
|
546
421
|
* Updates the filter
|
547
422
|
*/
|
548
|
-
async filterUpdate(
|
549
|
-
await this._handleFilterUpdate(
|
423
|
+
async filterUpdate(filterActive, keepTableUpdatingOnMapExtentChange) {
|
424
|
+
await this._handleFilterUpdate(filterActive);
|
425
|
+
if (keepTableUpdatingOnMapExtentChange) {
|
426
|
+
this._shouldUpdateTableOnExtentChange = true;
|
427
|
+
this._handleTableOnMapExtent();
|
428
|
+
}
|
429
|
+
else if (keepTableUpdatingOnMapExtentChange === false) {
|
430
|
+
this._table.filterGeometry = undefined;
|
431
|
+
this._filterByExtentHandle.remove();
|
432
|
+
this._filterByExtentHandle = undefined;
|
433
|
+
// update all the ids when filter is unchecked or toggled off
|
434
|
+
await this._updateAllIds();
|
435
|
+
}
|
436
|
+
}
|
437
|
+
/**
|
438
|
+
* Validate if the table should update
|
439
|
+
*/
|
440
|
+
async validateTableUpdate(shouldUpdateTableOnExtentChange) {
|
441
|
+
this._shouldUpdateTableOnExtentChange = shouldUpdateTableOnExtentChange;
|
550
442
|
}
|
551
443
|
/**
|
552
444
|
* Validate if the editor has any pending edits
|
@@ -600,8 +492,20 @@ export class LayerTable {
|
|
600
492
|
* @returns a promise when the operation has completed
|
601
493
|
*/
|
602
494
|
async editorInitialized(evt) {
|
495
|
+
this._shouldUpdateTableOnExtentChange = false;
|
603
496
|
this._editor = evt.detail;
|
604
497
|
}
|
498
|
+
/**
|
499
|
+
* Respond to and close the edit record display
|
500
|
+
*
|
501
|
+
* @returns a promise when the operation has completed
|
502
|
+
*/
|
503
|
+
async closeEdit() {
|
504
|
+
this._shouldUpdateTableOnExtentChange = true;
|
505
|
+
if (this._filterByExtentHandle) {
|
506
|
+
this._handleTableOnMapExtent();
|
507
|
+
}
|
508
|
+
}
|
605
509
|
/**
|
606
510
|
* Scroll and zoom to the selected feature from the Features widget.
|
607
511
|
*
|
@@ -662,7 +566,7 @@ export class LayerTable {
|
|
662
566
|
async editsComplete(evt) {
|
663
567
|
const editType = evt.detail;
|
664
568
|
if (editType === "delete" || editType === "add") {
|
665
|
-
this._allIds = await queryAllIds(
|
569
|
+
this._allIds = await this.queryAllIds();
|
666
570
|
}
|
667
571
|
await this._refresh();
|
668
572
|
}
|
@@ -734,8 +638,8 @@ export class LayerTable {
|
|
734
638
|
const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
|
735
639
|
const showSearch = this._canShowFullTextSearch();
|
736
640
|
this._validateActiveActions();
|
737
|
-
return (h(Host, { key: '
|
738
|
-
h("div", { key: '
|
641
|
+
return (h(Host, { key: 'a0a998de3a1b29c311a9fdfa87f3bd836481ba5a' }, h("div", { key: 'aafaf9f925ed7321e1ca7f15fc7db369212dc1dc' }, h("calcite-scrim", { key: '86459aed994823dbf1d774aad01e8207a7df5f4f', class: scrimClass, loading: this._queryingData }), h("calcite-shell", { key: 'b29896a197cba444d2ac377779670394e29ecaf6' }, this._getTableControlRow("header"), h("div", { key: '0456651ac46f399eb04253387d7aae76995f4683', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: '9ba484159832fea630bbb653bc2fc4e99e602674', class: "height-full width-full" }, showSearch &&
|
642
|
+
h("div", { key: 'bd4b72db51f44c2954e893e8ef7ec2a30efc4c45', class: "search-container" }, h("calcite-input", { key: '8811ff1dd71408fda37a0d7d2403671df24b5b7b', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), h("calcite-loader", { key: '44a419089cf1e207f52ce19015c2870ce956e261', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '096f4fc7f5cc9500e7982bbfaceb2fcc4c82a1dd', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
|
739
643
|
.replace("{{total}}", total)
|
740
644
|
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal())));
|
741
645
|
}
|
@@ -755,8 +659,6 @@ export class LayerTable {
|
|
755
659
|
componentDidRender() {
|
756
660
|
// need to be called after each render to get the clicked mouseEvent
|
757
661
|
document.onclick = (e) => this._handleDocumentClick(e);
|
758
|
-
document.onkeydown = (e) => this._handleKeyDown(e);
|
759
|
-
document.onkeyup = (e) => this._handleKeyUp(e);
|
760
662
|
this._updateToolbar();
|
761
663
|
}
|
762
664
|
//--------------------------------------------------------------------------
|
@@ -1017,6 +919,7 @@ export class LayerTable {
|
|
1017
919
|
}
|
1018
920
|
if (ti.icon === "selected-items-filter") {
|
1019
921
|
ti.active = this._showOnlySelected;
|
922
|
+
ti.label = this._showOnlySelected ? this._translations.showAll : this._translations.showSelected;
|
1020
923
|
}
|
1021
924
|
}
|
1022
925
|
});
|
@@ -1031,7 +934,6 @@ export class LayerTable {
|
|
1031
934
|
// hide multiple edits for R03
|
1032
935
|
const showMultipleEdits = this.selectedIds.length > 1 && this._layer?.capabilities?.operations?.supportsUpdate && false;
|
1033
936
|
const featuresEmpty = this._featuresEmpty();
|
1034
|
-
const hasFilterExpressions = this._hasFilterExpressions();
|
1035
937
|
if (this._translations) {
|
1036
938
|
this._toolInfos = [
|
1037
939
|
!this.mapHidden ? {
|
@@ -1043,7 +945,7 @@ export class LayerTable {
|
|
1043
945
|
disabled: !featuresSelected,
|
1044
946
|
isOverflow: false
|
1045
947
|
} : undefined,
|
1046
|
-
|
948
|
+
{
|
1047
949
|
active: false,
|
1048
950
|
icon: "filter",
|
1049
951
|
indicator: false,
|
@@ -1051,7 +953,7 @@ export class LayerTable {
|
|
1051
953
|
func: () => this.createFilterModal ? this._toggleFilter() : this.toggleFilter.emit(),
|
1052
954
|
disabled: false,
|
1053
955
|
isOverflow: false
|
1054
|
-
}
|
956
|
+
},
|
1055
957
|
showMultipleEdits ? {
|
1056
958
|
active: false,
|
1057
959
|
icon: "pencil",
|
@@ -1453,6 +1355,7 @@ export class LayerTable {
|
|
1453
1355
|
editingEnabled: this._editEnabled && this.enableInlineEdit,
|
1454
1356
|
highlightEnabled: true,
|
1455
1357
|
multiSortEnabled: false,
|
1358
|
+
attachmentsEnabled: true,
|
1456
1359
|
visibleElements: {
|
1457
1360
|
columnDescriptions: false,
|
1458
1361
|
header: false,
|
@@ -1484,88 +1387,9 @@ export class LayerTable {
|
|
1484
1387
|
return;
|
1485
1388
|
}
|
1486
1389
|
const ids = [...this._getIds()];
|
1487
|
-
|
1488
|
-
|
1489
|
-
|
1490
|
-
this._skipOnChange = true;
|
1491
|
-
// only readd in specific case where we have multiple selected and then click one of the currently selected
|
1492
|
-
const reAdd = this.selectedIds.length > 1 && evt.removed.length === 1;
|
1493
|
-
const newIds = reAdd ? evt.removed : ids.filter(id => this.selectedIds.indexOf(id) < 0);
|
1494
|
-
this._tempSelectedIds = newIds.length ? [...newIds] : [...this.selectedIds];
|
1495
|
-
this._clearSelection();
|
1496
|
-
this.selectedIds = [...newIds];
|
1497
|
-
if (newIds.length > 0) {
|
1498
|
-
this._table.highlightIds.add(newIds[0]);
|
1499
|
-
}
|
1500
|
-
else {
|
1501
|
-
this._skipOnChange = false;
|
1502
|
-
}
|
1503
|
-
}
|
1504
|
-
else {
|
1505
|
-
// https://github.com/Esri/solutions-components/issues/365
|
1506
|
-
this.selectedIds = ids.reverse();
|
1507
|
-
this._tempSelectedIds = [...this.selectedIds];
|
1508
|
-
}
|
1509
|
-
}
|
1510
|
-
else if (this._ctrlIsPressed) {
|
1511
|
-
this.selectedIds = ids.reverse();
|
1512
|
-
this._tempSelectedIds = [...this.selectedIds];
|
1513
|
-
}
|
1514
|
-
else if (this._shiftIsPressed && ids?.length > 0) {
|
1515
|
-
this._skipOnChange = true;
|
1516
|
-
this._previousCurrentId = this._currentId;
|
1517
|
-
this._currentId = [...ids].reverse()[0];
|
1518
|
-
if (ids.length === 1) {
|
1519
|
-
this._skipOnChange = false;
|
1520
|
-
}
|
1521
|
-
else if (this._previousCurrentId !== this._currentId) {
|
1522
|
-
// query the layer based on current sort and filters then grab between the current id and previous id
|
1523
|
-
const orderBy = this._table.activeSortOrders.reduce((prev, cur) => {
|
1524
|
-
prev.push(`${cur.fieldName} ${cur.direction}`);
|
1525
|
-
return prev;
|
1526
|
-
}, []);
|
1527
|
-
// when dealing with a feature layer with many features shift-select can take a very long time.
|
1528
|
-
// don't allow the user to make additional interactions with the table if it takes more than 500 miliseconds
|
1529
|
-
let queryComplete = false;
|
1530
|
-
setTimeout(() => {
|
1531
|
-
if (!queryComplete) {
|
1532
|
-
this._queryingData = true;
|
1533
|
-
}
|
1534
|
-
}, 500);
|
1535
|
-
const oids = await queryAllOidsWithQueryFeatures(0, this._layer, [], orderBy);
|
1536
|
-
queryComplete = true;
|
1537
|
-
this._queryingData = false;
|
1538
|
-
let isBetween = false;
|
1539
|
-
const _start = this._table.viewModel.getObjectIdIndex(this._previousCurrentId);
|
1540
|
-
const _end = this._table.viewModel.getObjectIdIndex(this._currentId);
|
1541
|
-
const startIndex = _start < _end ? _start : _end;
|
1542
|
-
const endIndex = _end > _start ? _end : _start;
|
1543
|
-
this._skipOnChange = startIndex + 1 !== endIndex;
|
1544
|
-
const idsInRange = oids.reduce((prev, cur) => {
|
1545
|
-
const id = cur;
|
1546
|
-
if ((id === this._currentId || id === this._previousCurrentId)) {
|
1547
|
-
isBetween = !isBetween;
|
1548
|
-
if (prev.indexOf(id) < 0) {
|
1549
|
-
prev.push(id);
|
1550
|
-
}
|
1551
|
-
}
|
1552
|
-
else if (isBetween && prev.indexOf(id) < 0) {
|
1553
|
-
prev.push(id);
|
1554
|
-
}
|
1555
|
-
return prev;
|
1556
|
-
}, []);
|
1557
|
-
const selectedIds = _start < _end ? idsInRange.reverse() : idsInRange;
|
1558
|
-
this.selectedIds = [...new Set([...selectedIds, ...this.selectedIds])];
|
1559
|
-
this._tempSelectedIds = [...this.selectedIds];
|
1560
|
-
this._table.highlightIds.addMany(this.selectedIds.filter(i => ids.indexOf(i) < 0));
|
1561
|
-
}
|
1562
|
-
}
|
1563
|
-
this._finishOnChange();
|
1564
|
-
}
|
1565
|
-
else {
|
1566
|
-
this._skipOnChange = false;
|
1567
|
-
}
|
1568
|
-
this._currentId = [...this._getIds()].reverse()[0];
|
1390
|
+
this.selectedIds = ids.reverse();
|
1391
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1392
|
+
this._finishOnChange();
|
1569
1393
|
this._selectionFromMap = false;
|
1570
1394
|
}
|
1571
1395
|
/**
|
@@ -1604,6 +1428,7 @@ export class LayerTable {
|
|
1604
1428
|
handleOnChange = !this._skipEditCheck;
|
1605
1429
|
this._skipEditCheck = false;
|
1606
1430
|
}
|
1431
|
+
this._shouldUpdateTableOnExtentChange = handleOnChange;
|
1607
1432
|
return handleOnChange;
|
1608
1433
|
}
|
1609
1434
|
/**
|
@@ -1620,7 +1445,7 @@ export class LayerTable {
|
|
1620
1445
|
_finishOnChange() {
|
1621
1446
|
if (this._showOnlySelected) {
|
1622
1447
|
if (this._featuresSelected()) {
|
1623
|
-
this._table.
|
1448
|
+
this._table.filterBySelectionEnabled = true;
|
1624
1449
|
}
|
1625
1450
|
else {
|
1626
1451
|
this._toggleShowSelected();
|
@@ -1658,7 +1483,7 @@ export class LayerTable {
|
|
1658
1483
|
async _resetTable() {
|
1659
1484
|
this._loaded = false;
|
1660
1485
|
this._clearSelection();
|
1661
|
-
this._allIds = await queryAllIds(
|
1486
|
+
this._allIds = await this.queryAllIds();
|
1662
1487
|
if (!this._table) {
|
1663
1488
|
const columnTemplates = this._getColumnTemplates(this._layer.id, this._layer?.fields);
|
1664
1489
|
await this._getTable(this._tableNode, columnTemplates);
|
@@ -1712,7 +1537,6 @@ export class LayerTable {
|
|
1712
1537
|
}
|
1713
1538
|
this._refreshHandle = this._layer.on("refresh", (evt) => {
|
1714
1539
|
if (evt.dataChanged) {
|
1715
|
-
this._skipOnChange = true;
|
1716
1540
|
void this._updateAllIds();
|
1717
1541
|
}
|
1718
1542
|
});
|
@@ -1721,7 +1545,7 @@ export class LayerTable {
|
|
1721
1545
|
* Reset _allIds when the layers data has changed and refresh the selection ids and table
|
1722
1546
|
*/
|
1723
1547
|
async _updateAllIds() {
|
1724
|
-
this._allIds = await queryAllIds(
|
1548
|
+
this._allIds = await this.queryAllIds();
|
1725
1549
|
this.selectedIds = this.selectedIds.filter(id => this._allIds.indexOf(id) > -1);
|
1726
1550
|
await this._refresh();
|
1727
1551
|
}
|
@@ -1861,20 +1685,6 @@ export class LayerTable {
|
|
1861
1685
|
}
|
1862
1686
|
}
|
1863
1687
|
}
|
1864
|
-
/**
|
1865
|
-
* Keep track of key down for ctrl and shift
|
1866
|
-
*/
|
1867
|
-
_handleKeyDown(e) {
|
1868
|
-
this._ctrlIsPressed = e.ctrlKey;
|
1869
|
-
this._shiftIsPressed = e.shiftKey;
|
1870
|
-
}
|
1871
|
-
/**
|
1872
|
-
* Keep track of key up for ctrl and shift
|
1873
|
-
*/
|
1874
|
-
_handleKeyUp(e) {
|
1875
|
-
this._ctrlIsPressed = e.ctrlKey;
|
1876
|
-
this._shiftIsPressed = e.shiftKey;
|
1877
|
-
}
|
1878
1688
|
/**
|
1879
1689
|
* Show filter component in modal
|
1880
1690
|
*
|
@@ -1910,6 +1720,40 @@ export class LayerTable {
|
|
1910
1720
|
this._updateShareUrl();
|
1911
1721
|
await this._searchFullText();
|
1912
1722
|
}
|
1723
|
+
/**
|
1724
|
+
* Update the table when extent is changed
|
1725
|
+
*/
|
1726
|
+
_handleTableOnMapExtent() {
|
1727
|
+
if (this._table) {
|
1728
|
+
this._filterByExtentHandle = this.reactiveUtils.when(() => this.mapView.stationary,
|
1729
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
1730
|
+
async () => {
|
1731
|
+
if (this._shouldUpdateTableOnExtentChange) {
|
1732
|
+
//Added timeout while updating table records to avoid the issue in which we see empty table records when extent is changed
|
1733
|
+
await new Promise(resolve => setTimeout(resolve, 800));
|
1734
|
+
this._table.filterGeometry = this.mapView.extent;
|
1735
|
+
const query = {
|
1736
|
+
geometry: this.mapView.extent
|
1737
|
+
};
|
1738
|
+
const objectIdsInExtent = await this._layer.queryObjectIds(query);
|
1739
|
+
// remove the highlight of features which are not in the map extent
|
1740
|
+
const outOids = this.selectedIds.filter(id => !objectIdsInExtent.includes(id));
|
1741
|
+
const restoreOids = this._outOFExtentOids.filter(id => objectIdsInExtent.includes(id));
|
1742
|
+
if (outOids.length > 0) {
|
1743
|
+
this._table.highlightIds.removeMany(outOids);
|
1744
|
+
this._outOFExtentOids = [...this._outOFExtentOids, ...outOids];
|
1745
|
+
}
|
1746
|
+
if (restoreOids.length > 0) {
|
1747
|
+
this._table.highlightIds.addMany(restoreOids);
|
1748
|
+
this._outOFExtentOids = this._outOFExtentOids.filter(oid => !restoreOids.includes(oid));
|
1749
|
+
}
|
1750
|
+
}
|
1751
|
+
this._allIds = await this.queryAllIds();
|
1752
|
+
}, {
|
1753
|
+
initial: true
|
1754
|
+
});
|
1755
|
+
}
|
1756
|
+
}
|
1913
1757
|
/**
|
1914
1758
|
* Close the filter modal
|
1915
1759
|
* @protected
|
@@ -1917,10 +1761,20 @@ export class LayerTable {
|
|
1917
1761
|
async _closeFilter() {
|
1918
1762
|
if (this._filterOpen) {
|
1919
1763
|
// reset allIds
|
1920
|
-
this._allIds = await queryAllIds(
|
1764
|
+
this._allIds = await this.queryAllIds();
|
1921
1765
|
this._filterOpen = false;
|
1922
1766
|
}
|
1923
1767
|
}
|
1768
|
+
/**
|
1769
|
+
* Query the layer for applied filter
|
1770
|
+
* @returns Promise with the featureSet from the layer that match the provided ids
|
1771
|
+
*/
|
1772
|
+
async queryAllIds() {
|
1773
|
+
const query = this._layer.createQuery();
|
1774
|
+
query.geometry = this._filterByExtentHandle ? this.mapView.extent : null;
|
1775
|
+
query.where = this._layer.definitionExpression || "1=1";
|
1776
|
+
return await this._layer.queryObjectIds(query);
|
1777
|
+
}
|
1924
1778
|
/**
|
1925
1779
|
* Handle map click events to keep table and map click selection in sync
|
1926
1780
|
*
|
@@ -1942,7 +1796,7 @@ export class LayerTable {
|
|
1942
1796
|
}
|
1943
1797
|
});
|
1944
1798
|
if (this._showOnlySelected) {
|
1945
|
-
this._table.
|
1799
|
+
this._table.filterBySelectionEnabled = true;
|
1946
1800
|
}
|
1947
1801
|
}
|
1948
1802
|
else {
|
@@ -1959,7 +1813,6 @@ export class LayerTable {
|
|
1959
1813
|
const editsDiscarded = await this._validateActiveEdits(addedIds, this.selectedIds);
|
1960
1814
|
if (editsDiscarded) {
|
1961
1815
|
this._table.highlightIds.removeAll();
|
1962
|
-
this._skipOnChange = true;
|
1963
1816
|
this._table.highlightIds.addMany(ids);
|
1964
1817
|
this.selectedIds = ids;
|
1965
1818
|
this._finishOnChange();
|
@@ -1976,12 +1829,7 @@ export class LayerTable {
|
|
1976
1829
|
*/
|
1977
1830
|
_toggleShowSelected() {
|
1978
1831
|
this._showOnlySelected = !this._showOnlySelected;
|
1979
|
-
|
1980
|
-
this._table.filterBySelection();
|
1981
|
-
}
|
1982
|
-
else {
|
1983
|
-
this._table.objectIds.removeAll();
|
1984
|
-
}
|
1832
|
+
this._table.filterBySelectionEnabled = this._showOnlySelected;
|
1985
1833
|
}
|
1986
1834
|
/**
|
1987
1835
|
* Clears the selected indexes
|
@@ -1989,6 +1837,7 @@ export class LayerTable {
|
|
1989
1837
|
*/
|
1990
1838
|
_clearSelection() {
|
1991
1839
|
this.selectedIds = [];
|
1840
|
+
this._outOFExtentOids = [];
|
1992
1841
|
this._table?.highlightIds.removeAll();
|
1993
1842
|
this._table?.rowHighlightIds.removeAll();
|
1994
1843
|
this._finishOnChange();
|
@@ -2028,7 +1877,6 @@ export class LayerTable {
|
|
2028
1877
|
const editsDiscarded = await this._validateActiveEdits(ids, currentIndexes);
|
2029
1878
|
if (editsDiscarded) {
|
2030
1879
|
this._table.highlightIds.removeAll();
|
2031
|
-
this._skipOnChange = true;
|
2032
1880
|
this._table.highlightIds.addMany(ids);
|
2033
1881
|
this.selectedIds = ids;
|
2034
1882
|
this._finishOnChange();
|
@@ -2086,8 +1934,8 @@ export class LayerTable {
|
|
2086
1934
|
async _refresh() {
|
2087
1935
|
const editsDiscarded = await this._validateActiveEdits([], this.selectedIds);
|
2088
1936
|
if (editsDiscarded) {
|
2089
|
-
await this._table
|
2090
|
-
this._allIds = await queryAllIds(
|
1937
|
+
await this._table?.refresh();
|
1938
|
+
this._allIds = await this.queryAllIds();
|
2091
1939
|
this.featureSelectionChange.emit(this.selectedIds);
|
2092
1940
|
}
|
2093
1941
|
}
|
@@ -2117,6 +1965,7 @@ export class LayerTable {
|
|
2117
1965
|
this._fetchingData = true;
|
2118
1966
|
const layer = await getLayerOrTable(this.mapView, id);
|
2119
1967
|
layer && await layer.when(() => {
|
1968
|
+
this._shouldUpdateTableOnExtentChange = true;
|
2120
1969
|
this._layer = layer;
|
2121
1970
|
this._getFullTextSearchInfo();
|
2122
1971
|
});
|
@@ -2796,9 +2645,13 @@ export class LayerTable {
|
|
2796
2645
|
},
|
2797
2646
|
"filterUpdate": {
|
2798
2647
|
"complexType": {
|
2799
|
-
"signature": "(
|
2648
|
+
"signature": "(filterActive: boolean, keepTableUpdatingOnMapExtentChange?: boolean) => Promise<void>",
|
2800
2649
|
"parameters": [{
|
2801
|
-
"name": "
|
2650
|
+
"name": "filterActive",
|
2651
|
+
"type": "boolean",
|
2652
|
+
"docs": ""
|
2653
|
+
}, {
|
2654
|
+
"name": "keepTableUpdatingOnMapExtentChange",
|
2802
2655
|
"type": "boolean",
|
2803
2656
|
"docs": ""
|
2804
2657
|
}],
|
@@ -2815,6 +2668,27 @@ export class LayerTable {
|
|
2815
2668
|
"tags": []
|
2816
2669
|
}
|
2817
2670
|
},
|
2671
|
+
"validateTableUpdate": {
|
2672
|
+
"complexType": {
|
2673
|
+
"signature": "(shouldUpdateTableOnExtentChange: boolean) => Promise<void>",
|
2674
|
+
"parameters": [{
|
2675
|
+
"name": "shouldUpdateTableOnExtentChange",
|
2676
|
+
"type": "boolean",
|
2677
|
+
"docs": ""
|
2678
|
+
}],
|
2679
|
+
"references": {
|
2680
|
+
"Promise": {
|
2681
|
+
"location": "global",
|
2682
|
+
"id": "global::Promise"
|
2683
|
+
}
|
2684
|
+
},
|
2685
|
+
"return": "Promise<void>"
|
2686
|
+
},
|
2687
|
+
"docs": {
|
2688
|
+
"text": "Validate if the table should update",
|
2689
|
+
"tags": []
|
2690
|
+
}
|
2691
|
+
},
|
2818
2692
|
"validateActiveEdits": {
|
2819
2693
|
"complexType": {
|
2820
2694
|
"signature": "() => Promise<boolean>",
|
@@ -2910,6 +2784,12 @@ export class LayerTable {
|
|
2910
2784
|
"target": "window",
|
2911
2785
|
"capture": false,
|
2912
2786
|
"passive": false
|
2787
|
+
}, {
|
2788
|
+
"name": "closeEdit",
|
2789
|
+
"method": "closeEdit",
|
2790
|
+
"target": "window",
|
2791
|
+
"capture": false,
|
2792
|
+
"passive": false
|
2913
2793
|
}, {
|
2914
2794
|
"name": "selectionChanged",
|
2915
2795
|
"method": "selectionChanged",
|