@esri/solutions-components 5.1.0-next.142 → 5.1.0-next.144
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/{D4MZYBH7.js → 4JGB6WLL.js} +1 -1
- package/dist/cdn/{7NAC32PQ.js → 4MAZNAHZ.js} +1 -1
- package/dist/cdn/{Z6UCVV4K.js → 4RLG6MXK.js} +1 -1
- package/dist/cdn/56A5UMZG.js +9 -0
- package/dist/cdn/{WCOEPRRK.js → 56XVVIG7.js} +1 -1
- package/dist/cdn/{W5FWW67G.js → 5LIR6BQY.js} +1 -1
- package/dist/cdn/{UVOAWVML.js → 5MPYPIR2.js} +1 -1
- package/dist/cdn/{LLPT3R4B.js → 5YXQ4UXZ.js} +27 -27
- package/dist/cdn/{UFPB7JD3.js → 65L2LQGD.js} +1 -1
- package/dist/cdn/{HO4GBQJG.js → 6Z3DXRF6.js} +1 -1
- package/dist/cdn/{HT2HC33W.js → 7FJTZ7VA.js} +1 -1
- package/dist/cdn/{GPL6FNKN.js → 7GXMCAWQ.js} +1 -1
- package/dist/cdn/{E5EU4SVV.js → 7WD3GNG4.js} +1 -1
- package/dist/cdn/{3UJAJDSF.js → AGB374BK.js} +1 -1
- package/dist/cdn/{2KSXH2TC.js → AHB7W7RI.js} +1 -1
- package/dist/cdn/{6ID6N5BF.js → BGLTC5SO.js} +1 -1
- package/dist/cdn/{SSH4MSHE.js → BVSSQNES.js} +1 -1
- package/dist/cdn/{CEWRVOKP.js → C4OXBZJK.js} +1 -1
- package/dist/cdn/CGCNGFBL.js +2 -0
- package/dist/cdn/{SXVCHOTK.js → DFZZNKPK.js} +3 -6
- package/dist/cdn/{B33EUN4X.js → DKEYOEI7.js} +1 -1
- package/dist/cdn/{5UIJ4Z3C.js → DNPN62O5.js} +1 -1
- package/dist/cdn/{KEOBSFBN.js → EPOIEXNS.js} +1 -1
- package/dist/cdn/{FV4F6RW3.js → FE2GEHNL.js} +1 -1
- package/dist/cdn/{JMCZPJDW.js → FVOCVCEE.js} +1 -1
- package/dist/cdn/H2UL463J.js +2 -0
- package/dist/cdn/{FMTXVLZB.js → I22C4HE4.js} +1 -1
- package/dist/cdn/{SRT2KXZG.js → IEOFEUZI.js} +1 -1
- package/dist/cdn/{P2TNN5UL.js → J3HJC4SO.js} +1 -1
- package/dist/cdn/K4TDKKPB.js +18 -0
- package/dist/cdn/{23LRX7AS.js → KSQHSNTW.js} +1 -1
- package/dist/cdn/{CB7QDBRG.js → KUGXNF5Y.js} +1 -1
- package/dist/cdn/{52QHFDTC.js → LEK4P4OY.js} +1 -1
- package/dist/cdn/LKZFKOG4.js +2 -0
- package/dist/cdn/{RYEEEMFO.js → LYAXTCCM.js} +1 -1
- package/dist/cdn/LYK2CASU.js +2 -0
- package/dist/cdn/{TFTW5B3R.js → MC5ARLKZ.js} +1 -1
- package/dist/cdn/{DNZ5U52C.js → MT5J66WR.js} +1 -1
- package/dist/cdn/{IFI66PVI.js → MVF7I3RU.js} +1 -1
- package/dist/cdn/{F3NG6RFP.js → NIHPHDXG.js} +31 -18
- package/dist/cdn/{ZIX74MNU.js → PPRV6EZZ.js} +1 -1
- package/dist/cdn/{PZW6JMSM.js → PUCDO65D.js} +1 -1
- package/dist/cdn/Q5TICZRX.js +15 -0
- package/dist/cdn/{GSD6O5J7.js → QHDEVLC3.js} +1 -1
- package/dist/cdn/{HNWINTTY.js → QQEYWBVV.js} +1 -1
- package/dist/cdn/{CUJ3M6UT.js → RRD4QUQS.js} +1 -1
- package/dist/cdn/{GWWU6HWB.js → RSCBZIAN.js} +17 -19
- package/dist/cdn/{UY5JVVRO.js → S5AQVTR2.js} +1 -1
- package/dist/cdn/{H7J2FXMS.js → SGQBWAPU.js} +1 -1
- package/dist/cdn/{MEDCFXMB.js → SOLCNPHW.js} +1 -1
- package/dist/cdn/{BQE2XAKC.js → SSIUWTQX.js} +1 -1
- package/dist/cdn/{34JROLRM.js → SYZEWVHU.js} +1 -1
- package/dist/cdn/{KGSB4I6Y.js → TWJSFINX.js} +1 -1
- package/dist/cdn/{VEDAG7UO.js → TX3LBQ6V.js} +1 -1
- package/dist/cdn/{TIRNZIMX.js → U4RHWD57.js} +1 -1
- package/dist/cdn/{UM3P3Q52.js → U6JZYJ4D.js} +1 -1
- package/dist/cdn/{PQNFWMST.js → ULFPP7PF.js} +1 -1
- package/dist/cdn/{N5D5ABJ6.js → UOGZGAJD.js} +1 -1
- package/dist/cdn/{NWCKV677.js → VBJSVR6T.js} +1 -1
- package/dist/cdn/WGS5W6W5.js +2 -0
- package/dist/cdn/{RPEQD2MH.js → WLM4HMMF.js} +1 -1
- package/dist/cdn/{MOH6GREK.js → X6JL6SAH.js} +1 -1
- package/dist/cdn/{DGNAMFJN.js → XBFG3KX6.js} +6 -2
- package/dist/cdn/{TIF36KTA.js → XXGM7HGO.js} +1 -1
- package/dist/cdn/{BLCW2CZO.js → Y77RX7KL.js} +1 -1
- package/dist/cdn/{ATHNXWV4.js → YLC2EM5A.js} +115 -115
- package/dist/cdn/{ICSHJV2N.js → ZCSF2MJ5.js} +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.json +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/Auth.js +1 -1
- package/dist/chunks/CardsFetcher.js +2 -2
- package/dist/chunks/assistantResponse.js +17 -19
- package/dist/chunks/cardsHelpers.js +12 -12
- package/dist/chunks/classifyIntent.js +31 -18
- package/dist/chunks/description.js +7 -3
- package/dist/chunks/designSolution.js +1 -1
- package/dist/chunks/downloadUtils.js +5 -5
- package/dist/chunks/getRelatedInfos.js +1 -1
- package/dist/chunks/helpers.js +75 -55
- package/dist/chunks/initialAssessment.js +3 -6
- package/dist/chunks/interfaces.js +45 -41
- package/dist/chunks/mapViewUtils.js +9 -9
- package/dist/chunks/popupUtils.js +1 -1
- package/dist/chunks/queryUtils.js +3 -3
- package/dist/chunks/responseOptionsBuilderExclusion.js +12 -0
- package/dist/chunks/responseOptionsDefault.js +18 -0
- package/dist/chunks/solution-builder-assistant.js +15 -15
- package/dist/chunks/solution-deploy-dialog.js +157 -153
- package/dist/chunks/solutions-deploy-app-nav.js +3 -4
- package/dist/chunks/templates.js +6 -6
- package/dist/chunks/updateDesign.js +1 -1
- package/dist/chunks/validators.js +6 -6
- package/dist/components/arcgis-solutions-assistant/customElement.d.ts +8 -0
- package/dist/components/arcgis-solutions-assistant/customElement.js +414 -359
- package/dist/components/arcgis-solutions-assistant/index.js +1 -0
- package/dist/components/card-manager/customElement.js +6 -6
- package/dist/components/create-feature/customElement.js +1 -1
- package/dist/components/crowdsource-manager/customElement.js +1 -1
- package/dist/components/crowdsource-reporter/customElement.js +2 -2
- package/dist/components/edit-card/customElement.js +1 -1
- package/dist/components/feature-details/customElement.js +1 -1
- package/dist/components/feature-list/customElement.js +1 -1
- package/dist/components/layer-list/customElement.js +1 -1
- package/dist/components/layer-table/customElement.js +2 -2
- package/dist/components/map-card/customElement.js +2 -2
- package/dist/components/map-layer-picker/customElement.js +1 -1
- package/dist/components/map-select-tools/customElement.js +2 -2
- package/dist/components/pdf-download/customElement.js +1 -1
- package/dist/components/public-notification/customElement.js +2 -2
- package/dist/components/refine-selection/customElement.js +2 -2
- package/dist/components/selection-tool/customElement.js +1 -1
- package/dist/components/solution-builder-assistant/customElement.d.ts +6 -2
- package/dist/components/solution-configure-titles/customElement.js +6 -6
- package/dist/components/solution-delete-dialog/customElement.js +2 -2
- package/dist/components/solution-deployed-card/customElement.js +2 -2
- package/dist/components/solution-deployed-card-panel/customElement.js +3 -3
- package/dist/components/solution-details-card/customElement.js +2 -2
- package/dist/components/solution-details-panel/customElement.js +2 -2
- package/dist/components/solution-resource-card/customElement.js +1 -1
- package/dist/components/solution-snapshot-gallery/customElement.js +2 -2
- package/dist/components/solution-social-share/customElement.js +1 -1
- package/dist/components/solution-user-avatar/customElement.js +1 -1
- package/dist/components/solutions-all-panel/customElement.js +1 -1
- package/dist/components/solutions-deploy-app/customElement.js +160 -32
- package/dist/components/solutions-deploy-app/index.js +1 -1
- package/dist/components/solutions-deployed-list/customElement.js +1 -1
- package/dist/components/solutions-deployed-panel/customElement.js +1 -1
- package/dist/components/solutions-deployed-shell/customElement.js +1 -1
- package/dist/components/solutions-filter-panel/customElement.js +1 -1
- package/dist/components/solutions-searchsort-toolbar/customElement.js +1 -1
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/solutions-components_commit.txt +7 -7
- package/dist/utils/interfaces.d.ts +1 -6
- package/package.json +1 -1
- package/dist/cdn/4WJ2UJWQ.js +0 -2
- package/dist/cdn/EXC566PM.js +0 -2
- package/dist/cdn/PUQBEN7F.js +0 -18
- package/dist/cdn/SFFLZSAY.js +0 -2
- package/dist/cdn/XC3IZAIH.js +0 -2
- package/dist/cdn/YM3CRTWP.js +0 -2
|
@@ -6,34 +6,27 @@ You must follow all rules below at all times. If a request conflicts with these
|
|
|
6
6
|
\r
|
|
7
7
|
# Your Task\r
|
|
8
8
|
- Analyze the User Query and chat history\r
|
|
9
|
-
-
|
|
10
|
-
|
|
11
|
-
- Do NOT reference routing, limitations, or rationale.\r
|
|
12
|
-
- Offer a simple, friendly invitation to continue if needed.\r
|
|
9
|
+
- Provide a response using the guidance below\r
|
|
10
|
+
- You are NOT here to solve, interpret, summarize, define, or partially address the original request, even if the information is commonly known or available from general knowledge.\r
|
|
13
11
|
\r
|
|
14
|
-
|
|
15
|
-
- Respond briefly and at a high level\r
|
|
16
|
-
- Do NOT reference routing, limitations, or rationale.\r
|
|
17
|
-
- Describe capabilities using the Supported Capabilities section\r
|
|
18
|
-
\r
|
|
19
|
-
- For all other requests:\r
|
|
20
|
-
- Use the provided Routing Rationale to briefly acknowledge the user\u2019s request and explain why you cannot help with it, without referencing scope, internals, or implementation details.\r
|
|
21
|
-
- State what you CAN help with using ONLY the predefined capability statements below. Do NOT customize, contextualize, or adapt them to the user\u2019s request.\r
|
|
22
|
-
- Treat general knowledge, definitional, or explanatory questions as unsupported, even if the answer is commonly known.\r
|
|
23
|
-
\r
|
|
24
|
-
You are NOT here to solve, interpret, summarize, define, or partially address the original request, even if the information is commonly known or available from general knowledge.\r
|
|
25
|
-
\r
|
|
26
|
-
# Routing Rational\r
|
|
12
|
+
# Routing Rationale\r
|
|
27
13
|
{rationale}\r
|
|
28
14
|
\r
|
|
15
|
+
# Language\r
|
|
16
|
+
- Detect the primary language of the User Query\r
|
|
17
|
+
- Set response_language = detected language\r
|
|
18
|
+
- ALL parts of the response MUST be in response_language\r
|
|
19
|
+
\r
|
|
29
20
|
# Supported Capabilities\r
|
|
30
21
|
When describing what you can help with, use ONLY these options.\r
|
|
31
22
|
\r
|
|
32
23
|
- Explore existing solutions and understand what they do.\r
|
|
33
24
|
- Answer questions using ArcGIS Solutions documentation.\r
|
|
34
|
-
- Help build a solution for a specific workflow.\r
|
|
25
|
+
- Help build a solution for a specific workflow or use case.\r
|
|
35
26
|
\r
|
|
36
27
|
# Response Rules\r
|
|
28
|
+
{responseOptions}\r
|
|
29
|
+
- Do NOT include any additional capabilities, questions, explanations, or suggestions\r
|
|
37
30
|
- Do NOT attempt to answer, solve, or partially address the original request\r
|
|
38
31
|
- Do NOT reinterpret, generalize, or reframe the original request into a different problem\r
|
|
39
32
|
- Do NOT imply that supported capabilities can indirectly solve the original request\r
|
|
@@ -42,7 +35,12 @@ When describing what you can help with, use ONLY these options.\r
|
|
|
42
35
|
- Do NOT ask follow-up questions about the original request\r
|
|
43
36
|
- Do NOT provide definitions, descriptions, examples, background information, or factual statements about the subject of the user\u2019s request.\r
|
|
44
37
|
- Do NOT use text formatting such as bold, italics, or underlining\r
|
|
38
|
+
- Do NOT include the words "Routing Rationale" in the response\r
|
|
39
|
+
- The entire response MUST be in the detected language, including all templates and fixed text\r
|
|
45
40
|
- Keep the response concise (2\u20133 sentences is ideal)\r
|
|
46
41
|
- Use plain, professional, user-focused language\r
|
|
47
42
|
- If you are describing something a user explores, builds, designs, updates, or deploys, you MUST use the generic terms \u201Csolution\u201D or \u201Csolutions\u201D \u2014 NOT \u201CArcGIS Solutions" or "ArcGIS solution".\r
|
|
48
|
-
- When asked who you are, refer to yourself as the ArcGIS Solutions assistant
|
|
43
|
+
- When asked who you are, refer to yourself as the ArcGIS Solutions assistant.\r
|
|
44
|
+
\r
|
|
45
|
+
# User Query\r
|
|
46
|
+
{query}`;export{e as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import b from"./
|
|
2
|
+
import b from"./H2UL463J.js";import a from"./LKZFKOG4.js";import{b as u}from"./2B4SGB3I.js";import{b as r}from"./I2NTSKBD.js";import{d as c}from"./3UKDJZ2D.js";import"./MGEDATQ7.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import"./TEHBW75B.js";import"./IHG7KTNC.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./YKB6256M.js";import"./N22MFQSQ.js";import"./N7BXCDA3.js";import"./ZX3UHK6P.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LP2JYX4X.js";import"./GF4QELNV.js";import"./AYSQIO6L.js";import"./YQHYMLC7.js";import"./DKD2EGQP.js";import"./5O53T3SW.js";import"./AJZDBHB6.js";import"./FES7B3SJ.js";import{b as l}from"./2I5LGZNX.js";import{G as o,h as s,i as n}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([,{g:m}])=>{var h=s`*[tabindex]:focus-visible{outline:2px solid var(--calcite-color-brand);outline-offset:2px}.avatar-container{align-items:center;display:flex;flex-direction:row;padding-top:var(--calcite-spacing-lg)}.full-name{margin-inline-start:0px;font-size:var(--calcite-font-size--1);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-navigation-user-full-name-text-color, var(--calcite-color-text-1))}.text-container{margin-block-start:.125rem;display:flex;flex-direction:column;padding-inline:1rem;text-align:start}.username{font-size:var(--calcite-font-size--1);color:var(--calcite-navigation-user-name-text-color, var(--calcite-color-text-2))}`,a=class extends o{constructor(){super(),this.lookupProfile=!1,this.username="",this._configContextConsumer=r({context:u,subscribe:!0}),this.listenOn(window,"sessionRefreshed",t=>{this._updateThumbnailToken(t.detail)})}static{this.properties={fullname:1,lookupProfile:5,thumbnailUrl:1,username:1}}static{this.styles=h}loaded(){this.lookupProfile&&this._lookupOwnerProfile(this.username)}willUpdate(t){t.has("username")&&this.lookupProfile&&this._lookupOwnerProfile(this.username)}render(){return n`<div class="avatar-container"><calcite-avatar scale=m .username=${this.username} .thumbnail=${this.thumbnailUrl??void 0} .fullName=${this.fullname??void 0}></calcite-avatar><div class="text-container"><span class="full-name" tabindex=0>${this.fullname??""}</span><span class="username" tabindex=0>${this.username}</span></div></div>`}async _lookupOwnerProfile(t){if(this.fullname=void 0,this.thumbnailUrl="",this.lookupProfile&&this._configContextConsumer.value){let{userSession:i}=this._configContextConsumer.value;if(i)try{let e=await c({authentication:i,username:t});e&&(e.fullName&&(this.fullname=e.fullName),e.thumbnail&&(this.thumbnailUrl=i.portal+"/community/users/"+e.id+"/info/"+e.thumbnail+"?token="+i.token))}catch{console.log("user not found")}}}_updateThumbnailToken(t){this.thumbnailUrl&&this.thumbnailUrl!==""&&(this.thumbnailUrl=m(this.thumbnailUrl,t))}};l("solution-user-avatar",a);return a},a,b)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{a as E}from"./7VD3Y4IF.js";import d from"./
|
|
2
|
+
import{a as E}from"./7VD3Y4IF.js";import d from"./H2UL463J.js";import a from"./LKZFKOG4.js";import{a as R,b as v}from"./2B4SGB3I.js";import{b as _}from"./I2NTSKBD.js";import{a as A}from"./MGEDATQ7.js";import{b as C}from"./2I5LGZNX.js";import{G as S,I as b,h as N,i as c,q as u}from"./FFF5HUPM.js";export default $arcgis.t(([{r:g},{j:F,k:I}])=>{var f=N`.width-full{width:100%}calcite-panel{--calcite-panel-background-color: var(--calcite-color-surface-2);--calcite-panel-footer-space: var(--calcite-spacing-sm)}.border-color{--calcite-block-border-color: transparent}calcite-block{margin:0;--calcite-block-content-space: 0}.tree-padding{padding:0 .2rem}.display-none{display:none}`,M={PUBLICSAFETY:["EMERGENCYMANAGEMENT","FIRESERVICE","LAWENFORCEMENT"],STATEANDLOCALGOVERNMENT:["AGRICULTURE","AIRPORT","ASSESSMENTANDTAXATION","ELECTIONS","EMERGENCYMANAGEMENT","FIRESERVICE","FISHANDWILDLIFE","HEALTHANDHUMANSERVICES","LAWENFORCEMENT","NATURALRESOURCES","PARKS","PLANNINGANDDEVELOPMENT","PUBLICWORKS","TRANSPORTATION"],UTILITIES:["DISTRICTENERGY","ELECTRIC","GAS","SEWER","STORMWATER","WATER"]},T=Object.keys(F).reduce((m,t)=>{let e=t;return m[e]=M[e]??[],m},{}),y=class extends S{constructor(){super(),this.hideIndustryFilter=!1,this.showReset=!1,this._activeFilterSettings={categories:[]},this._isMobile=!1,this._translations=A({name:"solutions-filter-panel",blocking:!0}),this._userFirstName="",this._configContextConsumer=_({context:v,subscribe:!0,callback:t=>{t?.userSession&&!this._userFirstName&&this._loadUserFirstName()}}),this._isMobileContextConsumer=_({context:R,subscribe:!0,callback:t=>this._isMobile=t}),this.applyFilter=u(),this.toggleFilter=u(),this.updateUrlParams=u(),this._handleFilterRemoved=t=>{let e=t.detail;Array.isArray(e)&&(this._activeFilterSettings={...this._activeFilterSettings,categories:[...e]})},this._industryMatchName=t=>{let e=Object.keys(this._translations.industries).find(o=>o.toUpperCase()===t.replaceAll(" ","").toUpperCase());return e&&e in this._translations.industries?this._translations.industries[e]:t},this._domainMatchName=t=>{let e=Object.keys(this._translations.industriesDomain).find(o=>o.toUpperCase()===t.replaceAll(" ","").toUpperCase());return e&&e in this._translations.industriesDomain?this._translations.industriesDomain[e]:t},this.listenOn(window,"filterRemoved",this._handleFilterRemoved),this.listenOn(window,"tabChanged",t=>{t.detail==="all-solutions"?this.updateUrlParams.emit(this._activeFilterSettings):this.updateUrlParams.emit(null)})}static{this.properties={hideIndustryFilter:5,showReset:5,_activeFilterSettings:16,_isMobile:16,_translations:16,_userFirstName:16}}static{this.styles=f}changeIndustryFilter(t,e,o,h){if(window.dispatchEvent(new CustomEvent("clearAssistantResultFilters")),t!==""||e!==""){let r=[];if(e!==""){let i=F[t],a=this._industryMatchName(i),s=I[e],n=this._domainMatchName(s);r=[{displayValue:a,type:"industry",value:t,industry:t,domain:""},{displayValue:n,type:"domain",value:e,industry:t,domain:e}]}else r=[{displayValue:o,type:e!==""?"domain":"industry",value:e!==""?e:t,industry:t,domain:e}];this._activeFilterSettings={...this._activeFilterSettings,categories:[...r]},h&&this.applyFilter.emit(r)}else{let r={displayValue:o,type:"industry",value:t,industry:t,domain:e};this._activeFilterSettings={...this._activeFilterSettings,categories:[r]},h&&this.applyFilter.emit(r)}}clearFilters(){this.changeIndustryFilter("","",""),this.applyFilter.emit(null)}async load(){await this._loadUserFirstName(),this._isMobileContextConsumer.value&&(this._isMobile=this._isMobileContextConsumer.value)}render(){return c`<calcite-panel description heading>${this.showReset&&c`<calcite-action appearance=solid icon=reset @click=${()=>{this.clearFilters()}} slot=header-actions-end .text=${this._translations.resetFilters} text-enabled></calcite-action>`||""}<calcite-block-group .label=${this._translations.filters} scale=l>${!this.hideIndustryFilter&&this.renderIndustryBlock()||""}</calcite-block-group></calcite-panel>`}renderIndustryBlock(){let t=(i,a)=>!this._activeFilterSettings||!this._activeFilterSettings.categories?!1:this._activeFilterSettings.categories.some(s=>s.industry===i&&(s.domain??"")===a),e=i=>!this._activeFilterSettings||!this._activeFilterSettings.categories?!1:this._activeFilterSettings.categories.some(a=>a.industry===i&&(a.domain??"")===""),o=(i,a)=>a.length>0&&(e(i)||this._activeFilterSettings.categories?.some(s=>s.industry===i&&!!s.domain&&a.includes(s.domain))===!0),h=(i,a)=>E(a,s=>s,s=>{let n=Object.keys(this._translations.industriesDomain).find(l=>l.toUpperCase()===s.toUpperCase()),d=n&&n in this._translations.industriesDomain?this._translations.industriesDomain[n]:s,p=t(i,s);return c`<calcite-tree-item .label=${d} @click=${l=>{l.detail!==0&&this.changeIndustryFilter(i,s,d,!0)}} @keydown=${l=>{g(l,()=>{this.changeIndustryFilter(i,s,d,!0)})}} .selected=${p||void 0}>${d}</calcite-tree-item>`}),r=E(Object.entries(T),([i,a])=>i,([i,a])=>{let s=this._industryMatchName(i),n=a,d=e(i),p=o(i,n);return c`<calcite-tree-item .label=${s} @click=${l=>{l.detail!==0&&this.changeIndustryFilter(i,"",s,!0)}} @keydown=${l=>{g(l,()=>{this.changeIndustryFilter(i,"",s,!0)})}} .selected=${d||void 0} .expanded=${p?!0:void 0}>${s}${n.length>0&&c`<calcite-tree slot=children selection-mode=multiple>${h(i,n)}</calcite-tree>`||""}</calcite-tree-item>`});return c`<calcite-block description expanded class="border-color" .heading=${this._translations.industriesHeader} .label=${this._translations.industriesHeader}><calcite-action class=${b(this._isMobile?"":"display-none")} icon=x @click=${this._toggleFilter} slot=content-end .text=${this._translations.close}></calcite-action><calcite-tree selection-mode=single-persist class="tree-padding">${r}</calcite-tree></calcite-block>`}_toggleFilter(){this.toggleFilter.emit()}async _loadUserFirstName(){try{let t=await this._configContextConsumer.value?.userSession?.getUser();if(t?.fullName){let e=t.fullName.split(" ")[0];this._userFirstName=e}}catch{}}};C("solutions-filter-panel",y);return y},a,d)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import f from"./
|
|
2
|
+
import f from"./AGB374BK.js";import e from"./7GXMCAWQ.js";import b from"./LKZFKOG4.js";import{b as m}from"./2B4SGB3I.js";import{b as d}from"./I2NTSKBD.js";import"./3UKDJZ2D.js";import{a as c}from"./MGEDATQ7.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import"./TEHBW75B.js";import"./IHG7KTNC.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./YKB6256M.js";import"./N22MFQSQ.js";import"./N7BXCDA3.js";import"./ZX3UHK6P.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LP2JYX4X.js";import"./GF4QELNV.js";import"./AYSQIO6L.js";import"./YQHYMLC7.js";import"./DKD2EGQP.js";import"./5O53T3SW.js";import"./AJZDBHB6.js";import"./FES7B3SJ.js";import{b as a}from"./2I5LGZNX.js";import{G as r,K as s,h as o,i,q as n}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([{u:u},,h])=>{var p=o`.text-center{text-align:center}.no-solutions{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:calc(100vh - 190px)}.display-flex{display:flex;align-items:center}.display-none{display:none}.flex-direction-column{flex-direction:column}.flex-direction-row{flex-direction:row}.padding-10{padding:10px}.padding-y-10{padding-top:10px;padding-bottom:10px}.subnote{font-size:var(--calcite-font-size--2);font-weight:var(--calcite-font-weight-normal)}.solution-list-item-label{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size--1)}.solution-list-item-label,.solution-list-item-description{font-family:var(--calcite-font-family);font-weight:var(--calcite-font-weight-normal);overflow-wrap:break-word;word-break:break-word}.solution-list-item-description{font-size:var(--calcite-font-size--2);margin-block-start:.125rem;color:var(--calcite-color-text-3)}.solution-list-item-content{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;line-height:1.375}.underline{text-decoration:underline}`,l=class extends r{constructor(){super(),this.referenceCards=[],this.results=null,this.hasLinks=!1,this.listTitle="",this._translations=c({name:"solutions-deployed-list",blocking:!0}),this._cardsFetcher=null,this._configContextConsumer=d({context:m,subscribe:!0}),this.deployedCardSelected=n()}static{this.properties={referenceCards:0,results:0,hasLinks:5,listTitle:1,_translations:16,_cardsFetcher:16}}static{this.styles=p}async load(){if(this._configContextConsumer?.value){let t=this._configContextConsumer.value;this._cardsFetcher=new h(t.locale,t.orgUrl,t.portalURL)}}disconnectedCallback(){super.disconnectedCallback()}render(){if(!this.results)return i`<div class="no-solutions"></div>`;let t=this.listTitle||this._translations.dependencyList,e="solutions-deployed-list-title";return i`${this.listTitle!==""&&i`<div class="solutions-deployed-list-title" id=${e}>${this.listTitle}</div>`||""}${this.hasLinks?i`<calcite-list aria-labelledby=${(this.listTitle!==""?e:void 0)??s} .label=${t}>${this._renderCards()}</calcite-list>`:i`<calcite-list aria-labelledby=${(this.listTitle!==""?e:void 0)??s} .label=${t} selection-mode=none interaction-mode=static>${this._renderCards()}</calcite-list>`}`}_renderCards(){if(this._cardsFetcher&&this.results){let t={...this.results};return t.results=u(t.results),this._cardsFetcher.getCardsFromResponse(t).map(e=>i`<calcite-list-item .label=${e.title} @calciteListItemSelect=${()=>{this.hasLinks&&this._cardSelected(e)}} .value=${e.id}><div class="solution-list-item-content" slot=content><div class=${`solution-list-item-label ${this.hasLinks?"underline":""}`}>${e.title}</div><div class="solution-list-item-description">${`${this._translations.deployedVersion} ${e.deployVersion} - ${new Date(e.created).toLocaleDateString(this._configContextConsumer.value?.locale,{year:"numeric",month:"long",day:"numeric"})}`}</div></div></calcite-list-item>`)}return[]}async _cardSelected(t){let e={tabType:"deployed-card",tabTitleOrId:t.id};window.dispatchEvent(new CustomEvent("forceSelectTab",{detail:e}))}};a("solutions-deployed-list",l);return l},b,e,f)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import a from"./
|
|
2
|
+
import a from"./J3HJC4SO.js";export default $arcgis.t(([a,u,{g:i}])=>{var c=class{async getPopupTitle(o,f){let s={};for(let[e,r]of Object.entries(o.attributes))s={...s,[`{${e.toUpperCase()}}`]:r};let p=o.layer,l=this._removeTags(p?.popupTemplate?.title);if(l.includes("{expression/expr")&&p?.popupTemplate?.expressionInfos!=null)for(let e=0;e<p.popupTemplate?.expressionInfos.length;e++){let r=p.popupTemplate.expressionInfos[e],n=a.createArcadeProfile("popup");try{let t=await(await a.createArcadeExecutor(r.expression,n)).executeAsync({$feature:o,$layer:p,$map:f});(t!==null||t!=="")&&(s[`{expression/${r.name}}`.toUpperCase()]=t)}catch(t){console.error(t);continue}}return p.popupTemplate?.fieldInfos&&p.fields.forEach(e=>{let r=o.attributes[e.name],n=(p?.popupTemplate?.fieldInfos||[]).find(m=>m.fieldName.toLowerCase()===e.name.toLowerCase()),t=i(r,e.type,e?.domain,n?.format,u);s[`{${e.name.toUpperCase()}}`]=t??r}),l?.replace(/{.*?}/g,e=>s[e.toUpperCase()]!=null?s[e.toUpperCase()]:"")}_removeTags(o){return o==null||o===""?"":o.toString().replace(/(<([^>]+)>)/gi,"")}};return c},"arcade","intl",a)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import e from"./
|
|
2
|
+
import e from"./5MPYPIR2.js";import d from"./DKEYOEI7.js";import c from"./K4TDKKPB.js";import"./FILMKUOU.js";import"./BNRFT546.js";import"./ONARC6AZ.js";import"./S6U6SXMD.js";import b from"./H2UL463J.js";import a from"./LKZFKOG4.js";import"./2B4SGB3I.js";import"./I2NTSKBD.js";import"./3UKDJZ2D.js";import"./MGEDATQ7.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import"./TEHBW75B.js";import"./IHG7KTNC.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./YKB6256M.js";import"./N22MFQSQ.js";import"./N7BXCDA3.js";import"./ZX3UHK6P.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LP2JYX4X.js";import"./GF4QELNV.js";import"./AYSQIO6L.js";import"./YQHYMLC7.js";import"./DKD2EGQP.js";import"./5O53T3SW.js";import"./AJZDBHB6.js";import"./FES7B3SJ.js";import"./2I5LGZNX.js";import"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([,,,,a])=>{return a},a,b,c,d,e)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{a as L}from"./2D6XDWYA.js";import{a as x}from"./ONARC6AZ.js";import{a as S}from"./LHG6NOEP.js";import{b as I}from"./CVHXDPJO.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import{E as $,F as w,G as k,I as p,h as F,i as l,l as h,q as b}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([T,m,P,O])=>{var D="instant-apps-filter-list calcite-mode-light",M="instant-apps-filter-list calcite-mode-dark",g=["feature","geojson","wfs","csv","scene","subtype-group","point-cloud","map-image","sublayer"];function v(f){return f.replaceAll("'","''")}function y(f,e=!1){if(f){let t=new Date(f),i=`${t.getFullYear()}-${t.getMonth()+1}-${t.getDate()}`;if(e){let s=`${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}`;return`${i} ${s}`}else return i}}function _(f){if(f!=null){f.value=["",""];let e=f.shadowRoot?.querySelectorAll("calcite-input");if(e!=null)for(let t of e)t.value=""}}var R=F`:host{display:block}.instant-apps-filter-list *{box-sizing:border-box}.instant-apps-filter-list__container{height:100%}.instant-apps-filter-list__container calcite-block{--calcite-internal-block-actions-spacing: 0}.instant-apps-filter-list__container calcite-block calcite-action[slot=actions-end]{height:100%}.instant-apps-filter-list__container calcite-block:last-of-type{margin-bottom:0}.instant-apps-filter-list__footer{padding:12px;display:flex}.instant-apps-filter-list__footer calcite-button:nth-child(2){margin-left:6px}.instant-apps-filter-list__item-container,.instant-apps-filter-list__item-container--user-input{display:flex;justify-content:space-between;align-items:center}.instant-apps-filter-list__item-container:not(:last-child),.instant-apps-filter-list__item-container--user-input:not(:last-child){padding-bottom:20px}.instant-apps-filter-list__item-container--user-input{margin:0;display:flex;flex-direction:column;align-items:flex-start}.instant-apps-filter-list__item-container--user-input>span{margin:0 0 6px;font-size:14px;font-weight:400}.instant-apps-filter-list__item-container--user-input calcite-combobox{width:100%;font-size:16px;--calcite-combobox-input-height: 24px}.instant-apps-filter-list__number-input-container{width:100%;display:flex;justify-content:center}.instant-apps-filter-list__number-input-container calcite-slider{width:90%}.instant-apps-filter-list__date-picker-input-container{display:flex;align-items:center;justify-content:unset;width:100%}.instant-apps-filter-list__date-picker-input-container calcite-action{height:65px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__time-picker-input-container{display:grid;grid-template-columns:auto 32px;width:100%}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:first-child{grid-column:1;grid-row:1}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:last-child{grid-column:1;grid-row:2}.instant-apps-filter-list__time-picker-input-container calcite-action{grid-column:2;grid-row:1/span 2;height:64px;width:33px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__title{margin-right:20px}.instant-apps-filter-list__title>p{font-size:14px;font-weight:400;margin:0}.instant-apps-filter-list__checkbox-container{display:flex}.instant-apps-filter-list__checkbox-container calcite-checkbox{height:18px}.instant-apps-filter-list__operator-description{margin:0;--calcite-font-size--1: 12px}.instant-apps-filter-list calcite-input-date-picker{--calcite-font-size--1: 16px}@media(prefers-reduced-motion){.instant-apps-filter-list calcite-loader{--calcite-internal-duration-factor: 2;--calcite-internal-animation-timing-slow: .6s }}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__header-container{background:#2b2b2b;color:#fff}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__operator-description{background:#353535}`,d={filterContainer:"instant-apps-filter-list__container",footer:"instant-apps-filter-list__footer",filterItemTitle:"instant-apps-filter-list__title",filterItemContainer:"instant-apps-filter-list__item-container",filterUIItemContainer:"instant-apps-filter-list__item-container--user-input",checkboxContainer:"instant-apps-filter-list__checkbox-container",numberInputContainer:"instant-apps-filter-list__number-input-container",dateInputContainer:"instant-apps-filter-list__date-picker-input-container",timeInputContainer:"instant-apps-filter-list__time-picker-input-container",operatorDesc:"instant-apps-filter-list__operator-description"},C=class extends k{constructor(){super(...arguments),this._messages=S({name:"instant-apps-filter-list",blocking:!0}),this.resetBtnEl=$(),this.panelEl=$(),this.isLayerExpUpdated=!1,this.isInitUpdateComplete=!1,this.baseClass=D,this.autoUpdateUrl=!1,this.closeBtn=!1,this.comboboxOverlayPositioning="absolute",this.openFilters=!1,this.extentSelector=!1,this.filterCount=0,this.zoomBtn=!0,this.resetBtn=!0,this.resetFiltersOnDisconnect=!0,this.filterListReset=b(),this.filterUpdate=b()}static{this.properties={loading:16,filterLayerExpressions:16,baseClass:16,initDefExpressions:16,initMapImageExpressions:16,initPointCloudFilters:16,layerExpressions:0,autoUpdateUrl:5,closeBtn:5,closeBtnOnClick:0,comboboxOverlayPositioning:1,closeBtnText:1,openFilters:5,extentSelector:5,extentSelectorConfig:0,urlParams:0,filterCount:9,view:0,zoomBtn:5,resetBtn:5,resetFiltersOnDisconnect:5}}static{this.styles=R}async forceReset(){return this.resetExpressions(),await Promise.resolve(!0)}async getCurrentLayerExpressions(){let e=structuredClone(this.filterLayerExpressions);return await Promise.resolve(e)}async getFilterInitState(){return await Promise.resolve({initDefExpressions:this.initDefExpressions,initMapImageExpressions:this.initMapImageExpressions,initPointCloudFilters:this.initPointCloudFilters})}async handleUpdatingT9nData(e){return e==null?await Promise.resolve(!0):(this.filterLayerExpressions?.forEach(t=>{let i=e?.find(s=>s.id===t.id);i!=null&&(t.title=i.title,t.expressions?.forEach(s=>{let n=i.expressions?.find(a=>a.id===s.id);n!=null&&(s.name=n.name)}))}),await Promise.resolve(!0))}async updateInitDefExpressions(e){return this.initDefExpressions=e.initDefExpressions,this.initMapImageExpressions=e.initMapImageExpressions,this.initPointCloudFilters=e.initPointCloudFilters,await Promise.resolve(!0)}connectedCallback(){super.connectedCallback(),!(this.layerExpressions==null&&this.view==null)&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.isInitUpdateComplete=!1,this.handleLayerExpressionsUpdate())}async load(){this.baseClass=L(this.el)==="dark"?M:D,!this.isLayerExpUpdated&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=this.layerExpressions!=null?structuredClone(this.layerExpressions):[],this.view!=null&&this.handleLayerExpressionsUpdate())}willUpdate(e){e.has("view")&&this.handleWhenView(),e.has("layerExpressions")&&(this.isInitUpdateComplete=!1,this.resetAllFilters(),this.filterLayerExpressions=structuredClone(this.layerExpressions),this.handleLayerExpressionsUpdate())}updated(){this.resetBtnEl.value!=null&&(this.resetBtnEl.value.disabled=!(this.filterLayerExpressions&&this.filterLayerExpressions.length>0))}disconnectedCallback(){super.disconnectedCallback(),this.resetFiltersOnDisconnect&&(this.isLayerExpUpdated=!1,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.resetAllFilters())}initFilterConfig(){if(this.filterLayerExpressions&&this.filterLayerExpressions.length>0){if(this.filterLayerExpressions.length===1){let{operator:e}=this.filterLayerExpressions[0],t=e?.trim()==="OR"?"orOperator":"andOperator",i=this.renderZoomTo(this.filterLayerExpressions[0]);return l`<calcite-block class=${p(d.operatorDesc)} .heading=${this._messages[t]} expanded>${i}${this.renderFilter(this.filterLayerExpressions[0])}</calcite-block>`}else if(this.filterLayerExpressions.length>1)return this.renderLayerBlock()}}handleResetDatePicker(e,t){let i=this.panelEl.value?.querySelector(`[id='${e.id}']`);i&&(_(i),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t))}handleResetTimePicker(e,t){this.resetTimePicker(e),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t)}resetTimePicker(e){let t=this.panelEl.value?.querySelector(`[id='${e.id}-min']`),i=this.panelEl.value?.querySelector(`[id='${e.id}-max']`);!t||!i||(t.value=e.min,i.value=e.max)}initInput(e,t){let{type:i,numDisplayOption:s,displayOption:n}=t;if(i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down"))return this.renderCombobox(e,t);if(i==="number"||i==="range")return this.renderNumberSlider(e,t);if(i==="date")return this.renderDatePicker(e,t);if(i==="time-only")return this.renderTimePicker(e,t)}async initExpressions(){if(this.loading=!0,this.filterLayerExpressions==null||this.view==null){this.loading=!1;return}await this.processExpressions(),this.loading=!1}async processExpressions(){this.filterLayerExpressions&&await Promise.all(this.filterLayerExpressions.map(async e=>{await Promise.all((e.expressions||[]).map(async t=>await this.setInitExpression(e,t)))}))}handleResetFilter(){this.resetExpressions(),this.resetAllFilters(),this.generateURLParams(),this.filterListReset.emit()}resetExpressions(){this.filterLayerExpressions?.forEach(e=>{e.expressions?.forEach(t=>{let{type:i,numDisplayOption:s,displayOption:n}=t,a="";i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down")?a="combobox":i==="date"?a="datePicker":i==="number"||i==="range"?a="numberRange":i==="time-only"&&(a="timePicker"),a?this.resetExpressionUI(a,t):this.resetCheckbox(t),t.active=!1})})}resetExpressionUI(e,t){let{id:i}=t;switch(e){case"combobox":{t.selectedFields=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&Array.from(s.children).forEach(n=>{n.selected=!1});break}case"datePicker":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&_(s);break}case"numberRange":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&(s.minValue=t.min,s.maxValue=t.max);break}case"timePicker":t.range=void 0,this.resetTimePicker(t)}}resetCheckbox(e){let{id:t}=e,i=this.panelEl.value?.querySelector(`[id='${t}']`);i&&(i.checked=!1)}resetAllFilters(){this.view?.map?.allLayers?.concat(this.view?.map?.allTables.toArray()??[])?.forEach(e=>{if(!g.includes(e.type))return;let t=e;if(t.type==="point-cloud"){if(!this.initPointCloudFilters)return;t.filters=this.initPointCloudFilters[t.id]}else if(t.type==="map-image")t.allSublayers.forEach(i=>{i.definitionExpression=this.initMapImageExpressions?.[t.id]?.[i.id]??""});else{if(this.initDefExpressions==null)return;t.definitionExpression=this.initDefExpressions[t.id]}})}async updateStringExpression(e,t){let i=this.findFilterLayer(e);return i?(await this.getFeatureAttributes(i,t),this.handleDateField(i,t),t?.selectedFields?(t.definitionExpression=this.createDefinitionExpression(t),!0):!1):!1}handleDateField(e,t){t.type==="date"&&e.fields.find(({name:i})=>i===t.field)?.type==="date-only"&&(t.dateOnly=!0)}createDefinitionExpression(e){if(!e.selectedFields?.length)return"";let t=e.selectedFields.map(i=>typeof i=="number"?i:`'${v(i)}'`);return this.getSelectedFieldsDefExpression(e,t)}async updateNumberExpression(e,t){if(!t?.min&&t?.min!==0||!t?.max&&t?.max!==0){let i=this.findFilterLayer(e);if(!i)return!1;let{field:s}=t;if(s!=null)if(this.setExpressionFormat(i,t,s),t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down")await this.getFeatureAttributes(i,t);else{let n=(await this.calculateMinMaxStatistics(i,s))?.[0]?.attributes;if(t.format?.places!=null?(t.min=this.roundMinNumberDown(n[`min${s}`],t.format.places),t.max=this.roundMaxNumberUp(n[`max${s}`],t.format.places)):(t.min=n[`min${s}`],t.max=n[`max${s}`]),t?.range&&Object.keys(t.range).length){let{min:a,max:r}=t.range;return t.definitionExpression=`${t.field} BETWEEN ${a} AND ${r}`,!0}}}return!1}async updateDateExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=y(a[`min${i}`]),t.max=y(a[`max${i}`]),s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r=r?.replace("+"," "),o=o?.replace("+"," "),r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} '${r??o}'`:t.definitionExpression=`${i} BETWEEN '${r}' AND '${o}'`,!0}}return!1}async updateTimeExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=a[`min${i}`],t.max=a[`max${i}`],s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} TIME '${r??o}'`:t.definitionExpression=`${i} BETWEEN TIME '${r}' AND TIME '${o}'`,!0}}return!1}async updateCodedValueExpression(e,t,i){if(!i?.domain||i?.domain?.type!=="coded-value")return!1;let s=this.findFilterLayer(e);if(!s)return!1;await this.getFeatureAttributes(s,t);let n=i.domain.codedValues.reduce((a,{code:r,name:o})=>(a[r]=o,a),{});if(t.codedValues=n,this.sortCodedValues(t),t.selectedFields?.length){let a=t.selectedFields.map(r=>typeof r=="number"?r:`'${v(r)}'`).join(",");return t.definitionExpression=`${t.field} IN (${a})`,!0}return!1}updateRangeExpression(e,t){if(!t?.domain||t?.domain?.type!=="range")return!1;let{field:i,range:s}=e;return e.min=t.domain.minValue,e.max=t.domain.maxValue,s&&Object.keys(s).length?(e.definitionExpression=`${i} BETWEEN ${s.min} AND ${s.max}`,!0):!1}async getFeatureAttributes(e,t){if(!this.isLayerSupported(e)){t.fields=[];return}let i=await this.getQueryLayer(e),{maxRecordCount:s,supportsMaxRecordCountFactor:n}=this.extractQueryCapabilities(e),a=await i.queryFeatureCount(),r=this.createQuery(i,t);await this.queryDistinctFeatures(i,r,t),this.shouldPaginate(s,a,n)&&this.handlePagination(i,r,s,n,a,t)}isLayerSupported(e){return e&&g.includes(e.type)}extractQueryCapabilities(e){return{maxRecordCount:e.capabilities?.query?.maxRecordCount??e.sourceJSON?.maxRecordCount,supportsMaxRecordCountFactor:e.capabilities?.query?.supportsMaxRecordCountFactor}}createQuery(e,t){let i=e.createQuery();this.applyCacheHint(e,i);let s=t?.field;if(s){let n=this.getInitDefExprFromLayer(e);i.where=n||"1=1",i.outFields=[s],i.orderByFields=[`${s} ASC`],i.returnDistinctValues=!0,i.returnGeometry=!1,i.maxRecordCountFactor=5,this.applyQueryGeometryFromExtentSelector(i)}return i}async queryDistinctFeatures(e,t,i){if(!t.outFields)return;let s=await this.queryForFeatures(e,t,t.outFields[0]);s?.length&&(i.fields=[...new Set(s)],i.type==="string"?i.fields=i.fields.sort((n,a)=>n.localeCompare(a)):i.type==="number"&&(i.fields=i.fields.sort((n,a)=>n-a)))}getQueryCount(e,t){return t?e*5:e}shouldPaginate(e,t,i){let s=this.getQueryCount(e,i);return e!=null&&t>s}async handlePagination(e,t,i,s,n,a){let r=this.getQueryCount(i,s),o=[];for(let c=r;c<n;c+=r){let u=t.clone();u.num=i,u.start=c,o.push(this.queryForFeatures(e,u,t?.outFields?.[0]??""))}Promise.all(o).then(c=>{c.forEach(u=>{u?.length&&a.fields&&a.fields.push(...u)}),a.type==="string"?a.fields=[...new Set(a.fields)].sort((u,E)=>u.localeCompare(E)):a.type==="number"?a.fields=[...new Set(a.fields)].sort((u,E)=>u-E):a.type==="coded-value"&&a.codedValues?this.sortCodedValues(a):a.fields=[...new Set(a.fields)].sort()})}async queryForFeatures(e,t,i){return(await e.queryFeatures(t))?.features.filter(s=>{let n=s.attributes?.[i];return n!=null&&n!==""})?.map(s=>s.attributes?.[i])}async calculateMinMaxStatistics(e,t){if(!e||!g.includes(e.type)||!t)return[];let i=this.createStatisticsQuery(e,t);return(await e.queryFeatures(i))?.features||[]}createStatisticsQuery(e,t){let i=e.createQuery();return i.where=this.getInitDefExprFromLayer(e)||"1=1",this.applyCacheHint(e,i),i.outStatistics=[{onStatisticField:t,outStatisticFieldName:`max${t}`,statisticType:"max"},{onStatisticField:t,outStatisticFieldName:`min${t}`,statisticType:"min"}],this.applyQueryGeometryFromExtentSelector(i),i}getExtent(e,t){if(e&&t){let{constraints:i}=t,s={...i}.geometry;if(s){let n="extent"in s?s:T.fromJSON(s);if(n?.type==="extent"||n?.type==="polygon")return n}}}async setInitExpression(e,t){if(!t.field||!t.type){await this.updateExpression(e,t,void 0);return}let i=this.findFilterLayer(e);i&&((i.loadStatus==="not-loaded"||i.loadStatus==="failed")&&await i.load(),await i.when(async()=>{let s=i.fields?.find(({name:a})=>a===t.field),n=s?.domain?.type;t.type=n==="coded-value"||n==="range"?n:t.type,await this.updateExpression(e,t,s)}))}async updateExpression(e,t,i){let s=await this.handleExpressionType(e,t,i);this.requestUpdate(),s&&this.generateOutput(e)}async handleExpressionType(e,t,i){switch(t.type){case"string":return await this.updateStringExpression(e,t);case"number":return await this.updateNumberExpression(e,t);case"date":return await this.updateDateExpressionBasedOnDisplayOption(e,t);case"time-only":return await this.updateTimeExpressionBasedOnDisplayOption(e,t);case"coded-value":return await this.updateCodedValueExpression(e,t,i);case"range":return await this.updateRangeExpressionBasedOnDisplayOption(e,t,i);case"checkbox":case null:case void 0:return t.active??!1;default:return!1}}async updateDateExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateDateExpression(e,t)}async updateTimeExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateTimeExpression(e,t)}async updateRangeExpressionBasedOnDisplayOption(e,t,i){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):this.updateRangeExpression(t,i)}updateRangeExpressions(e,t,i,s){let n=this.getInitDefExprFromLayerExpression(t);(s||s===0)&&(i||i===0)&&(s===e?.min&&i===e?.max?(e.definitionExpression=void 0,e.active=!1):(e.definitionExpression=n?`(${n}) AND ${e?.field} BETWEEN ${s} AND ${i}`:`${e?.field} BETWEEN ${s} AND ${i}`,e.active=!0)),e.range={min:s,max:i}}handleCheckboxChange(e,t,i){let s=i.target;t.active=s.checked,this.generateOutput(e)}handleSliderChange(e,t,i){let{maxValue:s,minValue:n}=i.target;this.updateRangeExpressions(e,t,s,n),this.generateOutput(t)}handleComboSelect(e,t,i){let s=i.target.selectedItems,{field:n,type:a}=e;if(e.selectedFields=s.map(({value:r})=>r),s.length){let r=s.map(({value:o})=>typeof o=="number"?o:`'${v(o)}'`);e.definitionExpression=this.getSelectedFieldsDefExpression(e,r),e.active=!0}else e.definitionExpression=void 0,e.active=!1;this.generateOutput(t)}getSelectedFieldsDefExpression(e,t){let{field:i,type:s}=e;return s==="date"?t.map(n=>this.buildDateExpression(n,i)).join(" OR "):s==="time-only"?`${i} IN (${t.map(n=>`TIME ${n}`).join(",")})`:`${i} IN (${t.join(",")})`}handleDatePickerRangeChange(e,t,i){let s=i.target,[n,a]=s.valueAsDate,r=n?y(Math.floor(n.getTime()),!0):void 0,o=a?y(Math.floor(a.getTime()),!0):void 0;(r||o)&&(e.definitionExpression=this.constructDefinitionExpression(e.field,r,o),e.range={min:r,max:o},e.active=!0,this.generateOutput(t))}handleTimePickerRangeChange(e,t,i,s){let n=s.target,a=n.value;e.range==null&&(e.range={min:void 0,max:void 0}),i?e.max&&a>e.max?(e.range.min=e.max,n.value=e.range.min):e.min&&a<e.min?(e.range.min=e.min,n.value=e.range.min):e.range.min=a:e.max&&a>e.max?(e.range.max=e.max,n.value=e.range.max):e.min&&a<e.min?(e.range.max=e.min,n.value=e.range.max):e.range.max=a,(e.range.min||e.range.max)&&(e.definitionExpression=this.constructTimeDefinitionExpression(e.field,e.range.min,e.range.max),e.active=!0,this.generateOutput(t))}constructDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN '${t}' AND '${i}'`:`${e} > '${t}'`:`${e} < '${i}'`}constructTimeDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN TIME '${t}' AND TIME '${i}'`:`${e} > TIME '${t}'`:`${e} < TIME '${i}'`}handleURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(document.location.search).get("filter");if(!e){this.filterCount=0;return}let t=e.split(";").map(i=>JSON.parse(i));this.filterCount=this.applyFilters(t)}applyFilters(e){let t=0;return e.forEach(i=>{let s=this.filterLayerExpressions?.find(n=>n.id===i.layerId);s&&s.expressions?.forEach(n=>{n.id?.toString()===i.expressionId?.toString()&&(this.activateExpression(n,i),t++)})}),t}activateExpression(e,t){e.active=!0,t.type==="range"?e.range=t.range:t.type==="select"&&(e.selectedFields=t.selectedFields)}createURLParamExpression(e,t){let{id:i,range:s,selectedFields:n,type:a}=t;return a==="string"||a==="coded-value"||t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down"?{type:"select",layerId:e.id,expressionId:i.toString(),selectedFields:n}:a==="number"||a==="range"||a==="date"||a==="time-only"?{type:"range",layerId:e.id,expressionId:i.toString(),range:s}:{layerId:e.id,expressionId:i.toString()}}autoUpdateURLCheck(e){if(this.autoUpdateUrl){let t=e.toString()?`${window.location.pathname}?${e}`.trim():window.location.pathname;window.history.replaceState({},"",t)}}generateURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(window.location.search),t=this.filterLayerExpressions?.flatMap(i=>i?.expressions?.filter(s=>s.active).map(s=>JSON.stringify(this.createURLParamExpression(i,s)))||[])||[];this.filterCount=t.length,t.length>0?e.set("filter",t.join(";")):e.delete("filter"),this.autoUpdateURLCheck(e),this.urlParams=e}updateFilter(e,t,i){let{id:s}=e,n=this.view.map?.findLayerById(s)??this.view.map?.findTableById(s);if(n!=null)if(n.type==="point-cloud")this.updateFilterLayerPCLFilter(n,i);else if(n.type==="map-image"){let a=n.findSublayerById(e?.sublayerId);a!=null&&this.updateFilterLayerDefExpression(a,t,e)}else this.updateFilterLayerDefExpression(n,t,e)}updateFilterLayerDefExpression(e,t,i){let{operator:s}=i,n=this.getInitDefExprFromLayer(e),a=t?.length>0&&n!=null&&n!==""?`(${t.join(s)}) AND (${n})`:t.length>0?t.join(s):n;e.definitionExpression=a}updateFilterLayerPCLFilter(e,t){e.filters=t}async handleWhenView(){this.view!=null&&(await this.view.map.loadAll(),await this.handleLayerExpressionsUpdate())}async handleLayerExpressionsUpdate(){this.isInitUpdateComplete||(this.updateInitExpressions(),this.handleURLParams(),this.initExpressions())}async handleZoomTo(e){let t=e?.sublayerId?`#zoom-to-${e.id}-${e.sublayerId}`:`#zoom-to-${e.id}`,i=this.panelEl.value?.querySelector(t),s=(n,a)=>{i&&(i.loading=n,i.disabled=a)};if(s(!0,!0),await this.getZoomToExtent(e),this.zoomToExtent){let n=this.zoomToExtent.type==="point"&&this.zoomToExtent.count===1?{target:this.zoomToExtent.extent,zoom:10}:this.zoomToExtent.extent;await this.view.goTo(n)}s(!1,!1)}async getZoomToExtent(e){let t=this.view.allLayerViews.find(({layer:s})=>s.id===e.id).layer,i=t.type==="map-image"?t.findSublayerById(e.sublayerId):t;if(i&&i.type!=="point-cloud"&&g.includes(i?.type)){let s=await this.getQueryLayer(i),n=s.createQuery();n.where=s.definitionExpression??"1=1";let a=await s.queryExtent(n);this.zoomToExtent={...a,type:s.geometryType}}}generateOutput(e){if(this.view==null)return;let t=[],i=[];if(e){for(let s of e.expressions){let{active:n,definitionExpression:a,pointCloudFilters:r}=s;n&&a&&t.push(`(${a})`),n&&r!=null&&r.length>0&&(i=i.concat(r))}this.updateFilter(e,t,i),this.generateURLParams(),this.filterUpdate.emit()}}numberWithCommas(e){return e.toLocaleString("en-US",{maximumFractionDigits:20})}async getInitMap(){let e=this.view.map,t;return this.view.type==="2d"?t=new P({portalItem:{id:e.portalItem.id}}):t=new O({portalItem:{id:e.portalItem.id}}),await t.load(),t}scientificRounding(e,t,i){if(e==null)return;let s;if(!String(e).includes("e"))s=Math[i](e*Math.pow(10,t))/Math.pow(10,t);else{let[n,a]=String(e).split("e").map(o=>Number(o)),r=a+t;s=Math[i](+`${n}e${r}`)*Math.pow(10,-t)}return+s.toFixed(t)}roundMinNumberDown(e,t){return this.scientificRounding(e,t,"floor")}roundMaxNumberUp(e,t){return this.scientificRounding(e,t,"ceil")}roundNumber(e,t){return this.scientificRounding(e,t,"round")??e}setExpressionFormat(e,t,i){if(e?.popupTemplate!=null){let s=e?.popupTemplate.fieldInfos?.find(({fieldName:n})=>n===i);s?.format&&(t.format=s.format)}}getInitDefExprFromLayer(e){return e.type==="sublayer"?this.initMapImageExpressions?.[e?.layer?.id??""]?.[e.id]??"":this.initDefExpressions?.[e.id]??""}getInitDefExprFromLayerExpression(e){return e?.sublayerId!=null?this.initMapImageExpressions?.[e.id]?.[e.sublayerId]??"":this.initDefExpressions?.[e.id]??""}findFilterLayer(e){let t=this.view.map?.allLayers.concat(this.view.map?.allTables.toArray()??[])?.find(({id:i})=>i===e.id);return t?.type==="map-image"?t?.findSublayerById(e.sublayerId):t}createLabel(e,t){if(e.type==="coded-value")return e?.codedValues?.[t]??t;if(e.type==="number"&&typeof t=="number"){let i=t;return e.format?.places!=null&&(i=this.roundNumber(t,e.format.places)),e.format?.digitSeparator?this.numberWithCommas(i):i}if(e.type==="date"&&!e.dateOnly){let i=m.convertDateFormatToIntlOptions("short-date-long-time");return m.formatDate(t,i)}if(e.type==="time-only"){let i=m.convertDateFormatToIntlOptions("long-time");return m.formatTimeOnly(t,i)}return t}buildDateExpression(e,t){if(e){let i=new Date(e),s=new Date(e),n=new Date(s.setDate(i.getDate()+1)),a=`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}`,r=`${i.getHours()}:${i.getMinutes()}:${i.getSeconds()}`,o=`${n.getHours()}:${n.getMinutes()}:${n.getSeconds()}`,c=`${n.getFullYear()}-${n.getMonth()+1}-${n.getDate()}`;return`${t} BETWEEN '${a} ${r}' AND '${c} ${o}'`}}async getQueryLayer(e){let t=e.type==="sublayer"?await e.createFeatureLayer():e;if(!t)throw new Error("Failed to create feature layer");return t}applyCacheHint(e,t){e?.capabilities?.query?.supportsCacheHint&&(t.cacheHint=!0)}applyQueryGeometryFromExtentSelector(e){if(!this.extentSelector||!this.extentSelectorConfig)return;let t=this.getExtent(this.extentSelector,this.extentSelectorConfig);t&&(e.geometry=t,e.spatialRelationship="intersects")}async updateInitExpressions(){if(!this.view?.map)return;let e=await this.getInitMap();this.initDefExpressions={},this.initPointCloudFilters={},this.initMapImageExpressions={},e.allLayers.concat(e.allTables.toArray()??[]).forEach(t=>{if(!g.includes(t.type))return;let i=t;if(i.type==="point-cloud")this.initPointCloudFilters||(this.initPointCloudFilters={}),this.initPointCloudFilters[i.id]=i.filters;else if(i.type==="map-image")this.initMapImageExpressions||(this.initMapImageExpressions={}),this.initMapImageExpressions[i.id]=i.allSublayers.reduce((s,n)=>(s[n.id]=n.definitionExpression??"",s),{});else{if(!this.initDefExpressions)return;this.initDefExpressions[i.id]=i.definitionExpression??""}}),this.isInitUpdateComplete=!0}sortCodedValues(e){typeof e.fields?.[0]=="number"?e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i];return(s??t)-(n??i)}):e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i],a=s??t,r=n??i;return a.localeCompare(r)})}render(){let e=this.loading?this.renderLoading():this.initFilterConfig(),t=this.renderFooter();return l`<calcite-panel class=${p(this.baseClass)} ${w(this.panelEl)}><slot slot=header-content name=filter-header-content></slot><slot slot=header-actions-end name=filter-header-actions-end></slot>${x("filter-container",l`<div class=${p(d.filterContainer)}>${e}${t}</div>`)}</calcite-panel>`}renderLoading(){return l`<calcite-loader label="Loading filters..."></calcite-loader>`}renderFilter(e){let{id:t}=e;return e.expressions.map((i,s)=>i.type==="checkbox"||i.type==null?x(`${t}-${s}`,l`<div class=${p(d.filterItemContainer)}><div class=${p(d.filterItemTitle)}><p>${i.name}</p></div><div class=${p(d.checkboxContainer)}><calcite-checkbox id=${i.id.toString()??h} scale=l .checked=${i?.active} @calciteCheckboxChange=${this.handleCheckboxChange.bind(this,e,i)}></calcite-checkbox></div></div>`):this.initInput(e,i))}renderLayerBlock(){return this.filterLayerExpressions?.map(e=>this.renderFilterBlocks(e))}renderFilterBlocks(e){let t=this.renderFilter(e),{operator:i}=e,s=i?.trim()==="OR"?"orOperator":"andOperator",n=this.renderZoomTo(e);return x(e.id,l`<calcite-block .heading=${e.title} .description=${this._messages[s]} .expanded=${this.openFilters?!0:void 0} collapsible>${n}${t}</calcite-block>`)}renderCombobox(e,t){return x("combo-select",l`<label class=${p(d.filterUIItemContainer)}><span>${t.name}</span><calcite-combobox id=${t.id.toString()??h} @calciteComboboxChange=${this.handleComboSelect.bind(this,t,e)} .label=${t.name} .placeholder=${t.placeholder} selection-mode=multiple max-items=6 scale=s .overlayPositioning=${this.comboboxOverlayPositioning}>${t.fields?.map((i,s)=>this.renderComboboxItem(t,i,s))}</calcite-combobox></label>`)}renderComboboxItem(e,t,i){let s=this.createLabel(e,t),n=e?.selectedFields?.includes(t)??!1;return x(`${s}-${i}`,l`<calcite-combobox-item .value=${t} .heading=${`${s}`} .selected=${n}></calcite-combobox-item>`)}renderNumberSlider(e,t){let i=t?.min,s=t?.max,n=t?.step?t.step:1,a=i!=null&&s!=null,r=t?.field??"",o=t?.range?.min!=null?t.range.min:i,c=t?.range?.max!=null?t.range.max:s,u=[o,c];return a?x(t?.id.toString(),l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.numberInputContainer)}><calcite-slider id=${t?.id.toString()??h} @calciteSliderChange=${this.handleSliderChange.bind(this,t,e)} .min=${i} .max=${s} .minValue=${i} .maxValue=${s} .minLabel=${this._messages.minSlider?.replace("{field}",r)} .maxLabel=${this._messages.maxSlider?.replace("{field}",r)} .step=${n} label-handles snap .value=${u} .groupSeparator=${t?.format?.digitSeparator} precise></calcite-slider></div></label>`):void 0}renderDatePicker(e,t){let{min:i,max:s}=t,n=[t?.range?.min,t?.range?.max];return i!=null&&s!=null?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.dateInputContainer)}><calcite-input-date-picker id=${t?.id.toString()??h} @calciteInputDatePickerChange=${this.handleDatePickerRangeChange.bind(this,t,e)} .min=${i} .max=${s} calendars=1 overlay-positioning=fixed lang=${m.getLocale()??"en"??h} layout=vertical .value=${n} range></calcite-input-date-picker><calcite-action @click=${this.handleResetDatePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetDatePicker} title=${this._messages.resetDatePicker??h} scale=s></calcite-action></div></label>`:void 0}renderTimePicker(e,t){let{min:i,max:s,range:n}=t,a=i!=null&&s!=null,r=n?.min!=null?n.min:i,o=n?.max!=null?n.max:s;return a?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.timeInputContainer)}><calcite-input-time-picker .id=${`${t?.id.toString()}-min`} .value=${r} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!0)}></calcite-input-time-picker><calcite-input-time-picker .id=${`${t?.id.toString()}-max`} .value=${o} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!1)}></calcite-input-time-picker><calcite-action @click=${this.handleResetTimePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetTimePicker} title=${this._messages.resetTimePicker??h} scale=s></calcite-action></div></label>`:void 0}renderFooter(){let e=this.closeBtnText??this._messages.close,t=this.closeBtn&&this.resetBtn?"half":"full";return l`<div class=${p(d.footer)} slot=footer>${this.resetBtn?l`<calcite-button appearance=outline .width=${t} @click=${this.handleResetFilter} ${w(this.resetBtnEl)}>${this._messages.resetFilter}</calcite-button>`:void 0}${this.closeBtn?l`<calcite-button appearance=solid .width=${t} kind=brand @click=${this.closeBtnOnClick}>${e}</calcite-button>`:void 0}</div>`}renderZoomTo(e){let t=e?.sublayerId?`zoom-to-${e.id}-${e.sublayerId}`:`zoom-to-${e.id}`;return this.zoomBtn?l`<calcite-action id=${t??h} slot=actions-end appearance=transparent .text=${this._messages.zoomTo} title=${this._messages.zoomTo??h} scale=s icon=magnifying-glass-plus @click=${this.handleZoomTo.bind(this,e)}></calcite-action>`:void 0}};I("instant-apps-filter-list",C);return C},"geometry/support/jsonUtils","intl","WebMap","WebScene")
|
|
2
|
+
import{a as x}from"./ONARC6AZ.js";import{a as L}from"./2D6XDWYA.js";import{a as S}from"./LHG6NOEP.js";import{b as I}from"./CVHXDPJO.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import{E as $,F as w,G as k,I as p,h as F,i as l,l as h,q as b}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([T,m,P,O])=>{var D="instant-apps-filter-list calcite-mode-light",M="instant-apps-filter-list calcite-mode-dark",g=["feature","geojson","wfs","csv","scene","subtype-group","point-cloud","map-image","sublayer"];function v(f){return f.replaceAll("'","''")}function y(f,e=!1){if(f){let t=new Date(f),i=`${t.getFullYear()}-${t.getMonth()+1}-${t.getDate()}`;if(e){let s=`${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}`;return`${i} ${s}`}else return i}}function _(f){if(f!=null){f.value=["",""];let e=f.shadowRoot?.querySelectorAll("calcite-input");if(e!=null)for(let t of e)t.value=""}}var R=F`:host{display:block}.instant-apps-filter-list *{box-sizing:border-box}.instant-apps-filter-list__container{height:100%}.instant-apps-filter-list__container calcite-block{--calcite-internal-block-actions-spacing: 0}.instant-apps-filter-list__container calcite-block calcite-action[slot=actions-end]{height:100%}.instant-apps-filter-list__container calcite-block:last-of-type{margin-bottom:0}.instant-apps-filter-list__footer{padding:12px;display:flex}.instant-apps-filter-list__footer calcite-button:nth-child(2){margin-left:6px}.instant-apps-filter-list__item-container,.instant-apps-filter-list__item-container--user-input{display:flex;justify-content:space-between;align-items:center}.instant-apps-filter-list__item-container:not(:last-child),.instant-apps-filter-list__item-container--user-input:not(:last-child){padding-bottom:20px}.instant-apps-filter-list__item-container--user-input{margin:0;display:flex;flex-direction:column;align-items:flex-start}.instant-apps-filter-list__item-container--user-input>span{margin:0 0 6px;font-size:14px;font-weight:400}.instant-apps-filter-list__item-container--user-input calcite-combobox{width:100%;font-size:16px;--calcite-combobox-input-height: 24px}.instant-apps-filter-list__number-input-container{width:100%;display:flex;justify-content:center}.instant-apps-filter-list__number-input-container calcite-slider{width:90%}.instant-apps-filter-list__date-picker-input-container{display:flex;align-items:center;justify-content:unset;width:100%}.instant-apps-filter-list__date-picker-input-container calcite-action{height:65px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__time-picker-input-container{display:grid;grid-template-columns:auto 32px;width:100%}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:first-child{grid-column:1;grid-row:1}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:last-child{grid-column:1;grid-row:2}.instant-apps-filter-list__time-picker-input-container calcite-action{grid-column:2;grid-row:1/span 2;height:64px;width:33px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__title{margin-right:20px}.instant-apps-filter-list__title>p{font-size:14px;font-weight:400;margin:0}.instant-apps-filter-list__checkbox-container{display:flex}.instant-apps-filter-list__checkbox-container calcite-checkbox{height:18px}.instant-apps-filter-list__operator-description{margin:0;--calcite-font-size--1: 12px}.instant-apps-filter-list calcite-input-date-picker{--calcite-font-size--1: 16px}@media(prefers-reduced-motion){.instant-apps-filter-list calcite-loader{--calcite-internal-duration-factor: 2;--calcite-internal-animation-timing-slow: .6s }}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__header-container{background:#2b2b2b;color:#fff}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__operator-description{background:#353535}`,d={filterContainer:"instant-apps-filter-list__container",footer:"instant-apps-filter-list__footer",filterItemTitle:"instant-apps-filter-list__title",filterItemContainer:"instant-apps-filter-list__item-container",filterUIItemContainer:"instant-apps-filter-list__item-container--user-input",checkboxContainer:"instant-apps-filter-list__checkbox-container",numberInputContainer:"instant-apps-filter-list__number-input-container",dateInputContainer:"instant-apps-filter-list__date-picker-input-container",timeInputContainer:"instant-apps-filter-list__time-picker-input-container",operatorDesc:"instant-apps-filter-list__operator-description"},C=class extends k{constructor(){super(...arguments),this._messages=S({name:"instant-apps-filter-list",blocking:!0}),this.resetBtnEl=$(),this.panelEl=$(),this.isLayerExpUpdated=!1,this.isInitUpdateComplete=!1,this.baseClass=D,this.autoUpdateUrl=!1,this.closeBtn=!1,this.comboboxOverlayPositioning="absolute",this.openFilters=!1,this.extentSelector=!1,this.filterCount=0,this.zoomBtn=!0,this.resetBtn=!0,this.resetFiltersOnDisconnect=!0,this.filterListReset=b(),this.filterUpdate=b()}static{this.properties={loading:16,filterLayerExpressions:16,baseClass:16,initDefExpressions:16,initMapImageExpressions:16,initPointCloudFilters:16,layerExpressions:0,autoUpdateUrl:5,closeBtn:5,closeBtnOnClick:0,comboboxOverlayPositioning:1,closeBtnText:1,openFilters:5,extentSelector:5,extentSelectorConfig:0,urlParams:0,filterCount:9,view:0,zoomBtn:5,resetBtn:5,resetFiltersOnDisconnect:5}}static{this.styles=R}async forceReset(){return this.resetExpressions(),await Promise.resolve(!0)}async getCurrentLayerExpressions(){let e=structuredClone(this.filterLayerExpressions);return await Promise.resolve(e)}async getFilterInitState(){return await Promise.resolve({initDefExpressions:this.initDefExpressions,initMapImageExpressions:this.initMapImageExpressions,initPointCloudFilters:this.initPointCloudFilters})}async handleUpdatingT9nData(e){return e==null?await Promise.resolve(!0):(this.filterLayerExpressions?.forEach(t=>{let i=e?.find(s=>s.id===t.id);i!=null&&(t.title=i.title,t.expressions?.forEach(s=>{let n=i.expressions?.find(a=>a.id===s.id);n!=null&&(s.name=n.name)}))}),await Promise.resolve(!0))}async updateInitDefExpressions(e){return this.initDefExpressions=e.initDefExpressions,this.initMapImageExpressions=e.initMapImageExpressions,this.initPointCloudFilters=e.initPointCloudFilters,await Promise.resolve(!0)}connectedCallback(){super.connectedCallback(),!(this.layerExpressions==null&&this.view==null)&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.isInitUpdateComplete=!1,this.handleLayerExpressionsUpdate())}async load(){this.baseClass=L(this.el)==="dark"?M:D,!this.isLayerExpUpdated&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=this.layerExpressions!=null?structuredClone(this.layerExpressions):[],this.view!=null&&this.handleLayerExpressionsUpdate())}willUpdate(e){e.has("view")&&this.handleWhenView(),e.has("layerExpressions")&&(this.isInitUpdateComplete=!1,this.resetAllFilters(),this.filterLayerExpressions=structuredClone(this.layerExpressions),this.handleLayerExpressionsUpdate())}updated(){this.resetBtnEl.value!=null&&(this.resetBtnEl.value.disabled=!(this.filterLayerExpressions&&this.filterLayerExpressions.length>0))}disconnectedCallback(){super.disconnectedCallback(),this.resetFiltersOnDisconnect&&(this.isLayerExpUpdated=!1,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.resetAllFilters())}initFilterConfig(){if(this.filterLayerExpressions&&this.filterLayerExpressions.length>0){if(this.filterLayerExpressions.length===1){let{operator:e}=this.filterLayerExpressions[0],t=e?.trim()==="OR"?"orOperator":"andOperator",i=this.renderZoomTo(this.filterLayerExpressions[0]);return l`<calcite-block class=${p(d.operatorDesc)} .heading=${this._messages[t]} expanded>${i}${this.renderFilter(this.filterLayerExpressions[0])}</calcite-block>`}else if(this.filterLayerExpressions.length>1)return this.renderLayerBlock()}}handleResetDatePicker(e,t){let i=this.panelEl.value?.querySelector(`[id='${e.id}']`);i&&(_(i),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t))}handleResetTimePicker(e,t){this.resetTimePicker(e),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t)}resetTimePicker(e){let t=this.panelEl.value?.querySelector(`[id='${e.id}-min']`),i=this.panelEl.value?.querySelector(`[id='${e.id}-max']`);!t||!i||(t.value=e.min,i.value=e.max)}initInput(e,t){let{type:i,numDisplayOption:s,displayOption:n}=t;if(i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down"))return this.renderCombobox(e,t);if(i==="number"||i==="range")return this.renderNumberSlider(e,t);if(i==="date")return this.renderDatePicker(e,t);if(i==="time-only")return this.renderTimePicker(e,t)}async initExpressions(){if(this.loading=!0,this.filterLayerExpressions==null||this.view==null){this.loading=!1;return}await this.processExpressions(),this.loading=!1}async processExpressions(){this.filterLayerExpressions&&await Promise.all(this.filterLayerExpressions.map(async e=>{await Promise.all((e.expressions||[]).map(async t=>await this.setInitExpression(e,t)))}))}handleResetFilter(){this.resetExpressions(),this.resetAllFilters(),this.generateURLParams(),this.filterListReset.emit()}resetExpressions(){this.filterLayerExpressions?.forEach(e=>{e.expressions?.forEach(t=>{let{type:i,numDisplayOption:s,displayOption:n}=t,a="";i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down")?a="combobox":i==="date"?a="datePicker":i==="number"||i==="range"?a="numberRange":i==="time-only"&&(a="timePicker"),a?this.resetExpressionUI(a,t):this.resetCheckbox(t),t.active=!1})})}resetExpressionUI(e,t){let{id:i}=t;switch(e){case"combobox":{t.selectedFields=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&Array.from(s.children).forEach(n=>{n.selected=!1});break}case"datePicker":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&_(s);break}case"numberRange":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&(s.minValue=t.min,s.maxValue=t.max);break}case"timePicker":t.range=void 0,this.resetTimePicker(t)}}resetCheckbox(e){let{id:t}=e,i=this.panelEl.value?.querySelector(`[id='${t}']`);i&&(i.checked=!1)}resetAllFilters(){this.view?.map?.allLayers?.concat(this.view?.map?.allTables.toArray()??[])?.forEach(e=>{if(!g.includes(e.type))return;let t=e;if(t.type==="point-cloud"){if(!this.initPointCloudFilters)return;t.filters=this.initPointCloudFilters[t.id]}else if(t.type==="map-image")t.allSublayers.forEach(i=>{i.definitionExpression=this.initMapImageExpressions?.[t.id]?.[i.id]??""});else{if(this.initDefExpressions==null)return;t.definitionExpression=this.initDefExpressions[t.id]}})}async updateStringExpression(e,t){let i=this.findFilterLayer(e);return i?(await this.getFeatureAttributes(i,t),this.handleDateField(i,t),t?.selectedFields?(t.definitionExpression=this.createDefinitionExpression(t),!0):!1):!1}handleDateField(e,t){t.type==="date"&&e.fields.find(({name:i})=>i===t.field)?.type==="date-only"&&(t.dateOnly=!0)}createDefinitionExpression(e){if(!e.selectedFields?.length)return"";let t=e.selectedFields.map(i=>typeof i=="number"?i:`'${v(i)}'`);return this.getSelectedFieldsDefExpression(e,t)}async updateNumberExpression(e,t){if(!t?.min&&t?.min!==0||!t?.max&&t?.max!==0){let i=this.findFilterLayer(e);if(!i)return!1;let{field:s}=t;if(s!=null)if(this.setExpressionFormat(i,t,s),t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down")await this.getFeatureAttributes(i,t);else{let n=(await this.calculateMinMaxStatistics(i,s))?.[0]?.attributes;if(t.format?.places!=null?(t.min=this.roundMinNumberDown(n[`min${s}`],t.format.places),t.max=this.roundMaxNumberUp(n[`max${s}`],t.format.places)):(t.min=n[`min${s}`],t.max=n[`max${s}`]),t?.range&&Object.keys(t.range).length){let{min:a,max:r}=t.range;return t.definitionExpression=`${t.field} BETWEEN ${a} AND ${r}`,!0}}}return!1}async updateDateExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=y(a[`min${i}`]),t.max=y(a[`max${i}`]),s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r=r?.replace("+"," "),o=o?.replace("+"," "),r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} '${r??o}'`:t.definitionExpression=`${i} BETWEEN '${r}' AND '${o}'`,!0}}return!1}async updateTimeExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=a[`min${i}`],t.max=a[`max${i}`],s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} TIME '${r??o}'`:t.definitionExpression=`${i} BETWEEN TIME '${r}' AND TIME '${o}'`,!0}}return!1}async updateCodedValueExpression(e,t,i){if(!i?.domain||i?.domain?.type!=="coded-value")return!1;let s=this.findFilterLayer(e);if(!s)return!1;await this.getFeatureAttributes(s,t);let n=i.domain.codedValues.reduce((a,{code:r,name:o})=>(a[r]=o,a),{});if(t.codedValues=n,this.sortCodedValues(t),t.selectedFields?.length){let a=t.selectedFields.map(r=>typeof r=="number"?r:`'${v(r)}'`).join(",");return t.definitionExpression=`${t.field} IN (${a})`,!0}return!1}updateRangeExpression(e,t){if(!t?.domain||t?.domain?.type!=="range")return!1;let{field:i,range:s}=e;return e.min=t.domain.minValue,e.max=t.domain.maxValue,s&&Object.keys(s).length?(e.definitionExpression=`${i} BETWEEN ${s.min} AND ${s.max}`,!0):!1}async getFeatureAttributes(e,t){if(!this.isLayerSupported(e)){t.fields=[];return}let i=await this.getQueryLayer(e),{maxRecordCount:s,supportsMaxRecordCountFactor:n}=this.extractQueryCapabilities(e),a=await i.queryFeatureCount(),r=this.createQuery(i,t);await this.queryDistinctFeatures(i,r,t),this.shouldPaginate(s,a,n)&&this.handlePagination(i,r,s,n,a,t)}isLayerSupported(e){return e&&g.includes(e.type)}extractQueryCapabilities(e){return{maxRecordCount:e.capabilities?.query?.maxRecordCount??e.sourceJSON?.maxRecordCount,supportsMaxRecordCountFactor:e.capabilities?.query?.supportsMaxRecordCountFactor}}createQuery(e,t){let i=e.createQuery();this.applyCacheHint(e,i);let s=t?.field;if(s){let n=this.getInitDefExprFromLayer(e);i.where=n||"1=1",i.outFields=[s],i.orderByFields=[`${s} ASC`],i.returnDistinctValues=!0,i.returnGeometry=!1,i.maxRecordCountFactor=5,this.applyQueryGeometryFromExtentSelector(i)}return i}async queryDistinctFeatures(e,t,i){if(!t.outFields)return;let s=await this.queryForFeatures(e,t,t.outFields[0]);s?.length&&(i.fields=[...new Set(s)],i.type==="string"?i.fields=i.fields.sort((n,a)=>n.localeCompare(a)):i.type==="number"&&(i.fields=i.fields.sort((n,a)=>n-a)))}getQueryCount(e,t){return t?e*5:e}shouldPaginate(e,t,i){let s=this.getQueryCount(e,i);return e!=null&&t>s}async handlePagination(e,t,i,s,n,a){let r=this.getQueryCount(i,s),o=[];for(let c=r;c<n;c+=r){let u=t.clone();u.num=i,u.start=c,o.push(this.queryForFeatures(e,u,t?.outFields?.[0]??""))}Promise.all(o).then(c=>{c.forEach(u=>{u?.length&&a.fields&&a.fields.push(...u)}),a.type==="string"?a.fields=[...new Set(a.fields)].sort((u,E)=>u.localeCompare(E)):a.type==="number"?a.fields=[...new Set(a.fields)].sort((u,E)=>u-E):a.type==="coded-value"&&a.codedValues?this.sortCodedValues(a):a.fields=[...new Set(a.fields)].sort()})}async queryForFeatures(e,t,i){return(await e.queryFeatures(t))?.features.filter(s=>{let n=s.attributes?.[i];return n!=null&&n!==""})?.map(s=>s.attributes?.[i])}async calculateMinMaxStatistics(e,t){if(!e||!g.includes(e.type)||!t)return[];let i=this.createStatisticsQuery(e,t);return(await e.queryFeatures(i))?.features||[]}createStatisticsQuery(e,t){let i=e.createQuery();return i.where=this.getInitDefExprFromLayer(e)||"1=1",this.applyCacheHint(e,i),i.outStatistics=[{onStatisticField:t,outStatisticFieldName:`max${t}`,statisticType:"max"},{onStatisticField:t,outStatisticFieldName:`min${t}`,statisticType:"min"}],this.applyQueryGeometryFromExtentSelector(i),i}getExtent(e,t){if(e&&t){let{constraints:i}=t,s={...i}.geometry;if(s){let n="extent"in s?s:T.fromJSON(s);if(n?.type==="extent"||n?.type==="polygon")return n}}}async setInitExpression(e,t){if(!t.field||!t.type){await this.updateExpression(e,t,void 0);return}let i=this.findFilterLayer(e);i&&((i.loadStatus==="not-loaded"||i.loadStatus==="failed")&&await i.load(),await i.when(async()=>{let s=i.fields?.find(({name:a})=>a===t.field),n=s?.domain?.type;t.type=n==="coded-value"||n==="range"?n:t.type,await this.updateExpression(e,t,s)}))}async updateExpression(e,t,i){let s=await this.handleExpressionType(e,t,i);this.requestUpdate(),s&&this.generateOutput(e)}async handleExpressionType(e,t,i){switch(t.type){case"string":return await this.updateStringExpression(e,t);case"number":return await this.updateNumberExpression(e,t);case"date":return await this.updateDateExpressionBasedOnDisplayOption(e,t);case"time-only":return await this.updateTimeExpressionBasedOnDisplayOption(e,t);case"coded-value":return await this.updateCodedValueExpression(e,t,i);case"range":return await this.updateRangeExpressionBasedOnDisplayOption(e,t,i);case"checkbox":case null:case void 0:return t.active??!1;default:return!1}}async updateDateExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateDateExpression(e,t)}async updateTimeExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateTimeExpression(e,t)}async updateRangeExpressionBasedOnDisplayOption(e,t,i){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):this.updateRangeExpression(t,i)}updateRangeExpressions(e,t,i,s){let n=this.getInitDefExprFromLayerExpression(t);(s||s===0)&&(i||i===0)&&(s===e?.min&&i===e?.max?(e.definitionExpression=void 0,e.active=!1):(e.definitionExpression=n?`(${n}) AND ${e?.field} BETWEEN ${s} AND ${i}`:`${e?.field} BETWEEN ${s} AND ${i}`,e.active=!0)),e.range={min:s,max:i}}handleCheckboxChange(e,t,i){let s=i.target;t.active=s.checked,this.generateOutput(e)}handleSliderChange(e,t,i){let{maxValue:s,minValue:n}=i.target;this.updateRangeExpressions(e,t,s,n),this.generateOutput(t)}handleComboSelect(e,t,i){let s=i.target.selectedItems,{field:n,type:a}=e;if(e.selectedFields=s.map(({value:r})=>r),s.length){let r=s.map(({value:o})=>typeof o=="number"?o:`'${v(o)}'`);e.definitionExpression=this.getSelectedFieldsDefExpression(e,r),e.active=!0}else e.definitionExpression=void 0,e.active=!1;this.generateOutput(t)}getSelectedFieldsDefExpression(e,t){let{field:i,type:s}=e;return s==="date"?t.map(n=>this.buildDateExpression(n,i)).join(" OR "):s==="time-only"?`${i} IN (${t.map(n=>`TIME ${n}`).join(",")})`:`${i} IN (${t.join(",")})`}handleDatePickerRangeChange(e,t,i){let s=i.target,[n,a]=s.valueAsDate,r=n?y(Math.floor(n.getTime()),!0):void 0,o=a?y(Math.floor(a.getTime()),!0):void 0;(r||o)&&(e.definitionExpression=this.constructDefinitionExpression(e.field,r,o),e.range={min:r,max:o},e.active=!0,this.generateOutput(t))}handleTimePickerRangeChange(e,t,i,s){let n=s.target,a=n.value;e.range==null&&(e.range={min:void 0,max:void 0}),i?e.max&&a>e.max?(e.range.min=e.max,n.value=e.range.min):e.min&&a<e.min?(e.range.min=e.min,n.value=e.range.min):e.range.min=a:e.max&&a>e.max?(e.range.max=e.max,n.value=e.range.max):e.min&&a<e.min?(e.range.max=e.min,n.value=e.range.max):e.range.max=a,(e.range.min||e.range.max)&&(e.definitionExpression=this.constructTimeDefinitionExpression(e.field,e.range.min,e.range.max),e.active=!0,this.generateOutput(t))}constructDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN '${t}' AND '${i}'`:`${e} > '${t}'`:`${e} < '${i}'`}constructTimeDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN TIME '${t}' AND TIME '${i}'`:`${e} > TIME '${t}'`:`${e} < TIME '${i}'`}handleURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(document.location.search).get("filter");if(!e){this.filterCount=0;return}let t=e.split(";").map(i=>JSON.parse(i));this.filterCount=this.applyFilters(t)}applyFilters(e){let t=0;return e.forEach(i=>{let s=this.filterLayerExpressions?.find(n=>n.id===i.layerId);s&&s.expressions?.forEach(n=>{n.id?.toString()===i.expressionId?.toString()&&(this.activateExpression(n,i),t++)})}),t}activateExpression(e,t){e.active=!0,t.type==="range"?e.range=t.range:t.type==="select"&&(e.selectedFields=t.selectedFields)}createURLParamExpression(e,t){let{id:i,range:s,selectedFields:n,type:a}=t;return a==="string"||a==="coded-value"||t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down"?{type:"select",layerId:e.id,expressionId:i.toString(),selectedFields:n}:a==="number"||a==="range"||a==="date"||a==="time-only"?{type:"range",layerId:e.id,expressionId:i.toString(),range:s}:{layerId:e.id,expressionId:i.toString()}}autoUpdateURLCheck(e){if(this.autoUpdateUrl){let t=e.toString()?`${window.location.pathname}?${e}`.trim():window.location.pathname;window.history.replaceState({},"",t)}}generateURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(window.location.search),t=this.filterLayerExpressions?.flatMap(i=>i?.expressions?.filter(s=>s.active).map(s=>JSON.stringify(this.createURLParamExpression(i,s)))||[])||[];this.filterCount=t.length,t.length>0?e.set("filter",t.join(";")):e.delete("filter"),this.autoUpdateURLCheck(e),this.urlParams=e}updateFilter(e,t,i){let{id:s}=e,n=this.view.map?.findLayerById(s)??this.view.map?.findTableById(s);if(n!=null)if(n.type==="point-cloud")this.updateFilterLayerPCLFilter(n,i);else if(n.type==="map-image"){let a=n.findSublayerById(e?.sublayerId);a!=null&&this.updateFilterLayerDefExpression(a,t,e)}else this.updateFilterLayerDefExpression(n,t,e)}updateFilterLayerDefExpression(e,t,i){let{operator:s}=i,n=this.getInitDefExprFromLayer(e),a=t?.length>0&&n!=null&&n!==""?`(${t.join(s)}) AND (${n})`:t.length>0?t.join(s):n;e.definitionExpression=a}updateFilterLayerPCLFilter(e,t){e.filters=t}async handleWhenView(){this.view!=null&&(await this.view.map.loadAll(),await this.handleLayerExpressionsUpdate())}async handleLayerExpressionsUpdate(){this.isInitUpdateComplete||(this.updateInitExpressions(),this.handleURLParams(),this.initExpressions())}async handleZoomTo(e){let t=e?.sublayerId?`#zoom-to-${e.id}-${e.sublayerId}`:`#zoom-to-${e.id}`,i=this.panelEl.value?.querySelector(t),s=(n,a)=>{i&&(i.loading=n,i.disabled=a)};if(s(!0,!0),await this.getZoomToExtent(e),this.zoomToExtent){let n=this.zoomToExtent.type==="point"&&this.zoomToExtent.count===1?{target:this.zoomToExtent.extent,zoom:10}:this.zoomToExtent.extent;await this.view.goTo(n)}s(!1,!1)}async getZoomToExtent(e){let t=this.view.allLayerViews.find(({layer:s})=>s.id===e.id).layer,i=t.type==="map-image"?t.findSublayerById(e.sublayerId):t;if(i&&i.type!=="point-cloud"&&g.includes(i?.type)){let s=await this.getQueryLayer(i),n=s.createQuery();n.where=s.definitionExpression??"1=1";let a=await s.queryExtent(n);this.zoomToExtent={...a,type:s.geometryType}}}generateOutput(e){if(this.view==null)return;let t=[],i=[];if(e){for(let s of e.expressions){let{active:n,definitionExpression:a,pointCloudFilters:r}=s;n&&a&&t.push(`(${a})`),n&&r!=null&&r.length>0&&(i=i.concat(r))}this.updateFilter(e,t,i),this.generateURLParams(),this.filterUpdate.emit()}}numberWithCommas(e){return e.toLocaleString("en-US",{maximumFractionDigits:20})}async getInitMap(){let e=this.view.map,t;return this.view.type==="2d"?t=new P({portalItem:{id:e.portalItem.id}}):t=new O({portalItem:{id:e.portalItem.id}}),await t.load(),t}scientificRounding(e,t,i){if(e==null)return;let s;if(!String(e).includes("e"))s=Math[i](e*Math.pow(10,t))/Math.pow(10,t);else{let[n,a]=String(e).split("e").map(o=>Number(o)),r=a+t;s=Math[i](+`${n}e${r}`)*Math.pow(10,-t)}return+s.toFixed(t)}roundMinNumberDown(e,t){return this.scientificRounding(e,t,"floor")}roundMaxNumberUp(e,t){return this.scientificRounding(e,t,"ceil")}roundNumber(e,t){return this.scientificRounding(e,t,"round")??e}setExpressionFormat(e,t,i){if(e?.popupTemplate!=null){let s=e?.popupTemplate.fieldInfos?.find(({fieldName:n})=>n===i);s?.format&&(t.format=s.format)}}getInitDefExprFromLayer(e){return e.type==="sublayer"?this.initMapImageExpressions?.[e?.layer?.id??""]?.[e.id]??"":this.initDefExpressions?.[e.id]??""}getInitDefExprFromLayerExpression(e){return e?.sublayerId!=null?this.initMapImageExpressions?.[e.id]?.[e.sublayerId]??"":this.initDefExpressions?.[e.id]??""}findFilterLayer(e){let t=this.view.map?.allLayers.concat(this.view.map?.allTables.toArray()??[])?.find(({id:i})=>i===e.id);return t?.type==="map-image"?t?.findSublayerById(e.sublayerId):t}createLabel(e,t){if(e.type==="coded-value")return e?.codedValues?.[t]??t;if(e.type==="number"&&typeof t=="number"){let i=t;return e.format?.places!=null&&(i=this.roundNumber(t,e.format.places)),e.format?.digitSeparator?this.numberWithCommas(i):i}if(e.type==="date"&&!e.dateOnly){let i=m.convertDateFormatToIntlOptions("short-date-long-time");return m.formatDate(t,i)}if(e.type==="time-only"){let i=m.convertDateFormatToIntlOptions("long-time");return m.formatTimeOnly(t,i)}return t}buildDateExpression(e,t){if(e){let i=new Date(e),s=new Date(e),n=new Date(s.setDate(i.getDate()+1)),a=`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}`,r=`${i.getHours()}:${i.getMinutes()}:${i.getSeconds()}`,o=`${n.getHours()}:${n.getMinutes()}:${n.getSeconds()}`,c=`${n.getFullYear()}-${n.getMonth()+1}-${n.getDate()}`;return`${t} BETWEEN '${a} ${r}' AND '${c} ${o}'`}}async getQueryLayer(e){let t=e.type==="sublayer"?await e.createFeatureLayer():e;if(!t)throw new Error("Failed to create feature layer");return t}applyCacheHint(e,t){e?.capabilities?.query?.supportsCacheHint&&(t.cacheHint=!0)}applyQueryGeometryFromExtentSelector(e){if(!this.extentSelector||!this.extentSelectorConfig)return;let t=this.getExtent(this.extentSelector,this.extentSelectorConfig);t&&(e.geometry=t,e.spatialRelationship="intersects")}async updateInitExpressions(){if(!this.view?.map)return;let e=await this.getInitMap();this.initDefExpressions={},this.initPointCloudFilters={},this.initMapImageExpressions={},e.allLayers.concat(e.allTables.toArray()??[]).forEach(t=>{if(!g.includes(t.type))return;let i=t;if(i.type==="point-cloud")this.initPointCloudFilters||(this.initPointCloudFilters={}),this.initPointCloudFilters[i.id]=i.filters;else if(i.type==="map-image")this.initMapImageExpressions||(this.initMapImageExpressions={}),this.initMapImageExpressions[i.id]=i.allSublayers.reduce((s,n)=>(s[n.id]=n.definitionExpression??"",s),{});else{if(!this.initDefExpressions)return;this.initDefExpressions[i.id]=i.definitionExpression??""}}),this.isInitUpdateComplete=!0}sortCodedValues(e){typeof e.fields?.[0]=="number"?e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i];return(s??t)-(n??i)}):e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i],a=s??t,r=n??i;return a.localeCompare(r)})}render(){let e=this.loading?this.renderLoading():this.initFilterConfig(),t=this.renderFooter();return l`<calcite-panel class=${p(this.baseClass)} ${w(this.panelEl)}><slot slot=header-content name=filter-header-content></slot><slot slot=header-actions-end name=filter-header-actions-end></slot>${x("filter-container",l`<div class=${p(d.filterContainer)}>${e}${t}</div>`)}</calcite-panel>`}renderLoading(){return l`<calcite-loader label="Loading filters..."></calcite-loader>`}renderFilter(e){let{id:t}=e;return e.expressions.map((i,s)=>i.type==="checkbox"||i.type==null?x(`${t}-${s}`,l`<div class=${p(d.filterItemContainer)}><div class=${p(d.filterItemTitle)}><p>${i.name}</p></div><div class=${p(d.checkboxContainer)}><calcite-checkbox id=${i.id.toString()??h} scale=l .checked=${i?.active} @calciteCheckboxChange=${this.handleCheckboxChange.bind(this,e,i)}></calcite-checkbox></div></div>`):this.initInput(e,i))}renderLayerBlock(){return this.filterLayerExpressions?.map(e=>this.renderFilterBlocks(e))}renderFilterBlocks(e){let t=this.renderFilter(e),{operator:i}=e,s=i?.trim()==="OR"?"orOperator":"andOperator",n=this.renderZoomTo(e);return x(e.id,l`<calcite-block .heading=${e.title} .description=${this._messages[s]} .expanded=${this.openFilters?!0:void 0} collapsible>${n}${t}</calcite-block>`)}renderCombobox(e,t){return x("combo-select",l`<label class=${p(d.filterUIItemContainer)}><span>${t.name}</span><calcite-combobox id=${t.id.toString()??h} @calciteComboboxChange=${this.handleComboSelect.bind(this,t,e)} .label=${t.name} .placeholder=${t.placeholder} selection-mode=multiple max-items=6 scale=s .overlayPositioning=${this.comboboxOverlayPositioning}>${t.fields?.map((i,s)=>this.renderComboboxItem(t,i,s))}</calcite-combobox></label>`)}renderComboboxItem(e,t,i){let s=this.createLabel(e,t),n=e?.selectedFields?.includes(t)??!1;return x(`${s}-${i}`,l`<calcite-combobox-item .value=${t} .heading=${`${s}`} .selected=${n}></calcite-combobox-item>`)}renderNumberSlider(e,t){let i=t?.min,s=t?.max,n=t?.step?t.step:1,a=i!=null&&s!=null,r=t?.field??"",o=t?.range?.min!=null?t.range.min:i,c=t?.range?.max!=null?t.range.max:s,u=[o,c];return a?x(t?.id.toString(),l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.numberInputContainer)}><calcite-slider id=${t?.id.toString()??h} @calciteSliderChange=${this.handleSliderChange.bind(this,t,e)} .min=${i} .max=${s} .minValue=${i} .maxValue=${s} .minLabel=${this._messages.minSlider?.replace("{field}",r)} .maxLabel=${this._messages.maxSlider?.replace("{field}",r)} .step=${n} label-handles snap .value=${u} .groupSeparator=${t?.format?.digitSeparator} precise></calcite-slider></div></label>`):void 0}renderDatePicker(e,t){let{min:i,max:s}=t,n=[t?.range?.min,t?.range?.max];return i!=null&&s!=null?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.dateInputContainer)}><calcite-input-date-picker id=${t?.id.toString()??h} @calciteInputDatePickerChange=${this.handleDatePickerRangeChange.bind(this,t,e)} .min=${i} .max=${s} calendars=1 overlay-positioning=fixed lang=${m.getLocale()??"en"??h} layout=vertical .value=${n} range></calcite-input-date-picker><calcite-action @click=${this.handleResetDatePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetDatePicker} title=${this._messages.resetDatePicker??h} scale=s></calcite-action></div></label>`:void 0}renderTimePicker(e,t){let{min:i,max:s,range:n}=t,a=i!=null&&s!=null,r=n?.min!=null?n.min:i,o=n?.max!=null?n.max:s;return a?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.timeInputContainer)}><calcite-input-time-picker .id=${`${t?.id.toString()}-min`} .value=${r} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!0)}></calcite-input-time-picker><calcite-input-time-picker .id=${`${t?.id.toString()}-max`} .value=${o} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!1)}></calcite-input-time-picker><calcite-action @click=${this.handleResetTimePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetTimePicker} title=${this._messages.resetTimePicker??h} scale=s></calcite-action></div></label>`:void 0}renderFooter(){let e=this.closeBtnText??this._messages.close,t=this.closeBtn&&this.resetBtn?"half":"full";return l`<div class=${p(d.footer)} slot=footer>${this.resetBtn?l`<calcite-button appearance=outline .width=${t} @click=${this.handleResetFilter} ${w(this.resetBtnEl)}>${this._messages.resetFilter}</calcite-button>`:void 0}${this.closeBtn?l`<calcite-button appearance=solid .width=${t} kind=brand @click=${this.closeBtnOnClick}>${e}</calcite-button>`:void 0}</div>`}renderZoomTo(e){let t=e?.sublayerId?`zoom-to-${e.id}-${e.sublayerId}`:`zoom-to-${e.id}`;return this.zoomBtn?l`<calcite-action id=${t??h} slot=actions-end appearance=transparent .text=${this._messages.zoomTo} title=${this._messages.zoomTo??h} scale=s icon=magnifying-glass-plus @click=${this.handleZoomTo.bind(this,e)}></calcite-action>`:void 0}};I("instant-apps-filter-list",C);return C},"geometry/support/jsonUtils","intl","WebMap","WebScene")
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import c from"./
|
|
2
|
+
import c from"./SGQBWAPU.js";import"./7VD3Y4IF.js";import b from"./H2UL463J.js";import a from"./LKZFKOG4.js";import"./2B4SGB3I.js";import"./I2NTSKBD.js";import"./3UKDJZ2D.js";import"./MGEDATQ7.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import"./TEHBW75B.js";import"./IHG7KTNC.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./YKB6256M.js";import"./N22MFQSQ.js";import"./N7BXCDA3.js";import"./ZX3UHK6P.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LP2JYX4X.js";import"./GF4QELNV.js";import"./AYSQIO6L.js";import"./YQHYMLC7.js";import"./DKD2EGQP.js";import"./5O53T3SW.js";import"./AJZDBHB6.js";import"./FES7B3SJ.js";import"./2I5LGZNX.js";import"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([,,a])=>{return a},a,b,c)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"./QPIMTXPL.js";var e='# Your Role\r\nYou are a specialized AI assistant for ArcGIS Solutions. Your job is to update an existing solution design based on the User Query by producing a minimal set of RFC 6902\u2013compliant JSON Patch operations.\r\n\r\nYou must follow all rules below at all times. If a request conflicts with these rules, prioritize the rules and adapt the design accordingly.\r\n\r\n# Your Task\r\n- Analyze the Current Solution Design and the User Query\r\n- Produce the fewest possible JSON Patch operations required to satisfy the request\r\n- Never modify, remove, or replace sections unrelated to the request\r\n\r\n# Response Guidelines\r\n- Populate `response` with a concise explanation of exactly what you changed\r\n- Refer to yourself as \u201CI\u201D or \u201Cwe\u201D.\r\n- If the request violates any rule below:\r\n - Politely decline in `response`\r\n - Return an empty `patches` array\r\n- Do not partially fulfill a request if any part of it violates the rules\r\n- The `response` must describe changes using UI-visible concepts only.\r\n- NEVER refer to internal JSON property names, schema terms, or implementation details in `response`.\r\n - This includes (but is not limited to): `choiceList`, `type`, `length`, `id`, `_idx`, `featureLayer`, `layers`, `customFields`.\r\n- When explaining changes:\r\n - Use UI terms such as \u201Cfield\u201D, \u201Coptions\u201D, \u201Callowed values\u201D, "domain", \u201Cchoice list\u201D, \u201Cname\u201D, or \u201Cdescription\u201D.\r\n- Always refer to custom fields as just fields. Do NOT include the word custom\r\n\r\n## Non-Change Requests\r\n- If the User Query does NOT request a specific change to the solution design:\r\n - Return an empty `patches` array.\r\n - Use the `response` to:\r\n - Briefly acknowledge the user\u2019s message, and\r\n - Let them know you\u2019re available to help make changes if they want to adjust anything\r\n - The `response` MUST:\r\n - Be no more than 2 sentences\r\n - Use UI-visible concepts only\r\n - Avoid internal schema terms or implementation details\r\n\r\n# Language and Localization Rules\r\n- Detect the primary language of the User Query\r\n- Use that language consistently for all user-facing strings unless explicitly prohibited\r\n\r\n# JSON Patch Rules\r\n\r\n## Array Indexing with `_idx`\r\n- Every array element includes a read-only `_idx`\r\n- Always use `_idx` values in patch paths\r\n- Never calculate array positions manually\r\n- Never include `_idx` itself in any patch path or value\r\n- When removing multiple elements from the same array, order those `remove` operations from highest `_idx` to lowest. This prevents index-shifting from making later removals target the wrong element.\r\n\r\n## Patch Minimization\r\n- Prefer updating the most specific path possible\r\n- Do not replace an entire object when a child property can be updated\r\n- Do not combine unrelated changes into a single operation\r\n\r\n## Encoding the `value` Field\r\n- The `value` field must always be a JSON-encoded string (as if passed to `JSON.stringify`).\r\n- `remove` operations must not include a `value`\r\n\r\nExamples:\r\n- Replace the alias of a custom field whose `_idx` is `2` in layer `_idx: 0` of the feature layer:\r\n `{{ "op": "replace", "path": "/featureLayer/layers/0/customFields/2/alias", "value": "\\"New Alias\\"" }}`\r\n- Append a new custom field to layer `_idx: 1` of the feature layer:\r\n `{{ "op": "add", "path": "/featureLayer/layers/1/customFields/-", "value": "{{\\"name\\":\\"my_field\\",\\"type\\":\\"string\\",\\"alias\\":\\"My Field\\",\\"description\\":\\"...\\",\\"choiceList\\":null,\\"length\\":255}}" }}`\r\n- Remove a custom field whose `_idx` is `3`:\r\n `{{ "op": "remove", "path": "/featureLayer/layers/0/customFields/3" }}`\r\n- Update the solution title:\r\n `{{ "op": "replace", "path": "/solution/title", "value": "\\"Updated Title\\"" }}`\r\n- Update tags:\r\n `{{ "op": "replace", "path": "/solution/tags", "value": "[\\"tag1\\",\\"tag2\\",\\"tag3\\"]" }}`\r\n- Update an item description (item `_idx: 1`):\r\n `{{ "op": "replace", "path": "/items/1/description", "value": "\\"New description.\\"" }}`\r\n\r\nDo NOT include `_idx` itself in any patch operation path or value\r\n\r\n# Design Rules\r\n\r\n## Solution\r\n- Only `title`, `description`, and `tags` may be updated\r\n- Only modify values. Do not add or remove properties\r\n\r\n## Strings\r\n- Only `value` may be updated\r\n- `key` and `description` are immutable\r\n- Always return the same number of strings\r\n\r\n## Items\r\n- Only `title` and `description` may be updated\r\n- `id` and `type` are immutable\r\n- Items cannot be added or removed\r\n\r\n## Feature Layers\r\n- Supported layer types: `Point`, `
|
|
2
|
+
import"./QPIMTXPL.js";var e='# Your Role\r\nYou are a specialized AI assistant for ArcGIS Solutions. Your job is to update an existing solution design based on the User Query by producing a minimal set of RFC 6902\u2013compliant JSON Patch operations.\r\n\r\nYou must follow all rules below at all times. If a request conflicts with these rules, prioritize the rules and adapt the design accordingly.\r\n\r\n# Your Task\r\n- Analyze the Current Solution Design and the User Query\r\n- Produce the fewest possible JSON Patch operations required to satisfy the request\r\n- Never modify, remove, or replace sections unrelated to the request\r\n\r\n# Response Guidelines\r\n- Populate `response` with a concise explanation of exactly what you changed\r\n- Refer to yourself as \u201CI\u201D or \u201Cwe\u201D.\r\n- If the request violates any rule below:\r\n - Politely decline in `response`\r\n - Return an empty `patches` array\r\n- Do not partially fulfill a request if any part of it violates the rules\r\n- The `response` must describe changes using UI-visible concepts only.\r\n- NEVER refer to internal JSON property names, schema terms, or implementation details in `response`.\r\n - This includes (but is not limited to): `choiceList`, `type`, `length`, `id`, `_idx`, `featureLayer`, `layers`, `customFields`.\r\n- When explaining changes:\r\n - Use UI terms such as \u201Cfield\u201D, \u201Coptions\u201D, \u201Callowed values\u201D, "domain", \u201Cchoice list\u201D, \u201Cname\u201D, or \u201Cdescription\u201D.\r\n- Always refer to custom fields as just fields. Do NOT include the word custom\r\n\r\n## Non-Change Requests\r\n- If the User Query does NOT request a specific change to the solution design:\r\n - Return an empty `patches` array.\r\n - Use the `response` to:\r\n - Briefly acknowledge the user\u2019s message, and\r\n - Let them know you\u2019re available to help make changes if they want to adjust anything\r\n - The `response` MUST:\r\n - Be no more than 2 sentences\r\n - Use UI-visible concepts only\r\n - Avoid internal schema terms or implementation details\r\n\r\n# Language and Localization Rules\r\n- Detect the primary language of the User Query\r\n- Use that language consistently for all user-facing strings unless explicitly prohibited\r\n\r\n# JSON Patch Rules\r\n\r\n## Array Indexing with `_idx`\r\n- Every array element includes a read-only `_idx`\r\n- Always use `_idx` values in patch paths\r\n- Never calculate array positions manually\r\n- Never include `_idx` itself in any patch path or value\r\n- When removing multiple elements from the same array, order those `remove` operations from highest `_idx` to lowest. This prevents index-shifting from making later removals target the wrong element.\r\n\r\n## Patch Minimization\r\n- Prefer updating the most specific path possible\r\n- Do not replace an entire object when a child property can be updated\r\n- Do not combine unrelated changes into a single operation\r\n\r\n## Encoding the `value` Field\r\n- The `value` field must always be a JSON-encoded string (as if passed to `JSON.stringify`).\r\n- `remove` operations must not include a `value`\r\n\r\nExamples:\r\n- Replace the alias of a custom field whose `_idx` is `2` in layer `_idx: 0` of the feature layer:\r\n `{{ "op": "replace", "path": "/featureLayer/layers/0/customFields/2/alias", "value": "\\"New Alias\\"" }}`\r\n- Append a new custom field to layer `_idx: 1` of the feature layer:\r\n `{{ "op": "add", "path": "/featureLayer/layers/1/customFields/-", "value": "{{\\"name\\":\\"my_field\\",\\"type\\":\\"string\\",\\"alias\\":\\"My Field\\",\\"description\\":\\"...\\",\\"choiceList\\":null,\\"length\\":255}}" }}`\r\n- Remove a custom field whose `_idx` is `3`:\r\n `{{ "op": "remove", "path": "/featureLayer/layers/0/customFields/3" }}`\r\n- Update the solution title:\r\n `{{ "op": "replace", "path": "/solution/title", "value": "\\"Updated Title\\"" }}`\r\n- Update tags:\r\n `{{ "op": "replace", "path": "/solution/tags", "value": "[\\"tag1\\",\\"tag2\\",\\"tag3\\"]" }}`\r\n- Update an item description (item `_idx: 1`):\r\n `{{ "op": "replace", "path": "/items/1/description", "value": "\\"New description.\\"" }}`\r\n\r\nDo NOT include `_idx` itself in any patch operation path or value\r\n\r\n# Design Rules\r\n\r\n## Solution\r\n- Only `title`, `description`, and `tags` may be updated\r\n- Only modify values. Do not add or remove properties\r\n\r\n## Strings\r\n- Only `value` may be updated\r\n- `key` and `description` are immutable\r\n- Always return the same number of strings\r\n\r\n## Items\r\n- Only `title` and `description` may be updated\r\n- `id` and `type` are immutable\r\n- Items cannot be added or removed\r\n\r\n## Feature Layers\r\n- Supported layer types: `Point`, `Polyline`, `Polygon`, `Table`\r\n\r\n### Layer Naming Rules\r\n- Layer `name` values should be written in Title Case unless specifically requested otherwise\r\n- Layer names should be localized to the detected User Query language unless specifically requested otherwise\r\n\r\n### Add Layers Rule\r\n- If `addLayers: false`:\r\n - Layers can NOT be added or removed\r\n - Layer `id` values are immutable\r\n- If `addLayers: true`:\r\n - Layers may be added or removed\r\n - Each new layer must receive a unique `id` starting at 0\r\n- Regardless of `addLayers`:\r\n - Fields within a layer or table may be modified according to the Required Fields and Custom Fields rules.\r\n - Custom fields may be added or removed when explicitly requested.\r\n\r\n### Layer Type Mutability Rule\r\n- Never edit the `typeMutable` property\r\n- If `typeMutable: true`:\r\n - The layer type must be chosen: `Point`, `Polyline`, `Polygon`, `Table`\r\n - The layer type may be changed without restriction\r\n- If `typeMutable: false`:\r\n - The layer type may never be changed\r\n - Requests to change the layer type should be rejected\r\n\r\n### Required Fields\r\n- Required fields are protected:\r\n - Cannot be removed\r\n - Cannot be moved\r\n - `name`, `type`, and `choiceList` are immutable\r\n- Only `alias` and `description` may be updated if explicitly requested\r\n\r\n### Custom Fields\r\n- Custom fields may be added, modified, or removed\r\n- Field names:\r\n - lowercase\r\n - start with a letter\r\n - only letters, numbers, and underscores\r\n- Localize the field `name` to the detected User Query language\r\n- Valid types: `string`, `integer`, `double`, `date`\r\n- String fields:\r\n - Set `choiceList` to an array of allowed values if applicable, else `null`\r\n - All`choiceList` values should be written in the detected User Query language unless specifically requested otherwise\r\n - Set an appropriate `length`\r\n- Non-string fields:\r\n - `choiceList: null`\r\n - `length: null`\r\n- Boolean values must be implemented as:\r\n - `string` with a two-value `choiceList`\r\n - The two values should be localized to the detected User Query language unless specifically requested otherwise\r\n - Preserve meaning equivalent to \u201CYes\u201D and \u201CNo\u201D (affirmative/negative)\r\n- No duplicate field names within the same layer\r\n\r\n# Current Solution Design\r\n{currentDesign}\r\n\r\n# User Query\r\n{query}';export{e as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{a as M}from"./PYBOC3DB.js";import{a as w}from"./ONARC6AZ.js";import{a as C}from"./LHG6NOEP.js";import{b as S}from"./CVHXDPJO.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import{G as D,I as y,h as E,i as p,l as x,q as k}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([m,P,$,B])=>{var o={Loading:"loading",Disabled:"disabled",Complete:"complete",Calculating:"calculating",Bottom:"bottom",Left:"left",Floating:"floating"},g={Up:"chevron-up",Down:"chevron-down",Left:"chevron-left",Right:"chevron-right",Blank:"blank"},U={Small:"s",Large:"l"},A={Transparent:"transparent"},F={Start:"start",Center:"center"},N=E`:host{display:block;--instant-apps-scoreboard-background-color: var(--calcite-color-foreground-1);--instant-apps-scoreboard-text-color: var(--calcite-color-text-1);--instant-apps-scoreboard-mobile-position-bottom: 0;background-color:var(--instant-apps-scoreboard-background-color);color:var(--instant-apps-scoreboard-text-color)}:host .instant-apps-scoreboard{box-sizing:border-box;border:1px solid var(--calcite-color-border-1);box-shadow:0 3px 15px #0003;border-radius:3px}:host .instant-apps-scoreboard calcite-loader{--calcite-loader-padding: 1rem}:host .instant-apps-scoreboard__items-container{display:flex}:host .instant-apps-scoreboard__items-container calcite-action{height:100%}:host .instant-apps-scoreboard__items,:host .instant-apps-scoreboard__item{box-sizing:border-box;display:flex}:host .instant-apps-scoreboard__items{list-style-type:none;padding-left:0;margin:0;padding-top:1.75%;padding-bottom:1.75%;width:100%}:host .instant-apps-scoreboard__item{flex-direction:column;justify-content:flex-end;align-items:center;padding:1%}:host .instant-apps-scoreboard__item-label{box-sizing:border-box;line-height:24px;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;word-break:break-word}:host .instant-apps-scoreboard__item-label{font-size:1rem;font-weight:400;text-align:center}:host .instant-apps-scoreboard__item-value{display:flex;justify-content:center;align-items:center;min-width:32px;min-height:32px;margin-top:5px;font-size:1.5rem;font-weight:900}:host .instant-apps-scoreboard__item-value-placeholder{display:inline-block;width:32px;height:32px;background-color:var(--calcite-color-foreground-3);border-radius:4px}:host(.instant-apps-scoreboard__position--bottom){bottom:0}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard{display:flex;justify-content:center}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard__items{display:flex;justify-content:center}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard__item{min-width:10vw;vertical-align:top}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--floating){left:50%;max-width:calc(100% - 30px);transform:translate(-50%,-15px)}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--floating) .instant-apps-scoreboard{min-width:25vw}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned){left:unset;bottom:0;transform:unset;width:100%}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard{min-width:unset}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__items-container{width:100%;justify-content:space-between}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard{display:flex;justify-content:center;align-items:center;width:10vw;overflow-y:auto}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items-container{flex-direction:column;height:100%;box-sizing:border-box}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items-container calcite-action{height:unset;width:100%}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items{flex-direction:column;padding:10px}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__item{padding-top:.5vh;padding-bottom:.5vh}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--floating){top:15px;left:15px;max-height:calc(100% - 30px)}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--floating) .instant-apps-scoreboard{min-width:10vw;min-height:35vh}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned){top:unset;left:unset;transform:unset;height:100%}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard{height:100%}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__items-container{justify-content:space-between}:host(.instant-apps-scoreboard__position--left.instant-apps-scoreboard__mode--floating){left:15px}:host(.instant-apps-scoreboard__position--right.instant-apps-scoreboard__mode--floating){left:unset;right:15px}:host(.instant-apps-scoreboard__position--left.instant-apps-scoreboard__mode--pinned){left:0}:host(.instant-apps-scoreboard__position--right.instant-apps-scoreboard__mode--pinned){left:unset;right:0}@media only screen and (min-width:992px){:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned){bottom:var(--instant-apps-scoreboard-mobile-position-bottom)}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__item{justify-content:center;min-width:unset;flex-grow:1}}`,v="instant-apps-scoreboard",O=6,T=`${v}--`,h=`${v}__`,j=M.medium[1],n={itemsContainer:`${h}items-container`,items:`${h}items`,item:`${h}item`,label:`${h}item-label`,value:`${h}item-value`,valuePlaceholder:`${h}item-value-placeholder`,position:{bottom:`${h}position--bottom`,side:`${h}position--side`,left:`${h}position--left`,right:`${h}position--right`},mode:{floating:`${h}mode--floating`,pinned:`${h}mode--pinned`}},I=class extends D{constructor(){super(...arguments),this._messages=C({name:"instant-apps-scoreboard"}),this.state=o.Loading,this.itemIndex=0,this.isMobile=!1,this.position=o.Bottom,this.mode=o.Floating,this.itemLimit=6,this.autoDockEnabled=!0,this.geometry=null,this.queryType="layerView",this.scoreboardItemsUpdated=k()}static{this.properties={state:16,itemIndex:16,layers:16,layerViews:16,isMobile:16,view:0,items:0,position:1,mode:1,itemLimit:9,autoDockEnabled:5,geometry:0,queryType:1}}static{this.styles=N}get checkMobile(){let t=this.el?.parentElement?.offsetWidth;return t&&!Number.isNaN(t)&&t>0?t<j:!1}get getItemsToDisplay(){let t=this.getItemLimit();return this.items.filter(e=>e.visible).slice(this.itemIndex,t+this.itemIndex)}get isEnd(){let t=this.getItemLimit(),e=this.items.slice(this.items.length-t).map(s=>s.uid),a=this.items.slice(this.itemIndex,this.itemIndex+t).map(s=>s.uid);return e.every((s,l)=>s===a[l])}async load(){let t=new ResizeObserver(()=>{this.itemIndex=0,this.autoDockEnabled&&(this.isMobile=!!this.checkMobile)});if(this.el?.parentElement&&t.observe(this.el.parentElement),!this.view||!this.items)this.state=o.Disabled;else try{await this.initModules()}catch{this.state=o.Disabled}}willUpdate(t){t.has("items")&&this.generateUIDs(),t.has("items")&&this.storeLayers(),t.has("layers")&&this.storeLayerViews(),t.has("geometry")&&(this.hasUpdated||this.geometry!==null)&&this.calculateScoreboardItemValuesFromGeometry(),t.has("layerViews")&&this.calculateScoreboardItemValues()}async loaded(){if(this.state!==o.Disabled)try{await m?.whenOnce(()=>this.view?.ready),this.generateUIDs(),await this.loadMapResources(),this.storeLayers(),this.initViewUpdateWatcher()}catch{this.state=o.Disabled,console.error(`${v}: FAILED TO LOAD MAP RESOURCES`)}}disconnectedCallback(){super.disconnectedCallback(),this.state=o.Disabled,this.itemIndex=0,this.layers?.removeAll(),this.layers?.destroy(),this.layers=null,this.layerViews?.removeAll(),this.layerViews?.destroy(),this.layerViews=null,this.handles?.removeAll(),this.handles?.destroy(),this.handles=null}scoreboardItemsUpdatedHandler(){this.scoreboardItemsUpdated.emit(this.items)}generateUIDs(){this.itemIndex=0,this.items.forEach(this.generateUID())}async storeLayers(){this.state=o.Calculating,await(this.view?.map).loadAll();let t=this.items.map(i=>i?.layer?.id),e=i=>i.type!=="feature"||!i.isTable,a=i=>i.type==="feature"||i.type==="scene",s=i=>t.includes(i.id),l=i=>e(i)&&a(i)&&s(i);this.layers=this.view?.map?.allLayers?.filter(i=>l(i)),this.watchLayerVisibility()}async storeLayerViews(){if(this.layers&&this.layers.length>0){this.layers.forEach(s=>s.outFields=["*"]);let t=[];this.layers.forEach(s=>{let l=s,i=this.view?.whenLayerView(l);t.push(i)});let e=(await Promise.allSettled(t)).filter(s=>s.status==="fulfilled"&&s.value).map(s=>s.value),a=[];e.forEach(s=>a.push(m.whenOnce(()=>!s.updating))),await Promise.all(a),this.layerViews=new $([...e])}}calculateScoreboardItemValuesFromGeometry(){this.calculateScoreboardItemValues()}async calculateScoreboardItemValues(){if(this.layers&&this.layers.length===0||this.layerViews&&this.layerViews.length===0)return;this.state=o.Calculating;let t=[...this.items],e=[];this.queryStatDefinitions(t,e);let a=await Promise.all(e);this.handleQueryFeaturesResponses(a,t),this.items.length=0,t.forEach(s=>this.items.push(s)),this.state=o.Complete,this.scoreboardItemsUpdatedHandler(),this.initStationaryWatcher()}async initModules(){try{this.handles=new B,this.layers=new $([]),this.layerViews=new $([])}catch(t){throw console.error(t),this.state=o.Disabled,new Error("Failed to initialize modules")}}async loadMapResources(){if(this.view){let{map:t}=this.view,e=t;try{await e.loadAll()}catch(a){throw console.error(a),this.state=o.Disabled,new Error("Failed to load map resources")}}}generateUID(){return t=>{let e=Math.random(),a=Math.floor(Math.random()*10)+11,s=e.toString(a).replace("0.","");t.uid=s}}previousItem(){this.itemIndex=this.itemIndex-1}nextItem(){this.itemIndex=this.itemIndex+1}queryStatDefinitions(t,e){let a=i=>{let{field:r,operation:d}=i,c=r,b=`${r}_${d}`;return{onStatisticField:c,outStatisticFieldName:b,statisticType:d}},s=(i,r)=>{let d=this.queryType==="layer"?i.layer.createQuery():i.createQuery(),c=[r],b=this.geometry??this.view?.extent;d.outStatistics=c,d.geometry=b;let u=i?.filter?.timeExtent??i?.featureEffect?.filter?.timeExtent??null;return u&&(d.timeExtent=u),d},l=()=>async i=>{let r=this.layerViews?.find(u=>u.layer.id===i?.layer?.id);if(!r)return;let d=a(i),c=s(r,d),b=this.queryType==="layer"?r.layer.queryFeatures(c):r.queryFeatures(c);e.push(b)};t.forEach(l())}handleQueryFeaturesResponses(t,e){let a=i=>{let r=i.features[0],{attributes:d}=r;return Object.values(d)[0]},s=()=>({notation:"compact",compactDisplay:"short"}),l=()=>(i,r)=>{let d=a(i),c=s(),b=d!==null,u=b?P.formatNumber(d,c):null,_=b?`${u}`:"";e[r].displayValue=_,e[r].value=d};t.forEach(l())}initStationaryWatcher(){let t={once:!0,initial:!0},e=()=>m.when(()=>!this.view?.interacting,()=>{this.queryType==="layerView"&&this.calculateScoreboardItemValues()},t),a=()=>m.when(()=>this.view?.stationary,()=>e()),s="stationary-watcher-key";this.handles?.has(s)&&this.handles.remove(s),this.handles?.add(a(),s)}initViewUpdateWatcher(){return m.watch(()=>this.view?.updating,()=>{m.when(()=>!this.view?.updating,()=>{this.queryType==="layerView"&&this.calculateScoreboardItemValues()},{once:!0,initial:!0})},{initial:!0})}watchLayerVisibility(){if(!this.layers)return;let t="visbilityWatcherKey";this.handles?.remove(t);let e=[],a=s=>{let l=async()=>{let r=await this.view?.whenLayerView(s);await m.whenOnce(()=>!r?.updating),this.calculateScoreboardItemValues()},i=m.watch(()=>s?.visible,async()=>await l());e.push(i)};this.layers.forEach(a),this.handles?.add([...e],t)}getItemLimit(){return this.itemLimit<2||this.itemLimit>6?O:this.itemLimit}setHostClassNames(){this.isMobile||this.position===o.Bottom?(this.el.classList.remove(n.position.side,n.position.left,n.position.right),this.el.classList.add(n.position.bottom)):(this.el.classList.remove(n.position.bottom),this.el.classList.add(n.position.side),this.position===o.Left?(this.el.classList.remove(n.position.right),this.el.classList.add(n.position.left)):(this.el.classList.remove(n.position.left),this.el.classList.add(n.position.right))),this.isMobile?(this.el.classList.remove(n.mode.floating),this.el.classList.add(n.mode.pinned)):this.mode===o.Floating?(this.el.classList.remove(n.mode.pinned),this.el.classList.add(n.mode.floating)):this.el.classList.add(n.mode.pinned)}render(){let{state:t}=this,e=t===o.Loading,a=t===o.Calculating,s=t===o.Disabled,l=e||a||this.queryType==="layerView"&&this.view?.updating?this.renderProgress():null;return this.setHostClassNames(),s?null:[l,this.items?.length>0?this.renderBase():null]}renderBase(){return w("instant-apps-scoreboard-base",p`<div class=${y(v)}>${this.renderContent()}</div>`)}renderContent(){let{state:t}=this;return t===o.Loading?this.renderLoader():t===o.Calculating||t===o.Complete?this.renderItemsContainer():null}renderItemsContainer(){let[t,e]=this.renderPreviousNextButtons();return p`<div class=${y(n.itemsContainer)}>${t}${this.renderItems()}${e}</div>`}renderPreviousNextButtons(){let t=this.getItemLimit(),e=this.items.filter(q=>q.visible)?.length<=t,a=this.itemIndex===0,s=this.isEnd,l=this.isMobile?!0:this.position===o.Bottom,i=l?F.Start:F.Center,r=l?g.Left:g.Up,d=l?g.Right:g.Down,c={previous:r,next:d},b=a||e?g.Blank:c.previous,u=s||e?g.Blank:c.next,_={previous:a||e,next:s||e},L=A.Transparent,V=this.isMobile?U.Small:U.Large,f={previous:this._messages.previous,next:this._messages.next};return[p`<calcite-action @click=${this.previousItem} .icon=${b} .disabled=${_.previous} .alignment=${i} .scale=${V} .appearance=${L} .text=${f.previous??""} .label=${f.previous}></calcite-action>`,p`<calcite-action @click=${this.nextItem} .icon=${u} .disabled=${_.next} .alignment=${i} .scale=${V} .appearance=${L} .text=${f.next??""} .label=${f.next}></calcite-action>`]}renderItems(){let{items:t}=n,e=this.getItemsToDisplay.map(a=>this.renderItem(a));return p`<ul class=${y(t)}>${e}</ul>`}renderItem(t){let{label:e}=t;return p`<li class=${y(n.item)}><span class=${y(n.label)} title=${e??x}>${e}</span>${this.renderValue(t)}</li>`}renderValue(t){let{displayValue:e}=t,a=this.state===o.Calculating,s=this.state===o.Disabled,l=e===void 0&&a,i=e||this._messages.NA,r=!this.layers?.find(c=>t?.layer?.id===c.id)?.visible,d=l?this.renderValuePlaceholder():s?"":r?p`<calcite-icon icon=view-hide scale=l title=${this._messages.layerVisibilityOff??x}></calcite-icon>`:i;return p`<span class=${y(n.value)}>${d}</span>`}renderValuePlaceholder(){return p`<span class=${y(n.valuePlaceholder)}></span>`}renderProgress(){let t=`${T}calcite-`;return w(`${t}progress`,p`<calcite-progress type=indeterminate></calcite-progress>`)}renderLoader(){let t=`${T}calcite-`,e=this._messages.loading;return w(`${t}loader`,p`<calcite-loader .label=${e??""} .text=${e} scale=m></calcite-loader>`)}};S("instant-apps-scoreboard",I);return I},"core/reactiveUtils","intl","core/Collection","core/Handles")
|
|
2
|
+
import{a as w}from"./ONARC6AZ.js";import{a as M}from"./PYBOC3DB.js";import{a as C}from"./LHG6NOEP.js";import{b as S}from"./CVHXDPJO.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import{G as D,I as y,h as E,i as p,l as x,q as k}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([m,P,$,B])=>{var o={Loading:"loading",Disabled:"disabled",Complete:"complete",Calculating:"calculating",Bottom:"bottom",Left:"left",Floating:"floating"},g={Up:"chevron-up",Down:"chevron-down",Left:"chevron-left",Right:"chevron-right",Blank:"blank"},U={Small:"s",Large:"l"},A={Transparent:"transparent"},F={Start:"start",Center:"center"},N=E`:host{display:block;--instant-apps-scoreboard-background-color: var(--calcite-color-foreground-1);--instant-apps-scoreboard-text-color: var(--calcite-color-text-1);--instant-apps-scoreboard-mobile-position-bottom: 0;background-color:var(--instant-apps-scoreboard-background-color);color:var(--instant-apps-scoreboard-text-color)}:host .instant-apps-scoreboard{box-sizing:border-box;border:1px solid var(--calcite-color-border-1);box-shadow:0 3px 15px #0003;border-radius:3px}:host .instant-apps-scoreboard calcite-loader{--calcite-loader-padding: 1rem}:host .instant-apps-scoreboard__items-container{display:flex}:host .instant-apps-scoreboard__items-container calcite-action{height:100%}:host .instant-apps-scoreboard__items,:host .instant-apps-scoreboard__item{box-sizing:border-box;display:flex}:host .instant-apps-scoreboard__items{list-style-type:none;padding-left:0;margin:0;padding-top:1.75%;padding-bottom:1.75%;width:100%}:host .instant-apps-scoreboard__item{flex-direction:column;justify-content:flex-end;align-items:center;padding:1%}:host .instant-apps-scoreboard__item-label{box-sizing:border-box;line-height:24px;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;word-break:break-word}:host .instant-apps-scoreboard__item-label{font-size:1rem;font-weight:400;text-align:center}:host .instant-apps-scoreboard__item-value{display:flex;justify-content:center;align-items:center;min-width:32px;min-height:32px;margin-top:5px;font-size:1.5rem;font-weight:900}:host .instant-apps-scoreboard__item-value-placeholder{display:inline-block;width:32px;height:32px;background-color:var(--calcite-color-foreground-3);border-radius:4px}:host(.instant-apps-scoreboard__position--bottom){bottom:0}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard{display:flex;justify-content:center}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard__items{display:flex;justify-content:center}:host(.instant-apps-scoreboard__position--bottom) .instant-apps-scoreboard__item{min-width:10vw;vertical-align:top}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--floating){left:50%;max-width:calc(100% - 30px);transform:translate(-50%,-15px)}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--floating) .instant-apps-scoreboard{min-width:25vw}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned){left:unset;bottom:0;transform:unset;width:100%}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard{min-width:unset}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__items-container{width:100%;justify-content:space-between}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard{display:flex;justify-content:center;align-items:center;width:10vw;overflow-y:auto}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items-container{flex-direction:column;height:100%;box-sizing:border-box}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items-container calcite-action{height:unset;width:100%}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__items{flex-direction:column;padding:10px}:host(.instant-apps-scoreboard__position--side) .instant-apps-scoreboard__item{padding-top:.5vh;padding-bottom:.5vh}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--floating){top:15px;left:15px;max-height:calc(100% - 30px)}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--floating) .instant-apps-scoreboard{min-width:10vw;min-height:35vh}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned){top:unset;left:unset;transform:unset;height:100%}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard{height:100%}:host(.instant-apps-scoreboard__position--side.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__items-container{justify-content:space-between}:host(.instant-apps-scoreboard__position--left.instant-apps-scoreboard__mode--floating){left:15px}:host(.instant-apps-scoreboard__position--right.instant-apps-scoreboard__mode--floating){left:unset;right:15px}:host(.instant-apps-scoreboard__position--left.instant-apps-scoreboard__mode--pinned){left:0}:host(.instant-apps-scoreboard__position--right.instant-apps-scoreboard__mode--pinned){left:unset;right:0}@media only screen and (min-width:992px){:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned){bottom:var(--instant-apps-scoreboard-mobile-position-bottom)}:host(.instant-apps-scoreboard__position--bottom.instant-apps-scoreboard__mode--pinned) .instant-apps-scoreboard__item{justify-content:center;min-width:unset;flex-grow:1}}`,v="instant-apps-scoreboard",O=6,T=`${v}--`,h=`${v}__`,j=M.medium[1],n={itemsContainer:`${h}items-container`,items:`${h}items`,item:`${h}item`,label:`${h}item-label`,value:`${h}item-value`,valuePlaceholder:`${h}item-value-placeholder`,position:{bottom:`${h}position--bottom`,side:`${h}position--side`,left:`${h}position--left`,right:`${h}position--right`},mode:{floating:`${h}mode--floating`,pinned:`${h}mode--pinned`}},I=class extends D{constructor(){super(...arguments),this._messages=C({name:"instant-apps-scoreboard"}),this.state=o.Loading,this.itemIndex=0,this.isMobile=!1,this.position=o.Bottom,this.mode=o.Floating,this.itemLimit=6,this.autoDockEnabled=!0,this.geometry=null,this.queryType="layerView",this.scoreboardItemsUpdated=k()}static{this.properties={state:16,itemIndex:16,layers:16,layerViews:16,isMobile:16,view:0,items:0,position:1,mode:1,itemLimit:9,autoDockEnabled:5,geometry:0,queryType:1}}static{this.styles=N}get checkMobile(){let t=this.el?.parentElement?.offsetWidth;return t&&!Number.isNaN(t)&&t>0?t<j:!1}get getItemsToDisplay(){let t=this.getItemLimit();return this.items.filter(e=>e.visible).slice(this.itemIndex,t+this.itemIndex)}get isEnd(){let t=this.getItemLimit(),e=this.items.slice(this.items.length-t).map(s=>s.uid),a=this.items.slice(this.itemIndex,this.itemIndex+t).map(s=>s.uid);return e.every((s,l)=>s===a[l])}async load(){let t=new ResizeObserver(()=>{this.itemIndex=0,this.autoDockEnabled&&(this.isMobile=!!this.checkMobile)});if(this.el?.parentElement&&t.observe(this.el.parentElement),!this.view||!this.items)this.state=o.Disabled;else try{await this.initModules()}catch{this.state=o.Disabled}}willUpdate(t){t.has("items")&&this.generateUIDs(),t.has("items")&&this.storeLayers(),t.has("layers")&&this.storeLayerViews(),t.has("geometry")&&(this.hasUpdated||this.geometry!==null)&&this.calculateScoreboardItemValuesFromGeometry(),t.has("layerViews")&&this.calculateScoreboardItemValues()}async loaded(){if(this.state!==o.Disabled)try{await m?.whenOnce(()=>this.view?.ready),this.generateUIDs(),await this.loadMapResources(),this.storeLayers(),this.initViewUpdateWatcher()}catch{this.state=o.Disabled,console.error(`${v}: FAILED TO LOAD MAP RESOURCES`)}}disconnectedCallback(){super.disconnectedCallback(),this.state=o.Disabled,this.itemIndex=0,this.layers?.removeAll(),this.layers?.destroy(),this.layers=null,this.layerViews?.removeAll(),this.layerViews?.destroy(),this.layerViews=null,this.handles?.removeAll(),this.handles?.destroy(),this.handles=null}scoreboardItemsUpdatedHandler(){this.scoreboardItemsUpdated.emit(this.items)}generateUIDs(){this.itemIndex=0,this.items.forEach(this.generateUID())}async storeLayers(){this.state=o.Calculating,await(this.view?.map).loadAll();let t=this.items.map(i=>i?.layer?.id),e=i=>i.type!=="feature"||!i.isTable,a=i=>i.type==="feature"||i.type==="scene",s=i=>t.includes(i.id),l=i=>e(i)&&a(i)&&s(i);this.layers=this.view?.map?.allLayers?.filter(i=>l(i)),this.watchLayerVisibility()}async storeLayerViews(){if(this.layers&&this.layers.length>0){this.layers.forEach(s=>s.outFields=["*"]);let t=[];this.layers.forEach(s=>{let l=s,i=this.view?.whenLayerView(l);t.push(i)});let e=(await Promise.allSettled(t)).filter(s=>s.status==="fulfilled"&&s.value).map(s=>s.value),a=[];e.forEach(s=>a.push(m.whenOnce(()=>!s.updating))),await Promise.all(a),this.layerViews=new $([...e])}}calculateScoreboardItemValuesFromGeometry(){this.calculateScoreboardItemValues()}async calculateScoreboardItemValues(){if(this.layers&&this.layers.length===0||this.layerViews&&this.layerViews.length===0)return;this.state=o.Calculating;let t=[...this.items],e=[];this.queryStatDefinitions(t,e);let a=await Promise.all(e);this.handleQueryFeaturesResponses(a,t),this.items.length=0,t.forEach(s=>this.items.push(s)),this.state=o.Complete,this.scoreboardItemsUpdatedHandler(),this.initStationaryWatcher()}async initModules(){try{this.handles=new B,this.layers=new $([]),this.layerViews=new $([])}catch(t){throw console.error(t),this.state=o.Disabled,new Error("Failed to initialize modules")}}async loadMapResources(){if(this.view){let{map:t}=this.view,e=t;try{await e.loadAll()}catch(a){throw console.error(a),this.state=o.Disabled,new Error("Failed to load map resources")}}}generateUID(){return t=>{let e=Math.random(),a=Math.floor(Math.random()*10)+11,s=e.toString(a).replace("0.","");t.uid=s}}previousItem(){this.itemIndex=this.itemIndex-1}nextItem(){this.itemIndex=this.itemIndex+1}queryStatDefinitions(t,e){let a=i=>{let{field:r,operation:d}=i,c=r,b=`${r}_${d}`;return{onStatisticField:c,outStatisticFieldName:b,statisticType:d}},s=(i,r)=>{let d=this.queryType==="layer"?i.layer.createQuery():i.createQuery(),c=[r],b=this.geometry??this.view?.extent;d.outStatistics=c,d.geometry=b;let u=i?.filter?.timeExtent??i?.featureEffect?.filter?.timeExtent??null;return u&&(d.timeExtent=u),d},l=()=>async i=>{let r=this.layerViews?.find(u=>u.layer.id===i?.layer?.id);if(!r)return;let d=a(i),c=s(r,d),b=this.queryType==="layer"?r.layer.queryFeatures(c):r.queryFeatures(c);e.push(b)};t.forEach(l())}handleQueryFeaturesResponses(t,e){let a=i=>{let r=i.features[0],{attributes:d}=r;return Object.values(d)[0]},s=()=>({notation:"compact",compactDisplay:"short"}),l=()=>(i,r)=>{let d=a(i),c=s(),b=d!==null,u=b?P.formatNumber(d,c):null,_=b?`${u}`:"";e[r].displayValue=_,e[r].value=d};t.forEach(l())}initStationaryWatcher(){let t={once:!0,initial:!0},e=()=>m.when(()=>!this.view?.interacting,()=>{this.queryType==="layerView"&&this.calculateScoreboardItemValues()},t),a=()=>m.when(()=>this.view?.stationary,()=>e()),s="stationary-watcher-key";this.handles?.has(s)&&this.handles.remove(s),this.handles?.add(a(),s)}initViewUpdateWatcher(){return m.watch(()=>this.view?.updating,()=>{m.when(()=>!this.view?.updating,()=>{this.queryType==="layerView"&&this.calculateScoreboardItemValues()},{once:!0,initial:!0})},{initial:!0})}watchLayerVisibility(){if(!this.layers)return;let t="visbilityWatcherKey";this.handles?.remove(t);let e=[],a=s=>{let l=async()=>{let r=await this.view?.whenLayerView(s);await m.whenOnce(()=>!r?.updating),this.calculateScoreboardItemValues()},i=m.watch(()=>s?.visible,async()=>await l());e.push(i)};this.layers.forEach(a),this.handles?.add([...e],t)}getItemLimit(){return this.itemLimit<2||this.itemLimit>6?O:this.itemLimit}setHostClassNames(){this.isMobile||this.position===o.Bottom?(this.el.classList.remove(n.position.side,n.position.left,n.position.right),this.el.classList.add(n.position.bottom)):(this.el.classList.remove(n.position.bottom),this.el.classList.add(n.position.side),this.position===o.Left?(this.el.classList.remove(n.position.right),this.el.classList.add(n.position.left)):(this.el.classList.remove(n.position.left),this.el.classList.add(n.position.right))),this.isMobile?(this.el.classList.remove(n.mode.floating),this.el.classList.add(n.mode.pinned)):this.mode===o.Floating?(this.el.classList.remove(n.mode.pinned),this.el.classList.add(n.mode.floating)):this.el.classList.add(n.mode.pinned)}render(){let{state:t}=this,e=t===o.Loading,a=t===o.Calculating,s=t===o.Disabled,l=e||a||this.queryType==="layerView"&&this.view?.updating?this.renderProgress():null;return this.setHostClassNames(),s?null:[l,this.items?.length>0?this.renderBase():null]}renderBase(){return w("instant-apps-scoreboard-base",p`<div class=${y(v)}>${this.renderContent()}</div>`)}renderContent(){let{state:t}=this;return t===o.Loading?this.renderLoader():t===o.Calculating||t===o.Complete?this.renderItemsContainer():null}renderItemsContainer(){let[t,e]=this.renderPreviousNextButtons();return p`<div class=${y(n.itemsContainer)}>${t}${this.renderItems()}${e}</div>`}renderPreviousNextButtons(){let t=this.getItemLimit(),e=this.items.filter(q=>q.visible)?.length<=t,a=this.itemIndex===0,s=this.isEnd,l=this.isMobile?!0:this.position===o.Bottom,i=l?F.Start:F.Center,r=l?g.Left:g.Up,d=l?g.Right:g.Down,c={previous:r,next:d},b=a||e?g.Blank:c.previous,u=s||e?g.Blank:c.next,_={previous:a||e,next:s||e},L=A.Transparent,V=this.isMobile?U.Small:U.Large,f={previous:this._messages.previous,next:this._messages.next};return[p`<calcite-action @click=${this.previousItem} .icon=${b} .disabled=${_.previous} .alignment=${i} .scale=${V} .appearance=${L} .text=${f.previous??""} .label=${f.previous}></calcite-action>`,p`<calcite-action @click=${this.nextItem} .icon=${u} .disabled=${_.next} .alignment=${i} .scale=${V} .appearance=${L} .text=${f.next??""} .label=${f.next}></calcite-action>`]}renderItems(){let{items:t}=n,e=this.getItemsToDisplay.map(a=>this.renderItem(a));return p`<ul class=${y(t)}>${e}</ul>`}renderItem(t){let{label:e}=t;return p`<li class=${y(n.item)}><span class=${y(n.label)} title=${e??x}>${e}</span>${this.renderValue(t)}</li>`}renderValue(t){let{displayValue:e}=t,a=this.state===o.Calculating,s=this.state===o.Disabled,l=e===void 0&&a,i=e||this._messages.NA,r=!this.layers?.find(c=>t?.layer?.id===c.id)?.visible,d=l?this.renderValuePlaceholder():s?"":r?p`<calcite-icon icon=view-hide scale=l title=${this._messages.layerVisibilityOff??x}></calcite-icon>`:i;return p`<span class=${y(n.value)}>${d}</span>`}renderValuePlaceholder(){return p`<span class=${y(n.valuePlaceholder)}></span>`}renderProgress(){let t=`${T}calcite-`;return w(`${t}progress`,p`<calcite-progress type=indeterminate></calcite-progress>`)}renderLoader(){let t=`${T}calcite-`,e=this._messages.loading;return w(`${t}loader`,p`<calcite-loader .label=${e??""} .text=${e} scale=m></calcite-loader>`)}};S("instant-apps-scoreboard",I);return I},"core/reactiveUtils","intl","core/Collection","core/Handles")
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import h from"./
|
|
2
|
+
import h from"./IEOFEUZI.js";import g from"./J3HJC4SO.js";import"./4MAZNAHZ.js";import"./VVZAS55G.js";import"./US5FON7D.js";import"./CVHXDPJO.js";import e from"./H2UL463J.js";import d from"./LKZFKOG4.js";import"./2B4SGB3I.js";import"./I2NTSKBD.js";import"./3UKDJZ2D.js";import c from"./2C4DK6YC.js";import a from"./WV7QX3ED.js";import{a as _}from"./MGEDATQ7.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import"./TEHBW75B.js";import"./IHG7KTNC.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./YKB6256M.js";import"./N22MFQSQ.js";import"./N7BXCDA3.js";import"./ZX3UHK6P.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LP2JYX4X.js";import"./GF4QELNV.js";import"./AYSQIO6L.js";import"./YQHYMLC7.js";import"./DKD2EGQP.js";import"./5O53T3SW.js";import"./AJZDBHB6.js";import"./FES7B3SJ.js";import{b as y}from"./2I5LGZNX.js";import{F as b,G as u,h as m,i as f}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([])=>{var v=m`.height-51{height:51px}.width-51{width:51px}`,p=class extends u{constructor(){super(),this._translations=_({name:"field-selection",blocking:!0}),this._fieldSortOrder="default",this._selectedFields=[],this._fieldVisibilityPopoverClickHandler=i=>{this._fieldVisibilityPopoverNode?this._isInNode(i.target,"arcgis-field-pick-list")||(document.body.removeChild(this._fieldVisibilityPopoverNode),this._fieldVisibilityPopoverNode=void 0,document.removeEventListener("click",this._fieldVisibilityPopoverClickHandler)):document.removeEventListener("click",this._fieldVisibilityPopoverClickHandler)},this.listenOn(window,"columnReorder",this.handleColumnReorder,{capture:!0})}static{this.properties={configExtraFields:1,layer:0,mapView:0,table:0,tableRef:0,_translations:16}}static{this.styles=v}render(){return f`<calcite-action alignment=center class="height-51 width-51" id=solutions-field-selection .text=${this._translations.fieldVisibility} scale=m @click=${()=>this._handleFieldVisibilityClick()} @mouseover=${()=>this._addTableTooltip(this._fieldVisibilityActionNode,this._translations.fieldVisibility)} @mouseout=${()=>this._removeTableTooltip()} @focus=${()=>this._addTableTooltip(this._fieldVisibilityActionNode,this._translations.fieldVisibility)} ${b(i=>this._fieldVisibilityActionNode=i)}><calcite-icon aria-hidden=true scale=s icon=gear></calcite-icon></calcite-action>`}handleColumnReorder(){this._fieldSortOrder="default",this._fieldVisibilityPopoverNode&&(this.removeFieldsPickList(),this._handleFieldVisibilityClick())}_handleFieldVisibilityClick(){if(this._fieldVisibilityPopoverNode)return;let i=this.table?.tableTemplate?.columnTemplates;if(this.layer&&this.mapView&&i&&this._fieldVisibilityActionNode){document.removeEventListener("click",this._fieldVisibilityPopoverClickHandler);let t=this.table.fieldColumns.map(l=>({alias:l.field.alias,description:l.field.description,name:l.field.name,type:l.field.type}));if(this._hasAttachmentsEnabled(this.layer)){let l="Attachments";if(this._shouldShowField(l.toUpperCase(),!1)){if(!i.some(s=>s.fieldName.toUpperCase()===l.toUpperCase())){let s={fieldName:l,type:"attachment",visible:!0};i.push(s)}t.push({name:l,alias:"Photos and files",type:"none",description:l})}}if(this.table.relatedRecordsEnabled&&this.layer.relationships&&this.layer.relationships.length>0){let l=this.layer.parent;this.layer.relationships.forEach((s,h)=>{let o,a=this._shouldShowField(s.name||"",!0);if(!a){let n=[...l?.layers||[],...l?.tables||[]].find(c=>c.layerId===s.relatedTableId),d=n?n.title:void 0;d&&this._shouldShowField(d,!0)&&(s.name=d,a=!0)}if(!a){let n=s.keyField||`related_${h}`;this._shouldShowField(n,!0)&&(s.name=s.name||n,a=!0)}if(!i.some(n=>n.fieldName.toLowerCase()===s.name?.toLowerCase()?(o=s.name,!0):!1))if(s.name){o=s.name;let n={fieldName:o,type:"relationship",visible:!0};a=this._shouldShowField(o,!0),i.push(n)}else{let n=[...l?.layers||[],...l?.tables],d;if(n.some(c=>c.layerId===s.relatedTableId?(d=c,!0):!1),d){o=d.title,s.name=o;let c={fieldName:o,type:"relationship",visible:!0};a=this._shouldShowField(o,!0),i.push(c)}}o&&a&&t.push({name:o,alias:`Related ${o}`,type:"none",description:`related:${o}`})})}let e=this._fieldVisibilityPopoverNode?this._fieldVisibilityPopoverNode:document.createElement("arcgis-field-pick-list");e.layer=this.layer,e.fields=t,e.showFieldInfo=!0,e.showFieldName=!0,e.showDescription=!1,e.showSelectionAll=!0,e.hideCancel=!0,e.hideSort=!1,e.showFilterLength=5,e.multiple=!0,e.heading=this._translations.fieldVisibility,e.okBtnText=this._translations.doneWithFieldChanges,e.filterPlaceholderText=this._translations.filterFields,e.sortBy=this._fieldSortOrder??"default";let r=this.table?.visibleColumns.map(l=>l.fieldName.startsWith("EsriFeatureTableRelationshipColumn")||l.fieldName.startsWith("EsriFeatureTableAttachmentsColumn")?l.effectiveLabel:l.fieldName);e.selectedFields=i.reduce((l,s)=>((r?r.indexOf(s.fieldName)>-1:s.visible)&&l.push(s.fieldName),l),[]),this._selectedFields=e.selectedFields,e.style.minHeight="340px",e.popoverProps={refElement:this._fieldVisibilityActionNode,popoverWidth:300,placement:"bottom-end",offsetDistance:-20,triggerDisabled:!1,autoClose:!1},e.addEventListener("arcgisChange",l=>{l.stopPropagation();let s=l.detail.selectedFields,h=this._getDifference(s,this._selectedFields),o=this._getDifference(this._selectedFields,s);h.concat(o).forEach(a=>{let n=this.layer?.relationships?.map(d=>d.name)||[];if(a==="Attachments"){let d=this.table.columns.find(c=>"onShowAttachments"in c);d.hidden=o.indexOf(a)>-1}else n.indexOf(a)>-1?this.table.columns.filter(d=>"relationshipId"in d).forEach(d=>{o.indexOf(a)>-1,a==d.effectiveLabel&&(d.hidden=o.indexOf(a)>-1)}):this.table.toggleColumnVisibility(a)}),this._selectedFields=s,this._updateTable(this.table.tableTemplate)}),e.addEventListener("arcgisSortByChange",l=>{l.stopPropagation(),this._fieldSortOrder=l.detail,this._sortFields(l.detail)}),e.addEventListener("arcgisClose",()=>{this._closePopovers(),setTimeout(()=>this._fieldVisibilityActionNode.setFocus(),200)}),document.body.appendChild(e),this._fieldVisibilityPopoverNode=e,setTimeout(()=>document.addEventListener("click",this._fieldVisibilityPopoverClickHandler),200)}}_shouldShowField(i,t){return(this.configExtraFields||[]).some(e=>t?e.replace("related:","").toUpperCase()===i.toUpperCase():e.toUpperCase()===i.toUpperCase())}removeFieldsPickList(){this._fieldVisibilityPopoverNode&&(document.body.removeChild(this._fieldVisibilityPopoverNode),this._fieldVisibilityPopoverNode=void 0)}_sortFields(i){let t=this.table.tableTemplate.columnTemplates,e=this._getSortOrder(i),r=t.filter(s=>s.type!=="attachment"&&s.type!=="relationship").sort((s,h)=>{let o=e.indexOf(s.fieldName),a=e.indexOf(h.fieldName);return o===-1&&a!==-1?1:o!==-1&&a===-1?-1:o===-1&&a===-1?0:o-a}),l=t.filter(s=>s.type==="attachment"||s.type==="relationship");this.tableRef.setColumnOrder([...r,...l]),this._updateTable(this.table.tableTemplate)}_getSortOrder(i){let t=[...this.layer.fields];return i==="display"?t.sort((e,r)=>e.alias.localeCompare(r.alias)):i==="field"?t.sort((e,r)=>e.name.localeCompare(r.name)):i==="type"&&t.sort((e,r)=>e.type.localeCompare(r.type)),t.map(e=>e.name)}_getDifference(i,t){return i.filter(e=>!t.includes(e))}_updateTable(i){this.table.tableTemplate=i,this._isStandardView()&&this._syncAttributeTableTemplate()}async _syncAttributeTableTemplate(){let i=this.table.layer;if(i.attributeTableTemplate){let{_modules:t}=this,e=i.attributeTableTemplate.clone();t?.attributeTableTemplateUtils.syncAttributeTableTemplate(this.table,e),JSON.stringify(e)!==JSON.stringify(i.attributeTableTemplate)&&(i.attributeTableTemplate=e)}if(i.attributeTableTemplate?.orderByFields?.length>1){let t=i.attributeTableTemplate.clone(),e=this.table.activeSortOrders[0];t.orderByFields=[{field:e.fieldName,order:e.direction}],i.attributeTableTemplate=t,this._syncColumnDirectionsWithOrderByFields()}}_syncColumnDirectionsWithOrderByFields(){let i=this.table.activeSortOrders[0]?.fieldName;this.table.columns.forEach(t=>{"fieldName"in t&&t.fieldName!==i&&(t.direction=void 0)}),this.table.tableTemplate?.columnTemplates.forEach(t=>{"fieldName"in t&&t.fieldName!==i&&(t.direction=void 0)})}_isStandardView(){return!this.table.relatedTable&&!this.table.attachmentsViewOptions.objectId}_closePopovers(){document.removeEventListener("click",this._fieldVisibilityPopoverClickHandler),this._fieldVisibilityPopoverNode&&(document.body.removeChild(this._fieldVisibilityPopoverNode),this._fieldVisibilityPopoverNode=void 0)}_addTableTooltip(i,t){let e=document.createElement("calcite-tooltip");e.className="table-tooltip",e.referenceElement=i,e.placement="trailing-start",e.open=!0;let r=document.createElement("div");r.className="tooltip",r.innerHTML=t,e.append(r),document.body.append(e)}_removeTableTooltip(){document.querySelectorAll(".table-tooltip").forEach(i=>i.parentNode?.removeChild(i))}_isInNode(i,t){for(;i;){if(i.nodeName===t.toUpperCase())return!0;i=i.parentElement}return!1}_hasAttachmentsEnabled(i){if(!i?.capabilities)return!1;let{capabilities:{data:{supportsAttachment:t},operations:{supportsQueryAttachments:e}}}=i;return t&&e}};y("field-selection",p);return p},a,c,d,e,g,h)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"./XEF5G3BC.js";import e from"./
|
|
2
|
+
import"./XEF5G3BC.js";import e from"./XXGM7HGO.js";import b from"./H2UL463J.js";import a from"./LKZFKOG4.js";import"./2B4SGB3I.js";import"./I2NTSKBD.js";import"./3UKDJZ2D.js";import{a as p}from"./MGEDATQ7.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import"./TEHBW75B.js";import"./IHG7KTNC.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./YKB6256M.js";import"./N22MFQSQ.js";import"./N7BXCDA3.js";import"./ZX3UHK6P.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LP2JYX4X.js";import"./GF4QELNV.js";import"./AYSQIO6L.js";import"./YQHYMLC7.js";import"./DKD2EGQP.js";import"./5O53T3SW.js";import"./AJZDBHB6.js";import"./FES7B3SJ.js";import{b as g}from"./2I5LGZNX.js";import{E as c,F as l,G as h,h as r,i as o,q as d}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([])=>{var u={heading:"Get Started",card1:{heading:"What's new in the app"},card2:{heading:"Deploy a solution"},card3:{heading:"Manage a deployment"},card4:{heading:"AI Assistant"}},m={heading:"Documentation",card1:{heading:"Help"},card2:{heading:"What's new"},card3:{heading:"FAQ"},card4:{heading:"ArcGIS Blog"}},b={heading:"Support",card1:{heading:"Esri Community"},card2:{heading:"ArcGIS Ideas"},card3:{heading:"Esri Video"},card4:{heading:"Technical support"}},i={getStarted:u,documentation:m,support:b},v=r`*[tabindex]:focus-visible{outline:2px solid var(--calcite-color-brand);outline-offset:2px}.position-relative{position:relative}.background-override{--calcite-shell-panel-background-color: var(--calcite-color-surface-3);--calcite-panel-background-color: var(--calcite-color-surface-3)}.width-350{--calcite-shell-panel-width: 350px}.height-full{height:100%}.padding-end-1-2{padding-inline-end:var(--calcite-spacing-sm)}calcite-panel{--calcite-panel-background-color: var(--calcite-color-surface-2)}calcite-shell{background-color:unset;height:auto}.padding-end-1{padding-inline-end:var(--calcite-spacing-lg)}.padding-start-1{padding-inline-start:var(--calcite-spacing-lg)}.margin-end-md{margin-inline-end:var(--calcite-spacing-md)}.resources-container{width:100%;box-sizing:border-box}.content-wrapper{max-width:1440px;width:100%;margin-left:auto;margin-right:auto;padding-left:var(--calcite-spacing-md);padding-right:var(--calcite-spacing-md);box-sizing:border-box}.hero-banner{background-color:var(--calcite-color-surface-3);padding:4.25rem var(--calcite-spacing-md);text-align:center;width:100%;box-sizing:border-box;margin-bottom:3rem}.hero-content{max-width:1440px;width:100%;margin-left:auto;margin-right:auto}.hero-heading{font-size:var(--calcite-font-size-5);font-weight:var(--calcite-font-weight-medium);margin:0 0 var(--calcite-spacing-xxl) 0;color:var(--calcite-color-text-1)}.hero-subheading{font-size:var(--calcite-font-size-0);color:var(--calcite-color-text-2);max-width:600px;margin:0 auto}.assistant-open{margin-left:max(2vw,calc((100vw - 1440px)/2));margin-right:0;width:auto;max-width:1440px}`,s=class extends h{constructor(){super(),this.assistantOpen=!1,this._translations=p({name:"solutions-resources-shell",blocking:!0}),this._mainPanelRef=c(),this._panelFixed=!1,this.sortTypeChanged=d(),this.listenOn(window,"deployAppTabSelected",this._handleDeployAppTabSelected)}static{this.properties={assistantOpen:7,_translations:16}}static{this.styles=v}updated(){this._fixPanelContentWrapperFocus()}_fixPanelContentWrapperFocus(){if(!this._panelFixed&&this._mainPanelRef.value){let e=this._mainPanelRef.value;e.componentOnReady?.().then(()=>{if(e.shadowRoot){let n=e.shadowRoot.querySelector(".content-wrapper");n&&(n.tabIndex=-1,this._panelFixed=!0,this._setupPanelObserver())}}).catch(()=>{this._panelFixed=!0})}}_setupPanelObserver(){if(this._panelObserver)return;this._panelObserver=new MutationObserver(n=>{n.forEach(a=>{if(a.type==="attributes"&&a.attributeName==="tabindex"){let t=a.target;t.classList.contains("content-wrapper")&&t.tabIndex===0&&(t.tabIndex=-1)}})});let e=this._mainPanelRef.value;if(e?.shadowRoot){let n=e.shadowRoot.querySelector(".content-wrapper");n&&this._panelObserver.observe(n,{attributes:!0,attributeFilter:["tabindex"]})}}disconnectedCallback(){super.disconnectedCallback(),this._panelObserver?.disconnect()}render(){let e=this._translations,n=this.assistantOpen?"assistant-open":"";return o`<calcite-shell class="position-relative"><calcite-panel ${l(this._mainPanelRef)}><div class="resources-container"><div class="hero-banner" aria-labelledby=resources-hero-heading><div class=${`hero-content ${n}`}><h1 class="hero-heading" id=resources-hero-heading tabindex=0>${e.hero.heading}</h1><p class="hero-subheading" tabindex=0>${e.hero.subheading}</p></div></div><div class=${`content-wrapper ${n}`}><solutions-resources-section .heading=${e.getStarted.heading} .subheading=${e.getStarted.subheading} .cards=${[{meridianIcon:"value",heading:e.getStarted.card1.heading,description:e.getStarted.card1.description,url:"https://links.esri.com/solutions/whats-new-in-the-app",headingEn:i.getStarted.card1.heading,sectionHeadingEn:i.getStarted.heading},{meridianIcon:"install",heading:e.getStarted.card2.heading,description:e.getStarted.card2.description,url:"https://links.esri.com/solutions/deploy-a-solution",headingEn:i.getStarted.card2.heading,sectionHeadingEn:i.getStarted.heading},{meridianIcon:"keys",heading:e.getStarted.card3.heading,description:e.getStarted.card3.description,url:"https://links.esri.com/solutions/manage-a-deployment",headingEn:i.getStarted.card3.heading,sectionHeadingEn:i.getStarted.heading},{meridianIcon:"speech-bubbles",heading:e.getStarted.card4.heading,description:e.getStarted.card4.description,url:"https://links.esri.com/solutions/ai-assistant",headingEn:i.getStarted.card4.heading,sectionHeadingEn:i.getStarted.heading}]}></solutions-resources-section><solutions-resources-section .heading=${e.documentation.heading} .subheading=${e.documentation.subheading} .cards=${[{meridianIcon:"search-files",heading:e.documentation.card1.heading,description:e.documentation.card1.description,url:"https://links.esri.com/solutions/help",headingEn:i.documentation.card1.heading,sectionHeadingEn:i.documentation.heading},{meridianIcon:"value",heading:e.documentation.card2.heading,description:e.documentation.card2.description,url:"https://links.esri.com/solutions/whats-new",headingEn:i.documentation.card2.heading,sectionHeadingEn:i.documentation.heading},{meridianIcon:"faq",heading:e.documentation.card3.heading,description:e.documentation.card3.description,url:"https://links.esri.com/solutions/faq",headingEn:i.documentation.card3.heading,sectionHeadingEn:i.documentation.heading},{meridianIcon:"arcmap-blog",heading:e.documentation.card4.heading,description:e.documentation.card4.description,url:"https://links.esri.com/solutions/arcgis-blogs",headingEn:i.documentation.card4.heading,sectionHeadingEn:i.documentation.heading}]}></solutions-resources-section><solutions-resources-section .heading=${e.support.heading} .subheading=${e.support.subheading} .cards=${[{meridianIcon:"esri-community",heading:e.support.card1.heading,description:e.support.card1.description,url:"https://links.esri.com/solutions/esri-community",headingEn:i.support.card1.heading,sectionHeadingEn:i.support.heading},{meridianIcon:"idea",heading:e.support.card2.heading,description:e.support.card2.description,url:"https://links.esri.com/solutions/arcgis-ideas",headingEn:i.support.card2.heading,sectionHeadingEn:i.support.heading},{meridianIcon:"video",heading:e.support.card3.heading,description:e.support.card3.description,url:"https://links.esri.com/solutions/esri-video",headingEn:i.support.card3.heading,sectionHeadingEn:i.support.heading},{meridianIcon:"support",heading:e.support.card4.heading,description:e.support.card4.description,url:"https://links.esri.com/solutions/technical-support",headingEn:i.support.card4.heading,sectionHeadingEn:i.support.heading}]}></solutions-resources-section></div></div></calcite-panel></calcite-shell>`}_handleDeployAppTabSelected(e){e.detail==="resources"&&this.sortTypeChanged.emit("")}};g("solutions-resources-shell",s);return s},a,b,e)
|