@esri/solutions-components 0.8.13 → 0.8.15
Sign up to get free protection for your applications and to get access to all the features.
- 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 };
|