@esri/solutions-components 0.8.13 → 0.8.15
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 +6 -6
- 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 +370 -221
- 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 +4 -0
- 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/demos/crowdsource-manager.html +3 -3
- 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 +3 -3
- 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 +6 -6
- 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/demos/crowdsource-manager.html +3 -3
- 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-3750c969.entry.js +6 -0
- 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-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-43d0788d.entry.js +0 -6
- 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-d62b99ff.entry.js +0 -6
|
@@ -11,9 +11,8 @@ import { c as connectInteractive, u as updateHostInteraction, d as disconnectInt
|
|
|
11
11
|
import { c as connectLocalized, d as disconnectLocalized } from './locale-353c1c36.js';
|
|
12
12
|
import { c as connectMessages, s as setUpMessages, d as disconnectMessages, u as updateMessages } from './t9n-165900a5.js';
|
|
13
13
|
import { S as SLOTS$1 } from './resources-810e7513.js';
|
|
14
|
-
import { l as loadModules,
|
|
15
|
-
import { a as getAllLayers, g as getLayerOrTable, b as
|
|
16
|
-
import { P as PopupUtils } from './popupUtils-2cc3c366.js';
|
|
14
|
+
import { l as loadModules, f as formatNumber, g as getLocaleComponentStrings } from './locale-a490c4f6.js';
|
|
15
|
+
import { a as getAllLayers, g as getLayerOrTable, b as getAllTables, d as getMapLayerHash } from './mapViewUtils-4618ddb8.js';
|
|
17
16
|
import './guid-f05d01d5.js';
|
|
18
17
|
import './resources-1febf4c6.js';
|
|
19
18
|
import './browser-9897260d.js';
|
|
@@ -689,13 +688,255 @@ const CreateFeature = class {
|
|
|
689
688
|
};
|
|
690
689
|
CreateFeature.style = CreateFeatureStyle0;
|
|
691
690
|
|
|
692
|
-
const
|
|
691
|
+
const createRelatedFeatureCss = ":host{display:block}.esri-editor__panel-toolbar{display:none !important}";
|
|
692
|
+
const CreateRelatedFeatureStyle0 = createRelatedFeatureCss;
|
|
693
|
+
|
|
694
|
+
const CreateRelatedFeature = class {
|
|
695
|
+
constructor(hostRef) {
|
|
696
|
+
registerInstance(this, hostRef);
|
|
697
|
+
this.success = createEvent(this, "success", 7);
|
|
698
|
+
this.fail = createEvent(this, "fail", 7);
|
|
699
|
+
this.isActionPending = createEvent(this, "isActionPending", 7);
|
|
700
|
+
this.mapView = undefined;
|
|
701
|
+
this.table = undefined;
|
|
702
|
+
this.selectedFeature = undefined;
|
|
703
|
+
this.customizeSubmit = false;
|
|
704
|
+
}
|
|
705
|
+
//--------------------------------------------------------------------------
|
|
706
|
+
//
|
|
707
|
+
// Watch handlers
|
|
708
|
+
//
|
|
709
|
+
//--------------------------------------------------------------------------
|
|
710
|
+
/**
|
|
711
|
+
* Called each time the mapView prop is changed.
|
|
712
|
+
*/
|
|
713
|
+
async mapViewWatchHandler() {
|
|
714
|
+
await this.mapView.when(async () => {
|
|
715
|
+
await this.init();
|
|
716
|
+
});
|
|
717
|
+
}
|
|
718
|
+
//--------------------------------------------------------------------------
|
|
719
|
+
//
|
|
720
|
+
// Methods (public)
|
|
721
|
+
//
|
|
722
|
+
//--------------------------------------------------------------------------
|
|
723
|
+
/**
|
|
724
|
+
* Destroy the Editor widget instance
|
|
725
|
+
*/
|
|
726
|
+
async close() {
|
|
727
|
+
if (this._editor) {
|
|
728
|
+
this._editor.destroy();
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
/**
|
|
732
|
+
* Submit the comment
|
|
733
|
+
*/
|
|
734
|
+
async submit() {
|
|
735
|
+
if (this._editor) {
|
|
736
|
+
this._editor.viewModel.featureFormViewModel.submit();
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
//--------------------------------------------------------------------------
|
|
740
|
+
//
|
|
741
|
+
// Functions (lifecycle)
|
|
742
|
+
//
|
|
743
|
+
//--------------------------------------------------------------------------
|
|
744
|
+
/**
|
|
745
|
+
* StencilJS: Called once just after the component is first connected to the DOM.
|
|
746
|
+
* @returns Promise when complete
|
|
747
|
+
*/
|
|
748
|
+
async componentWillLoad() {
|
|
749
|
+
await this.initModules();
|
|
750
|
+
}
|
|
751
|
+
/**
|
|
752
|
+
* Init Editor widget and starts the create workflow
|
|
753
|
+
*/
|
|
754
|
+
async init() {
|
|
755
|
+
if (this.mapView) {
|
|
756
|
+
await this.createEditorWidget();
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
/**
|
|
760
|
+
* Load esri javascript api modules
|
|
761
|
+
* @returns Promise resolving when function is done
|
|
762
|
+
* @protected
|
|
763
|
+
*/
|
|
764
|
+
async initModules() {
|
|
765
|
+
const [Editor, reactiveUtils] = await loadModules([
|
|
766
|
+
"esri/widgets/Editor",
|
|
767
|
+
"esri/core/reactiveUtils"
|
|
768
|
+
]);
|
|
769
|
+
this.Editor = Editor;
|
|
770
|
+
this.reactiveUtils = reactiveUtils;
|
|
771
|
+
}
|
|
772
|
+
render() {
|
|
773
|
+
return (h(Host, { key: '383e8fac89d037f77241d856013202d1e04b28ba' }));
|
|
774
|
+
}
|
|
775
|
+
/**
|
|
776
|
+
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
|
777
|
+
*/
|
|
778
|
+
async componentDidLoad() {
|
|
779
|
+
await this.init();
|
|
780
|
+
}
|
|
781
|
+
/**
|
|
782
|
+
* Display editor widget to create the new feature
|
|
783
|
+
* @protected
|
|
784
|
+
*/
|
|
785
|
+
async createEditorWidget() {
|
|
786
|
+
if (this._editor) {
|
|
787
|
+
this._editor.destroy();
|
|
788
|
+
}
|
|
789
|
+
const container = document.createElement("div");
|
|
790
|
+
this._editor = new this.Editor({
|
|
791
|
+
view: this.mapView,
|
|
792
|
+
visibleElements: {
|
|
793
|
+
snappingControls: false
|
|
794
|
+
},
|
|
795
|
+
container
|
|
796
|
+
});
|
|
797
|
+
this.el.appendChild(container);
|
|
798
|
+
//Add handle to watch featureFormViewModel ready state and hide the editor elements
|
|
799
|
+
const hideElementHandle = this.reactiveUtils.watch(() => { var _a; return (_a = this._editor.viewModel.featureFormViewModel) === null || _a === void 0 ? void 0 : _a.state; }, (state) => {
|
|
800
|
+
if (state === 'ready') {
|
|
801
|
+
this.hideEditorsElements();
|
|
802
|
+
}
|
|
803
|
+
});
|
|
804
|
+
this._editor.viewModel.addHandles(hideElementHandle);
|
|
805
|
+
//Add handle to watch featureTemplatesViewModel ready state and then start the creation
|
|
806
|
+
const handle = this.reactiveUtils.watch(() => this._editor.viewModel.featureTemplatesViewModel.state, (state) => {
|
|
807
|
+
if (state === 'ready') {
|
|
808
|
+
void this.startCreate();
|
|
809
|
+
}
|
|
810
|
+
});
|
|
811
|
+
this._editor.viewModel.addHandles(handle);
|
|
812
|
+
// Add handle to watch if attachments are added/edited
|
|
813
|
+
const attachmentHandle = this.reactiveUtils.watch(() => this._editor.viewModel.state, (state) => {
|
|
814
|
+
if (state === 'adding-attachment' || state === 'editing-attachment') {
|
|
815
|
+
this._addingAttachment = true;
|
|
816
|
+
this.isActionPending.emit(true);
|
|
817
|
+
}
|
|
818
|
+
else {
|
|
819
|
+
if (this._addingAttachment) {
|
|
820
|
+
this.isActionPending.emit(false);
|
|
821
|
+
this._addingAttachment = false;
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
});
|
|
825
|
+
this._editor.viewModel.addHandles(attachmentHandle);
|
|
826
|
+
}
|
|
827
|
+
/**
|
|
828
|
+
* Start creating the feature feature form
|
|
829
|
+
* @protected
|
|
830
|
+
*/
|
|
831
|
+
async startCreate() {
|
|
832
|
+
const parentLayer = this.selectedFeature.layer;
|
|
833
|
+
const childTable = this.table;
|
|
834
|
+
const parentRelationship = parentLayer.relationships[0];
|
|
835
|
+
const childRelationship = childTable.relationships.find((rel) => parentLayer.layerId === rel.relatedTableId);
|
|
836
|
+
const queryResult = await parentLayer.queryFeatures({
|
|
837
|
+
objectIds: [this.selectedFeature.getObjectId()],
|
|
838
|
+
outFields: [parentLayer.objectIdField, parentRelationship.keyField],
|
|
839
|
+
});
|
|
840
|
+
const parentFeature = queryResult.features[0];
|
|
841
|
+
const template = childTable.templates[0];
|
|
842
|
+
const attributeOverrides = this.makeAttributesForRelatedFeature(parentFeature, parentRelationship, childRelationship);
|
|
843
|
+
const creationInfo = {
|
|
844
|
+
attributeOverrides,
|
|
845
|
+
layer: childTable,
|
|
846
|
+
template,
|
|
847
|
+
};
|
|
848
|
+
await this._editor.startCreateFeaturesWorkflowAtFeatureCreation(creationInfo);
|
|
849
|
+
// Emit an event to show submit cancel buttons
|
|
850
|
+
this.isActionPending.emit(false);
|
|
851
|
+
this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
|
|
852
|
+
}
|
|
853
|
+
/**
|
|
854
|
+
* Hides the elements of editor widget
|
|
855
|
+
* @protected
|
|
856
|
+
*/
|
|
857
|
+
hideEditorsElements() {
|
|
858
|
+
if (!this.customizeSubmit) {
|
|
859
|
+
return;
|
|
860
|
+
}
|
|
861
|
+
setTimeout(() => {
|
|
862
|
+
var _a;
|
|
863
|
+
//hides the header and footer on the featureForm
|
|
864
|
+
(_a = this.el.querySelector('.esri-editor').querySelectorAll('calcite-flow-item')) === null || _a === void 0 ? void 0 : _a.forEach((flowItem) => {
|
|
865
|
+
var _a, _b, _c, _d, _e;
|
|
866
|
+
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');
|
|
867
|
+
//hide the header
|
|
868
|
+
(_d = article === null || article === void 0 ? void 0 : article.querySelector('header')) === null || _d === void 0 ? void 0 : _d.setAttribute('style', 'display: none');
|
|
869
|
+
//hide the footer
|
|
870
|
+
(_e = article === null || article === void 0 ? void 0 : article.querySelector('footer')) === null || _e === void 0 ? void 0 : _e.setAttribute('style', 'display: none');
|
|
871
|
+
});
|
|
872
|
+
}, 700);
|
|
873
|
+
}
|
|
874
|
+
/**
|
|
875
|
+
* Makes attributes for related feature
|
|
876
|
+
* @param parentFeature Parent feature
|
|
877
|
+
* @param parentRelationship Parent relationship
|
|
878
|
+
* @param childRelationship Child relationship
|
|
879
|
+
* @returns Attributes for related feature
|
|
880
|
+
*/
|
|
881
|
+
makeAttributesForRelatedFeature(parentFeature, parentRelationship, childRelationship) {
|
|
882
|
+
const parentKeyField = parentRelationship.keyField;
|
|
883
|
+
const parentKeyValue = parentFeature.getAttribute(parentKeyField);
|
|
884
|
+
let childKeyField = childRelationship.keyField;
|
|
885
|
+
// get the field from table which name is same as childKeyField and use that field name as childKeyField
|
|
886
|
+
const field = this.table.fields.find((field) => field.name.toLocaleLowerCase() === childKeyField.toLocaleLowerCase());
|
|
887
|
+
childKeyField = field.name;
|
|
888
|
+
const childAttributes = {
|
|
889
|
+
[childKeyField]: parentKeyValue,
|
|
890
|
+
};
|
|
891
|
+
return childAttributes;
|
|
892
|
+
}
|
|
893
|
+
/**
|
|
894
|
+
* On creation of feature emit the event that the feature is created
|
|
895
|
+
* @param evt feature submit event
|
|
896
|
+
* @protected
|
|
897
|
+
*/
|
|
898
|
+
async submitted(evt) {
|
|
899
|
+
var _a;
|
|
900
|
+
//return if any attribute is invalid , focus will be shifted to the invalid attribute in feature form
|
|
901
|
+
if (evt.invalid.length) {
|
|
902
|
+
return;
|
|
903
|
+
}
|
|
904
|
+
//Submit only when valid attributes
|
|
905
|
+
//emit success or fail based on the result
|
|
906
|
+
if (evt.valid.length) {
|
|
907
|
+
try {
|
|
908
|
+
await this._editor.activeWorkflow.commit();
|
|
909
|
+
//throw errors if any failures
|
|
910
|
+
if ((_a = this._editor.viewModel.failures) === null || _a === void 0 ? void 0 : _a.length) {
|
|
911
|
+
this._editor.viewModel.failures.some((failure) => {
|
|
912
|
+
if (failure.error) {
|
|
913
|
+
throw (failure.error);
|
|
914
|
+
}
|
|
915
|
+
});
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
catch (e) {
|
|
919
|
+
this.fail.emit(e);
|
|
920
|
+
return;
|
|
921
|
+
}
|
|
922
|
+
this.success.emit();
|
|
923
|
+
}
|
|
924
|
+
}
|
|
925
|
+
get el() { return getElement(this); }
|
|
926
|
+
static get watchers() { return {
|
|
927
|
+
"mapView": ["mapViewWatchHandler"]
|
|
928
|
+
}; }
|
|
929
|
+
};
|
|
930
|
+
CreateRelatedFeature.style = CreateRelatedFeatureStyle0;
|
|
931
|
+
|
|
932
|
+
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}";
|
|
693
933
|
const FeatureDetailsStyle0 = featureDetailsCss;
|
|
694
934
|
|
|
695
935
|
const FeatureDetails = class {
|
|
696
936
|
constructor(hostRef) {
|
|
697
937
|
registerInstance(this, hostRef);
|
|
698
938
|
this.loadingStatus = createEvent(this, "loadingStatus", 7);
|
|
939
|
+
this.featureSelect = createEvent(this, "featureSelect", 7);
|
|
699
940
|
/**
|
|
700
941
|
* string[]: Valid field types for like and dislike
|
|
701
942
|
*/
|
|
@@ -707,8 +948,10 @@ const FeatureDetails = class {
|
|
|
707
948
|
this._likeCount = 0;
|
|
708
949
|
this._disLikeCount = 0;
|
|
709
950
|
this._dislikeFieldAvailable = false;
|
|
951
|
+
this._commentsAvailable = false;
|
|
710
952
|
this._isLikeBtnClicked = false;
|
|
711
953
|
this._isDislikeBtnClicked = false;
|
|
954
|
+
this._relatedFeaturesOIDs = undefined;
|
|
712
955
|
}
|
|
713
956
|
//--------------------------------------------------------------------------
|
|
714
957
|
//
|
|
@@ -721,19 +964,23 @@ const FeatureDetails = class {
|
|
|
721
964
|
async graphicsWatchHandler() {
|
|
722
965
|
await this.getCompleteGraphic(this.graphics[0]);
|
|
723
966
|
this.checkLikeDislikeFields();
|
|
967
|
+
await this.processComments();
|
|
724
968
|
}
|
|
725
969
|
//--------------------------------------------------------------------------
|
|
726
970
|
//
|
|
727
971
|
// Methods (public)
|
|
972
|
+
//
|
|
973
|
+
//--------------------------------------------------------------------------
|
|
728
974
|
/**
|
|
729
975
|
* Refresh the features comments which will fetch like, dislike and update the component
|
|
730
976
|
* @returns Promise that resolves when the operation is complete
|
|
731
977
|
*/
|
|
732
978
|
async refresh(graphic) {
|
|
979
|
+
await this.getCompleteGraphic(graphic);
|
|
980
|
+
await this.processComments();
|
|
733
981
|
if (this.isLikeDislikeConfigured(graphic.layer)) {
|
|
734
982
|
// in case of multiple features selected fetch complete feature and update like dislike for current feature
|
|
735
983
|
if (graphic && this.graphics.length > 1) {
|
|
736
|
-
await this.getCompleteGraphic(graphic);
|
|
737
984
|
this.checkLikeDislikeFields();
|
|
738
985
|
}
|
|
739
986
|
}
|
|
@@ -767,15 +1014,21 @@ const FeatureDetails = class {
|
|
|
767
1014
|
*/
|
|
768
1015
|
async componentWillLoad() {
|
|
769
1016
|
await this._initModules();
|
|
1017
|
+
//Apply query to get complete graphic with complete attributes
|
|
770
1018
|
await this.getCompleteGraphic(this.graphics[0]);
|
|
771
1019
|
this.checkLikeDislikeFields();
|
|
1020
|
+
await this.processComments();
|
|
772
1021
|
}
|
|
773
1022
|
render() {
|
|
774
|
-
var _a, _b, _c, _d;
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
1023
|
+
var _a, _b, _c, _d, _e;
|
|
1024
|
+
//When related features found show comments list of only those features else comments list will be empty
|
|
1025
|
+
const commentsListWhereClause = ((_a = this._relatedFeaturesOIDs) === null || _a === void 0 ? void 0 : _a.length) > 0 ? `objectId in(${this._relatedFeaturesOIDs})` : '1=0';
|
|
1026
|
+
return (h("calcite-panel", { key: 'c39c0eec021627b920972f7d4bce0d45bfe0a9c2', "full-height": true }, 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) &&
|
|
1027
|
+
h("div", { key: 'ecfdf111612c92eacfd97dae7bb3080b7ad50e96', class: "buttons-container" }, this._commentsAvailable &&
|
|
1028
|
+
h("div", { key: '07a8213e11585041fb1c5f56254447a720033f04', class: "comment-btn" }, h("span", { key: 'f4071fbd03372a0e88857962e9c31530e2dc693a' }, this._relatedFeaturesOIDs.length), h("calcite-icon", { key: '30258e1daae5f1e00d18dd4ec052861de46b45bf', icon: "speech-bubble", scale: 's' })), this._likeFieldAvailable &&
|
|
1029
|
+
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 &&
|
|
1030
|
+
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 &&
|
|
1031
|
+
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 })));
|
|
779
1032
|
}
|
|
780
1033
|
/**
|
|
781
1034
|
* Load esri javascript api modules
|
|
@@ -785,9 +1038,11 @@ const FeatureDetails = class {
|
|
|
785
1038
|
* @protected
|
|
786
1039
|
*/
|
|
787
1040
|
async _initModules() {
|
|
788
|
-
const [Graphic] = await loadModules([
|
|
1041
|
+
const [RelationshipQuery, Graphic] = await loadModules([
|
|
1042
|
+
"esri/rest/support/RelationshipQuery",
|
|
789
1043
|
"esri/Graphic"
|
|
790
1044
|
]);
|
|
1045
|
+
this.RelationshipQuery = RelationshipQuery;
|
|
791
1046
|
this.Graphic = Graphic;
|
|
792
1047
|
}
|
|
793
1048
|
/**
|
|
@@ -802,6 +1057,56 @@ const FeatureDetails = class {
|
|
|
802
1057
|
const completeGraphic = await layer.queryFeatures(query);
|
|
803
1058
|
this._selectedGraphic = completeGraphic.features[0];
|
|
804
1059
|
}
|
|
1060
|
+
/**
|
|
1061
|
+
* Process the comments functionality.
|
|
1062
|
+
* If comments are configured, fetches the related comments ans creates the input for comments list
|
|
1063
|
+
* @protected
|
|
1064
|
+
*/
|
|
1065
|
+
async processComments() {
|
|
1066
|
+
var _a;
|
|
1067
|
+
const selectedLayer = this._selectedGraphic.layer;
|
|
1068
|
+
const commentsConfigured = this.reportingOptions[selectedLayer.id].comment && ((_a = selectedLayer.relationships) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
1069
|
+
if (commentsConfigured) {
|
|
1070
|
+
//Get comments table id from map
|
|
1071
|
+
const relatedTableIdFromRelnship = selectedLayer.relationships[0].relatedTableId;
|
|
1072
|
+
const allTables = await getAllTables(this.mapView);
|
|
1073
|
+
const relatedTable = allTables.filter((table) => relatedTableIdFromRelnship === table.layerId);
|
|
1074
|
+
this.relatedTableId = (relatedTable === null || relatedTable === void 0 ? void 0 : relatedTable.length) > 0 ? relatedTable[0].id : '';
|
|
1075
|
+
//**Get the related records for the current selected feature**
|
|
1076
|
+
if (this.relatedTableId) {
|
|
1077
|
+
//current selected feature's objectId
|
|
1078
|
+
const objectId = this._selectedGraphic.attributes[selectedLayer.objectIdField];
|
|
1079
|
+
//create relationship query to get all the related records with the current selected feature
|
|
1080
|
+
const relationshipQuery = new this.RelationshipQuery({
|
|
1081
|
+
objectIds: [objectId],
|
|
1082
|
+
outFields: ['*'],
|
|
1083
|
+
relationshipId: selectedLayer.relationships[0].id
|
|
1084
|
+
});
|
|
1085
|
+
const result = await selectedLayer.queryRelatedFeatures(relationshipQuery).catch((e) => {
|
|
1086
|
+
console.error(e);
|
|
1087
|
+
});
|
|
1088
|
+
const relatedOIDs = [];
|
|
1089
|
+
if (result[objectId]) {
|
|
1090
|
+
result[objectId].features.forEach((feature) => {
|
|
1091
|
+
relatedOIDs.push(feature.attributes.OBJECTID);
|
|
1092
|
+
});
|
|
1093
|
+
}
|
|
1094
|
+
// Store the objectid's of the related features, this will be used to show the comments and its count
|
|
1095
|
+
this._relatedFeaturesOIDs = relatedOIDs;
|
|
1096
|
+
//Set comments available or not
|
|
1097
|
+
this._commentsAvailable = true;
|
|
1098
|
+
}
|
|
1099
|
+
else {
|
|
1100
|
+
this._relatedFeaturesOIDs = [];
|
|
1101
|
+
this._commentsAvailable = false;
|
|
1102
|
+
}
|
|
1103
|
+
}
|
|
1104
|
+
else {
|
|
1105
|
+
this._relatedFeaturesOIDs = [];
|
|
1106
|
+
this._commentsAvailable = false;
|
|
1107
|
+
this.relatedTableId = '';
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
805
1110
|
/**
|
|
806
1111
|
* Checks if the layers is configured for like dislike or not
|
|
807
1112
|
* @param selectedLayer Feature layer
|
|
@@ -823,6 +1128,7 @@ const FeatureDetails = class {
|
|
|
823
1128
|
if (!likeField && !dislikeField) {
|
|
824
1129
|
return false;
|
|
825
1130
|
}
|
|
1131
|
+
//Check if selected layer have the configured like and dislike field and it is of integer types
|
|
826
1132
|
selectedLayer.fields.forEach((eachField) => {
|
|
827
1133
|
if (this._validFieldTypes.indexOf(eachField.type) > -1) {
|
|
828
1134
|
if (eachField.name === likeField && this.reportingOptions[selectedLayer.id].like) {
|
|
@@ -997,244 +1303,6 @@ const FeatureDetails = class {
|
|
|
997
1303
|
};
|
|
998
1304
|
FeatureDetails.style = FeatureDetailsStyle0;
|
|
999
1305
|
|
|
1000
|
-
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}";
|
|
1001
|
-
const FeatureListStyle0 = featureListCss;
|
|
1002
|
-
|
|
1003
|
-
const FeatureList = class {
|
|
1004
|
-
constructor(hostRef) {
|
|
1005
|
-
registerInstance(this, hostRef);
|
|
1006
|
-
this.featureSelect = createEvent(this, "featureSelect", 7);
|
|
1007
|
-
this.selectedLayerId = undefined;
|
|
1008
|
-
this.mapView = undefined;
|
|
1009
|
-
this.noFeaturesFoundMsg = undefined;
|
|
1010
|
-
this.pageSize = 100;
|
|
1011
|
-
this.highlightOnMap = false;
|
|
1012
|
-
this.highlightOnHover = false;
|
|
1013
|
-
this._featureItems = [];
|
|
1014
|
-
this._featuresCount = 0;
|
|
1015
|
-
this._isLoading = false;
|
|
1016
|
-
this._translations = undefined;
|
|
1017
|
-
}
|
|
1018
|
-
//--------------------------------------------------------------------------
|
|
1019
|
-
//
|
|
1020
|
-
// Watch handlers
|
|
1021
|
-
//
|
|
1022
|
-
//--------------------------------------------------------------------------
|
|
1023
|
-
/**
|
|
1024
|
-
* Watch for selectedLayerId change and update layer instance and features list for new layerId
|
|
1025
|
-
*/
|
|
1026
|
-
async selectedLayerWatchHandler() {
|
|
1027
|
-
this._selectedLayer = await getLayerOrTable(this.mapView, this.selectedLayerId);
|
|
1028
|
-
await this.initializeFeatureItems();
|
|
1029
|
-
}
|
|
1030
|
-
//--------------------------------------------------------------------------
|
|
1031
|
-
//
|
|
1032
|
-
// Methods (public)
|
|
1033
|
-
/**
|
|
1034
|
-
* Refresh the feature list which will fetch the latest features and update the features list
|
|
1035
|
-
* @returns Promise that resolves when the operation is complete
|
|
1036
|
-
*/
|
|
1037
|
-
async refresh() {
|
|
1038
|
-
await this.initializeFeatureItems();
|
|
1039
|
-
}
|
|
1040
|
-
//--------------------------------------------------------------------------
|
|
1041
|
-
//
|
|
1042
|
-
// Functions (lifecycle)
|
|
1043
|
-
//
|
|
1044
|
-
//--------------------------------------------------------------------------
|
|
1045
|
-
/**
|
|
1046
|
-
* StencilJS: Called once just after the component is first connected to the DOM.
|
|
1047
|
-
* @returns Promise when complete
|
|
1048
|
-
*/
|
|
1049
|
-
async componentWillLoad() {
|
|
1050
|
-
await this.initModules();
|
|
1051
|
-
await this._getTranslations();
|
|
1052
|
-
this._isLoading = true;
|
|
1053
|
-
this._popupUtils = new PopupUtils();
|
|
1054
|
-
if (this.mapView && this.selectedLayerId) {
|
|
1055
|
-
this._selectedLayer = await getLayerOrTable(this.mapView, this.selectedLayerId);
|
|
1056
|
-
}
|
|
1057
|
-
}
|
|
1058
|
-
/**
|
|
1059
|
-
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
|
1060
|
-
*/
|
|
1061
|
-
async componentDidLoad() {
|
|
1062
|
-
await this.initializeFeatureItems();
|
|
1063
|
-
}
|
|
1064
|
-
/**
|
|
1065
|
-
* Renders the component.
|
|
1066
|
-
*/
|
|
1067
|
-
render() {
|
|
1068
|
-
return (h("calcite-panel", { key: '4cb73ad53f9ce1cced4c6001d45001523cb19c4a', "full-height": true, "full-width": true }, this._isLoading && h("calcite-loader", { key: 'c88ac531c61ece3284c474a334f281507e69dad0', label: "", scale: "m" }), this._featureItems.length === 0 && !this._isLoading &&
|
|
1069
|
-
h("calcite-notice", { key: '70dafc90052736c5b450f9c9c87ae5627f068b92', class: "error-msg", icon: "feature-details", kind: "info", open: true }, h("div", { key: 'a0b9b2aafbdb12f945d87242e29271ca0ff732fc', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), h("calcite-list", { key: 'a5dd1674092e74bedb06e32b739d14a949b92bea', "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
|
|
1070
|
-
h("div", { key: '35dc472ed2aa2bd8e83ca42cf12db0469c967505', class: "width-full", slot: "footer" }, 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 }))));
|
|
1071
|
-
}
|
|
1072
|
-
//--------------------------------------------------------------------------
|
|
1073
|
-
//
|
|
1074
|
-
// Functions (protected)
|
|
1075
|
-
//
|
|
1076
|
-
//--------------------------------------------------------------------------
|
|
1077
|
-
/**
|
|
1078
|
-
* Load esri javascript api modules
|
|
1079
|
-
* @returns Promise resolving when function is done
|
|
1080
|
-
* @protected
|
|
1081
|
-
*/
|
|
1082
|
-
async initModules() {
|
|
1083
|
-
const [Color] = await loadModules([
|
|
1084
|
-
"esri/Color"
|
|
1085
|
-
]);
|
|
1086
|
-
this.Color = Color;
|
|
1087
|
-
}
|
|
1088
|
-
/**
|
|
1089
|
-
* Initialize the features list using the selected layer
|
|
1090
|
-
* @protected
|
|
1091
|
-
*/
|
|
1092
|
-
async initializeFeatureItems() {
|
|
1093
|
-
if (this._selectedLayer) {
|
|
1094
|
-
this._isLoading = true;
|
|
1095
|
-
this._featureItems = await this.queryPage(0);
|
|
1096
|
-
this._featuresCount = await this._selectedLayer.queryFeatureCount();
|
|
1097
|
-
this._isLoading = false;
|
|
1098
|
-
}
|
|
1099
|
-
}
|
|
1100
|
-
/**
|
|
1101
|
-
* On page change get the next updated feature list
|
|
1102
|
-
* @param event page change event
|
|
1103
|
-
* @protected
|
|
1104
|
-
*/
|
|
1105
|
-
async pageChanged(event) {
|
|
1106
|
-
this._isLoading = true;
|
|
1107
|
-
if (this._highlightHandle) {
|
|
1108
|
-
this._highlightHandle.remove();
|
|
1109
|
-
this._highlightHandle = null;
|
|
1110
|
-
}
|
|
1111
|
-
const page = event.target.startItem - 1;
|
|
1112
|
-
this._featureItems = await this.queryPage(page);
|
|
1113
|
-
this._isLoading = false;
|
|
1114
|
-
}
|
|
1115
|
-
/**
|
|
1116
|
-
* On feature click in feature list highlight the feature on the map
|
|
1117
|
-
* @param event feature clicked event
|
|
1118
|
-
* @param selectedFeature selected feature graphic
|
|
1119
|
-
* @protected
|
|
1120
|
-
*/
|
|
1121
|
-
async featureClicked(event, selectedFeature) {
|
|
1122
|
-
//clear previous highlight and remove the highlightHandle
|
|
1123
|
-
this.clearHighlights();
|
|
1124
|
-
//highlight on map only if it is selected item
|
|
1125
|
-
if (this.highlightOnMap) {
|
|
1126
|
-
const selectedFeatureObjectId = Number(event.target.value);
|
|
1127
|
-
const selectedLayerView = await getFeatureLayerView(this.mapView, this.selectedLayerId);
|
|
1128
|
-
this._highlightHandle = await highlightFeatures([selectedFeatureObjectId], selectedLayerView, this.mapView, true);
|
|
1129
|
-
}
|
|
1130
|
-
await this.emitSelectedFeature(selectedFeature);
|
|
1131
|
-
}
|
|
1132
|
-
/**
|
|
1133
|
-
* Emit selected feature with its complete graphics and attributes
|
|
1134
|
-
* @param graphic selected feature graphic
|
|
1135
|
-
* @protected
|
|
1136
|
-
*/
|
|
1137
|
-
async emitSelectedFeature(graphic) {
|
|
1138
|
-
const layer = graphic.layer;
|
|
1139
|
-
const query = layer.createQuery();
|
|
1140
|
-
query.returnGeometry = true;
|
|
1141
|
-
query.objectIds = [graphic.getObjectId()];
|
|
1142
|
-
const completeGraphic = await layer.queryFeatures(query);
|
|
1143
|
-
this.featureSelect.emit(completeGraphic.features[0]);
|
|
1144
|
-
}
|
|
1145
|
-
/**
|
|
1146
|
-
* On feature hover in feature list highlight the feature on the map
|
|
1147
|
-
* @param selectedFeature mouseovered feature graphic
|
|
1148
|
-
* @protected
|
|
1149
|
-
*/
|
|
1150
|
-
async onFeatureHover(selectedFeature) {
|
|
1151
|
-
//clear previous highlight and remove the highlightHandle
|
|
1152
|
-
this.clearHighlights();
|
|
1153
|
-
if (this.highlightOnHover) {
|
|
1154
|
-
const oId = selectedFeature.getObjectId();
|
|
1155
|
-
const selectedLayerView = await getFeatureLayerView(this.mapView, this.selectedLayerId);
|
|
1156
|
-
selectedLayerView.highlightOptions = { color: new this.Color("#FFFF00") };
|
|
1157
|
-
this._highlightHandle = selectedLayerView.highlight([oId]);
|
|
1158
|
-
}
|
|
1159
|
-
}
|
|
1160
|
-
/**
|
|
1161
|
-
* Clears the highlight
|
|
1162
|
-
* @protected
|
|
1163
|
-
*/
|
|
1164
|
-
clearHighlights() {
|
|
1165
|
-
//if a feature is already highlighted, then remove the highlight
|
|
1166
|
-
if (this._highlightHandle) {
|
|
1167
|
-
this._highlightHandle.remove();
|
|
1168
|
-
}
|
|
1169
|
-
}
|
|
1170
|
-
/**
|
|
1171
|
-
* Query the selected feature layer, in descending order of object id's
|
|
1172
|
-
* @param page 0th page number in the pagination item
|
|
1173
|
-
* @returns List of features items to be rendered
|
|
1174
|
-
* @protected
|
|
1175
|
-
*/
|
|
1176
|
-
async queryPage(page) {
|
|
1177
|
-
const featureLayer = this._selectedLayer;
|
|
1178
|
-
const objectIdField = featureLayer.objectIdField;
|
|
1179
|
-
const query = {
|
|
1180
|
-
start: page,
|
|
1181
|
-
num: this.pageSize,
|
|
1182
|
-
outFields: ["*"],
|
|
1183
|
-
returnGeometry: true,
|
|
1184
|
-
where: featureLayer.definitionExpression,
|
|
1185
|
-
outSpatialReference: this.mapView.spatialReference.toJSON()
|
|
1186
|
-
};
|
|
1187
|
-
//sort only when objectId field is found
|
|
1188
|
-
if (objectIdField) {
|
|
1189
|
-
query.orderByFields = [objectIdField.toString() + " DESC"];
|
|
1190
|
-
}
|
|
1191
|
-
const featureSet = await featureLayer.queryFeatures(query);
|
|
1192
|
-
return await this.createFeatureItem(featureSet);
|
|
1193
|
-
}
|
|
1194
|
-
/**
|
|
1195
|
-
* Creates list of items using the popup titles
|
|
1196
|
-
* @param featureSet Queried FeatureSet
|
|
1197
|
-
* @returns List of features items to be rendered
|
|
1198
|
-
* @protected
|
|
1199
|
-
*/
|
|
1200
|
-
async createFeatureItem(featureSet) {
|
|
1201
|
-
const currentFeatures = featureSet === null || featureSet === void 0 ? void 0 : featureSet.features;
|
|
1202
|
-
const items = currentFeatures.map(async (feature) => {
|
|
1203
|
-
const popupTitle = await this._popupUtils.getPopupTitle(feature, this.mapView.map);
|
|
1204
|
-
return this.getFeatureItem(feature, popupTitle);
|
|
1205
|
-
});
|
|
1206
|
-
return Promise.all(items);
|
|
1207
|
-
}
|
|
1208
|
-
/**
|
|
1209
|
-
* Get each feature item
|
|
1210
|
-
* @param selectedFeature Each individual feature instance to be listed
|
|
1211
|
-
* @param popupTitle feature popup title
|
|
1212
|
-
* @returns individual feature item to be rendered
|
|
1213
|
-
* @protected
|
|
1214
|
-
*/
|
|
1215
|
-
getFeatureItem(selectedFeature, popupTitle) {
|
|
1216
|
-
//get the object id value of the feature
|
|
1217
|
-
const oId = selectedFeature.attributes[this._selectedLayer.objectIdField].toString();
|
|
1218
|
-
//use object id if popupTitle is null or undefined
|
|
1219
|
-
popupTitle = popupTitle !== null && popupTitle !== void 0 ? popupTitle : oId;
|
|
1220
|
-
return (h("calcite-list-item", { onCalciteListItemSelect: (e) => { void this.featureClicked(e, selectedFeature); }, onMouseLeave: () => { void this.clearHighlights(); }, onMouseOver: () => { void this.onFeatureHover(selectedFeature); }, value: oId }, h("div", { class: "popup-title", slot: "content-start" }, popupTitle), h("calcite-icon", { icon: "chevron-right", scale: "s", slot: "content-end" })));
|
|
1221
|
-
}
|
|
1222
|
-
/**
|
|
1223
|
-
* Fetches the component's translations
|
|
1224
|
-
* @returns Promise when complete
|
|
1225
|
-
* @protected
|
|
1226
|
-
*/
|
|
1227
|
-
async _getTranslations() {
|
|
1228
|
-
const messages = await getLocaleComponentStrings(this.el);
|
|
1229
|
-
this._translations = messages[0];
|
|
1230
|
-
}
|
|
1231
|
-
get el() { return getElement(this); }
|
|
1232
|
-
static get watchers() { return {
|
|
1233
|
-
"selectedLayerId": ["selectedLayerWatchHandler"]
|
|
1234
|
-
}; }
|
|
1235
|
-
};
|
|
1236
|
-
FeatureList.style = FeatureListStyle0;
|
|
1237
|
-
|
|
1238
1306
|
const layerListCss = ":host{display:block}.error-msg{padding:10px}.layer-name{font-weight:500;padding:10px 12px}.feature-count{padding-right:12px}";
|
|
1239
1307
|
const LayerListStyle0 = layerListCss;
|
|
1240
1308
|
|
|
@@ -1243,11 +1311,8 @@ const LayerList = class {
|
|
|
1243
1311
|
registerInstance(this, hostRef);
|
|
1244
1312
|
this.layerSelect = createEvent(this, "layerSelect", 7);
|
|
1245
1313
|
this.layersListLoaded = createEvent(this, "layersListLoaded", 7);
|
|
1246
|
-
//HARDCODED IN EN
|
|
1247
|
-
this._noLayerToDisplayErrorMsg = "Web map does not contain any editable layers.";
|
|
1248
1314
|
this.mapView = undefined;
|
|
1249
1315
|
this.layers = undefined;
|
|
1250
|
-
this.noLayerErrorMsg = undefined;
|
|
1251
1316
|
this.showFeatureCount = true;
|
|
1252
1317
|
this.showNextIcon = false;
|
|
1253
1318
|
this._noLayersToDisplay = false;
|
|
@@ -1296,9 +1361,9 @@ const LayerList = class {
|
|
|
1296
1361
|
* Renders the component.
|
|
1297
1362
|
*/
|
|
1298
1363
|
render() {
|
|
1299
|
-
return (h(Fragment, { key: '
|
|
1300
|
-
h("calcite-notice", { key: '
|
|
1301
|
-
h("calcite-list", { key: '
|
|
1364
|
+
return (h(Fragment, { key: 'c73bf36c13fed8120273d8a5321dd60fe4d4b5f4' }, this._isLoading && h("calcite-loader", { key: 'e748d9cc7d1855d3a2da34702ba853d35d1a2cde', label: "", scale: "m" }), !this._isLoading && this.mapView && this._noLayersToDisplay &&
|
|
1365
|
+
h("calcite-notice", { key: '4a06b7694fd91456ee5cdc51d33e4ac633d416b2', class: "error-msg", icon: "layers-reference", kind: "danger", open: true }, h("div", { key: '63b09f02312aba71826957c5b2c04a7750bdfca1', slot: "title" }, this._translations.error), h("div", { key: '5a19dfe527a6c66a5477a4c6a14f4686cde73bb3', slot: "message" }, this._translations.noLayerToDisplayErrorMsg)), !this._isLoading && this.mapView &&
|
|
1366
|
+
h("calcite-list", { key: 'e8a6170a55f4ba6ea35a1397690c3e365b814886', "selection-appearance": "border", "selection-mode": "none" }, this.renderLayerList())));
|
|
1302
1367
|
}
|
|
1303
1368
|
//--------------------------------------------------------------------------
|
|
1304
1369
|
//
|
|
@@ -1424,4 +1489,4 @@ const LayerList = class {
|
|
|
1424
1489
|
};
|
|
1425
1490
|
LayerList.style = LayerListStyle0;
|
|
1426
1491
|
|
|
1427
|
-
export { Flow as calcite_flow, FlowItem as calcite_flow_item, CreateFeature as create_feature,
|
|
1492
|
+
export { Flow as calcite_flow, FlowItem as calcite_flow_item, CreateFeature as create_feature, CreateRelatedFeature as create_related_feature, FeatureDetails as feature_details, LayerList as layer_list };
|