@esri/solutions-components 0.8.14 → 0.8.16
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/assets/arcgis-pdf-creator/PDFLabels.d.ts +218 -0
- package/dist/assets/t9n/crowdsource-reporter/resources.json +0 -1
- package/dist/assets/t9n/crowdsource-reporter/resources_ar.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_bg.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_bs.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_ca.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_cs.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_da.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_de.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_el.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_en.json +0 -1
- package/dist/assets/t9n/crowdsource-reporter/resources_es.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_et.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_fi.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_fr.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_he.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_hr.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_hu.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_id.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_it.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_ja.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_ko.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_lt.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_lv.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_nb.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_nl.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_pl.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_pt-BR.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_pt-PT.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_ro.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_ru.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_sk.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_sl.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_sr.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_sv.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_th.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_tr.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_uk.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_vi.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_zh-CN.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_zh-HK.json +15 -7
- package/dist/assets/t9n/crowdsource-reporter/resources_zh-TW.json +15 -7
- package/dist/assets/t9n/feature-list/resources_ar.json +1 -1
- package/dist/assets/t9n/feature-list/resources_bg.json +1 -1
- package/dist/assets/t9n/feature-list/resources_bs.json +1 -1
- package/dist/assets/t9n/feature-list/resources_ca.json +1 -1
- package/dist/assets/t9n/feature-list/resources_cs.json +1 -1
- package/dist/assets/t9n/feature-list/resources_da.json +1 -1
- package/dist/assets/t9n/feature-list/resources_de.json +1 -1
- package/dist/assets/t9n/feature-list/resources_el.json +1 -1
- package/dist/assets/t9n/feature-list/resources_es.json +1 -1
- package/dist/assets/t9n/feature-list/resources_et.json +1 -1
- package/dist/assets/t9n/feature-list/resources_fi.json +1 -1
- package/dist/assets/t9n/feature-list/resources_fr.json +1 -1
- package/dist/assets/t9n/feature-list/resources_he.json +1 -1
- package/dist/assets/t9n/feature-list/resources_hr.json +1 -1
- package/dist/assets/t9n/feature-list/resources_hu.json +1 -1
- package/dist/assets/t9n/feature-list/resources_id.json +1 -1
- package/dist/assets/t9n/feature-list/resources_it.json +1 -1
- package/dist/assets/t9n/feature-list/resources_ja.json +1 -1
- package/dist/assets/t9n/feature-list/resources_ko.json +1 -1
- package/dist/assets/t9n/feature-list/resources_lt.json +1 -1
- package/dist/assets/t9n/feature-list/resources_lv.json +1 -1
- package/dist/assets/t9n/feature-list/resources_nb.json +1 -1
- package/dist/assets/t9n/feature-list/resources_nl.json +1 -1
- package/dist/assets/t9n/feature-list/resources_pl.json +1 -1
- package/dist/assets/t9n/feature-list/resources_pt-BR.json +1 -1
- package/dist/assets/t9n/feature-list/resources_pt-PT.json +1 -1
- package/dist/assets/t9n/feature-list/resources_ro.json +1 -1
- package/dist/assets/t9n/feature-list/resources_ru.json +1 -1
- package/dist/assets/t9n/feature-list/resources_sk.json +1 -1
- package/dist/assets/t9n/feature-list/resources_sl.json +1 -1
- package/dist/assets/t9n/feature-list/resources_sr.json +1 -1
- package/dist/assets/t9n/feature-list/resources_sv.json +1 -1
- package/dist/assets/t9n/feature-list/resources_th.json +1 -1
- package/dist/assets/t9n/feature-list/resources_tr.json +1 -1
- package/dist/assets/t9n/feature-list/resources_uk.json +1 -1
- package/dist/assets/t9n/feature-list/resources_vi.json +1 -1
- package/dist/assets/t9n/feature-list/resources_zh-CN.json +1 -1
- package/dist/assets/t9n/feature-list/resources_zh-HK.json +1 -1
- package/dist/assets/t9n/feature-list/resources_zh-TW.json +1 -1
- package/dist/assets/t9n/layer-list/resources.json +1 -1
- package/dist/assets/t9n/layer-list/resources_en.json +1 -1
- package/dist/assets/t9n/media-card/resources.json +1 -3
- package/dist/assets/t9n/media-card/resources_ar.json +3 -0
- package/dist/assets/t9n/media-card/resources_bg.json +3 -0
- package/dist/assets/t9n/media-card/resources_bs.json +3 -0
- package/dist/assets/t9n/media-card/resources_ca.json +3 -0
- package/dist/assets/t9n/media-card/resources_cs.json +3 -0
- package/dist/assets/t9n/media-card/resources_da.json +3 -0
- package/dist/assets/t9n/media-card/resources_de.json +3 -0
- package/dist/assets/t9n/media-card/resources_el.json +3 -0
- package/dist/assets/t9n/media-card/resources_en.json +1 -3
- package/dist/assets/t9n/media-card/resources_es.json +3 -0
- package/dist/assets/t9n/media-card/resources_et.json +3 -0
- package/dist/assets/t9n/media-card/resources_fi.json +3 -0
- package/dist/assets/t9n/media-card/resources_fr.json +3 -0
- package/dist/assets/t9n/media-card/resources_he.json +3 -0
- package/dist/assets/t9n/media-card/resources_hr.json +3 -0
- package/dist/assets/t9n/media-card/resources_hu.json +3 -0
- package/dist/assets/t9n/media-card/resources_id.json +3 -0
- package/dist/assets/t9n/media-card/resources_it.json +3 -0
- package/dist/assets/t9n/media-card/resources_ja.json +3 -0
- package/dist/assets/t9n/media-card/resources_ko.json +3 -0
- package/dist/assets/t9n/media-card/resources_lt.json +3 -0
- package/dist/assets/t9n/media-card/resources_lv.json +3 -0
- package/dist/assets/t9n/media-card/resources_nb.json +3 -0
- package/dist/assets/t9n/media-card/resources_nl.json +3 -0
- package/dist/assets/t9n/media-card/resources_pl.json +3 -0
- package/dist/assets/t9n/media-card/resources_pt-BR.json +3 -0
- package/dist/assets/t9n/media-card/resources_pt-PT.json +3 -0
- package/dist/assets/t9n/media-card/resources_ro.json +3 -0
- package/dist/assets/t9n/media-card/resources_ru.json +3 -0
- package/dist/assets/t9n/media-card/resources_sk.json +3 -0
- package/dist/assets/t9n/media-card/resources_sl.json +3 -0
- package/dist/assets/t9n/media-card/resources_sr.json +3 -0
- package/dist/assets/t9n/media-card/resources_sv.json +3 -0
- package/dist/assets/t9n/media-card/resources_th.json +3 -0
- package/dist/assets/t9n/media-card/resources_tr.json +3 -0
- package/dist/assets/t9n/media-card/resources_uk.json +3 -0
- package/dist/assets/t9n/media-card/resources_vi.json +3 -0
- package/dist/assets/t9n/media-card/resources_zh-CN.json +3 -0
- package/dist/assets/t9n/media-card/resources_zh-HK.json +3 -0
- package/dist/assets/t9n/media-card/resources_zh-TW.json +3 -0
- package/dist/assets/t9n/public-notification/resources_ar.json +3 -1
- package/dist/assets/t9n/public-notification/resources_bg.json +3 -1
- package/dist/assets/t9n/public-notification/resources_bs.json +3 -1
- package/dist/assets/t9n/public-notification/resources_ca.json +3 -1
- package/dist/assets/t9n/public-notification/resources_cs.json +3 -1
- package/dist/assets/t9n/public-notification/resources_da.json +3 -1
- package/dist/assets/t9n/public-notification/resources_de.json +3 -1
- package/dist/assets/t9n/public-notification/resources_el.json +3 -1
- package/dist/assets/t9n/public-notification/resources_es.json +3 -1
- package/dist/assets/t9n/public-notification/resources_et.json +3 -1
- package/dist/assets/t9n/public-notification/resources_fi.json +3 -1
- package/dist/assets/t9n/public-notification/resources_fr.json +3 -1
- package/dist/assets/t9n/public-notification/resources_he.json +3 -1
- package/dist/assets/t9n/public-notification/resources_hr.json +3 -1
- package/dist/assets/t9n/public-notification/resources_hu.json +3 -1
- package/dist/assets/t9n/public-notification/resources_id.json +3 -1
- package/dist/assets/t9n/public-notification/resources_it.json +3 -1
- package/dist/assets/t9n/public-notification/resources_ja.json +3 -1
- package/dist/assets/t9n/public-notification/resources_ko.json +3 -1
- package/dist/assets/t9n/public-notification/resources_lt.json +3 -1
- package/dist/assets/t9n/public-notification/resources_lv.json +3 -1
- package/dist/assets/t9n/public-notification/resources_nb.json +3 -1
- package/dist/assets/t9n/public-notification/resources_nl.json +3 -1
- package/dist/assets/t9n/public-notification/resources_pl.json +3 -1
- package/dist/assets/t9n/public-notification/resources_pt-BR.json +3 -1
- package/dist/assets/t9n/public-notification/resources_pt-PT.json +3 -1
- package/dist/assets/t9n/public-notification/resources_ro.json +3 -1
- package/dist/assets/t9n/public-notification/resources_ru.json +3 -1
- package/dist/assets/t9n/public-notification/resources_sk.json +3 -1
- package/dist/assets/t9n/public-notification/resources_sl.json +3 -1
- package/dist/assets/t9n/public-notification/resources_sr.json +3 -1
- package/dist/assets/t9n/public-notification/resources_sv.json +3 -1
- package/dist/assets/t9n/public-notification/resources_th.json +3 -1
- package/dist/assets/t9n/public-notification/resources_tr.json +3 -1
- package/dist/assets/t9n/public-notification/resources_uk.json +3 -1
- package/dist/assets/t9n/public-notification/resources_vi.json +3 -1
- package/dist/assets/t9n/public-notification/resources_zh-CN.json +3 -1
- package/dist/assets/t9n/public-notification/resources_zh-HK.json +3 -1
- package/dist/assets/t9n/public-notification/resources_zh-TW.json +3 -1
- package/dist/cjs/basemap-gallery_7.cjs.entry.js +6 -6
- package/dist/cjs/buffer-tools_3.cjs.entry.js +1 -1
- package/dist/cjs/calcite-alert_4.cjs.entry.js +12 -8
- package/dist/cjs/calcite-dropdown_4.cjs.entry.js +2 -2
- package/dist/cjs/calcite-flow_6.cjs.entry.js +320 -255
- package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +7 -7
- package/dist/cjs/card-manager_3.cjs.entry.js +5 -5
- package/dist/cjs/crowdsource-manager.cjs.entry.js +2 -2
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +181 -54
- package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
- package/dist/cjs/{downloadUtils-88c011ad.js → downloadUtils-2e36a300.js} +31 -35
- package/dist/cjs/feature-comments.cjs.entry.js +1 -1
- package/dist/cjs/feature-form-flow-item.cjs.entry.js +1 -1
- package/dist/cjs/feature-list.cjs.entry.js +297 -0
- package/dist/cjs/features-flow-item.cjs.entry.js +1 -1
- package/dist/cjs/{index.es-1d5ee842.js → index.es-56415e48.js} +2 -2
- package/dist/cjs/layout-manager.cjs.entry.js +1 -1
- package/dist/cjs/list-flow-item.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/location-flow-item.cjs.entry.js +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +5 -5
- package/dist/cjs/{mapViewUtils-82018df6.js → mapViewUtils-6e46ba33.js} +16 -0
- package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
- package/dist/cjs/public-notification.cjs.entry.js +3 -3
- package/dist/cjs/refine-results-flow-item.cjs.entry.js +1 -1
- package/dist/cjs/share-item.cjs.entry.js +1 -1
- package/dist/cjs/solution-configuration.cjs.entry.js +3 -3
- package/dist/cjs/solution-contents_3.cjs.entry.js +3 -3
- package/dist/cjs/solution-item-icon.cjs.entry.js +1 -1
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/cjs/spatial-ref.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/create-related-feature/create-related-feature.css +8 -0
- package/dist/collection/components/create-related-feature/create-related-feature.js +426 -0
- package/dist/collection/components/create-related-feature/test/create-related-feature.e2e.js +14 -0
- package/dist/collection/components/create-related-feature/test/create-related-feature.spec.js +22 -0
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +1 -1
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +1 -0
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +367 -218
- package/dist/collection/components/deduct-calculator/deduct-calculator.js +1 -1
- package/dist/collection/components/delete-button/delete-button.js +1 -1
- package/dist/collection/components/edit-card/edit-card.js +1 -1
- package/dist/collection/components/feature-comments/feature-comments.js +1 -1
- package/dist/collection/components/feature-details/feature-details.css +6 -3
- package/dist/collection/components/feature-details/feature-details.js +95 -9
- package/dist/collection/components/feature-form-flow-item/feature-form-flow-item.js +1 -1
- package/dist/collection/components/feature-list/feature-list.css +6 -1
- package/dist/collection/components/feature-list/feature-list.js +133 -13
- package/dist/collection/components/features-flow-item/features-flow-item.js +1 -1
- package/dist/collection/components/floor-filter/floor-filter.js +1 -1
- package/dist/collection/components/info-card/info-card.js +11 -7
- package/dist/collection/components/json-editor/json-editor.js +1 -1
- package/dist/collection/components/layer-list/layer-list.js +3 -23
- package/dist/collection/components/layer-table/layer-table.css +1 -1
- package/dist/collection/components/layer-table/layer-table.js +2 -2
- package/dist/collection/components/layout-manager/layout-manager.js +1 -1
- package/dist/collection/components/list-flow-item/list-flow-item.js +1 -1
- package/dist/collection/components/location-flow-item/location-flow-item.js +1 -1
- package/dist/collection/components/map-card/map-card.js +1 -1
- package/dist/collection/components/map-draw-tools/map-draw-tools.js +1 -1
- package/dist/collection/components/map-fullscreen/map-fullscreen.js +1 -1
- package/dist/collection/components/map-layer-picker/map-layer-picker.js +1 -1
- package/dist/collection/components/map-legend/map-legend.js +1 -1
- package/dist/collection/components/map-picker/map-picker.js +1 -1
- package/dist/collection/components/map-search/map-search.js +1 -1
- package/dist/collection/components/map-select-tools/map-select-tools.js +1 -1
- package/dist/collection/components/map-tools/map-tools.js +1 -1
- package/dist/collection/components/pci-calculator/pci-calculator.js +1 -1
- package/dist/collection/components/pdf-download/pdf-download.js +1 -1
- package/dist/collection/components/public-notification/public-notification.js +1 -1
- package/dist/collection/components/refine-results-flow-item/refine-results-flow-item.js +1 -1
- package/dist/collection/components/refine-selection/refine-selection.js +1 -1
- package/dist/collection/components/share-item/share-item.js +1 -1
- package/dist/collection/components/solution-configuration/solution-configuration.js +3 -3
- package/dist/collection/components/solution-contents/solution-contents.js +1 -1
- package/dist/collection/components/solution-item/solution-item.js +1 -1
- package/dist/collection/components/solution-item-details/solution-item-details.js +1 -1
- package/dist/collection/components/solution-item-icon/solution-item-icon.js +1 -1
- package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +1 -1
- package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +1 -1
- package/dist/collection/components/solution-resource-item/solution-resource-item.js +1 -1
- package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +1 -1
- package/dist/collection/components/solution-template-data/solution-template-data.js +1 -1
- package/dist/collection/components/solution-variables/solution-variables.js +1 -1
- package/dist/collection/components/spatial-ref/spatial-ref.js +1 -1
- package/dist/collection/utils/downloadUtils.js +0 -1
- package/dist/collection/utils/interfaces.ts +5 -0
- package/dist/collection/utils/mapViewUtils.js +15 -0
- package/dist/collection/utils/mapViewUtils.ts +19 -1
- package/dist/collection/utils/pdfUtils.js +29 -34
- package/dist/collection/utils/pdfUtils.ts +40 -47
- package/dist/components/create-related-feature.d.ts +11 -0
- package/dist/components/create-related-feature.js +11 -0
- package/dist/components/create-related-feature2.js +274 -0
- package/dist/components/crowdsource-manager.js +1 -1
- package/dist/components/crowdsource-reporter.js +287 -148
- package/dist/components/deduct-calculator2.js +1 -1
- package/dist/components/delete-button2.js +1 -1
- package/dist/components/downloadUtils.js +29 -33
- package/dist/components/edit-card2.js +1 -1
- package/dist/components/feature-comments.js +1 -1
- package/dist/components/feature-details2.js +163 -40
- package/dist/components/feature-form-flow-item.js +1 -1
- package/dist/components/feature-list2.js +64 -16
- package/dist/components/features-flow-item.js +1 -1
- package/dist/components/floor-filter2.js +1 -1
- package/dist/components/info-card2.js +9 -5
- package/dist/components/json-editor2.js +1 -1
- package/dist/components/layer-list2.js +3 -7
- package/dist/components/layer-table2.js +2 -2
- package/dist/components/layout-manager.js +1 -1
- package/dist/components/list-flow-item.js +1 -1
- package/dist/components/location-flow-item.js +1 -1
- package/dist/components/map-card2.js +1 -1
- package/dist/components/map-draw-tools2.js +1 -1
- package/dist/components/map-fullscreen2.js +1 -1
- package/dist/components/map-layer-picker2.js +1 -1
- package/dist/components/map-legend2.js +1 -1
- package/dist/components/map-picker2.js +1 -1
- package/dist/components/map-search2.js +1 -1
- package/dist/components/map-select-tools2.js +1 -1
- package/dist/components/map-tools2.js +1 -1
- package/dist/components/mapViewUtils.js +16 -1
- package/dist/components/pci-calculator.js +1 -1
- package/dist/components/pdf-download2.js +1 -1
- package/dist/components/public-notification.js +1 -1
- package/dist/components/refine-results-flow-item.js +1 -1
- package/dist/components/refine-selection2.js +2 -2
- package/dist/components/share-item.js +1 -1
- package/dist/components/solution-configuration.js +3 -3
- package/dist/components/solution-contents2.js +1 -1
- package/dist/components/solution-item-details2.js +1 -1
- package/dist/components/solution-item-icon2.js +1 -1
- package/dist/components/solution-item-sharing2.js +1 -1
- package/dist/components/solution-item2.js +1 -1
- package/dist/components/solution-organization-variables2.js +1 -1
- package/dist/components/solution-resource-item2.js +1 -1
- package/dist/components/solution-spatial-ref2.js +1 -1
- package/dist/components/solution-template-data2.js +1 -1
- package/dist/components/solution-variables2.js +1 -1
- package/dist/components/spatial-ref2.js +1 -1
- package/dist/esm/basemap-gallery_7.entry.js +6 -6
- package/dist/esm/buffer-tools_3.entry.js +1 -1
- package/dist/esm/calcite-alert_4.entry.js +12 -8
- package/dist/esm/calcite-dropdown_4.entry.js +2 -2
- package/dist/esm/calcite-flow_6.entry.js +321 -256
- package/dist/esm/calcite-shell-panel_14.entry.js +7 -7
- package/dist/esm/card-manager_3.entry.js +5 -5
- package/dist/esm/crowdsource-manager.entry.js +2 -2
- package/dist/esm/crowdsource-reporter.entry.js +182 -55
- package/dist/esm/deduct-calculator.entry.js +1 -1
- package/dist/esm/{downloadUtils-fa6e5c37.js → downloadUtils-aab31bfe.js} +31 -35
- package/dist/esm/feature-comments.entry.js +1 -1
- package/dist/esm/feature-form-flow-item.entry.js +1 -1
- package/dist/esm/feature-list.entry.js +293 -0
- package/dist/esm/features-flow-item.entry.js +1 -1
- package/dist/esm/{index.es-114545fc.js → index.es-43ba3006.js} +2 -2
- package/dist/esm/layout-manager.entry.js +1 -1
- package/dist/esm/list-flow-item.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/location-flow-item.entry.js +1 -1
- package/dist/esm/map-select-tools_3.entry.js +5 -5
- package/dist/esm/{mapViewUtils-c83c03a4.js → mapViewUtils-4618ddb8.js} +16 -1
- package/dist/esm/pci-calculator.entry.js +1 -1
- package/dist/esm/public-notification.entry.js +3 -3
- package/dist/esm/refine-results-flow-item.entry.js +1 -1
- package/dist/esm/share-item.entry.js +1 -1
- package/dist/esm/solution-configuration.entry.js +3 -3
- package/dist/esm/solution-contents_3.entry.js +3 -3
- package/dist/esm/solution-item-icon.entry.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/esm/spatial-ref.entry.js +1 -1
- package/dist/solutions-components/{p-afdc6bb2.entry.js → p-102b1f94.entry.js} +1 -1
- package/dist/solutions-components/p-22aece81.entry.js +6 -0
- package/dist/solutions-components/p-28c6906c.entry.js +6 -0
- package/dist/solutions-components/{p-71bdc77f.entry.js → p-33845a79.entry.js} +1 -1
- package/dist/solutions-components/{p-16ac309d.entry.js → p-3470c0f7.entry.js} +1 -1
- package/dist/solutions-components/{p-ee457c15.js → p-37fc92db.js} +3 -3
- package/dist/solutions-components/{p-59c92ba2.entry.js → p-3a2e0188.entry.js} +1 -1
- package/dist/solutions-components/p-3fae9775.entry.js +6 -0
- package/dist/solutions-components/p-4830649e.entry.js +6 -0
- package/dist/solutions-components/{p-0f139e3e.entry.js → p-54324eaa.entry.js} +1 -1
- package/dist/solutions-components/{p-d9c89479.js → p-583e5dd0.js} +1 -1
- package/dist/solutions-components/{p-69935f68.entry.js → p-667c022f.entry.js} +1 -1
- package/dist/solutions-components/{p-247edfb2.js → p-667caa6b.js} +1 -1
- package/dist/solutions-components/p-71de367b.entry.js +6 -0
- package/dist/solutions-components/{p-32fed174.entry.js → p-84a5d221.entry.js} +1 -1
- package/dist/solutions-components/{p-6e8782d1.entry.js → p-88f73319.entry.js} +1 -1
- package/dist/solutions-components/p-8a81f3c7.entry.js +6 -0
- package/dist/solutions-components/{p-288592d4.entry.js → p-92ed8d5d.entry.js} +1 -1
- package/dist/solutions-components/p-aa06f4d1.entry.js +6 -0
- package/dist/solutions-components/{p-67ee4afe.entry.js → p-b3160299.entry.js} +4 -4
- package/dist/solutions-components/p-b6d47bab.entry.js +17 -0
- package/dist/solutions-components/{p-bcf20616.entry.js → p-b76b5310.entry.js} +1 -1
- package/dist/solutions-components/{p-62994fb8.entry.js → p-bb0c7be3.entry.js} +3 -3
- package/dist/solutions-components/{p-7fdcce90.entry.js → p-bf57dbfd.entry.js} +2 -2
- package/dist/solutions-components/p-c047a6fc.entry.js +6 -0
- package/dist/solutions-components/{p-83997457.entry.js → p-d84fe0ee.entry.js} +2 -2
- package/dist/solutions-components/p-e9176a44.entry.js +6 -0
- package/dist/solutions-components/p-e947332f.entry.js +6 -0
- package/dist/solutions-components/{p-568c465e.entry.js → p-fc665a1a.entry.js} +1 -1
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +5 -0
- package/dist/solutions-components/utils/mapViewUtils.ts +19 -1
- package/dist/solutions-components/utils/pdfUtils.ts +40 -47
- package/dist/types/assets/arcgis-pdf-creator/PDFLabels.d.ts +218 -0
- package/dist/types/components/create-related-feature/create-related-feature.d.ts +113 -0
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +197 -99
- package/dist/types/components/feature-details/feature-details.d.ts +31 -0
- package/dist/types/components/feature-list/feature-list.d.ts +31 -2
- package/dist/types/components/info-card/info-card.d.ts +6 -2
- package/dist/types/components/layer-list/layer-list.d.ts +0 -5
- package/dist/types/components.d.ts +131 -12
- package/dist/types/preact.d.ts +8 -1
- package/dist/types/utils/interfaces.d.ts +4 -0
- package/dist/types/utils/mapViewUtils.d.ts +7 -0
- package/package.json +1 -1
- package/dist/solutions-components/p-28b4b325.entry.js +0 -6
- package/dist/solutions-components/p-36d3476c.entry.js +0 -17
- package/dist/solutions-components/p-452d2d38.entry.js +0 -6
- package/dist/solutions-components/p-48b2469f.entry.js +0 -6
- package/dist/solutions-components/p-4f0712e2.entry.js +0 -6
- package/dist/solutions-components/p-535c103e.entry.js +0 -6
- package/dist/solutions-components/p-7ca416ab.entry.js +0 -6
- package/dist/solutions-components/p-8e337f80.entry.js +0 -6
- package/dist/solutions-components/p-d13f6b3a.entry.js +0 -6
- package/dist/solutions-components/p-d62b99ff.entry.js +0 -6
@@ -16,8 +16,7 @@ const locale = require('./locale-5efdf085.js');
|
|
16
16
|
const t9n = require('./t9n-9d199056.js');
|
17
17
|
const resources = require('./resources-cb14bafc.js');
|
18
18
|
const locale$1 = require('./locale-48d76c59.js');
|
19
|
-
const mapViewUtils = require('./mapViewUtils-
|
20
|
-
const popupUtils = require('./popupUtils-500c1544.js');
|
19
|
+
const mapViewUtils = require('./mapViewUtils-6e46ba33.js');
|
21
20
|
require('./guid-a7528dfa.js');
|
22
21
|
require('./resources-1c0e54c1.js');
|
23
22
|
require('./browser-a96d0614.js');
|
@@ -693,13 +692,255 @@ const CreateFeature = class {
|
|
693
692
|
};
|
694
693
|
CreateFeature.style = CreateFeatureStyle0;
|
695
694
|
|
696
|
-
const
|
695
|
+
const createRelatedFeatureCss = ":host{display:block}.esri-editor__panel-toolbar{display:none !important}";
|
696
|
+
const CreateRelatedFeatureStyle0 = createRelatedFeatureCss;
|
697
|
+
|
698
|
+
const CreateRelatedFeature = class {
|
699
|
+
constructor(hostRef) {
|
700
|
+
index.registerInstance(this, hostRef);
|
701
|
+
this.success = index.createEvent(this, "success", 7);
|
702
|
+
this.fail = index.createEvent(this, "fail", 7);
|
703
|
+
this.isActionPending = index.createEvent(this, "isActionPending", 7);
|
704
|
+
this.mapView = undefined;
|
705
|
+
this.table = undefined;
|
706
|
+
this.selectedFeature = undefined;
|
707
|
+
this.customizeSubmit = false;
|
708
|
+
}
|
709
|
+
//--------------------------------------------------------------------------
|
710
|
+
//
|
711
|
+
// Watch handlers
|
712
|
+
//
|
713
|
+
//--------------------------------------------------------------------------
|
714
|
+
/**
|
715
|
+
* Called each time the mapView prop is changed.
|
716
|
+
*/
|
717
|
+
async mapViewWatchHandler() {
|
718
|
+
await this.mapView.when(async () => {
|
719
|
+
await this.init();
|
720
|
+
});
|
721
|
+
}
|
722
|
+
//--------------------------------------------------------------------------
|
723
|
+
//
|
724
|
+
// Methods (public)
|
725
|
+
//
|
726
|
+
//--------------------------------------------------------------------------
|
727
|
+
/**
|
728
|
+
* Destroy the Editor widget instance
|
729
|
+
*/
|
730
|
+
async close() {
|
731
|
+
if (this._editor) {
|
732
|
+
this._editor.destroy();
|
733
|
+
}
|
734
|
+
}
|
735
|
+
/**
|
736
|
+
* Submit the comment
|
737
|
+
*/
|
738
|
+
async submit() {
|
739
|
+
if (this._editor) {
|
740
|
+
this._editor.viewModel.featureFormViewModel.submit();
|
741
|
+
}
|
742
|
+
}
|
743
|
+
//--------------------------------------------------------------------------
|
744
|
+
//
|
745
|
+
// Functions (lifecycle)
|
746
|
+
//
|
747
|
+
//--------------------------------------------------------------------------
|
748
|
+
/**
|
749
|
+
* StencilJS: Called once just after the component is first connected to the DOM.
|
750
|
+
* @returns Promise when complete
|
751
|
+
*/
|
752
|
+
async componentWillLoad() {
|
753
|
+
await this.initModules();
|
754
|
+
}
|
755
|
+
/**
|
756
|
+
* Init Editor widget and starts the create workflow
|
757
|
+
*/
|
758
|
+
async init() {
|
759
|
+
if (this.mapView) {
|
760
|
+
await this.createEditorWidget();
|
761
|
+
}
|
762
|
+
}
|
763
|
+
/**
|
764
|
+
* Load esri javascript api modules
|
765
|
+
* @returns Promise resolving when function is done
|
766
|
+
* @protected
|
767
|
+
*/
|
768
|
+
async initModules() {
|
769
|
+
const [Editor, reactiveUtils] = await locale$1.loadModules([
|
770
|
+
"esri/widgets/Editor",
|
771
|
+
"esri/core/reactiveUtils"
|
772
|
+
]);
|
773
|
+
this.Editor = Editor;
|
774
|
+
this.reactiveUtils = reactiveUtils;
|
775
|
+
}
|
776
|
+
render() {
|
777
|
+
return (index.h(index.Host, { key: '383e8fac89d037f77241d856013202d1e04b28ba' }));
|
778
|
+
}
|
779
|
+
/**
|
780
|
+
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
781
|
+
*/
|
782
|
+
async componentDidLoad() {
|
783
|
+
await this.init();
|
784
|
+
}
|
785
|
+
/**
|
786
|
+
* Display editor widget to create the new feature
|
787
|
+
* @protected
|
788
|
+
*/
|
789
|
+
async createEditorWidget() {
|
790
|
+
if (this._editor) {
|
791
|
+
this._editor.destroy();
|
792
|
+
}
|
793
|
+
const container = document.createElement("div");
|
794
|
+
this._editor = new this.Editor({
|
795
|
+
view: this.mapView,
|
796
|
+
visibleElements: {
|
797
|
+
snappingControls: false
|
798
|
+
},
|
799
|
+
container
|
800
|
+
});
|
801
|
+
this.el.appendChild(container);
|
802
|
+
//Add handle to watch featureFormViewModel ready state and hide the editor elements
|
803
|
+
const hideElementHandle = this.reactiveUtils.watch(() => { var _a; return (_a = this._editor.viewModel.featureFormViewModel) === null || _a === void 0 ? void 0 : _a.state; }, (state) => {
|
804
|
+
if (state === 'ready') {
|
805
|
+
this.hideEditorsElements();
|
806
|
+
}
|
807
|
+
});
|
808
|
+
this._editor.viewModel.addHandles(hideElementHandle);
|
809
|
+
//Add handle to watch featureTemplatesViewModel ready state and then start the creation
|
810
|
+
const handle = this.reactiveUtils.watch(() => this._editor.viewModel.featureTemplatesViewModel.state, (state) => {
|
811
|
+
if (state === 'ready') {
|
812
|
+
void this.startCreate();
|
813
|
+
}
|
814
|
+
});
|
815
|
+
this._editor.viewModel.addHandles(handle);
|
816
|
+
// Add handle to watch if attachments are added/edited
|
817
|
+
const attachmentHandle = this.reactiveUtils.watch(() => this._editor.viewModel.state, (state) => {
|
818
|
+
if (state === 'adding-attachment' || state === 'editing-attachment') {
|
819
|
+
this._addingAttachment = true;
|
820
|
+
this.isActionPending.emit(true);
|
821
|
+
}
|
822
|
+
else {
|
823
|
+
if (this._addingAttachment) {
|
824
|
+
this.isActionPending.emit(false);
|
825
|
+
this._addingAttachment = false;
|
826
|
+
}
|
827
|
+
}
|
828
|
+
});
|
829
|
+
this._editor.viewModel.addHandles(attachmentHandle);
|
830
|
+
}
|
831
|
+
/**
|
832
|
+
* Start creating the feature feature form
|
833
|
+
* @protected
|
834
|
+
*/
|
835
|
+
async startCreate() {
|
836
|
+
const parentLayer = this.selectedFeature.layer;
|
837
|
+
const childTable = this.table;
|
838
|
+
const parentRelationship = parentLayer.relationships[0];
|
839
|
+
const childRelationship = childTable.relationships.find((rel) => parentLayer.layerId === rel.relatedTableId);
|
840
|
+
const queryResult = await parentLayer.queryFeatures({
|
841
|
+
objectIds: [this.selectedFeature.getObjectId()],
|
842
|
+
outFields: [parentLayer.objectIdField, parentRelationship.keyField],
|
843
|
+
});
|
844
|
+
const parentFeature = queryResult.features[0];
|
845
|
+
const template = childTable.templates[0];
|
846
|
+
const attributeOverrides = this.makeAttributesForRelatedFeature(parentFeature, parentRelationship, childRelationship);
|
847
|
+
const creationInfo = {
|
848
|
+
attributeOverrides,
|
849
|
+
layer: childTable,
|
850
|
+
template,
|
851
|
+
};
|
852
|
+
await this._editor.startCreateFeaturesWorkflowAtFeatureCreation(creationInfo);
|
853
|
+
// Emit an event to show submit cancel buttons
|
854
|
+
this.isActionPending.emit(false);
|
855
|
+
this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
|
856
|
+
}
|
857
|
+
/**
|
858
|
+
* Hides the elements of editor widget
|
859
|
+
* @protected
|
860
|
+
*/
|
861
|
+
hideEditorsElements() {
|
862
|
+
if (!this.customizeSubmit) {
|
863
|
+
return;
|
864
|
+
}
|
865
|
+
setTimeout(() => {
|
866
|
+
var _a;
|
867
|
+
//hides the header and footer on the featureForm
|
868
|
+
(_a = this.el.querySelector('.esri-editor').querySelectorAll('calcite-flow-item')) === null || _a === void 0 ? void 0 : _a.forEach((flowItem) => {
|
869
|
+
var _a, _b, _c, _d, _e;
|
870
|
+
const article = (_c = (_b = (_a = flowItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('calcite-panel')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('article');
|
871
|
+
//hide the header
|
872
|
+
(_d = article === null || article === void 0 ? void 0 : article.querySelector('header')) === null || _d === void 0 ? void 0 : _d.setAttribute('style', 'display: none');
|
873
|
+
//hide the footer
|
874
|
+
(_e = article === null || article === void 0 ? void 0 : article.querySelector('footer')) === null || _e === void 0 ? void 0 : _e.setAttribute('style', 'display: none');
|
875
|
+
});
|
876
|
+
}, 700);
|
877
|
+
}
|
878
|
+
/**
|
879
|
+
* Makes attributes for related feature
|
880
|
+
* @param parentFeature Parent feature
|
881
|
+
* @param parentRelationship Parent relationship
|
882
|
+
* @param childRelationship Child relationship
|
883
|
+
* @returns Attributes for related feature
|
884
|
+
*/
|
885
|
+
makeAttributesForRelatedFeature(parentFeature, parentRelationship, childRelationship) {
|
886
|
+
const parentKeyField = parentRelationship.keyField;
|
887
|
+
const parentKeyValue = parentFeature.getAttribute(parentKeyField);
|
888
|
+
let childKeyField = childRelationship.keyField;
|
889
|
+
// get the field from table which name is same as childKeyField and use that field name as childKeyField
|
890
|
+
const field = this.table.fields.find((field) => field.name.toLocaleLowerCase() === childKeyField.toLocaleLowerCase());
|
891
|
+
childKeyField = field.name;
|
892
|
+
const childAttributes = {
|
893
|
+
[childKeyField]: parentKeyValue,
|
894
|
+
};
|
895
|
+
return childAttributes;
|
896
|
+
}
|
897
|
+
/**
|
898
|
+
* On creation of feature emit the event that the feature is created
|
899
|
+
* @param evt feature submit event
|
900
|
+
* @protected
|
901
|
+
*/
|
902
|
+
async submitted(evt) {
|
903
|
+
var _a;
|
904
|
+
//return if any attribute is invalid , focus will be shifted to the invalid attribute in feature form
|
905
|
+
if (evt.invalid.length) {
|
906
|
+
return;
|
907
|
+
}
|
908
|
+
//Submit only when valid attributes
|
909
|
+
//emit success or fail based on the result
|
910
|
+
if (evt.valid.length) {
|
911
|
+
try {
|
912
|
+
await this._editor.activeWorkflow.commit();
|
913
|
+
//throw errors if any failures
|
914
|
+
if ((_a = this._editor.viewModel.failures) === null || _a === void 0 ? void 0 : _a.length) {
|
915
|
+
this._editor.viewModel.failures.some((failure) => {
|
916
|
+
if (failure.error) {
|
917
|
+
throw (failure.error);
|
918
|
+
}
|
919
|
+
});
|
920
|
+
}
|
921
|
+
}
|
922
|
+
catch (e) {
|
923
|
+
this.fail.emit(e);
|
924
|
+
return;
|
925
|
+
}
|
926
|
+
this.success.emit();
|
927
|
+
}
|
928
|
+
}
|
929
|
+
get el() { return index.getElement(this); }
|
930
|
+
static get watchers() { return {
|
931
|
+
"mapView": ["mapViewWatchHandler"]
|
932
|
+
}; }
|
933
|
+
};
|
934
|
+
CreateRelatedFeature.style = CreateRelatedFeatureStyle0;
|
935
|
+
|
936
|
+
const featureDetailsCss = ":host{display:block}.buttons-container{align-items:center;display:flex;padding:10px 0 10px 15px;color:var(--calcite-color-text-1) !important;background-color:var(--calcite-color-foreground-1) !important;border-block-start:1px solid var(--calcite-color-border-3);border-block-end:1px solid var(--calcite-color-border-3)}.comment-btn{display:flex;gap:5px;width:37px;font-size:var(--calcite-font-size--2);align-items:center}";
|
697
937
|
const FeatureDetailsStyle0 = featureDetailsCss;
|
698
938
|
|
699
939
|
const FeatureDetails = class {
|
700
940
|
constructor(hostRef) {
|
701
941
|
index.registerInstance(this, hostRef);
|
702
942
|
this.loadingStatus = index.createEvent(this, "loadingStatus", 7);
|
943
|
+
this.featureSelect = index.createEvent(this, "featureSelect", 7);
|
703
944
|
/**
|
704
945
|
* string[]: Valid field types for like and dislike
|
705
946
|
*/
|
@@ -711,8 +952,10 @@ const FeatureDetails = class {
|
|
711
952
|
this._likeCount = 0;
|
712
953
|
this._disLikeCount = 0;
|
713
954
|
this._dislikeFieldAvailable = false;
|
955
|
+
this._commentsAvailable = false;
|
714
956
|
this._isLikeBtnClicked = false;
|
715
957
|
this._isDislikeBtnClicked = false;
|
958
|
+
this._relatedFeaturesOIDs = undefined;
|
716
959
|
}
|
717
960
|
//--------------------------------------------------------------------------
|
718
961
|
//
|
@@ -725,19 +968,23 @@ const FeatureDetails = class {
|
|
725
968
|
async graphicsWatchHandler() {
|
726
969
|
await this.getCompleteGraphic(this.graphics[0]);
|
727
970
|
this.checkLikeDislikeFields();
|
971
|
+
await this.processComments();
|
728
972
|
}
|
729
973
|
//--------------------------------------------------------------------------
|
730
974
|
//
|
731
975
|
// Methods (public)
|
976
|
+
//
|
977
|
+
//--------------------------------------------------------------------------
|
732
978
|
/**
|
733
979
|
* Refresh the features comments which will fetch like, dislike and update the component
|
734
980
|
* @returns Promise that resolves when the operation is complete
|
735
981
|
*/
|
736
982
|
async refresh(graphic) {
|
983
|
+
await this.getCompleteGraphic(graphic);
|
984
|
+
await this.processComments();
|
737
985
|
if (this.isLikeDislikeConfigured(graphic.layer)) {
|
738
986
|
// in case of multiple features selected fetch complete feature and update like dislike for current feature
|
739
987
|
if (graphic && this.graphics.length > 1) {
|
740
|
-
await this.getCompleteGraphic(graphic);
|
741
988
|
this.checkLikeDislikeFields();
|
742
989
|
}
|
743
990
|
}
|
@@ -771,15 +1018,21 @@ const FeatureDetails = class {
|
|
771
1018
|
*/
|
772
1019
|
async componentWillLoad() {
|
773
1020
|
await this._initModules();
|
1021
|
+
//Apply query to get complete graphic with complete attributes
|
774
1022
|
await this.getCompleteGraphic(this.graphics[0]);
|
775
1023
|
this.checkLikeDislikeFields();
|
1024
|
+
await this.processComments();
|
776
1025
|
}
|
777
1026
|
render() {
|
778
|
-
var _a, _b, _c, _d;
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
1027
|
+
var _a, _b, _c, _d, _e;
|
1028
|
+
//When related features found show comments list of only those features else comments list will be empty
|
1029
|
+
const commentsListWhereClause = ((_a = this._relatedFeaturesOIDs) === null || _a === void 0 ? void 0 : _a.length) > 0 ? `objectId in(${this._relatedFeaturesOIDs})` : '1=0';
|
1030
|
+
return (index.h("calcite-panel", { key: 'c39c0eec021627b920972f7d4bce0d45bfe0a9c2', "full-height": true }, index.h("info-card", { key: 'e90cb427a1f874216afcfdf0a33804bf14fb6a2c', allowEditing: false, graphics: this.graphics, highlightEnabled: false, isLoading: false, isMobile: false, mapView: this.mapView, paginationEnabled: false, position: "relative", ref: el => this._infoCard = el, zoomAndScrollToSelected: true }), (this._likeFieldAvailable || this._dislikeFieldAvailable || this._commentsAvailable) &&
|
1031
|
+
index.h("div", { key: 'ecfdf111612c92eacfd97dae7bb3080b7ad50e96', class: "buttons-container" }, this._commentsAvailable &&
|
1032
|
+
index.h("div", { key: '07a8213e11585041fb1c5f56254447a720033f04', class: "comment-btn" }, index.h("span", { key: 'f4071fbd03372a0e88857962e9c31530e2dc693a' }, this._relatedFeaturesOIDs.length), index.h("calcite-icon", { key: '30258e1daae5f1e00d18dd4ec052861de46b45bf', icon: "speech-bubble", scale: 's' })), this._likeFieldAvailable &&
|
1033
|
+
index.h("calcite-button", { key: 'fa76245789a29e49be06482fd8cd0244f44d19ab', appearance: "transparent", iconEnd: "thumbs-up", kind: this._isLikeBtnClicked ? "brand" : "neutral", onClick: this.onLikeButtonClick.bind(this), scale: 's' }, (_c = (_b = this._likeCount) !== null && _b !== void 0 ? _b : this._selectedGraphic.attributes[this._likeField]) !== null && _c !== void 0 ? _c : 0), this._dislikeFieldAvailable &&
|
1034
|
+
index.h("calcite-button", { key: 'ac9adc799a93f08319b2f0b797cd5d4773b1a6cb', appearance: "transparent", iconEnd: "thumbs-down", kind: this._isDislikeBtnClicked ? "brand" : "neutral", onClick: this.onDislikeButtonClick.bind(this), scale: 's' }, (_e = (_d = this._disLikeCount) !== null && _d !== void 0 ? _d : this._selectedGraphic.attributes[this._dislikeField]) !== null && _e !== void 0 ? _e : 0)), this.relatedTableId && this._commentsAvailable &&
|
1035
|
+
index.h("feature-list", { key: '165b2ac0af65cbbab945a0dfd4ac878cc41af56c', class: "height-full", mapView: this.mapView, pageSize: 5, ref: el => this._commentsList = el, selectedLayerId: this.relatedTableId, showInitialLoading: false, textSize: "small", whereClause: commentsListWhereClause })));
|
783
1036
|
}
|
784
1037
|
/**
|
785
1038
|
* Load esri javascript api modules
|
@@ -789,9 +1042,11 @@ const FeatureDetails = class {
|
|
789
1042
|
* @protected
|
790
1043
|
*/
|
791
1044
|
async _initModules() {
|
792
|
-
const [Graphic] = await locale$1.loadModules([
|
1045
|
+
const [RelationshipQuery, Graphic] = await locale$1.loadModules([
|
1046
|
+
"esri/rest/support/RelationshipQuery",
|
793
1047
|
"esri/Graphic"
|
794
1048
|
]);
|
1049
|
+
this.RelationshipQuery = RelationshipQuery;
|
795
1050
|
this.Graphic = Graphic;
|
796
1051
|
}
|
797
1052
|
/**
|
@@ -806,6 +1061,56 @@ const FeatureDetails = class {
|
|
806
1061
|
const completeGraphic = await layer.queryFeatures(query);
|
807
1062
|
this._selectedGraphic = completeGraphic.features[0];
|
808
1063
|
}
|
1064
|
+
/**
|
1065
|
+
* Process the comments functionality.
|
1066
|
+
* If comments are configured, fetches the related comments ans creates the input for comments list
|
1067
|
+
* @protected
|
1068
|
+
*/
|
1069
|
+
async processComments() {
|
1070
|
+
var _a;
|
1071
|
+
const selectedLayer = this._selectedGraphic.layer;
|
1072
|
+
const commentsConfigured = this.reportingOptions[selectedLayer.id].comment && ((_a = selectedLayer.relationships) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
1073
|
+
if (commentsConfigured) {
|
1074
|
+
//Get comments table id from map
|
1075
|
+
const relatedTableIdFromRelnship = selectedLayer.relationships[0].relatedTableId;
|
1076
|
+
const allTables = await mapViewUtils.getAllTables(this.mapView);
|
1077
|
+
const relatedTable = allTables.filter((table) => relatedTableIdFromRelnship === table.layerId);
|
1078
|
+
this.relatedTableId = (relatedTable === null || relatedTable === void 0 ? void 0 : relatedTable.length) > 0 ? relatedTable[0].id : '';
|
1079
|
+
//**Get the related records for the current selected feature**
|
1080
|
+
if (this.relatedTableId) {
|
1081
|
+
//current selected feature's objectId
|
1082
|
+
const objectId = this._selectedGraphic.attributes[selectedLayer.objectIdField];
|
1083
|
+
//create relationship query to get all the related records with the current selected feature
|
1084
|
+
const relationshipQuery = new this.RelationshipQuery({
|
1085
|
+
objectIds: [objectId],
|
1086
|
+
outFields: ['*'],
|
1087
|
+
relationshipId: selectedLayer.relationships[0].id
|
1088
|
+
});
|
1089
|
+
const result = await selectedLayer.queryRelatedFeatures(relationshipQuery).catch((e) => {
|
1090
|
+
console.error(e);
|
1091
|
+
});
|
1092
|
+
const relatedOIDs = [];
|
1093
|
+
if (result[objectId]) {
|
1094
|
+
result[objectId].features.forEach((feature) => {
|
1095
|
+
relatedOIDs.push(feature.attributes.OBJECTID);
|
1096
|
+
});
|
1097
|
+
}
|
1098
|
+
// Store the objectid's of the related features, this will be used to show the comments and its count
|
1099
|
+
this._relatedFeaturesOIDs = relatedOIDs;
|
1100
|
+
//Set comments available or not
|
1101
|
+
this._commentsAvailable = true;
|
1102
|
+
}
|
1103
|
+
else {
|
1104
|
+
this._relatedFeaturesOIDs = [];
|
1105
|
+
this._commentsAvailable = false;
|
1106
|
+
}
|
1107
|
+
}
|
1108
|
+
else {
|
1109
|
+
this._relatedFeaturesOIDs = [];
|
1110
|
+
this._commentsAvailable = false;
|
1111
|
+
this.relatedTableId = '';
|
1112
|
+
}
|
1113
|
+
}
|
809
1114
|
/**
|
810
1115
|
* Checks if the layers is configured for like dislike or not
|
811
1116
|
* @param selectedLayer Feature layer
|
@@ -827,6 +1132,7 @@ const FeatureDetails = class {
|
|
827
1132
|
if (!likeField && !dislikeField) {
|
828
1133
|
return false;
|
829
1134
|
}
|
1135
|
+
//Check if selected layer have the configured like and dislike field and it is of integer types
|
830
1136
|
selectedLayer.fields.forEach((eachField) => {
|
831
1137
|
if (this._validFieldTypes.indexOf(eachField.type) > -1) {
|
832
1138
|
if (eachField.name === likeField && this.reportingOptions[selectedLayer.id].like) {
|
@@ -1001,244 +1307,6 @@ const FeatureDetails = class {
|
|
1001
1307
|
};
|
1002
1308
|
FeatureDetails.style = FeatureDetailsStyle0;
|
1003
1309
|
|
1004
|
-
const featureListCss = ":host{display:block}.width-full{width:100%}.pagination{display:flex;justify-content:center}.error-msg{padding:10px;width:calc(100% - 20px)}.popup-title{font-weight:500;padding:10px 12px}";
|
1005
|
-
const FeatureListStyle0 = featureListCss;
|
1006
|
-
|
1007
|
-
const FeatureList = class {
|
1008
|
-
constructor(hostRef) {
|
1009
|
-
index.registerInstance(this, hostRef);
|
1010
|
-
this.featureSelect = index.createEvent(this, "featureSelect", 7);
|
1011
|
-
this.selectedLayerId = undefined;
|
1012
|
-
this.mapView = undefined;
|
1013
|
-
this.noFeaturesFoundMsg = undefined;
|
1014
|
-
this.pageSize = 100;
|
1015
|
-
this.highlightOnMap = false;
|
1016
|
-
this.highlightOnHover = false;
|
1017
|
-
this._featureItems = [];
|
1018
|
-
this._featuresCount = 0;
|
1019
|
-
this._isLoading = false;
|
1020
|
-
this._translations = undefined;
|
1021
|
-
}
|
1022
|
-
//--------------------------------------------------------------------------
|
1023
|
-
//
|
1024
|
-
// Watch handlers
|
1025
|
-
//
|
1026
|
-
//--------------------------------------------------------------------------
|
1027
|
-
/**
|
1028
|
-
* Watch for selectedLayerId change and update layer instance and features list for new layerId
|
1029
|
-
*/
|
1030
|
-
async selectedLayerWatchHandler() {
|
1031
|
-
this._selectedLayer = await mapViewUtils.getLayerOrTable(this.mapView, this.selectedLayerId);
|
1032
|
-
await this.initializeFeatureItems();
|
1033
|
-
}
|
1034
|
-
//--------------------------------------------------------------------------
|
1035
|
-
//
|
1036
|
-
// Methods (public)
|
1037
|
-
/**
|
1038
|
-
* Refresh the feature list which will fetch the latest features and update the features list
|
1039
|
-
* @returns Promise that resolves when the operation is complete
|
1040
|
-
*/
|
1041
|
-
async refresh() {
|
1042
|
-
await this.initializeFeatureItems();
|
1043
|
-
}
|
1044
|
-
//--------------------------------------------------------------------------
|
1045
|
-
//
|
1046
|
-
// Functions (lifecycle)
|
1047
|
-
//
|
1048
|
-
//--------------------------------------------------------------------------
|
1049
|
-
/**
|
1050
|
-
* StencilJS: Called once just after the component is first connected to the DOM.
|
1051
|
-
* @returns Promise when complete
|
1052
|
-
*/
|
1053
|
-
async componentWillLoad() {
|
1054
|
-
await this.initModules();
|
1055
|
-
await this._getTranslations();
|
1056
|
-
this._isLoading = true;
|
1057
|
-
this._popupUtils = new popupUtils.PopupUtils();
|
1058
|
-
if (this.mapView && this.selectedLayerId) {
|
1059
|
-
this._selectedLayer = await mapViewUtils.getLayerOrTable(this.mapView, this.selectedLayerId);
|
1060
|
-
}
|
1061
|
-
}
|
1062
|
-
/**
|
1063
|
-
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
1064
|
-
*/
|
1065
|
-
async componentDidLoad() {
|
1066
|
-
await this.initializeFeatureItems();
|
1067
|
-
}
|
1068
|
-
/**
|
1069
|
-
* Renders the component.
|
1070
|
-
*/
|
1071
|
-
render() {
|
1072
|
-
return (index.h("calcite-panel", { key: '4cb73ad53f9ce1cced4c6001d45001523cb19c4a', "full-height": true, "full-width": true }, this._isLoading && index.h("calcite-loader", { key: 'c88ac531c61ece3284c474a334f281507e69dad0', label: "", scale: "m" }), this._featureItems.length === 0 && !this._isLoading &&
|
1073
|
-
index.h("calcite-notice", { key: '70dafc90052736c5b450f9c9c87ae5627f068b92', class: "error-msg", icon: "feature-details", kind: "info", open: true }, index.h("div", { key: 'a0b9b2aafbdb12f945d87242e29271ca0ff732fc', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), index.h("calcite-list", { key: 'a5dd1674092e74bedb06e32b739d14a949b92bea', "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
|
1074
|
-
index.h("div", { key: '35dc472ed2aa2bd8e83ca42cf12db0469c967505', class: "width-full", slot: "footer" }, index.h("calcite-pagination", { key: 'da3acc4616f040d350b198ef759a3d081d06deee', class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, "start-item": "1", "total-items": this._featuresCount }))));
|
1075
|
-
}
|
1076
|
-
//--------------------------------------------------------------------------
|
1077
|
-
//
|
1078
|
-
// Functions (protected)
|
1079
|
-
//
|
1080
|
-
//--------------------------------------------------------------------------
|
1081
|
-
/**
|
1082
|
-
* Load esri javascript api modules
|
1083
|
-
* @returns Promise resolving when function is done
|
1084
|
-
* @protected
|
1085
|
-
*/
|
1086
|
-
async initModules() {
|
1087
|
-
const [Color] = await locale$1.loadModules([
|
1088
|
-
"esri/Color"
|
1089
|
-
]);
|
1090
|
-
this.Color = Color;
|
1091
|
-
}
|
1092
|
-
/**
|
1093
|
-
* Initialize the features list using the selected layer
|
1094
|
-
* @protected
|
1095
|
-
*/
|
1096
|
-
async initializeFeatureItems() {
|
1097
|
-
if (this._selectedLayer) {
|
1098
|
-
this._isLoading = true;
|
1099
|
-
this._featureItems = await this.queryPage(0);
|
1100
|
-
this._featuresCount = await this._selectedLayer.queryFeatureCount();
|
1101
|
-
this._isLoading = false;
|
1102
|
-
}
|
1103
|
-
}
|
1104
|
-
/**
|
1105
|
-
* On page change get the next updated feature list
|
1106
|
-
* @param event page change event
|
1107
|
-
* @protected
|
1108
|
-
*/
|
1109
|
-
async pageChanged(event) {
|
1110
|
-
this._isLoading = true;
|
1111
|
-
if (this._highlightHandle) {
|
1112
|
-
this._highlightHandle.remove();
|
1113
|
-
this._highlightHandle = null;
|
1114
|
-
}
|
1115
|
-
const page = event.target.startItem - 1;
|
1116
|
-
this._featureItems = await this.queryPage(page);
|
1117
|
-
this._isLoading = false;
|
1118
|
-
}
|
1119
|
-
/**
|
1120
|
-
* On feature click in feature list highlight the feature on the map
|
1121
|
-
* @param event feature clicked event
|
1122
|
-
* @param selectedFeature selected feature graphic
|
1123
|
-
* @protected
|
1124
|
-
*/
|
1125
|
-
async featureClicked(event, selectedFeature) {
|
1126
|
-
//clear previous highlight and remove the highlightHandle
|
1127
|
-
this.clearHighlights();
|
1128
|
-
//highlight on map only if it is selected item
|
1129
|
-
if (this.highlightOnMap) {
|
1130
|
-
const selectedFeatureObjectId = Number(event.target.value);
|
1131
|
-
const selectedLayerView = await mapViewUtils.getFeatureLayerView(this.mapView, this.selectedLayerId);
|
1132
|
-
this._highlightHandle = await mapViewUtils.highlightFeatures([selectedFeatureObjectId], selectedLayerView, this.mapView, true);
|
1133
|
-
}
|
1134
|
-
await this.emitSelectedFeature(selectedFeature);
|
1135
|
-
}
|
1136
|
-
/**
|
1137
|
-
* Emit selected feature with its complete graphics and attributes
|
1138
|
-
* @param graphic selected feature graphic
|
1139
|
-
* @protected
|
1140
|
-
*/
|
1141
|
-
async emitSelectedFeature(graphic) {
|
1142
|
-
const layer = graphic.layer;
|
1143
|
-
const query = layer.createQuery();
|
1144
|
-
query.returnGeometry = true;
|
1145
|
-
query.objectIds = [graphic.getObjectId()];
|
1146
|
-
const completeGraphic = await layer.queryFeatures(query);
|
1147
|
-
this.featureSelect.emit(completeGraphic.features[0]);
|
1148
|
-
}
|
1149
|
-
/**
|
1150
|
-
* On feature hover in feature list highlight the feature on the map
|
1151
|
-
* @param selectedFeature mouseovered feature graphic
|
1152
|
-
* @protected
|
1153
|
-
*/
|
1154
|
-
async onFeatureHover(selectedFeature) {
|
1155
|
-
//clear previous highlight and remove the highlightHandle
|
1156
|
-
this.clearHighlights();
|
1157
|
-
if (this.highlightOnHover) {
|
1158
|
-
const oId = selectedFeature.getObjectId();
|
1159
|
-
const selectedLayerView = await mapViewUtils.getFeatureLayerView(this.mapView, this.selectedLayerId);
|
1160
|
-
selectedLayerView.highlightOptions = { color: new this.Color("#FFFF00") };
|
1161
|
-
this._highlightHandle = selectedLayerView.highlight([oId]);
|
1162
|
-
}
|
1163
|
-
}
|
1164
|
-
/**
|
1165
|
-
* Clears the highlight
|
1166
|
-
* @protected
|
1167
|
-
*/
|
1168
|
-
clearHighlights() {
|
1169
|
-
//if a feature is already highlighted, then remove the highlight
|
1170
|
-
if (this._highlightHandle) {
|
1171
|
-
this._highlightHandle.remove();
|
1172
|
-
}
|
1173
|
-
}
|
1174
|
-
/**
|
1175
|
-
* Query the selected feature layer, in descending order of object id's
|
1176
|
-
* @param page 0th page number in the pagination item
|
1177
|
-
* @returns List of features items to be rendered
|
1178
|
-
* @protected
|
1179
|
-
*/
|
1180
|
-
async queryPage(page) {
|
1181
|
-
const featureLayer = this._selectedLayer;
|
1182
|
-
const objectIdField = featureLayer.objectIdField;
|
1183
|
-
const query = {
|
1184
|
-
start: page,
|
1185
|
-
num: this.pageSize,
|
1186
|
-
outFields: ["*"],
|
1187
|
-
returnGeometry: true,
|
1188
|
-
where: featureLayer.definitionExpression,
|
1189
|
-
outSpatialReference: this.mapView.spatialReference.toJSON()
|
1190
|
-
};
|
1191
|
-
//sort only when objectId field is found
|
1192
|
-
if (objectIdField) {
|
1193
|
-
query.orderByFields = [objectIdField.toString() + " DESC"];
|
1194
|
-
}
|
1195
|
-
const featureSet = await featureLayer.queryFeatures(query);
|
1196
|
-
return await this.createFeatureItem(featureSet);
|
1197
|
-
}
|
1198
|
-
/**
|
1199
|
-
* Creates list of items using the popup titles
|
1200
|
-
* @param featureSet Queried FeatureSet
|
1201
|
-
* @returns List of features items to be rendered
|
1202
|
-
* @protected
|
1203
|
-
*/
|
1204
|
-
async createFeatureItem(featureSet) {
|
1205
|
-
const currentFeatures = featureSet === null || featureSet === void 0 ? void 0 : featureSet.features;
|
1206
|
-
const items = currentFeatures.map(async (feature) => {
|
1207
|
-
const popupTitle = await this._popupUtils.getPopupTitle(feature, this.mapView.map);
|
1208
|
-
return this.getFeatureItem(feature, popupTitle);
|
1209
|
-
});
|
1210
|
-
return Promise.all(items);
|
1211
|
-
}
|
1212
|
-
/**
|
1213
|
-
* Get each feature item
|
1214
|
-
* @param selectedFeature Each individual feature instance to be listed
|
1215
|
-
* @param popupTitle feature popup title
|
1216
|
-
* @returns individual feature item to be rendered
|
1217
|
-
* @protected
|
1218
|
-
*/
|
1219
|
-
getFeatureItem(selectedFeature, popupTitle) {
|
1220
|
-
//get the object id value of the feature
|
1221
|
-
const oId = selectedFeature.attributes[this._selectedLayer.objectIdField].toString();
|
1222
|
-
//use object id if popupTitle is null or undefined
|
1223
|
-
popupTitle = popupTitle !== null && popupTitle !== void 0 ? popupTitle : oId;
|
1224
|
-
return (index.h("calcite-list-item", { onCalciteListItemSelect: (e) => { void this.featureClicked(e, selectedFeature); }, onMouseLeave: () => { void this.clearHighlights(); }, onMouseOver: () => { void this.onFeatureHover(selectedFeature); }, value: oId }, index.h("div", { class: "popup-title", slot: "content-start" }, popupTitle), index.h("calcite-icon", { icon: "chevron-right", scale: "s", slot: "content-end" })));
|
1225
|
-
}
|
1226
|
-
/**
|
1227
|
-
* Fetches the component's translations
|
1228
|
-
* @returns Promise when complete
|
1229
|
-
* @protected
|
1230
|
-
*/
|
1231
|
-
async _getTranslations() {
|
1232
|
-
const messages = await locale$1.getLocaleComponentStrings(this.el);
|
1233
|
-
this._translations = messages[0];
|
1234
|
-
}
|
1235
|
-
get el() { return index.getElement(this); }
|
1236
|
-
static get watchers() { return {
|
1237
|
-
"selectedLayerId": ["selectedLayerWatchHandler"]
|
1238
|
-
}; }
|
1239
|
-
};
|
1240
|
-
FeatureList.style = FeatureListStyle0;
|
1241
|
-
|
1242
1310
|
const layerListCss = ":host{display:block}.error-msg{padding:10px}.layer-name{font-weight:500;padding:10px 12px}.feature-count{padding-right:12px}";
|
1243
1311
|
const LayerListStyle0 = layerListCss;
|
1244
1312
|
|
@@ -1247,11 +1315,8 @@ const LayerList = class {
|
|
1247
1315
|
index.registerInstance(this, hostRef);
|
1248
1316
|
this.layerSelect = index.createEvent(this, "layerSelect", 7);
|
1249
1317
|
this.layersListLoaded = index.createEvent(this, "layersListLoaded", 7);
|
1250
|
-
//HARDCODED IN EN
|
1251
|
-
this._noLayerToDisplayErrorMsg = "Web map does not contain any editable layers.";
|
1252
1318
|
this.mapView = undefined;
|
1253
1319
|
this.layers = undefined;
|
1254
|
-
this.noLayerErrorMsg = undefined;
|
1255
1320
|
this.showFeatureCount = true;
|
1256
1321
|
this.showNextIcon = false;
|
1257
1322
|
this._noLayersToDisplay = false;
|
@@ -1300,9 +1365,9 @@ const LayerList = class {
|
|
1300
1365
|
* Renders the component.
|
1301
1366
|
*/
|
1302
1367
|
render() {
|
1303
|
-
return (index.h(index.Fragment, { key: '
|
1304
|
-
index.h("calcite-notice", { key: '
|
1305
|
-
index.h("calcite-list", { key: '
|
1368
|
+
return (index.h(index.Fragment, { key: 'c73bf36c13fed8120273d8a5321dd60fe4d4b5f4' }, this._isLoading && index.h("calcite-loader", { key: 'e748d9cc7d1855d3a2da34702ba853d35d1a2cde', label: "", scale: "m" }), !this._isLoading && this.mapView && this._noLayersToDisplay &&
|
1369
|
+
index.h("calcite-notice", { key: '4a06b7694fd91456ee5cdc51d33e4ac633d416b2', class: "error-msg", icon: "layers-reference", kind: "danger", open: true }, index.h("div", { key: '63b09f02312aba71826957c5b2c04a7750bdfca1', slot: "title" }, this._translations.error), index.h("div", { key: '5a19dfe527a6c66a5477a4c6a14f4686cde73bb3', slot: "message" }, this._translations.noLayerToDisplayErrorMsg)), !this._isLoading && this.mapView &&
|
1370
|
+
index.h("calcite-list", { key: 'e8a6170a55f4ba6ea35a1397690c3e365b814886', "selection-appearance": "border", "selection-mode": "none" }, this.renderLayerList())));
|
1306
1371
|
}
|
1307
1372
|
//--------------------------------------------------------------------------
|
1308
1373
|
//
|
@@ -1431,6 +1496,6 @@ LayerList.style = LayerListStyle0;
|
|
1431
1496
|
exports.calcite_flow = Flow;
|
1432
1497
|
exports.calcite_flow_item = FlowItem;
|
1433
1498
|
exports.create_feature = CreateFeature;
|
1499
|
+
exports.create_related_feature = CreateRelatedFeature;
|
1434
1500
|
exports.feature_details = FeatureDetails;
|
1435
|
-
exports.feature_list = FeatureList;
|
1436
1501
|
exports.layer_list = LayerList;
|