@esri/solutions-components 5.1.0-next.9 → 5.1.0-next.91
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/224TOFAW.js +29 -0
- package/dist/cdn/{NDWNF7CQ.js → 2AO55DUN.js} +1 -1
- package/dist/cdn/2B4SGB3I.js +2 -0
- package/dist/cdn/2HUG6L4M.js +2 -0
- package/dist/cdn/{ULCILXSA.js → 2PM224B6.js} +1 -1
- package/dist/cdn/32YZXXMV.js +2 -0
- package/dist/cdn/{JK75TUSP.js → 34EUIYLN.js} +1 -1
- package/dist/cdn/36TEZXBH.js +28 -0
- package/dist/cdn/{AKDP6MCB.js → 3JGLETSR.js} +1 -1
- package/dist/cdn/{7YIQXDUF.js → 3RUGNS6K.js} +1 -1
- package/dist/cdn/{7DVOR4SY.js → 3WKKIXVT.js} +1 -1
- package/dist/cdn/{WNJHBSCN.js → 4J3ETN35.js} +1 -1
- package/dist/cdn/4LXH3MTT.js +2 -0
- package/dist/cdn/4QJK4LPR.js +2 -0
- package/dist/cdn/4ZKGHGGU.js +2 -0
- package/dist/cdn/{EYBEUSBG.js → 55PTISQ7.js} +1 -1
- package/dist/cdn/{SEDPMCMZ.js → 5A7H4LVR.js} +1 -1
- package/dist/cdn/{TZL2746B.js → 5ADMCIGY.js} +1 -1
- package/dist/cdn/{QJZL3GS7.js → 5AVH2R6T.js} +1 -1
- package/dist/cdn/{HBHKZGWE.js → 5CW67X4G.js} +1 -1
- package/dist/cdn/{7TTSB4KO.js → 5EYS2CH4.js} +1 -1
- package/dist/cdn/{BDXIKPLU.js → 5HZMUGQD.js} +1 -1
- package/dist/cdn/{T537IZUH.js → 5JLXNBOA.js} +1 -1
- package/dist/cdn/5NPISZEN.js +2 -0
- package/dist/cdn/5RTR3NSC.js +2 -0
- package/dist/cdn/{G2ME4BAQ.js → 5VDDAINK.js} +1 -1
- package/dist/cdn/{UK4O67GV.js → 64Y5CQSL.js} +1 -1
- package/dist/cdn/6DCCVJMZ.js +2 -0
- package/dist/cdn/{LPNQJBCN.js → 6IIMJC5D.js} +1 -1
- package/dist/cdn/6MP2RVUK.js +2 -0
- package/dist/cdn/{7GPGKDLH.js → 6O3XSKQY.js} +1 -1
- package/dist/cdn/{BODNQLRD.js → 6PFEFNQM.js} +1 -1
- package/dist/cdn/{QI5LXFA7.js → 6WQK4DHL.js} +1 -1
- package/dist/cdn/{KDZGRQXD.js → 73YLLTLN.js} +1 -1
- package/dist/cdn/{2BANZAQ7.js → 74PV6PZ3.js} +1 -1
- package/dist/cdn/76APML4N.js +2 -0
- package/dist/cdn/{UFKD4KP3.js → 7CJQI7VH.js} +1 -1
- package/dist/cdn/{XVRRQMOP.js → 7EF5FK2O.js} +1 -1
- package/dist/cdn/{5UQRM2YJ.js → 7TCHZME4.js} +1 -1
- package/dist/cdn/A7DQMUDA.js +2 -0
- package/dist/cdn/A7PEA2YP.js +2 -0
- package/dist/cdn/{T745GPG3.js → AFZETCUL.js} +1 -1
- package/dist/cdn/{F6VMV2VA.js → AL2DDBXW.js} +1 -1
- package/dist/cdn/{KU62OLRE.js → ALSK2SPM.js} +1 -1
- package/dist/cdn/{7MTJZG5N.js → B67TTSQO.js} +1 -1
- package/dist/cdn/B7AQR2UD.js +2 -0
- package/dist/cdn/BBNWDMCK.js +2 -0
- package/dist/cdn/{B3R52L7H.js → BMBNSJZQ.js} +1 -1
- package/dist/cdn/BRQJSGIX.js +2 -0
- package/dist/cdn/{CMK42W7E.js → BU5PIAGS.js} +1 -1
- package/dist/cdn/BVWAUO73.js +2 -0
- package/dist/cdn/{JYLXH6OM.js → C3ZGM4K7.js} +1 -1
- package/dist/cdn/DJOOB7YP.js +2 -0
- package/dist/cdn/DLH53PYM.js +7 -0
- package/dist/cdn/{57JYZYF5.js → DQWJUYMM.js} +1 -1
- package/dist/cdn/DUZ4KXB3.js +2 -0
- package/dist/cdn/DWEIHGFT.js +2 -0
- package/dist/cdn/DX56I3QB.js +3 -0
- package/dist/cdn/{VXMIT5WR.js → EBRCBPEM.js} +1 -1
- package/dist/cdn/ELPH6EFW.js +2 -0
- package/dist/cdn/ET32EBBO.js +50 -0
- package/dist/cdn/FGWGYIBZ.js +2 -0
- package/dist/cdn/FMHXFW3E.js +2 -0
- package/dist/cdn/FN2NSVLO.js +2 -0
- package/dist/cdn/{BPAYAR53.js → GEXLEGOL.js} +1 -1
- package/dist/cdn/GM772Z5U.js +2 -0
- package/dist/cdn/H5E6ISYP.js +4 -0
- package/dist/cdn/{EYXOOK3V.js → H5TWIMN3.js} +1 -1
- package/dist/cdn/{QY5QGQ2X.js → HKVSZTWH.js} +1 -1
- package/dist/cdn/{BEGKM3ZM.js → HMKJYAVE.js} +1 -1
- package/dist/cdn/{VZPEYWYR.js → HNVWONX2.js} +1 -1
- package/dist/cdn/{NLTK53B2.js → HOLASUOX.js} +1 -1
- package/dist/cdn/I33B45EZ.js +2 -0
- package/dist/cdn/{JNO5VYYI.js → I6H42GYO.js} +1 -1
- package/dist/cdn/{P4FX4W2X.js → IV4U4XB5.js} +1 -1
- package/dist/cdn/{RTPXDRZ7.js → J5FYHTE4.js} +1 -1
- package/dist/cdn/{HBQN25RR.js → J75MHJID.js} +2 -2
- package/dist/cdn/{RDHQTCGH.js → J7IFAEYK.js} +1 -1
- package/dist/cdn/JC5EXPFH.js +2 -0
- package/dist/cdn/JDX6K42U.js +359 -0
- package/dist/cdn/JMO7ZFWL.js +26 -0
- package/dist/cdn/JWGDDEVT.js +2 -0
- package/dist/cdn/JZ472WDS.js +2 -0
- package/dist/cdn/{S423P2GA.js → K3DQKY7V.js} +1 -1
- package/dist/cdn/K6PW4IX6.js +2 -0
- package/dist/cdn/KCEVE53E.js +2 -0
- package/dist/cdn/KEZAVYJU.js +2 -0
- package/dist/cdn/{NDUAEC62.js → KIUBUHVM.js} +1 -1
- package/dist/cdn/{U6ALIHIC.js → KOHVDHPZ.js} +1 -1
- package/dist/cdn/L33BENH7.js +2 -0
- package/dist/cdn/{XIB6YS7Q.js → L342GSW5.js} +1 -1
- package/dist/cdn/LCERYSRG.js +2 -0
- package/dist/cdn/{TBQQ6OPX.js → LCPWL74J.js} +1 -1
- package/dist/cdn/LDK4C3VJ.js +2 -0
- package/dist/cdn/LTKDGGKT.js +2 -0
- package/dist/cdn/{3PUZFKV2.js → LVOTTNTF.js} +1 -1
- package/dist/cdn/M6HNHWAM.js +32 -0
- package/dist/cdn/{JLYGSQEC.js → MBBG3S5B.js} +1 -1
- package/dist/cdn/MKHDEHCO.js +2 -0
- package/dist/cdn/{X4LKJTY5.js → MPJRP2QO.js} +1 -1
- package/dist/cdn/{36HEIJAI.js → MVGX2AGG.js} +1 -1
- package/dist/cdn/MVYIHKFK.js +2 -0
- package/dist/cdn/{JALU4653.js → MZY3G7B5.js} +1 -1
- package/dist/cdn/{TER4MTK6.js → N3F6RUT6.js} +1 -1
- package/dist/cdn/{NXVNTNE5.js → NBQ5MMHE.js} +1 -1
- package/dist/cdn/NP7POZTI.js +2 -0
- package/dist/cdn/{EQTLT2A3.js → NPOHA56R.js} +1 -1
- package/dist/cdn/NSJAGP7T.js +18 -0
- package/dist/cdn/NSKVOAA7.js +2 -0
- package/dist/cdn/{TUGKPWRB.js → NUD23X7L.js} +1 -1
- package/dist/cdn/NV3RC3FX.js +2 -0
- package/dist/cdn/{T3JHAFWW.js → NYWKJJKK.js} +1 -1
- package/dist/cdn/{UF67SSGX.js → O2L7DY23.js} +1 -1
- package/dist/cdn/{AA7X6GKH.js → O3O4EPB6.js} +1 -1
- package/dist/cdn/{PPXEYILP.js → O4E54ZIL.js} +1 -1
- package/dist/cdn/OBKT6Y6H.js +2 -0
- package/dist/cdn/{T2WSMUVL.js → OIRNHTN3.js} +1 -1
- package/dist/cdn/{H3LJVYII.js → OPWB5U5Y.js} +1 -1
- package/dist/cdn/OV4IBBDL.js +2 -0
- package/dist/cdn/{TWC7OKKZ.js → PAMG6BC2.js} +1 -1
- package/dist/cdn/PHIGRQ7V.js +2 -0
- package/dist/cdn/PP2SFAFD.js +2 -0
- package/dist/cdn/PRXFYNIG.js +19 -0
- package/dist/cdn/{XYFIAJPT.js → QAMVNRII.js} +1 -1
- package/dist/cdn/QNEUW2SI.js +2 -0
- package/dist/cdn/QO2RC46D.js +2 -0
- package/dist/cdn/QPNIPE5H.js +2 -0
- package/dist/cdn/{VCI64HUS.js → QQN472YW.js} +1 -1
- package/dist/cdn/QYDGCI2P.js +2 -0
- package/dist/cdn/{GTDHYS64.js → QZRJRLYA.js} +2 -2
- package/dist/cdn/{3AQ7U2PF.js → R67EKKSL.js} +1 -1
- package/dist/cdn/{ANX2J4ID.js → RIM6ODUZ.js} +1 -1
- package/dist/cdn/{5LCHTZTL.js → RJFWIPOY.js} +1 -1
- package/dist/cdn/RKBDZ7GR.js +2 -0
- package/dist/cdn/{EBX4JFH7.js → ROKVOX7R.js} +1 -1
- package/dist/cdn/{VJ6OLNFI.js → RUZVGWHQ.js} +1 -1
- package/dist/cdn/RWGEJGAH.js +2 -0
- package/dist/cdn/{PITLQBO6.js → RX7HKQ7Y.js} +1 -1
- package/dist/cdn/{3XVYTVMS.js → S7MMEM3H.js} +1 -1
- package/dist/cdn/{CDN3RSUG.js → SB3EADQF.js} +1 -1
- package/dist/cdn/{PNLII42L.js → SBTQKPQR.js} +1 -1
- package/dist/cdn/{E7W2OZL3.js → SFM524YL.js} +1 -1
- package/dist/cdn/SGBMDDAS.js +2 -0
- package/dist/cdn/{FTMEQQF5.js → SH72A5PB.js} +1 -1
- package/dist/cdn/{UP35AXF6.js → SUK3BLEW.js} +1 -1
- package/dist/cdn/{34PDHOYH.js → SWAMKTGK.js} +1 -1
- package/dist/cdn/SWWDYNJE.js +2 -0
- package/dist/cdn/SXVCHOTK.js +79 -0
- package/dist/cdn/{XHYBCMYO.js → TILX2YPV.js} +1 -1
- package/dist/cdn/{I3D5WRYZ.js → TM3CBSWO.js} +1 -1
- package/dist/cdn/{BPEZ62VT.js → TMKYG3QB.js} +1 -1
- package/dist/cdn/{62PU7U2Z.js → UDBUSMCV.js} +1 -1
- package/dist/cdn/{SZRONHSX.js → UHVJUD6J.js} +1 -1
- package/dist/cdn/UJLDLGTN.js +2 -0
- package/dist/cdn/ULTK7DMM.js +2 -0
- package/dist/cdn/{QHYG6C3L.js → UYYYSJL4.js} +1 -1
- package/dist/cdn/V3YTRV33.js +2 -0
- package/dist/cdn/VHOYM5MD.js +2 -0
- package/dist/cdn/VPDMT4CY.js +2 -0
- package/dist/cdn/VWPOKKOE.js +2 -0
- package/dist/cdn/{PJH3H7LZ.js → W6E3DYEQ.js} +1 -1
- package/dist/cdn/{5KD4GK7Y.js → WAW43L2Y.js} +1 -1
- package/dist/cdn/WDHXTOWG.js +102 -0
- package/dist/cdn/{4FBEUQIB.js → WEAC3FS7.js} +3 -3
- package/dist/cdn/{DIDOZ4J6.js → WH2NFOMH.js} +5 -5
- package/dist/cdn/{GNW56CHH.js → WHS5LXKB.js} +1 -1
- package/dist/cdn/{G4EVXSWW.js → WLXO44M4.js} +1 -1
- package/dist/cdn/WQGGCG6M.js +2 -0
- package/dist/cdn/{2BQCT6XO.js → WSPAWPSL.js} +1 -1
- package/dist/cdn/{VIWNXKUP.js → WUM5AKBT.js} +1 -1
- package/dist/cdn/X25OZSS4.js +2 -0
- package/dist/cdn/X5EABWHE.js +2 -0
- package/dist/cdn/XN2JVOOR.js +2 -0
- package/dist/cdn/XQQ52NKX.js +2 -0
- package/dist/cdn/{PJ5ORVU5.js → XVXOCPOT.js} +1 -1
- package/dist/cdn/XXT542UR.js +2 -0
- package/dist/cdn/{NOIG2A4U.js → Y2ORH4QJ.js} +1 -1
- package/dist/cdn/{TF7LQKOT.js → YHACLWMU.js} +1 -1
- package/dist/cdn/{DLBZRD4H.js → YKQDHR27.js} +1 -1
- package/dist/cdn/YN7SGJOG.js +2 -0
- package/dist/cdn/YOAGUXW6.js +2 -0
- package/dist/cdn/{AJY7XD7A.js → Z25OUDBP.js} +1 -1
- package/dist/cdn/ZBET72YB.js +2 -0
- package/dist/cdn/{DQ4POWIJ.js → ZDLTST3A.js} +1 -1
- package/dist/cdn/ZKELOWSS.js +2 -0
- package/dist/cdn/ZONXYZVU.js +2 -0
- package/dist/cdn/{TVCG3ZCH.js → ZR4T2HGR.js} +1 -1
- package/dist/cdn/ZYCAAXQF.js +2 -0
- 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/images/solutions-builder-draft-thumbnail.png +0 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.el.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.es.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/Auth.js +89 -67
- package/dist/chunks/cardFetchingUtils.js +16 -15
- package/dist/chunks/cardsHelpers.js +5 -5
- package/dist/chunks/common.js +26 -0
- package/dist/chunks/deployAppContexts.js +10 -0
- package/dist/chunks/description.js +35 -0
- package/dist/chunks/designSolution.js +105 -0
- package/dist/chunks/findExistingSolution.js +22 -0
- package/dist/chunks/get-portal-url.js +345 -0
- package/dist/chunks/getItemIcon.js +18 -9
- package/dist/chunks/helpers.js +123 -0
- package/dist/chunks/initialAssessment.js +82 -0
- package/dist/chunks/interfaces.js +200 -332
- package/dist/chunks/solution-deploy-dialog.js +60 -75
- package/dist/chunks/solutions-deploy-app-nav.js +111 -84
- package/dist/chunks/solutions_assistant_description.js +32 -0
- package/dist/chunks/solutions_assistant_prompts.js +29 -0
- package/dist/chunks/solutions_explorer_description.js +31 -0
- package/dist/chunks/updateDesign.js +5 -0
- package/dist/chunks/validators.js +127 -0
- package/dist/components/arcgis-solutions-assistant/customElement.d.ts +56 -83
- package/dist/components/arcgis-solutions-assistant/customElement.js +52381 -1517
- package/dist/components/arcgis-solutions-assistant/index.js +5 -8
- package/dist/components/consent-manager/customElement.js +1906 -2237
- package/dist/components/create-feature/customElement.js +2 -2
- package/dist/components/crowdsource-manager/customElement.js +3 -3
- package/dist/components/crowdsource-reporter/customElement.js +1 -1
- package/dist/components/edit-card/customElement.js +4 -4
- package/dist/components/feature-details/customElement.js +1 -1
- package/dist/components/feature-list/customElement.js +1 -1
- package/dist/components/info-card/customElement.js +1 -1
- package/dist/components/layer-list/customElement.js +1 -1
- package/dist/components/layer-table/customElement.js +11 -10
- package/dist/components/map-card/customElement.js +16 -15
- package/dist/components/map-picker/customElement.js +1 -1
- package/dist/components/public-notification/customElement.js +1 -1
- package/dist/components/refine-selection/customElement.js +1 -1
- package/dist/components/solution-builder-assistant/customElement.d.ts +195 -0
- package/dist/components/solution-builder-assistant/customElement.js +695 -0
- package/dist/components/solution-builder-assistant/index.d.ts +1 -0
- package/dist/components/solution-builder-assistant/index.js +24 -0
- package/dist/components/solution-configure-titles/customElement.js +46 -44
- package/dist/components/solution-delete-dialog/customElement.js +49 -38
- package/dist/components/solution-deploy-dialog/customElement.js +5 -4
- package/dist/components/solution-deploy-dialog/index.js +0 -1
- package/dist/components/solution-deployed-card/customElement.js +5 -2
- package/dist/components/solution-deployed-card-panel/customElement.d.ts +4 -0
- package/dist/components/solution-deployed-card-panel/customElement.js +92 -44
- package/dist/components/solution-deployed-card-panel/index.js +0 -1
- package/dist/components/solution-deploying-dialog/customElement.js +1 -1
- package/dist/components/solution-details-card/customElement.js +6 -4
- package/dist/components/solution-details-panel/customElement.js +31 -28
- package/dist/components/solution-item-accordion/customElement.d.ts +6 -2
- package/dist/components/solution-item-accordion/customElement.js +29 -24
- package/dist/components/solution-item-diagram/customElement.js +106 -102
- package/dist/components/solution-item-diagram/utils/solutionGraph.d.ts +1 -0
- package/dist/components/solution-item-icon/customElement.d.ts +6 -0
- package/dist/components/solution-item-icon/customElement.js +13 -12
- package/dist/components/solution-resource-card/customElement.js +11 -9
- package/dist/components/solution-snapshot-gallery/customElement.js +13 -11
- package/dist/components/solution-social-share/customElement.js +6 -4
- package/dist/components/solution-user-avatar/customElement.js +12 -11
- package/dist/components/solutions-all-panel/customElement.js +23 -18
- package/dist/components/solutions-all-shell/customElement.js +3 -2
- package/dist/components/solutions-deploy-app/customElement.d.ts +9 -0
- package/dist/components/solutions-deploy-app/customElement.js +636 -49
- package/dist/components/solutions-deploy-app/index.js +5 -0
- package/dist/components/solutions-deploy-app-nav/customElement.d.ts +6 -0
- package/dist/components/solutions-deploy-app-nav/customElement.js +4 -3
- package/dist/components/solutions-deployed-panel/customElement.js +39 -28
- package/dist/components/solutions-deployed-panel/index.js +0 -1
- package/dist/components/solutions-deployed-shell/customElement.js +22 -17
- package/dist/components/solutions-deployed-shell/index.js +0 -1
- package/dist/components/solutions-filter-panel/customElement.d.ts +4 -7
- package/dist/components/solutions-filter-panel/customElement.js +55 -63
- package/dist/components/solutions-filter-panel/index.js +0 -3
- package/dist/components/solutions-resources-shell/customElement.d.ts +6 -0
- package/dist/components/solutions-resources-shell/customElement.js +44 -44
- package/dist/components/solutions-searchsort-toolbar/customElement.d.ts +2 -2
- package/dist/components/solutions-searchsort-toolbar/customElement.js +12 -10
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/loader.js +9 -8
- package/dist/solutions-components_commit.txt +7 -4
- package/dist/types/lumina.d.ts +12 -6
- package/dist/types/preact.d.ts +13 -6
- package/dist/types/react.d.ts +14 -6
- package/dist/types/stencil.d.ts +12 -6
- package/dist/utils/Auth.d.ts +9 -1
- package/dist/utils/interfaces.d.ts +133 -15
- package/package.json +28 -26
- package/dist/cdn/2CFQ6EQE.js +0 -2
- package/dist/cdn/2RBKFT3Q.js +0 -2
- package/dist/cdn/2W6HTIBW.js +0 -2
- package/dist/cdn/3HXIBP2A.js +0 -2
- package/dist/cdn/3JF5JLS4.js +0 -2
- package/dist/cdn/4CUFJALA.js +0 -2
- package/dist/cdn/4ZHQQBPL.js +0 -2
- package/dist/cdn/5326HZ74.js +0 -2
- package/dist/cdn/5BHMIKFH.js +0 -2
- package/dist/cdn/5EB5CGE2.js +0 -2
- package/dist/cdn/5KMILQ5O.js +0 -2
- package/dist/cdn/5QCBD6ZZ.js +0 -2
- package/dist/cdn/5S3WZLB5.js +0 -2
- package/dist/cdn/63GFTK3C.js +0 -2
- package/dist/cdn/73AX72WY.js +0 -2
- package/dist/cdn/743J5TBS.js +0 -2
- package/dist/cdn/ABNTJB3U.js +0 -2
- package/dist/cdn/ABTC2V7J.js +0 -2
- package/dist/cdn/ADAVBSEY.js +0 -2
- package/dist/cdn/AVNCYWKK.js +0 -2
- package/dist/cdn/BJMKDP4O.js +0 -2
- package/dist/cdn/BMJN3MIR.js +0 -2
- package/dist/cdn/BVJGYRKY.js +0 -2
- package/dist/cdn/COTZAQ2O.js +0 -2
- package/dist/cdn/CPMMNWOL.js +0 -3
- package/dist/cdn/CTD37SZM.js +0 -2
- package/dist/cdn/DIKAKOU5.js +0 -2
- package/dist/cdn/E7HQ4JJ2.js +0 -2
- package/dist/cdn/EITUC67W.js +0 -2
- package/dist/cdn/EPAPHJ3B.js +0 -2
- package/dist/cdn/ETLCK5VA.js +0 -2
- package/dist/cdn/F346YHSU.js +0 -2
- package/dist/cdn/F372CSCW.js +0 -2
- package/dist/cdn/FDTM55XL.js +0 -2
- package/dist/cdn/FZRH6WPJ.js +0 -2
- package/dist/cdn/GRWRAHYE.js +0 -2
- package/dist/cdn/HBJZGW4L.js +0 -2
- package/dist/cdn/HBPD3T7H.js +0 -2
- package/dist/cdn/HMB3LHBC.js +0 -2
- package/dist/cdn/HPQPI754.js +0 -2
- package/dist/cdn/HVLWGULJ.js +0 -2
- package/dist/cdn/I4PUORX4.js +0 -2
- package/dist/cdn/ITDDPEQS.js +0 -174
- package/dist/cdn/J33ST6ZG.js +0 -2
- package/dist/cdn/J5VTBFGR.js +0 -2
- package/dist/cdn/JAHYUDR2.js +0 -2
- package/dist/cdn/JPCXJ6L4.js +0 -2
- package/dist/cdn/JUXXPW6I.js +0 -2
- package/dist/cdn/KAEV4RME.js +0 -50
- package/dist/cdn/KCZWW43P.js +0 -2
- package/dist/cdn/KD46EE7M.js +0 -2
- package/dist/cdn/KK5Q6FCI.js +0 -2
- package/dist/cdn/KM5RNKXR.js +0 -2
- package/dist/cdn/KPBEUIQV.js +0 -2
- package/dist/cdn/KSXW3QKP.js +0 -2
- package/dist/cdn/KTQ4N7FH.js +0 -2
- package/dist/cdn/KWCJDOZU.js +0 -2
- package/dist/cdn/LBJLZYFA.js +0 -2
- package/dist/cdn/LI4CAGAZ.js +0 -2
- package/dist/cdn/LWUSGNUB.js +0 -2
- package/dist/cdn/M434TVGU.js +0 -2
- package/dist/cdn/M7YK4K5M.js +0 -2
- package/dist/cdn/MQXN47F7.js +0 -2
- package/dist/cdn/MTKEI6BF.js +0 -2
- package/dist/cdn/MZ3QZD4K.js +0 -2
- package/dist/cdn/MZLEP53S.js +0 -2
- package/dist/cdn/N2U6H3NP.js +0 -2
- package/dist/cdn/N7HJKCUK.js +0 -2
- package/dist/cdn/N7OY2PSZ.js +0 -2
- package/dist/cdn/NIUMAAOQ.js +0 -2
- package/dist/cdn/NPWOQ56Y.js +0 -2
- package/dist/cdn/NSITJP7B.js +0 -2
- package/dist/cdn/O7XO24NH.js +0 -2
- package/dist/cdn/OQFRVQQZ.js +0 -2
- package/dist/cdn/OYQYXNHJ.js +0 -2
- package/dist/cdn/P4KZ6OZF.js +0 -4
- package/dist/cdn/P6IYN2TS.js +0 -2
- package/dist/cdn/PDZRVXVT.js +0 -2
- package/dist/cdn/PYBJ4MQR.js +0 -2
- package/dist/cdn/PZ7VDYMM.js +0 -2
- package/dist/cdn/PZOAAAVI.js +0 -2
- package/dist/cdn/Q3RAS2JS.js +0 -2
- package/dist/cdn/QWRM254M.js +0 -2
- package/dist/cdn/RDXJFHLV.js +0 -2
- package/dist/cdn/REOO5ZGK.js +0 -2
- package/dist/cdn/RKMY6VWP.js +0 -2
- package/dist/cdn/SF2GPS6K.js +0 -2
- package/dist/cdn/SI4NEC5K.js +0 -21
- package/dist/cdn/SSO3AN4U.js +0 -2
- package/dist/cdn/TH52564W.js +0 -2
- package/dist/cdn/THKPPH7G.js +0 -2
- package/dist/cdn/TIKDJQ35.js +0 -2
- package/dist/cdn/TU5GZK4M.js +0 -2
- package/dist/cdn/UFJWRZWQ.js +0 -2
- package/dist/cdn/US4NIGXI.js +0 -2
- package/dist/cdn/UUTS7RVV.js +0 -2
- package/dist/cdn/V4HAD5FL.js +0 -2
- package/dist/cdn/VGZHDJIX.js +0 -2
- package/dist/cdn/VJEG4LOG.js +0 -2
- package/dist/cdn/VPTZV5YV.js +0 -2
- package/dist/cdn/WCPWYPN2.js +0 -2
- package/dist/cdn/WD3IXGSO.js +0 -2
- package/dist/cdn/WRYTPNUC.js +0 -2
- package/dist/cdn/WVC3NULO.js +0 -2
- package/dist/cdn/XBR2PGVO.js +0 -7
- package/dist/cdn/XK6Q5TUT.js +0 -2
- package/dist/cdn/XKFGKRYH.js +0 -2
- package/dist/cdn/YTK4IGLJ.js +0 -2
- package/dist/cdn/ZBNOS7AZ.js +0 -2
- package/dist/cdn/ZSHMK5VX.js +0 -2
|
@@ -0,0 +1,695 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
+
import { c as f } from "../../chunks/runtime.js";
|
|
3
|
+
import { css as w, html as s } from "lit";
|
|
4
|
+
import { u as L } from "../../chunks/useT9n.js";
|
|
5
|
+
import { LitElement as x, nothing as h } from "@arcgis/lumina";
|
|
6
|
+
import { useContextConsumer as E } from "@arcgis/lumina/context";
|
|
7
|
+
import { b as N } from "../../chunks/deployAppContexts.js";
|
|
8
|
+
import { a as D, b as F, v, c as C, d as I, e as z, f as M } from "../../chunks/validators.js";
|
|
9
|
+
const T = w`calcite-panel{--calcite-panel-background-color: var(--calcite-color-foreground-1);--calcite-color-focus: var(--calcite-color-brand);--calcite-panel-border-color: var(--calcite-color-border-2);--calcite-internal-panel-header-vertical-padding: 0px;--calcite-panel-header-content-space: 0px;border-left:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);border-top:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);border-bottom:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);height:100%}.header-content-wrapper{display:flex;align-items:center;gap:var(--calcite-space-xs);height:65px;box-sizing:border-box;padding-inline-start:var(--calcite-space-3xl)}.header-title{font-size:var(--calcite-font-size-0);font-weight:500;color:var(--calcite-color-text-1)}.section-header{font-size:var(--calcite-font-size-1);font-weight:var(--calcite-font-weight-bold);color:var(--calcite-color-text-1);display:block}.section-title{font-weight:500;color:var(--calcite-color-text-1)}.draft-badge{display:inline-block;padding:2px 8px;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-1);border:1px solid var(--calcite-color-border-2);border-radius:12px;font-size:var(--calcite-font-size--2);font-weight:500}.builder-content{display:flex;flex-direction:column;flex:1;overflow:auto}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--calcite-space-xxl);text-align:center;color:var(--calcite-color-text-3)}.empty-state calcite-icon{margin-bottom:var(--calcite-space-md);color:var(--calcite-color-text-3)}.empty-state p{margin:0;font-size:var(--calcite-font-size--1)}.header-divider{width:1px;height:2rem;background-color:var(--calcite-color-border-3);margin:0 var(--calcite-space-xxs);align-self:center}.horizontal-divider{border-bottom:solid var(--calcite-border-width-sm);border-color:var(--calcite-color-border-2);margin:var(--calcite-space-lg) 0}.content-container{display:flex;margin:var(--calcite-space-lg)}.solution-item-section{flex:1 1 auto;min-width:0;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg) var(--calcite-space-lg) 0}.solution-item-inputs{display:flex;flex-direction:column}.thumbnail-inputs-row{display:flex;gap:var(--calcite-space-lg);align-items:flex-start}.thumbnail-container{flex-shrink:0;border:1px solid var(--calcite-color-border-2);overflow:hidden;background:var(--calcite-color-foreground-2);width:233px}.thumbnail-container img{display:block;width:100%;object-fit:cover}.stacked-inputs{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:var(--calcite-space-lg)}.stacked-inputs calcite-label{min-width:0}.stacked-inputs calcite-input-text,.stacked-inputs calcite-text-area{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.actions-section{flex:0 2 300px;min-width:200px;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg)}.action-buttons{display:flex;flex-direction:column;gap:var(--calcite-space-lg);margin-top:var(--calcite-space-2xl)}.action-buttons calcite-notice{margin:0;--calcite-notice-icon-color: var(--calcite-color-brand)}.solution-item-content-section{display:flex;flex-direction:column;margin:0 var(--calcite-space-lg);padding:var(--calcite-space-lg)}.section-header{font-size:var(--calcite-font-size-0);font-weight:500;color:var(--calcite-color-text-2);margin:0 0 var(--calcite-space-md) 0}calcite-list-item calcite-action[slot=actions-end]{padding-right:var(--calcite-space-sm)}.layer-form-content{padding:var(--calcite-space-3xl)}calcite-flow{--calcite-flow-background-color: var(--calcite-color-foreground-1);display:flex;flex-direction:column;flex:1;overflow:auto;margin:0;padding:0}calcite-flow-item{--calcite-flow-item-content-padding: 0}.layer-selector-container{display:flex;flex-direction:column;align-items:stretch}.layer-selector-row{display:flex;gap:var(--calcite-space-md);align-items:end}.layer-selector-row calcite-combobox{flex:1;min-width:0}.layer-selector-row>calcite-button{flex-shrink:0}.layer-selector-container calcite-label{flex:1;min-width:0;margin-bottom:0}.layer-selector-container calcite-combobox{width:100%}.layer-selector-container>calcite-button{flex-shrink:0;margin-bottom:var(--calcite-space-md)}.layer-properties-container{display:flex;gap:var(--calcite-space-md)}.layer-properties-section{display:flex;flex-direction:column;gap:var(--calcite-space-md);margin-top:var(--calcite-space-lg)}.layer-properties-row{display:flex;gap:var(--calcite-space-md)}.layer-properties-row calcite-label{flex:1;min-width:0}.layer-properties-container calcite-label{flex:1;min-width:0}.layer-properties-container calcite-input-text,.layer-properties-container calcite-combobox{width:100%}.layer-description-container{margin-top:var(--calcite-space-lg)}.layer-description-container calcite-text-area{width:100%;display:block}calcite-label:has(calcite-text-area){display:flex;flex-direction:column;gap:0}.fields-section{margin-top:var(--calcite-space-xl);display:flex;flex-direction:column;align-items:flex-start;width:100%}.fields-section>calcite-label{width:100%}.fields-section calcite-table{width:100%}.fields-section calcite-table-cell:last-child{text-align:center;display:flex;justify-content:center;align-items:center}.field-type-cell,.field-name-cell{display:flex;align-items:center;gap:var(--calcite-space-xs)}.lock-icon{--calcite-icon-color: var(--calcite-color-text-3);flex-shrink:0}.domain-cell-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--calcite-space-sm)}.domain-cell-content calcite-icon{cursor:pointer;color:var(--calcite-color-text-3);flex-shrink:0}.domain-cell-content calcite-icon:hover{color:var(--calcite-color-brand)}.choice-list-tooltip{margin:0;padding-left:var(--calcite-space-lg);list-style-type:disc}.choice-list-tooltip li{padding:var(--calcite-space-xxs) 0}.edit-icon{cursor:pointer;color:var(--calcite-color-text-3)}.edit-icon:hover{color:var(--calcite-color-brand)}.add-field-button{align-self:flex-start}.add-layer-button{margin-top:var(--calcite-space-md);margin-bottom:var(--calcite-space-sm)}.info-icon-blue{--calcite-icon-color: var(--calcite-color-brand);flex-shrink:0;cursor:default}.domain-section{margin-top:var(--calcite-space-lg);display:flex;flex-direction:column;align-items:flex-start;width:100%}.domain-section>calcite-label{width:100%}.domain-section>div{width:100%}.domain-list{display:flex;flex-direction:column;gap:var(--calcite-space-sm);width:100%}.domain-item{display:flex;align-items:center;gap:var(--calcite-space-sm);padding:var(--calcite-space-xs);background:var(--calcite-color-foreground-1);border:1px solid var(--calcite-color-border-2);border-radius:var(--calcite-border-radius);cursor:move;width:100%;box-sizing:border-box}.domain-item:hover{background:var(--calcite-color-foreground-2)}.domain-item .drag-handle{color:var(--calcite-color-text-3);cursor:grab;flex-shrink:0}.domain-item .drag-handle:active{cursor:grabbing}.domain-item calcite-input-text{flex:1;min-width:0}.domain-item calcite-button{flex-shrink:0}.popover-content{padding:var(--calcite-space-lg);min-width:420px}.popover-field{margin-top:var(--calcite-space-md)}.popover-actions{display:flex;justify-content:flex-end;gap:var(--calcite-space-sm);margin-top:var(--calcite-space-lg)}.padding-top-sm{padding-top:var(--calcite-space-sm)}`, O = "data:image/png;base64,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";
|
|
10
|
+
class k extends x {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(), this.design = null, this._design = null, this._translations = L({ name: "solution-builder-assistant", blocking: !0 }), this._isDirty = !1, this._titleValidationError = null, this._descriptionValidationError = null, this._undoStack = [], this._redoStack = [], this._openPopoverId = null, this._editingItemTitle = "", this._editingItemDescription = "", this._editingItemTitleError = null, this._editingItemDescriptionError = null, this._originalItemTitle = "", this._originalItemDescription = "", this._layerNameValidationError = null, this._layerDescriptionValidationError = null, this._newLayerNameValidationError = null, this._newLayerDescriptionValidationError = null, this._selectedLayerIndex = 0, this._isAddingLayer = !1, this._newLayerName = "", this._newLayerType = "Point", this._newLayerDescription = "", this._isEditingField = !1, this._editingFieldIndex = -1, this._editingFieldType = null, this._editingFieldDisplayName = "", this._editingFieldName = "", this._editingFieldDescription = "", this._editingFieldTypeValue = "string", this._editingFieldLength = 255, this._editingFieldChoiceList = null, this._isAddingNewField = !1, this._isCustomizingLayer = !1, this._newFieldDisplayName = "", this._newFieldName = "", this._newFieldDescription = "", this._newFieldType = "string", this._newFieldLength = 255, this._newFieldChoiceList = null, this._editingFieldDisplayNameError = null, this._editingFieldNameError = null, this._editingFieldDescriptionError = null, this._editingFieldLengthError = null, this._editingFieldChoiceListErrors = /* @__PURE__ */ new Map(), this._newFieldDisplayNameError = null, this._newFieldNameError = null, this._newFieldDescriptionError = null, this._newFieldLengthError = null, this._newFieldChoiceListErrors = /* @__PURE__ */ new Map(), this._originalEditFieldDisplayName = "", this._originalEditFieldName = "", this._originalEditFieldDescription = "", this._originalEditFieldTypeValue = "string", this._originalEditFieldLength = 255, this._originalEditFieldChoiceList = null, this._lastPushedDesign = null, this._designContextConsumer = E({
|
|
13
|
+
context: N,
|
|
14
|
+
subscribe: !0,
|
|
15
|
+
callback: (e) => {
|
|
16
|
+
e?.design && e.design !== this._lastPushedDesign && this._pushDesign(e.design, !1);
|
|
17
|
+
}
|
|
18
|
+
}), this._handleUndo = () => {
|
|
19
|
+
if (this._undoStack.length === 0 || !this._design)
|
|
20
|
+
return;
|
|
21
|
+
const e = this._undoStack[this._undoStack.length - 1];
|
|
22
|
+
this._undoStack = this._undoStack.slice(0, -1), this._redoStack = [...this._redoStack, structuredClone(this._design)], this._design = e, this._lastPushedDesign = e, this._notifyDesignChanged(e);
|
|
23
|
+
}, this._handleRedo = () => {
|
|
24
|
+
if (this._redoStack.length === 0 || !this._design)
|
|
25
|
+
return;
|
|
26
|
+
const e = this._redoStack[this._redoStack.length - 1];
|
|
27
|
+
this._redoStack = this._redoStack.slice(0, -1), this._undoStack = [...this._undoStack, structuredClone(this._design)], this._design = e, this._lastPushedDesign = e, this._notifyDesignChanged(e);
|
|
28
|
+
}, this._handleHideBuilder = () => {
|
|
29
|
+
window.dispatchEvent(new CustomEvent("toggleSolutionBuilder"));
|
|
30
|
+
}, this._handleOpenCustomizeLayer = () => {
|
|
31
|
+
this._isCustomizingLayer = !0;
|
|
32
|
+
}, this._handleCloseCustomizeLayer = () => {
|
|
33
|
+
this._isCustomizingLayer = !1, this._isAddingLayer = !1, this._isEditingField = !1, this._isAddingNewField = !1;
|
|
34
|
+
}, this._handleTitleChange = async (e) => {
|
|
35
|
+
if (!this._design)
|
|
36
|
+
return;
|
|
37
|
+
this._titleValidationError = await this._validateSolutionName(e);
|
|
38
|
+
const i = {
|
|
39
|
+
...this._design,
|
|
40
|
+
solution: {
|
|
41
|
+
...this._design.solution,
|
|
42
|
+
title: e
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
this._pushDesign(i);
|
|
46
|
+
}, this._handleDescriptionChange = (e) => {
|
|
47
|
+
if (!this._design)
|
|
48
|
+
return;
|
|
49
|
+
this._descriptionValidationError = this._validateSolutionDescription(e);
|
|
50
|
+
const i = {
|
|
51
|
+
...this._design,
|
|
52
|
+
solution: {
|
|
53
|
+
...this._design.solution,
|
|
54
|
+
description: e
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
this._pushDesign(i);
|
|
58
|
+
}, this._handleItemPopoverOpen = (e) => {
|
|
59
|
+
this._openPopoverId = e.id, this._editingItemTitle = e.title || "", this._editingItemDescription = e.description || "", this._originalItemTitle = e.title || "", this._originalItemDescription = e.description || "", this._editingItemTitleError = null, this._editingItemDescriptionError = null, this.requestUpdate();
|
|
60
|
+
}, this._handleCloseItemPopover = () => {
|
|
61
|
+
this._openPopoverId = null, this._editingItemTitle = "", this._editingItemDescription = "";
|
|
62
|
+
}, this._handleClosePopover = async (e) => {
|
|
63
|
+
const i = this.renderRoot.querySelector(`#${e}`);
|
|
64
|
+
i && (i.open = !1, await i.updateComplete), this._handleCloseItemPopover();
|
|
65
|
+
}, this._handleApplyItemChanges = (e) => {
|
|
66
|
+
if (!this._design)
|
|
67
|
+
return;
|
|
68
|
+
const i = this._design.items.map((a) => a.id === e ? { ...a, title: this._editingItemTitle, description: this._editingItemDescription } : a), t = {
|
|
69
|
+
...this._design,
|
|
70
|
+
items: i
|
|
71
|
+
};
|
|
72
|
+
this._pushDesign(t);
|
|
73
|
+
}, this._handleLayerSelect = (e) => {
|
|
74
|
+
const i = e.target.selectedItems[0];
|
|
75
|
+
i && (this._selectedLayerIndex = parseInt(i.value, 10), this._layerNameValidationError = null, this._layerDescriptionValidationError = null);
|
|
76
|
+
}, this._handleAddLayer = () => {
|
|
77
|
+
this._isAddingLayer = !0, this._newLayerNameValidationError = null, this._newLayerDescriptionValidationError = null;
|
|
78
|
+
}, this._handleAddLayerBack = () => {
|
|
79
|
+
this._isAddingLayer = !1, this._newLayerName = "", this._newLayerType = "Point", this._newLayerDescription = "", this._newLayerNameValidationError = null, this._newLayerDescriptionValidationError = null;
|
|
80
|
+
}, this._handleAddLayerDone = () => {
|
|
81
|
+
if (!this._design || (this._newLayerNameValidationError = this._validateLayerName(this._newLayerName), this._newLayerDescriptionValidationError = this._validateLayerDescription(this._newLayerDescription), this._newLayerNameValidationError || this._newLayerDescriptionValidationError))
|
|
82
|
+
return;
|
|
83
|
+
const e = this._design.featureLayer?.layers || [], i = {
|
|
84
|
+
id: Date.now(),
|
|
85
|
+
// Use timestamp as temporary ID
|
|
86
|
+
type: this._newLayerType,
|
|
87
|
+
name: this._newLayerName,
|
|
88
|
+
description: this._newLayerDescription,
|
|
89
|
+
customFields: [],
|
|
90
|
+
requiredFields: [],
|
|
91
|
+
systemFields: [
|
|
92
|
+
{
|
|
93
|
+
name: "objectid",
|
|
94
|
+
type: "oid",
|
|
95
|
+
alias: "ObjectID",
|
|
96
|
+
description: "Unique identifier for each record in the dataset."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: "globalid",
|
|
100
|
+
type: "globalid",
|
|
101
|
+
alias: "GlobalID",
|
|
102
|
+
description: "Globally unique identifier for the record."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: "created_date",
|
|
106
|
+
type: "date",
|
|
107
|
+
alias: "Created On",
|
|
108
|
+
description: "Date when the record was created."
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: "created_user",
|
|
112
|
+
type: "string",
|
|
113
|
+
alias: "Created By",
|
|
114
|
+
description: "User who created the record.",
|
|
115
|
+
choiceList: null,
|
|
116
|
+
length: 255
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: "last_edited_date",
|
|
120
|
+
type: "date",
|
|
121
|
+
alias: "Last Edited On",
|
|
122
|
+
description: "Date when the record was last edited."
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "last_edited_user",
|
|
126
|
+
type: "string",
|
|
127
|
+
alias: "Last Edited By",
|
|
128
|
+
description: "User who last edited the record.",
|
|
129
|
+
choiceList: null,
|
|
130
|
+
length: 255
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
};
|
|
134
|
+
this._pushDesign({
|
|
135
|
+
...this._design,
|
|
136
|
+
featureLayer: {
|
|
137
|
+
...this._design.featureLayer,
|
|
138
|
+
layers: [...e, i]
|
|
139
|
+
}
|
|
140
|
+
}), this._selectedLayerIndex = e.length, this._isAddingLayer = !1, this._newLayerName = "", this._newLayerType = "Point", this._newLayerDescription = "", this._newLayerNameValidationError = null, this._newLayerDescriptionValidationError = null;
|
|
141
|
+
}, this._handleNewLayerNameChange = (e) => {
|
|
142
|
+
this._newLayerName = e, this._newLayerNameValidationError = this._validateLayerName(e);
|
|
143
|
+
}, this._handleNewLayerTypeChange = (e) => {
|
|
144
|
+
const i = e.target.selectedItems[0];
|
|
145
|
+
i && (this._newLayerType = i.value);
|
|
146
|
+
}, this._handleNewLayerDescriptionChange = (e) => {
|
|
147
|
+
this._newLayerDescription = e, this._newLayerDescriptionValidationError = this._validateLayerDescription(e);
|
|
148
|
+
}, this._handleAddField = () => {
|
|
149
|
+
this._newFieldDisplayName = "", this._newFieldName = "", this._newFieldDescription = "", this._newFieldType = "string", this._newFieldLength = 255, this._newFieldChoiceList = null, this._newFieldDisplayNameError = null, this._newFieldNameError = null, this._newFieldDescriptionError = null, this._newFieldLengthError = null, this._newFieldChoiceListErrors = /* @__PURE__ */ new Map(), this._isAddingNewField = !0, this._scrollCustomizeLayerFlowToTop();
|
|
150
|
+
}, this._handleAddFieldBack = () => {
|
|
151
|
+
this._isAddingNewField = !1, this._newFieldDisplayName = "", this._newFieldName = "", this._newFieldDescription = "", this._newFieldType = "string", this._newFieldLength = 255, this._newFieldChoiceList = null, this._newFieldDisplayNameError = null, this._newFieldNameError = null, this._newFieldDescriptionError = null, this._newFieldLengthError = null, this._newFieldChoiceListErrors = /* @__PURE__ */ new Map();
|
|
152
|
+
}, this._handleAddFieldDone = () => {
|
|
153
|
+
if (!this._design)
|
|
154
|
+
return;
|
|
155
|
+
const e = this._design.featureLayer?.layers || [], i = e[this._selectedLayerIndex];
|
|
156
|
+
if (!i || !this._newFieldName.trim())
|
|
157
|
+
return;
|
|
158
|
+
const t = {
|
|
159
|
+
name: this._newFieldName,
|
|
160
|
+
type: this._newFieldType,
|
|
161
|
+
alias: this._newFieldDisplayName || this._newFieldName,
|
|
162
|
+
description: this._newFieldDescription,
|
|
163
|
+
choiceList: this._newFieldChoiceList && this._newFieldChoiceList.length > 0 ? this._newFieldChoiceList : null
|
|
164
|
+
};
|
|
165
|
+
this._newFieldType === "string" && (t.length = this._newFieldLength);
|
|
166
|
+
const a = [...i.customFields || [], t], l = e.map((r, o) => o === this._selectedLayerIndex ? { ...r, customFields: a } : r);
|
|
167
|
+
this._pushDesign({
|
|
168
|
+
...this._design,
|
|
169
|
+
featureLayer: {
|
|
170
|
+
...this._design.featureLayer,
|
|
171
|
+
layers: l
|
|
172
|
+
}
|
|
173
|
+
}), this._handleAddFieldBack();
|
|
174
|
+
}, this._handleNewFieldTypeChange = (e) => {
|
|
175
|
+
const i = e.target.selectedItems[0];
|
|
176
|
+
i && (this._newFieldType = i.value);
|
|
177
|
+
}, this._handleNewFieldDisplayNameChange = (e) => {
|
|
178
|
+
this._newFieldDisplayName = e, this._newFieldDisplayNameError = this._validateFieldDisplayName(e);
|
|
179
|
+
}, this._handleNewFieldNameChange = (e) => {
|
|
180
|
+
this._newFieldName = e, this._newFieldNameError = this._validateFieldName(e, this._selectedLayerIndex, !1);
|
|
181
|
+
}, this._handleNewFieldDescriptionChange = (e) => {
|
|
182
|
+
this._newFieldDescription = e, this._newFieldDescriptionError = this._validateFieldDescription(e);
|
|
183
|
+
}, this._handleNewFieldLengthChange = (e) => {
|
|
184
|
+
e === null || isNaN(e) || (this._newFieldLength = e, this._newFieldLengthError = this._validateFieldLength(e));
|
|
185
|
+
}, this._handleEditField = (e, i) => {
|
|
186
|
+
const a = (this._design?.featureLayer?.layers || [])[this._selectedLayerIndex];
|
|
187
|
+
if (!a)
|
|
188
|
+
return;
|
|
189
|
+
const l = a.customFields || [], r = a.requiredFields || [];
|
|
190
|
+
if (e < l.length)
|
|
191
|
+
this._editingFieldType = "custom", this._editingFieldIndex = e;
|
|
192
|
+
else {
|
|
193
|
+
const o = e - l.length;
|
|
194
|
+
if (o >= r.length)
|
|
195
|
+
return;
|
|
196
|
+
this._editingFieldType = "required", this._editingFieldIndex = o;
|
|
197
|
+
}
|
|
198
|
+
this._editingFieldDisplayName = i.alias || "", this._editingFieldName = i.name || "", this._editingFieldDescription = i.description || "", this._editingFieldTypeValue = i.type || "string", this._editingFieldLength = i.length || 255, this._editingFieldChoiceList = i.choiceList ? [...i.choiceList] : null, this._originalEditFieldDisplayName = this._editingFieldDisplayName, this._originalEditFieldName = this._editingFieldName, this._originalEditFieldDescription = this._editingFieldDescription, this._originalEditFieldTypeValue = this._editingFieldTypeValue, this._originalEditFieldLength = this._editingFieldLength, this._originalEditFieldChoiceList = this._editingFieldChoiceList ? [...this._editingFieldChoiceList] : null, this._editingFieldDisplayNameError = null, this._editingFieldNameError = null, this._editingFieldDescriptionError = null, this._editingFieldLengthError = null, this._editingFieldChoiceListErrors = /* @__PURE__ */ new Map(), this._isEditingField = !0, this._scrollCustomizeLayerFlowToTop();
|
|
199
|
+
}, this._handleEditFieldBack = () => {
|
|
200
|
+
this._isEditingField = !1, this._editingFieldIndex = -1, this._editingFieldType = null, this._editingFieldDisplayName = "", this._editingFieldName = "", this._editingFieldDescription = "", this._editingFieldTypeValue = "string", this._editingFieldLength = 255, this._editingFieldChoiceList = null, this._originalEditFieldDisplayName = "", this._originalEditFieldName = "", this._originalEditFieldDescription = "", this._originalEditFieldTypeValue = "string", this._originalEditFieldLength = 255, this._originalEditFieldChoiceList = null, this._editingFieldDisplayNameError = null, this._editingFieldNameError = null, this._editingFieldDescriptionError = null, this._editingFieldLengthError = null, this._editingFieldChoiceListErrors = /* @__PURE__ */ new Map();
|
|
201
|
+
}, this._handleEditFieldTypeChange = (e) => {
|
|
202
|
+
const i = e.target.selectedItems[0];
|
|
203
|
+
i && (this._editingFieldTypeValue = i.value);
|
|
204
|
+
}, this._handleEditFieldDisplayNameChange = (e) => {
|
|
205
|
+
this._editingFieldDisplayName = e, this._editingFieldDisplayNameError = this._validateFieldDisplayName(e);
|
|
206
|
+
}, this._handleEditFieldNameChange = (e) => {
|
|
207
|
+
this._editingFieldName = e, this._editingFieldNameError = this._validateFieldName(e, this._selectedLayerIndex, !0, this._editingFieldIndex, this._editingFieldType);
|
|
208
|
+
}, this._handleEditFieldDescriptionChange = (e) => {
|
|
209
|
+
this._editingFieldDescription = e, this._editingFieldDescriptionError = this._validateFieldDescription(e);
|
|
210
|
+
}, this._handleEditFieldLengthChange = (e) => {
|
|
211
|
+
e === null || isNaN(e) || (this._editingFieldLength = e, this._editingFieldLengthError = this._validateFieldLength(e));
|
|
212
|
+
}, this._handleAddEditFieldChoice = () => {
|
|
213
|
+
this._editingFieldChoiceList ? this._editingFieldChoiceList = [...this._editingFieldChoiceList, ""] : this._editingFieldChoiceList = [""], this._editingFieldChoiceListErrors.delete(this._editingFieldChoiceList.length - 1), this._editingFieldChoiceListErrors = new Map(this._editingFieldChoiceListErrors);
|
|
214
|
+
}, this._handleRemoveEditFieldChoice = (e) => {
|
|
215
|
+
if (!this._editingFieldChoiceList)
|
|
216
|
+
return;
|
|
217
|
+
this._editingFieldChoiceList = this._editingFieldChoiceList.filter((t, a) => a !== e);
|
|
218
|
+
const i = /* @__PURE__ */ new Map();
|
|
219
|
+
this._editingFieldChoiceListErrors.forEach((t, a) => {
|
|
220
|
+
a < e ? i.set(a, t) : a > e && i.set(a - 1, t);
|
|
221
|
+
}), this._editingFieldChoiceListErrors = i, this._editingFieldChoiceList.length === 0 && (this._editingFieldChoiceList = null, this._editingFieldChoiceListErrors = /* @__PURE__ */ new Map());
|
|
222
|
+
}, this._handleUpdateEditFieldChoice = (e, i) => {
|
|
223
|
+
if (!this._editingFieldChoiceList)
|
|
224
|
+
return;
|
|
225
|
+
const t = [...this._editingFieldChoiceList];
|
|
226
|
+
t[e] = i, this._editingFieldChoiceList = t;
|
|
227
|
+
const a = this._validateDomainValue(i, this._editingFieldLength, !1);
|
|
228
|
+
a ? this._editingFieldChoiceListErrors.set(e, a) : this._editingFieldChoiceListErrors.delete(e), this._editingFieldChoiceListErrors = new Map(this._editingFieldChoiceListErrors);
|
|
229
|
+
}, this._handleEditFieldChoiceDragStart = (e, i) => {
|
|
230
|
+
i.dataTransfer.effectAllowed = "move", i.dataTransfer.setData("text/plain", e.toString());
|
|
231
|
+
}, this._handleEditFieldChoiceDrop = (e, i) => {
|
|
232
|
+
if (i.preventDefault(), !this._editingFieldChoiceList)
|
|
233
|
+
return;
|
|
234
|
+
const t = parseInt(i.dataTransfer.getData("text/plain"));
|
|
235
|
+
if (t === e)
|
|
236
|
+
return;
|
|
237
|
+
const a = [...this._editingFieldChoiceList], l = a[t];
|
|
238
|
+
a.splice(t, 1), a.splice(e, 0, l), this._editingFieldChoiceList = a;
|
|
239
|
+
}, this._handleAddNewFieldChoice = () => {
|
|
240
|
+
this._newFieldChoiceList ? this._newFieldChoiceList = [...this._newFieldChoiceList, ""] : this._newFieldChoiceList = [""], this._newFieldChoiceListErrors.delete(this._newFieldChoiceList.length - 1), this._newFieldChoiceListErrors = new Map(this._newFieldChoiceListErrors);
|
|
241
|
+
}, this._handleRemoveNewFieldChoice = (e) => {
|
|
242
|
+
if (!this._newFieldChoiceList)
|
|
243
|
+
return;
|
|
244
|
+
this._newFieldChoiceList = this._newFieldChoiceList.filter((t, a) => a !== e);
|
|
245
|
+
const i = /* @__PURE__ */ new Map();
|
|
246
|
+
this._newFieldChoiceListErrors.forEach((t, a) => {
|
|
247
|
+
a < e ? i.set(a, t) : a > e && i.set(a - 1, t);
|
|
248
|
+
}), this._newFieldChoiceListErrors = i, this._newFieldChoiceList.length === 0 && (this._newFieldChoiceList = null, this._newFieldChoiceListErrors = /* @__PURE__ */ new Map());
|
|
249
|
+
}, this._handleUpdateNewFieldChoice = (e, i) => {
|
|
250
|
+
if (!this._newFieldChoiceList)
|
|
251
|
+
return;
|
|
252
|
+
const t = [...this._newFieldChoiceList];
|
|
253
|
+
t[e] = i, this._newFieldChoiceList = t;
|
|
254
|
+
const a = this._validateDomainValue(i, this._newFieldLength, !1);
|
|
255
|
+
a ? this._newFieldChoiceListErrors.set(e, a) : this._newFieldChoiceListErrors.delete(e), this._newFieldChoiceListErrors = new Map(this._newFieldChoiceListErrors);
|
|
256
|
+
}, this._handleNewFieldChoiceDragStart = (e, i) => {
|
|
257
|
+
i.dataTransfer.effectAllowed = "move", i.dataTransfer.setData("text/plain", e.toString());
|
|
258
|
+
}, this._handleNewFieldChoiceDrop = (e, i) => {
|
|
259
|
+
if (i.preventDefault(), !this._newFieldChoiceList)
|
|
260
|
+
return;
|
|
261
|
+
const t = parseInt(i.dataTransfer.getData("text/plain"));
|
|
262
|
+
if (t === e)
|
|
263
|
+
return;
|
|
264
|
+
const a = [...this._newFieldChoiceList], l = a[t];
|
|
265
|
+
a.splice(t, 1), a.splice(e, 0, l), this._newFieldChoiceList = a;
|
|
266
|
+
}, this._handleDeleteField = () => {
|
|
267
|
+
if (!this._design || this._editingFieldType !== "custom")
|
|
268
|
+
return;
|
|
269
|
+
const e = this._design.featureLayer?.layers || [];
|
|
270
|
+
if (this._selectedLayerIndex >= e.length)
|
|
271
|
+
return;
|
|
272
|
+
const t = [...e[this._selectedLayerIndex].customFields || []];
|
|
273
|
+
t.splice(this._editingFieldIndex, 1);
|
|
274
|
+
const a = e.map((l, r) => r === this._selectedLayerIndex ? { ...l, customFields: t } : l);
|
|
275
|
+
this._pushDesign({
|
|
276
|
+
...this._design,
|
|
277
|
+
featureLayer: {
|
|
278
|
+
...this._design.featureLayer,
|
|
279
|
+
layers: a
|
|
280
|
+
}
|
|
281
|
+
}), this._handleEditFieldBack();
|
|
282
|
+
}, this._handleApplyFieldChanges = () => {
|
|
283
|
+
if (!this._design || !this._editingFieldType)
|
|
284
|
+
return;
|
|
285
|
+
const e = this._design.featureLayer?.layers || [];
|
|
286
|
+
if (this._selectedLayerIndex >= e.length)
|
|
287
|
+
return;
|
|
288
|
+
const i = e[this._selectedLayerIndex];
|
|
289
|
+
if (this._editingFieldType === "custom") {
|
|
290
|
+
const t = [...i.customFields || []];
|
|
291
|
+
t[this._editingFieldIndex] = {
|
|
292
|
+
...t[this._editingFieldIndex],
|
|
293
|
+
alias: this._editingFieldDisplayName,
|
|
294
|
+
name: this._editingFieldName,
|
|
295
|
+
description: this._editingFieldDescription,
|
|
296
|
+
type: this._editingFieldTypeValue,
|
|
297
|
+
choiceList: this._editingFieldChoiceList && this._editingFieldChoiceList.length > 0 ? this._editingFieldChoiceList : null,
|
|
298
|
+
length: this._editingFieldTypeValue === "string" ? this._editingFieldLength : void 0
|
|
299
|
+
};
|
|
300
|
+
const a = e.map((l, r) => r === this._selectedLayerIndex ? { ...l, customFields: t } : l);
|
|
301
|
+
this._pushDesign({
|
|
302
|
+
...this._design,
|
|
303
|
+
featureLayer: {
|
|
304
|
+
...this._design.featureLayer,
|
|
305
|
+
layers: a
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
} else if (this._editingFieldType === "required") {
|
|
309
|
+
const t = [...i.requiredFields || []];
|
|
310
|
+
t[this._editingFieldIndex] = {
|
|
311
|
+
...t[this._editingFieldIndex],
|
|
312
|
+
alias: this._editingFieldDisplayName,
|
|
313
|
+
description: this._editingFieldDescription
|
|
314
|
+
};
|
|
315
|
+
const a = e.map((l, r) => r === this._selectedLayerIndex ? { ...l, requiredFields: t } : l);
|
|
316
|
+
this._pushDesign({
|
|
317
|
+
...this._design,
|
|
318
|
+
featureLayer: {
|
|
319
|
+
...this._design.featureLayer,
|
|
320
|
+
layers: a
|
|
321
|
+
}
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
this._handleEditFieldBack();
|
|
325
|
+
}, this._handleLayerNameChange = (e) => {
|
|
326
|
+
if (!this._design)
|
|
327
|
+
return;
|
|
328
|
+
const i = this._design.featureLayer?.layers || [];
|
|
329
|
+
if (this._selectedLayerIndex >= i.length)
|
|
330
|
+
return;
|
|
331
|
+
this._layerNameValidationError = this._validateLayerName(e);
|
|
332
|
+
const t = i.map((a, l) => l === this._selectedLayerIndex ? { ...a, name: e } : a);
|
|
333
|
+
this._pushDesign({
|
|
334
|
+
...this._design,
|
|
335
|
+
featureLayer: {
|
|
336
|
+
...this._design.featureLayer,
|
|
337
|
+
layers: t
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
}, this._handleLayerTypeChange = (e) => {
|
|
341
|
+
if (!this._design)
|
|
342
|
+
return;
|
|
343
|
+
const i = e.target.selectedItems[0];
|
|
344
|
+
if (!i)
|
|
345
|
+
return;
|
|
346
|
+
const t = this._design.featureLayer?.layers || [];
|
|
347
|
+
if (this._selectedLayerIndex >= t.length)
|
|
348
|
+
return;
|
|
349
|
+
const a = i.value, l = t.map((r, o) => o === this._selectedLayerIndex ? { ...r, type: a } : r);
|
|
350
|
+
this._pushDesign({
|
|
351
|
+
...this._design,
|
|
352
|
+
featureLayer: {
|
|
353
|
+
...this._design.featureLayer,
|
|
354
|
+
layers: l
|
|
355
|
+
}
|
|
356
|
+
});
|
|
357
|
+
}, this._handleLayerDescriptionChange = (e) => {
|
|
358
|
+
if (!this._design)
|
|
359
|
+
return;
|
|
360
|
+
const i = this._design.featureLayer?.layers || [];
|
|
361
|
+
if (this._selectedLayerIndex >= i.length)
|
|
362
|
+
return;
|
|
363
|
+
this._layerDescriptionValidationError = this._validateLayerDescription(e);
|
|
364
|
+
const t = i.map((a, l) => l === this._selectedLayerIndex ? { ...a, description: e } : a);
|
|
365
|
+
this._pushDesign({
|
|
366
|
+
...this._design,
|
|
367
|
+
featureLayer: {
|
|
368
|
+
...this._design.featureLayer,
|
|
369
|
+
layers: t
|
|
370
|
+
}
|
|
371
|
+
});
|
|
372
|
+
}, this._handleRemoveLayer = () => {
|
|
373
|
+
if (!this._design)
|
|
374
|
+
return;
|
|
375
|
+
const e = this._design.featureLayer?.layers || [];
|
|
376
|
+
if (this._selectedLayerIndex >= e.length)
|
|
377
|
+
return;
|
|
378
|
+
const i = e.filter((t, a) => a !== this._selectedLayerIndex);
|
|
379
|
+
this._pushDesign({
|
|
380
|
+
...this._design,
|
|
381
|
+
featureLayer: {
|
|
382
|
+
...this._design.featureLayer,
|
|
383
|
+
layers: i
|
|
384
|
+
}
|
|
385
|
+
}), this._selectedLayerIndex >= i.length && (this._selectedLayerIndex = Math.max(0, i.length - 1)), this._scrollCustomizeLayerFlowToTop();
|
|
386
|
+
}, this._handleDeploy = async () => {
|
|
387
|
+
this._design && console.log("Deploy design:", this._design);
|
|
388
|
+
}, this._designContextConsumer, window.addEventListener("arcgis-solution-undo", this._handleUndo), window.addEventListener("arcgis-solution-redo", this._handleRedo);
|
|
389
|
+
}
|
|
390
|
+
static {
|
|
391
|
+
this.properties = { design: [1, { type: Object }], _design: 16, _translations: 16, _isDirty: 16, _titleValidationError: 16, _descriptionValidationError: 16, _undoStack: 16, _redoStack: 16, _openPopoverId: 16, _editingItemTitle: 16, _editingItemDescription: 16, _editingItemTitleError: 16, _editingItemDescriptionError: 16, _originalItemTitle: 16, _originalItemDescription: 16, _layerNameValidationError: 16, _layerDescriptionValidationError: 16, _newLayerNameValidationError: 16, _newLayerDescriptionValidationError: 16, _selectedLayerIndex: 16, _isAddingLayer: 16, _newLayerName: 16, _newLayerType: 16, _newLayerDescription: 16, _isEditingField: 16, _editingFieldIndex: 16, _editingFieldType: 16, _editingFieldDisplayName: 16, _editingFieldName: 16, _editingFieldDescription: 16, _editingFieldTypeValue: 16, _editingFieldLength: 16, _editingFieldChoiceList: 16, _isAddingNewField: 16, _isCustomizingLayer: 16, _newFieldDisplayName: 16, _newFieldName: 16, _newFieldDescription: 16, _newFieldType: 16, _newFieldLength: 16, _newFieldChoiceList: 16, _editingFieldDisplayNameError: 16, _editingFieldNameError: 16, _editingFieldDescriptionError: 16, _editingFieldLengthError: 16, _editingFieldChoiceListErrors: 16, _newFieldDisplayNameError: 16, _newFieldNameError: 16, _newFieldDescriptionError: 16, _newFieldLengthError: 16, _newFieldChoiceListErrors: 16, _originalEditFieldDisplayName: 16, _originalEditFieldName: 16, _originalEditFieldDescription: 16, _originalEditFieldTypeValue: 16, _originalEditFieldLength: 16, _originalEditFieldChoiceList: 16 };
|
|
392
|
+
}
|
|
393
|
+
static {
|
|
394
|
+
this.styles = T;
|
|
395
|
+
}
|
|
396
|
+
disconnectedCallback() {
|
|
397
|
+
window.removeEventListener("arcgis-solution-undo", this._handleUndo), window.removeEventListener("arcgis-solution-redo", this._handleRedo), super.disconnectedCallback();
|
|
398
|
+
}
|
|
399
|
+
willUpdate(e) {
|
|
400
|
+
e.has("design") && (this.design ? this._pushDesign(this.design) : this._design = null);
|
|
401
|
+
}
|
|
402
|
+
render() {
|
|
403
|
+
const e = this._translations;
|
|
404
|
+
return e ? this._design ? s`<calcite-panel><div slot=header-content class="header-content-wrapper"><span class="header-title">${e.headerTitle}</span><calcite-chip .label=${e.draft} kind=neutral appearance=outline scale=s>${e.draft}</calcite-chip></div><calcite-action slot=header-actions-end .text=${e.undo} text-enabled icon=undo .disabled=${this._undoStack.length === 0} @click=${this._handleUndo}></calcite-action><calcite-action slot=header-actions-end .text=${e.redo} text-enabled icon=redo .disabled=${this._redoStack.length === 0} @click=${this._handleRedo}></calcite-action><div slot=header-actions-end class="header-divider"></div><calcite-action slot=header-actions-end .text=${e.hideBuilder} text-enabled icon=chevrons-right @click=${this._handleHideBuilder}></calcite-action>${!this._isCustomizingLayer && s`<div class="builder-content">${this._renderMainContent()}${this._renderSolutionItemContent()}</div>` || ""}${this._isCustomizingLayer && s`<div class="builder-content">${this._renderCustomizeLayerFlow()}</div>` || ""}</calcite-panel>` : this._renderEmptyState() : s`<div>Loading...</div>`;
|
|
405
|
+
}
|
|
406
|
+
_getLayerTypeIcon(e) {
|
|
407
|
+
switch (e) {
|
|
408
|
+
case "Point":
|
|
409
|
+
return "point";
|
|
410
|
+
case "Polyline":
|
|
411
|
+
return "line";
|
|
412
|
+
case "Polygon":
|
|
413
|
+
return "polygon";
|
|
414
|
+
case "Table":
|
|
415
|
+
return "table";
|
|
416
|
+
default:
|
|
417
|
+
return "layer";
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
_getFieldTypeIcon(e) {
|
|
421
|
+
switch (e) {
|
|
422
|
+
case "string":
|
|
423
|
+
return "string";
|
|
424
|
+
case "integer":
|
|
425
|
+
return "integer";
|
|
426
|
+
case "double":
|
|
427
|
+
return "number";
|
|
428
|
+
case "date":
|
|
429
|
+
return "date-time";
|
|
430
|
+
case "oid":
|
|
431
|
+
case "globalid":
|
|
432
|
+
case "guid":
|
|
433
|
+
return "key";
|
|
434
|
+
default:
|
|
435
|
+
return "key";
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
_formatFieldType(e) {
|
|
439
|
+
const t = {
|
|
440
|
+
string: "String",
|
|
441
|
+
integer: "Integer",
|
|
442
|
+
double: "Double",
|
|
443
|
+
date: "Date",
|
|
444
|
+
guid: "GUID",
|
|
445
|
+
globalid: "GlobalID",
|
|
446
|
+
oid: "ObjectID"
|
|
447
|
+
}[e.type] || e.type;
|
|
448
|
+
return e.type === "string" && e.length ? `${t} (${e.length})` : t;
|
|
449
|
+
}
|
|
450
|
+
_getSystemFieldsList(e) {
|
|
451
|
+
return (e.systemFields || []).map((t) => t.name).join(", ");
|
|
452
|
+
}
|
|
453
|
+
_shouldShowRemoveLayerButton(e) {
|
|
454
|
+
return !e || !this._design?.featureLayer ? !1 : e.id && e.id > 1e3;
|
|
455
|
+
}
|
|
456
|
+
_scrollCustomizeLayerFlowToTop() {
|
|
457
|
+
requestAnimationFrame(() => {
|
|
458
|
+
const e = this.el.shadowRoot?.querySelector("calcite-flow-item[selected]");
|
|
459
|
+
e?.shadowRoot && e.shadowRoot.querySelector(".content-container")?.scrollTo({ top: 0, behavior: "smooth" });
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
async _validateSolutionName(e) {
|
|
463
|
+
const i = this._translations, t = await D(e, void 0, !0);
|
|
464
|
+
if (!t.isValid)
|
|
465
|
+
switch (t.errorType) {
|
|
466
|
+
case "empty":
|
|
467
|
+
return i.solutionNameErrorBlank;
|
|
468
|
+
case "exceed-length":
|
|
469
|
+
return i.solutionNameErrorLength;
|
|
470
|
+
case "special-character":
|
|
471
|
+
return i.solutionNameErrorSpecialCharacter;
|
|
472
|
+
default:
|
|
473
|
+
return null;
|
|
474
|
+
}
|
|
475
|
+
return null;
|
|
476
|
+
}
|
|
477
|
+
_validateSolutionDescription(e) {
|
|
478
|
+
const i = this._translations, t = F(e, 2048, !1);
|
|
479
|
+
if (!t.isValid)
|
|
480
|
+
switch (t.errorType) {
|
|
481
|
+
case "exceed-length":
|
|
482
|
+
return i.descriptionErrorLength;
|
|
483
|
+
case "special-character":
|
|
484
|
+
return i.descriptionErrorSpecialCharacter;
|
|
485
|
+
default:
|
|
486
|
+
return null;
|
|
487
|
+
}
|
|
488
|
+
return null;
|
|
489
|
+
}
|
|
490
|
+
_validateItemName(e) {
|
|
491
|
+
const i = this._translations, t = v(e);
|
|
492
|
+
if (!t.isValid)
|
|
493
|
+
switch (t.errorType) {
|
|
494
|
+
case "empty":
|
|
495
|
+
return i.itemTitleErrorBlank;
|
|
496
|
+
case "exceed-length":
|
|
497
|
+
return i.itemTitleErrorLength;
|
|
498
|
+
case "special-character":
|
|
499
|
+
return i.itemTitleErrorSpecialCharacter;
|
|
500
|
+
default:
|
|
501
|
+
return null;
|
|
502
|
+
}
|
|
503
|
+
return null;
|
|
504
|
+
}
|
|
505
|
+
_validateItemDescription(e) {
|
|
506
|
+
const i = this._translations, t = F(e, 2048, !1);
|
|
507
|
+
if (!t.isValid)
|
|
508
|
+
switch (t.errorType) {
|
|
509
|
+
case "exceed-length":
|
|
510
|
+
return i.itemDescriptionErrorLength;
|
|
511
|
+
case "special-character":
|
|
512
|
+
return i.itemDescriptionErrorSpecialCharacter;
|
|
513
|
+
default:
|
|
514
|
+
return null;
|
|
515
|
+
}
|
|
516
|
+
return null;
|
|
517
|
+
}
|
|
518
|
+
_validateLayerName(e) {
|
|
519
|
+
const i = this._translations, t = v(e);
|
|
520
|
+
if (!t.isValid)
|
|
521
|
+
switch (t.errorType) {
|
|
522
|
+
case "empty":
|
|
523
|
+
return i.layerNameErrorBlank;
|
|
524
|
+
case "exceed-length":
|
|
525
|
+
return i.layerNameErrorLength;
|
|
526
|
+
case "special-character":
|
|
527
|
+
return i.layerNameErrorSpecialCharacter;
|
|
528
|
+
default:
|
|
529
|
+
return null;
|
|
530
|
+
}
|
|
531
|
+
return null;
|
|
532
|
+
}
|
|
533
|
+
_validateLayerDescription(e) {
|
|
534
|
+
const i = this._translations, t = F(e, 2048, !1);
|
|
535
|
+
if (!t.isValid)
|
|
536
|
+
switch (t.errorType) {
|
|
537
|
+
case "exceed-length":
|
|
538
|
+
return i.layerDescriptionErrorLength;
|
|
539
|
+
case "special-character":
|
|
540
|
+
return i.layerDescriptionErrorSpecialCharacter;
|
|
541
|
+
default:
|
|
542
|
+
return null;
|
|
543
|
+
}
|
|
544
|
+
return null;
|
|
545
|
+
}
|
|
546
|
+
_validateFieldDisplayName(e) {
|
|
547
|
+
const i = this._translations, t = C(e);
|
|
548
|
+
if (!t.isValid)
|
|
549
|
+
switch (t.errorType) {
|
|
550
|
+
case "empty":
|
|
551
|
+
return i.displayNameErrorBlank;
|
|
552
|
+
case "exceed-length":
|
|
553
|
+
return i.displayNameErrorLength;
|
|
554
|
+
default:
|
|
555
|
+
return null;
|
|
556
|
+
}
|
|
557
|
+
return null;
|
|
558
|
+
}
|
|
559
|
+
_validateFieldName(e, i, t = !1, a = -1, l = null) {
|
|
560
|
+
const r = this._translations, o = [], n = this._design?.featureLayer?.layers || [];
|
|
561
|
+
if (i >= 0 && i < n.length) {
|
|
562
|
+
const d = n[i], u = d.customFields || [], y = d.requiredFields || [], g = d.systemFields || [];
|
|
563
|
+
u.forEach((p, m) => {
|
|
564
|
+
(!t || l !== "custom" || m !== a) && o.push(p.name.toLowerCase());
|
|
565
|
+
}), y.forEach((p, m) => {
|
|
566
|
+
(!t || l !== "required" || m !== a) && o.push(p.name.toLowerCase());
|
|
567
|
+
}), g.forEach((p) => {
|
|
568
|
+
o.push(p.name.toLowerCase());
|
|
569
|
+
});
|
|
570
|
+
}
|
|
571
|
+
const c = I(e, o);
|
|
572
|
+
if (!c.isValid)
|
|
573
|
+
switch (c.errorType) {
|
|
574
|
+
case "empty":
|
|
575
|
+
return r.fieldNameErrorBlank;
|
|
576
|
+
case "invalid-format":
|
|
577
|
+
return r.fieldNameErrorInvalidChars;
|
|
578
|
+
case "exceed-length":
|
|
579
|
+
return r.fieldNameErrorLength;
|
|
580
|
+
case "sql-keyword":
|
|
581
|
+
return r.fieldNameErrorSQLKeyword;
|
|
582
|
+
case "system-field":
|
|
583
|
+
return r.fieldNameErrorSystemField;
|
|
584
|
+
case "duplicate-field":
|
|
585
|
+
return r.fieldNameErrorExists;
|
|
586
|
+
default:
|
|
587
|
+
return null;
|
|
588
|
+
}
|
|
589
|
+
return null;
|
|
590
|
+
}
|
|
591
|
+
_validateFieldDescription(e) {
|
|
592
|
+
const i = this._translations, t = F(e, 500, !0);
|
|
593
|
+
if (!t.isValid)
|
|
594
|
+
switch (t.errorType) {
|
|
595
|
+
case "exceed-length":
|
|
596
|
+
return i.fieldDescriptionErrorLength;
|
|
597
|
+
case "special-character":
|
|
598
|
+
return i.fieldDescriptionErrorSpecialCharacter;
|
|
599
|
+
default:
|
|
600
|
+
return null;
|
|
601
|
+
}
|
|
602
|
+
return null;
|
|
603
|
+
}
|
|
604
|
+
_validateFieldLength(e) {
|
|
605
|
+
const i = this._translations, t = M(e);
|
|
606
|
+
return t.isValid ? null : t.errorType === "out-of-range" ? i.lengthErrorOutOfRange : null;
|
|
607
|
+
}
|
|
608
|
+
_validateDomainValue(e, i, t = !1) {
|
|
609
|
+
const a = this._translations, l = z(e, i, t);
|
|
610
|
+
if (!l.isValid)
|
|
611
|
+
switch (l.errorType) {
|
|
612
|
+
case "empty":
|
|
613
|
+
return a.domainValueErrorEmpty;
|
|
614
|
+
case "exceed-length":
|
|
615
|
+
return a.domainValueErrorExceedsLength;
|
|
616
|
+
default:
|
|
617
|
+
return null;
|
|
618
|
+
}
|
|
619
|
+
return null;
|
|
620
|
+
}
|
|
621
|
+
_renderFieldRows(e) {
|
|
622
|
+
const i = this._translations, t = [
|
|
623
|
+
...e.customFields || [],
|
|
624
|
+
...e.requiredFields || []
|
|
625
|
+
], a = e.customFields?.length || 0, l = [];
|
|
626
|
+
return t.forEach((r, o) => {
|
|
627
|
+
const n = this._getFieldTypeIcon(r.type), c = this._formatFieldType(r), d = `field-domain-info-${o}`, u = `field-lock-${o}`, y = o >= a;
|
|
628
|
+
let g, p = !1;
|
|
629
|
+
r.choiceList && Array.isArray(r.choiceList) ? (p = !0, g = s`<div class="domain-cell-content"><span>List (${r.choiceList.length})</span><calcite-icon id=${d ?? h} icon=information scale=s></calcite-icon></div>`) : g = null;
|
|
630
|
+
const m = y ? s`<div class="field-name-cell"><calcite-icon id=${u ?? h} icon=lock scale=s class="lock-icon"></calcite-icon><span>${r.name}</span></div>` : r.name;
|
|
631
|
+
l.push(s`<calcite-table-row><calcite-table-cell>${r.alias}</calcite-table-cell><calcite-table-cell>${m}</calcite-table-cell><calcite-table-cell><div class="field-type-cell"><calcite-icon .icon=${n} scale=s></calcite-icon><span>${c}</span></div></calcite-table-cell><calcite-table-cell>${g}</calcite-table-cell><calcite-table-cell><calcite-icon class="edit-icon" icon=pencil scale=s @click=${() => this._handleEditField(o, r)}></calcite-icon></calcite-table-cell></calcite-table-row>`), p && l.push(s`<calcite-tooltip .referenceElement=${d} placement=left><ul class="choice-list-tooltip">${r.choiceList.map((b) => s`<li>${b}</li>`)}</ul></calcite-tooltip>`), y && l.push(s`<calcite-tooltip .referenceElement=${u} placement=top>${i.requiredFieldTooltip}</calcite-tooltip>`);
|
|
632
|
+
}), l;
|
|
633
|
+
}
|
|
634
|
+
_renderEmptyState() {
|
|
635
|
+
return s`<calcite-panel><div class="empty-state"><calcite-icon icon=layer scale=l></calcite-icon><p>No solution design loaded</p></div></calcite-panel>`;
|
|
636
|
+
}
|
|
637
|
+
_renderMainContent() {
|
|
638
|
+
return s`<div class="content-container"><div class="solution-item-section">${this._renderSolutionItemInputs()}</div><div class="actions-section">${this._renderActionButtons()}</div></div>`;
|
|
639
|
+
}
|
|
640
|
+
_renderSolutionItemInputs() {
|
|
641
|
+
const e = this._translations, i = this._design?.solution?.thumbnailUrl || "", t = this._design?.solution?.title || "", a = this._design?.solution?.description || "";
|
|
642
|
+
return s`<div class="solution-item-inputs"><div class="thumbnail-inputs-row"><div class="thumbnail-container"><img src=${(i || O) ?? h} alt=${e.solutionThumbnail ?? h}></div><div class="stacked-inputs"><calcite-label class="section-title">${e.name}<calcite-input-text .placeholder=${e.namePlaceholder} .value=${t} max-length=250 .status=${this._titleValidationError ? "invalid" : "idle"} .validationMessage=${this._titleValidationError || ""} .validationIcon=${!!this._titleValidationError} @input=${(l) => this._handleTitleChange(l.target.value)}></calcite-input-text></calcite-label><calcite-label class="section-title">${e.description}<calcite-text-area .placeholder=${e.solutionDescriptionPlaceholder} .value=${a} max-length=2048 resize=none .status=${this._descriptionValidationError ? "invalid" : "idle"} .validationMessage=${this._descriptionValidationError || ""} .validationIcon=${!!this._descriptionValidationError} rows=3 limit-text @input=${(l) => this._handleDescriptionChange(l.target.value)}></calcite-text-area></calcite-label></div></div></div>`;
|
|
643
|
+
}
|
|
644
|
+
_renderActionButtons() {
|
|
645
|
+
const e = this._translations;
|
|
646
|
+
return s`<div class="action-buttons"><calcite-button appearance=solid width=full>${e.deploy}</calcite-button><calcite-button appearance=outline kind=neutral width=full>${e.discard}</calcite-button><calcite-notice open appearance=transparent kind=brand icon=effects scale=s><div slot=message>${e.noticeMessage}</div></calcite-notice></div>`;
|
|
647
|
+
}
|
|
648
|
+
_renderSolutionItemContent() {
|
|
649
|
+
const e = this._translations, i = this._design?.items || [], t = this._design?.featureLayer?.itemId, a = [...i].reverse();
|
|
650
|
+
return s`<div class="solution-item-content-section"><h3 class="section-header">${e.contents}</h3><calcite-list .label=${e.solutionContentItems} interaction-mode=static>${a.map((l) => {
|
|
651
|
+
const r = `edit-action-${l.id}`, o = `customize-action-${l.id}`, n = l.id === t;
|
|
652
|
+
return s`<calcite-list-item .label=${l.title} .description=${l.description || ""}><solution-item-icon slot=content-start .designType=${l.type}></solution-item-icon>${n && s`<calcite-button slot=content-end appearance=outline-fill round id=${o ?? h} icon-start=gear .label=${e.customizeLayer} scale=m @click=${this._handleOpenCustomizeLayer}>${e.customizeLayer}</calcite-button>` || ""}<calcite-action slot=actions-end id=${r ?? h} icon=edit-attributes .text=${e.edit} scale=m></calcite-action></calcite-list-item>`;
|
|
653
|
+
})}</calcite-list>${a.map((l) => {
|
|
654
|
+
const r = `edit-action-${l.id}`, o = `edit-popover-${l.id}`, n = this._openPopoverId === l.id;
|
|
655
|
+
return s`<calcite-popover id=${o ?? h} .label=${e.editItemContent} .referenceElement=${r} placement=auto @calcitePopoverBeforeOpen=${() => this._handleItemPopoverOpen(l)} @calcitePopoverClose=${() => this._handleCloseItemPopover()}><div class="popover-content"><calcite-label class="section-title">${e.title}<calcite-input-text .value=${n ? this._editingItemTitle : l.title} .placeholder=${e.titlePlaceholder} max-length=250 .status=${this._editingItemTitleError ? "invalid" : "idle"} .validationMessage=${this._editingItemTitleError || ""} .validationIcon=${!!this._editingItemTitleError} @input=${(c) => {
|
|
656
|
+
this._editingItemTitle = c.target.value, this._editingItemTitleError = this._validateItemName(c.target.value);
|
|
657
|
+
}}></calcite-input-text></calcite-label><calcite-label class="popover-field section-title">${e.description}<calcite-text-area .value=${n ? this._editingItemDescription : l.description} .placeholder=${e.descriptionPlaceholder} max-length=2048 resize=none rows=4 .status=${this._editingItemDescriptionError ? "invalid" : "idle"} .validationMessage=${this._editingItemDescriptionError || ""} .validationIcon=${!!this._editingItemDescriptionError} @input=${(c) => {
|
|
658
|
+
this._editingItemDescription = c.target.value, this._editingItemDescriptionError = this._validateItemDescription(c.target.value);
|
|
659
|
+
}}></calcite-text-area></calcite-label><div class="popover-actions"><calcite-button appearance=outline kind=neutral @click=${async (c) => {
|
|
660
|
+
c.stopPropagation(), await this._handleClosePopover(o);
|
|
661
|
+
}}>${e.cancel}</calcite-button><calcite-button appearance=solid .disabled=${!!this._editingItemTitleError || !!this._editingItemDescriptionError || this._editingItemTitle === this._originalItemTitle && this._editingItemDescription === this._originalItemDescription} @click=${(c) => {
|
|
662
|
+
c.stopPropagation(), this._handleApplyItemChanges(l.id);
|
|
663
|
+
}}>${e.apply}</calcite-button></div></div></calcite-popover>`;
|
|
664
|
+
})}</div>`;
|
|
665
|
+
}
|
|
666
|
+
_renderCustomizeLayerFlow() {
|
|
667
|
+
const e = this._translations, i = this._design?.featureLayer?.layers || [], t = this._design?.featureLayer?.addLayers || !1, a = i[this._selectedLayerIndex], l = a?.name || "", r = a?.description || "", o = a?.type || "Point";
|
|
668
|
+
return s`<calcite-flow><calcite-flow-item .heading=${e.customizeLayer} .selected=${!this._isAddingLayer && !this._isEditingField && !this._isAddingNewField}><calcite-action slot=header-actions-start icon=chevron-left .text=${e.close} scale=m @click=${this._handleCloseCustomizeLayer}></calcite-action><div class="layer-form-content"><div class="layer-selector-container"><span class="section-header">${e.selectLayer}</span><div class="layer-selector-row"><calcite-combobox .label=${e.selectLayer} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(n) => this._handleLayerSelect(n)}>${i.map((n, c) => {
|
|
669
|
+
const d = this._getLayerTypeIcon(n.type);
|
|
670
|
+
return s`<calcite-combobox-item .value=${c.toString()} .label=${n.name} .heading=${n.name} .icon=${d} .selected=${c === this._selectedLayerIndex}></calcite-combobox-item>`;
|
|
671
|
+
})}</calcite-combobox>${t && s`<calcite-button icon-start=plus appearance=outline @click=${this._handleAddLayer}>${e.addLayer}</calcite-button>` || ""}</div></div><div class="horizontal-divider"></div>${a && s`<div class="layer-properties-section"><span class="section-header">${e.layerProperties}</span><div class="layer-properties-row"><calcite-label class="section-title">${e.name}<calcite-input-text .placeholder=${e.layerNamePlaceholder} .value=${l} max-length=250 .status=${this._layerNameValidationError ? "invalid" : "idle"} .validationMessage=${this._layerNameValidationError || ""} .validationIcon=${!!this._layerNameValidationError} @input=${(n) => this._handleLayerNameChange(n.target.value)}></calcite-input-text></calcite-label><calcite-label class="section-title">${e.type}<calcite-combobox .label=${e.type} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(n) => this._handleLayerTypeChange(n)}><calcite-combobox-item value=Point .label=${e.pointLayer} .heading=${e.pointLayer} icon=point .selected=${o === "Point"}></calcite-combobox-item><calcite-combobox-item value=Polyline .label=${e.lineLayer} .heading=${e.lineLayer} icon=line .selected=${o === "Polyline"}></calcite-combobox-item><calcite-combobox-item value=Polygon .label=${e.polygonLayer} .heading=${e.polygonLayer} icon=polygon .selected=${o === "Polygon"}></calcite-combobox-item><calcite-combobox-item value=Table .label=${e.tableLayer} .heading=${e.tableLayer} icon=table .selected=${o === "Table"}></calcite-combobox-item></calcite-combobox></calcite-label></div></div>` || ""}${a && s`<div class="layer-description-container"><calcite-label class="section-title">${e.description}<calcite-text-area .placeholder=${e.layerDescriptionPlaceholder} .value=${r} resize=none max-length=2048 .status=${this._layerDescriptionValidationError ? "invalid" : "idle"} .validationMessage=${this._layerDescriptionValidationError || ""} .validationIcon=${!!this._layerDescriptionValidationError} @input=${(n) => this._handleLayerDescriptionChange(n.target.value)}></calcite-text-area></calcite-label></div>` || ""}${a && s`<div class="fields-section"><calcite-label class="section-title">${e.fields}<calcite-table bordered .caption=${e.fields}><calcite-table-row slot=table-header><calcite-table-header .heading=${e.displayName}></calcite-table-header><calcite-table-header .heading=${e.fieldName}></calcite-table-header><calcite-table-header .heading=${e.type}></calcite-table-header><calcite-table-header .heading=${e.domain}></calcite-table-header><calcite-table-header heading></calcite-table-header></calcite-table-row>${this._renderFieldRows(a)}</calcite-table></calcite-label><calcite-button icon-start=plus appearance=outline-fill width=auto scale=m class="add-field-button" @click=${this._handleAddField}>${e.addField}</calcite-button><calcite-notice open icon=information appearance=transparent width=full><div slot=message>${e.systemFieldsNote} ${this._getSystemFieldsList(a)}</div></calcite-notice></div>` || ""}</div>${this._shouldShowRemoveLayerButton(a) && s`<calcite-button slot=footer appearance=transparent kind=danger width=full @click=${this._handleRemoveLayer}>${e.removeLayer}</calcite-button>` || ""}</calcite-flow-item>${this._isEditingField && s`<calcite-flow-item heading="Edit field" selected @calciteFlowItemBack=${this._handleEditFieldBack}><div class="layer-form-content">${this._editingFieldType === "required" && s`<div class="system-fields-note"><calcite-icon icon=lock scale=s class="info-icon-blue"></calcite-icon><span>${e.requiredFieldNote}</span></div>` || ""}<div class="layer-properties-container"><calcite-label class="section-title">${e.displayName}<calcite-input-text .placeholder=${e.displayNamePlaceholder} .value=${this._editingFieldDisplayName} max-length=250 .status=${this._editingFieldDisplayNameError ? "invalid" : "idle"} .validationMessage=${this._editingFieldDisplayNameError || ""} .validationIcon=${!!this._editingFieldDisplayNameError} @input=${(n) => this._handleEditFieldDisplayNameChange(n.target.value)}></calcite-input-text></calcite-label><calcite-label class="section-title">${e.fieldName}<calcite-input-text .placeholder=${e.fieldNamePlaceholder} .value=${this._editingFieldName} max-length=31 .disabled=${this._editingFieldType === "required"} .status=${this._editingFieldNameError ? "invalid" : "idle"} .validationMessage=${this._editingFieldNameError || ""} .validationIcon=${!!this._editingFieldNameError} @input=${(n) => this._handleEditFieldNameChange(n.target.value)}></calcite-input-text></calcite-label></div><div class="layer-description-container"><calcite-label class="section-title">${e.fieldDescription}<calcite-text-area .placeholder=${e.fieldDescriptionPlaceholder} .value=${this._editingFieldDescription} resize=none max-length=500 .status=${this._editingFieldDescriptionError ? "invalid" : "idle"} .validationMessage=${this._editingFieldDescriptionError || ""} .validationIcon=${!!this._editingFieldDescriptionError} @input=${(n) => this._handleEditFieldDescriptionChange(n.target.value)}></calcite-text-area></calcite-label></div><div class="layer-properties-container"><calcite-label class="section-title">${e.type}<calcite-combobox .label=${e.type} selection-mode=single-persist clear-disabled .disabled=${this._editingFieldType === "required"} @calciteComboboxChange=${(n) => this._handleEditFieldTypeChange(n)}><calcite-combobox-item value=string text-label=${e.stringType ?? h} .heading=${e.stringType} icon=string .selected=${this._editingFieldTypeValue === "string"}></calcite-combobox-item><calcite-combobox-item value=integer text-label=${e.integerType ?? h} .heading=${e.integerType} icon=integer .selected=${this._editingFieldTypeValue === "integer"}></calcite-combobox-item><calcite-combobox-item value=double text-label=${e.doubleType ?? h} .heading=${e.doubleType} icon=number .selected=${this._editingFieldTypeValue === "double"}></calcite-combobox-item><calcite-combobox-item value=date text-label=${e.dateType ?? h} .heading=${e.dateType} icon=date-time .selected=${this._editingFieldTypeValue === "date"}></calcite-combobox-item><calcite-combobox-item value=guid text-label=${e.guidType ?? h} .heading=${e.guidType} icon=key .selected=${this._editingFieldTypeValue === "guid"}></calcite-combobox-item></calcite-combobox></calcite-label>${this._editingFieldTypeValue === "string" && s`<calcite-label class="section-title">${e.length}<calcite-input-number .value=${this._editingFieldLength.toString()} .disabled=${this._editingFieldType === "required"} min=1 max=4000 .status=${this._editingFieldLengthError ? "invalid" : "idle"} .validationMessage=${this._editingFieldLengthError || ""} .validationIcon=${!!this._editingFieldLengthError} @input=${(n) => {
|
|
672
|
+
const c = n.target.value === "" ? null : parseInt(n.target.value);
|
|
673
|
+
this._handleEditFieldLengthChange(c);
|
|
674
|
+
}}></calcite-input-number></calcite-label>` || ""}</div>${this._editingFieldTypeValue === "string" && s`<div class="domain-section"><calcite-label class="section-title">${e.domainValues}</calcite-label>${this._editingFieldChoiceList && this._editingFieldChoiceList.length > 0 ? s`<div><div class="domain-list">${this._editingFieldChoiceList.map((n, c) => s`<div class="domain-item" draggable @dragstart=${(d) => this._handleEditFieldChoiceDragStart(c, d)} @dragover=${(d) => d.preventDefault()} @drop=${(d) => this._handleEditFieldChoiceDrop(c, d)}><calcite-icon icon=drag scale=s class="drag-handle"></calcite-icon><calcite-input-text .placeholder=${e.domainValuePlaceholder} .value=${n} .maxLength=${this._editingFieldLength} .status=${this._editingFieldChoiceListErrors.get(c) ? "invalid" : "idle"} .validationMessage=${this._editingFieldChoiceListErrors.get(c) || ""} .validationIcon=${!!this._editingFieldChoiceListErrors.get(c)} @input=${(d) => this._handleUpdateEditFieldChoice(c, d.target.value)}></calcite-input-text><calcite-button icon-start=x appearance=transparent scale=s kind=neutral @click=${() => this._handleRemoveEditFieldChoice(c)}></calcite-button></div>`)}</div><calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddEditFieldChoice}>${e.addDomainValue}</calcite-button></div>` : s`<calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddEditFieldChoice}>${e.addDomainValue}</calcite-button>`}</div>` || ""}</div><calcite-button slot=footer-end appearance=outline kind=neutral scale=m .disabled=${this._editingFieldType === "required"} @click=${this._handleDeleteField}>${e.delete}</calcite-button><calcite-button slot=footer-end appearance=solid kind=brand scale=m .disabled=${// Disable if there are validation errors
|
|
675
|
+
!!this._editingFieldDisplayNameError || !!this._editingFieldNameError || !!this._editingFieldDescriptionError || !!this._editingFieldLengthError || this._editingFieldChoiceListErrors.size > 0 || // Disable if no changes made
|
|
676
|
+
this._editingFieldDisplayName === this._originalEditFieldDisplayName && this._editingFieldName === this._originalEditFieldName && this._editingFieldDescription === this._originalEditFieldDescription && this._editingFieldTypeValue === this._originalEditFieldTypeValue && this._editingFieldLength === this._originalEditFieldLength && JSON.stringify(this._editingFieldChoiceList) === JSON.stringify(this._originalEditFieldChoiceList)} @click=${this._handleApplyFieldChanges}>${e.apply}</calcite-button></calcite-flow-item>` || ""}${this._isAddingLayer && s`<calcite-flow-item heading="Add Layer" selected @calciteFlowItemBack=${this._handleAddLayerBack}><div class="layer-form-content"><div class="layer-properties-container"><calcite-label class="section-title">${e.name}<calcite-input-text .placeholder=${e.layerNamePlaceholder} .value=${this._newLayerName} max-length=250 .status=${this._newLayerNameValidationError ? "invalid" : "idle"} .validationMessage=${this._newLayerNameValidationError || ""} .validationIcon=${!!this._newLayerNameValidationError} @input=${(n) => this._handleNewLayerNameChange(n.target.value)}></calcite-input-text></calcite-label><calcite-label class="section-title">${e.type}<calcite-combobox .label=${e.type} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(n) => this._handleNewLayerTypeChange(n)}><calcite-combobox-item value=Point text-label=${e.pointLayer ?? h} .heading=${e.pointLayer} icon=point .selected=${this._newLayerType === "Point"}></calcite-combobox-item><calcite-combobox-item value=Polyline text-label=${e.lineLayer ?? h} .heading=${e.lineLayer} icon=line .selected=${this._newLayerType === "Polyline"}></calcite-combobox-item><calcite-combobox-item value=Polygon text-label=${e.polygonLayer ?? h} .heading=${e.polygonLayer} icon=polygon .selected=${this._newLayerType === "Polygon"}></calcite-combobox-item><calcite-combobox-item value=Table text-label=${e.tableLayer ?? h} .heading=${e.tableLayer} icon=table .selected=${this._newLayerType === "Table"}></calcite-combobox-item></calcite-combobox></calcite-label></div><div class="layer-description-container"><calcite-label class="section-title">${e.description}<calcite-text-area .placeholder=${e.layerDescriptionPlaceholder} .value=${this._newLayerDescription} resize=none max-length=2048 .status=${this._newLayerDescriptionValidationError ? "invalid" : "idle"} .validationMessage=${this._newLayerDescriptionValidationError || ""} .validationIcon=${!!this._newLayerDescriptionValidationError} @input=${(n) => this._handleNewLayerDescriptionChange(n.target.value)}></calcite-text-area></calcite-label></div></div><calcite-button slot=footer-end appearance=solid kind=brand scale=m .disabled=${!this._newLayerName.trim() || !!this._newLayerNameValidationError || !!this._newLayerDescriptionValidationError} @click=${this._handleAddLayerDone}>${e.done}</calcite-button></calcite-flow-item>` || ""}${this._isAddingNewField && s`<calcite-flow-item heading="Add Field" selected @calciteFlowItemBack=${this._handleAddFieldBack}><div class="layer-form-content"><div class="layer-properties-container"><calcite-label class="section-title">${e.displayName}<calcite-input-text .placeholder=${e.displayNamePlaceholder} .value=${this._newFieldDisplayName} max-length=250 .status=${this._newFieldDisplayNameError ? "invalid" : "idle"} .validationMessage=${this._newFieldDisplayNameError || ""} .validationIcon=${!!this._newFieldDisplayNameError} @input=${(n) => this._handleNewFieldDisplayNameChange(n.target.value)}></calcite-input-text></calcite-label><calcite-label class="section-title">${e.fieldName}<calcite-input-text .placeholder=${e.fieldNamePlaceholder} .value=${this._newFieldName} max-length=31 .status=${this._newFieldNameError ? "invalid" : "idle"} .validationMessage=${this._newFieldNameError || ""} .validationIcon=${!!this._newFieldNameError} @input=${(n) => this._handleNewFieldNameChange(n.target.value)}></calcite-input-text></calcite-label></div><div class="layer-description-container"><calcite-label class="section-title">${e.fieldDescription}<calcite-text-area .placeholder=${e.fieldDescriptionPlaceholder} .value=${this._newFieldDescription} resize=none max-length=500 .status=${this._newFieldDescriptionError ? "invalid" : "idle"} .validationMessage=${this._newFieldDescriptionError || ""} .validationIcon=${!!this._newFieldDescriptionError} @input=${(n) => this._handleNewFieldDescriptionChange(n.target.value)}></calcite-text-area></calcite-label></div><div class="layer-properties-container"><calcite-label class="section-title">${e.type}<calcite-combobox .label=${e.type} selection-mode=single-persist clear-disabled @calciteComboboxChange=${(n) => this._handleNewFieldTypeChange(n)}><calcite-combobox-item value=string text-label=${e.stringType ?? h} .heading=${e.stringType} icon=string .selected=${this._newFieldType === "string"}></calcite-combobox-item><calcite-combobox-item value=integer text-label=${e.integerType ?? h} .heading=${e.integerType} icon=integer .selected=${this._newFieldType === "integer"}></calcite-combobox-item><calcite-combobox-item value=double text-label=${e.doubleType ?? h} .heading=${e.doubleType} icon=number .selected=${this._newFieldType === "double"}></calcite-combobox-item><calcite-combobox-item class="section-title" value=date text-label=${e.dateType ?? h} .heading=${e.dateType} icon=date-time .selected=${this._newFieldType === "date"}></calcite-combobox-item><calcite-combobox-item value=guid text-label=${e.guidType ?? h} .heading=${e.guidType} icon=key .selected=${this._newFieldType === "guid"}></calcite-combobox-item></calcite-combobox></calcite-label>${this._newFieldType === "string" && s`<calcite-label class="section-title">${e.length}<calcite-input-number .value=${this._newFieldLength.toString()} min=1 max=4000 .status=${this._newFieldLengthError ? "invalid" : "idle"} .validationMessage=${this._newFieldLengthError || ""} .validationIcon=${!!this._newFieldLengthError} @input=${(n) => {
|
|
677
|
+
const c = n.target.value === "" ? null : parseInt(n.target.value);
|
|
678
|
+
this._handleNewFieldLengthChange(c);
|
|
679
|
+
}}></calcite-input-number></calcite-label>` || ""}</div>${this._newFieldType === "string" && s`<div class="domain-section"><calcite-label class="section-title">${e.domainValues}</calcite-label>${this._newFieldChoiceList && this._newFieldChoiceList.length > 0 ? s`<div><div class="domain-list">${this._newFieldChoiceList.map((n, c) => s`<div class="domain-item" draggable @dragstart=${(d) => this._handleNewFieldChoiceDragStart(c, d)} @dragover=${(d) => d.preventDefault()} @drop=${(d) => this._handleNewFieldChoiceDrop(c, d)}><calcite-icon icon=drag scale=s class="drag-handle"></calcite-icon><calcite-input-text .placeholder=${e.domainValuePlaceholder} .value=${n} .maxLength=${this._newFieldLength} .status=${this._newFieldChoiceListErrors.get(c) ? "invalid" : "idle"} .validationMessage=${this._newFieldChoiceListErrors.get(c) || ""} .validationIcon=${!!this._newFieldChoiceListErrors.get(c)} @input=${(d) => this._handleUpdateNewFieldChoice(c, d.target.value)}></calcite-input-text><calcite-button icon-start=x appearance=transparent scale=s kind=neutral @click=${() => this._handleRemoveNewFieldChoice(c)}></calcite-button></div>`)}</div><calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddNewFieldChoice}>${e.addDomainValue}</calcite-button></div>` : s`<calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddNewFieldChoice}>${e.addDomainValue}</calcite-button>`}</div>` || ""}</div><calcite-button slot=footer-end appearance=solid scale=m .disabled=${// Disable if required fields are empty
|
|
680
|
+
!this._newFieldDisplayName.trim() || !this._newFieldName.trim() || // Disable if there are validation errors
|
|
681
|
+
!!this._newFieldDisplayNameError || !!this._newFieldNameError || !!this._newFieldDescriptionError || !!this._newFieldLengthError || this._newFieldChoiceListErrors.size > 0} @click=${this._handleAddFieldDone}>${e.done}</calcite-button></calcite-flow-item>` || ""}</calcite-flow>`;
|
|
682
|
+
}
|
|
683
|
+
_pushDesign(e, i = !0) {
|
|
684
|
+
this._design && (this._undoStack = [...this._undoStack, structuredClone(this._design)]), this._redoStack = [], this._design = e, this._lastPushedDesign = e, this._isDirty = !0, i && this._notifyDesignChanged(e);
|
|
685
|
+
}
|
|
686
|
+
_notifyDesignChanged(e) {
|
|
687
|
+
window.dispatchEvent(new CustomEvent("arcgis-solution-design-update", {
|
|
688
|
+
detail: e
|
|
689
|
+
}));
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
f("solution-builder-assistant", k);
|
|
693
|
+
export {
|
|
694
|
+
k as SolutionBuilderAssistant
|
|
695
|
+
};
|