@arcgis/core 4.28.0-next.20230524 → 4.28.0-next.20230621
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/Map.js +1 -1
- package/README.md +17 -17
- package/WebMap.js +1 -1
- package/WebScene.js +1 -1
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/featureset/actions/Adapted.js +1 -1
- package/arcade/featureset/actions/GroupBy.js +1 -1
- package/arcade/featureset/actions/OrderBy.js +1 -1
- package/arcade/featureset/support/FeatureSetIterator.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade/treeAnalysis.js +1 -1
- package/assets/components/assets/card/t9n/messages_ar.json +1 -1
- package/assets/components/assets/card/t9n/messages_bg.json +1 -1
- package/assets/components/assets/card/t9n/messages_bs.json +1 -1
- package/assets/components/assets/card/t9n/messages_ca.json +1 -1
- package/assets/components/assets/card/t9n/messages_cs.json +1 -1
- package/assets/components/assets/card/t9n/messages_da.json +1 -1
- package/assets/components/assets/card/t9n/messages_de.json +1 -1
- package/assets/components/assets/card/t9n/messages_el.json +1 -1
- package/assets/components/assets/card/t9n/messages_es.json +1 -1
- package/assets/components/assets/card/t9n/messages_et.json +1 -1
- package/assets/components/assets/card/t9n/messages_fi.json +1 -1
- package/assets/components/assets/card/t9n/messages_fr.json +1 -1
- package/assets/components/assets/card/t9n/messages_he.json +1 -1
- package/assets/components/assets/card/t9n/messages_hr.json +1 -1
- package/assets/components/assets/card/t9n/messages_hu.json +1 -1
- package/assets/components/assets/card/t9n/messages_id.json +1 -1
- package/assets/components/assets/card/t9n/messages_it.json +1 -1
- package/assets/components/assets/card/t9n/messages_ja.json +1 -1
- package/assets/components/assets/card/t9n/messages_ko.json +1 -1
- package/assets/components/assets/card/t9n/messages_lt.json +1 -1
- package/assets/components/assets/card/t9n/messages_lv.json +1 -1
- package/assets/components/assets/card/t9n/messages_nl.json +1 -1
- package/assets/components/assets/card/t9n/messages_no.json +1 -1
- package/assets/components/assets/card/t9n/messages_pl.json +1 -1
- package/assets/components/assets/card/t9n/messages_pt-BR.json +1 -1
- package/assets/components/assets/card/t9n/messages_pt-PT.json +1 -1
- package/assets/components/assets/card/t9n/messages_ro.json +1 -1
- package/assets/components/assets/card/t9n/messages_ru.json +1 -1
- package/assets/components/assets/card/t9n/messages_sk.json +1 -1
- package/assets/components/assets/card/t9n/messages_sl.json +1 -1
- package/assets/components/assets/card/t9n/messages_sr.json +1 -1
- package/assets/components/assets/card/t9n/messages_sv.json +1 -1
- package/assets/components/assets/card/t9n/messages_th.json +1 -1
- package/assets/components/assets/card/t9n/messages_tr.json +1 -1
- package/assets/components/assets/card/t9n/messages_uk.json +1 -1
- package/assets/components/assets/card/t9n/messages_vi.json +1 -1
- package/assets/components/assets/card/t9n/messages_zh-CN.json +1 -1
- package/assets/components/assets/card/t9n/messages_zh-HK.json +1 -1
- package/assets/components/assets/card/t9n/messages_zh-TW.json +1 -1
- package/assets/components/assets/combobox/t9n/messages.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_ar.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_bg.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_bs.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_ca.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_cs.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_da.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_de.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_el.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_en.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_es.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_et.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_fi.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_fr.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_he.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_hr.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_hu.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_id.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_it.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_ja.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_ko.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_lt.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_lv.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_nl.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_no.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_pl.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_pt-BR.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_pt-PT.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_ro.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_ru.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_sk.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_sl.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_sr.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_sv.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_th.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_tr.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_uk.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_vi.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_zh-CN.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_zh-HK.json +1 -0
- package/assets/components/assets/combobox/t9n/messages_zh-TW.json +1 -0
- package/assets/components/assets/handle/t9n/messages_cs.json +1 -1
- package/assets/components/assets/handle/t9n/messages_ja.json +1 -1
- package/assets/components/assets/handle/t9n/messages_ru.json +1 -1
- package/assets/components/assets/handle/t9n/messages_sk.json +1 -1
- package/assets/components/assets/icon/accessibility16.json +1 -0
- package/assets/components/assets/icon/accessibility24.json +1 -0
- package/assets/components/assets/icon/accessibility32.json +1 -0
- package/assets/components/assets/icon/addAndUpdateFeatures16.json +1 -0
- package/assets/components/assets/icon/addAndUpdateFeatures24.json +1 -0
- package/assets/components/assets/icon/addAndUpdateFeatures32.json +1 -0
- package/assets/components/assets/icon/addFeatures16.json +1 -0
- package/assets/components/assets/icon/addFeatures24.json +1 -0
- package/assets/components/assets/icon/addFeatures32.json +1 -0
- package/assets/components/assets/icon/arrowCircleDown16.json +1 -0
- package/assets/components/assets/icon/arrowCircleDown16F.json +1 -0
- package/assets/components/assets/icon/arrowCircleDown24.json +1 -0
- package/assets/components/assets/icon/arrowCircleDown24F.json +1 -0
- package/assets/components/assets/icon/arrowCircleDown32.json +1 -0
- package/assets/components/assets/icon/arrowCircleDown32F.json +1 -0
- package/assets/components/assets/icon/arrowCircleDownF16.json +1 -0
- package/assets/components/assets/icon/arrowCircleDownF24.json +1 -0
- package/assets/components/assets/icon/arrowCircleDownF32.json +1 -0
- package/assets/components/assets/icon/joinedViewLayer16.json +1 -0
- package/assets/components/assets/icon/joinedViewLayer24.json +1 -0
- package/assets/components/assets/icon/joinedViewLayer32.json +1 -0
- package/assets/components/assets/icon/locationSharing16.json +1 -0
- package/assets/components/assets/icon/locationSharing16F.json +1 -0
- package/assets/components/assets/icon/locationSharing24.json +1 -0
- package/assets/components/assets/icon/locationSharing24F.json +1 -0
- package/assets/components/assets/icon/locationSharing32.json +1 -0
- package/assets/components/assets/icon/locationSharing32F.json +1 -0
- package/assets/components/assets/icon/locationSharingDisabled16.json +1 -0
- package/assets/components/assets/icon/locationSharingDisabled24.json +1 -0
- package/assets/components/assets/icon/locationSharingDisabled32.json +1 -0
- package/assets/components/assets/icon/locationSharingEnabled16.json +1 -0
- package/assets/components/assets/icon/locationSharingEnabled24.json +1 -0
- package/assets/components/assets/icon/locationSharingEnabled32.json +1 -0
- package/assets/components/assets/icon/locationSharingFilled16.json +1 -0
- package/assets/components/assets/icon/locationSharingFilled24.json +1 -0
- package/assets/components/assets/icon/locationSharingFilled32.json +1 -0
- package/assets/components/assets/icon/locationSharingOff16.json +1 -0
- package/assets/components/assets/icon/locationSharingOff24.json +1 -0
- package/assets/components/assets/icon/locationSharingOff32.json +1 -0
- package/assets/components/assets/icon/maskInside16.json +1 -0
- package/assets/components/assets/icon/maskInside24.json +1 -0
- package/assets/components/assets/icon/maskInside32.json +1 -0
- package/assets/components/assets/icon/maskOutside16.json +1 -0
- package/assets/components/assets/icon/maskOutside24.json +1 -0
- package/assets/components/assets/icon/maskOutside32.json +1 -0
- package/assets/components/assets/icon/numberCircle116F.json +1 -0
- package/assets/components/assets/icon/numberCircle124F.json +1 -0
- package/assets/components/assets/icon/numberCircle132F.json +1 -0
- package/assets/components/assets/icon/numberCircle1F16.json +1 -0
- package/assets/components/assets/icon/numberCircle1F24.json +1 -0
- package/assets/components/assets/icon/numberCircle1F32.json +1 -0
- package/assets/components/assets/icon/numberCircle216F.json +1 -0
- package/assets/components/assets/icon/numberCircle224F.json +1 -0
- package/assets/components/assets/icon/numberCircle232F.json +1 -0
- package/assets/components/assets/icon/numberCircle2F16.json +1 -0
- package/assets/components/assets/icon/numberCircle2F24.json +1 -0
- package/assets/components/assets/icon/numberCircle2F32.json +1 -0
- package/assets/components/assets/icon/numberCircle316F.json +1 -0
- package/assets/components/assets/icon/numberCircle324F.json +1 -0
- package/assets/components/assets/icon/numberCircle332F.json +1 -0
- package/assets/components/assets/icon/numberCircle3F16.json +1 -0
- package/assets/components/assets/icon/numberCircle3F24.json +1 -0
- package/assets/components/assets/icon/numberCircle3F32.json +1 -0
- package/assets/components/assets/icon/numberCircle416F.json +1 -0
- package/assets/components/assets/icon/numberCircle424F.json +1 -0
- package/assets/components/assets/icon/numberCircle432F.json +1 -0
- package/assets/components/assets/icon/numberCircle4F16.json +1 -0
- package/assets/components/assets/icon/numberCircle4F24.json +1 -0
- package/assets/components/assets/icon/numberCircle4F32.json +1 -0
- package/assets/components/assets/icon/numberCircle516F.json +1 -0
- package/assets/components/assets/icon/numberCircle524F.json +1 -0
- package/assets/components/assets/icon/numberCircle532F.json +1 -0
- package/assets/components/assets/icon/numberCircle5F16.json +1 -0
- package/assets/components/assets/icon/numberCircle5F24.json +1 -0
- package/assets/components/assets/icon/numberCircle5F32.json +1 -0
- package/assets/components/assets/icon/numberCircle616F.json +1 -0
- package/assets/components/assets/icon/numberCircle624F.json +1 -0
- package/assets/components/assets/icon/numberCircle632F.json +1 -0
- package/assets/components/assets/icon/numberCircle6F16.json +1 -0
- package/assets/components/assets/icon/numberCircle6F24.json +1 -0
- package/assets/components/assets/icon/numberCircle6F32.json +1 -0
- package/assets/components/assets/icon/numberCircle716F.json +1 -0
- package/assets/components/assets/icon/numberCircle724F.json +1 -0
- package/assets/components/assets/icon/numberCircle732F.json +1 -0
- package/assets/components/assets/icon/numberCircle7F16.json +1 -0
- package/assets/components/assets/icon/numberCircle7F24.json +1 -0
- package/assets/components/assets/icon/numberCircle7F32.json +1 -0
- package/assets/components/assets/icon/numberCircle816F.json +1 -0
- package/assets/components/assets/icon/numberCircle824F.json +1 -0
- package/assets/components/assets/icon/numberCircle832F.json +1 -0
- package/assets/components/assets/icon/numberCircle8F16.json +1 -0
- package/assets/components/assets/icon/numberCircle8F24.json +1 -0
- package/assets/components/assets/icon/numberCircle8F32.json +1 -0
- package/assets/components/assets/icon/numberCircle916F.json +1 -0
- package/assets/components/assets/icon/numberCircle924F.json +1 -0
- package/assets/components/assets/icon/numberCircle932F.json +1 -0
- package/assets/components/assets/icon/numberCircle9F16.json +1 -0
- package/assets/components/assets/icon/numberCircle9F24.json +1 -0
- package/assets/components/assets/icon/numberCircle9F32.json +1 -0
- package/assets/components/assets/icon/orientedImageryLayer16.json +1 -0
- package/assets/components/assets/icon/orientedImageryLayer24.json +1 -0
- package/assets/components/assets/icon/orientedImageryLayer32.json +1 -0
- package/assets/components/assets/icon/overwriteFeatures16.json +1 -0
- package/assets/components/assets/icon/overwriteFeatures24.json +1 -0
- package/assets/components/assets/icon/overwriteFeatures32.json +1 -0
- package/assets/components/assets/icon/parcelLayer16.json +1 -0
- package/assets/components/assets/icon/parcelLayer24.json +1 -0
- package/assets/components/assets/icon/parcelLayer32.json +1 -0
- package/assets/components/assets/icon/refreshF16.json +1 -0
- package/assets/components/assets/icon/refreshF24.json +1 -0
- package/assets/components/assets/icon/refreshF32.json +1 -0
- package/assets/components/assets/icon/strikethrough16.json +1 -0
- package/assets/components/assets/icon/strikethrough24.json +1 -0
- package/assets/components/assets/icon/strikethrough32.json +1 -0
- package/assets/components/assets/icon/updateFeatures16.json +1 -0
- package/assets/components/assets/icon/updateFeatures24.json +1 -0
- package/assets/components/assets/icon/updateFeatures32.json +1 -0
- package/assets/components/assets/icon/viewAssociations16.json +1 -0
- package/assets/components/assets/icon/viewAssociations24.json +1 -0
- package/assets/components/assets/icon/viewAssociations32.json +1 -0
- package/assets/components/assets/input-date-picker/t9n/messages_ar.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_bg.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_bs.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_ca.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_cs.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_da.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_de.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_el.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_es.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_et.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_fi.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_fr.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_he.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_hr.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_hu.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_id.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_it.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_ja.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_ko.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_lt.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_lv.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_nl.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_no.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_pl.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_pt-BR.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_pt-PT.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_ro.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_ru.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_sk.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_sl.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_sr.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_sv.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_th.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_tr.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_uk.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_vi.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_zh-CN.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_zh-HK.json +1 -1
- package/assets/components/assets/input-date-picker/t9n/messages_zh-TW.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_ar.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_bg.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_bs.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_ca.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_cs.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_da.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_de.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_el.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_es.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_et.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_fi.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_fr.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_he.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_hr.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_hu.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_id.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_it.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_ja.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_ko.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_lt.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_lv.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_nl.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_no.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_pl.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_pt-BR.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_pt-PT.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_ro.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_ru.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_sk.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_sl.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_sr.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_sv.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_th.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_tr.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_uk.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_vi.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_zh-CN.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_zh-HK.json +1 -1
- package/assets/components/assets/input-time-picker/t9n/messages_zh-TW.json +1 -1
- package/assets/components/assets/list-item/t9n/messages_vi.json +1 -1
- package/assets/components/assets/menu/t9n/messages.json +3 -0
- package/assets/components/assets/menu/t9n/messages_ar.json +3 -0
- package/assets/components/assets/menu/t9n/messages_bg.json +3 -0
- package/assets/components/assets/menu/t9n/messages_bs.json +3 -0
- package/assets/components/assets/menu/t9n/messages_ca.json +3 -0
- package/assets/components/assets/menu/t9n/messages_cs.json +3 -0
- package/assets/components/assets/menu/t9n/messages_da.json +3 -0
- package/assets/components/assets/menu/t9n/messages_de.json +3 -0
- package/assets/components/assets/menu/t9n/messages_el.json +3 -0
- package/assets/components/assets/menu/t9n/messages_en.json +3 -0
- package/assets/components/assets/menu/t9n/messages_es.json +3 -0
- package/assets/components/assets/menu/t9n/messages_et.json +3 -0
- package/assets/components/assets/menu/t9n/messages_fi.json +3 -0
- package/assets/components/assets/menu/t9n/messages_fr.json +3 -0
- package/assets/components/assets/menu/t9n/messages_he.json +3 -0
- package/assets/components/assets/menu/t9n/messages_hr.json +3 -0
- package/assets/components/assets/menu/t9n/messages_hu.json +3 -0
- package/assets/components/assets/menu/t9n/messages_id.json +3 -0
- package/assets/components/assets/menu/t9n/messages_it.json +3 -0
- package/assets/components/assets/menu/t9n/messages_ja.json +3 -0
- package/assets/components/assets/menu/t9n/messages_ko.json +3 -0
- package/assets/components/assets/menu/t9n/messages_lt.json +3 -0
- package/assets/components/assets/menu/t9n/messages_lv.json +3 -0
- package/assets/components/assets/menu/t9n/messages_nl.json +3 -0
- package/assets/components/assets/menu/t9n/messages_no.json +3 -0
- package/assets/components/assets/menu/t9n/messages_pl.json +3 -0
- package/assets/components/assets/menu/t9n/messages_pt-BR.json +3 -0
- package/assets/components/assets/menu/t9n/messages_pt-PT.json +3 -0
- package/assets/components/assets/menu/t9n/messages_ro.json +3 -0
- package/assets/components/assets/menu/t9n/messages_ru.json +3 -0
- package/assets/components/assets/menu/t9n/messages_sk.json +3 -0
- package/assets/components/assets/menu/t9n/messages_sl.json +3 -0
- package/assets/components/assets/menu/t9n/messages_sr.json +3 -0
- package/assets/components/assets/menu/t9n/messages_sv.json +3 -0
- package/assets/components/assets/menu/t9n/messages_th.json +3 -0
- package/assets/components/assets/menu/t9n/messages_tr.json +3 -0
- package/assets/components/assets/menu/t9n/messages_uk.json +3 -0
- package/assets/components/assets/menu/t9n/messages_vi.json +3 -0
- package/assets/components/assets/menu/t9n/messages_zh-CN.json +3 -0
- package/assets/components/assets/menu/t9n/messages_zh-HK.json +3 -0
- package/assets/components/assets/menu/t9n/messages_zh-TW.json +3 -0
- package/assets/components/assets/menu-item/t9n/messages.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_ar.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_bg.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_bs.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_ca.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_cs.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_da.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_de.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_el.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_en.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_es.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_et.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_fi.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_fr.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_he.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_hr.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_hu.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_id.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_it.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_ja.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_ko.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_lt.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_lv.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_nl.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_no.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_pl.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_pt-BR.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_pt-PT.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_ro.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_ru.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_sk.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_sl.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_sr.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_sv.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_th.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_tr.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_uk.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_vi.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_zh-CN.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_zh-HK.json +4 -0
- package/assets/components/assets/menu-item/t9n/messages_zh-TW.json +4 -0
- package/assets/components/assets/tab-title/t9n/messages.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_ar.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_bg.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_bs.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_ca.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_cs.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_da.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_de.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_el.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_en.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_es.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_et.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_fi.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_fr.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_he.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_hr.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_hu.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_id.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_it.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_ja.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_ko.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_lt.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_lv.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_nl.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_no.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_pl.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_pt-BR.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_pt-PT.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_ro.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_ru.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_sk.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_sl.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_sr.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_sv.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_th.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_tr.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_uk.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_vi.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_zh-CN.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_zh-HK.json +3 -0
- package/assets/components/assets/tab-title/t9n/messages_zh-TW.json +3 -0
- package/assets/components/assets/text-area/t9n/messages.json +2 -1
- package/assets/components/assets/text-area/t9n/messages_en.json +2 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/002fe1ec63ea33e6972d.js +1 -0
- package/assets/esri/core/workers/chunks/013efa75c96be04cf57a.js +1 -0
- package/assets/esri/core/workers/chunks/0254165377538522c830.js +1 -0
- package/assets/esri/core/workers/chunks/036301f545aba2b8e485.js +1 -0
- package/assets/esri/core/workers/chunks/07f16ea775b39a1a4a7b.js +1 -0
- package/assets/esri/core/workers/chunks/0d47e4b1b41b1f87e81b.js +1 -0
- package/assets/esri/core/workers/chunks/0d805fd9cd9ff3a636ca.js +1 -0
- package/assets/esri/core/workers/chunks/0fb1d3dce61bdd71bfff.js +1 -0
- package/assets/esri/core/workers/chunks/105cf61dbd999d0cee16.js +1 -0
- package/assets/esri/core/workers/chunks/114ef73112dd50edf5a4.js +1 -0
- package/assets/esri/core/workers/chunks/{1766371def0b2f953ac3.js → 13ed0105d52d57897730.js} +1 -1
- package/assets/esri/core/workers/chunks/1497709057d28ce7c1be.js +1 -0
- package/assets/esri/core/workers/chunks/170c72126d10b1fdb2b0.js +1 -0
- package/assets/esri/core/workers/chunks/1bbc868d2430103951eb.js +1 -0
- package/assets/esri/core/workers/chunks/1d2ef88a8d028adef102.js +1 -0
- package/assets/esri/core/workers/chunks/1e9e68312cd865358260.js +1 -0
- package/assets/esri/core/workers/chunks/2420ec029236ab31d908.js +1 -0
- package/assets/esri/core/workers/chunks/28474af01bf427c36eeb.js +1 -0
- package/assets/esri/core/workers/chunks/28c67c98039503b62e6e.js +1 -0
- package/assets/esri/core/workers/chunks/2ef70c9b2484a11b7435.js +1 -0
- package/assets/esri/core/workers/chunks/{efb96aefe979a0f5c632.js → 3048157f4f13d22c1753.js} +1 -1
- package/assets/esri/core/workers/chunks/308eeeaec591b4eea1de.js +1 -0
- package/assets/esri/core/workers/chunks/308f3811dfa71f619279.js +1 -0
- package/assets/esri/core/workers/chunks/314a8b5593306be246ab.js +1 -0
- package/assets/esri/core/workers/chunks/35a97dd2872ac3f00977.js +1 -0
- package/assets/esri/core/workers/chunks/3620e9fa4b5dbc21ad87.js +1 -0
- package/assets/esri/core/workers/chunks/39079bcfd35ed73c4e34.js +1 -0
- package/assets/esri/core/workers/chunks/39ae4b9b766f674bc6f2.js +1 -0
- package/assets/esri/core/workers/chunks/{2bdc63395c7466ce1641.js → 3b3d676b609c47a77164.js} +1 -1
- package/assets/esri/core/workers/chunks/3bbaa78c68a4bf159722.js +1 -0
- package/assets/esri/core/workers/chunks/{0d02856e55d20b99fc8b.js → 3bc77c0c08f72d74f08b.js} +1 -1
- package/assets/esri/core/workers/chunks/3c3f65913006b84b2289.js +1 -0
- package/assets/esri/core/workers/chunks/3d42fa4ab5f8632d690a.js +1 -0
- package/assets/esri/core/workers/chunks/3d9a8cb638cf9b8ca4b3.js +1 -0
- package/assets/esri/core/workers/chunks/3db8ae98799c752afe60.js +1 -0
- package/assets/esri/core/workers/chunks/4018d8a06471423cb672.js +1 -0
- package/assets/esri/core/workers/chunks/42b6315e21c4c1345ba5.js +1 -0
- package/assets/esri/core/workers/chunks/42be658be0019944d8d5.js +1 -0
- package/assets/esri/core/workers/chunks/42f3421740a5479559dc.js +1 -0
- package/assets/esri/core/workers/chunks/45629ff775e77234b227.js +1 -0
- package/assets/esri/core/workers/chunks/4b235d1b6a72773cd4f4.js +1107 -0
- package/assets/esri/core/workers/chunks/50b17799f1abce982a19.js +1 -0
- package/assets/esri/core/workers/chunks/52315f93a6f0ad59bd90.js +1 -0
- package/assets/esri/core/workers/chunks/54b319ca2d557b4b4358.js +1 -0
- package/assets/esri/core/workers/chunks/57077e608f20d3a931e8.js +1 -0
- package/assets/esri/core/workers/chunks/{97cdbec7532cfcdf9ad2.js → 595a2baa04d92de59558.js} +1 -1
- package/assets/esri/core/workers/chunks/5bb96e602d7cecbecf54.js +1 -0
- package/assets/esri/core/workers/chunks/5c69acab678f61d3f1a2.js +1 -0
- package/assets/esri/core/workers/chunks/{45a4041881e6235d73a2.js → 5f6e899aceffcf9bffb0.js} +1 -1
- package/assets/esri/core/workers/chunks/63322229183f1d4eaa70.js +1 -0
- package/assets/esri/core/workers/chunks/642510b0371311ff8e16.js +1 -0
- package/assets/esri/core/workers/chunks/68b0e0aa33880bc1ba77.js +1 -0
- package/assets/esri/core/workers/chunks/6995ace1d25d67c98d0e.js +1 -0
- package/assets/esri/core/workers/chunks/6a3d611e8842afbb50ab.js.LICENSE.txt +1 -6
- package/assets/esri/core/workers/chunks/6a82be278c7f3db83354.js +1 -0
- package/assets/esri/core/workers/chunks/6aa99bcb868b0a7cc58c.js +1 -0
- package/assets/esri/core/workers/chunks/6e562fa57c0347091154.js +1 -0
- package/assets/esri/core/workers/chunks/6fb92cd88e4fb65fa7be.js +1 -0
- package/assets/esri/core/workers/chunks/740dc67038f554431f1b.js +1 -0
- package/assets/esri/core/workers/chunks/77fcc4fc0fb3739365f6.js +1 -0
- package/assets/esri/core/workers/chunks/784587a8ae46e3856507.js +1 -0
- package/assets/esri/core/workers/chunks/{4c35c663528f710e8c78.js → 79cb672c85ea29e8484a.js} +1 -1
- package/assets/esri/core/workers/chunks/7ce036a6592cd745e720.js +1 -0
- package/assets/esri/core/workers/chunks/7dc6774c77c822b68c99.js +1 -0
- package/assets/esri/core/workers/chunks/7e4013f8c31c9a9438c6.js +1 -0
- package/assets/esri/core/workers/chunks/82939ead43848a13f765.js +1 -0
- package/assets/esri/core/workers/chunks/82a103a8b5382300889d.js +1 -0
- package/assets/esri/core/workers/chunks/88fdd288ef799a7ac48a.js +1 -0
- package/assets/esri/core/workers/chunks/8b05fb365336cc42fecc.js +1 -0
- package/assets/esri/core/workers/chunks/8b6b963230df56850580.js +1 -0
- package/assets/esri/core/workers/chunks/8e08968505483dc58e00.js +1 -0
- package/assets/esri/core/workers/chunks/915734255a79bff3ef0f.js +1 -0
- package/assets/esri/core/workers/chunks/928a311786199825fd29.js +1 -0
- package/assets/esri/core/workers/chunks/95ff92d7caa34664d58f.js +1 -0
- package/assets/esri/core/workers/chunks/99512f2aa78e8ff6b6c6.js +1 -0
- package/assets/esri/core/workers/chunks/9a0e7c41f796609b3db9.js +1 -0
- package/assets/esri/core/workers/chunks/9c8ab6bd8c170cbc5fa5.js +1 -0
- package/assets/esri/core/workers/chunks/9e570cd4a48c30c83ae6.js +1 -0
- package/assets/esri/core/workers/chunks/a6ece91e6b3343f133a0.js +1 -0
- package/assets/esri/core/workers/chunks/{96c027ffad89524b0820.js → af8f75478979e11fc00a.js} +1 -1
- package/assets/esri/core/workers/chunks/b052463ffb7cb32306dc.js +1 -0
- package/assets/esri/core/workers/chunks/b2a423d9ce8bb784267c.js +1 -0
- package/assets/esri/core/workers/chunks/b31974524932e638df8c.js +1 -0
- package/assets/esri/core/workers/chunks/b75b4b132dbd9cb9d372.js +1 -0
- package/assets/esri/core/workers/chunks/bb3c94acc6d60436e40a.js +1 -0
- package/assets/esri/core/workers/chunks/bc89f5f9653bb1242a61.js +1 -0
- package/assets/esri/core/workers/chunks/bcd2af32e2380fc3c6b3.js +1 -0
- package/assets/esri/core/workers/chunks/{4a12ca8d6756cedfb74c.js → bf3a6346ec25692e130c.js} +1 -1
- package/assets/esri/core/workers/chunks/{3c5a64a545272f148e93.js → c16ec2f614844b3191c0.js} +1 -1
- package/assets/esri/core/workers/chunks/c1dfbda75abc748a6ca4.js +1 -0
- package/assets/esri/core/workers/chunks/c8702e53a8ad6cf6ab85.js +1 -0
- package/assets/esri/core/workers/chunks/c90416e7bf29eb1d4536.js +1 -0
- package/assets/esri/core/workers/chunks/cb004c492e22c50f9bfa.js +1 -0
- package/assets/esri/core/workers/chunks/cb763c42379341b94d1e.js +1 -0
- package/assets/esri/core/workers/chunks/cfc3dcca2b69d20d5375.js +1 -0
- package/assets/esri/core/workers/chunks/cfc48f30ecc9b27ac409.js +1 -0
- package/assets/esri/core/workers/chunks/cfe379a78a983373b3ac.js +1 -0
- package/assets/esri/core/workers/chunks/d0e2b42dca51711f2c6f.js +1 -0
- package/assets/esri/core/workers/chunks/d0ff496834686dbfe29f.js +1 -0
- package/assets/esri/core/workers/chunks/{c7fb48ea5d907883bcce.js → d199290f843ffb78a001.js} +1 -1
- package/assets/esri/core/workers/chunks/d1c00e7d7884c3010e1c.js +1 -0
- package/assets/esri/core/workers/chunks/d2a127f7bb0e2ba14a13.js +1 -0
- package/assets/esri/core/workers/chunks/d8607326a199dd994844.js +1 -0
- package/assets/esri/core/workers/chunks/da0ab3f64802204323ed.js +1 -0
- package/assets/esri/core/workers/chunks/dabd889e064c4e7807fa.js +1 -0
- package/assets/esri/core/workers/chunks/{3bc6b5f0643364749ef8.js → de3d57c9b5d7a1d33bf1.js} +1 -1
- package/assets/esri/core/workers/chunks/df661a3b3629bd122a73.js +1 -0
- package/assets/esri/core/workers/chunks/df96824a6f76bad1370c.js +1 -0
- package/assets/esri/core/workers/chunks/e097f41bbfac00250477.js +1 -0
- package/assets/esri/core/workers/chunks/e3243d120a23a9b48392.js +1 -0
- package/assets/esri/core/workers/chunks/e325151aaa4a1c2a2d0c.js +1 -0
- package/assets/esri/core/workers/chunks/e55f80b774e090a0aa04.js +1 -0
- package/assets/esri/core/workers/chunks/e668c7e2e61aae6ca6e0.js +1 -0
- package/assets/esri/core/workers/chunks/e69e12c25658592e9874.js +1 -0
- package/assets/esri/core/workers/chunks/eb7053ba7e491bf25829.js +1 -0
- package/assets/esri/core/workers/chunks/ebe25310eabce61f7e72.js +1 -0
- package/assets/esri/core/workers/chunks/ef900614353505afb210.js +1 -0
- package/assets/esri/core/workers/chunks/f0299d93a95f40ea7cf7.js +1 -0
- package/assets/esri/core/workers/chunks/f1da7b29eecad0e9efae.js +1 -0
- package/assets/esri/core/workers/chunks/f23b95d7e51a144ad065.js +1 -0
- package/assets/esri/core/workers/chunks/f263e73a25fae4beffae.js +1 -0
- package/assets/esri/core/workers/chunks/{dcec000d7e883fab69ee.js → f50c6491bff822d89716.js} +1 -1
- package/assets/esri/core/workers/chunks/f528239fdba6d910d022.js +1 -0
- package/assets/esri/core/workers/chunks/f556490dae3c69419052.js +1 -0
- package/assets/esri/core/workers/chunks/f709ce36e29371d4f9d0.js +1 -0
- package/assets/esri/core/workers/chunks/{2f9fadbe7e94f79afeda.js → f88a6a9c837b5f76bdd2.js} +1 -1
- package/assets/esri/core/workers/chunks/fb44d872b9dbadcf8ccf.js +1 -0
- package/assets/esri/core/workers/chunks/fcc8aa0624f212b94a70.js +1 -0
- package/assets/esri/images/portal/livestreamvideolayer16.png +0 -0
- package/assets/esri/images/portal/{mediaservice16.png → videolayer16.png} +0 -0
- package/assets/esri/t9n/common_sv.json +1 -1
- package/assets/esri/themes/base/_View.scss +2 -5
- package/assets/esri/themes/base/widgets/_BasemapGallery.scss +9 -12
- package/assets/esri/themes/base/widgets/_Bookmarks.scss +5 -0
- package/assets/esri/themes/base/widgets/_Daylight.scss +4 -6
- package/assets/esri/themes/base/widgets/_Feature.scss +20 -8
- package/assets/esri/themes/base/widgets/_FeatureContent.scss +9 -3
- package/assets/esri/themes/base/widgets/_FeatureForm.scss +19 -2
- package/assets/esri/themes/base/widgets/_Features.scss +5 -7
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +69 -36
- package/assets/esri/themes/base/widgets/_Popup.scss +3 -3
- package/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss +1 -0
- package/assets/esri/themes/base/widgets/_Swipe.scss +11 -0
- package/assets/esri/themes/base/widgets/_ValuePicker.scss +5 -2
- package/assets/esri/themes/base/widgets/_Widget.scss +7 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ar.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bg.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bs.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ca.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_cs.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_da.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_de.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_el.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_es.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_et.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fi.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fr.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_he.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hr.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hu.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_id.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_it.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ja.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ko.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lt.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lv.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_nb.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_nl.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pl.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-BR.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-PT.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ro.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ru.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sk.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sl.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sr.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sv.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_th.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_tr.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_uk.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_vi.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-CN.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-HK.json +1 -1
- package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-TW.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ar.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bg.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bs.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ca.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_cs.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_da.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_de.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_el.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_es.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_et.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fi.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fr.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_he.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hr.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hu.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_id.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_it.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ja.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ko.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lt.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lv.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nb.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nl.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pl.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-BR.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-PT.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ro.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ru.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sk.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sl.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sr.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sv.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_th.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_tr.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_uk.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_vi.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-CN.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-HK.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-TW.json +1 -1
- package/assets/esri/widgets/CoordinateConversion/t9n/CoordinateConversion_ja.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ar.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_bg.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_bs.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ca.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_cs.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_da.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_de.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_el.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_es.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_et.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_fi.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_fr.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_he.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_hr.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_hu.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_id.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_it.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ja.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ko.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_lt.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_lv.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_nb.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_nl.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_pl.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_pt-BR.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_pt-PT.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ro.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_ru.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_sk.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_sl.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_sr.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_sv.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_th.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_tr.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_uk.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_vi.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_zh-CN.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_zh-HK.json +1 -1
- package/assets/esri/widgets/Feature/t9n/Feature_zh-TW.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nb.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_ar.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_bg.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_bs.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_ca.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_cs.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_da.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_de.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_el.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_es.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_et.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_fi.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_fr.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_he.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_hr.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_hu.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_id.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_it.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_ja.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_ko.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_lt.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_lv.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_nb.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_nl.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_pl.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_pt-BR.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_pt-PT.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_ro.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_ru.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_sk.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_sl.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_sr.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_sv.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_th.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_tr.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_uk.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_vi.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_zh-CN.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_zh-HK.json +1 -1
- package/assets/esri/widgets/Features/t9n/Features_zh-TW.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_ar.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_bg.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_bs.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_ca.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_cs.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_da.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_de.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_el.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_es.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_et.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_fi.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_fr.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_he.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_hr.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_hu.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_id.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_it.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_ja.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_ko.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_lt.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_lv.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_nb.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_nl.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_pl.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_pt-BR.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_pt-PT.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_ro.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_ru.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_sk.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_sl.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_sr.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_sv.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_th.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_tr.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_uk.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_vi.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_zh-CN.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_zh-HK.json +1 -1
- package/assets/esri/widgets/Legend/t9n/Legend_zh-TW.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nb.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ar.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_bg.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_bs.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ca.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_cs.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_da.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_de.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_el.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_es.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_et.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_fi.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_fr.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_he.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_hr.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_hu.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_id.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_it.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ja.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ko.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_lt.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_lv.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_nb.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_nl.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_pl.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_pt-BR.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_pt-PT.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ro.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_ru.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_sk.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_sl.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_sr.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_sv.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_th.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_tr.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_uk.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_vi.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_zh-CN.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_zh-HK.json +1 -1
- package/assets/esri/widgets/Popup/t9n/Popup_zh-TW.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_nb.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ar.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bg.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ca.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_da.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_de.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_es.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_et.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fi.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_he.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hu.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_id.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_it.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ja.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ko.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lt.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nb.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-BR.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-PT.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ro.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ru.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sk.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sv.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_th.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_tr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_uk.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_vi.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-CN.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-HK.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-TW.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ar.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_bg.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_bs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ca.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_cs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_da.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_de.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_el.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_es.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_et.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_fi.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_fr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_he.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_hr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_hu.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_id.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_it.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ja.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ko.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_lt.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_lv.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nb.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_nl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pt-BR.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_pt-PT.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ro.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_ru.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sk.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_sv.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_th.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_tr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_uk.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_vi.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-CN.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-HK.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_zh-TW.json +1 -1
- package/chunks/AtmosphereCompositing.glsl.js +5 -5
- package/chunks/BlendWeights.glsl.js +9 -9
- package/chunks/Blur.glsl.js +1 -1
- package/chunks/ChapmanAtmosphere.glsl.js +8 -7
- package/chunks/CheckerBoard.glsl.js +5 -5
- package/chunks/CloudsComposition.glsl.js +3 -3
- package/chunks/ColorMaterial.glsl.js +12 -12
- package/chunks/ComponentShader.glsl.js +8 -8
- package/chunks/DefaultMaterial.glsl.js +43 -43
- package/chunks/EdgeDetect.glsl.js +2 -2
- package/chunks/EdgeShader.glsl.js +1 -1
- package/chunks/Fog.glsl.js +2 -2
- package/chunks/HUDMaterial.glsl.js +1 -1
- package/chunks/HighlightApply.glsl.js +4 -4
- package/chunks/ImageMaterial.glsl.js +7 -7
- package/chunks/LineCallout.glsl.js +5 -5
- package/chunks/LineMarker.glsl.js +1 -1
- package/chunks/Path.glsl.js +16 -16
- package/chunks/Pattern.glsl.js +33 -32
- package/chunks/Precipitation.glsl.js +3 -3
- package/chunks/RealisticTree.glsl.js +7 -7
- package/chunks/RibbonLine.glsl.js +41 -41
- package/chunks/SSAO.glsl.js +1 -1
- package/chunks/ShadedColorMaterial.glsl.js +1 -1
- package/chunks/ShadowCastAccumulate.glsl.js +4 -3
- package/chunks/ShadowCastVisualize.glsl.js +1 -1
- package/chunks/ShadowHighlight.glsl.js +14 -11
- package/chunks/Terrain.glsl.js +15 -13
- package/chunks/Theme.js +1 -1
- package/chunks/Tooltip.js +1 -1
- package/chunks/WaterSurface.glsl.js +18 -18
- package/chunks/boundedPlane.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/chunks/mat3.js +1 -1
- package/chunks/quat.js +1 -1
- package/chunks/quat2.js +1 -1
- package/chunks/quatf32.js +1 -1
- package/chunks/vec2.js +1 -1
- package/chunks/vec3.js +1 -1
- package/chunks/vec3f32.js +1 -1
- package/copyright.txt +1 -1
- package/core/Clonable.js +1 -1
- package/core/Collection.js +1 -1
- package/core/Evented.js +1 -1
- package/core/Handles.js +1 -1
- package/core/JSONSupport.js +1 -1
- package/core/MemCache.js +1 -1
- package/core/MemCachePool.js +5 -0
- package/core/Promise.js +1 -1
- package/core/Queue.js +1 -1
- package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
- package/core/ReentrantObjectPool.js +1 -1
- package/core/accessorSupport/MultiOriginStore.js +1 -1
- package/core/accessorSupport/PropertyOrigin.js +1 -1
- package/core/accessorSupport/extensions/serializableProperty/reader.js +1 -1
- package/core/accessorSupport/trackingUtils.js +1 -1
- package/core/accessorSupport/utils.js +1 -1
- package/core/accessorSupport/watch.js +1 -1
- package/core/clock.js +1 -1
- package/core/events.js +1 -1
- package/core/fontUtils.js +1 -1
- package/core/handleUtils.js +1 -1
- package/core/libs/gl-matrix-2/factories/quatf32.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec3f32.js +1 -1
- package/core/libs/gl-matrix-2/math/mat3.js +1 -1
- package/core/libs/gl-matrix-2/math/quat.js +1 -1
- package/core/libs/gl-matrix-2/math/vec2.js +1 -1
- package/core/libs/gl-matrix-2/math/vec3.js +1 -1
- package/core/libs/gl-matrix-2/vec3.js +1 -1
- package/core/libs/rbush/PooledRBush.js +1 -1
- package/core/maybe.js +1 -1
- package/core/perspectiveUtils.js +1 -1
- package/core/promiseUtils.js +1 -1
- package/core/scheduling.js +1 -1
- package/core/support/OwningCollection.js +1 -1
- package/core/support/WatchUpdatingTracking.js +1 -1
- package/core/time.js +1 -1
- package/core/timeUtils.js +1 -1
- package/core/unitFormatUtils.js +1 -1
- package/core/unitUtils.js +1 -1
- package/core/urlUtils.js +1 -1
- package/core/watchUtils.js +1 -1
- package/core/workers/RemoteClient.js +1 -1
- package/core/workers/request.js +1 -1
- package/core/workers/workers.js +1 -1
- package/form/elements/RelationshipElement.d.ts +4 -0
- package/geometry/Mesh.js +1 -1
- package/geometry/Polygon.js +1 -1
- package/geometry/support/DoubleArray.js +1 -1
- package/geometry/support/MeshComponent.js +1 -1
- package/geometry/support/MeshMaterial.js +1 -1
- package/geometry/support/MeshMaterialMetallicRoughness.js +1 -1
- package/geometry/support/MeshTexture.js +1 -1
- package/geometry/support/MeshVertexAttributes.js +1 -1
- package/geometry/support/axisAngleDegrees.js +1 -1
- package/geometry/support/coordsUtils.js +1 -1
- package/geometry/support/meshUtils/External.js +1 -1
- package/geometry/support/meshUtils/bounds.js +5 -0
- package/geometry/support/meshUtils/centerAt.js +1 -1
- package/geometry/support/meshUtils/georeference.js +1 -1
- package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
- package/geometry/support/meshUtils/merge.js +1 -1
- package/geometry/support/meshUtils/projection.js +1 -1
- package/geometry/support/meshUtils/rotate.js +1 -1
- package/geometry/support/meshUtils/scale.js +1 -1
- package/geometry/support/meshVertexSpaceUtils.js +5 -0
- package/geometry/support/plane.js +1 -1
- package/geometry/support/rotate.js +1 -1
- package/geometry/support/triangulationUtils.js +1 -1
- package/identity/IdentityManagerBase.js +1 -1
- package/interfaces.d.ts +2665 -476
- package/intl/date.js +1 -1
- package/intl/locale.js +1 -1
- package/intl/messages.js +1 -1
- package/intl/number.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/KnowledgeGraphLayer.js +1 -1
- package/layers/LinkChartLayer.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/OrientedImageryLayer.js +1 -1
- package/layers/RouteLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/StreamLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/TileLayer.js +1 -1
- package/layers/VideoLayer.js +1 -1
- package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/controllers/StreamController.js +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/data/attributeSupport.js +1 -1
- package/layers/graphics/editingSupport.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/sources/MemorySource.js +1 -1
- package/layers/graphics/sources/OGCFeatureSource.js +1 -1
- package/layers/graphics/sources/WFSSource.js +1 -1
- package/layers/graphics/sources/support/clientSideDefaults.js +1 -1
- package/layers/graphics/sources/support/uploadAssets.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +4 -0
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +5 -0
- package/layers/knowledgeGraph/{KnowledgeGraphSubLayerBase.js → KnowledgeGraphSublayerBase.js} +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/EditBusLayer.js +1 -1
- package/layers/mixins/FeatureLayerBase.js +1 -1
- package/layers/mixins/ImageryTileMixin.js +1 -1
- package/layers/orientedImagery/core/ExposurePoint.js +1 -1
- package/layers/orientedImagery/core/bestImageUtils.js +1 -1
- package/layers/orientedImagery/core/coverageUtils.js +1 -1
- package/layers/orientedImagery/transformations/groundToImageUtils.js +1 -1
- package/layers/orientedImagery/transformations/imageToGroundUtils.js +1 -1
- package/layers/support/ElevationQuery.js +1 -1
- package/layers/support/ElevationSampler.js +1 -1
- package/layers/support/ExportImageParameters.js +1 -1
- package/layers/support/ExportWMSImageParameters.js +1 -1
- package/layers/support/FeatureReductionBinning.js +1 -1
- package/layers/support/FeatureReductionCluster.js +1 -1
- package/layers/support/FetchAssociatedFeatureLayer.js +1 -1
- package/layers/support/RasterFunction.js +1 -1
- package/layers/support/RasterFunctionInfo.js +5 -0
- package/layers/support/RasterFunctionProperties.js +5 -0
- package/layers/support/RasterFunctionTemplate.js +5 -0
- package/layers/support/RasterFunctionVariable.js +5 -0
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/TelemetryData.js +1 -1
- package/layers/support/TelemetryDisplay.js +1 -1
- package/layers/support/VideoTimeExtent.js +1 -1
- package/layers/support/capabilities.js +1 -1
- package/layers/support/editableLayers.js +1 -1
- package/layers/support/featureLayerUtils.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/layers/support/imageryRendererUtils.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/rasterDatasets/BaseRaster.js +1 -1
- package/layers/support/rasterEnums.js +1 -1
- package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
- package/layers/support/rasterFunctions/colormaps.js +1 -1
- package/layers/support/serviceCapabilitiesUtils.js +1 -1
- package/layers/video/VideoCameraSensorModel.js +5 -0
- package/layers/video/VideoController.js +5 -0
- package/layers/video/videoUtils.js +5 -0
- package/layers/voxel/VoxelVolume.js +1 -1
- package/layers/voxel/voxelPlaneUtils.js +1 -1
- package/networks/Network.js +1 -1
- package/networks/support/TopologyValidationJobInfo.js +1 -1
- package/networks/support/TraceJobInfo.d.ts +4 -0
- package/package.json +3 -3
- package/popup/support/FieldInfoFormat.js +1 -1
- package/portal/PortalGroup.js +1 -1
- package/portal/PortalItem.js +1 -1
- package/portal/schemas/definitions.js +1 -1
- package/portal/support/portalItemUtils.js +1 -1
- package/renderers/SimpleRenderer.js +1 -1
- package/renderers/support/ClassBreakInfo.js +1 -1
- package/renderers/support/UniqueValueInfo.js +1 -1
- package/renderers/support/colorRampUtils.js +1 -1
- package/renderers/support/commonProperties.js +1 -1
- package/renderers/support/types.js +1 -1
- package/renderers/support/utils.js +1 -1
- package/request.js +1 -1
- package/rest/knowledgeGraph/GraphApplyEditsResult.js +1 -1
- package/rest/places.js +1 -1
- package/rest/query/operations/pbfJSONFeatureSet.js +1 -1
- package/rest/support/PlacesQueryResult.js +1 -1
- package/rest/support/meshFeatureSet.js +1 -1
- package/smartMapping/labels/bins.d.ts +4 -0
- package/smartMapping/labels/bins.js +5 -0
- package/smartMapping/labels/clusters.js +1 -1
- package/smartMapping/labels/support/utils.js +5 -0
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/dotDensity.js +1 -1
- package/smartMapping/renderers/heatmap.js +1 -1
- package/smartMapping/renderers/location.js +1 -1
- package/smartMapping/renderers/pieChart.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/support/binningUtils.js +1 -1
- package/smartMapping/symbology/color.js +1 -1
- package/smartMapping/symbology/flow.js +1 -1
- package/smartMapping/symbology/support/colors.js +1 -1
- package/statistics/utils.js +1 -1
- package/support/AnalysesCollection.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/basemapUtils.js +1 -1
- package/support/featureFlags.js +1 -1
- package/support/requestUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/symbols/cim/CIMSymbolRasterizer.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/effects/EffectBuffer.js +1 -1
- package/symbols/cim/effects/EffectDonut.js +1 -1
- package/symbols/cim/effects/EffectOffset.js +1 -1
- package/symbols/support/previewCIMSymbol.js +1 -1
- package/symbols/support/previewSymbol3D.js +1 -1
- package/symbols/support/svgUtils.js +1 -1
- package/symbols/support/utils.js +1 -1
- package/symbols/support/webStyleSymbolUtils.js +1 -1
- package/versionManagement/VersionManagementService.js +1 -1
- package/versionManagement/support/versionManagementUtils.js +1 -1
- package/views/2d/LabelManager.js +1 -1
- package/views/2d/MapViewConstraints.js +1 -1
- package/views/2d/PaddedViewState.js +1 -1
- package/views/2d/ViewState.js +1 -1
- package/views/2d/ViewStateManager.js +5 -0
- package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
- package/views/2d/engine/imagery/RasterVFTile.js +1 -1
- package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
- package/views/2d/engine/webgl/BufferPool.js +1 -1
- package/views/2d/engine/webgl/OverlayContainer.js +1 -1
- package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
- package/views/2d/engine/webgl/WGLTile.js +1 -1
- package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
- package/views/2d/engine/webgl/animatedFormats/AnimatableTextureResource.js +1 -1
- package/views/2d/engine/webgl/animatedFormats/utils.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushHeatmap.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/Buffer.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/Geometry.js +1 -1
- package/views/2d/engine/webgl/effects/highlight/HighlightSurfaces.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
- package/views/2d/input/MapViewInputManager.js +1 -1
- package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
- package/views/2d/interactive/editingTools/TransformTool.js +1 -1
- package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
- package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/GraphicsLayerView2D.js +1 -1
- package/views/2d/layers/ImageryLayerView2D.js +1 -1
- package/views/2d/layers/KMLLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/MapImageLayerView2D.js +1 -1
- package/views/2d/layers/MapNotesLayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/2d/layers/StreamLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/Pipeline.js +1 -1
- package/views/2d/layers/features/Store2D.js +1 -1
- package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
- package/views/2d/layers/features/processors/BaseProcessor.js +1 -1
- package/views/2d/layers/features/processors/HeatmapProcessor.js +1 -1
- package/views/2d/layers/features/processors/SymbolProcessor.js +1 -1
- package/views/2d/layers/features/schemaUtils.js +1 -1
- package/views/2d/layers/features/sources/SnapshotFeatureSource.js +1 -1
- package/views/2d/layers/features/sources/StreamConnectionState.js +1 -1
- package/views/2d/layers/features/sources/StreamSource.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/features/tileRenderers/BaseTileRenderer.js +1 -1
- package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
- package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
- package/views/2d/layers/support/DebugOverlay.js +1 -1
- package/views/2d/navigation/MapViewNavigation.js +1 -1
- package/views/2d/navigation/ZoomBox.js +1 -1
- package/views/2d/navigation/actions/Pinch.js +1 -1
- package/views/2d/navigation/actions/Rotate.js +1 -1
- package/views/2d/viewpointUtils.js +1 -1
- package/views/3d/analysis/AnalysisViewManager3D.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
- package/views/3d/analysis/Dimension/DimensionController.js +1 -1
- package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionVisualization.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
- package/views/3d/analysis/DimensionAnalysisView3D.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
- package/views/3d/analysis/Slice/SliceTool.js +1 -1
- package/views/3d/analysis/Slice/SliceVisualization.js +1 -1
- package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
- package/views/3d/analysis/support/viewUtils.js +1 -1
- package/views/3d/camera/constraintUtils/distance.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
- package/views/3d/environment/CloudsComposition.js +1 -1
- package/views/3d/environment/CloudsGenerator.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/NoiseTextureAtlas.js +1 -1
- package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
- package/views/3d/environment/weatherUtils.js +1 -1
- package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
- package/views/3d/externalRenderers/RenderContext.js +1 -1
- package/views/3d/glTF/internal/resourceUtils.js +1 -1
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/interactive/Manipulator3D.js +1 -1
- package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/lineGraphicVisualElementUtils.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
- package/views/3d/interactive/editingTools/manipulations/MoveXYDiscManipulation.js +1 -1
- package/views/3d/interactive/editingTools/manipulatorUtils.js +1 -1
- package/views/3d/interactive/editingTools/moveGraphic/GraphicMoveTool.js +1 -1
- package/views/3d/interactive/editingTools/originGraphicVisualElementUtils.js +1 -1
- package/views/3d/interactive/editingTools/reshapeGraphic/GraphicReshapeTool.js +1 -1
- package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/reshapeGraphic/edgeOffsetUtils.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/GraphicTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateMeshAdapter.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateObjectSymbol3DAdapter.js +1 -1
- package/views/3d/interactive/manipulatorUtils.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
- package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
- package/views/3d/interactive/visualElements/EngineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MarkerVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/Object3DVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/SlicePlaneVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/VisualElement.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
- package/views/3d/layers/BuildingSublayerView3D.js +1 -1
- package/views/3d/layers/DimensionLayerView3D.js +1 -1
- package/views/3d/layers/DynamicLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
- package/views/3d/layers/I3SMeshWorkerHandle.js +1 -1
- package/views/3d/layers/II3SMeshView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/LayerView3D.js +1 -1
- package/views/3d/layers/LineOfSightLayerView3D.js +1 -1
- package/views/3d/layers/MapImageLayerView3D.js +1 -1
- package/views/3d/layers/MediaLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudWorker.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerWorker.js +1 -1
- package/views/3d/layers/StreamLayerView3D.js +1 -1
- package/views/3d/layers/TileLayerView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/VoxelLayerView3D.js +1 -1
- package/views/3d/layers/WMSLayerView3D.js +1 -1
- package/views/3d/layers/WMTSLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/ElevationQuery.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
- package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
- package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/graphics/polygonUtils.js +1 -1
- package/views/3d/layers/graphics/webStyleUtils.js +1 -1
- package/views/3d/layers/i3s/Highlights.js +1 -1
- package/views/3d/layers/i3s/I3SClientMaterialUtil.js +5 -0
- package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
- package/views/3d/layers/i3s/I3SFrameTask.js +1 -1
- package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
- package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/i3s/featureEditing.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
- package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
- package/views/3d/layers/support/SceneLayerViewRequiredFields.js +1 -1
- package/views/3d/layers/support/uvUtils.js +1 -1
- package/views/3d/state/Frustum.js +1 -1
- package/views/3d/state/GoToOperation.js +1 -1
- package/views/3d/state/ViewState.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/global/ZoomController.js +1 -1
- package/views/3d/state/controllers/local/ZoomController.js +1 -1
- package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
- package/views/3d/support/CombinedElevationProvider.js +1 -1
- package/views/3d/support/DisplayQualityProfile.js +1 -1
- package/views/3d/support/FrustumExtentIntersection.js +1 -1
- package/views/3d/support/LaserLineRenderer.js +1 -1
- package/views/3d/support/MemoryController.js +1 -1
- package/views/3d/support/RenderCoordsHelper.js +1 -1
- package/views/3d/support/SceneViewPerformanceInfo.js +1 -1
- package/views/3d/support/SharedSymbolResources.js +1 -1
- package/views/3d/support/StreamTextureCollection.js +1 -1
- package/views/3d/support/geometryUtils/ray.js +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/support/pointsOfInterest/Focus.js +1 -1
- package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
- package/views/3d/support/renderInfoUtils/line.js +1 -1
- package/views/3d/support/renderInfoUtils/polygon.js +1 -1
- package/views/3d/support/sunUtils.js +1 -1
- package/views/3d/terrain/Overlay.js +1 -1
- package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/OverlayRenderTarget.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/PatchRenderData.js +1 -1
- package/views/3d/terrain/SphericalPatch.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/terrain/TilingSchemeLogic.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/FBOCache.js +5 -0
- package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +3 -9
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +13 -15
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +30 -35
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/hud/{HUDUniforms.js → HUDRenderStyle.js} +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +5 -6
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js +5 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +10 -10
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +18 -16
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +8 -8
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +9 -9
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloat16Encoding.glsl.js +25 -0
- package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Uniform.js +1 -1
- package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/Camera.js +1 -1
- package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
- package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
- package/views/3d/webgl-engine/lib/Highlight.js +1 -1
- package/views/3d/webgl-engine/lib/MagnifierHelper.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
- package/views/3d/webgl-engine/lib/PathCapBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
- package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
- package/views/3d/webgl-engine/lib/Program.js +1 -1
- package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
- package/views/3d/webgl-engine/lib/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
- package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
- package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
- package/views/3d/webgl-engine/lib/basicInterfaces.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
- package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
- package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/VisualVariablePassParameters.js +1 -1
- package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
- package/views/3d/webgl-engine/materials/pbrUtils.js +5 -0
- package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCalloutTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/SMAAPassParameters.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
- package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
- package/views/DOMContainer.js +1 -1
- package/views/LayerViewManager.js +1 -1
- package/views/MapView.js +1 -1
- package/views/PopupView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/ToolViewManager.js +1 -1
- package/views/draw/DrawGraphicTool.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/DrawTool.js +1 -1
- package/views/draw/support/GraphicMover.js +1 -1
- package/views/draw/support/HighlightHelper.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/draw/support/createUtils.js +1 -1
- package/views/draw/support/surfaceCoordinateSystems.js +1 -1
- package/views/input/ViewEvents.js +1 -1
- package/views/interactive/SegmentLabels.js +1 -1
- package/views/interactive/coordinateHelper.js +1 -1
- package/views/interactive/editGeometry/EditGeometry.js +1 -1
- package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
- package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
- package/views/interactive/editGeometry/operations/ScaleVertex.js +1 -1
- package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
- package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
- package/views/interactive/snapping/RightAngleSnapper.js +1 -1
- package/views/interactive/snapping/SnappingConstraint.js +1 -1
- package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/I3SSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
- package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorkerHandle.js +1 -1
- package/views/interactive/snapping/featureSources/sceneLayerSource/sceneLayerSnappingUtils.js +1 -1
- package/views/interactive/support/viewUtils.js +1 -1
- package/views/layers/FeatureLayerView.js +1 -1
- package/views/layers/GroupLayerView.js +1 -1
- package/views/layers/LayerView.js +1 -1
- package/views/layers/RefreshableLayerView.js +1 -1
- package/views/layers/StreamLayerView.js +1 -1
- package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
- package/views/overlay/LineOverlayItem.js +1 -1
- package/views/overlay/TextOverlayItem.js +1 -1
- package/views/overlay/ViewOverlay.js +1 -1
- package/views/support/QueueProcessor.js +1 -1
- package/views/support/euclideanAreaMeasurementUtils.js +1 -1
- package/views/support/geometry2dUtils.js +1 -1
- package/views/support/geometry3dUtils.js +1 -1
- package/views/support/screenshotUtils.js +1 -1
- package/views/ui/DefaultUI.js +1 -1
- package/views/ui/UI.js +1 -1
- package/views/webgl/AppleAmdDriverHelper.js +5 -0
- package/views/webgl/BufferObject.js +1 -1
- package/views/webgl/FramebufferObject.js +1 -1
- package/views/webgl/Measurement.js +1 -1
- package/views/webgl/Renderbuffer.js +1 -1
- package/views/webgl/RenderingContext.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/views/webgl/TextureDescriptor.js +1 -1
- package/views/webgl/VertexArrayObject.js +1 -1
- package/views/webgl/heatmapTextureUtils.js +1 -1
- package/views/webgl/testAppleAmdDrawArrays.js +1 -1
- package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
- package/{layers/orientedImagery/core/imageryUtils.js → webdoc/interfaces.js} +1 -1
- package/webdoc/support/writeUtils.js +1 -1
- package/webmap/initialViewPropertiesUtils.js +1 -1
- package/webscene/Slide.js +1 -1
- package/widgets/Attachments.js +1 -1
- package/widgets/Attribution/AttributionViewModel.js +1 -1
- package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
- package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
- package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
- package/widgets/BasemapGallery.js +1 -1
- package/widgets/BasemapLayerList/BasemapLayerListViewModel.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/Bookmarks/css.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
- package/widgets/BuildingExplorer/BuildingExplorerViewModel.js +1 -1
- package/widgets/BuildingExplorer/BuildingNumericFilterViewModel.js +1 -1
- package/widgets/Compass/CompassViewModel.js +1 -1
- package/widgets/Daylight/DaylightViewModel.js +1 -1
- package/widgets/Directions/DirectionsViewModel.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
- package/widgets/Editor/CreateWorkflow.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/Edits.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflowData.js +1 -1
- package/widgets/Editor/Upload.js +1 -1
- package/widgets/Editor/Workflow.js +1 -1
- package/widgets/Editor/modelUploadUtils.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileController.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileInteraction.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
- package/widgets/ElevationProfile/support/ElevationProfileView.js +1 -1
- package/widgets/ElevationProfile/support/InputRepresentation3D.js +1 -1
- package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
- package/widgets/Feature/FeatureAttachments.js +1 -1
- package/widgets/Feature/FeatureContent/FeatureContentViewModel.js +1 -1
- package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
- package/widgets/Feature/FeatureMedia/pieChart.js +1 -1
- package/widgets/Feature/FeatureMedia/xyChart.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
- package/widgets/Feature/FeatureRelationship.js +1 -1
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/Feature/support/relatedFeatureUtils.js +1 -1
- package/widgets/FeatureForm/EditableInput.d.ts +4 -0
- package/widgets/FeatureForm/EditableInput.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/FieldInput.d.ts +4 -0
- package/widgets/FeatureForm/FieldInput.js +1 -1
- package/widgets/FeatureForm/FormExpressionsManager.js +1 -1
- package/widgets/FeatureForm/GroupInput.d.ts +4 -0
- package/widgets/FeatureForm/GroupInput.js +1 -1
- package/widgets/FeatureForm/InputBase.d.ts +4 -0
- package/widgets/FeatureForm/InputBase.js +1 -1
- package/widgets/FeatureForm/InputField.d.ts +4 -0
- package/widgets/FeatureForm/InputFieldGroup.d.ts +4 -0
- package/widgets/FeatureForm/RelationshipInput.d.ts +4 -0
- package/widgets/FeatureForm/RelationshipInput.js +1 -1
- package/widgets/FeatureForm/css.js +1 -1
- package/widgets/FeatureForm/featureFormUtils.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/FieldColumn.js +1 -1
- package/widgets/FeatureTable/Grid/Column.js +1 -1
- package/widgets/FeatureTable/Grid/Grid.js +11 -11
- package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/FeatureTemplates/ItemList.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/Features/FeaturesViewModel.d.ts +4 -0
- package/widgets/Features.d.ts +4 -0
- package/widgets/Features.js +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/Home.js +1 -1
- package/widgets/LayerList/ListItem.js +1 -1
- package/widgets/Legend/LegendViewModel.js +1 -1
- package/widgets/Legend/styles/Card.js +1 -1
- package/widgets/Legend/styles/Classic.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend/support/styleUtils.js +1 -1
- package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
- package/widgets/Locate/LocateViewModel.js +1 -1
- package/widgets/Locate.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/Print/FileLink.js +1 -1
- package/widgets/ScaleRangeSlider.js +1 -1
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/widgets/ShadowCast/ShadowTooltipViewModel.js +1 -1
- package/widgets/ShadowCast.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/TableList/ListItem.js +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
- package/widgets/Track/TrackViewModel.js +1 -1
- package/widgets/Track.js +1 -1
- package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
- package/widgets/UtilityNetworkAssociations.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
- package/widgets/UtilityNetworkTrace/support/ResultAreaHandler.js +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.d.ts +4 -0
- package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
- package/widgets/UtilityNetworkValidateTopology.d.ts +4 -0
- package/widgets/UtilityNetworkValidateTopology.js +1 -1
- package/widgets/ValuePicker/ValuePickerBaseComponent.js +1 -1
- package/widgets/ValuePicker/ValuePickerCollection.d.ts +4 -0
- package/widgets/ValuePicker/ValuePickerCombobox.d.ts +4 -0
- package/widgets/ValuePicker/ValuePickerCombobox.js +1 -1
- package/widgets/ValuePicker/ValuePickerLabel.d.ts +4 -0
- package/widgets/ValuePicker/ValuePickerSlider.d.ts +4 -0
- package/widgets/ValuePicker/ValuePickerSlider.js +1 -1
- package/widgets/ValuePicker.d.ts +4 -0
- package/widgets/ValuePicker.js +1 -1
- package/widgets/Weather/WeatherViewModel.js +1 -1
- package/widgets/Widget.js +1 -1
- package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.js +1 -1
- package/widgets/support/ColorPicker.js +1 -1
- package/widgets/support/GeolocationPositioning.js +1 -1
- package/widgets/support/Popover.js +1 -1
- package/widgets/support/Selector2D/SelectionOperation2D.js +1 -1
- package/widgets/support/Selector2D.js +1 -1
- package/widgets/support/SnappingControls/SnappingControlsViewModel.js +1 -1
- package/widgets/support/chartUtils.js +1 -1
- package/widgets/support/chartUtilsAm5.js +1 -1
- package/widgets/support/componentsUtils.js +1 -1
- package/widgets/support/geolocationUtils.js +1 -1
- package/widgets/support/jsxWidgetSupport.js +1 -1
- package/assets/esri/core/workers/chunks/030b43764f945cb1f8b0.js +0 -1
- package/assets/esri/core/workers/chunks/03bc91648286b9b75e30.js +0 -1
- package/assets/esri/core/workers/chunks/03dba2a2bbc363369a0f.js +0 -1
- package/assets/esri/core/workers/chunks/0618fb0058f39ecd363f.js +0 -1
- package/assets/esri/core/workers/chunks/099cacba30fd93af8ebc.js +0 -1
- package/assets/esri/core/workers/chunks/0adcc644ab424469a62d.js +0 -1
- package/assets/esri/core/workers/chunks/0fcb8d408696075338e2.js +0 -1
- package/assets/esri/core/workers/chunks/1257825488d2494e901d.js +0 -1
- package/assets/esri/core/workers/chunks/14d97dc471ff449bb12d.js +0 -1
- package/assets/esri/core/workers/chunks/16e459b16bdd6e1a821b.js +0 -1
- package/assets/esri/core/workers/chunks/187c3b971ed0fc4363ef.js +0 -1
- package/assets/esri/core/workers/chunks/18db07d739a713cc0465.js +0 -1
- package/assets/esri/core/workers/chunks/1fd7e2d91d0d76ba1802.js +0 -1
- package/assets/esri/core/workers/chunks/20ea76301f58a4145223.js +0 -1
- package/assets/esri/core/workers/chunks/270471cd31609e303496.js +0 -1
- package/assets/esri/core/workers/chunks/293315442f5afe8069dc.js +0 -1
- package/assets/esri/core/workers/chunks/2e627c94e57c924e5917.js +0 -1095
- package/assets/esri/core/workers/chunks/39288fa69561d21f04f8.js +0 -1
- package/assets/esri/core/workers/chunks/39714837f9d3708e3806.js +0 -1
- package/assets/esri/core/workers/chunks/3a63ab2bff22950ffadf.js +0 -1
- package/assets/esri/core/workers/chunks/3ce1fe5e7a841f6dc355.js +0 -1
- package/assets/esri/core/workers/chunks/3d511e09f36002e1032e.js +0 -1
- package/assets/esri/core/workers/chunks/431d54867bc3bb848fbb.js +0 -1
- package/assets/esri/core/workers/chunks/4474512927623c7bb16c.js +0 -1
- package/assets/esri/core/workers/chunks/45e5ad704d18dd0857ce.js +0 -1
- package/assets/esri/core/workers/chunks/4f2e49bbbf667b68d8a7.js +0 -1
- package/assets/esri/core/workers/chunks/50e6bf76dcb372183824.js +0 -1
- package/assets/esri/core/workers/chunks/50f929d9453fb058cf47.js +0 -1
- package/assets/esri/core/workers/chunks/5270fedc8c7951807eb4.js +0 -1
- package/assets/esri/core/workers/chunks/528107548340cfc6a8f0.js +0 -1
- package/assets/esri/core/workers/chunks/55486c644e8b01326a0d.js +0 -1
- package/assets/esri/core/workers/chunks/5576858f56314afcb4d5.js +0 -1
- package/assets/esri/core/workers/chunks/571dac507622948ac03e.js +0 -1
- package/assets/esri/core/workers/chunks/5a4c04bf4f57e74457c5.js +0 -1
- package/assets/esri/core/workers/chunks/5bbe1495fa421394d12e.js +0 -1
- package/assets/esri/core/workers/chunks/621c91af7c051d44d378.js +0 -1
- package/assets/esri/core/workers/chunks/673d6e284d5e85a107ca.js +0 -1
- package/assets/esri/core/workers/chunks/6ab0c2e27ba6b1b4afc7.js +0 -1
- package/assets/esri/core/workers/chunks/6b0e5728b2dbd23b0834.js +0 -1
- package/assets/esri/core/workers/chunks/6d80f81bf6ad97a7e69e.js +0 -1
- package/assets/esri/core/workers/chunks/6e7178de0b2c3d2f7e6b.js +0 -1
- package/assets/esri/core/workers/chunks/70d6e5edf05ef7079fa8.js +0 -1
- package/assets/esri/core/workers/chunks/71bdf8f10aee0077f681.js +0 -1
- package/assets/esri/core/workers/chunks/72b2c3c8e76da699690c.js +0 -1
- package/assets/esri/core/workers/chunks/749fafd2481d37b5e2a0.js +0 -1
- package/assets/esri/core/workers/chunks/785a6c925f29bc962992.js +0 -1
- package/assets/esri/core/workers/chunks/78ce0b1af62435d8ebf4.js +0 -1
- package/assets/esri/core/workers/chunks/791f529e90135398b3d5.js +0 -1
- package/assets/esri/core/workers/chunks/7bbdba52157da13a01fc.js +0 -1
- package/assets/esri/core/workers/chunks/83298b1bdbcbe39d8ba1.js +0 -1
- package/assets/esri/core/workers/chunks/84f897e5910752e7aebc.js +0 -1
- package/assets/esri/core/workers/chunks/858961981aa2a57d37db.js +0 -1
- package/assets/esri/core/workers/chunks/8cc8d88e5dd1e586eb04.js +0 -1
- package/assets/esri/core/workers/chunks/8d3abfe6fdc5ac8d6cb7.js +0 -1
- package/assets/esri/core/workers/chunks/924e4a18d8403d1caea3.js +0 -1
- package/assets/esri/core/workers/chunks/94c1a2d31b3253cf6062.js +0 -1
- package/assets/esri/core/workers/chunks/96d339abcd917f1f0ae1.js +0 -1
- package/assets/esri/core/workers/chunks/97dbfe04136aa5e4cd4d.js +0 -1
- package/assets/esri/core/workers/chunks/9ab400a89dd701778d2c.js +0 -1
- package/assets/esri/core/workers/chunks/9de820b7df38b948c92b.js +0 -1
- package/assets/esri/core/workers/chunks/9e209c6a2aded37f90fb.js +0 -1
- package/assets/esri/core/workers/chunks/9fe349f43d5ff5a4ac2d.js +0 -1
- package/assets/esri/core/workers/chunks/a12d1d3addeae0771c00.js +0 -1
- package/assets/esri/core/workers/chunks/a1c31bb8c12831539328.js +0 -1
- package/assets/esri/core/workers/chunks/a2484a3993ec81a095b4.js +0 -1
- package/assets/esri/core/workers/chunks/a5bd457d0284419b4f34.js +0 -1
- package/assets/esri/core/workers/chunks/a6c2fbf8aefb2e793ce3.js +0 -1
- package/assets/esri/core/workers/chunks/a719cb801d647234546c.js +0 -1
- package/assets/esri/core/workers/chunks/a95bee31d06e69a0d56d.js +0 -1
- package/assets/esri/core/workers/chunks/ab2b56442fee12be5c68.js +0 -1
- package/assets/esri/core/workers/chunks/ad215f7279e6b0a0d6f3.js +0 -1
- package/assets/esri/core/workers/chunks/af5c9cbbcb6f56893560.js +0 -1
- package/assets/esri/core/workers/chunks/b1d88f8e528bf7092f35.js +0 -1
- package/assets/esri/core/workers/chunks/b4e2dc6b3d06b426e596.js +0 -1
- package/assets/esri/core/workers/chunks/b6b2cac44a5189afdc7a.js +0 -1
- package/assets/esri/core/workers/chunks/ba43e85d345393f47778.js +0 -1
- package/assets/esri/core/workers/chunks/ba6024465308c248170b.js +0 -1
- package/assets/esri/core/workers/chunks/bc2c4b00168f9251f693.js +0 -1
- package/assets/esri/core/workers/chunks/bead656f8da33e023b2b.js +0 -1
- package/assets/esri/core/workers/chunks/c2cb9fa18c77f0c5104e.js +0 -1
- package/assets/esri/core/workers/chunks/c2fb0f3179b9ff294b68.js +0 -1
- package/assets/esri/core/workers/chunks/cb8270d50f152fff2804.js +0 -1
- package/assets/esri/core/workers/chunks/d0ff968e42116f592065.js +0 -1
- package/assets/esri/core/workers/chunks/d265da47f6c752a40ac1.js +0 -1
- package/assets/esri/core/workers/chunks/d26eaac455346f4df51a.js +0 -1
- package/assets/esri/core/workers/chunks/d30be8788a3ea70f1edf.js +0 -1
- package/assets/esri/core/workers/chunks/d3768c90b419386b65f9.js +0 -1
- package/assets/esri/core/workers/chunks/d64c271c173797d98286.js +0 -1
- package/assets/esri/core/workers/chunks/d6b6bb8aecc85d2a3f6b.js +0 -1
- package/assets/esri/core/workers/chunks/d725dbbdeb05322e6d88.js +0 -1
- package/assets/esri/core/workers/chunks/d95ca50ca7af4c222036.js +0 -1
- package/assets/esri/core/workers/chunks/da6db22616bd95ee5380.js +0 -1
- package/assets/esri/core/workers/chunks/df3e497d12ed77bae168.js +0 -1
- package/assets/esri/core/workers/chunks/df6f54607ad4c6e28d1d.js +0 -1
- package/assets/esri/core/workers/chunks/e1b2076d0040fcb7d864.js +0 -1
- package/assets/esri/core/workers/chunks/e2f4e1c4fe166d249b2e.js +0 -1
- package/assets/esri/core/workers/chunks/e46cd2a6da8d5cba1db6.js +0 -1
- package/assets/esri/core/workers/chunks/e5bbd4cc5edbf7ab3624.js +0 -1
- package/assets/esri/core/workers/chunks/e72150a38b202b68be2b.js +0 -1
- package/assets/esri/core/workers/chunks/e8db7303b2f63c0ec0c9.js +0 -1
- package/assets/esri/core/workers/chunks/ea9e25eaaada36253da3.js +0 -1
- package/assets/esri/core/workers/chunks/eca24f316629ad0c0609.js +0 -1
- package/assets/esri/core/workers/chunks/f21aa0bfc6c8f809ea86.js +0 -1
- package/assets/esri/core/workers/chunks/f3462020ee3b9c6f3822.js +0 -1
- package/assets/esri/core/workers/chunks/f720967ba8c5486a26a2.js +0 -1
- package/assets/esri/core/workers/chunks/fb080339bfaf32731ca6.js +0 -1
- package/assets/esri/core/workers/chunks/fdf58386a67e54c09bfb.js +0 -1
- package/layers/knowledgeGraph/KnowledgeGraphSubLayer.d.ts +0 -4
- package/layers/knowledgeGraph/KnowledgeGraphSubLayer.js +0 -5
- package/layers/orientedImagery/core/Affixes.js +0 -5
- package/layers/orientedImagery/core/CameraProperties.js +0 -5
- package/layers/orientedImagery/core/ImageProperties.js +0 -5
- package/layers/orientedImagery/core/ImageryTypes.js +0 -5
- package/layers/video/VideoEngine.js +0 -5
- package/views/3d/webgl-engine/lib/AppleAmdDriverHelper.js +0 -5
- package/views/3d/webgl-engine/lib/RenderTargetHelper.js +0 -5
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../Graphic.js";import
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../Graphic.js";import s from"../../../core/Accessor.js";import{destroyMaybe as r}from"../../../core/maybe.js";import{EsriPromiseMixin as o}from"../../../core/Promise.js";import{watch as i}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as n}from"../../../core/accessorSupport/decorators/subclass.js";import{StreamFeatureManager as c}from"../data/StreamFeatureManager.js";import{createConnection as p}from"../sources/connections/createConnection.js";import{EventedSet as d}from"../../../views/3d/support/EventedSet.js";import{featureGeometryTypeKebabDictionary as h}from"../../../geometry/support/typeUtils.js";const l=2500;let u=class extends t{getObjectId(){return this.objectId}};e([a({type:Number,json:{read:!0}})],u.prototype,"objectId",void 0),u=e([n("esri.layers.graphics.controllers.StreamGraphic")],u);class m{constructor(e){this.onUpdate=e,this._idToGraphic=new Map}destroy(){this._idToGraphic.clear()}add(e){this._idToGraphic.set(e.objectId,e)}get(e){return this._idToGraphic.get(e)}forEach(e){this._idToGraphic.forEach(e)}removeById(e){const t=this._idToGraphic.get(e);return t?(t.sourceLayer=t.layer=null,this._idToGraphic.delete(e),t):null}update(e,t){this.onUpdate(e,t)}get size(){return this._idToGraphic.size}}let y=class extends(o(s)){constructor(){super(...arguments),this.isPaused=!1,this.graphics=new d,this._updateInfo={websocket:0,client:0},this._updateIntervalId=null,this._outSpatialReference=null}initialize(){this.addResolvingPromise(this.layer.when((()=>this._startup())))}destroy(){this.clear()}_clearInterval(){null!==this._updateIntervalId&&(clearInterval(this._updateIntervalId),this._updateIntervalId=null)}clear(){this._clearInterval(),this.connection=r(this.connection),this.store=r(this.store),this.graphics.clear(),this.removeAllHandles()}get updating(){return!this.connection||"connected"===this.connection.connectionStatus}_startup(){const{layer:e,layerView:t}=this,{spatialReference:s,definitionExpression:r,geometryDefinition:o,objectIdField:a,timeInfo:n,purgeOptions:d,maxReconnectionAttempts:l,maxReconnectionInterval:u,customParameters:y}=e,f=e.geometryType?h.toJSON(e.geometryType):null,g=s,I=t.view.spatialReference,_={geometry:o,where:r};this.clear(),this._set("connection",p(e.parsedUrl,g,I,f,_,l,u,y??void 0)),this._outSpatialReference=I.toJSON(),this.store=new m(this._onUpdate.bind(this)),this.featuresManager=new c(this.store,a,n.toJSON(),d);const v="startup-watches";this.removeHandles(v),this.addHandles([e.on("send-message-to-socket",(e=>this.connection.sendMessageToSocket(e))),e.on("send-message-to-client",(e=>this.connection.sendMessageToClient(e))),this.connection.on("data-received",(e=>this._onFeature(e))),this.connection.on("message-received",(e=>this._onWebSocketMessage(e))),i((()=>[e.definitionExpression,e.geometryDefinition,e.purgeOptions]),(()=>this._startup()))],v),this.isPaused||this._initUpdateInterval()}_onWebSocketMessage(e){if(this.layerView.emit("message-received",e),"type"in e)switch(e.type){case"delete":if(e.objectIds)for(const t of e.objectIds)this.featuresManager.removeById(t);if(e.trackIds)for(const t of e.trackIds)this.featuresManager.removeByTrackId(t);break;case"clear":this.store.forEach((e=>this.featuresManager.removeById(e.objectId)))}}_onFeature(e){this._updateInfo.websocket++,this.layerView.hasEventListener("data-received")&&this.layerView.emit("data-received",{attributes:e.attributes,centroid:e.centroid,geometry:e.geometry});try{null==e.geometry||e.geometry.spatialReference||(e.geometry.spatialReference=this._outSpatialReference);const t=u.fromJSON(e);t.sourceLayer=t.layer=this.layer,this.featuresManager.add(t)}catch{}}_onUpdate(e,t){null!=t&&this.graphics.removeMany(t),null!=e&&(this._updateInfo.client+=e.length,this.graphics.addMany(e))}_initUpdateInterval(){this._clearInterval();const{updateInterval:e}=this.layer;let t=performance.now();this._updateIntervalId=setInterval((()=>{const e=performance.now(),s=e-t;if(s>l){t=e;const r=Math.round(this._updateInfo.client/(s/1e3)),o=Math.round(this._updateInfo.websocket/(s/1e3));this._updateInfo.client=0,this._updateInfo.websocket=0,this.layerView.emit("update-rate",{client:r,websocket:o})}this.featuresManager.checkForUpdates()}),e)}pauseStream(){this.isPaused=!0,this._clearInterval()}resumeStream(){this.isPaused=!1,this._initUpdateInterval()}};e([a()],y.prototype,"isPaused",void 0),e([a({constructOnly:!0})],y.prototype,"layer",void 0),e([a({constructOnly:!0})],y.prototype,"layerView",void 0),e([a()],y.prototype,"connection",void 0),e([a({readOnly:!0})],y.prototype,"updating",null),y=e([n("esri.layers.graphics.controllers.StreamController")],y);export{y as StreamController,u as StreamGraphic};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{PositionHint as e,indexOf as t}from"../../../core/arrayUtils.js";import i from"../../../core/Error.js";import{clone as s}from"../../../core/lang.js";import{removeMaybe as r,destroyMaybe as a}from"../../../core/maybe.js";import{MemCacheStorage as n,MemCache as u}from"../../../core/MemCache.js";import{throwIfAborted as o}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as l}from"../../../core/unitUtils.js";import{set as c,NEGATIVE_INFINITY as h,create as p,expandWithAABB as m}from"../../../geometry/support/aaBoundingBox.js";import{fromValues as f,create as d}from"../../../geometry/support/aaBoundingRect.js";import{getBoundsXY as y}from"../../../geometry/support/boundsUtils.js";import{fromJSON as g,isExtent as _,isPolygon as x}from"../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as w}from"../../../geometry/support/normalizeUtils.js";import{equals as S,isValid as F}from"../../../geometry/support/spatialReferenceUtils.js";import{convertFromGeometry as R}from"../featureConversionUtils.js";import{getWhereClause as Q,validateFields as I,validateFieldTypes as j,validateWhere as E,validateHaving as A,validNumericTypesKebabDict as b,validDateTypesKebabDict as C,hasInvalidFieldType as P}from"./attributeSupport.js";import{checkProjectionSupport as T,project as B,projectMany as k}from"./projectionSupport.js";import{queryCapabilities as q}from"./QueryEngineCapabilities.js";import{QueryEngineResult as v}from"./QueryEngineResult.js";import{getSpatialQueryOperator as z,canQueryWithRBush as O,checkSpatialQuerySupport as G}from"./spatialQuerySupport.js";import{getTimeExtent as M,getTimeOperator as U}from"./timeSupport.js";import{QUERY_ENGINE_EMPTY_RESULT as N,cleanFromGeometryEngine as Z,normalizeQuery as V,getGeometry as H}from"./utils.js";import L from"../../support/FieldsIndex.js";import{loadArcade as D}from"../../../support/arcadeOnDemand.js";import{noBudget as J}from"../../../views/support/Scheduler.js";function W(e){return null!=e&&e.every((e=>"exceedslimit"!==e.statisticType))}const $="feature-store:unsupported-query";class K{constructor(e,t=null,i,s,r){this.attributes=e,this.geometry=i,this.centroid=s,this.filterFlags=r,this.groupId=-1,this.displayId=t}}const X=new n(2e6);let Y=0;class ee{constructor(e){this._geometryQueryCache=null,this._changeHandle=null,this.capabilities={query:q},this.geometryType=e.geometryType,this.hasM=!!e.hasM,this.hasZ=!!e.hasZ,this.objectIdField=e.objectIdField,this.spatialReference=e.spatialReference,this.definitionExpression=e.definitionExpression,this.featureStore=e.featureStore,this.aggregateAdapter=e.aggregateAdapter,this._changeHandle=this.featureStore.events.on("changed",(()=>this.clearCache())),this.timeInfo=e.timeInfo,e.cacheSpatialQueries&&(this._geometryQueryCache=new u(Y+++"$$",X)),this.fieldsIndex=new L(e.fields),e.scheduler&&e.priority&&(this._frameTask=e.scheduler.registerTask(e.priority))}destroy(){this._frameTask=r(this._frameTask),this.clearCache(),a(this._geometryQueryCache),this._changeHandle=r(this._changeHandle),a(this.fieldsIndex)}get featureAdapter(){return this.featureStore.featureAdapter}clearCache(){this._geometryQueryCache?.clear(),this._allFeaturesPromise=null,this._timeExtentPromise=null}async executeQuery(e,t){try{return(await this._executeQuery(e,{},t)).createQueryResponse()}catch(i){if(i!==N)throw i;return new v([],e,this).createQueryResponse()}}async executeQueryForCount(e={},t){try{return(await this._executeQuery(e,{returnGeometry:!1,returnCentroid:!1,outSR:null},t)).createQueryResponseForCount()}catch(i){if(i!==N)throw i;return 0}}async executeQueryForExtent(e,t){const i=e.outSR;try{const s=await this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null},t),r=s.size;if(!r)return{count:0,extent:null};return{count:r,extent:await this._getBounds(s.items,s.spatialReference,i||this.spatialReference)}}catch(s){if(s===N)return{count:0,extent:null};throw s}}async executeQueryForIds(e,t){return this.executeQueryForIdSet(e,t).then((e=>Array.from(e)))}async executeQueryForIdSet(e,t){try{const i=await this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null},t),s=i.items,r=new Set;return await this._reschedule((()=>{for(const e of s)r.add(i.featureAdapter.getObjectId(e))}),t),r}catch(i){if(i===N)return new Set;throw i}}async executeQueryForSnapping(e,t){const{point:i,distance:s,returnEdge:r,returnVertex:a}=e;if(!r&&!a)return{candidates:[]};const n=await this._reschedule((()=>this._checkQuerySupport(e.query)),t),u=!S(i.spatialReference,this.spatialReference);u&&await T(i.spatialReference,this.spatialReference);const o="number"==typeof s?s:s.x,l="number"==typeof s?s:s.y,c={xmin:i.x-o,xmax:i.x+o,ymin:i.y-l,ymax:i.y+l,spatialReference:i.spatialReference},h=u?B(c,this.spatialReference):c;if(!h)return{candidates:[]};const p=(await w(g(i),null,{signal:t}))[0],m=(await w(g(h),null,{signal:t}))[0];if(null==p||null==m)return{candidates:[]};const f=new v(await this._reschedule((()=>this._searchFeatures(this._getQueryBBoxes(m.toJSON()))),t),n,this);await this._reschedule((()=>this._executeObjectIdsQuery(f)),t),await this._reschedule((()=>this._executeTimeQuery(f)),t),await this._reschedule((()=>this._executeAttributesQuery(f)),t);const d=p.toJSON(),y=u?B(d,this.spatialReference):d,_=u?Math.max(h.xmax-h.xmin,h.ymax-h.ymin)/2:s;return f.createSnappingResponse({...e,point:y,distance:_},i.spatialReference)}async executeQueryForLatestObservations(e,t){if(!this.timeInfo||!this.timeInfo.trackIdField)throw new i($,"Missing timeInfo or timeInfo.trackIdField",{query:e,timeInfo:this.timeInfo});try{const i=await this._executeQuery(e,{},t);return await this._reschedule((()=>this._filterLatest(i)),t),i.createQueryResponse()}catch(s){if(s!==N)throw s;return new v([],e,this).createQueryResponse()}}async executeQueryForSummaryStatistics(e={},t,i){const{field:s,normalizationField:r,valueExpression:a}=t;return(await this._getQueryEngineResultForStats(e,{field:s,normalizationField:r,valueExpression:a},i)).createSummaryStatisticsResponse(t)}async executeQueryForUniqueValues(e={},t,i){const{field:s,field2:r,field3:a,valueExpression:n}=t;return(await this._getQueryEngineResultForStats(e,{field:s,field2:r,field3:a,valueExpression:n},i)).createUniqueValuesResponse(t)}async executeQueryForClassBreaks(e={},t,i){const{field:s,normalizationField:r,valueExpression:a}=t;return(await this._getQueryEngineResultForStats(e,{field:s,normalizationField:r,valueExpression:a},i)).createClassBreaksResponse(t)}async executeQueryForHistogram(e={},t,i){const{field:s,normalizationField:r,valueExpression:a}=t;return(await this._getQueryEngineResultForStats(e,{field:s,normalizationField:r,valueExpression:a},i)).createHistogramResponse(t)}async fetchRecomputedExtents(e){const[t,i]=await Promise.all(["getFullExtent"in this.featureStore&&this.featureStore.getFullExtent?Promise.resolve(this.featureStore.getFullExtent(this.spatialReference)):this._getBounds(await this._getAllFeatures(),this.spatialReference,this.spatialReference),null!=this._timeExtentPromise?this._timeExtentPromise:this._timeExtentPromise=M(this.timeInfo,this.featureStore)]);return o(e),{fullExtent:t,timeExtent:i}}async _getBounds(e,t,i){const s=c(p(),h);await this.featureStore.forEachBounds(e,(e=>m(s,e)));const r={xmin:s[0],ymin:s[1],xmax:s[3],ymax:s[4],spatialReference:Z(this.spatialReference)};this.hasZ&&isFinite(s[2])&&isFinite(s[5])&&(r.zmin=s[2],r.zmax=s[5]);const a=B(r,t,i);if(a.spatialReference=Z(i),a.xmax-a.xmin==0){const e=l(a.spatialReference);a.xmin-=e,a.xmax+=e}if(a.ymax-a.ymin==0){const e=l(a.spatialReference);a.ymin-=e,a.ymax+=e}if(this.hasZ&&null!=a.zmin&&null!=a.zmax&&a.zmax-a.zmin==0){const e=l(a.spatialReference);a.zmin-=e,a.zmax+=e}return a}async _schedule(e,t){return null!=this._frameTask?this._frameTask.schedule(e,t):e(J)}async _reschedule(e,t){return null!=this._frameTask?this._frameTask.reschedule(e,t):e(J)}async _getAllFeaturesQueryEngineResult(e){return new v(await this._getAllFeatures(),e,this)}async _getAllFeatures(){if(null==this._allFeaturesPromise){const e=[];this._allFeaturesPromise=(async()=>{await this.featureStore.forEach((t=>e.push(t)))})().then((()=>e))}const e=this._allFeaturesPromise,t=await e;return e===this._allFeaturesPromise?t.slice():this._getAllFeatures()}async _executeQuery(e,t,i){e=s(e),e=await this._schedule((()=>V(e,this.definitionExpression,this.spatialReference)),i),e=await this._reschedule((()=>this._checkQuerySupport(e)),i),e={...e,...t};const r=await this._reschedule((()=>this._executeSceneFilterQuery(e,i)),i),a=await this._reschedule((()=>this._executeGeometryQuery(e,r,i)),i);return await this._reschedule((()=>this._executeAggregateIdsQuery(a)),i),await this._reschedule((()=>this._executeObjectIdsQuery(a)),i),await this._reschedule((()=>this._executeTimeQuery(a)),i),await this._reschedule((()=>this._executeAttributesQuery(a)),i),a}async _executeSceneFilterQuery(e,t){if(null==e.sceneFilter)return null;const{outSR:i,returnGeometry:s,returnCentroid:r}=e,a=this.featureStore.featureSpatialReference,n=e.sceneFilter.geometry,u=null==a||S(a,n.spatialReference)?n:B(n,a);if(!u)return null;const o=s||r,l=F(i)&&!S(this.spatialReference,i)&&o?async e=>this._project(e,i):e=>e,c=this.featureAdapter,h=await this._reschedule((()=>this._searchFeatures(this._getQueryBBoxes(u))),t);if("disjoint"===e.sceneFilter.spatialRelationship){if(!h.length)return null;const i=new Set;for(const e of h)i.add(c.getObjectId(e));const s=await this._reschedule((()=>this._getAllFeatures()),t),r=await this._reschedule((async()=>{const r=await z("esriSpatialRelDisjoint",u,this.geometryType,this.hasZ,this.hasM),a=e=>!i.has(c.getObjectId(e))||r(c.getGeometry(e)),n=await this._runSpatialFilter(s,a,t);return new v(n,e,this)}),t);return l(r)}if(!h.length)return new v([],e,this);if(this._canExecuteSinglePass(u,e))return l(new v(h,e,this));const p=await z("esriSpatialRelContains",u,this.geometryType,this.hasZ,this.hasM),m=await this._runSpatialFilter(h,(e=>p(c.getGeometry(e))),t);return l(new v(m,e,this))}async _executeGeometryQuery(i,s,r){if(null!=s&&0===s.items.length)return s;i=null!=s?s.query:i;const{geometry:a,outSR:n,spatialRel:u,returnGeometry:o,returnCentroid:l}=i,c=this.featureStore.featureSpatialReference,h=!a||null==c||S(c,a.spatialReference)?a:B(a,c),p=o||l,m=F(n)&&!S(this.spatialReference,n),f=this._geometryQueryCache&&null==s?m&&p?JSON.stringify({originalFilterGeometry:a,spatialRelationship:u,outSpatialReference:n}):JSON.stringify({originalFilterGeometry:a,spatialRelationship:u}):null,d=f?this._geometryQueryCache.get(f):null;if(null!=d)return new v(d,i,this);const y=async e=>(m&&p&&await this._project(e,n),f&&this._geometryQueryCache.put(f,e.items,e.items.length+1),e);if(!h)return y(null!=s?s:await this._getAllFeaturesQueryEngineResult(i));const g=this.featureAdapter;let _=await this._reschedule((()=>this._searchFeatures(this._getQueryBBoxes(a))),r);if("esriSpatialRelDisjoint"===u){if(!_.length)return y(null!=s?s:await this._getAllFeaturesQueryEngineResult(i));const e=new Set;for(const i of _)e.add(g.getObjectId(i));const t=null!=s?s.items:await this._reschedule((()=>this._getAllFeatures()),r),a=await this._reschedule((async()=>{const s=await z(u,h,this.geometryType,this.hasZ,this.hasM),a=t=>!e.has(g.getObjectId(t))||s(g.getGeometry(t)),n=await this._runSpatialFilter(t,a,r);return new v(n,i,this)}),r);return y(a)}if(null!=s){const i=new e;_=_.filter((e=>t(s.items,e,s.items.length,i)>=0))}if(!_.length){const e=new v([],i,this);return f&&this._geometryQueryCache.put(f,e.items,1),e}if(this._canExecuteSinglePass(h,i))return y(new v(_,i,this));const x=await z(u,h,this.geometryType,this.hasZ,this.hasM),w=await this._runSpatialFilter(_,(e=>x(g.getGeometry(e))),r);return y(new v(w,i,this))}_executeAggregateIdsQuery(e){if(0===e.items.length||!e.query.aggregateIds||!e.query.aggregateIds.length||null==this.aggregateAdapter)return;const t=new Set;for(const s of e.query.aggregateIds){this.aggregateAdapter.getFeatureObjectIds(s).forEach((e=>t.add(e)))}const i=this.featureAdapter.getObjectId;e.items=e.items.filter((e=>t.has(i(e))))}_executeObjectIdsQuery(e){if(0===e.items.length||!e.query.objectIds||!e.query.objectIds.length)return;const t=new Set(e.query.objectIds),i=this.featureAdapter.getObjectId;e.items=e.items.filter((e=>t.has(i(e))))}_executeTimeQuery(e){if(0===e.items.length)return;const t=U(this.timeInfo,e.query.timeExtent,this.featureAdapter);null!=t&&(e.items=e.items.filter(t))}_executeAttributesQuery(e){if(0===e.items.length)return;const t=Q(e.query.where,this.fieldsIndex);if(t){if(!t.isStandardized)throw new TypeError("Where clause is not standardized");e.items=e.items.filter((e=>t.testFeature(e,this.featureAdapter)))}}async _runSpatialFilter(e,t,i){if(!t)return e;if(null==this._frameTask)return e.filter((e=>t(e)));let s=0;const r=new Array,a=async n=>{for(;s<e.length;){const u=e[s++];t(u)&&(r.push(u),n.madeProgress()),n.done&&await this._reschedule((e=>a(e)),i)}};return this._reschedule((e=>a(e)),i).then((()=>r))}_filterLatest(e){const{trackIdField:t,startTimeField:i,endTimeField:s}=this.timeInfo,r=s||i,a=new Map,n=this.featureAdapter.getAttribute;for(const u of e.items){const e=n(u,t),i=n(u,r),s=a.get(e);(!s||i>n(s,r))&&a.set(e,u)}e.items=Array.from(a.values())}_canExecuteSinglePass(e,t){const{spatialRel:i}=t;return O(e)&&("esriSpatialRelEnvelopeIntersects"===i||"esriGeometryPoint"===this.geometryType&&("esriSpatialRelIntersects"===i||"esriSpatialRelContains"===i||"esriSpatialRelWithin"===i))}async _project(e,t){if(!t||S(this.spatialReference,t))return e;const i=this.featureAdapter,s=await k(e.items.map((e=>H(this.geometryType,this.hasZ,this.hasM,i.getGeometry(e)))),this.spatialReference,t);return e.items=s.map(((t,s)=>i.cloneWithGeometry(e.items[s],R(t,this.hasZ,this.hasM)))),e}_getQueryBBoxes(e){if(O(e)){if(_(e))return[f(e.xmin,e.ymin,e.xmax,e.ymax)];if(x(e))return e.rings.map((e=>f(Math.min(e[0][0],e[2][0]),Math.min(e[0][1],e[2][1]),Math.max(e[0][0],e[2][0]),Math.max(e[0][1],e[2][1]))))}return[y(d(),e)]}async _searchFeatures(e){const t=new Set;await Promise.all(e.map((e=>this.featureStore.forEachInBounds(e,(e=>t.add(e))))));const i=Array.from(t.values());return t.clear(),i}async _checkStatisticsSupport(e,t){if((e.distance??0)<0||null!=e.geometryPrecision||e.multipatchOption||e.pixelSize||e.relationParam||e.text||e.outStatistics||e.groupByFieldsForStatistics||e.having||e.orderByFields)throw new i($,"Unsupported query options",{query:e});return this._checkAttributesQuerySupport(e),Promise.all([this._checkStatisticsParamsSupport(t),G(e,this.geometryType,this.spatialReference),T(this.spatialReference,e.outSR)]).then((()=>e))}async _checkStatisticsParamsSupport(e){let t=[];if(e.valueExpression){const{arcadeUtils:i}=await D();t=i.extractFieldNames(e.valueExpression)}if(e.field&&t.push(e.field),e.field2&&t.push(e.field2),e.field3&&t.push(e.field3),e.normalizationField&&t.push(e.normalizationField),!t.length&&!e.valueExpression)throw new i($,"field or valueExpression is required",{params:e});I(this.fieldsIndex,t,{errorMessage:"Cannot calculate statistics for missing fields"}),j(this.fieldsIndex,t,{expressionName:"statistics"})}async _checkQuerySupport(e){if((e.distance??0)<0||null!=e.geometryPrecision||e.multipatchOption||e.pixelSize||e.relationParam||e.text)throw new i($,"Unsupported query options",{query:e});return this._checkAttributesQuerySupport(e),this._checkStatisticsQuerySupport(e),Promise.all([G(e,this.geometryType,this.spatialReference),T(this.spatialReference,e.outSR)]).then((()=>e))}_checkAttributesQuerySupport(e){const{outFields:t,orderByFields:s,returnDistinctValues:r,outStatistics:a}=e,n=a?a.map((e=>e.outStatisticFieldName&&e.outStatisticFieldName.toLowerCase())).filter(Boolean):[];if(s&&s.length>0){const e=" asc",t=" desc",i=s.map((i=>{const s=i.toLowerCase();return s.includes(e)?s.split(e)[0]:s.includes(t)?s.split(t)[0]:i})).filter((e=>!n.includes(e)));I(this.fieldsIndex,i,{expressionName:"orderByFields"})}if(t&&t.length>0)I(this.fieldsIndex,t,{expressionName:"outFields"});else if(r)throw new i($,"outFields should be specified for returnDistinctValues",{query:e});E(this.fieldsIndex,e.where)}_checkStatisticsQuerySupport(e){const{outStatistics:t,groupByFieldsForStatistics:s,having:r}=e,a=s&&s.length,n=t&&t.length;if(r){if(!a||!n)throw new i($,"outStatistics and groupByFieldsForStatistics should be specified with having",{query:e});A(this.fieldsIndex,r,t)}if(n){if(!W(t))return;const r=t.map((e=>e.onStatisticField)).filter(Boolean);I(this.fieldsIndex,r,{expressionName:"onStatisticFields"}),a&&I(this.fieldsIndex,s,{expressionName:"groupByFieldsForStatistics"});const n=new Set([...b.jsonValues,...C.jsonValues]),u=new Intl.ListFormat("en-US",{type:"conjunction"}).format([...b.apiValues,...C.apiValues]);for(const s of t){const{onStatisticField:t,statisticType:r}=s;if(("percentile_disc"===r||"percentile_cont"===r)&&"statisticParameters"in s){const{statisticParameters:t}=s;if(!t)throw new i($,"statisticParamters should be set for percentile type",{definition:s,query:e})}else if("count"!==r&&t&&P(t,this.fieldsIndex,n))throw new i($,`outStatistics only supports ${u} field types`,{definition:s,query:e})}}}async _getQueryEngineResultForStats(e,t,i){e=s(e);try{e=await this._schedule((()=>V(e,this.definitionExpression,this.spatialReference)),i),e=await this._reschedule((()=>this._checkStatisticsSupport(e,t)),i);const s=await this._reschedule((()=>this._executeSceneFilterQuery(e,i)),i),r=await this._reschedule((()=>this._executeGeometryQuery(e,s,i)),i);return await this._reschedule((()=>this._executeAggregateIdsQuery(r)),i),await this._reschedule((()=>this._executeObjectIdsQuery(r)),i),await this._reschedule((()=>this._executeTimeQuery(r)),i),await this._reschedule((()=>this._executeAttributesQuery(r)),i),r}catch(r){if(r!==N)throw r;return new v([],e,this)}}}export{K as Feature,ee as QueryEngine};
|
|
5
|
+
import{PositionHint as e,indexOf as t}from"../../../core/arrayUtils.js";import i from"../../../core/Error.js";import{clone as s}from"../../../core/lang.js";import{removeMaybe as r,destroyMaybe as a}from"../../../core/maybe.js";import{MemCacheStorage as n,MemCache as u}from"../../../core/MemCache.js";import{throwIfAborted as o}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as l}from"../../../core/unitUtils.js";import{set as c,NEGATIVE_INFINITY as h,create as p,expandWithAABB as m}from"../../../geometry/support/aaBoundingBox.js";import{fromValues as f,create as d}from"../../../geometry/support/aaBoundingRect.js";import{getBoundsXY as y}from"../../../geometry/support/boundsUtils.js";import{fromJSON as g,isExtent as _,isPolygon as x}from"../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as w}from"../../../geometry/support/normalizeUtils.js";import{equals as S,isValid as F}from"../../../geometry/support/spatialReferenceUtils.js";import{convertFromGeometry as R}from"../featureConversionUtils.js";import{getWhereClause as Q,validateFields as I,validateFieldTypes as j,validateWhere as E,validateHaving as A,validNumericTypesKebabDict as b,validDateTypesKebabDict as q,hasInvalidFieldType as C}from"./attributeSupport.js";import{checkProjectionSupport as P,project as T,projectMany as B}from"./projectionSupport.js";import{queryCapabilities as k}from"./QueryEngineCapabilities.js";import{QueryEngineResult as v}from"./QueryEngineResult.js";import{getSpatialQueryOperator as z,canQueryWithRBush as O,checkSpatialQuerySupport as G}from"./spatialQuerySupport.js";import{getTimeExtent as M,getTimeOperator as U}from"./timeSupport.js";import{QUERY_ENGINE_EMPTY_RESULT as N,cleanFromGeometryEngine as Z,normalizeQuery as V,getGeometry as H}from"./utils.js";import L from"../../support/FieldsIndex.js";import{loadArcade as D}from"../../../support/arcadeOnDemand.js";import{noBudget as J}from"../../../views/support/Scheduler.js";function $(e){return null!=e&&e.every((e=>"exceedslimit"!==e.statisticType))}const W="feature-store:unsupported-query";class K{constructor(e,t=null,i,s,r){this.attributes=e,this.geometry=i,this.centroid=s,this.filterFlags=r,this.groupId=-1,this.displayId=t}}const X=new n(2e6);let Y=0;class ee{constructor(e){this._geometryQueryCache=null,this._changeHandle=null,this.capabilities={query:k},this.geometryType=e.geometryType,this.hasM=!!e.hasM,this.hasZ=!!e.hasZ,this.objectIdField=e.objectIdField,this.spatialReference=e.spatialReference,this.definitionExpression=e.definitionExpression,this.featureStore=e.featureStore,this.aggregateAdapter=e.aggregateAdapter,this._changeHandle=this.featureStore.events.on("changed",(()=>this.clearCache())),this.timeInfo=e.timeInfo,e.cacheSpatialQueries&&(this._geometryQueryCache=new u(Y+++"$$",X)),this.fieldsIndex=new L(e.fields),e.scheduler&&e.priority&&(this._frameTask=e.scheduler.registerTask(e.priority))}destroy(){this._frameTask=r(this._frameTask),this.clearCache(),a(this._geometryQueryCache),this._changeHandle=r(this._changeHandle),a(this.fieldsIndex)}get featureAdapter(){return this.featureStore.featureAdapter}clearCache(){this._geometryQueryCache?.clear(),this._allFeaturesPromise=null,this._timeExtentPromise=null}async executeQuery(e,t){try{return(await this._executeQuery(e,{},t)).createQueryResponse()}catch(i){if(i!==N)throw i;return new v([],e,this).createQueryResponse()}}async executeQueryForCount(e={},t){try{return(await this._executeQuery(e,{returnGeometry:!1,returnCentroid:!1,outSR:null},t)).createQueryResponseForCount()}catch(i){if(i!==N)throw i;return 0}}async executeQueryForExtent(e,t){const i=e.outSR;try{const s=await this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null},t),r=s.size;if(!r)return{count:0,extent:null};return{count:r,extent:await this._getBounds(s.items,s.spatialReference,i||this.spatialReference)}}catch(s){if(s===N)return{count:0,extent:null};throw s}}async executeQueryForIds(e,t){return this.executeQueryForIdSet(e,t).then((e=>Array.from(e)))}async executeQueryForIdSet(e,t){try{const i=await this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null},t),s=i.items,r=new Set;return await this._reschedule((()=>{for(const e of s)r.add(i.featureAdapter.getObjectId(e))}),t),r}catch(i){if(i===N)return new Set;throw i}}async executeQueryForSnapping(e,t){const{point:i,distance:s,returnEdge:r,returnVertex:a}=e;if(!r&&!a)return{candidates:[]};const n=await this._reschedule((()=>this._checkQuerySupport(e.query)),t),u=!S(i.spatialReference,this.spatialReference);u&&await P(i.spatialReference,this.spatialReference);const o="number"==typeof s?s:s.x,l="number"==typeof s?s:s.y,c={xmin:i.x-o,xmax:i.x+o,ymin:i.y-l,ymax:i.y+l,spatialReference:i.spatialReference},h=u?T(c,this.spatialReference):c;if(!h)return{candidates:[]};const p=(await w(g(i),null,{signal:t}))[0],m=(await w(g(h),null,{signal:t}))[0];if(null==p||null==m)return{candidates:[]};const f=new v(await this._reschedule((()=>this._searchFeatures(this._getQueryBBoxes(m.toJSON()))),t),n,this);await this._reschedule((()=>this._executeObjectIdsQuery(f)),t),await this._reschedule((()=>this._executeTimeQuery(f)),t),await this._reschedule((()=>this._executeAttributesQuery(f)),t);const d=p.toJSON(),y=u?T(d,this.spatialReference):d,_=u?Math.max(h.xmax-h.xmin,h.ymax-h.ymin)/2:s;return f.createSnappingResponse({...e,point:y,distance:_},i.spatialReference)}async executeQueryForLatestObservations(e,t){if(!this.timeInfo||!this.timeInfo.trackIdField)throw new i(W,"Missing timeInfo or timeInfo.trackIdField",{query:e,timeInfo:this.timeInfo});try{const i=await this._executeQuery(e,{},t);return await this._reschedule((()=>this._filterLatest(i)),t),i.createQueryResponse()}catch(s){if(s!==N)throw s;return new v([],e,this).createQueryResponse()}}async executeQueryForSummaryStatistics(e={},t,i){const{field:s,normalizationField:r,valueExpression:a}=t;return(await this._getQueryEngineResultForStats(e,{field:s,normalizationField:r,valueExpression:a},i)).createSummaryStatisticsResponse(t)}async executeQueryForUniqueValues(e={},t,i){const{field:s,field2:r,field3:a,valueExpression:n}=t;return(await this._getQueryEngineResultForStats(e,{field:s,field2:r,field3:a,valueExpression:n},i)).createUniqueValuesResponse(t)}async executeQueryForClassBreaks(e={},t,i){const{field:s,normalizationField:r,valueExpression:a}=t;return(await this._getQueryEngineResultForStats(e,{field:s,normalizationField:r,valueExpression:a},i)).createClassBreaksResponse(t)}async executeQueryForHistogram(e={},t,i){const{field:s,normalizationField:r,valueExpression:a}=t;return(await this._getQueryEngineResultForStats(e,{field:s,normalizationField:r,valueExpression:a},i)).createHistogramResponse(t)}async fetchRecomputedExtents(e){const[t,i]=await Promise.all(["getFullExtent"in this.featureStore&&this.featureStore.getFullExtent?Promise.resolve(this.featureStore.getFullExtent(this.spatialReference)):this._getBounds(await this._getAllFeatures(),this.spatialReference,this.spatialReference),null!=this._timeExtentPromise?this._timeExtentPromise:this._timeExtentPromise=M(this.timeInfo,this.featureStore)]);return o(e),{fullExtent:t,timeExtent:i}}async _getBounds(e,t,i){const s=c(p(),h);await this.featureStore.forEachBounds(e,(e=>m(s,e)));const r={xmin:s[0],ymin:s[1],xmax:s[3],ymax:s[4],spatialReference:Z(this.spatialReference)};this.hasZ&&isFinite(s[2])&&isFinite(s[5])&&(r.zmin=s[2],r.zmax=s[5]);const a=T(r,t,i);if(a.spatialReference=Z(i),a.xmax-a.xmin==0){const e=l(a.spatialReference);a.xmin-=e,a.xmax+=e}if(a.ymax-a.ymin==0){const e=l(a.spatialReference);a.ymin-=e,a.ymax+=e}if(this.hasZ&&null!=a.zmin&&null!=a.zmax&&a.zmax-a.zmin==0){const e=l(a.spatialReference);a.zmin-=e,a.zmax+=e}return a}async _schedule(e,t){return null!=this._frameTask?this._frameTask.schedule(e,t):e(J)}async _reschedule(e,t){return null!=this._frameTask?this._frameTask.reschedule(e,t):e(J)}async _getAllFeaturesQueryEngineResult(e){return new v(await this._getAllFeatures(),e,this)}async _getAllFeatures(){if(null==this._allFeaturesPromise){const e=[];this._allFeaturesPromise=(async()=>{await this.featureStore.forEach((t=>e.push(t)))})().then((()=>e))}const e=this._allFeaturesPromise,t=await e;return e===this._allFeaturesPromise?t.slice():this._getAllFeatures()}async _executeQuery(e,t,i){e=s(e),e=await this._schedule((()=>V(e,this.definitionExpression,this.spatialReference)),i),e=await this._reschedule((()=>this._checkQuerySupport(e)),i),e={...e,...t};const r=await this._reschedule((()=>this._executeSceneFilterQuery(e,i)),i),a=await this._reschedule((()=>this._executeGeometryQuery(e,r,i)),i);return await this._reschedule((()=>this._executeAggregateIdsQuery(a)),i),await this._reschedule((()=>this._executeObjectIdsQuery(a)),i),await this._reschedule((()=>this._executeTimeQuery(a)),i),await this._reschedule((()=>this._executeAttributesQuery(a)),i),a}async _executeSceneFilterQuery(e,t){if(null==e.sceneFilter)return null;const{outSR:i,returnGeometry:s,returnCentroid:r}=e,a=this.featureStore.featureSpatialReference,n=e.sceneFilter.geometry,u=null==a||S(a,n.spatialReference)?n:T(n,a);if(!u)return null;const o=s||r,l=F(i)&&!S(this.spatialReference,i)&&o?async e=>this._project(e,i):e=>e,c=this.featureAdapter,h=await this._reschedule((()=>this._searchFeatures(this._getQueryBBoxes(u))),t);if("disjoint"===e.sceneFilter.spatialRelationship){if(!h.length)return null;const i=new Set;for(const e of h)i.add(c.getObjectId(e));const s=await this._reschedule((()=>this._getAllFeatures()),t),r=await this._reschedule((async()=>{const r=await z("esriSpatialRelDisjoint",u,this.geometryType,this.hasZ,this.hasM),a=e=>!i.has(c.getObjectId(e))||r(c.getGeometry(e)),n=await this._runSpatialFilter(s,a,t);return new v(n,e,this)}),t);return l(r)}if(!h.length)return new v([],e,this);if(this._canExecuteSinglePass(u,e))return l(new v(h,e,this));const p=await z("esriSpatialRelContains",u,this.geometryType,this.hasZ,this.hasM),m=await this._runSpatialFilter(h,(e=>p(c.getGeometry(e))),t);return l(new v(m,e,this))}async _executeGeometryQuery(i,s,r){if(null!=s&&0===s.items.length)return s;i=null!=s?s.query:i;const{geometry:a,outSR:n,spatialRel:u,returnGeometry:o,returnCentroid:l}=i,c=this.featureStore.featureSpatialReference,h=!a||null==c||S(c,a.spatialReference)?a:T(a,c),p=o||l,m=F(n)&&!S(this.spatialReference,n),f=this._geometryQueryCache&&null==s?m&&p?JSON.stringify({originalFilterGeometry:a,spatialRelationship:u,outSpatialReference:n}):JSON.stringify({originalFilterGeometry:a,spatialRelationship:u}):null,d=f?this._geometryQueryCache.get(f):null;if(null!=d)return new v(d,i,this);const y=async e=>(m&&p&&await this._project(e,n),f&&this._geometryQueryCache.put(f,e.items,e.items.length+1),e);if(!h)return y(null!=s?s:await this._getAllFeaturesQueryEngineResult(i));const g=this.featureAdapter;let _=await this._reschedule((()=>this._searchFeatures(this._getQueryBBoxes(a))),r);if("esriSpatialRelDisjoint"===u){if(!_.length)return y(null!=s?s:await this._getAllFeaturesQueryEngineResult(i));const e=new Set;for(const i of _)e.add(g.getObjectId(i));const t=null!=s?s.items:await this._reschedule((()=>this._getAllFeatures()),r),a=await this._reschedule((async()=>{const s=await z(u,h,this.geometryType,this.hasZ,this.hasM),a=t=>!e.has(g.getObjectId(t))||s(g.getGeometry(t)),n=await this._runSpatialFilter(t,a,r);return new v(n,i,this)}),r);return y(a)}if(null!=s){const i=new e;_=_.filter((e=>t(s.items,e,s.items.length,i)>=0))}if(!_.length){const e=new v([],i,this);return f&&this._geometryQueryCache.put(f,e.items,1),e}if(this._canExecuteSinglePass(h,i))return y(new v(_,i,this));const x=await z(u,h,this.geometryType,this.hasZ,this.hasM),w=await this._runSpatialFilter(_,(e=>x(g.getGeometry(e))),r);return y(new v(w,i,this))}_executeAggregateIdsQuery(e){if(0===e.items.length||!e.query.aggregateIds||!e.query.aggregateIds.length||null==this.aggregateAdapter)return;const t=new Set;for(const s of e.query.aggregateIds){this.aggregateAdapter.getFeatureObjectIds(s).forEach((e=>t.add(e)))}const i=this.featureAdapter.getObjectId;e.items=e.items.filter((e=>t.has(i(e))))}_executeObjectIdsQuery(e){if(0===e.items.length||!e.query.objectIds||!e.query.objectIds.length)return;const t=new Set(e.query.objectIds),i=this.featureAdapter.getObjectId;e.items=e.items.filter((e=>t.has(i(e))))}_executeTimeQuery(e){if(0===e.items.length)return;const t=U(this.timeInfo,e.query.timeExtent,this.featureAdapter);null!=t&&(e.items=e.items.filter(t))}_executeAttributesQuery(e){if(0===e.items.length)return;const t=Q(e.query.where,this.fieldsIndex);if(t){if(!t.isStandardized)throw new TypeError("Where clause is not standardized");e.items=e.items.filter((e=>t.testFeature(e,this.featureAdapter)))}}async _runSpatialFilter(e,t,i){if(!t)return e;if(null==this._frameTask)return e.filter((e=>t(e)));let s=0;const r=new Array,a=async n=>{for(;s<e.length;){const u=e[s++];t(u)&&(r.push(u),n.madeProgress()),n.done&&await this._reschedule((e=>a(e)),i)}};return this._reschedule((e=>a(e)),i).then((()=>r))}_filterLatest(e){const{trackIdField:t,startTimeField:i,endTimeField:s}=this.timeInfo,r=s||i,a=new Map,n=this.featureAdapter.getAttribute;for(const u of e.items){const e=n(u,t),i=n(u,r),s=a.get(e);(!s||i>n(s,r))&&a.set(e,u)}e.items=Array.from(a.values())}_canExecuteSinglePass(e,t){const{spatialRel:i}=t;return O(e)&&("esriSpatialRelEnvelopeIntersects"===i||"esriGeometryPoint"===this.geometryType&&("esriSpatialRelIntersects"===i||"esriSpatialRelContains"===i||"esriSpatialRelWithin"===i))}async _project(e,t){if(!t||S(this.spatialReference,t))return e;const i=this.featureAdapter,s=await B(e.items.map((e=>H(this.geometryType,this.hasZ,this.hasM,i.getGeometry(e)))),this.spatialReference,t);return e.items=s.map(((t,s)=>i.cloneWithGeometry(e.items[s],R(t,this.hasZ,this.hasM)))),e}_getQueryBBoxes(e){if(O(e)){if(_(e))return[f(e.xmin,e.ymin,e.xmax,e.ymax)];if(x(e))return e.rings.map((e=>f(Math.min(e[0][0],e[2][0]),Math.min(e[0][1],e[2][1]),Math.max(e[0][0],e[2][0]),Math.max(e[0][1],e[2][1]))))}return[y(d(),e)]}async _searchFeatures(e){const t=new Set;await Promise.all(e.map((e=>this.featureStore.forEachInBounds(e,(e=>t.add(e))))));const i=Array.from(t.values());return t.clear(),i}async _checkStatisticsSupport(e,t){if((e.distance??0)<0||null!=e.geometryPrecision||e.multipatchOption||e.pixelSize||e.relationParam||e.text||e.outStatistics||e.groupByFieldsForStatistics||e.having||e.orderByFields)throw new i(W,"Unsupported query options",{query:e});return this._checkAttributesQuerySupport(e),Promise.all([this._checkStatisticsParamsSupport(t,e),G(e,this.geometryType,this.spatialReference),P(this.spatialReference,e.outSR)]).then((()=>e))}async _checkStatisticsParamsSupport(e,t){let s=[];if(e.valueExpression){const{arcadeUtils:t}=await D();s=t.extractFieldNames(e.valueExpression)}if(e.field&&s.push(e.field),e.field2&&s.push(e.field2),e.field3&&s.push(e.field3),e.normalizationField&&s.push(e.normalizationField),!s.length&&!e.valueExpression)throw new i(W,"field or valueExpression is required",{params:e});I(this.fieldsIndex,s,{errorMessage:"Cannot calculate statistics for missing fields",query:t}),j(this.fieldsIndex,s,{expressionName:"statistics",query:t})}async _checkQuerySupport(e){if((e.distance??0)<0||null!=e.geometryPrecision||e.multipatchOption||e.pixelSize||e.relationParam||e.text)throw new i(W,"Unsupported query options",{query:e});return this._checkAttributesQuerySupport(e),this._checkStatisticsQuerySupport(e),Promise.all([G(e,this.geometryType,this.spatialReference),P(this.spatialReference,e.outSR)]).then((()=>e))}_checkAttributesQuerySupport(e){const{outFields:t,orderByFields:s,returnDistinctValues:r,outStatistics:a}=e,n=a?a.map((e=>e.outStatisticFieldName&&e.outStatisticFieldName.toLowerCase())).filter(Boolean):[];if(s&&s.length>0){const t=" asc",i=" desc",r=s.map((e=>{const s=e.toLowerCase();return s.includes(t)?s.split(t)[0]:s.includes(i)?s.split(i)[0]:e})).filter((e=>!n.includes(e)));I(this.fieldsIndex,r,{expressionName:"orderByFields",query:e})}if(t&&t.length>0)I(this.fieldsIndex,t,{expressionName:"outFields",query:e});else if(r)throw new i(W,"outFields should be specified for returnDistinctValues",{query:e});E(this.fieldsIndex,e.where,e)}_checkStatisticsQuerySupport(e){const{outStatistics:t,groupByFieldsForStatistics:s,having:r}=e,a=s&&s.length,n=t&&t.length;if(r){if(!a||!n)throw new i(W,"outStatistics and groupByFieldsForStatistics should be specified with having",{query:e});A(this.fieldsIndex,r,t,e)}if(n){if(!$(t))return;const r=t.map((e=>e.onStatisticField)).filter(Boolean);I(this.fieldsIndex,r,{expressionName:"onStatisticFields",query:e}),a&&I(this.fieldsIndex,s,{expressionName:"groupByFieldsForStatistics",query:e});const n=new Set([...b.jsonValues,...q.jsonValues]),u=new Intl.ListFormat("en-US",{type:"conjunction"}).format([...b.apiValues,...q.apiValues]);for(const s of t){const{onStatisticField:t,statisticType:r}=s;if(("percentile_disc"===r||"percentile_cont"===r)&&"statisticParameters"in s){const{statisticParameters:t}=s;if(!t)throw new i(W,"statisticParameters should be set for percentile type",{definition:s,query:e})}else if("count"!==r&&"min"!==r&&"max"!==r&&t&&C(t,this.fieldsIndex,n))throw new i(W,`outStatistics with '${r}' statistic type, only supports ${u} field types`,{definition:s,query:e})}}}async _getQueryEngineResultForStats(e,t,i){e=s(e);try{e=await this._schedule((()=>V(e,this.definitionExpression,this.spatialReference)),i),e=await this._reschedule((()=>this._checkStatisticsSupport(e,t)),i);const s=await this._reschedule((()=>this._executeSceneFilterQuery(e,i)),i),r=await this._reschedule((()=>this._executeGeometryQuery(e,s,i)),i);return await this._reschedule((()=>this._executeAggregateIdsQuery(r)),i),await this._reschedule((()=>this._executeObjectIdsQuery(r)),i),await this._reschedule((()=>this._executeTimeQuery(r)),i),await this._reschedule((()=>this._executeAttributesQuery(r)),i),r}catch(r){if(r!==N)throw r;return new v([],e,this)}}}export{K as Feature,ee as QueryEngine};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../core/Error.js";import{JSONMap as s}from"../../../core/jsonMap.js";import{WhereClauseCache as i}from"../../../core/sql/WhereClauseCache.js";const n=new i(50,500),r="feature-store:unsupported-query",t=" as ",o=new s({esriFieldTypeString:"string"}),a=new s({esriFieldTypeOID:"oid",esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long"}),l=new s({esriFieldTypeDate:"date"}),d=new s({esriFieldTypeGUID:"guid",esriFieldTypeGlobalId:"global-id"}),p=new Set([...a.jsonValues,...l.jsonValues,...o.jsonValues,...d.jsonValues]),u=new Intl.ListFormat("en-US",{type:"conjunction"}).format([...a.apiValues,...l.apiValues,...o.apiValues,...d.apiValues]);function g(s,i,n={}){const t=
|
|
5
|
+
import e from"../../../core/Error.js";import{JSONMap as s}from"../../../core/jsonMap.js";import{WhereClauseCache as i}from"../../../core/sql/WhereClauseCache.js";const n=new i(50,500),r="feature-store:unsupported-query",t=" as ",o=new s({esriFieldTypeString:"string"}),a=new s({esriFieldTypeOID:"oid",esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long"}),l=new s({esriFieldTypeDate:"date"}),d=new s({esriFieldTypeGUID:"guid",esriFieldTypeGlobalId:"global-id"}),p=new Set([...a.jsonValues,...l.jsonValues,...o.jsonValues,...d.jsonValues]),u=new Intl.ListFormat("en-US",{type:"conjunction"}).format([...a.apiValues,...l.apiValues,...o.apiValues,...d.apiValues]);function g(s,i,n={}){const t=y(s,i);if(!t)throw new e(r,"invalid SQL expression",{expression:s});const o=n.expressionName||"expression";if(n.validateStandardized&&!t.isStandardized)throw new e(r,`${o} is not standard`,{expression:s});if(n.validateAggregate&&!t.isAggregate)throw new e(r,`${o} does not contain a valid aggregate function`,{expression:s});return t.fieldNames}function c(e,s,i){if(!s)return!0;const n="where clause",r=g(s,e,{validateStandardized:!0,expressionName:n});return m(e,r,{expressionName:n,query:i}),x(e,r,{expressionName:n,query:i}),!0}function f(s,i,t,o){if(!i)return!0;const a="having",l=g(i,s,{validateAggregate:!0,expressionName:a});m(s,l,{expressionName:a,query:o}),x(s,l,{expressionName:a,query:o});const d=n.get(i,s),p=d?.getExpressions().every((e=>{const{aggregateType:i,field:n}=e,r=s.get(n)?.name;return t.some((e=>{const{onStatisticField:n,statisticType:t}=e,o=s.get(n)?.name;return o===r&&t.toLowerCase().trim()===i}))}));if(!p)throw new e(r,"expressions in having should also exist in outStatistics",{having:i});return!0}function y(e,s){return e?n.get(e,s):null}function m(e,s,i={}){i.errorMessage||(i.errorMessage=i.expressionName?`${i.expressionName} contains invalid fields`:"Fields are invalid"),h(e,s,((e,s)=>s.has(e)),i)}function x(e,s,i={}){i.errorMessage||(i.errorMessage=i.expressionName?`${i.expressionName} only supports ${u} field types`:`Only ${u} field types are supported`),h(e,s,((e,s)=>!F(e,s)),i)}function h(s,i,n,t={}){const o=t.verifyExpression??!0,a=[];for(const e of i){const i=n(e,s);if("*"!==e&&!i)if(o){const i=w(e);try{h(s,g(i,s,{validateStandardized:!0}),n,t)}catch(l){const s=l?.details;if(s?.expression)throw l;s?.invalidFields?a.push(...s.invalidFields):a.push(e)}}else a.push(e)}if(a.length)throw new e(r,t.errorMessage,{invalidFields:a,query:t.query})}function w(e){return e.split(t)[0]}function v(e){return e.split(t)[1]}function F(e,s,i=p){const n=s.get(e);return!!n&&!i.has(n.type)}export{v as getAliasFromFieldName,w as getExpressionFromFieldName,y as getWhereClause,F as hasInvalidFieldType,l as validDateTypesKebabDict,d as validGuidTypesKebabDict,a as validNumericTypesKebabDict,o as validStringTypesKebabDict,x as validateFieldTypes,m as validateFields,f as validateHaving,c as validateWhere};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../Graphic.js";import t from"../../core/Collection.js";import a from"../../core/Error.js";import{clone as r}from"../../core/lang.js";import{createResolver as s}from"../../core/promiseUtils.js";import{dataComponents as i}from"../../core/urlUtils.js";import{normalizeCentralMeridian as o}from"../../geometry/support/normalizeUtils.js";import{isEditBusLayer as n,emitApplyEditsEvent as d}from"../mixins/EditBusLayer.js";import{getMimeTypeFormatId as l,getFilenameFormatId as u}from"../support/infoFor3D.js";import{getEffectiveEditingEnabled as p,getEffectiveLayerCapabilities as c}from"../support/layerUtils.js";function h(e){return e&&null!=e.applyEdits}function m(e){return"object"==typeof e&&null!=e&&"objectId"in e&&!!e.objectId}function y(e){return e.every(m)}function f(e){return"object"==typeof e&&null!=e&&"globalId"in e&&!!e.globalId}function g(e){return e.every(f)}async function b(e,t,a,i={}){let o;if(n(e)&&e.url)o=d(e.url,e.layerId,"original-and-current-features"===i.returnServiceEditsOption);else{o=s(),o.promise.then((t=>{(t.addedFeatures.length||t.updatedFeatures.length||t.deletedFeatures.length||t.addedAttachments.length||t.updatedAttachments.length||t.deletedAttachments.length)&&e.emit("edits",t)}));const t={result:o.promise};e.emit("apply-edits",t)}try{const{results:s,edits:n}=await F(e,t,a,i),d=e=>e.filter((e=>!e.error)).map(r),l={edits:n,addedFeatures:d(s.addFeatureResults),updatedFeatures:d(s.updateFeatureResults),deletedFeatures:d(s.deleteFeatureResults),addedAttachments:d(s.addAttachmentResults),updatedAttachments:d(s.updateAttachmentResults),deletedAttachments:d(s.deleteAttachmentResults),exceededTransferLimit:!1};return s.editedFeatureResults?.length&&(l.editedFeatures=s.editedFeatureResults),o.resolve(l),s}catch(l){throw o.reject(l),l}}async function F(e,t,r,s){if(await e.load(),!h(t))throw new a(`${e.type}-layer:no-editing-support`,"Layer source does not support applyEdits capability",{layer:e});if(!p(e))throw new a(`${e.type}-layer:editing-disabled`,"Editing is disabled for layer",{layer:e});const{edits:i,options:o}=await w(e,r,s);return i.addFeatures?.length||i.updateFeatures?.length||i.deleteFeatures?.length||i.addAttachments?.length||i.updateAttachments?.length||i.deleteAttachments?.length?{edits:i,results:await t.applyEdits(i,o)}:{edits:i,results:{addFeatureResults:[],updateFeatureResults:[],deleteFeatureResults:[],addAttachmentResults:[],updateAttachmentResults:[],deleteAttachmentResults:[]}}}async function w(e,r,s){const i=r&&(r.addFeatures||r.updateFeatures||r.deleteFeatures),o=r&&(r.addAttachments||r.updateAttachments||r.deleteAttachments),n=null!=e.infoFor3D;if(!r||!i&&!o)throw new a(`${e.type}-layer:missing-parameters`,"'addFeatures', 'updateFeatures', 'deleteFeatures', 'addAttachments', 'updateAttachments' or 'deleteAttachments' parameter is required");const d=c(e);if(!d.data.isVersioned&&s?.gdbVersion)throw new a(`${e.type}-layer:invalid-parameter`,"'gdbVersion' is applicable only if the layer supports versioned data. See: 'capabilities.data.isVersioned'");if(!d.editing.supportsRollbackOnFailure&&s?.rollbackOnFailureEnabled)throw new a(`${e.type}-layer:invalid-parameter`,"This layer does not support 'rollbackOnFailureEnabled' parameter. See: 'capabilities.editing.supportsRollbackOnFailure'");if(!d.editing.supportsGlobalId&&s?.globalIdUsed)throw new a(`${e.type}-layer:invalid-parameter`,"This layer does not support 'globalIdUsed' parameter. See: 'capabilities.editing.supportsGlobalId'");if(!d.editing.supportsGlobalId&&o)throw new a(`${e.type}-layer:invalid-parameter`,"'addAttachments', 'updateAttachments' and 'deleteAttachments' are applicable only if the layer supports global ids. See: 'capabilities.editing.supportsGlobalId'");if(!s?.globalIdUsed&&o)throw new a(`${e.type}-layer:invalid-parameter`,"When 'addAttachments', 'updateAttachments' or 'deleteAttachments' is specified, globalIdUsed should be set to true");const l={...s};if(null!=l.rollbackOnFailureEnabled||d.editing.supportsRollbackOnFailure||(l.rollbackOnFailureEnabled=!0),!1===l.rollbackOnFailureEnabled&&"original-and-current-features"===l.returnServiceEditsOption)throw new a(`${e.type}-layer:invalid-parameter`,"'original-and-current-features' is valid for 'returnServiceEditsOption' only when 'rollBackOnFailure' is true.");if(!d.editing.supportsReturnServiceEditsInSourceSpatialReference&&l.returnServiceEditsInSourceSR)throw new a(`${e.type}-layer:invalid-parameter`,"This layer does not support 'returnServiceEditsInSourceSR' parameter. See: 'capabilities.editing.supportsReturnServiceEditsInSourceSpatialReference'");if(l.returnServiceEditsInSourceSR&&"original-and-current-features"!==l.returnServiceEditsOption)throw new a(`${e.type}-layer:invalid-parameter`,"'returnServiceEditsInSourceSR' is valid only when 'returnServiceEditsOption' is set to 'original-and-current-features'");const u={...r};if(u.addFeatures=r&&t.isCollection(r.addFeatures)?r.addFeatures.toArray():u.addFeatures||[],u.updateFeatures=r&&t.isCollection(r.updateFeatures)?r.updateFeatures.toArray():u.updateFeatures||[],u.deleteFeatures=r&&t.isCollection(r.deleteFeatures)?r.deleteFeatures.toArray():u.deleteFeatures||[],u.addFeatures.length&&!d.operations.supportsAdd)throw new a(`${e.type}-layer:unsupported-operation`,"Layer does not support adding features.");if(u.updateFeatures.length&&!d.operations.supportsUpdate)throw new a(`${e.type}-layer:unsupported-operation`,"Layer does not support updating features.");if(u.deleteFeatures.length&&!d.operations.supportsDelete)throw new a(`${e.type}-layer:unsupported-operation`,"Layer does not support deleting features.");u.addAttachments=u.addAttachments||[],u.updateAttachments=u.updateAttachments||[],u.deleteAttachments=u.deleteAttachments||[],u.addFeatures=u.addFeatures.map(R),u.updateFeatures=u.updateFeatures.map(R),u.addAssetFeatures=[];const p=s?.globalIdUsed||n;u.addFeatures.forEach((t=>v(t,e,p))),u.updateFeatures.forEach((t=>E(t,e,p))),u.deleteFeatures.forEach((t=>I(t,e,p))),u.addAttachments.forEach((t=>S(t,e))),u.updateAttachments.forEach((t=>S(t,e))),n&&await j(u,e);return{edits:await $(u),options:l}}function A(e,t,r){if(r){if("attributes"in e&&!e.attributes[t.globalIdField])throw new a(`${t.type}-layer:invalid-parameter`,"Feature should have 'globalId' when 'globalIdUsed' is true");if(!("attributes"in e)&&!e.globalId)throw new a(`${t.type}-layer:invalid-parameter`,"'globalId' of the feature should be passed when 'globalIdUsed' is true")}if("geometry"in e&&null!=e.geometry){if(e.geometry.hasZ&&!1===t.capabilities?.data.supportsZ)throw new a(`${t.type}-layer:z-unsupported`,"Layer does not support z values while feature has z values.");if(e.geometry.hasM&&!1===t.capabilities?.data.supportsM)throw new a(`${t.type}-layer:m-unsupported`,"Layer does not support m values while feature has m values.")}}function v(e,t,a){A(e,t,a)}function I(e,t,a){A(e,t,a)}function E(e,t,r){A(e,t,r);const s=c(t);if("geometry"in e&&null!=e.geometry&&!s?.editing.supportsGeometryUpdate)throw new a(`${t.type}-layer:unsupported-operation`,"Layer does not support geometry updates.")}function S(e,t){const{feature:r,attachment:s}=e;if(!r||"attributes"in r&&!r.attributes[t.globalIdField])throw new a(`${t.type}-layer:invalid-parameter`,"Attachment should have reference to a feature with 'globalId'");if(!("attributes"in r)&&!r.globalId)throw new a(`${t.type}-layer:invalid-parameter`,"Attachment should have reference to 'globalId' of the parent feature");if(!s.globalId)throw new a(`${t.type}-layer:invalid-parameter`,"Attachment should have 'globalId'");if(!s.data&&!s.uploadId)throw new a(`${t.type}-layer:invalid-parameter`,"Attachment should have 'data' or 'uploadId'");if(!(s.data instanceof File&&!!s.data.name)&&!s.name)throw new a(`${t.type}-layer:invalid-parameter`,"'name' is required when attachment is specified as Base64 encoded string using 'data'");if(!t.capabilities?.editing.supportsUploadWithItemId&&s.uploadId)throw new a(`${t.type}-layer:invalid-parameter`,"This layer does not support 'uploadId' parameter. See: 'capabilities.editing.supportsUploadWithItemId'");if("string"==typeof s.data){const e=i(s.data);if(e&&!e.isBase64)throw new a(`${t.type}-layer:invalid-parameter`,"Attachment 'data' should be a Blob, File or Base64 encoded string")}}async function $(e){const t=e.addFeatures??[],a=e.updateFeatures??[],r=t.concat(a).map((e=>e.geometry)),s=await o(r),i=t.length,n=a.length;return s.slice(0,i).forEach(((e,a)=>t[a].geometry=e)),s.slice(i,i+n).forEach(((e,t)=>a[t].geometry=e)),e}function R(t){const a=new e;return t.attributes||(t.attributes={}),a.geometry=t.geometry,a.attributes=t.attributes,a}async function j(e,t){if(null==t.infoFor3D)return;const{infoFor3D:r}=t,s=l("model/gltf-binary",r.supportedFormats)??u("glb",r.supportedFormats);if(!(!!s&&r.editFormats.includes(s)))throw new a(`${t.type}-layer:binary-gltf-asset-not-supported`,"3DObjectFeatureLayer requires binary glTF (.glb) support for updating mesh geometry.");e.addAssetFeatures??=[];const{addAssetFeatures:i}=e;for(const a of e.addFeatures??[])O(a)&&i.push(a);for(const a of e.updateFeatures??[])O(a)&&i.push(a)}function O(e){return"mesh"===e?.geometry?.type}function U(e,t,r,s){if(!h(t))throw new a(`${e.type}-layer:no-editing-support`,"Layer source does not support applyEdits capability",{layer:e});if(!t.uploadAssets)throw new a(`${e.type}-layer:no-asset-upload-support`,"Layer source does not support uploadAssets capability",{layer:e});return t.uploadAssets(r,s)}export{b as applyEdits,g as isFeatureIdentifierArrayWithGlobalId,y as isFeatureIdentifierArrayWithObjectId,f as isFeatureIdentifierWithGlobalId,m as isFeatureIdentifierWithObjectId,U as uploadAssets};
|
|
5
|
+
import e from"../../Graphic.js";import t from"../../core/Collection.js";import a from"../../core/Error.js";import{clone as r}from"../../core/lang.js";import s from"../../core/Logger.js";import{createResolver as o}from"../../core/promiseUtils.js";import{dataComponents as n}from"../../core/urlUtils.js";import{normalizeCentralMeridian as i}from"../../geometry/support/normalizeUtils.js";import{isEditBusLayer as d,emitApplyEditsEvent as l}from"../mixins/EditBusLayer.js";import{getMimeTypeFormatId as u,getFilenameFormatId as p}from"../support/infoFor3D.js";import{getEffectiveEditingEnabled as c,getEffectiveLayerCapabilities as h}from"../support/layerUtils.js";function m(e){return e&&null!=e.applyEdits}function y(e){return"object"==typeof e&&null!=e&&"objectId"in e&&!!e.objectId}function f(e){return e.every(y)}function g(e){return"object"==typeof e&&null!=e&&"globalId"in e&&!!e.globalId}function b(e){return e.every(g)}async function F(e,t,a,s={}){let n;if(d(e)&&e.url)n=l(e.url,e.layerId,s.gdbVersion,"original-and-current-features"===s.returnServiceEditsOption);else{n=o(),n.promise.then((t=>{(t.addedFeatures.length||t.updatedFeatures.length||t.deletedFeatures.length||t.addedAttachments.length||t.updatedAttachments.length||t.deletedAttachments.length)&&e.emit("edits",t)}));const t={result:n.promise};e.emit("apply-edits",t)}try{const{results:o,edits:i}=await w(e,t,a,s),d=e=>e.filter((e=>!e.error)).map(r),l={edits:i,addedFeatures:d(o.addFeatureResults),updatedFeatures:d(o.updateFeatureResults),deletedFeatures:d(o.deleteFeatureResults),addedAttachments:d(o.addAttachmentResults),updatedAttachments:d(o.updateAttachmentResults),deletedAttachments:d(o.deleteAttachmentResults),exceededTransferLimit:!1,historicMoment:o.editMoment?new Date(o.editMoment):null};return o.editedFeatureResults?.length&&(l.editedFeatures=o.editedFeatureResults),n.resolve(l),o}catch(i){throw n.reject(i),i}}async function w(e,t,r,s){if(await e.load(),!m(t))throw new a(`${e.type}-layer:no-editing-support`,"Layer source does not support applyEdits capability",{layer:e});if(!c(e))throw new a(`${e.type}-layer:editing-disabled`,"Editing is disabled for layer",{layer:e});const{edits:o,options:n}=await A(e,r,s);return o.addFeatures?.length||o.updateFeatures?.length||o.deleteFeatures?.length||o.addAttachments?.length||o.updateAttachments?.length||o.deleteAttachments?.length?{edits:o,results:await t.applyEdits(o,n)}:{edits:o,results:{addFeatureResults:[],updateFeatureResults:[],deleteFeatureResults:[],addAttachmentResults:[],updateAttachmentResults:[],deleteAttachmentResults:[]}}}async function A(e,r,o){const n=r&&(r.addFeatures||r.updateFeatures||r.deleteFeatures),i=r&&(r.addAttachments||r.updateAttachments||r.deleteAttachments),d=null!=e.infoFor3D;if(!r||!n&&!i)throw new a(`${e.type}-layer:missing-parameters`,"'addFeatures', 'updateFeatures', 'deleteFeatures', 'addAttachments', 'updateAttachments' or 'deleteAttachments' parameter is required");const l=h(e);if(!l.data.isVersioned&&o?.gdbVersion)throw new a(`${e.type}-layer:invalid-parameter`,"'gdbVersion' is applicable only if the layer supports versioned data. See: 'capabilities.data.isVersioned'");if(!l.editing.supportsRollbackOnFailure&&o?.rollbackOnFailureEnabled)throw new a(`${e.type}-layer:invalid-parameter`,"This layer does not support 'rollbackOnFailureEnabled' parameter. See: 'capabilities.editing.supportsRollbackOnFailure'");if(!l.editing.supportsGlobalId&&o?.globalIdUsed)throw new a(`${e.type}-layer:invalid-parameter`,"This layer does not support 'globalIdUsed' parameter. See: 'capabilities.editing.supportsGlobalId'");if(!l.editing.supportsGlobalId&&i)throw new a(`${e.type}-layer:invalid-parameter`,"'addAttachments', 'updateAttachments' and 'deleteAttachments' are applicable only if the layer supports global ids. See: 'capabilities.editing.supportsGlobalId'");if(!o?.globalIdUsed&&i)throw new a(`${e.type}-layer:invalid-parameter`,"When 'addAttachments', 'updateAttachments' or 'deleteAttachments' is specified, globalIdUsed should be set to true");const u={...o};if(null!=u.rollbackOnFailureEnabled||l.editing.supportsRollbackOnFailure||(u.rollbackOnFailureEnabled=!0),u.rollbackOnFailureEnabled||"original-and-current-features"!==u.returnServiceEditsOption||(!1===u.rollbackOnFailureEnabled&&s.getLogger("esri.layers.graphics.editingSupport").warn(`${e.type}-layer:invalid-parameter`,"'original-and-current-features' is valid for 'returnServiceEditsOption' only when 'rollBackOnFailure' is true, but 'rollBackOnFailure' was set to false. 'rollBackOnFailure' has been overwrritten and set to true."),u.rollbackOnFailureEnabled=!0),!l.editing.supportsReturnServiceEditsInSourceSpatialReference&&u.returnServiceEditsInSourceSR)throw new a(`${e.type}-layer:invalid-parameter`,"This layer does not support 'returnServiceEditsInSourceSR' parameter. See: 'capabilities.editing.supportsReturnServiceEditsInSourceSpatialReference'");if(u.returnServiceEditsInSourceSR&&"original-and-current-features"!==u.returnServiceEditsOption)throw new a(`${e.type}-layer:invalid-parameter`,"'returnServiceEditsInSourceSR' is valid only when 'returnServiceEditsOption' is set to 'original-and-current-features'");const p={...r};if(p.addFeatures=r&&t.isCollection(r.addFeatures)?r.addFeatures.toArray():p.addFeatures||[],p.updateFeatures=r&&t.isCollection(r.updateFeatures)?r.updateFeatures.toArray():p.updateFeatures||[],p.deleteFeatures=r&&t.isCollection(r.deleteFeatures)?r.deleteFeatures.toArray():p.deleteFeatures||[],p.addFeatures.length&&!l.operations.supportsAdd)throw new a(`${e.type}-layer:unsupported-operation`,"Layer does not support adding features.");if(p.updateFeatures.length&&!l.operations.supportsUpdate)throw new a(`${e.type}-layer:unsupported-operation`,"Layer does not support updating features.");if(p.deleteFeatures.length&&!l.operations.supportsDelete)throw new a(`${e.type}-layer:unsupported-operation`,"Layer does not support deleting features.");p.addAttachments=p.addAttachments||[],p.updateAttachments=p.updateAttachments||[],p.deleteAttachments=p.deleteAttachments||[],p.addFeatures=p.addFeatures.map(j),p.updateFeatures=p.updateFeatures.map(j),p.addAssetFeatures=[];const c=o?.globalIdUsed||d;p.addFeatures.forEach((t=>E(t,e,c))),p.updateFeatures.forEach((t=>$(t,e,c))),p.deleteFeatures.forEach((t=>S(t,e,c))),p.addAttachments.forEach((t=>R(t,e))),p.updateAttachments.forEach((t=>R(t,e))),d&&await U(p,e);return{edits:await O(p),options:u}}function v(e,t,r){if(r){if("attributes"in e&&!e.attributes[t.globalIdField])throw new a(`${t.type}-layer:invalid-parameter`,"Feature should have 'globalId' when 'globalIdUsed' is true");if(!("attributes"in e)&&!e.globalId)throw new a(`${t.type}-layer:invalid-parameter`,"'globalId' of the feature should be passed when 'globalIdUsed' is true")}if("geometry"in e&&null!=e.geometry){if(e.geometry.hasZ&&!1===t.capabilities?.data.supportsZ)throw new a(`${t.type}-layer:z-unsupported`,"Layer does not support z values while feature has z values.");if(e.geometry.hasM&&!1===t.capabilities?.data.supportsM)throw new a(`${t.type}-layer:m-unsupported`,"Layer does not support m values while feature has m values.")}}function I(e,t){if("geometry"in e&&"mesh"===e.geometry?.type){const{geometry:r}=e;if(r.vertexSpace.isGeoreferenced)throw new a(`${t.type}-layer:georeferenced-mesh-unsupported`,"Uploading georeferenced meshes to a layer is not supported.")}}function E(e,t,a){v(e,t,a),I(e,t)}function S(e,t,a){v(e,t,a)}function $(e,t,r){v(e,t,r),I(e,t);const s=h(t);if("geometry"in e&&null!=e.geometry&&!s?.editing.supportsGeometryUpdate)throw new a(`${t.type}-layer:unsupported-operation`,"Layer does not support geometry updates.")}function R(e,t){const{feature:r,attachment:s}=e;if(!r||"attributes"in r&&!r.attributes[t.globalIdField])throw new a(`${t.type}-layer:invalid-parameter`,"Attachment should have reference to a feature with 'globalId'");if(!("attributes"in r)&&!r.globalId)throw new a(`${t.type}-layer:invalid-parameter`,"Attachment should have reference to 'globalId' of the parent feature");if(!s.globalId)throw new a(`${t.type}-layer:invalid-parameter`,"Attachment should have 'globalId'");if(!s.data&&!s.uploadId)throw new a(`${t.type}-layer:invalid-parameter`,"Attachment should have 'data' or 'uploadId'");if(!(s.data instanceof File&&!!s.data.name)&&!s.name)throw new a(`${t.type}-layer:invalid-parameter`,"'name' is required when attachment is specified as Base64 encoded string using 'data'");if(!t.capabilities?.editing.supportsUploadWithItemId&&s.uploadId)throw new a(`${t.type}-layer:invalid-parameter`,"This layer does not support 'uploadId' parameter. See: 'capabilities.editing.supportsUploadWithItemId'");if("string"==typeof s.data){const e=n(s.data);if(e&&!e.isBase64)throw new a(`${t.type}-layer:invalid-parameter`,"Attachment 'data' should be a Blob, File or Base64 encoded string")}}async function O(e){const t=e.addFeatures??[],a=e.updateFeatures??[],r=t.concat(a).map((e=>e.geometry)),s=await i(r),o=t.length,n=a.length;return s.slice(0,o).forEach(((e,a)=>t[a].geometry=e)),s.slice(o,o+n).forEach(((e,t)=>a[t].geometry=e)),e}function j(t){const a=new e;return t.attributes||(t.attributes={}),a.geometry=t.geometry,a.attributes=t.attributes,a}async function U(e,t){if(null==t.infoFor3D)return;const{infoFor3D:r}=t,s=u("model/gltf-binary",r.supportedFormats)??p("glb",r.supportedFormats);if(!(!!s&&r.editFormats.includes(s)))throw new a(`${t.type}-layer:binary-gltf-asset-not-supported`,"3DObjectFeatureLayer requires binary glTF (.glb) support for updating mesh geometry.");e.addAssetFeatures??=[];const{addAssetFeatures:o}=e;for(const a of e.addFeatures??[])L(a)&&o.push(a);for(const a of e.updateFeatures??[])L(a)&&o.push(a)}function L(e){return"mesh"===e?.geometry?.type}function k(e,t,r,s){if(!m(t))throw new a(`${e.type}-layer:no-editing-support`,"Layer source does not support applyEdits capability",{layer:e});if(!t.uploadAssets)throw new a(`${e.type}-layer:no-asset-upload-support`,"Layer source does not support uploadAssets capability",{layer:e});return t.uploadAssets(r,s)}export{F as applyEdits,b as isFeatureIdentifierArrayWithGlobalId,f as isFeatureIdentifierArrayWithObjectId,g as isFeatureIdentifierWithGlobalId,y as isFeatureIdentifierWithObjectId,k as uploadAssets};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../Graphic.js";import{id as s}from"../../../kernel.js";import r from"../../../request.js";import a from"../../../TimeExtent.js";import{isSome as i}from"../../../core/arrayUtils.js";import o from"../../../core/Error.js";import has from"../../../core/has.js";import{JSONMap as n}from"../../../core/jsonMap.js";import u from"../../../core/Loadable.js";import l from"../../../core/Logger.js";import{setDeepValue as d}from"../../../core/object.js";import{debounce as c,after as p}from"../../../core/promiseUtils.js";import{join as h,parseData as y}from"../../../core/urlUtils.js";import{generateBracedUUID as m}from"../../../core/uuid.js";import{property as g}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as f}from"../../../core/accessorSupport/decorators/subclass.js";import R from"../../../geometry/Extent.js";import{initializeProjection as b,project as F}from"../../../geometry/projection.js";import{fromJSON as S}from"../../../geometry/support/jsonUtils.js";import{isOriginalExternal as E}from"../../../geometry/support/meshUtils/External.js";import{isFeatureIdentifierArrayWithGlobalId as q,isFeatureIdentifierArrayWithObjectId as w}from"../editingSupport.js";import{createDrawingInfo as _}from"./support/clientSideDefaults.js";import O from"./support/QueryTask.js";import{isHostedAgolService as I}from"../../support/arcgisLayerUrl.js";import{getAssetMapTable as A}from"../../support/infoFor3D.js";import{executeQueryJSON as j}from"../../../rest/query/executeQueryJSON.js";import{unapplyEditsZUnitScaling as T}from"../../../rest/query/operations/editsZScale.js";import x from"../../../rest/support/Query.js";import N from"../../../geometry/SpatialReference.js";const J=new n({originalAndCurrentFeatures:"original-and-current-features",none:"none"}),v=new Set(["Feature Layer","Table"]),k=new n({Started:"published",Publishing:"publishing",Stopped:"unavailable"});let M=class extends u{constructor(){super(...arguments),this.type="feature-layer",this.refresh=c((async()=>{await this.load();const e=this.sourceJSON.editingInfo?.lastEditDate;if(null==e)return{dataChanged:!0,updates:{}};try{await this._fetchService(null)}catch{return{dataChanged:!0,updates:{}}}const t=e!==this.sourceJSON.editingInfo?.lastEditDate;return{dataChanged:t,updates:t?{editingInfo:this.sourceJSON.editingInfo,extent:this.sourceJSON.extent}:null}})),this._ongoingAssetUploads=new Map}load(e){const t=null!=e?e.signal:null,s=this.layer.sourceJSON;return this.addResolvingPromise(this._fetchService(s,t)),Promise.resolve(this)}get queryTask(){const{capabilities:e,parsedUrl:t,dynamicDataSource:s,infoFor3D:r,gdbVersion:a,spatialReference:i,fieldsIndex:o}=this.layer,n=has("featurelayer-pbf")&&e?.query.supportsFormatPBF&&null==r,u=e?.operations?.supportsQueryAttachments??!1;return new O({url:t.path,pbfSupported:n,fieldsIndex:o,infoFor3D:r,dynamicDataSource:s,gdbVersion:a,sourceSpatialReference:i,queryAttachmentsSupported:u})}async addAttachment(e,t){await this.load();const s=e.attributes[this.layer.objectIdField],a=this.layer.parsedUrl.path+"/"+s+"/addAttachment",i=this._getLayerRequestOptions(),o=this._getFormDataForAttachment(t,i.query);try{const e=await r(a,{body:o});return this._createFeatureEditResult(e.data.addAttachmentResult)}catch(n){throw this._createAttachmentErrorResult(s,n)}}async updateAttachment(e,t,s){await this.load();const a=e.attributes[this.layer.objectIdField],i=this.layer.parsedUrl.path+"/"+a+"/updateAttachment",o=this._getLayerRequestOptions({query:{attachmentId:t}}),n=this._getFormDataForAttachment(s,o.query);try{const e=await r(i,{body:n});return this._createFeatureEditResult(e.data.updateAttachmentResult)}catch(u){throw this._createAttachmentErrorResult(a,u)}}async applyEdits(e,t){await this.load();const{layer:a}=this,o=a.infoFor3D,n=null!=o,u=n||(t?.globalIdUsed??!1),l=e.addFeatures?.map((e=>this._getFeatureJSON(e,o)))??[],d=(await Promise.all(l)).filter(i),c=e.updateFeatures?.map((e=>this._getFeatureJSON(e,o)))??[],p=(await Promise.all(c)).filter(i),h=this._getFeatureIds(e.deleteFeatures,u);T(d,p,a.spatialReference);const y=await this._getAttachmentEditsJSON(e),m=n?await this._uploadMeshesAndGetAssetMapEditsJSON(e):null,g=a.capabilities.editing.supportsAsyncApplyEdits&&null!=m&&(0!==m.adds.length||0!==m.updates.length),f={gdbVersion:t?.gdbVersion||a.gdbVersion,rollbackOnFailure:t?.rollbackOnFailureEnabled,useGlobalIds:u,returnEditMoment:t?.returnEditMoment,usePreviousEditMoment:t?.usePreviousEditMoment,sessionId:t?.sessionId,async:g};t?.returnServiceEditsOption?(f.edits=JSON.stringify([{id:a.layerId,adds:d,updates:p,deletes:h,attachments:y,assetMaps:m}]),f.returnServiceEditsOption=J.toJSON(t?.returnServiceEditsOption),f.returnServiceEditsInSourceSR=t?.returnServiceEditsInSourceSR):(f.adds=d.length?JSON.stringify(d):null,f.updates=p.length?JSON.stringify(p):null,f.deletes=h.length?u?JSON.stringify(h):h.join(","):null,f.attachments=y&&JSON.stringify(y),f.assetMaps=null!=m?JSON.stringify(m):void 0);const R=this._getLayerRequestOptions({method:"post",query:f}),b=t?.returnServiceEditsOption?a.url:a.parsedUrl.path,F=g?await this._asyncApplyEdits(b+"/applyEdits",R):await r(b+"/applyEdits",R);if(!a.capabilities.operations?.supportsEditing&&a.effectiveCapabilities?.operations?.supportsEditing){const e=s?.findCredential(a.url);await(e?.refreshToken())}return this._createEditsResult(F)}async deleteAttachments(e,t){await this.load();const s=e.attributes[this.layer.objectIdField],a=this.layer.parsedUrl.path+"/"+s+"/deleteAttachments";try{return(await r(a,this._getLayerRequestOptions({query:{attachmentIds:t.join(",")},method:"post"}))).data.deleteAttachmentResults.map(this._createFeatureEditResult)}catch(i){throw this._createAttachmentErrorResult(s,i)}}fetchRecomputedExtents(e={}){const t=e.signal;return this.load({signal:t}).then((async()=>{const t=this._getLayerRequestOptions({...e,query:{returnUpdates:!0}}),{layerId:s,url:i}=this.layer,{data:o}=await r(`${i}/${s}`,t),{id:n,extent:u,fullExtent:l,timeExtent:d}=o,c=u||l;return{id:n,fullExtent:c&&R.fromJSON(c),timeExtent:d&&a.fromJSON({start:d[0],end:d[1]})}}))}async queryAttachments(e,t={}){await this.load();const s=this._getLayerRequestOptions(t);return this.queryTask.executeAttachmentQuery(e,s)}async queryFeatures(e,t){return await this.load(),this.queryTask.execute(e,{...t,query:this._createRequestQueryOptions(t)})}async queryFeaturesJSON(e,t){return await this.load(),this.queryTask.executeJSON(e,{...t,query:this._createRequestQueryOptions(t)})}async queryObjectIds(e,t){return await this.load(),this.queryTask.executeForIds(e,{...t,query:this._createRequestQueryOptions(t)})}async queryFeatureCount(e,t){return await this.load(),this.queryTask.executeForCount(e,{...t,query:this._createRequestQueryOptions(t)})}async queryExtent(e,t){return await this.load(),this.queryTask.executeForExtent(e,{...t,query:this._createRequestQueryOptions(t)})}async queryRelatedFeatures(e,t){return await this.load(),this.queryTask.executeRelationshipQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryRelatedFeaturesCount(e,t){return await this.load(),this.queryTask.executeRelationshipQueryForCount(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopFeatures(e,t){return await this.load(),this.queryTask.executeTopFeaturesQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopObjectIds(e,t){return await this.load(),this.queryTask.executeForTopIds(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopExtents(e,t){return await this.load(),this.queryTask.executeForTopExtents(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopCount(e,t){return await this.load(),this.queryTask.executeForTopCount(e,{...t,query:this._createRequestQueryOptions(t)})}async fetchPublishingStatus(){if(!I(this.layer.url))return"unavailable";const e=h(this.layer.url,"status"),t=await r(e,{query:{f:"json"}});return k.fromJSON(t.data.status)}async uploadAssets(e,t){const{uploadAssets:s}=await import("./support/uploadAssets.js");return s(e,{layer:this.layer,ongoingUploads:this._ongoingAssetUploads},t)}async _asyncApplyEdits(e,t){const s=(await r(e,t)).data.statusUrl;for(;;){const e=(await r(s,{query:{f:"json"},responseType:"json"})).data;switch(e.status){case"Completed":return r(e.resultUrl,{query:{f:"json"},responseType:"json"});case"CompletedWithErrors":throw new o("async-applyEdits-failed","asynchronous applyEdits call failed.");case"Failed ImportChanges":case"InProgress":case"Pending":case"ExportAttachments":case"ExportChanges":case"ExportingData":case"ExportingSnapshot":case"ImportAttachments":case"ProvisioningReplica":case"UnRegisteringReplica":break;default:throw new o("async-applyEdits-failed","asynchronous applyEdits call failed (undefined response status)")}await p(U)}}_createRequestQueryOptions(e){const t={...this.layer.customParameters,token:this.layer.apiKey,...e?.query};return this.layer.datesInUnknownTimezone&&(t.timeReferenceUnknownClient=!0),t}async _fetchService(e,t){if(!e){const{data:s}=await r(this.layer.parsedUrl.path,this._getLayerRequestOptions({query:has("featurelayer-advanced-symbols")?{returnAdvancedSymbols:!0}:{},signal:t}));e=s}this.sourceJSON=this._patchServiceJSON(e);const s=e.type;if(!v.has(s))throw new o("feature-layer-source:unsupported-type",`Source type "${s}" is not supported`)}_patchServiceJSON(e){if("Table"!==e.type&&e.geometryType&&!e?.drawingInfo?.renderer&&!e.defaultSymbol){const t=_(e.geometryType).renderer;d("drawingInfo.renderer",t,e)}return"esriGeometryMultiPatch"===e.geometryType&&e.infoFor3D&&(e.geometryType="mesh"),e}async _getFeatureJSON(e,t){const{geometry:s}=e,r={...e.attributes};if(null!=t&&null!=e.geometry&&"mesh"===e.geometry.type){const{transformFieldRoles:s}=t,{origin:a,spatialReference:i,transform:o}=e.geometry,n=this.layer.spatialReference;await b(i,n);const u=F(a,n);if(r[s.originX]=u.x,r[s.originY]=u.y,r[s.originZ]=u.z??0,null!=o){const{translation:e,scale:t,rotation:a}=o;r[s.translationX]=e[0],r[s.translationY]=-e[2],r[s.translationZ]=e[1],r[s.scaleX]=t[0],r[s.scaleY]=t[1],r[s.scaleZ]=t[2],r[s.rotationX]=a[0],r[s.rotationY]=a[2],r[s.rotationZ]=a[1],r[s.rotationDeg]=a[3]}return{geometry:null,attributes:r}}return null==s?{attributes:r}:"mesh"===s.type||"extent"===s.type?null:{geometry:s.toJSON(),attributes:r}}async _getAttachmentEditsJSON(e){const t=await Promise.all((e.addAttachments??[]).map((e=>this._getAttachmentEditJSON(e)))),s=await Promise.all((e.updateAttachments??[]).map((e=>this._getAttachmentEditJSON(e)))),r=e.deleteAttachments??[];return t.length||s.length||r.length?{adds:t,updates:s,deletes:[...r]}:null}async _getAttachmentEditJSON(e){const{feature:t,attachment:s}=e,{globalId:r,name:a,contentType:i,data:o,uploadId:n}=s,u={globalId:r,parentGlobalId:null,contentType:null,name:null,uploadId:null,data:null};if(t&&(u.parentGlobalId="attributes"in t?t.attributes&&t.attributes[this.layer.globalIdField]:t.globalId),n)u.uploadId=n;else if(o){const e=await y(o);e&&(u.contentType=e.mediaType,u.data=e.data),o instanceof File&&(u.name=o.name)}return a&&(u.name=a),i&&(u.contentType=i),u}async _uploadMeshesAndGetAssetMapEditsJSON(e){const{addAssetFeatures:t}=e;if(!t?.length)return null;const s=await this._filterRedundantAssetMaps(t);if(!t?.length)return null;const r=s.map((e=>e.geometry));return await this.uploadAssets(r),{adds:this._getAssetMapEditsJSON(s),updates:[],deletes:[]}}_getAssetMapEditsJSON(e){const t=new Array,s=this.layer.globalIdField,r=this.layer.parsedUrl;for(const a of e){const e=a.geometry,{metadata:i}=e,o=i.getExternalSourcesOnService(r),n=a.getAttribute(s);if(0===o.length){l.getLogger(this).error(`Skipping feature ${n}. The mesh it is associated with has not been uploaded to the service and cannot be mapped to it.`);continue}const{source:u}=o.find(E)??o[0],{vertexSpace:d}=e,c=d.isGeoreferenced?["PROJECT_VERTICES"]:[];for(const s of u)1===s.parts.length?t.push({globalId:m(),parentGlobalId:n,assetName:s.assetName,assetHash:s.parts[0].partHash,flags:c}):l.getLogger(this).error(`Skipping asset ${s.assetName}. It does not have exactly one part, so we cannot map it to a feature.`)}return t}_getFeatureIds(e,t){if(!e||0===e.length)return[];if(t&&q(e))return e.map((e=>e.globalId));if(w(e))return e.map((e=>e.objectId));const{layer:s}=this,r=t?s.globalIdField:s.objectIdField;return r?e.map((e=>e.getAttribute(r))):[]}_createEditsResult(e){const t=e.data,{layerId:s}=this.layer,r=[];let a=null;if(Array.isArray(t))for(const u of t)r.push({id:u.id,editedFeatures:u.editedFeatures}),u.id===s&&(a={addResults:u.addResults??[],updateResults:u.updateResults??[],deleteResults:u.deleteResults??[],attachments:u.attachments,editMoment:u.editMoment});else a=t;const i=a?.assetMaps;if(i){for(const e of i.addResults)e.success||l.getLogger(this).error(`Failed to map asset to feature with globalId ${e.globalId}.`);for(const e of i.updateResults)e.success||l.getLogger(this).error(`Failed to map asset to feature with globalId ${e.globalId}.`)}const o=a?.attachments,n={addFeatureResults:a?.addResults?.map(this._createFeatureEditResult,this)??[],updateFeatureResults:a?.updateResults?.map(this._createFeatureEditResult,this)??[],deleteFeatureResults:a?.deleteResults?.map(this._createFeatureEditResult,this)??[],addAttachmentResults:o&&o.addResults?o.addResults.map(this._createFeatureEditResult,this):[],updateAttachmentResults:o&&o.updateResults?o.updateResults.map(this._createFeatureEditResult,this):[],deleteAttachmentResults:o&&o.deleteResults?o.deleteResults.map(this._createFeatureEditResult,this):[]};if(a?.editMoment&&(n.editMoment=a.editMoment),r.length>0){n.editedFeatureResults=[];for(const e of r){const{editedFeatures:t}=e,s=t?.spatialReference?new N(t.spatialReference):null;n.editedFeatureResults.push({layerId:e.id,editedFeatures:{adds:t?.adds?.map((e=>this._createEditedFeature(e,s)))||[],updates:t?.updates?.map((e=>({original:this._createEditedFeature(e[0],s),current:this._createEditedFeature(e[1],s)})))||[],deletes:t?.deletes?.map((e=>this._createEditedFeature(e,s)))||[],spatialReference:s}})}}return n}_createEditedFeature(e,s){return new t({attributes:e.attributes,geometry:S({...e.geometry,spatialReference:s})})}_createFeatureEditResult(e){const t=!0===e.success?null:e.error||{code:void 0,description:void 0};return{objectId:e.objectId,globalId:e.globalId,error:t?new o("feature-layer-source:edit-failure",t.description,{code:t.code}):null}}_createAttachmentErrorResult(e,t){const s=t.details.messages&&t.details.messages[0]||t.message,r=t.details.httpStatus||t.details.messageCode;return{objectId:e,globalId:null,error:new o("feature-layer-source:attachment-failure",s,{code:r})}}_getFormDataForAttachment(e,t){const s=e instanceof FormData?e:e&&e.elements?new FormData(e):null;if(s)for(const r in t){const e=t[r];null!=e&&(s.set?s.set(r,e):s.append(r,e))}return s}_getLayerRequestOptions(e={}){const{parsedUrl:t,gdbVersion:s,dynamicDataSource:r}=this.layer;return{...e,query:{gdbVersion:s,layer:r?JSON.stringify({source:r}):void 0,...t.query,f:"json",...this._createRequestQueryOptions(e)},responseType:"json"}}async _filterRedundantAssetMaps(e){const{layer:t}=this,{globalIdField:s,infoFor3D:r,parsedUrl:a}=t;if(null==r||null==s)return e;const o=A(r);if(null==o)return e;const n=h(a.path,`../${o.id}`),u=e.map((e=>e.getAttribute(s))).filter(i);if(0===u.length)return e;const{assetMapFieldRoles:{parentGlobalId:l,assetHash:d}}=r,c=new x;c.where=`${l} IN (${u.map((e=>`'${e}'`))})`,c.outFields=[d,l],c.returnGeometry=!1;const p=await j(n,c),{features:y}=p;return 0===y.length?e:e.filter((e=>{const t=e.getAttribute(s);if(!t)return!0;const{metadata:r}=e.geometry,i=y.filter((e=>e.getAttribute(l)===t));if(0===i.length)return!0;const o=i.map((e=>e.getAttribute(d)));return r.getExternalSourcesOnService(a).flatMap((({source:e})=>e.flatMap((e=>e.parts.map((e=>e.partHash)))))).some((e=>o.every((t=>e!==t))))}))}};e([g()],M.prototype,"type",void 0),e([g({constructOnly:!0})],M.prototype,"layer",void 0),e([g({readOnly:!0})],M.prototype,"queryTask",null),M=e([f("esri.layers.graphics.sources.FeatureLayerSource")],M);const U=1e3,Q=M;export{Q as default};
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../Graphic.js";import{id as s}from"../../../kernel.js";import r from"../../../request.js";import a from"../../../TimeExtent.js";import{isSome as i}from"../../../core/arrayUtils.js";import o from"../../../core/Error.js";import has from"../../../core/has.js";import{JSONMap as n}from"../../../core/jsonMap.js";import u from"../../../core/Loadable.js";import l from"../../../core/Logger.js";import{setDeepValue as d}from"../../../core/object.js";import{debounce as c,after as p,throwIfAbortError as h}from"../../../core/promiseUtils.js";import{getMetersPerCartesianUnitForSR as y}from"../../../core/unitUtils.js";import{join as m,parseData as f}from"../../../core/urlUtils.js";import{generateBracedUUID as g}from"../../../core/uuid.js";import{property as R}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as S}from"../../../core/accessorSupport/decorators/subclass.js";import b from"../../../geometry/Extent.js";import{initializeProjection as F,project as E}from"../../../geometry/projection.js";import{fromJSON as w}from"../../../geometry/support/jsonUtils.js";import{toRelativeVertexSpace as q}from"../../../geometry/support/meshVertexSpaceUtils.js";import{isOriginalExternal as _}from"../../../geometry/support/meshUtils/External.js";import{isFeatureIdentifierArrayWithGlobalId as O,isFeatureIdentifierArrayWithObjectId as A}from"../editingSupport.js";import{createDrawingInfo as I}from"./support/clientSideDefaults.js";import j from"./support/QueryTask.js";import{isHostedAgolService as x}from"../../support/arcgisLayerUrl.js";import{getAssetMapTable as T}from"../../support/infoFor3D.js";import{executeQueryJSON as N}from"../../../rest/query/executeQueryJSON.js";import{unapplyEditsZUnitScaling as v}from"../../../rest/query/operations/editsZScale.js";import J from"../../../rest/support/Query.js";import M from"../../../geometry/SpatialReference.js";const U=new n({originalAndCurrentFeatures:"original-and-current-features",none:"none"}),k=new Set(["Feature Layer","Oriented Imagery Layer","Table"]),Q=new n({Started:"published",Publishing:"publishing",Stopped:"unavailable"});let C=class extends u{constructor(){super(...arguments),this.type="feature-layer",this.refresh=c((async()=>{await this.load();const e=this.sourceJSON.editingInfo?.lastEditDate;if(null==e)return{dataChanged:!0,updates:{}};try{await this._fetchService(null)}catch{return{dataChanged:!0,updates:{}}}const t=e!==this.sourceJSON.editingInfo?.lastEditDate;return{dataChanged:t,updates:t?{editingInfo:this.sourceJSON.editingInfo,extent:this.sourceJSON.extent}:null}})),this._ongoingAssetUploads=new Map}load(e){const t=null!=e?e.signal:null,s=this.layer.sourceJSON;return this.addResolvingPromise(this._fetchService(s,t)),Promise.resolve(this)}get queryTask(){const{capabilities:e,parsedUrl:t,dynamicDataSource:s,infoFor3D:r,gdbVersion:a,spatialReference:i,fieldsIndex:o}=this.layer,n=has("featurelayer-pbf")&&e?.query.supportsFormatPBF&&null==r,u=e?.operations?.supportsQueryAttachments??!1;return new j({url:t.path,pbfSupported:n,fieldsIndex:o,infoFor3D:r,dynamicDataSource:s,gdbVersion:a,sourceSpatialReference:i,queryAttachmentsSupported:u})}async addAttachment(e,t){await this.load();const s=e.attributes[this.layer.objectIdField],a=this.layer.parsedUrl.path+"/"+s+"/addAttachment",i=this._getLayerRequestOptions(),o=this._getFormDataForAttachment(t,i.query);try{const e=await r(a,{body:o});return this._createFeatureEditResult(e.data.addAttachmentResult)}catch(n){throw this._createAttachmentErrorResult(s,n)}}async updateAttachment(e,t,s){await this.load();const a=e.attributes[this.layer.objectIdField],i=this.layer.parsedUrl.path+"/"+a+"/updateAttachment",o=this._getLayerRequestOptions({query:{attachmentId:t}}),n=this._getFormDataForAttachment(s,o.query);try{const e=await r(i,{body:n});return this._createFeatureEditResult(e.data.updateAttachmentResult)}catch(u){throw this._createAttachmentErrorResult(a,u)}}async applyEdits(e,t){await this.load();const{layer:a}=this,o=a.infoFor3D,n=null!=o,u=n||(t?.globalIdUsed??!1),l=n?await this._uploadMeshesAndGetAssetMapEditsJSON(e):null,d=e.addFeatures?.map((e=>this._getFeatureJSON(e,o)))??[],c=(await Promise.all(d)).filter(i),p=e.updateFeatures?.map((e=>this._getFeatureJSON(e,o)))??[],h=(await Promise.all(p)).filter(i),y=this._getFeatureIds(e.deleteFeatures,u);v(c,h,a.spatialReference);const m=await this._getAttachmentEditsJSON(e),f=a.capabilities.editing.supportsAsyncApplyEdits&&n,g={gdbVersion:t?.gdbVersion||a.gdbVersion,rollbackOnFailure:t?.rollbackOnFailureEnabled,useGlobalIds:u,returnEditMoment:t?.returnEditMoment,usePreviousEditMoment:t?.usePreviousEditMoment,sessionId:t?.sessionId,async:f};t?.returnServiceEditsOption?(g.edits=JSON.stringify([{id:a.layerId,adds:c,updates:h,deletes:y,attachments:m,assetMaps:l}]),g.returnServiceEditsOption=U.toJSON(t?.returnServiceEditsOption),g.returnServiceEditsInSourceSR=t?.returnServiceEditsInSourceSR):(g.adds=c.length?JSON.stringify(c):null,g.updates=h.length?JSON.stringify(h):null,g.deletes=y.length?u?JSON.stringify(y):y.join(","):null,g.attachments=m&&JSON.stringify(m),g.assetMaps=null!=l?JSON.stringify(l):void 0);const R=this._getLayerRequestOptions({method:"post",query:g}),S=t?.returnServiceEditsOption?a.url:a.parsedUrl.path,b=f?await this._asyncApplyEdits(S+"/applyEdits",R):await r(S+"/applyEdits",R);if(!a.capabilities.operations?.supportsEditing&&a.effectiveCapabilities?.operations?.supportsEditing){const e=s?.findCredential(a.url);await(e?.refreshToken())}return this._createEditsResult(b)}async deleteAttachments(e,t){await this.load();const s=e.attributes[this.layer.objectIdField],a=this.layer.parsedUrl.path+"/"+s+"/deleteAttachments";try{return(await r(a,this._getLayerRequestOptions({query:{attachmentIds:t.join(",")},method:"post"}))).data.deleteAttachmentResults.map(this._createFeatureEditResult)}catch(i){throw this._createAttachmentErrorResult(s,i)}}fetchRecomputedExtents(e={}){const t=e.signal;return this.load({signal:t}).then((async()=>{const t=this._getLayerRequestOptions({...e,query:{returnUpdates:!0}}),{layerId:s,url:i}=this.layer,{data:o}=await r(`${i}/${s}`,t),{id:n,extent:u,fullExtent:l,timeExtent:d}=o,c=u||l;return{id:n,fullExtent:c&&b.fromJSON(c),timeExtent:d&&a.fromJSON({start:d[0],end:d[1]})}}))}async queryAttachments(e,t={}){await this.load();const s=this._getLayerRequestOptions(t);return this.queryTask.executeAttachmentQuery(e,s)}async queryFeatures(e,t){return await this.load(),this.queryTask.execute(e,{...t,query:this._createRequestQueryOptions(t)})}async queryFeaturesJSON(e,t){return await this.load(),this.queryTask.executeJSON(e,{...t,query:this._createRequestQueryOptions(t)})}async queryObjectIds(e,t){return await this.load(),this.queryTask.executeForIds(e,{...t,query:this._createRequestQueryOptions(t)})}async queryFeatureCount(e,t){return await this.load(),this.queryTask.executeForCount(e,{...t,query:this._createRequestQueryOptions(t)})}async queryExtent(e,t){return await this.load(),this.queryTask.executeForExtent(e,{...t,query:this._createRequestQueryOptions(t)})}async queryRelatedFeatures(e,t){return await this.load(),this.queryTask.executeRelationshipQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryRelatedFeaturesCount(e,t){return await this.load(),this.queryTask.executeRelationshipQueryForCount(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopFeatures(e,t){return await this.load(),this.queryTask.executeTopFeaturesQuery(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopObjectIds(e,t){return await this.load(),this.queryTask.executeForTopIds(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopExtents(e,t){return await this.load(),this.queryTask.executeForTopExtents(e,{...t,query:this._createRequestQueryOptions(t)})}async queryTopCount(e,t){return await this.load(),this.queryTask.executeForTopCount(e,{...t,query:this._createRequestQueryOptions(t)})}async fetchPublishingStatus(){if(!x(this.layer.url))return"unavailable";const e=m(this.layer.url,"status"),t=await r(e,{query:{f:"json"}});return Q.fromJSON(t.data.status)}async uploadAssets(e,t){const{uploadAssets:s}=await import("./support/uploadAssets.js");return s(e,{layer:this.layer,ongoingUploads:this._ongoingAssetUploads},t)}async _asyncApplyEdits(e,t){const s=(await r(e,t)).data.statusUrl;for(;;){const e=(await r(s,{query:{f:"json"},responseType:"json"})).data;switch(e.status){case"Completed":return r(e.resultUrl,{query:{f:"json"},responseType:"json"});case"CompletedWithErrors":throw new o("async-applyEdits-failed","asynchronous applyEdits call failed.");case"Failed ImportChanges":case"InProgress":case"Pending":case"ExportAttachments":case"ExportChanges":case"ExportingData":case"ExportingSnapshot":case"ImportAttachments":case"ProvisioningReplica":case"UnRegisteringReplica":break;default:throw new o("async-applyEdits-failed","asynchronous applyEdits call failed (undefined response status)")}await p(D)}}_createRequestQueryOptions(e){const t={...this.layer.customParameters,token:this.layer.apiKey,...e?.query};return this.layer.datesInUnknownTimezone&&(t.timeReferenceUnknownClient=!0),t}async _fetchService(e,t){if(!e){const{data:s}=await r(this.layer.parsedUrl.path,this._getLayerRequestOptions({query:has("featurelayer-advanced-symbols")?{returnAdvancedSymbols:!0}:{},signal:t}));e=s}this.sourceJSON=await this._patchServiceJSON(e,t);const s=e.type;if(!k.has(s))throw new o("feature-layer-source:unsupported-type",`Source type "${s}" is not supported`)}async _patchServiceJSON(e,t){if("Table"!==e.type&&e.geometryType&&!e?.drawingInfo?.renderer&&!e.defaultSymbol){const t=I(e.geometryType).renderer;d("drawingInfo.renderer",t,e)}if("esriGeometryMultiPatch"===e.geometryType&&e.infoFor3D&&(e.geometryType="mesh"),null==e.extent)try{const{data:s}=await r(this.layer.url,this._getLayerRequestOptions({signal:t}));s.spatialReference&&(e.extent={xmin:0,ymin:0,xmax:0,ymax:0,spatialReference:s.spatialReference})}catch(s){h(s)}return e}async _getFeatureJSON(e,t){const{geometry:s}=e,r={...e.attributes};if(null!=t&&"mesh"===s?.type){const{transformFieldRoles:e}=t,{origin:a,spatialReference:i,transform:o}=s,n=this.layer.spatialReference;await F(i,n);const u=E(a,n);if(r[e.originX]=u.x,r[e.originY]=u.y,r[e.originZ]=u.z??0,null!=o){const{translation:t,scale:a,rotation:u}=o,{vertexSpace:l}=s,d=l.isGeoreferenced?1:y(i)/y(n);r[e.translationX]=t[0]*d,r[e.translationY]=-t[2]*d,r[e.translationZ]=t[1]*d,r[e.scaleX]=a[0],r[e.scaleY]=a[2],r[e.scaleZ]=a[1],r[e.rotationX]=u[0],r[e.rotationY]=u[2],r[e.rotationZ]=u[1],r[e.rotationDeg]=u[3]}return{geometry:null,attributes:r}}return null==s?{attributes:r}:"mesh"===s.type||"extent"===s.type?null:{geometry:s.toJSON(),attributes:r}}async _getAttachmentEditsJSON(e){const t=await Promise.all((e.addAttachments??[]).map((e=>this._getAttachmentEditJSON(e)))),s=await Promise.all((e.updateAttachments??[]).map((e=>this._getAttachmentEditJSON(e)))),r=e.deleteAttachments??[];return t.length||s.length||r.length?{adds:t,updates:s,deletes:[...r]}:null}async _getAttachmentEditJSON(e){const{feature:t,attachment:s}=e,{globalId:r,name:a,contentType:i,data:o,uploadId:n}=s,u={globalId:r,parentGlobalId:null,contentType:null,name:null,uploadId:null,data:null};if(t&&(u.parentGlobalId="attributes"in t?t.attributes&&t.attributes[this.layer.globalIdField]:t.globalId),n)u.uploadId=n;else if(o){const e=await f(o);e&&(u.contentType=e.mediaType,u.data=e.data),o instanceof File&&(u.name=o.name)}return a&&(u.name=a),i&&(u.contentType=i),u}async _uploadMeshesAndGetAssetMapEditsJSON(e){const{addAssetFeatures:t}=e;if(!t?.length)return null;const s=await this._filterRedundantAssetMaps(t);if(!t?.length)return null;const r=new Array,a=new Map;for(const i of s){const{geometry:e}=i,{vertexSpace:t}=e;if(t.isRelative)r.push(e);else{const t=q(e);a.set(t,e),i.geometry=t,r.push(t)}}await this.uploadAssets(r);for(const[i,o]of a)o.addExternalSources(i.metadata.externalSources.items);return{adds:this._getAssetMapEditsJSON(s),updates:[],deletes:[]}}_getAssetMapEditsJSON(e){const t=new Array,s=this.layer.globalIdField,r=this.layer.parsedUrl;for(const a of e){const e=a.geometry,{metadata:i}=e,o=i.getExternalSourcesOnService(r),n=a.getAttribute(s);if(0===o.length){l.getLogger(this).error(`Skipping feature ${n}. The mesh it is associated with has not been uploaded to the service and cannot be mapped to it.`);continue}const{source:u}=o.find(_)??o[0],{vertexSpace:d}=e,c=d.isGeoreferenced?["PROJECT_VERTICES"]:[];for(const s of u)1===s.parts.length?t.push({globalId:g(),parentGlobalId:n,assetName:s.assetName,assetHash:s.parts[0].partHash,flags:c}):l.getLogger(this).error(`Skipping asset ${s.assetName}. It does not have exactly one part, so we cannot map it to a feature.`)}return t}_getFeatureIds(e,t){if(!e||0===e.length)return[];if(t&&O(e))return e.map((e=>e.globalId));if(A(e))return e.map((e=>e.objectId));const{layer:s}=this,r=t?s.globalIdField:s.objectIdField;return r?e.map((e=>e.getAttribute(r))):[]}_createEditsResult(e){const t=e.data,{layerId:s}=this.layer,r=[];let a=null;if(Array.isArray(t))for(const u of t)r.push({id:u.id,editedFeatures:u.editedFeatures}),u.id===s&&(a={addResults:u.addResults??[],updateResults:u.updateResults??[],deleteResults:u.deleteResults??[],attachments:u.attachments,editMoment:u.editMoment});else a=t;const i=a?.assetMaps;if(i){for(const e of i.addResults)e.success||l.getLogger(this).error(`Failed to map asset to feature with globalId ${e.globalId}.`);for(const e of i.updateResults)e.success||l.getLogger(this).error(`Failed to map asset to feature with globalId ${e.globalId}.`)}const o=a?.attachments,n={addFeatureResults:a?.addResults?.map(this._createFeatureEditResult,this)??[],updateFeatureResults:a?.updateResults?.map(this._createFeatureEditResult,this)??[],deleteFeatureResults:a?.deleteResults?.map(this._createFeatureEditResult,this)??[],addAttachmentResults:o&&o.addResults?o.addResults.map(this._createFeatureEditResult,this):[],updateAttachmentResults:o&&o.updateResults?o.updateResults.map(this._createFeatureEditResult,this):[],deleteAttachmentResults:o&&o.deleteResults?o.deleteResults.map(this._createFeatureEditResult,this):[]};if(a?.editMoment&&(n.editMoment=a.editMoment),r.length>0){n.editedFeatureResults=[];for(const e of r){const{editedFeatures:t}=e,s=t?.spatialReference?new M(t.spatialReference):null;n.editedFeatureResults.push({layerId:e.id,editedFeatures:{adds:t?.adds?.map((e=>this._createEditedFeature(e,s)))||[],updates:t?.updates?.map((e=>({original:this._createEditedFeature(e[0],s),current:this._createEditedFeature(e[1],s)})))||[],deletes:t?.deletes?.map((e=>this._createEditedFeature(e,s)))||[],spatialReference:s}})}}return n}_createEditedFeature(e,s){return new t({attributes:e.attributes,geometry:w({...e.geometry,spatialReference:s})})}_createFeatureEditResult(e){const t=!0===e.success?null:e.error||{code:void 0,description:void 0};return{objectId:e.objectId,globalId:e.globalId,error:t?new o("feature-layer-source:edit-failure",t.description,{code:t.code}):null}}_createAttachmentErrorResult(e,t){const s=t.details.messages&&t.details.messages[0]||t.message,r=t.details.httpStatus||t.details.messageCode;return{objectId:e,globalId:null,error:new o("feature-layer-source:attachment-failure",s,{code:r})}}_getFormDataForAttachment(e,t){const s=e instanceof FormData?e:e&&e.elements?new FormData(e):null;if(s)for(const r in t){const e=t[r];null!=e&&(s.set?s.set(r,e):s.append(r,e))}return s}_getLayerRequestOptions(e={}){const{parsedUrl:t,gdbVersion:s,dynamicDataSource:r}=this.layer;return{...e,query:{gdbVersion:s,layer:r?JSON.stringify({source:r}):void 0,...t.query,f:"json",...this._createRequestQueryOptions(e)},responseType:"json"}}async _filterRedundantAssetMaps(e){const{layer:t}=this,{globalIdField:s,infoFor3D:r,parsedUrl:a}=t;if(null==r||null==s)return e;const o=T(r);if(null==o)return e;const n=m(a.path,`../${o.id}`),u=new Array,l=new Array;for(const i of e)i.geometry.metadata.getExternalSourcesOnService(a).length>0?l.push(i):u.push(i);const d=l.map((e=>e.getAttribute(s))).filter(i);if(0===d.length)return e;const{assetMapFieldRoles:{parentGlobalId:c,assetHash:p}}=r,h=new J;h.where=`${c} IN (${d.map((e=>`'${e}'`))})`,h.outFields=[p,c],h.returnGeometry=!1;const y=await N(n,h),{features:f}=y;return 0===f.length?e:[...u,...l.filter((e=>{const t=e.getAttribute(s);if(!t)return!0;const{metadata:r}=e.geometry,i=f.filter((e=>e.getAttribute(c)===t));if(0===i.length)return!0;const o=i.map((e=>e.getAttribute(p)));return r.getExternalSourcesOnService(a).flatMap((({source:e})=>e.flatMap((e=>e.parts.map((e=>e.partHash)))))).some((e=>o.every((t=>e!==t))))}))]}};e([R()],C.prototype,"type",void 0),e([R({constructOnly:!0})],C.prototype,"layer",void 0),e([R({readOnly:!0})],C.prototype,"queryTask",null),C=e([S("esri.layers.graphics.sources.FeatureLayerSource")],C);const D=1e3,L=C;export{L as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../Graphic.js";import r from"../../../core/Collection.js";import s from"../../../core/Error.js";import
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../Graphic.js";import r from"../../../core/Collection.js";import s from"../../../core/Error.js";import has from"../../../core/has.js";import o from"../../../core/Loadable.js";import i from"../../../core/Logger.js";import{EsriPromiseMixin as n}from"../../../core/Promise.js";import{open as a}from"../../../core/workers/workers.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import{ensureType as u}from"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import{shared as p}from"../../../core/accessorSupport/decorators/shared.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import{unapplyEditsZUnitScaling as d}from"../../../rest/query/operations/editsZScale.js";import{applyFeatureSetZUnitScaling as h}from"../../../rest/query/operations/queryZScale.js";import y from"../../../rest/support/FeatureSet.js";import m from"../../../geometry/Extent.js";import f from"../../../geometry/Polygon.js";import{typeKebabDictionary as g}from"../../../geometry/support/typeUtils.js";let _=0;const S="esri.layers.graphics.sources.MemorySource",j=i.getLogger(S);let T=class extends(o.LoadableMixin(n(r))){constructor(e){super(e),this._idToClientGraphic=null,this.type="memory"}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this._startWorker(t)),Promise.resolve(this)}destroy(){this._connection?.close(),this._connection=null}get _workerGeometryType(){const e=this.layer?.geometryType;return e?this._geometryTypeRequiresClientGraphicMapping(e)?"polygon":e:null}applyEdits(e){return this.load().then((()=>this._applyEdits(e)))}openPorts(){return this.load().then((()=>this._connection.openPorts()))}async queryFeatures(e,t={}){await this.load(t);const r=await this._connection.invoke("queryFeatures",e?e.toJSON():null,t);h(e,this.layer.spatialReference,r);const s=y.fromJSON(r);if(!this._requiresClientGraphicMapping())return s;const o=this.layer.objectIdField;for(const i of s.features){const e=i.attributes[o],t=this._idToClientGraphic.get(e);t&&(i.geometry=t.geometry)}return s.geometryType=this.layer.geometryType,s}async queryFeaturesJSON(e,t={}){if(this._requiresClientGraphicMapping())throw new s("query-features-json:unsupported","Cannot query in JSON format for client only geometry types (mesh and extent)");await this.load(t);const r=await this._connection.invoke("queryFeatures",e?e.toJSON():null,t);return h(e,this.layer.spatialReference,r),r}queryFeatureCount(e,t={}){return this.load(t).then((()=>this._connection.invoke("queryFeatureCount",e?e.toJSON():null,t)))}queryObjectIds(e,t={}){return this.load(t).then((()=>this._connection.invoke("queryObjectIds",e?e.toJSON():null,t)))}queryExtent(e,t={}){return this.load(t).then((()=>this._connection.invoke("queryExtent",e?e.toJSON():null,t))).then((e=>({count:e.count,extent:m.fromJSON(e.extent)})))}querySnapping(e,t={}){return this.load(t).then((()=>this._connection.invoke("querySnapping",e,t)))}async _applyEdits(e){if(!this._connection)throw new s("feature-layer-source:edit-failure","Memory source not loaded");const t=this.layer.objectIdField;let r=null;const o=[],i=[];await Promise.all([this._prepareClientMapping(e.addFeatures,null),this._prepareClientMapping(e.updateFeatures,null)]);const n=e=>"objectId"in e&&null!=e.objectId?e.objectId:"attributes"in e&&null!=e.attributes[t]?e.attributes[t]:null;if(e.addFeatures&&(r=this._prepareAddFeatures(e.addFeatures)),e.deleteFeatures)for(const s of e.deleteFeatures){const e=n(s);null!=e&&o.push(e)}const a=e.updateFeatures&&this._idToClientGraphic?new Map:null;if(e.updateFeatures)for(const s of e.updateFeatures)if(i.push(this._serializeFeature(s)),a){const e=n(s);null!=e&&a.set(e,s)}d(r?r.features:null,i,this.layer.spatialReference);const{fullExtent:l,featureEditResults:u}=await this._connection.invoke("applyEdits",{adds:r?r.features:[],updates:i,deletes:o});return this.fullExtent=l,r&&r.finish(u.uidToObjectId),this._updateClientGraphicIds(a,u),this._createEditsResult(u)}async _prepareClientMapping(e,t){if("mesh"!==this._layerOrSourceGeometryType||null==e)return;const r=[];for(const{geometry:s}of e)null==s||"mesh"!==s.type||s.hasExtent||s.loaded||r.push(s.load({signal:t}));r.length&&await Promise.all(r)}_updateClientGraphicIds(e,t){if(this._idToClientGraphic){if(e)for(const r of t.updateResults){if(!r.success)continue;const t=e.get(r.objectId);null!=t&&this._addIdToClientGraphic(t)}for(const e of t.deleteResults)e.success&&this._idToClientGraphic.delete(e.objectId)}}_createEditsResult(e){return{addFeatureResults:e.addResults?e.addResults.map(this._createFeatureEditResult,this):[],updateFeatureResults:e.updateResults?e.updateResults.map(this._createFeatureEditResult,this):[],deleteFeatureResults:e.deleteResults?e.deleteResults.map(this._createFeatureEditResult,this):[],addAttachmentResults:[],updateAttachmentResults:[],deleteAttachmentResults:[]}}_createFeatureEditResult(e){const t=!0===e.success?null:e.error||{code:void 0,description:void 0};return{objectId:e.objectId,globalId:e.globalId,error:t?new s("feature-layer-source:edit-failure",t.description,{code:t.code}):null}}_prepareAddFeatures(e){const t=new Map,r=new Array(e.length);let s=null;for(let i=0;i<e.length;i++){const o=e[i],n=this._serializeFeature(o);s||null==o.geometry||(s=o.geometry.type),r[i]=n,t.set(`${n.uid}`,o)}const o=this;return{features:r,inferredGeometryType:s,finish(e){const r=o.sourceJSON.objectIdField;for(const s in e){const i=e[s],n=t.get(s);n&&(n.attributes||(n.attributes={}),-1===i?delete n.attributes[r]:n.attributes[r]=i,o._addIdToClientGraphic(n))}}}}_addIdToClientGraphic(e){if(!this._idToClientGraphic)return;const t=this.sourceJSON.objectIdField,r=e.attributes&&e.attributes[t];null!=r&&this._idToClientGraphic.set(r,e)}get _layerOrSourceGeometryType(){return this.layer?.geometryType??this.sourceJSON?.geometryType}_requiresClientGraphicMapping(){return this._geometryTypeRequiresClientGraphicMapping(this._layerOrSourceGeometryType)}_geometryRequiresClientGraphicMapping(e){return this._geometryTypeRequiresClientGraphicMapping(e.type)}_geometryTypeRequiresClientGraphicMapping(e){return"mesh"===e||"multipatch"===e||"extent"===e}_serializeFeature(e){const{attributes:t}=e,r=this._geometryForSerialization(e),s=(_++).toString();return r?{uid:s,geometry:r.toJSON(),attributes:t}:{uid:s,attributes:t}}_geometryForSerialization(e){const{geometry:t}=e;if(null==t)return null;if(this._geometryRequiresClientGraphicMapping(t)){return t.extent?f.fromExtent(t.extent):null}return t}async _startWorker(e){this._connection=await a("MemorySourceWorker",{strategy:has("feature-layers-workers")?"dedicated":"local",signal:e});const{fields:t,spatialReference:r,objectIdField:s,hasM:o,hasZ:i,timeInfo:n}=this.layer,l="defaults"===this.layer.originOf("spatialReference");await this._prepareClientMapping(this.items,e);const u=this._prepareAddFeatures(this.items);this.addHandles(this.on("before-changes",(e=>{j.error("Source modifications will not propagate after layer has been loaded. Please use .applyEdits() instead"),e.preventDefault()})));const p={features:u.features,fields:t&&t.map((e=>e.toJSON())),geometryType:g.toJSON(this._workerGeometryType),hasM:"mesh"!==this._layerOrSourceGeometryType&&o,hasZ:"mesh"===this._layerOrSourceGeometryType||i,objectIdField:s,spatialReference:l?null:r&&r.toJSON(),timeInfo:n?n.toJSON():null},c=await this._connection.invoke("load",p,{signal:e});for(const a of c.warnings)j.warn(a.message,{layer:this.layer,warning:a});c.featureErrors.length&&j.warn(`Encountered ${c.featureErrors.length} validation errors while loading features`,c.featureErrors);const d=c.layerDefinition;this._geometryTypeRequiresClientGraphicMapping(u.inferredGeometryType)&&(d.geometryType=g.toJSON(u.inferredGeometryType)),this.sourceJSON=d,this._requiresClientGraphicMapping()&&(this._idToClientGraphic=new Map),u.finish(c.assignedObjectIds)}};e([p({Type:t,ensureType:u(t)})],T.prototype,"itemType",void 0),e([l()],T.prototype,"type",void 0),e([l({constructOnly:!0})],T.prototype,"layer",void 0),e([l({readOnly:!0})],T.prototype,"_workerGeometryType",null),e([l()],T.prototype,"sourceJSON",void 0),T=e([c(S)],T);export{T as MemorySource};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../core/Error.js";import s from"../../../core/Loadable.js";import{property as r}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import{queryFeatureSetJSON as p,crsDefault as i,getSpatialReferenceWkid as a,getServerLandingPage as u,getServerConformance as n,getServerCollections as c,getServerOpenApi as l,getCollectionDefinition as d,crsPrefix as m}from"../../ogc/ogcFeatureUtils.js";import y from"../../../rest/support/FeatureSet.js";import f from"../../../geometry/SpatialReference.js";import{typeKebabDictionary as g}from"../../../geometry/support/typeUtils.js";let h=class extends s{constructor(){super(...arguments),this.featureDefinition=null,this.type="ogc-feature"}load(e){return this.addResolvingPromise(this._loadOGCServices(this.layer,e)),this.when()}getSource(){const{featureDefinition:{collection:e,layerDefinition:t,spatialReference:s,supportedCrs:r},layer:{apiKey:o,customParameters:p,effectiveMaxRecordCount:i}}=this;return{type:"ogc-source",collection:e,layerDefinition:t,maxRecordCount:i,queryParameters:{apiKey:o,customParameters:p},spatialReference:s,supportedCrs:r}}queryExtent(e,t={}){return null}queryFeatureCount(e,t={}){return null}queryFeatures(e,t={}){return this.queryFeaturesJSON(e,t).then((e=>y.fromJSON(e)))}queryFeaturesJSON(e,t={}){const s=this.getSource();return this.load(t).then((()=>p(s,e,t)))}queryObjectIds(e,t={}){return null}serviceSupportsSpatialReference(e){return!(!e.isWGS84&&!e.isWebMercator)||!!this.featureDefinition.supportedCrs[e.wkid]}_conformsToType(e,t){const s=new RegExp(`^${t}$`,"i");return e.conformsTo.some((e=>s.test(e)))??!1}_getCapabilities(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1},query:{maxRecordCount:t,maxRecordCountFactor:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:!1,supportsExtent:!1,supportsFormatPBF:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:!1,supportsPagination:!1,supportsPercentileStatistics:!1,supportsQuantization:!1,supportsQuantizationEditMode:!1,supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:!1,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,supportsSqlExpression:!1,tileMaxRecordCount:void 0},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1}}}_getMaxRecordCount(e){const t=e?.components?.parameters;return t?.limit?.schema?.maximum??t?.limitFeatures?.schema?.maximum}_getStorageSpatialReference(e){const t=e.storageCrs??i,s=a(t);return null==s?f.WGS84:new f({wkid:s})}_getSupportedSpatialReferences(e,t){const s="#/crs",r=e.crs??[i],o=r.includes(s)?r.filter((e=>e!==s)).concat(t.crs??[]):r,p=/^http:\/\/www\.opengis.net\/def\/crs\/epsg\/.*\/3785$/i;return o.filter((e=>!p.test(e)))}async _loadOGCServices(e,s){const r=null!=s?s.signal:null,{apiKey:o,collectionId:p,customParameters:i,fields:y,geometryType:f,hasZ:h,objectIdField:S,timeInfo:C,url:R}=e,w={fields:y?.map((e=>e.toJSON())),geometryType:g.toJSON(f),hasZ:h??!1,objectIdField:S,timeInfo:C?.toJSON()},x={apiKey:o,customParameters:i,signal:r},j=await u(R,x),[F,
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../core/Error.js";import s from"../../../core/Loadable.js";import{property as r}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import{queryFeatureSetJSON as p,crsDefault as i,getSpatialReferenceWkid as a,getServerLandingPage as u,getServerConformance as n,getServerCollections as c,getServerOpenApi as l,getCollectionDefinition as d,crsPrefix as m}from"../../ogc/ogcFeatureUtils.js";import y from"../../../rest/support/FeatureSet.js";import f from"../../../geometry/SpatialReference.js";import{typeKebabDictionary as g}from"../../../geometry/support/typeUtils.js";let h=class extends s{constructor(){super(...arguments),this.featureDefinition=null,this.type="ogc-feature"}load(e){return this.addResolvingPromise(this._loadOGCServices(this.layer,e)),this.when()}getSource(){const{featureDefinition:{collection:e,layerDefinition:t,spatialReference:s,supportedCrs:r},layer:{apiKey:o,customParameters:p,effectiveMaxRecordCount:i}}=this;return{type:"ogc-source",collection:e,layerDefinition:t,maxRecordCount:i,queryParameters:{apiKey:o,customParameters:p},spatialReference:s,supportedCrs:r}}queryExtent(e,t={}){return null}queryFeatureCount(e,t={}){return null}queryFeatures(e,t={}){return this.queryFeaturesJSON(e,t).then((e=>y.fromJSON(e)))}queryFeaturesJSON(e,t={}){const s=this.getSource();return this.load(t).then((()=>p(s,e,t)))}queryObjectIds(e,t={}){return null}serviceSupportsSpatialReference(e){return!(!e.isWGS84&&!e.isWebMercator)||!!this.featureDefinition.supportedCrs[e.wkid]}_conformsToType(e,t){const s=new RegExp(`^${t}$`,"i");return e.conformsTo.some((e=>s.test(e)))??!1}_getCapabilities(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{maxRecordCount:t,maxRecordCountFactor:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:!1,supportsExtent:!1,supportsFormatPBF:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:!1,supportsPagination:!1,supportsPercentileStatistics:!1,supportsQuantization:!1,supportsQuantizationEditMode:!1,supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:!1,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,supportsSqlExpression:!1,tileMaxRecordCount:void 0},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1}}}_getMaxRecordCount(e){const t=e?.components?.parameters;return t?.limit?.schema?.maximum??t?.limitFeatures?.schema?.maximum}_getStorageSpatialReference(e){const t=e.storageCrs??i,s=a(t);return null==s?f.WGS84:new f({wkid:s})}_getSupportedSpatialReferences(e,t){const s="#/crs",r=e.crs??[i],o=r.includes(s)?r.filter((e=>e!==s)).concat(t.crs??[]):r,p=/^http:\/\/www\.opengis.net\/def\/crs\/epsg\/.*\/3785$/i;return o.filter((e=>!p.test(e)))}async _loadOGCServices(e,s){const r=null!=s?s.signal:null,{apiKey:o,collectionId:p,customParameters:i,fields:y,geometryType:f,hasZ:h,objectIdField:S,timeInfo:C,url:R}=e,w={fields:y?.map((e=>e.toJSON())),geometryType:g.toJSON(f),hasZ:h??!1,objectIdField:S,timeInfo:C?.toJSON()},x={apiKey:o,customParameters:i,signal:r},j=await u(R,x),[F,v]=await Promise.all([n(j,x),c(j,x)]);if(!this._conformsToType(F,"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson"))throw new t("ogc-feature-layer:no-geojson-support","Server does not support geojson");const O=v.collections.find((e=>e.id===p));if(!O)throw new t("ogc-feature-layer:collection-not-found","Server does not contain the named collection");const T=this._conformsToType(F,"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30")?await l(j,x):null,D=await d(O,w,x),_=this._getMaxRecordCount(T),A=this._getCapabilities(D.hasZ,_),P=this._getStorageSpatialReference(O).toJSON(),b=this._getSupportedSpatialReferences(O,v),q=new RegExp(`^${m}`,"i"),E={};for(const t of b){const e=a(t);null!=e&&(E[e]||(E[e]=t.replace(q,"")))}this.featureDefinition={capabilities:A,collection:O,layerDefinition:D,spatialReference:P,supportedCrs:E}}};e([r()],h.prototype,"featureDefinition",void 0),e([r({constructOnly:!0})],h.prototype,"layer",void 0),e([r()],h.prototype,"type",void 0),h=e([o("esri.layers.graphics.sources.OGCFeatureSource")],h);export{h as OGCFeatureSource};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../core/Error.js";import
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../core/Error.js";import has from"../../../core/has.js";import r from"../../../core/Loadable.js";import{debounce as s,eachAlways as o}from"../../../core/promiseUtils.js";import{open as a}from"../../../core/workers/workers.js";import{property as i}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import{subclass as n}from"../../../core/accessorSupport/decorators/subclass.js";import{featureGeometryTypeKebabDictionary as c}from"../../../geometry/support/typeUtils.js";import{createCapabilities as p,createDrawingInfo as l}from"./support/clientSideDefaults.js";import{getCapabilities as u,getWFSLayerInfo as m,prepareWFSLayerFields as y,findFeatureType as d}from"../../ogc/wfsUtils.js";import f from"../../../rest/support/FeatureSet.js";import h from"../../../geometry/Extent.js";let w=class extends r{constructor(){super(...arguments),this._connection=null,this.capabilities=p(!1,!1),this.type="wfs",this.refresh=s((async e=>{await this.load();const{extent:t}=await this._connection.invoke("refresh",e);return t&&(this.sourceJSON.extent=t),{dataChanged:!0,updates:{extent:this.sourceJSON.extent}}}))}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this._startWorker({signal:t})),Promise.resolve(this)}destroy(){this._connection?.close(),this._connection=null}async openPorts(){return await this.load(),this._connection.openPorts()}async queryFeatures(e,t={}){await this.load(t);const r=await this._connection.invoke("queryFeatures",e?e.toJSON():null,t);return f.fromJSON(r)}async queryFeaturesJSON(e,t={}){return await this.load(t),this._connection.invoke("queryFeatures",e?e.toJSON():null,t)}async queryFeatureCount(e,t={}){return await this.load(t),this._connection.invoke("queryFeatureCount",e?e.toJSON():null,t)}async queryObjectIds(e,t={}){return await this.load(t),this._connection.invoke("queryObjectIds",e?e.toJSON():null,t)}async queryExtent(e,t={}){await this.load(t);const r=await this._connection.invoke("queryExtent",e?e.toJSON():null,t);return{count:r.count,extent:h.fromJSON(r.extent)}}async querySnapping(e,t={}){return await this.load(t),this._connection.invoke("querySnapping",e,t)}async _createLoadOptions(e){const{url:r,customParameters:s,name:o,namespaceUri:a,spatialReference:i,fields:n,geometryType:p,swapXY:l}=this.layer;if(!r)throw new t("wfs-layer:missing-url","WFSLayer must be created with a url");this.wfsCapabilities||(this.wfsCapabilities=await u(r,{customParameters:s,...e}));const f=["fields","geometryType","name","namespaceUri","spatialReference","swapXY"].some((e=>null==this.layer[e])),h=f?await m(this.wfsCapabilities,o,a,{spatialReference:i,customParameters:s,signal:e?.signal}):{...y(n??[]),geometryType:p,name:o,namespaceUri:a,spatialReference:i,swapXY:l},w=d(this.wfsCapabilities.readFeatureTypes(),h.name,h.namespaceUri),g=c.toJSON(h.geometryType);return{customParameters:s,featureType:w,fields:h.fields?.map((e=>e.toJSON()))??[],geometryField:h.geometryField,geometryType:g,getFeatureUrl:this.wfsCapabilities.operations.GetFeature.url,getFeatureOutputFormat:this.wfsCapabilities.operations.GetFeature.outputFormat,objectIdField:h.objectIdField,spatialReference:h.spatialReference.toJSON(),swapXY:!!h.swapXY}}async _startWorker(e){const[t,r]=await o([this._createLoadOptions(e),a("WFSSourceWorker",{...e,strategy:has("feature-layers-workers")?"dedicated":"local"})]),s=t.error||r.error||null,i=r.value||null;if(s)throw i&&i.close(),s;const n=t.value;this._connection=r.value;const c=(await this._connection.invoke("load",n,e)).extent;this.sourceJSON={extent:c,fields:n.fields,geometryType:n.geometryType,objectIdField:n.objectIdField,geometryField:n.geometryField,drawingInfo:l(n.geometryType),name:n.featureType.title,wfsInfo:{name:n.featureType.name,featureUrl:n.getFeatureUrl,maxFeatures:3e3,swapXY:n.swapXY,supportedSpatialReferences:n.featureType.supportedSpatialReferences,version:"2.0.0",wfsNamespace:n.featureType.namespaceUri}}}};e([i()],w.prototype,"capabilities",void 0),e([i({constructOnly:!0})],w.prototype,"layer",void 0),e([i()],w.prototype,"sourceJSON",void 0),e([i()],w.prototype,"type",void 0),e([i()],w.prototype,"wfsCapabilities",void 0),w=e([n("esri.layers.graphics.sources.WFSSource")],w);export{w as WFSSource};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import has from"../../../../core/has.js";import{clone as t}from"../../../../core/lang.js";import{queryCapabilities as s}from"../../data/QueryEngineCapabilities.js";import{defaultPointSymbolJSON as
|
|
5
|
+
import has from"../../../../core/has.js";import{clone as t}from"../../../../core/lang.js";import{queryCapabilities as s}from"../../data/QueryEngineCapabilities.js";import{defaultPointSymbolJSON as r,defaultPolylineSymbolJSON as e,defaultPolygonSymbolJSON as p}from"../../../../symbols/support/defaultsJSON.js";function o(t){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===t||"esriGeometryMultipoint"===t?r:"esriGeometryPolyline"===t?e:p}}}const u=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let n=1;function i(t,s){if(has("esri-csp-restrictions"))return()=>({[s]:null,...t});try{let r=`this.${s} = null;`;for(const s in t){r+=`this${u.test(s)?`.${s}`:`["${s}"]`} = ${JSON.stringify(t[s])};`}const e=new Function(`\n return class AttributesClass$${n++} {\n constructor() {\n ${r};\n }\n }\n `)();return()=>new e}catch(r){return()=>({[s]:null,...t})}}function a(s={}){return[{name:"New Feature",description:"",prototype:{attributes:t(s)}}]}function c(t,r){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:t},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:r,supportsDelete:r,supportsEditing:r,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:r,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:s,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsGeometryUpdate:r,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1}}}export{c as createCapabilities,i as createDefaultAttributesFunction,a as createDefaultTemplate,o as createDrawingInfo};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../../request.js";import t from"../../../../core/Error.js";import
|
|
5
|
+
import e from"../../../../request.js";import t from"../../../../core/Error.js";import s from"../../../../core/Logger.js";import{throwIfAborted as r,throwIfAbortError as a,after as o}from"../../../../core/promiseUtils.js";import{parseData as n,join as i}from"../../../../core/urlUtils.js";import{generateBracedUUID as u}from"../../../../core/uuid.js";import{externalIsOnService as l,assetFormatId as c,ServiceAsset as p,ServiceAssetPart as f,externalSourceToMultiPart as d}from"../../../../geometry/support/meshUtils/External.js";import{uploadItem as m}from"./uploads.js";import{getFormatIdMimeType as y,getMimeTypeFormatId as w,getFilenameFormatId as h}from"../../../support/infoFor3D.js";async function g(e,t,s){return e.length?Promise.all(e.map((e=>T(e,t,s)))):[]}async function T(e,{layer:s,ongoingUploads:r},a){const o=r.get(e);if(o)return o;if(!P(s))throw new t(`${s.type}-layer:upload-failure`,"Layer does not support asset uploads.",new Error);if(b(e,s))return e;const n=E(e,s,a);r.set(e,n);try{await n}finally{r.delete(e)}return e}function b(e,t){const{parsedUrl:s}=t;return null!=s&&e.metadata.externalSources.some((e=>l(e,s)))}async function E(e,t,s){const{metadata:a}=e,{displaySource:o}=a,n=x(o?.source,t),i=!!n,u=a.externalSources.length>0,l=i?$(n,t,s):u?F(e,t,s):j(e,t,s),c=await l;return r(s),e.addExternalSources([c]),e}async function $(e,t,s){return{source:await N(e,t,s),original:!0}}async function F(e,s,r){const a=B(s),{externalSources:o}=e.metadata,n=U(o,s);if(!n)throw new t(`${s.type}-layer:upload-failure`,"Could not find an external source that is supported by the service.",new Error);const i=await N(n,s,r);e.addExternalSources([{source:i,original:!0}]);return{source:await q(i,s,a)}}async function j(e,t,s){const r=D(e,t,s);return{source:await A([r],t,s),extent:e.extent.clone(),original:!0}}async function D(e,t,s){const a=B(t),o=await e.load(s),n=await o.toBinaryGLTF({ignoreLocalTransform:!0});r(s);const i=await n.buffer();return r(s),{blob:new Blob([i.data],{type:i.type}),assetName:`${u()}.glb`,assetType:a}}function U(e,t){for(const s of e){const e=x(s.source,t);if(e)return e}return null}function x(e,t){if(!e)return null;const{infoFor3D:{supportedFormats:s,editFormats:r}}=t,a=d(e),o=new Array;let n=!1;for(let i=0;i<a.length;++i){const e=v(a[i],s);if(!e)return null;r.includes(e.assetType)&&(n=!0),o.push(e)}return n?o:null}function v(e,t){const s=c(e,t);return s?{asset:e,assetType:s}:null}async function N(e,t,s){return A(e.map((e=>S(e,s))),t,s)}async function A(e,t,s){const a=await Promise.all(e.map((async e=>{const a=I(await e,t,s);return r(s),a})));r(s);const{uploadResults:o}=await R(a.map((({item:e})=>e)),t,s);return r(s),e.map(((e,s)=>L(a[s],o[s],t)))}async function S(e,t){const{asset:s,assetType:a}=e;if(s instanceof File)return{blob:s,assetName:s.name,assetType:a};const o=await s.toBlob(t);return r(t),{blob:o,assetName:s.assetName,assetType:a}}async function I(e,o,i){const{blob:u,assetType:l,assetName:c}=e;let p=null;try{const e=await m({data:u,name:c},o.url,i);r(i),p={assetType:l,assetUploadId:e.itemID}}catch(f){a(f),s.getLogger("esri.layers.graphics.sources.support.uploadAssets").warnOnce(`Service ${o.url} does not support the REST Uploads API.`)}if(!p){const e=await n(u);if(r(i),!e.isBase64)throw new t(`${o.type}-layer:uploadAssets-failure`,"Expected gltf data in base64 format after conversion.",new Error);p={assetType:l,assetData:e.data}}if(!p)throw new t(`${o.type}-layer:uploadAssets-failure`,"Unable to prepare uploadAsset request options.",new Error);return{item:p,assetName:c}}async function R(s,a,o){const n=await e(i(a.parsedUrl.path,"uploadAssets"),{timeout:0,query:{f:"json",assets:JSON.stringify(s)},method:"post",responseType:"json"});if(r(o),n.data.uploadResults.length!==s.length)throw new t(`${a.type}-layer:uploadAssets-failure`,`Bad response. Uploaded ${s.length} items and received ${n.data.uploadResults.length} results.`,new Error);return n.data}function L(e,s,r){const{success:a}=s;if(!a){const{error:a}=s;throw new t(`${r.type}-layer:upload-failure`,`Failed to upload mesh file ${e.assetName}. Error code: ${a.code}. Error message: ${a.messages}`,new Error)}const{assetHash:o}=s,{assetName:n,item:{assetType:i}}=e,{infoFor3D:{supportedFormats:u}}=r,l=y(i,u);if(!l)throw new t(`${r.type}-layer:upload-failure`,`The service allowed us to upload an asset of FormatID ${i}, but it does not list it in its supported formats.`,new Error);return new p(n,l,[new f(`${r.parsedUrl.path}/assets/${o}`,o)])}async function q(s,r,a){const o=s.map((({assetName:e,parts:t})=>({assetName:e,assetHash:t[0].partHash}))),n=r.capabilities?.operations.supportsAsyncConvert3D,u={query:{f:"json",assets:JSON.stringify(o),transportType:"esriTransportTypeUrl",targetFormat:a,async:n},responseType:"json",timeout:0},l=i(r.parsedUrl.path,"convert3D"),c=(n?await C(l,u):await e(l,u)).data,{infoFor3D:{supportedFormats:d}}=r;return c.assets.map((e=>{const s=w(e.contentType,d);if(!s)throw new t(`${r.type}-layer:upload-failure`,`The service allowed us to upload an asset of FormatID ${s}, but it does not list it in its supported formats.`,new Error);return new p(e.assetName,e.contentType,[new f(e.assetURL,e.assetHash)])}))}async function C(s,r){const a=(await e(s,r)).data.statusUrl;for(;;){const s=(await e(a,{query:{f:"json"},responseType:"json"})).data;switch(s.status){case"Completed":return e(s.resultUrl,{query:{f:"json"},responseType:"json"});case"CompletedWithErrors":throw new t("async-convert3D-failed","asynchronous convert3D call failed.");case"Failed ImportChanges":case"InProgress":case"Pending":case"ExportAttachments":case"ExportChanges":case"ExportingData":case"ExportingSnapshot":case"ImportAttachments":case"ProvisioningReplica":case"UnRegisteringReplica":break;default:throw new t("async-convert3D-failed","asynchronous convert3D call failed (undefined response status)")}await o(H)}}function P(e){return!!e.infoFor3D&&!!e.url}function B(e){const{infoFor3D:s}=e,r=w("model/gltf-binary",s.supportedFormats)??h("glb",s.supportedFormats);if(!r)throw new t(`${e.type}-layer:upload-failure`,"Layer does not support glb.",new Error);return r}const H=1e3;export{g as uploadAssets};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import i from"../../core/Error.js";import n from"../../core/Logger.js";import{parseWhereClause as o}from"../../core/sql.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import{encodeGeohash as a}from"../../geohash/geohashUtils.js";import p from"../../geometry/Polygon.js";import{initializeProjection as m,project as d}from"../../geometry/projection.js";import{WGS84 as l}from"../../geometry/support/spatialReferenceUtils.js";import h from"./SessionMemoryStorage.js";import{executeQueryStreaming as c}from"../../rest/knowledgeGraphService.js";import y from"../../rest/knowledgeGraph/GraphQueryStreaming.js";import u from"../../rest/support/Query.js";const f="ESRI__ID",g="ESRI__ORIGIN_ID",b="ESRI__DESTINATION_ID",T="ESRI__LAYOUT_GEOMETRY",w=12,D=n.getLogger("esri.rest.knowledgeGraph.knowledgeGraphLayer.KnowledgeGraphLayerDataManager");let I=class extends t{constructor(e){super(e),this.inclusionModeDefinition={generateAllSublayers:!0,namedTypeDefinitions:new Map},this.entityTypeNames=new Set,this.relationshipTypeNames=new Set,this.geographicLookup=new Map,this.sublayerCaches=new Map,this._processingCacheUpdatesLookup=new Map,this._memberIdTypeLookup=new Map;const t=new Map;e.knowledgeGraph.dataModel.entityTypes?.forEach((i=>{i.name&&(t.set(i.name,"entity"),this._processingCacheUpdatesLookup.set(i.name,[]),e.inclusionModeDefinition&&!e.inclusionModeDefinition?.generateAllSublayers||this.entityTypeNames.add(i.name),i.properties?.forEach((e=>{e.geometryType&&"esriGeometryNull"!==e.geometryType&&this.geographicLookup.set(i.name,{name:e.name??"",geometryType:e.geometryType})})))})),e.knowledgeGraph.dataModel.relationshipTypes?.forEach((i=>{i.name&&(t.set(i.name,"relationship"),this._processingCacheUpdatesLookup.set(i.name,[]),e.inclusionModeDefinition&&!e.inclusionModeDefinition?.generateAllSublayers||this.relationshipTypeNames.add(i.name),i.properties?.forEach((e=>{e.geometryType&&"esriGeometryNull"!==e.geometryType&&this.geographicLookup.set(i.name,{name:e.name??"",geometryType:e.geometryType})})))})),e.inclusionModeDefinition?.namedTypeDefinitions.forEach(((i,n)=>{if("entity"===t.get(n))this.entityTypeNames.add(n);else{if("relationship"!==t.get(n))return D.warn(`A named type, ${n}, was in the inclusion list that wasn't in the data model and will be removed`),void e.inclusionModeDefinition?.namedTypeDefinitions.delete(n);this.relationshipTypeNames.add(n)}const o=new Map;i.members?.forEach((e=>{this._memberIdTypeLookup.set(e.id,n);const t=this.getById(e.id);t&&o.set(e.id,t)})),this.sublayerCaches.set(n,o)}))}addToLayerInclusionSet(e){e.forEach((({typeName:e,id:t})=>{if(!this.inclusionModeDefinition)throw new i("knowledge-graph:layer-data-manager","You cannot add to a layer's exclusion list if it was not created with an exclusion list originally");if(this.inclusionModeDefinition.namedTypeDefinitions.has(e)){if(this.inclusionModeDefinition.namedTypeDefinitions.has(e)){const n=this.inclusionModeDefinition.namedTypeDefinitions.get(e);if(n.useAllData)throw new i("knowledge-graph:layer-data-manager","You cannot add members to an exclusion list for a sublayer where the sublayer is set to always retrieve its entire data set");n.members||(n.members=new Map),n.members.set(t,{id:t}),this._memberIdTypeLookup.set(t,e)}}else{const i=new Map;i.set(t,{id:t}),this.inclusionModeDefinition.namedTypeDefinitions.set(e,{useAllData:!1,members:i}),this._memberIdTypeLookup.set(t,e)}}))}getById(e){return h.getInstance().readFromStoreById(e)}async getData(e,t,i){if(t.objectType.name&&this.inclusionModeDefinition?.namedTypeDefinitions&&this.inclusionModeDefinition.namedTypeDefinitions.size>0&&!this.inclusionModeDefinition.namedTypeDefinitions.has(t.objectType.name))return[];let n;if(n=e||new u({where:"1=1",outFields:["*"]}),"link-chart"===t.parentCompositeLayer.type){const e=t.parentCompositeLayer,i=this._processingCacheUpdatesLookup.get(t.objectType.name??""),o=n.outFields,s=n.geometry;let r="",p="";s&&s.extent&&(r=a(s.extent.ymin,s.extent.xmin,w),p=a(s.extent.ymax,s.extent.xmax,w)),o&&1===o.length&&o[0]===f&&"1=1"===n.where||await Promise.all(i??[]);const m=this.sublayerCaches.has(t.objectType.name??"")?Array.from(this.sublayerCaches.get(t.objectType.name)?.values()):[],d=[];return m.forEach((i=>{if(i.geometry=e.linkChartDiagramLookup.get(i.attributes[t.objectIdField]),i.attributes[T]=i.geometry,r&&p){const n=e.linkChartGeohashLookup.get(i.attributes[t.objectIdField]);n?n>=r&&n<=p&&d.push(i):d.push(i)}else d.push(i)})),d}return this.retrieveDataFromService(n,t,i)}async getConnectedRecordIds(e){const t=[],i=[],n=new Map;return e.forEach((e=>{if(this._memberIdTypeLookup.has(e)){const t=this._memberIdTypeLookup.get(e);if(!this.entityTypeNames.has(t))return;n.has(t)?n.get(t)?.push(e):n.set(t,[e])}})),n.forEach(((e,n)=>{const o=`MATCH (n:${n})-[r]-(m) WHERE id(n) IN $ids RETURN id(r), type(r), id(m), labels(m)[0]`,s=new Promise((i=>{(async()=>{const i=(await c(this.knowledgeGraph,new y({openCypherQuery:o,bindParameters:{ids:e}}))).resultRowsStream.getReader();try{for(;;){const{done:e,value:n}=await i.read();if(e)break;for(let i=0;i<n.length;i++){const e=n[i];t.push({id:e[0],typeName:e[1]}),t.push({id:e[2],typeName:e[3]})}}}catch(n){if("AbortError"!==n.name)throw n;D.info("Request aborted as expected")}})().then((()=>{i()}))}));i.push(s)})),await Promise.all(i),t}async refreshCacheContent(e,t,n,o=!0){const s=h.getInstance(),r=[],a=new Map,p=new Map;this.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&p.set(e.name,e)})),this.knowledgeGraph.dataModel.relationshipTypes?.forEach((e=>{e.name&&p.set(e.name,e)})),e||this.inclusionModeDefinition?e?e.forEach((e=>{if(this._memberIdTypeLookup.has(e)){const t=this._memberIdTypeLookup.get(e);a.has(t)?a.get(t)?.push(e):a.set(t,[e])}})):this.inclusionModeDefinition?.namedTypeDefinitions?.forEach(((e,t)=>{e.useAllData?a.set(t,null):e.members&&e.members.forEach((e=>{a.has(t)&&null!==a.get(t)?a.get(t)?.push(e.id):a.set(t,[e.id])}))})):(this.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&a.set(e.name,null)})),this.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&a.set(e.name,null)})));for(const[m,d]of a){const e=new Promise((e=>{const r=async()=>{const e=new Set,r=[];let a,l="",h=!1;if(t||p.get(m)?.properties?.forEach((t=>{t.name&&e.add(t.name)})),n&&this.geographicLookup.has(m)){const t=this.geographicLookup.get(m)?.name;t&&e.add(t)}if(this.entityTypeNames.has(m))l=`MATCH (n:${m}) ${d?"WHERE id(n) IN $ids ":""}return ID(n)`,e.forEach((e=>{l+=`, n.${e}`,r.push(e)}));else{if(!this.relationshipTypeNames.has(m))throw new i("knowledge-graph:layer-data-manager",`The graph type of ${m} could not be determined. Was this type set in the KG data model and inclusion definition?`);h=!0,l=`MATCH ()-[n:${m}]->() ${d?"WHERE id(n) IN $ids ":""}return ID(n), id(startNode(n)), id(endNode(n))`,e.forEach((e=>{l+=`, n.${e}`,r.push(e)}))}a=new y(d?{openCypherQuery:l,bindParameters:{ids:d}}:{openCypherQuery:l});const u=(await c(this.knowledgeGraph,a)).resultRowsStream.getReader();for(;;){const{done:e,value:t}=await u.read();if(e)break;const i=[];for(let o=0;o<t.length;o++){const e=t[o];let n=0,s=0;const a={properties:{}};for(a.id=e[n],n++,s++,h&&(a.originId=e[n],n++,s++,a.destinationId=e[n],n++,s++);n<e.length;n++)a.properties[r[n-s]]=e[n];i.push(a)}const n=s.writeToStore(i,f,this.geographicLookup.get(m)?.name);this.sublayerCaches.has(m)||this.sublayerCaches.set(m,new Map),o&&!this.inclusionModeDefinition?.namedTypeDefinitions.has(m)&&this.inclusionModeDefinition?.namedTypeDefinitions.set(m,{useAllData:!1,members:new Map}),o&&!this.inclusionModeDefinition?.namedTypeDefinitions.get(m).members&&(this.inclusionModeDefinition.namedTypeDefinitions.get(m).members=new Map);const a=this.sublayerCaches.get(m);n.forEach((e=>{a?.set(e.attributes[f],e),o&&!this.inclusionModeDefinition?.namedTypeDefinitions.get(m).members.has(e.attributes[f])&&(this.inclusionModeDefinition?.namedTypeDefinitions.get(m).members.set(e.attributes[f],{id:e.attributes[f]}),this._memberIdTypeLookup.set(e.attributes[f],m))}))}};r().then((()=>{e(null)}))}));r.push(e),this._processingCacheUpdatesLookup.get(m)?.push(e)}await Promise.all(r)}removeFromLayer(e){const t=new Set;e.forEach((e=>{this._memberIdTypeLookup.get(e)&&t.add(this._memberIdTypeLookup.get(e)),this._memberIdTypeLookup.delete(e),this.inclusionModeDefinition?.namedTypeDefinitions.forEach((t=>{t.members?.has(e)&&t.members.delete(e)}))})),t.forEach((t=>{this.sublayerCaches.get(t)?.forEach(((i,n)=>{e.includes(n)&&this.sublayerCaches.get(t)?.delete(n)}))}))}async retrieveDataFromService(e,t,i){const n=h.getInstance(),s=new Set,r=[];let a,u="",g=[],b=t.parentCompositeLayer.sublayerIdsCache.has(t.objectType.name)?Array.from(t.parentCompositeLayer.sublayerIdsCache.get(t.objectType.name).values()).sort():null;const T="relationship"===t.graphType;if(!this.inclusionModeDefinition?.namedTypeDefinitions?.get(t.objectType.name)?.useAllData)if(null!=e.objectIds&&b&&b.length>0){const t=e.objectIds;e.objectIds=b.filter((e=>t.includes(e)))}else if(null!=e.objectIds)b=e.objectIds;else{if(this.inclusionModeDefinition?.namedTypeDefinitions.has(t.objectType.name)&&(!this.inclusionModeDefinition.namedTypeDefinitions.get(t.objectType.name)?.members||this.inclusionModeDefinition.namedTypeDefinitions.get(t.objectType.name)?.members?.size<1))return e.objectIds=[],[];e.objectIds=b}if(null!=e.outFields){const i=e.outFields;i.includes("*")?t.fields.forEach((e=>{s.add(e.name)})):i.forEach((e=>{e!==f&&e!==t.geometryFieldName&&s.add(e)}))}if(null!=e.geometry){const i=e.geometry;let n;if(i?.extent?.spatialReference&&!i.spatialReference?.isWGS84?(await m(i.extent.spatialReference,l),n=d(i.extent,l)):n=i.extent,null!=e.where&&"1=1"!==e.where){const i=await o(e.where.toUpperCase(),t.fieldsIndex);t.fields.forEach((e=>{i.fieldNames.includes(e.name)&&s.add(e.name)}))}u=T?`Match ()-[n:${t.objectType.name}]->() WHERE esri.graph.ST_Intersects($param_filter_geom, n.${t.geometryFieldName}) return ID(n), id(startNode(r)), id(endNode(r))`:`Match (n:${t.objectType.name}) WHERE esri.graph.ST_Intersects($param_filter_geom, n.${t.geometryFieldName}) return ID(n)`,t.geometryFieldName&&s.add(t.geometryFieldName),s.forEach((e=>{u+=`, n.${e}`,r.push(e)})),a=new y({openCypherQuery:u,bindParameters:{param_filter_geom:new p({rings:[[[n.xmin,n.ymin],[n.xmin,n.ymax],[n.xmax,n.ymax],[n.xmax,n.ymin],[n.xmin,n.ymin]]]})}})}else{let i="";if(null!=e.where&&"1=1"!==e.where){const n=await o(e.where,t.fieldsIndex);t.fields.forEach((e=>{n.fieldNames.includes(e.name)&&s.add(e.name)}));const r=["column-reference","string","number","binary-expression"],a=["=","<","<=","<>",">",">=","AND","OR","LIKE"];let p=!1;const m=e=>{if("column-reference"===e.type)return`n.${e.column}`;if("string"===e.type)return`'${e.value}'`;if("number"===e.type)return`${e.value}`;if("binary-expression"===e.type&&r.includes(e.left.type)&&r.includes(e.right.type)&&a.includes(e.operator))return`${m(e.left)} ${e.operator} ${m(e.right)}`;if("binary-expression"===e.type&&"LIKE"===e.operator){let t="";if("function"===e.left.type&&"column-reference"===e.left.args.value[0].type)t+=`lower(n.${e.left.args.value[0].column})`;else{if("column-reference"!==e.left.type)return p=!0,"";t+=`lower(n.${e.left.column})`}if(t+=" CONTAINS (","string"!==e.right.type)return p=!0,"";{let i=e.right.value;"%"===i.charAt(0)&&(i=i.slice(1)),"%"===i.charAt(i.length-1)&&(i=i.slice(0,-1)),t+=`'${i.toLowerCase()}')`}return t}return p=!0,""};i=m(n.parseTree),p&&(i="")}let n="";n=T?`Match ()-[n:${t.objectType.name}]->()`:`Match (n:${t.objectType.name})`;let p=!1;b&&(p=!0,n+=" WHERE ID(n) IN $ids"),i&&(n+=p?" AND":" WHERE",n+=` ${i}`),n+=" return ID(n)",T&&(n+=", id(startNode(n)), id(endNode(n))"),e.returnGeometry&&t.geometryFieldName&&s.add(t.geometryFieldName),s.forEach((e=>{n+=`, n.${e}`,r.push(e)})),a=new y(b?{openCypherQuery:n,bindParameters:{ids:b}}:{openCypherQuery:n})}const w=(await c(t.parentCompositeLayer.dataManager.knowledgeGraph,a,i)).resultRowsStream.getReader();for(;;){const{done:e,value:i}=await w.read();if(e)break;const o=[];for(let t=0;t<i.length;t++){const e=i[t];let n=0,s=0;const a={properties:{}};for(a.id=e[n],n++,s++,T&&(a.originId=e[n],n++,s++,a.destinationId=e[n],n++,s++);n<e.length;n++)a.properties[r[n-s]]=e[n];o.push(a)}g=g.concat(n.writeToStore(o,f,t.parentCompositeLayer.dataManager.geographicLookup.get(t.objectType.name)?.name))}return g}};e([s()],I.prototype,"knowledgeGraph",void 0),e([s()],I.prototype,"inclusionModeDefinition",void 0),e([s()],I.prototype,"entityTypeNames",void 0),e([s()],I.prototype,"relationshipTypeNames",void 0),e([s()],I.prototype,"geographicLookup",void 0),e([s()],I.prototype,"sublayerCaches",void 0),I=e([r("esri.rest.knowledgeGraph.knowledgeGraphLayer.KnowledgeGraphLayerDataManager")],I);export{w as GEOHASH_ENCODING_PRECISION,I as KnowledgeGraphLayerDataManager,b as MOCK_DESTINATION_ID_FIELD_NAME,T as MOCK_LAYOUT_GEOMETRY_FIELD_NAME,f as MOCK_OID_FIELD_NAME,g as MOCK_ORIGIN_ID_FIELD_NAME};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import t from"../../core/Accessor.js";import i from"../../core/Error.js";import n from"../../core/Logger.js";import{parseWhereClause as o}from"../../core/sql.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import{encodeGeohash as r}from"../../geohash/geohashUtils.js";import p from"../../geometry/Polygon.js";import{initializeProjection as m,project as d}from"../../geometry/projection.js";import{WGS84 as l}from"../../geometry/support/spatialReferenceUtils.js";import h from"./SessionMemoryStorage.js";import{executeQueryStreaming as c}from"../../rest/knowledgeGraphService.js";import y from"../../rest/knowledgeGraph/GraphQueryStreaming.js";import u from"../../rest/support/Query.js";import f from"../../geometry/Extent.js";const g="ESRI__ID",b="ESRI__ORIGIN_ID",w="ESRI__DESTINATION_ID",T="ESRI__LAYOUT_GEOMETRY",D=12,M=n.getLogger("esri.rest.knowledgeGraph.knowledgeGraphLayer.KnowledgeGraphLayerDataManager");let I=class extends t{constructor(e){super(e),this.inclusionModeDefinition={generateAllSublayers:!0,namedTypeDefinitions:new Map},this.entityTypeNames=new Set,this.relationshipTypeNames=new Set,this.geographicLookup=new Map,this.sublayerCaches=new Map,this._processingCacheUpdatesLookup=new Map,this._memberIdTypeLookup=new Map;const t=new Map;e.knowledgeGraph.dataModel.entityTypes?.forEach((i=>{i.name&&(t.set(i.name,"entity"),this._processingCacheUpdatesLookup.set(i.name,[]),e.inclusionModeDefinition&&!e.inclusionModeDefinition?.generateAllSublayers||this.entityTypeNames.add(i.name),i.properties?.forEach((e=>{e.geometryType&&"esriGeometryNull"!==e.geometryType&&this.geographicLookup.set(i.name,{name:e.name??"",geometryType:e.geometryType})})))})),e.knowledgeGraph.dataModel.relationshipTypes?.forEach((i=>{i.name&&(t.set(i.name,"relationship"),this._processingCacheUpdatesLookup.set(i.name,[]),e.inclusionModeDefinition&&!e.inclusionModeDefinition?.generateAllSublayers||this.relationshipTypeNames.add(i.name),i.properties?.forEach((e=>{e.geometryType&&"esriGeometryNull"!==e.geometryType&&this.geographicLookup.set(i.name,{name:e.name??"",geometryType:e.geometryType})})))})),e.inclusionModeDefinition?.namedTypeDefinitions.forEach(((i,n)=>{if("entity"===t.get(n))this.entityTypeNames.add(n);else{if("relationship"!==t.get(n))return M.warn(`A named type, ${n}, was in the inclusion list that wasn't in the data model and will be removed`),void e.inclusionModeDefinition?.namedTypeDefinitions.delete(n);this.relationshipTypeNames.add(n)}const o=new Map;i.members?.forEach((e=>{this._memberIdTypeLookup.set(e.id,n);const t=this.getById(e.id);t&&o.set(e.id,t)})),this.sublayerCaches.set(n,o)}))}addToLayerInclusionSet(e){e.forEach((({typeName:e,id:t})=>{if(!this.inclusionModeDefinition)throw new i("knowledge-graph:layer-data-manager","You cannot add to a layer's exclusion list if it was not created with an exclusion list originally");if(this.inclusionModeDefinition.namedTypeDefinitions.has(e)){if(this.inclusionModeDefinition.namedTypeDefinitions.has(e)){const n=this.inclusionModeDefinition.namedTypeDefinitions.get(e);if(n.useAllData)throw new i("knowledge-graph:layer-data-manager","You cannot add members to an exclusion list for a sublayer where the sublayer is set to always retrieve its entire data set");n.members||(n.members=new Map),n.members.set(t,{id:t}),this._memberIdTypeLookup.set(t,e)}}else{const i=new Map;i.set(t,{id:t}),this.inclusionModeDefinition.namedTypeDefinitions.set(e,{useAllData:!1,members:i}),this._memberIdTypeLookup.set(t,e)}}))}getById(e){return h.getInstance().readFromStoreById(e)}async getData(e,t,i){if(t.objectType.name&&this.inclusionModeDefinition?.namedTypeDefinitions&&this.inclusionModeDefinition.namedTypeDefinitions.size>0&&!this.inclusionModeDefinition.namedTypeDefinitions.has(t.objectType.name))return[];let n;if(n=e||new u({where:"1=1",outFields:["*"]}),"link-chart"===t.parentCompositeLayer.type){const e=t.parentCompositeLayer,i=this._processingCacheUpdatesLookup.get(t.objectType.name??""),o=n.outFields,s=n.geometry;let a="",p="";s&&s.extent&&(a=r(s.extent.ymin,s.extent.xmin,D),p=r(s.extent.ymax,s.extent.xmax,D)),o&&1===o.length&&o[0]===g&&"1=1"===n.where||await Promise.all(i??[]);const m=this.sublayerCaches.has(t.objectType.name??"")?Array.from(this.sublayerCaches.get(t.objectType.name)?.values()):[],d=[];return m.forEach((i=>{if(i.geometry=e.linkChartDiagramLookup.get(i.attributes[t.objectIdField]),i.attributes[T]=i.geometry,a&&p){const n=e.linkChartGeohashLookup.get(i.attributes[t.objectIdField]);n?n>=a&&n<=p&&d.push(i):d.push(i)}else d.push(i)})),d}return this.retrieveDataFromService(n,t,i)}async getConnectedRecordIds(e){const t=[],i=[],n=new Map;return e.forEach((e=>{if(this._memberIdTypeLookup.has(e)){const t=this._memberIdTypeLookup.get(e);if(!this.entityTypeNames.has(t))return;n.has(t)?n.get(t)?.push(e):n.set(t,[e])}})),n.forEach(((e,n)=>{const o=`MATCH (n:${n})-[r]-(m) WHERE id(n) IN $ids RETURN id(r), type(r), id(m), labels(m)[0]`,s=new Promise((i=>{(async()=>{const i=(await c(this.knowledgeGraph,new y({openCypherQuery:o,bindParameters:{ids:e}}))).resultRowsStream.getReader();try{for(;;){const{done:e,value:n}=await i.read();if(e)break;for(let i=0;i<n.length;i++){const e=n[i];t.push({id:e[0],typeName:e[1]}),t.push({id:e[2],typeName:e[3]})}}}catch(n){if("AbortError"!==n.name)throw n;M.info("Request aborted as expected")}})().then((()=>{i()}))}));i.push(s)})),await Promise.all(i),t}async refreshCacheContent(e,t,n,o=!0){const s=h.getInstance(),a=[],r=new Map,p=new Map;this.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&p.set(e.name,e)})),this.knowledgeGraph.dataModel.relationshipTypes?.forEach((e=>{e.name&&p.set(e.name,e)})),e||this.inclusionModeDefinition?e?e.forEach((e=>{if(this._memberIdTypeLookup.has(e)){const t=this._memberIdTypeLookup.get(e);r.has(t)?r.get(t)?.push(e):r.set(t,[e])}})):this.inclusionModeDefinition?.namedTypeDefinitions?.forEach(((e,t)=>{e.useAllData?r.set(t,null):e.members&&e.members.forEach((e=>{r.has(t)&&null!==r.get(t)?r.get(t)?.push(e.id):r.set(t,[e.id])}))})):(this.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&r.set(e.name,null)})),this.knowledgeGraph.dataModel.entityTypes?.forEach((e=>{e.name&&r.set(e.name,null)})));for(const[m,d]of r){const e=new Promise((e=>{const a=async()=>{const e=new Set,a=[];let r,l="",h=!1;if(t||p.get(m)?.properties?.forEach((t=>{t.name&&e.add(t.name)})),n&&this.geographicLookup.has(m)){const t=this.geographicLookup.get(m)?.name;t&&e.add(t)}if(this.entityTypeNames.has(m))l=`MATCH (n:${m}) ${d?"WHERE id(n) IN $ids ":""}return ID(n)`,e.forEach((e=>{l+=`, n.${e}`,a.push(e)}));else{if(!this.relationshipTypeNames.has(m))throw new i("knowledge-graph:layer-data-manager",`The graph type of ${m} could not be determined. Was this type set in the KG data model and inclusion definition?`);h=!0,l=`MATCH ()-[n:${m}]->() ${d?"WHERE id(n) IN $ids ":""}return ID(n), id(startNode(n)), id(endNode(n))`,e.forEach((e=>{l+=`, n.${e}`,a.push(e)}))}r=new y(d?{openCypherQuery:l,bindParameters:{ids:d}}:{openCypherQuery:l});const u=(await c(this.knowledgeGraph,r)).resultRowsStream.getReader();for(;;){const{done:e,value:t}=await u.read();if(e)break;const i=[];for(let o=0;o<t.length;o++){const e=t[o];let n=0,s=0;const r={properties:{}};for(r.id=e[n],n++,s++,h&&(r.originId=e[n],n++,s++,r.destinationId=e[n],n++,s++);n<e.length;n++)r.properties[a[n-s]]=e[n];i.push(r)}const n=s.writeToStore(i,g,this.geographicLookup.get(m)?.name);this.sublayerCaches.has(m)||this.sublayerCaches.set(m,new Map),o&&!this.inclusionModeDefinition?.namedTypeDefinitions.has(m)&&this.inclusionModeDefinition?.namedTypeDefinitions.set(m,{useAllData:!1,members:new Map}),o&&!this.inclusionModeDefinition?.namedTypeDefinitions.get(m).members&&(this.inclusionModeDefinition.namedTypeDefinitions.get(m).members=new Map);const r=this.sublayerCaches.get(m);n.forEach((e=>{r?.set(e.attributes[g],e),o&&!this.inclusionModeDefinition?.namedTypeDefinitions.get(m).members.has(e.attributes[g])&&(this.inclusionModeDefinition?.namedTypeDefinitions.get(m).members.set(e.attributes[g],{id:e.attributes[g]}),this._memberIdTypeLookup.set(e.attributes[g],m))}))}};a().then((()=>{e(null)}))}));a.push(e),this._processingCacheUpdatesLookup.get(m)?.push(e)}await Promise.all(a)}removeFromLayer(e){const t=new Set;e.forEach((e=>{this._memberIdTypeLookup.get(e)&&t.add(this._memberIdTypeLookup.get(e)),this._memberIdTypeLookup.delete(e),this.inclusionModeDefinition?.namedTypeDefinitions.forEach((t=>{t.members?.has(e)&&t.members.delete(e)}))})),t.forEach((t=>{this.sublayerCaches.get(t)?.forEach(((i,n)=>{e.includes(n)&&this.sublayerCaches.get(t)?.delete(n)}))}))}async retrieveDataFromService(e,t,n){const s=h.getInstance(),a=new Set,r=[];let u,b="",w=[];const T="relationship"===t.graphType,D=this.inclusionModeDefinition?.namedTypeDefinitions?.get(t.objectType.name)?.useAllData,M=t.parentCompositeLayer.sublayerIdsCache.get(t.objectType.name);let I=!D&&M?Array.from(M).sort():null;if(this.inclusionModeDefinition?.namedTypeDefinitions?.get(t.objectType.name)?.useAllData)this.inclusionModeDefinition?.namedTypeDefinitions?.get(t.objectType.name)?.useAllData&&null!=e.objectIds&&(I=e.objectIds);else if(null!=e.objectIds&&I&&I.length>0){const t=e.objectIds;e.objectIds=I.filter((e=>t.includes(e)))}else if(null!=e.objectIds)I=e.objectIds;else{if(this.inclusionModeDefinition?.namedTypeDefinitions.has(t.objectType.name)&&(!this.inclusionModeDefinition.namedTypeDefinitions.get(t.objectType.name)?.members||this.inclusionModeDefinition.namedTypeDefinitions.get(t.objectType.name)?.members?.size<1))return e.objectIds=[],[];e.objectIds=I}if(null!=e.outFields){const i=e.outFields;i.includes("*")?t.fields.forEach((e=>{a.add(e.name)})):i.forEach((e=>{e!==g&&e!==t.geometryFieldName&&a.add(e)}))}if(null!=e.geometry){const n=e.geometry;let s;const h=t.parentCompositeLayer.dataManager.knowledgeGraph.serviceDefinition,c=h?.spatialReference,g=h?.serviceCapabilities?.geometryCapabilities;let w=g?.geometryMaxBoundingRectangleSizeX,D=g?.geometryMaxBoundingRectangleSizeY;if(n?.extent?.spatialReference&&!n.spatialReference?.isWGS84?(await m(n.extent.spatialReference,l),s=d(n.extent,l)):s=n.extent,w&&D&&c){if(4326!==c.wkid){const e=new f({spatialReference:c,xmax:w,ymax:D}),t=d(e,l);w=t.xmax,D=t.ymax}if(s.xmax-s.xmin>w)throw new i("knowledge-graph:layer-data-manager",`Extent x bounds should be within ${w}° latitude, limit exceeded`);if(s.ymax-s.ymin>D)throw new i("knowledge-graph:layer-data-manager",`Extent y bounds should be within ${D}° longitude, limit exceeded`)}if(null!=e.where&&"1=1"!==e.where){const i=await o(e.where.toUpperCase(),t.fieldsIndex);t.fields.forEach((e=>{i.fieldNames.includes(e.name)&&a.add(e.name)}))}b=T?`Match ()-[n:${t.objectType.name}]->() WHERE esri.graph.ST_Intersects($param_filter_geom, n.${t.geometryFieldName}) return ID(n), id(startNode(r)), id(endNode(r))`:`Match (n:${t.objectType.name}) WHERE esri.graph.ST_Intersects($param_filter_geom, n.${t.geometryFieldName}) return ID(n)`,t.geometryFieldName&&a.add(t.geometryFieldName),a.forEach((e=>{b+=`, n.${e}`,r.push(e)})),u=new y({openCypherQuery:b,bindParameters:{param_filter_geom:new p({rings:[[[s.xmin,s.ymin],[s.xmin,s.ymax],[s.xmax,s.ymax],[s.xmax,s.ymin],[s.xmin,s.ymin]]]})}})}else{let i="";if(null!=e.where&&"1=1"!==e.where){const n=await o(e.where,t.fieldsIndex);t.fields.forEach((e=>{n.fieldNames.includes(e.name)&&a.add(e.name)}));const s=["column-reference","string","number","binary-expression"],r=["=","<","<=","<>",">",">=","AND","OR","LIKE"];let p=!1;const m=e=>{if("column-reference"===e.type)return`n.${e.column}`;if("string"===e.type)return`'${e.value}'`;if("number"===e.type)return`${e.value}`;if("binary-expression"===e.type&&s.includes(e.left.type)&&s.includes(e.right.type)&&r.includes(e.operator))return`${m(e.left)} ${e.operator} ${m(e.right)}`;if("binary-expression"===e.type&&"LIKE"===e.operator){let t="";if("function"===e.left.type&&"column-reference"===e.left.args.value[0].type)t+=`lower(n.${e.left.args.value[0].column})`;else{if("column-reference"!==e.left.type)return p=!0,"";t+=`lower(n.${e.left.column})`}if(t+=" CONTAINS (","string"!==e.right.type)return p=!0,"";{let i=e.right.value;"%"===i.charAt(0)&&(i=i.slice(1)),"%"===i.charAt(i.length-1)&&(i=i.slice(0,-1)),t+=`'${i.toLowerCase()}')`}return t}return p=!0,""};i=m(n.parseTree),p&&(i="")}let n="";n=T?`Match ()-[n:${t.objectType.name}]->()`:`Match (n:${t.objectType.name})`;let s=!1;I&&(s=!0,n+=" WHERE ID(n) IN $ids"),i&&(n+=s?" AND":" WHERE",n+=` ${i}`),n+=" return ID(n)",T&&(n+=", id(startNode(n)), id(endNode(n))"),e.returnGeometry&&t.geometryFieldName&&a.add(t.geometryFieldName),a.forEach((e=>{n+=`, n.${e}`,r.push(e)})),u=new y(I?{openCypherQuery:n,bindParameters:{ids:I}}:{openCypherQuery:n})}const E=(await c(t.parentCompositeLayer.dataManager.knowledgeGraph,u,n)).resultRowsStream.getReader();for(;;){const{done:e,value:i}=await E.read();if(e)break;const n=[];for(let t=0;t<i.length;t++){const e=i[t];let o=0,s=0;const a={properties:{}};for(a.id=e[o],o++,s++,T&&(a.originId=e[o],o++,s++,a.destinationId=e[o],o++,s++);o<e.length;o++)a.properties[r[o-s]]=e[o];n.push(a)}w=w.concat(s.writeToStore(n,g,t.parentCompositeLayer.dataManager.geographicLookup.get(t.objectType.name)?.name))}return w}};e([s()],I.prototype,"knowledgeGraph",void 0),e([s()],I.prototype,"inclusionModeDefinition",void 0),e([s()],I.prototype,"entityTypeNames",void 0),e([s()],I.prototype,"relationshipTypeNames",void 0),e([s()],I.prototype,"geographicLookup",void 0),e([s()],I.prototype,"sublayerCaches",void 0),I=e([a("esri.rest.knowledgeGraph.knowledgeGraphLayer.KnowledgeGraphLayerDataManager")],I);export{D as GEOHASH_ENCODING_PRECISION,I as KnowledgeGraphLayerDataManager,w as MOCK_DESTINATION_ID_FIELD_NAME,T as MOCK_LAYOUT_GEOMETRY_FIELD_NAME,g as MOCK_OID_FIELD_NAME,b as MOCK_ORIGIN_ID_FIELD_NAME};
|