@esri/solutions-components 5.1.0-next.79 → 5.1.0-next.80

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.
Files changed (160) hide show
  1. package/dist/cdn/{DJTOZZZA.js → 224TOFAW.js} +4 -0
  2. package/dist/cdn/{DBNQXJAC.js → 23CGFV6D.js} +1 -1
  3. package/dist/cdn/{4IMAYCJM.js → 2AUHEG2A.js} +1 -1
  4. package/dist/cdn/{JAFNSVRV.js → 2C4TQJVZ.js} +1 -1
  5. package/dist/cdn/{DCM5QRV6.js → 2HIYREV6.js} +1 -1
  6. package/dist/cdn/{N5RPCP3A.js → 2LBDG4TO.js} +1 -1
  7. package/dist/cdn/{OZZ7I4JM.js → 2QEXO7ZH.js} +1 -1
  8. package/dist/cdn/{BOU4VPX6.js → 2XS5OH3O.js} +1 -1
  9. package/dist/cdn/{5MKDWIDM.js → 3DR66XVF.js} +1 -1
  10. package/dist/cdn/{GIOPY5S4.js → 3MEDCOT3.js} +1 -1
  11. package/dist/cdn/{YOPFAHBT.js → 3OCYAA4P.js} +1 -1
  12. package/dist/cdn/{C6JAM52C.js → 4GJHDLZU.js} +1 -1
  13. package/dist/cdn/{ETMBHO6W.js → 56ICUISN.js} +83 -85
  14. package/dist/cdn/{7J5LZ73U.js → 5MAO5XLB.js} +1 -1
  15. package/dist/cdn/{WXWKDOK2.js → 63QOJNSI.js} +1 -1
  16. package/dist/cdn/{KIIHG5RR.js → 6GRAP4DV.js} +1 -1
  17. package/dist/cdn/{UUK4R4CR.js → 6SADY7KT.js} +1 -1
  18. package/dist/cdn/{UJ2CJJL6.js → 6TCJ2NKA.js} +1 -1
  19. package/dist/cdn/{SXHEEF3S.js → 76PFFHQQ.js} +1 -1
  20. package/dist/cdn/{BMMT73FL.js → 7EAWZIWB.js} +1 -1
  21. package/dist/cdn/{VQXYPYZO.js → 7QNQNET4.js} +1 -1
  22. package/dist/cdn/{3LTRULIX.js → 7UVBIBQS.js} +1 -1
  23. package/dist/cdn/{G7FUC22M.js → ACINVVFD.js} +1 -1
  24. package/dist/cdn/{2C676HQP.js → AGMFVUEV.js} +1 -1
  25. package/dist/cdn/{TI2UR2TV.js → ARGV7QZA.js} +1 -1
  26. package/dist/cdn/{ZCQCAKCG.js → BCDBB2P5.js} +1 -1
  27. package/dist/cdn/{RNJF2E2J.js → BWTT7T3L.js} +1 -1
  28. package/dist/cdn/{UYRQWVGS.js → BXFMZEWK.js} +1 -1
  29. package/dist/cdn/{NXRV57RV.js → BXNDQ2JH.js} +1 -1
  30. package/dist/cdn/{J4JDMWM4.js → C2CJFQ6Q.js} +1 -1
  31. package/dist/cdn/{Y2YNNMWR.js → CGZDUJRA.js} +1 -1
  32. package/dist/cdn/{OUHRBNXD.js → CKNELMMH.js} +1 -1
  33. package/dist/cdn/{M6HNHWAM.js → CQIP3CFN.js} +6 -1
  34. package/dist/cdn/{OQH2TBQQ.js → CR7KUQQF.js} +1 -1
  35. package/dist/cdn/D4VZQUOX.js +2 -0
  36. package/dist/cdn/{33AIZBI7.js → DPSP2HYG.js} +1 -1
  37. package/dist/cdn/{XJBEBXI7.js → DVXR45DO.js} +1 -1
  38. package/dist/cdn/{D7B7IHCG.js → E26MY5HW.js} +1 -1
  39. package/dist/cdn/{MXLV3VVN.js → E7Y745EK.js} +1 -1
  40. package/dist/cdn/{4S4OOBWQ.js → ECFYA6DN.js} +1 -1
  41. package/dist/cdn/{EDIUHKTP.js → EUFBJHIH.js} +1 -1
  42. package/dist/cdn/{ZR2WIC7U.js → F3QDP6N3.js} +1 -1
  43. package/dist/cdn/{7B7ZJJMJ.js → FDQE4EO7.js} +1 -1
  44. package/dist/cdn/{R246WZC7.js → FEQDFENU.js} +1 -1
  45. package/dist/cdn/{H73TAHQU.js → FFMJQJUP.js} +1 -1
  46. package/dist/cdn/{MK6WD5QW.js → FSTBKODU.js} +1 -1
  47. package/dist/cdn/{EYFE2OOK.js → FUAPM3ST.js} +1 -1
  48. package/dist/cdn/{VCAHYC6Y.js → FWWWKZLH.js} +1 -1
  49. package/dist/cdn/{U7XLS67A.js → FZ2ZJGJB.js} +1 -1
  50. package/dist/cdn/{HSQV7EUD.js → G3CCK7KY.js} +1 -1
  51. package/dist/cdn/{AGR2N66Z.js → GQ4DWI5G.js} +1 -1
  52. package/dist/cdn/{C6LJNGJU.js → GURBVBZQ.js} +1 -1
  53. package/dist/cdn/H2E6R4EN.js +2 -0
  54. package/dist/cdn/{MYXGI5F2.js → HJJK5IEH.js} +1 -1
  55. package/dist/cdn/{Q5ZGIKBW.js → HO5JGUUI.js} +1 -1
  56. package/dist/cdn/{X5QI4UGD.js → HT55AVL4.js} +1 -1
  57. package/dist/cdn/HWTXHNOE.js +2 -0
  58. package/dist/cdn/{5CEMQAMC.js → IHD4JFYA.js} +1 -1
  59. package/dist/cdn/{VGXNLBOO.js → IKHBFQZ5.js} +1 -1
  60. package/dist/cdn/IPIK53AM.js +2 -0
  61. package/dist/cdn/IV3XFPKC.js +2 -0
  62. package/dist/cdn/{DJ67MNGR.js → J3VPCRTT.js} +1 -1
  63. package/dist/cdn/{4PPQA4MT.js → J5GPIJHD.js} +1 -1
  64. package/dist/cdn/{XC4IAFAX.js → J72FZDMP.js} +1 -1
  65. package/dist/cdn/{ELGSNGSL.js → JCQ5JRVZ.js} +1 -1
  66. package/dist/cdn/{U4ZLSRR7.js → JHPCQXLT.js} +1 -1
  67. package/dist/cdn/{AOURVIOP.js → JM44ZPIE.js} +1 -1
  68. package/dist/cdn/{QI3QDEUY.js → JNREEHT7.js} +1 -1
  69. package/dist/cdn/{FCSE4STJ.js → JSJYFWT6.js} +1 -1
  70. package/dist/cdn/{AVSO56QZ.js → JTIMMQ6K.js} +1 -1
  71. package/dist/cdn/{ZWQVP22R.js → JUWJNZMD.js} +1 -1
  72. package/dist/cdn/{4BXRUI5X.js → KDRNRUDO.js} +1 -1
  73. package/dist/cdn/{KBXEHQIZ.js → KG6FSDWT.js} +1 -1
  74. package/dist/cdn/KNGBLBV7.js +2 -0
  75. package/dist/cdn/{ETI5PM5G.js → LCWGF752.js} +1 -1
  76. package/dist/cdn/{J7EVCSVS.js → LCZHBERK.js} +1 -1
  77. package/dist/cdn/{LEXIWBOG.js → LR57LX6P.js} +1 -1
  78. package/dist/cdn/{RI5IMXL3.js → LRRFLTS7.js} +1 -1
  79. package/dist/cdn/{BO7FV4W5.js → LRZBOUPX.js} +1 -1
  80. package/dist/cdn/{733RRE2J.js → M5YODM3W.js} +1 -1
  81. package/dist/cdn/{JAJ3EUEU.js → MCZXYUMV.js} +1 -1
  82. package/dist/cdn/{QWHQYVUI.js → MH2KV42H.js} +1 -1
  83. package/dist/cdn/{2UIWWBIH.js → MH4GMDK7.js} +1 -1
  84. package/dist/cdn/{P4PCDUNA.js → MRGCC5C4.js} +1 -1
  85. package/dist/cdn/{TCMBDCFZ.js → MSEF4EVI.js} +1 -1
  86. package/dist/cdn/{GF4D45RS.js → N463B6AB.js} +1 -1
  87. package/dist/cdn/{BRJXJE3N.js → N7CI3FRD.js} +1 -1
  88. package/dist/cdn/{NB2SOBAF.js → NLOASWJ3.js} +1 -1
  89. package/dist/cdn/{NI43FKX7.js → NPUZIHVP.js} +1 -1
  90. package/dist/cdn/NVJH5A6R.js +2 -0
  91. package/dist/cdn/OFM2G4BH.js +2 -0
  92. package/dist/cdn/{TBOLV3EZ.js → OILJWT3N.js} +1 -1
  93. package/dist/cdn/{4AW45DXY.js → OR5M4R6K.js} +1 -1
  94. package/dist/cdn/{P6PKBBHT.js → PJNP375B.js} +1 -1
  95. package/dist/cdn/{6QKRLRAP.js → PUDHZZVS.js} +1 -1
  96. package/dist/cdn/{D5MQLBMW.js → Q2WAWIFY.js} +1 -1
  97. package/dist/cdn/{ZVOCQW2E.js → QUWHB36D.js} +1 -1
  98. package/dist/cdn/{XMTFJETA.js → RF2W2PD4.js} +1 -1
  99. package/dist/cdn/{NAXZK2NU.js → RJ35WJNP.js} +1 -1
  100. package/dist/cdn/{RCZDZTUZ.js → RU3J7KVD.js} +1 -1
  101. package/dist/cdn/{AVT2PNZG.js → SCZI2MJN.js} +1 -1
  102. package/dist/cdn/{SR2CKHRR.js → SGK4AMN6.js} +1 -1
  103. package/dist/cdn/{E62ERGXQ.js → SHAQ3O3Z.js} +1 -1
  104. package/dist/cdn/{6PVJU2EV.js → SNR6ZHKZ.js} +1 -1
  105. package/dist/cdn/{ZRGU46YJ.js → SPUZEM7P.js} +1 -1
  106. package/dist/cdn/{2QHRG2N2.js → SQVN3YNK.js} +1 -1
  107. package/dist/cdn/{RUHBLPYT.js → TFINIJHF.js} +1 -1
  108. package/dist/cdn/{RCL2R2OE.js → TJDM5OLA.js} +1 -1
  109. package/dist/cdn/{P26C2HKO.js → TJNO7ZMF.js} +1 -1
  110. package/dist/cdn/{GEHBDP52.js → TMSMQA7C.js} +1 -1
  111. package/dist/cdn/{A4XBJJEQ.js → TNS6HDBI.js} +1 -1
  112. package/dist/cdn/{4XPYA3ZL.js → TPKJTOUB.js} +1 -1
  113. package/dist/cdn/{YVCQPPKA.js → TQWICREM.js} +1 -1
  114. package/dist/cdn/{INPXR3VX.js → TW7HOOK6.js} +1 -1
  115. package/dist/cdn/{PFXXAD6R.js → U3ZZOP55.js} +1 -1
  116. package/dist/cdn/{YKM2Z3FM.js → U727H4NV.js} +1 -1
  117. package/dist/cdn/{RGCSGE7R.js → UIR3N7OD.js} +1 -1
  118. package/dist/cdn/{TFLS2WXP.js → ULZKT76M.js} +1 -1
  119. package/dist/cdn/{W6N2C4I3.js → UOGOGQ2H.js} +1 -1
  120. package/dist/cdn/{LRBXQ2IB.js → URLISIUW.js} +1 -1
  121. package/dist/cdn/{CWT2ZAQ6.js → UWU7WKT4.js} +1 -1
  122. package/dist/cdn/{J25DRPOQ.js → VP3VH32T.js} +1 -1
  123. package/dist/cdn/{NCIV3HWJ.js → VRSBUIGV.js} +1 -1
  124. package/dist/cdn/{KZMJQGVV.js → VZ4XWWT6.js} +1 -1
  125. package/dist/cdn/{PPPDIFLS.js → WCTKCI5Q.js} +1 -1
  126. package/dist/cdn/{VKLUFCKS.js → WUJQ6R2U.js} +1 -1
  127. package/dist/cdn/{HTGJEIDJ.js → X7FPPH3E.js} +1 -1
  128. package/dist/cdn/{Q5PKFSLK.js → X7GJCPNX.js} +1 -1
  129. package/dist/cdn/{WOHWRJVM.js → XMOI3PP6.js} +1 -1
  130. package/dist/cdn/{YSUNZHTY.js → XRZHHEBP.js} +1 -1
  131. package/dist/cdn/{6LLGL7KH.js → XV7A4KNT.js} +1 -1
  132. package/dist/cdn/{WKGI2FX5.js → XY65IFHL.js} +1 -1
  133. package/dist/cdn/{26RBTMKU.js → XZ65OHYC.js} +1 -1
  134. package/dist/cdn/{H2M2ACTQ.js → XZWWZKHK.js} +1 -1
  135. package/dist/cdn/{MSSBDYEE.js → Y4WHK65W.js} +1 -1
  136. package/dist/cdn/{HC5I7DO7.js → YSBVJZ5G.js} +1 -1
  137. package/dist/cdn/{FIJSXIFB.js → ZC7BRSIV.js} +1 -1
  138. package/dist/cdn/{3UYIJ6KW.js → ZJ3PH44C.js} +1 -1
  139. package/dist/cdn/{VBWAOJWD.js → ZNXPS2JP.js} +1 -1
  140. package/dist/cdn/{TJLD6M3R.js → ZUM2PBNR.js} +1 -1
  141. package/dist/cdn/index.js +1 -1
  142. package/dist/chunks/description.js +6 -1
  143. package/dist/chunks/solutions_assistant_description.js +4 -0
  144. package/dist/components/arcgis-solutions-assistant/customElement.js +2913 -2914
  145. package/dist/components/solution-builder-assistant/customElement.js +3 -3
  146. package/dist/components/solution-item-accordion/customElement.js +1 -1
  147. package/dist/components/solutions-deploy-app/customElement.js +1 -1
  148. package/dist/docs/api.json +1 -1
  149. package/dist/docs/docs.json +1 -1
  150. package/dist/docs/web-types.json +1 -1
  151. package/dist/solutions-components_commit.txt +7 -7
  152. package/package.json +1 -1
  153. package/dist/cdn/B4OQ6W5E.js +0 -2
  154. package/dist/cdn/KE3URGMT.js +0 -2
  155. package/dist/cdn/MRN27OEB.js +0 -2
  156. package/dist/cdn/R2N4GBMQ.js +0 -2
  157. package/dist/cdn/RSLFPOX6.js +0 -2
  158. package/dist/cdn/WGMESBWP.js +0 -2
  159. package/dist/cdn/WLO44PL6.js +0 -2
  160. package/dist/cdn/YMNLP2QU.js +0 -2
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a as L}from"./2D6XDWYA.js";import{a as x}from"./VKLUFCKS.js";import{a as S}from"./HSQV7EUD.js";import{b as I}from"./4AW45DXY.js";import"./OQH2TBQQ.js";import"./3LTRULIX.js";import{E as $,F as w,G as k,I as p,h as F,i as l,l as h,q as b}from"./P4PCDUNA.js";import"./QPIMTXPL.js";export default $arcgis.t(([T,m,P,O])=>{var D="instant-apps-filter-list calcite-mode-light",M="instant-apps-filter-list calcite-mode-dark",g=["feature","geojson","wfs","csv","scene","subtype-group","point-cloud","map-image","sublayer"];function v(f){return f.replaceAll("'","''")}function y(f,e=!1){if(f){let t=new Date(f),i=`${t.getFullYear()}-${t.getMonth()+1}-${t.getDate()}`;if(e){let s=`${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}`;return`${i} ${s}`}else return i}}function _(f){if(f!=null){f.value=["",""];let e=f.shadowRoot?.querySelectorAll("calcite-input");if(e!=null)for(let t of e)t.value=""}}var R=F`:host{display:block}.instant-apps-filter-list *{box-sizing:border-box}.instant-apps-filter-list__container{height:100%}.instant-apps-filter-list__container calcite-block{--calcite-internal-block-actions-spacing: 0}.instant-apps-filter-list__container calcite-block calcite-action[slot=actions-end]{height:100%}.instant-apps-filter-list__container calcite-block:last-of-type{margin-bottom:0}.instant-apps-filter-list__footer{padding:12px;display:flex}.instant-apps-filter-list__footer calcite-button:nth-child(2){margin-left:6px}.instant-apps-filter-list__item-container,.instant-apps-filter-list__item-container--user-input{display:flex;justify-content:space-between;align-items:center}.instant-apps-filter-list__item-container:not(:last-child),.instant-apps-filter-list__item-container--user-input:not(:last-child){padding-bottom:20px}.instant-apps-filter-list__item-container--user-input{margin:0;display:flex;flex-direction:column;align-items:flex-start}.instant-apps-filter-list__item-container--user-input>span{margin:0 0 6px;font-size:14px;font-weight:400}.instant-apps-filter-list__item-container--user-input calcite-combobox{width:100%;font-size:16px;--calcite-combobox-input-height: 24px}.instant-apps-filter-list__number-input-container{width:100%;display:flex;justify-content:center}.instant-apps-filter-list__number-input-container calcite-slider{width:90%}.instant-apps-filter-list__date-picker-input-container{display:flex;align-items:center;justify-content:unset;width:100%}.instant-apps-filter-list__date-picker-input-container calcite-action{height:65px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__time-picker-input-container{display:grid;grid-template-columns:auto 32px;width:100%}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:first-child{grid-column:1;grid-row:1}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:last-child{grid-column:1;grid-row:2}.instant-apps-filter-list__time-picker-input-container calcite-action{grid-column:2;grid-row:1/span 2;height:64px;width:33px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__title{margin-right:20px}.instant-apps-filter-list__title>p{font-size:14px;font-weight:400;margin:0}.instant-apps-filter-list__checkbox-container{display:flex}.instant-apps-filter-list__checkbox-container calcite-checkbox{height:18px}.instant-apps-filter-list__operator-description{margin:0;--calcite-font-size--1: 12px}.instant-apps-filter-list calcite-input-date-picker{--calcite-font-size--1: 16px}@media(prefers-reduced-motion){.instant-apps-filter-list calcite-loader{--calcite-internal-duration-factor: 2;--calcite-internal-animation-timing-slow: .6s }}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__header-container{background:#2b2b2b;color:#fff}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__operator-description{background:#353535}`,d={filterContainer:"instant-apps-filter-list__container",footer:"instant-apps-filter-list__footer",filterItemTitle:"instant-apps-filter-list__title",filterItemContainer:"instant-apps-filter-list__item-container",filterUIItemContainer:"instant-apps-filter-list__item-container--user-input",checkboxContainer:"instant-apps-filter-list__checkbox-container",numberInputContainer:"instant-apps-filter-list__number-input-container",dateInputContainer:"instant-apps-filter-list__date-picker-input-container",timeInputContainer:"instant-apps-filter-list__time-picker-input-container",operatorDesc:"instant-apps-filter-list__operator-description"},C=class extends k{constructor(){super(...arguments),this._messages=S({name:"instant-apps-filter-list",blocking:!0}),this.resetBtnEl=$(),this.panelEl=$(),this.isLayerExpUpdated=!1,this.isInitUpdateComplete=!1,this.baseClass=D,this.autoUpdateUrl=!1,this.closeBtn=!1,this.comboboxOverlayPositioning="absolute",this.openFilters=!1,this.extentSelector=!1,this.filterCount=0,this.zoomBtn=!0,this.resetBtn=!0,this.resetFiltersOnDisconnect=!0,this.filterListReset=b(),this.filterUpdate=b()}static{this.properties={loading:16,filterLayerExpressions:16,baseClass:16,initDefExpressions:16,initMapImageExpressions:16,initPointCloudFilters:16,layerExpressions:0,autoUpdateUrl:5,closeBtn:5,closeBtnOnClick:0,comboboxOverlayPositioning:1,closeBtnText:1,openFilters:5,extentSelector:5,extentSelectorConfig:0,urlParams:0,filterCount:9,view:0,zoomBtn:5,resetBtn:5,resetFiltersOnDisconnect:5}}static{this.styles=R}async forceReset(){return this.resetExpressions(),await Promise.resolve(!0)}async getCurrentLayerExpressions(){let e=structuredClone(this.filterLayerExpressions);return await Promise.resolve(e)}async getFilterInitState(){return await Promise.resolve({initDefExpressions:this.initDefExpressions,initMapImageExpressions:this.initMapImageExpressions,initPointCloudFilters:this.initPointCloudFilters})}async handleUpdatingT9nData(e){return e==null?await Promise.resolve(!0):(this.filterLayerExpressions?.forEach(t=>{let i=e?.find(s=>s.id===t.id);i!=null&&(t.title=i.title,t.expressions?.forEach(s=>{let n=i.expressions?.find(a=>a.id===s.id);n!=null&&(s.name=n.name)}))}),await Promise.resolve(!0))}async updateInitDefExpressions(e){return this.initDefExpressions=e.initDefExpressions,this.initMapImageExpressions=e.initMapImageExpressions,this.initPointCloudFilters=e.initPointCloudFilters,await Promise.resolve(!0)}connectedCallback(){super.connectedCallback(),!(this.layerExpressions==null&&this.view==null)&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.isInitUpdateComplete=!1,this.handleLayerExpressionsUpdate())}async load(){this.baseClass=L(this.el)==="dark"?M:D,!this.isLayerExpUpdated&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=this.layerExpressions!=null?structuredClone(this.layerExpressions):[],this.view!=null&&this.handleLayerExpressionsUpdate())}willUpdate(e){e.has("view")&&this.handleWhenView(),e.has("layerExpressions")&&(this.isInitUpdateComplete=!1,this.resetAllFilters(),this.filterLayerExpressions=structuredClone(this.layerExpressions),this.handleLayerExpressionsUpdate())}updated(){this.resetBtnEl.value!=null&&(this.resetBtnEl.value.disabled=!(this.filterLayerExpressions&&this.filterLayerExpressions.length>0))}disconnectedCallback(){super.disconnectedCallback(),this.resetFiltersOnDisconnect&&(this.isLayerExpUpdated=!1,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.resetAllFilters())}initFilterConfig(){if(this.filterLayerExpressions&&this.filterLayerExpressions.length>0){if(this.filterLayerExpressions.length===1){let{operator:e}=this.filterLayerExpressions[0],t=e?.trim()==="OR"?"orOperator":"andOperator",i=this.renderZoomTo(this.filterLayerExpressions[0]);return l`<calcite-block class=${p(d.operatorDesc)} .heading=${this._messages[t]} expanded>${i}${this.renderFilter(this.filterLayerExpressions[0])}</calcite-block>`}else if(this.filterLayerExpressions.length>1)return this.renderLayerBlock()}}handleResetDatePicker(e,t){let i=this.panelEl.value?.querySelector(`[id='${e.id}']`);i&&(_(i),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t))}handleResetTimePicker(e,t){this.resetTimePicker(e),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t)}resetTimePicker(e){let t=this.panelEl.value?.querySelector(`[id='${e.id}-min']`),i=this.panelEl.value?.querySelector(`[id='${e.id}-max']`);!t||!i||(t.value=e.min,i.value=e.max)}initInput(e,t){let{type:i,numDisplayOption:s,displayOption:n}=t;if(i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down"))return this.renderCombobox(e,t);if(i==="number"||i==="range")return this.renderNumberSlider(e,t);if(i==="date")return this.renderDatePicker(e,t);if(i==="time-only")return this.renderTimePicker(e,t)}async initExpressions(){if(this.loading=!0,this.filterLayerExpressions==null||this.view==null){this.loading=!1;return}await this.processExpressions(),this.loading=!1}async processExpressions(){this.filterLayerExpressions&&await Promise.all(this.filterLayerExpressions.map(async e=>{await Promise.all((e.expressions||[]).map(async t=>await this.setInitExpression(e,t)))}))}handleResetFilter(){this.resetExpressions(),this.resetAllFilters(),this.generateURLParams(),this.filterListReset.emit()}resetExpressions(){this.filterLayerExpressions?.forEach(e=>{e.expressions?.forEach(t=>{let{type:i,numDisplayOption:s,displayOption:n}=t,a="";i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down")?a="combobox":i==="date"?a="datePicker":i==="number"||i==="range"?a="numberRange":i==="time-only"&&(a="timePicker"),a?this.resetExpressionUI(a,t):this.resetCheckbox(t),t.active=!1})})}resetExpressionUI(e,t){let{id:i}=t;switch(e){case"combobox":{t.selectedFields=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&Array.from(s.children).forEach(n=>{n.selected=!1});break}case"datePicker":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&_(s);break}case"numberRange":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&(s.minValue=t.min,s.maxValue=t.max);break}case"timePicker":t.range=void 0,this.resetTimePicker(t)}}resetCheckbox(e){let{id:t}=e,i=this.panelEl.value?.querySelector(`[id='${t}']`);i&&(i.checked=!1)}resetAllFilters(){this.view?.map?.allLayers?.concat(this.view?.map?.allTables.toArray()??[])?.forEach(e=>{if(!g.includes(e.type))return;let t=e;if(t.type==="point-cloud"){if(!this.initPointCloudFilters)return;t.filters=this.initPointCloudFilters[t.id]}else if(t.type==="map-image")t.allSublayers.forEach(i=>{i.definitionExpression=this.initMapImageExpressions?.[t.id]?.[i.id]??""});else{if(this.initDefExpressions==null)return;t.definitionExpression=this.initDefExpressions[t.id]}})}async updateStringExpression(e,t){let i=this.findFilterLayer(e);return i?(await this.getFeatureAttributes(i,t),this.handleDateField(i,t),t?.selectedFields?(t.definitionExpression=this.createDefinitionExpression(t),!0):!1):!1}handleDateField(e,t){t.type==="date"&&e.fields.find(({name:i})=>i===t.field)?.type==="date-only"&&(t.dateOnly=!0)}createDefinitionExpression(e){if(!e.selectedFields?.length)return"";let t=e.selectedFields.map(i=>typeof i=="number"?i:`'${v(i)}'`);return this.getSelectedFieldsDefExpression(e,t)}async updateNumberExpression(e,t){if(!t?.min&&t?.min!==0||!t?.max&&t?.max!==0){let i=this.findFilterLayer(e);if(!i)return!1;let{field:s}=t;if(s!=null)if(this.setExpressionFormat(i,t,s),t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down")await this.getFeatureAttributes(i,t);else{let n=(await this.calculateMinMaxStatistics(i,s))?.[0]?.attributes;if(t.format?.places!=null?(t.min=this.roundMinNumberDown(n[`min${s}`],t.format.places),t.max=this.roundMaxNumberUp(n[`max${s}`],t.format.places)):(t.min=n[`min${s}`],t.max=n[`max${s}`]),t?.range&&Object.keys(t.range).length){let{min:a,max:r}=t.range;return t.definitionExpression=`${t.field} BETWEEN ${a} AND ${r}`,!0}}}return!1}async updateDateExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=y(a[`min${i}`]),t.max=y(a[`max${i}`]),s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r=r?.replace("+"," "),o=o?.replace("+"," "),r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} '${r??o}'`:t.definitionExpression=`${i} BETWEEN '${r}' AND '${o}'`,!0}}return!1}async updateTimeExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=a[`min${i}`],t.max=a[`max${i}`],s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} TIME '${r??o}'`:t.definitionExpression=`${i} BETWEEN TIME '${r}' AND TIME '${o}'`,!0}}return!1}async updateCodedValueExpression(e,t,i){if(!i?.domain||i?.domain?.type!=="coded-value")return!1;let s=this.findFilterLayer(e);if(!s)return!1;await this.getFeatureAttributes(s,t);let n=i.domain.codedValues.reduce((a,{code:r,name:o})=>(a[r]=o,a),{});if(t.codedValues=n,this.sortCodedValues(t),t.selectedFields?.length){let a=t.selectedFields.map(r=>typeof r=="number"?r:`'${v(r)}'`).join(",");return t.definitionExpression=`${t.field} IN (${a})`,!0}return!1}updateRangeExpression(e,t){if(!t?.domain||t?.domain?.type!=="range")return!1;let{field:i,range:s}=e;return e.min=t.domain.minValue,e.max=t.domain.maxValue,s&&Object.keys(s).length?(e.definitionExpression=`${i} BETWEEN ${s.min} AND ${s.max}`,!0):!1}async getFeatureAttributes(e,t){if(!this.isLayerSupported(e)){t.fields=[];return}let i=await this.getQueryLayer(e),{maxRecordCount:s,supportsMaxRecordCountFactor:n}=this.extractQueryCapabilities(e),a=await i.queryFeatureCount(),r=this.createQuery(i,t);await this.queryDistinctFeatures(i,r,t),this.shouldPaginate(s,a,n)&&this.handlePagination(i,r,s,n,a,t)}isLayerSupported(e){return e&&g.includes(e.type)}extractQueryCapabilities(e){return{maxRecordCount:e.capabilities?.query?.maxRecordCount??e.sourceJSON?.maxRecordCount,supportsMaxRecordCountFactor:e.capabilities?.query?.supportsMaxRecordCountFactor}}createQuery(e,t){let i=e.createQuery();this.applyCacheHint(e,i);let s=t?.field;if(s){let n=this.getInitDefExprFromLayer(e);i.where=n||"1=1",i.outFields=[s],i.orderByFields=[`${s} ASC`],i.returnDistinctValues=!0,i.returnGeometry=!1,i.maxRecordCountFactor=5,this.applyQueryGeometryFromExtentSelector(i)}return i}async queryDistinctFeatures(e,t,i){if(!t.outFields)return;let s=await this.queryForFeatures(e,t,t.outFields[0]);s?.length&&(i.fields=[...new Set(s)],i.type==="string"?i.fields=i.fields.sort((n,a)=>n.localeCompare(a)):i.type==="number"&&(i.fields=i.fields.sort((n,a)=>n-a)))}getQueryCount(e,t){return t?e*5:e}shouldPaginate(e,t,i){let s=this.getQueryCount(e,i);return e!=null&&t>s}async handlePagination(e,t,i,s,n,a){let r=this.getQueryCount(i,s),o=[];for(let c=r;c<n;c+=r){let u=t.clone();u.num=i,u.start=c,o.push(this.queryForFeatures(e,u,t?.outFields?.[0]??""))}Promise.all(o).then(c=>{c.forEach(u=>{u?.length&&a.fields&&a.fields.push(...u)}),a.type==="string"?a.fields=[...new Set(a.fields)].sort((u,E)=>u.localeCompare(E)):a.type==="number"?a.fields=[...new Set(a.fields)].sort((u,E)=>u-E):a.type==="coded-value"&&a.codedValues?this.sortCodedValues(a):a.fields=[...new Set(a.fields)].sort()})}async queryForFeatures(e,t,i){return(await e.queryFeatures(t))?.features.filter(s=>{let n=s.attributes?.[i];return n!=null&&n!==""})?.map(s=>s.attributes?.[i])}async calculateMinMaxStatistics(e,t){if(!e||!g.includes(e.type)||!t)return[];let i=this.createStatisticsQuery(e,t);return(await e.queryFeatures(i))?.features||[]}createStatisticsQuery(e,t){let i=e.createQuery();return i.where=this.getInitDefExprFromLayer(e)||"1=1",this.applyCacheHint(e,i),i.outStatistics=[{onStatisticField:t,outStatisticFieldName:`max${t}`,statisticType:"max"},{onStatisticField:t,outStatisticFieldName:`min${t}`,statisticType:"min"}],this.applyQueryGeometryFromExtentSelector(i),i}getExtent(e,t){if(e&&t){let{constraints:i}=t,s={...i}.geometry;if(s){let n="extent"in s?s:T.fromJSON(s);if(n?.type==="extent"||n?.type==="polygon")return n}}}async setInitExpression(e,t){if(!t.field||!t.type){await this.updateExpression(e,t,void 0);return}let i=this.findFilterLayer(e);i&&((i.loadStatus==="not-loaded"||i.loadStatus==="failed")&&await i.load(),await i.when(async()=>{let s=i.fields?.find(({name:a})=>a===t.field),n=s?.domain?.type;t.type=n==="coded-value"||n==="range"?n:t.type,await this.updateExpression(e,t,s)}))}async updateExpression(e,t,i){let s=await this.handleExpressionType(e,t,i);this.requestUpdate(),s&&this.generateOutput(e)}async handleExpressionType(e,t,i){switch(t.type){case"string":return await this.updateStringExpression(e,t);case"number":return await this.updateNumberExpression(e,t);case"date":return await this.updateDateExpressionBasedOnDisplayOption(e,t);case"time-only":return await this.updateTimeExpressionBasedOnDisplayOption(e,t);case"coded-value":return await this.updateCodedValueExpression(e,t,i);case"range":return await this.updateRangeExpressionBasedOnDisplayOption(e,t,i);case"checkbox":case null:case void 0:return t.active??!1;default:return!1}}async updateDateExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateDateExpression(e,t)}async updateTimeExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateTimeExpression(e,t)}async updateRangeExpressionBasedOnDisplayOption(e,t,i){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):this.updateRangeExpression(t,i)}updateRangeExpressions(e,t,i,s){let n=this.getInitDefExprFromLayerExpression(t);(s||s===0)&&(i||i===0)&&(s===e?.min&&i===e?.max?(e.definitionExpression=void 0,e.active=!1):(e.definitionExpression=n?`(${n}) AND ${e?.field} BETWEEN ${s} AND ${i}`:`${e?.field} BETWEEN ${s} AND ${i}`,e.active=!0)),e.range={min:s,max:i}}handleCheckboxChange(e,t,i){let s=i.target;t.active=s.checked,this.generateOutput(e)}handleSliderChange(e,t,i){let{maxValue:s,minValue:n}=i.target;this.updateRangeExpressions(e,t,s,n),this.generateOutput(t)}handleComboSelect(e,t,i){let s=i.target.selectedItems,{field:n,type:a}=e;if(e.selectedFields=s.map(({value:r})=>r),s.length){let r=s.map(({value:o})=>typeof o=="number"?o:`'${v(o)}'`);e.definitionExpression=this.getSelectedFieldsDefExpression(e,r),e.active=!0}else e.definitionExpression=void 0,e.active=!1;this.generateOutput(t)}getSelectedFieldsDefExpression(e,t){let{field:i,type:s}=e;return s==="date"?t.map(n=>this.buildDateExpression(n,i)).join(" OR "):s==="time-only"?`${i} IN (${t.map(n=>`TIME ${n}`).join(",")})`:`${i} IN (${t.join(",")})`}handleDatePickerRangeChange(e,t,i){let s=i.target,[n,a]=s.valueAsDate,r=n?y(Math.floor(n.getTime()),!0):void 0,o=a?y(Math.floor(a.getTime()),!0):void 0;(r||o)&&(e.definitionExpression=this.constructDefinitionExpression(e.field,r,o),e.range={min:r,max:o},e.active=!0,this.generateOutput(t))}handleTimePickerRangeChange(e,t,i,s){let n=s.target,a=n.value;e.range==null&&(e.range={min:void 0,max:void 0}),i?e.max&&a>e.max?(e.range.min=e.max,n.value=e.range.min):e.min&&a<e.min?(e.range.min=e.min,n.value=e.range.min):e.range.min=a:e.max&&a>e.max?(e.range.max=e.max,n.value=e.range.max):e.min&&a<e.min?(e.range.max=e.min,n.value=e.range.max):e.range.max=a,(e.range.min||e.range.max)&&(e.definitionExpression=this.constructTimeDefinitionExpression(e.field,e.range.min,e.range.max),e.active=!0,this.generateOutput(t))}constructDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN '${t}' AND '${i}'`:`${e} > '${t}'`:`${e} < '${i}'`}constructTimeDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN TIME '${t}' AND TIME '${i}'`:`${e} > TIME '${t}'`:`${e} < TIME '${i}'`}handleURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(document.location.search).get("filter");if(!e){this.filterCount=0;return}let t=e.split(";").map(i=>JSON.parse(i));this.filterCount=this.applyFilters(t)}applyFilters(e){let t=0;return e.forEach(i=>{let s=this.filterLayerExpressions?.find(n=>n.id===i.layerId);s&&s.expressions?.forEach(n=>{n.id?.toString()===i.expressionId?.toString()&&(this.activateExpression(n,i),t++)})}),t}activateExpression(e,t){e.active=!0,t.type==="range"?e.range=t.range:t.type==="select"&&(e.selectedFields=t.selectedFields)}createURLParamExpression(e,t){let{id:i,range:s,selectedFields:n,type:a}=t;return a==="string"||a==="coded-value"||t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down"?{type:"select",layerId:e.id,expressionId:i.toString(),selectedFields:n}:a==="number"||a==="range"||a==="date"||a==="time-only"?{type:"range",layerId:e.id,expressionId:i.toString(),range:s}:{layerId:e.id,expressionId:i.toString()}}autoUpdateURLCheck(e){if(this.autoUpdateUrl){let t=e.toString()?`${window.location.pathname}?${e}`.trim():window.location.pathname;window.history.replaceState({},"",t)}}generateURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(window.location.search),t=this.filterLayerExpressions?.flatMap(i=>i?.expressions?.filter(s=>s.active).map(s=>JSON.stringify(this.createURLParamExpression(i,s)))||[])||[];this.filterCount=t.length,t.length>0?e.set("filter",t.join(";")):e.delete("filter"),this.autoUpdateURLCheck(e),this.urlParams=e}updateFilter(e,t,i){let{id:s}=e,n=this.view.map?.findLayerById(s)??this.view.map?.findTableById(s);if(n!=null)if(n.type==="point-cloud")this.updateFilterLayerPCLFilter(n,i);else if(n.type==="map-image"){let a=n.findSublayerById(e?.sublayerId);a!=null&&this.updateFilterLayerDefExpression(a,t,e)}else this.updateFilterLayerDefExpression(n,t,e)}updateFilterLayerDefExpression(e,t,i){let{operator:s}=i,n=this.getInitDefExprFromLayer(e),a=t?.length>0&&n!=null&&n!==""?`(${t.join(s)}) AND (${n})`:t.length>0?t.join(s):n;e.definitionExpression=a}updateFilterLayerPCLFilter(e,t){e.filters=t}async handleWhenView(){this.view!=null&&(await this.view.map.loadAll(),await this.handleLayerExpressionsUpdate())}async handleLayerExpressionsUpdate(){this.isInitUpdateComplete||(this.updateInitExpressions(),this.handleURLParams(),this.initExpressions())}async handleZoomTo(e){let t=e?.sublayerId?`#zoom-to-${e.id}-${e.sublayerId}`:`#zoom-to-${e.id}`,i=this.panelEl.value?.querySelector(t),s=(n,a)=>{i&&(i.loading=n,i.disabled=a)};if(s(!0,!0),await this.getZoomToExtent(e),this.zoomToExtent){let n=this.zoomToExtent.type==="point"&&this.zoomToExtent.count===1?{target:this.zoomToExtent.extent,zoom:10}:this.zoomToExtent.extent;await this.view.goTo(n)}s(!1,!1)}async getZoomToExtent(e){let t=this.view.allLayerViews.find(({layer:s})=>s.id===e.id).layer,i=t.type==="map-image"?t.findSublayerById(e.sublayerId):t;if(i&&i.type!=="point-cloud"&&g.includes(i?.type)){let s=await this.getQueryLayer(i),n=s.createQuery();n.where=s.definitionExpression??"1=1";let a=await s.queryExtent(n);this.zoomToExtent={...a,type:s.geometryType}}}generateOutput(e){if(this.view==null)return;let t=[],i=[];if(e){for(let s of e.expressions){let{active:n,definitionExpression:a,pointCloudFilters:r}=s;n&&a&&t.push(`(${a})`),n&&r!=null&&r.length>0&&(i=i.concat(r))}this.updateFilter(e,t,i),this.generateURLParams(),this.filterUpdate.emit()}}numberWithCommas(e){return e.toLocaleString("en-US",{maximumFractionDigits:20})}async getInitMap(){let e=this.view.map,t;return this.view.type==="2d"?t=new P({portalItem:{id:e.portalItem.id}}):t=new O({portalItem:{id:e.portalItem.id}}),await t.load(),t}scientificRounding(e,t,i){if(e==null)return;let s;if(!String(e).includes("e"))s=Math[i](e*Math.pow(10,t))/Math.pow(10,t);else{let[n,a]=String(e).split("e").map(o=>Number(o)),r=a+t;s=Math[i](+`${n}e${r}`)*Math.pow(10,-t)}return+s.toFixed(t)}roundMinNumberDown(e,t){return this.scientificRounding(e,t,"floor")}roundMaxNumberUp(e,t){return this.scientificRounding(e,t,"ceil")}roundNumber(e,t){return this.scientificRounding(e,t,"round")??e}setExpressionFormat(e,t,i){if(e?.popupTemplate!=null){let s=e?.popupTemplate.fieldInfos?.find(({fieldName:n})=>n===i);s?.format&&(t.format=s.format)}}getInitDefExprFromLayer(e){return e.type==="sublayer"?this.initMapImageExpressions?.[e?.layer?.id??""]?.[e.id]??"":this.initDefExpressions?.[e.id]??""}getInitDefExprFromLayerExpression(e){return e?.sublayerId!=null?this.initMapImageExpressions?.[e.id]?.[e.sublayerId]??"":this.initDefExpressions?.[e.id]??""}findFilterLayer(e){let t=this.view.map?.allLayers.concat(this.view.map?.allTables.toArray()??[])?.find(({id:i})=>i===e.id);return t?.type==="map-image"?t?.findSublayerById(e.sublayerId):t}createLabel(e,t){if(e.type==="coded-value")return e?.codedValues?.[t]??t;if(e.type==="number"&&typeof t=="number"){let i=t;return e.format?.places!=null&&(i=this.roundNumber(t,e.format.places)),e.format?.digitSeparator?this.numberWithCommas(i):i}if(e.type==="date"&&!e.dateOnly){let i=m.convertDateFormatToIntlOptions("short-date-long-time");return m.formatDate(t,i)}if(e.type==="time-only"){let i=m.convertDateFormatToIntlOptions("long-time");return m.formatTimeOnly(t,i)}return t}buildDateExpression(e,t){if(e){let i=new Date(e),s=new Date(e),n=new Date(s.setDate(i.getDate()+1)),a=`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}`,r=`${i.getHours()}:${i.getMinutes()}:${i.getSeconds()}`,o=`${n.getHours()}:${n.getMinutes()}:${n.getSeconds()}`,c=`${n.getFullYear()}-${n.getMonth()+1}-${n.getDate()}`;return`${t} BETWEEN '${a} ${r}' AND '${c} ${o}'`}}async getQueryLayer(e){let t=e.type==="sublayer"?await e.createFeatureLayer():e;if(!t)throw new Error("Failed to create feature layer");return t}applyCacheHint(e,t){e?.capabilities?.query?.supportsCacheHint&&(t.cacheHint=!0)}applyQueryGeometryFromExtentSelector(e){if(!this.extentSelector||!this.extentSelectorConfig)return;let t=this.getExtent(this.extentSelector,this.extentSelectorConfig);t&&(e.geometry=t,e.spatialRelationship="intersects")}async updateInitExpressions(){if(!this.view?.map)return;let e=await this.getInitMap();this.initDefExpressions={},this.initPointCloudFilters={},this.initMapImageExpressions={},e.allLayers.concat(e.allTables.toArray()??[]).forEach(t=>{if(!g.includes(t.type))return;let i=t;if(i.type==="point-cloud")this.initPointCloudFilters||(this.initPointCloudFilters={}),this.initPointCloudFilters[i.id]=i.filters;else if(i.type==="map-image")this.initMapImageExpressions||(this.initMapImageExpressions={}),this.initMapImageExpressions[i.id]=i.allSublayers.reduce((s,n)=>(s[n.id]=n.definitionExpression??"",s),{});else{if(!this.initDefExpressions)return;this.initDefExpressions[i.id]=i.definitionExpression??""}}),this.isInitUpdateComplete=!0}sortCodedValues(e){typeof e.fields?.[0]=="number"?e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i];return(s??t)-(n??i)}):e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i],a=s??t,r=n??i;return a.localeCompare(r)})}render(){let e=this.loading?this.renderLoading():this.initFilterConfig(),t=this.renderFooter();return l`<calcite-panel class=${p(this.baseClass)} ${w(this.panelEl)}><slot slot=header-content name=filter-header-content></slot><slot slot=header-actions-end name=filter-header-actions-end></slot>${x("filter-container",l`<div class=${p(d.filterContainer)}>${e}${t}</div>`)}</calcite-panel>`}renderLoading(){return l`<calcite-loader label="Loading filters..."></calcite-loader>`}renderFilter(e){let{id:t}=e;return e.expressions.map((i,s)=>i.type==="checkbox"||i.type==null?x(`${t}-${s}`,l`<div class=${p(d.filterItemContainer)}><div class=${p(d.filterItemTitle)}><p>${i.name}</p></div><div class=${p(d.checkboxContainer)}><calcite-checkbox id=${i.id.toString()??h} scale=l .checked=${i?.active} @calciteCheckboxChange=${this.handleCheckboxChange.bind(this,e,i)}></calcite-checkbox></div></div>`):this.initInput(e,i))}renderLayerBlock(){return this.filterLayerExpressions?.map(e=>this.renderFilterBlocks(e))}renderFilterBlocks(e){let t=this.renderFilter(e),{operator:i}=e,s=i?.trim()==="OR"?"orOperator":"andOperator",n=this.renderZoomTo(e);return x(e.id,l`<calcite-block .heading=${e.title} .description=${this._messages[s]} .expanded=${this.openFilters?!0:void 0} collapsible>${n}${t}</calcite-block>`)}renderCombobox(e,t){return x("combo-select",l`<label class=${p(d.filterUIItemContainer)}><span>${t.name}</span><calcite-combobox id=${t.id.toString()??h} @calciteComboboxChange=${this.handleComboSelect.bind(this,t,e)} .label=${t.name} .placeholder=${t.placeholder} selection-mode=multiple max-items=6 scale=s .overlayPositioning=${this.comboboxOverlayPositioning}>${t.fields?.map((i,s)=>this.renderComboboxItem(t,i,s))}</calcite-combobox></label>`)}renderComboboxItem(e,t,i){let s=this.createLabel(e,t),n=e?.selectedFields?.includes(t)??!1;return x(`${s}-${i}`,l`<calcite-combobox-item .value=${t} .heading=${`${s}`} .selected=${n}></calcite-combobox-item>`)}renderNumberSlider(e,t){let i=t?.min,s=t?.max,n=t?.step?t.step:1,a=i!=null&&s!=null,r=t?.field??"",o=t?.range?.min!=null?t.range.min:i,c=t?.range?.max!=null?t.range.max:s,u=[o,c];return a?x(t?.id.toString(),l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.numberInputContainer)}><calcite-slider id=${t?.id.toString()??h} @calciteSliderChange=${this.handleSliderChange.bind(this,t,e)} .min=${i} .max=${s} .minValue=${i} .maxValue=${s} .minLabel=${this._messages.minSlider?.replace("{field}",r)} .maxLabel=${this._messages.maxSlider?.replace("{field}",r)} .step=${n} label-handles snap .value=${u} .groupSeparator=${t?.format?.digitSeparator} precise></calcite-slider></div></label>`):void 0}renderDatePicker(e,t){let{min:i,max:s}=t,n=[t?.range?.min,t?.range?.max];return i!=null&&s!=null?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.dateInputContainer)}><calcite-input-date-picker id=${t?.id.toString()??h} @calciteInputDatePickerChange=${this.handleDatePickerRangeChange.bind(this,t,e)} .min=${i} .max=${s} calendars=1 overlay-positioning=fixed lang=${m.getLocale()??"en"??h} layout=vertical .value=${n} range></calcite-input-date-picker><calcite-action @click=${this.handleResetDatePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetDatePicker} title=${this._messages.resetDatePicker??h} scale=s></calcite-action></div></label>`:void 0}renderTimePicker(e,t){let{min:i,max:s,range:n}=t,a=i!=null&&s!=null,r=n?.min!=null?n.min:i,o=n?.max!=null?n.max:s;return a?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.timeInputContainer)}><calcite-input-time-picker .id=${`${t?.id.toString()}-min`} .value=${r} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!0)}></calcite-input-time-picker><calcite-input-time-picker .id=${`${t?.id.toString()}-max`} .value=${o} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!1)}></calcite-input-time-picker><calcite-action @click=${this.handleResetTimePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetTimePicker} title=${this._messages.resetTimePicker??h} scale=s></calcite-action></div></label>`:void 0}renderFooter(){let e=this.closeBtnText??this._messages.close,t=this.closeBtn&&this.resetBtn?"half":"full";return l`<div class=${p(d.footer)} slot=footer>${this.resetBtn?l`<calcite-button appearance=outline .width=${t} @click=${this.handleResetFilter} ${w(this.resetBtnEl)}>${this._messages.resetFilter}</calcite-button>`:void 0}${this.closeBtn?l`<calcite-button appearance=solid .width=${t} kind=brand @click=${this.closeBtnOnClick}>${e}</calcite-button>`:void 0}</div>`}renderZoomTo(e){let t=e?.sublayerId?`zoom-to-${e.id}-${e.sublayerId}`:`zoom-to-${e.id}`;return this.zoomBtn?l`<calcite-action id=${t??h} slot=actions-end appearance=transparent .text=${this._messages.zoomTo} title=${this._messages.zoomTo??h} scale=s icon=magnifying-glass-plus @click=${this.handleZoomTo.bind(this,e)}></calcite-action>`:void 0}};I("instant-apps-filter-list",C);return C},"geometry/support/jsonUtils","intl","WebMap","WebScene")
2
+ import{a as L}from"./2D6XDWYA.js";import{a as x}from"./WUJQ6R2U.js";import{a as S}from"./G3CCK7KY.js";import{b as I}from"./OR5M4R6K.js";import"./CR7KUQQF.js";import"./7UVBIBQS.js";import{E as $,F as w,G as k,I as p,h as F,i as l,l as h,q as b}from"./MRGCC5C4.js";import"./QPIMTXPL.js";export default $arcgis.t(([T,m,P,O])=>{var D="instant-apps-filter-list calcite-mode-light",M="instant-apps-filter-list calcite-mode-dark",g=["feature","geojson","wfs","csv","scene","subtype-group","point-cloud","map-image","sublayer"];function v(f){return f.replaceAll("'","''")}function y(f,e=!1){if(f){let t=new Date(f),i=`${t.getFullYear()}-${t.getMonth()+1}-${t.getDate()}`;if(e){let s=`${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}`;return`${i} ${s}`}else return i}}function _(f){if(f!=null){f.value=["",""];let e=f.shadowRoot?.querySelectorAll("calcite-input");if(e!=null)for(let t of e)t.value=""}}var R=F`:host{display:block}.instant-apps-filter-list *{box-sizing:border-box}.instant-apps-filter-list__container{height:100%}.instant-apps-filter-list__container calcite-block{--calcite-internal-block-actions-spacing: 0}.instant-apps-filter-list__container calcite-block calcite-action[slot=actions-end]{height:100%}.instant-apps-filter-list__container calcite-block:last-of-type{margin-bottom:0}.instant-apps-filter-list__footer{padding:12px;display:flex}.instant-apps-filter-list__footer calcite-button:nth-child(2){margin-left:6px}.instant-apps-filter-list__item-container,.instant-apps-filter-list__item-container--user-input{display:flex;justify-content:space-between;align-items:center}.instant-apps-filter-list__item-container:not(:last-child),.instant-apps-filter-list__item-container--user-input:not(:last-child){padding-bottom:20px}.instant-apps-filter-list__item-container--user-input{margin:0;display:flex;flex-direction:column;align-items:flex-start}.instant-apps-filter-list__item-container--user-input>span{margin:0 0 6px;font-size:14px;font-weight:400}.instant-apps-filter-list__item-container--user-input calcite-combobox{width:100%;font-size:16px;--calcite-combobox-input-height: 24px}.instant-apps-filter-list__number-input-container{width:100%;display:flex;justify-content:center}.instant-apps-filter-list__number-input-container calcite-slider{width:90%}.instant-apps-filter-list__date-picker-input-container{display:flex;align-items:center;justify-content:unset;width:100%}.instant-apps-filter-list__date-picker-input-container calcite-action{height:65px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__time-picker-input-container{display:grid;grid-template-columns:auto 32px;width:100%}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:first-child{grid-column:1;grid-row:1}.instant-apps-filter-list__time-picker-input-container calcite-input-time-picker:last-child{grid-column:1;grid-row:2}.instant-apps-filter-list__time-picker-input-container calcite-action{grid-column:2;grid-row:1/span 2;height:64px;width:33px;border-top:1px solid var(--calcite-color-border-input);border-right:1px solid var(--calcite-color-border-input);border-bottom:1px solid var(--calcite-color-border-input)}.instant-apps-filter-list__title{margin-right:20px}.instant-apps-filter-list__title>p{font-size:14px;font-weight:400;margin:0}.instant-apps-filter-list__checkbox-container{display:flex}.instant-apps-filter-list__checkbox-container calcite-checkbox{height:18px}.instant-apps-filter-list__operator-description{margin:0;--calcite-font-size--1: 12px}.instant-apps-filter-list calcite-input-date-picker{--calcite-font-size--1: 16px}@media(prefers-reduced-motion){.instant-apps-filter-list calcite-loader{--calcite-internal-duration-factor: 2;--calcite-internal-animation-timing-slow: .6s }}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__header-container{background:#2b2b2b;color:#fff}.instant-apps-filter-list.calcite-mode-dark .instant-apps-filter-list__operator-description{background:#353535}`,d={filterContainer:"instant-apps-filter-list__container",footer:"instant-apps-filter-list__footer",filterItemTitle:"instant-apps-filter-list__title",filterItemContainer:"instant-apps-filter-list__item-container",filterUIItemContainer:"instant-apps-filter-list__item-container--user-input",checkboxContainer:"instant-apps-filter-list__checkbox-container",numberInputContainer:"instant-apps-filter-list__number-input-container",dateInputContainer:"instant-apps-filter-list__date-picker-input-container",timeInputContainer:"instant-apps-filter-list__time-picker-input-container",operatorDesc:"instant-apps-filter-list__operator-description"},C=class extends k{constructor(){super(...arguments),this._messages=S({name:"instant-apps-filter-list",blocking:!0}),this.resetBtnEl=$(),this.panelEl=$(),this.isLayerExpUpdated=!1,this.isInitUpdateComplete=!1,this.baseClass=D,this.autoUpdateUrl=!1,this.closeBtn=!1,this.comboboxOverlayPositioning="absolute",this.openFilters=!1,this.extentSelector=!1,this.filterCount=0,this.zoomBtn=!0,this.resetBtn=!0,this.resetFiltersOnDisconnect=!0,this.filterListReset=b(),this.filterUpdate=b()}static{this.properties={loading:16,filterLayerExpressions:16,baseClass:16,initDefExpressions:16,initMapImageExpressions:16,initPointCloudFilters:16,layerExpressions:0,autoUpdateUrl:5,closeBtn:5,closeBtnOnClick:0,comboboxOverlayPositioning:1,closeBtnText:1,openFilters:5,extentSelector:5,extentSelectorConfig:0,urlParams:0,filterCount:9,view:0,zoomBtn:5,resetBtn:5,resetFiltersOnDisconnect:5}}static{this.styles=R}async forceReset(){return this.resetExpressions(),await Promise.resolve(!0)}async getCurrentLayerExpressions(){let e=structuredClone(this.filterLayerExpressions);return await Promise.resolve(e)}async getFilterInitState(){return await Promise.resolve({initDefExpressions:this.initDefExpressions,initMapImageExpressions:this.initMapImageExpressions,initPointCloudFilters:this.initPointCloudFilters})}async handleUpdatingT9nData(e){return e==null?await Promise.resolve(!0):(this.filterLayerExpressions?.forEach(t=>{let i=e?.find(s=>s.id===t.id);i!=null&&(t.title=i.title,t.expressions?.forEach(s=>{let n=i.expressions?.find(a=>a.id===s.id);n!=null&&(s.name=n.name)}))}),await Promise.resolve(!0))}async updateInitDefExpressions(e){return this.initDefExpressions=e.initDefExpressions,this.initMapImageExpressions=e.initMapImageExpressions,this.initPointCloudFilters=e.initPointCloudFilters,await Promise.resolve(!0)}connectedCallback(){super.connectedCallback(),!(this.layerExpressions==null&&this.view==null)&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.isInitUpdateComplete=!1,this.handleLayerExpressionsUpdate())}async load(){this.baseClass=L(this.el)==="dark"?M:D,!this.isLayerExpUpdated&&(this.isLayerExpUpdated=!0,this.filterLayerExpressions=this.layerExpressions!=null?structuredClone(this.layerExpressions):[],this.view!=null&&this.handleLayerExpressionsUpdate())}willUpdate(e){e.has("view")&&this.handleWhenView(),e.has("layerExpressions")&&(this.isInitUpdateComplete=!1,this.resetAllFilters(),this.filterLayerExpressions=structuredClone(this.layerExpressions),this.handleLayerExpressionsUpdate())}updated(){this.resetBtnEl.value!=null&&(this.resetBtnEl.value.disabled=!(this.filterLayerExpressions&&this.filterLayerExpressions.length>0))}disconnectedCallback(){super.disconnectedCallback(),this.resetFiltersOnDisconnect&&(this.isLayerExpUpdated=!1,this.filterLayerExpressions=structuredClone(this.layerExpressions),this.resetAllFilters())}initFilterConfig(){if(this.filterLayerExpressions&&this.filterLayerExpressions.length>0){if(this.filterLayerExpressions.length===1){let{operator:e}=this.filterLayerExpressions[0],t=e?.trim()==="OR"?"orOperator":"andOperator",i=this.renderZoomTo(this.filterLayerExpressions[0]);return l`<calcite-block class=${p(d.operatorDesc)} .heading=${this._messages[t]} expanded>${i}${this.renderFilter(this.filterLayerExpressions[0])}</calcite-block>`}else if(this.filterLayerExpressions.length>1)return this.renderLayerBlock()}}handleResetDatePicker(e,t){let i=this.panelEl.value?.querySelector(`[id='${e.id}']`);i&&(_(i),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t))}handleResetTimePicker(e,t){this.resetTimePicker(e),e.active=!1,e.definitionExpression=void 0,e.range=void 0,this.generateOutput(t)}resetTimePicker(e){let t=this.panelEl.value?.querySelector(`[id='${e.id}-min']`),i=this.panelEl.value?.querySelector(`[id='${e.id}-max']`);!t||!i||(t.value=e.min,i.value=e.max)}initInput(e,t){let{type:i,numDisplayOption:s,displayOption:n}=t;if(i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down"))return this.renderCombobox(e,t);if(i==="number"||i==="range")return this.renderNumberSlider(e,t);if(i==="date")return this.renderDatePicker(e,t);if(i==="time-only")return this.renderTimePicker(e,t)}async initExpressions(){if(this.loading=!0,this.filterLayerExpressions==null||this.view==null){this.loading=!1;return}await this.processExpressions(),this.loading=!1}async processExpressions(){this.filterLayerExpressions&&await Promise.all(this.filterLayerExpressions.map(async e=>{await Promise.all((e.expressions||[]).map(async t=>await this.setInitExpression(e,t)))}))}handleResetFilter(){this.resetExpressions(),this.resetAllFilters(),this.generateURLParams(),this.filterListReset.emit()}resetExpressions(){this.filterLayerExpressions?.forEach(e=>{e.expressions?.forEach(t=>{let{type:i,numDisplayOption:s,displayOption:n}=t,a="";i==="string"||i==="coded-value"||(i==="number"||i==="range"||i==="date"||i==="time-only")&&(s==="drop-down"||n==="drop-down")?a="combobox":i==="date"?a="datePicker":i==="number"||i==="range"?a="numberRange":i==="time-only"&&(a="timePicker"),a?this.resetExpressionUI(a,t):this.resetCheckbox(t),t.active=!1})})}resetExpressionUI(e,t){let{id:i}=t;switch(e){case"combobox":{t.selectedFields=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&Array.from(s.children).forEach(n=>{n.selected=!1});break}case"datePicker":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&_(s);break}case"numberRange":{t.range=void 0;let s=this.panelEl.value?.querySelector(`[id='${i}']`);s&&(s.minValue=t.min,s.maxValue=t.max);break}case"timePicker":t.range=void 0,this.resetTimePicker(t)}}resetCheckbox(e){let{id:t}=e,i=this.panelEl.value?.querySelector(`[id='${t}']`);i&&(i.checked=!1)}resetAllFilters(){this.view?.map?.allLayers?.concat(this.view?.map?.allTables.toArray()??[])?.forEach(e=>{if(!g.includes(e.type))return;let t=e;if(t.type==="point-cloud"){if(!this.initPointCloudFilters)return;t.filters=this.initPointCloudFilters[t.id]}else if(t.type==="map-image")t.allSublayers.forEach(i=>{i.definitionExpression=this.initMapImageExpressions?.[t.id]?.[i.id]??""});else{if(this.initDefExpressions==null)return;t.definitionExpression=this.initDefExpressions[t.id]}})}async updateStringExpression(e,t){let i=this.findFilterLayer(e);return i?(await this.getFeatureAttributes(i,t),this.handleDateField(i,t),t?.selectedFields?(t.definitionExpression=this.createDefinitionExpression(t),!0):!1):!1}handleDateField(e,t){t.type==="date"&&e.fields.find(({name:i})=>i===t.field)?.type==="date-only"&&(t.dateOnly=!0)}createDefinitionExpression(e){if(!e.selectedFields?.length)return"";let t=e.selectedFields.map(i=>typeof i=="number"?i:`'${v(i)}'`);return this.getSelectedFieldsDefExpression(e,t)}async updateNumberExpression(e,t){if(!t?.min&&t?.min!==0||!t?.max&&t?.max!==0){let i=this.findFilterLayer(e);if(!i)return!1;let{field:s}=t;if(s!=null)if(this.setExpressionFormat(i,t,s),t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down")await this.getFeatureAttributes(i,t);else{let n=(await this.calculateMinMaxStatistics(i,s))?.[0]?.attributes;if(t.format?.places!=null?(t.min=this.roundMinNumberDown(n[`min${s}`],t.format.places),t.max=this.roundMaxNumberUp(n[`max${s}`],t.format.places)):(t.min=n[`min${s}`],t.max=n[`max${s}`]),t?.range&&Object.keys(t.range).length){let{min:a,max:r}=t.range;return t.definitionExpression=`${t.field} BETWEEN ${a} AND ${r}`,!0}}}return!1}async updateDateExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=y(a[`min${i}`]),t.max=y(a[`max${i}`]),s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r=r?.replace("+"," "),o=o?.replace("+"," "),r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} '${r??o}'`:t.definitionExpression=`${i} BETWEEN '${r}' AND '${o}'`,!0}}return!1}async updateTimeExpression(e,t){let{field:i,range:s}=t,n=this.findFilterLayer(e);if(!n)return!1;let a=(await this.calculateMinMaxStatistics(n,i))?.[0]?.attributes;if(t.min=a[`min${i}`],t.max=a[`max${i}`],s!=null&&(s?.max!=null||s?.min!=null)){let{min:r,max:o}=s;if(r||o){let c=o&&!r?"<":!o&&r?">":null;return c?t.definitionExpression=`${i} ${c} TIME '${r??o}'`:t.definitionExpression=`${i} BETWEEN TIME '${r}' AND TIME '${o}'`,!0}}return!1}async updateCodedValueExpression(e,t,i){if(!i?.domain||i?.domain?.type!=="coded-value")return!1;let s=this.findFilterLayer(e);if(!s)return!1;await this.getFeatureAttributes(s,t);let n=i.domain.codedValues.reduce((a,{code:r,name:o})=>(a[r]=o,a),{});if(t.codedValues=n,this.sortCodedValues(t),t.selectedFields?.length){let a=t.selectedFields.map(r=>typeof r=="number"?r:`'${v(r)}'`).join(",");return t.definitionExpression=`${t.field} IN (${a})`,!0}return!1}updateRangeExpression(e,t){if(!t?.domain||t?.domain?.type!=="range")return!1;let{field:i,range:s}=e;return e.min=t.domain.minValue,e.max=t.domain.maxValue,s&&Object.keys(s).length?(e.definitionExpression=`${i} BETWEEN ${s.min} AND ${s.max}`,!0):!1}async getFeatureAttributes(e,t){if(!this.isLayerSupported(e)){t.fields=[];return}let i=await this.getQueryLayer(e),{maxRecordCount:s,supportsMaxRecordCountFactor:n}=this.extractQueryCapabilities(e),a=await i.queryFeatureCount(),r=this.createQuery(i,t);await this.queryDistinctFeatures(i,r,t),this.shouldPaginate(s,a,n)&&this.handlePagination(i,r,s,n,a,t)}isLayerSupported(e){return e&&g.includes(e.type)}extractQueryCapabilities(e){return{maxRecordCount:e.capabilities?.query?.maxRecordCount??e.sourceJSON?.maxRecordCount,supportsMaxRecordCountFactor:e.capabilities?.query?.supportsMaxRecordCountFactor}}createQuery(e,t){let i=e.createQuery();this.applyCacheHint(e,i);let s=t?.field;if(s){let n=this.getInitDefExprFromLayer(e);i.where=n||"1=1",i.outFields=[s],i.orderByFields=[`${s} ASC`],i.returnDistinctValues=!0,i.returnGeometry=!1,i.maxRecordCountFactor=5,this.applyQueryGeometryFromExtentSelector(i)}return i}async queryDistinctFeatures(e,t,i){if(!t.outFields)return;let s=await this.queryForFeatures(e,t,t.outFields[0]);s?.length&&(i.fields=[...new Set(s)],i.type==="string"?i.fields=i.fields.sort((n,a)=>n.localeCompare(a)):i.type==="number"&&(i.fields=i.fields.sort((n,a)=>n-a)))}getQueryCount(e,t){return t?e*5:e}shouldPaginate(e,t,i){let s=this.getQueryCount(e,i);return e!=null&&t>s}async handlePagination(e,t,i,s,n,a){let r=this.getQueryCount(i,s),o=[];for(let c=r;c<n;c+=r){let u=t.clone();u.num=i,u.start=c,o.push(this.queryForFeatures(e,u,t?.outFields?.[0]??""))}Promise.all(o).then(c=>{c.forEach(u=>{u?.length&&a.fields&&a.fields.push(...u)}),a.type==="string"?a.fields=[...new Set(a.fields)].sort((u,E)=>u.localeCompare(E)):a.type==="number"?a.fields=[...new Set(a.fields)].sort((u,E)=>u-E):a.type==="coded-value"&&a.codedValues?this.sortCodedValues(a):a.fields=[...new Set(a.fields)].sort()})}async queryForFeatures(e,t,i){return(await e.queryFeatures(t))?.features.filter(s=>{let n=s.attributes?.[i];return n!=null&&n!==""})?.map(s=>s.attributes?.[i])}async calculateMinMaxStatistics(e,t){if(!e||!g.includes(e.type)||!t)return[];let i=this.createStatisticsQuery(e,t);return(await e.queryFeatures(i))?.features||[]}createStatisticsQuery(e,t){let i=e.createQuery();return i.where=this.getInitDefExprFromLayer(e)||"1=1",this.applyCacheHint(e,i),i.outStatistics=[{onStatisticField:t,outStatisticFieldName:`max${t}`,statisticType:"max"},{onStatisticField:t,outStatisticFieldName:`min${t}`,statisticType:"min"}],this.applyQueryGeometryFromExtentSelector(i),i}getExtent(e,t){if(e&&t){let{constraints:i}=t,s={...i}.geometry;if(s){let n="extent"in s?s:T.fromJSON(s);if(n?.type==="extent"||n?.type==="polygon")return n}}}async setInitExpression(e,t){if(!t.field||!t.type){await this.updateExpression(e,t,void 0);return}let i=this.findFilterLayer(e);i&&((i.loadStatus==="not-loaded"||i.loadStatus==="failed")&&await i.load(),await i.when(async()=>{let s=i.fields?.find(({name:a})=>a===t.field),n=s?.domain?.type;t.type=n==="coded-value"||n==="range"?n:t.type,await this.updateExpression(e,t,s)}))}async updateExpression(e,t,i){let s=await this.handleExpressionType(e,t,i);this.requestUpdate(),s&&this.generateOutput(e)}async handleExpressionType(e,t,i){switch(t.type){case"string":return await this.updateStringExpression(e,t);case"number":return await this.updateNumberExpression(e,t);case"date":return await this.updateDateExpressionBasedOnDisplayOption(e,t);case"time-only":return await this.updateTimeExpressionBasedOnDisplayOption(e,t);case"coded-value":return await this.updateCodedValueExpression(e,t,i);case"range":return await this.updateRangeExpressionBasedOnDisplayOption(e,t,i);case"checkbox":case null:case void 0:return t.active??!1;default:return!1}}async updateDateExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateDateExpression(e,t)}async updateTimeExpressionBasedOnDisplayOption(e,t){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):await this.updateTimeExpression(e,t)}async updateRangeExpressionBasedOnDisplayOption(e,t,i){return t.displayOption==="drop-down"?await this.updateStringExpression(e,t):this.updateRangeExpression(t,i)}updateRangeExpressions(e,t,i,s){let n=this.getInitDefExprFromLayerExpression(t);(s||s===0)&&(i||i===0)&&(s===e?.min&&i===e?.max?(e.definitionExpression=void 0,e.active=!1):(e.definitionExpression=n?`(${n}) AND ${e?.field} BETWEEN ${s} AND ${i}`:`${e?.field} BETWEEN ${s} AND ${i}`,e.active=!0)),e.range={min:s,max:i}}handleCheckboxChange(e,t,i){let s=i.target;t.active=s.checked,this.generateOutput(e)}handleSliderChange(e,t,i){let{maxValue:s,minValue:n}=i.target;this.updateRangeExpressions(e,t,s,n),this.generateOutput(t)}handleComboSelect(e,t,i){let s=i.target.selectedItems,{field:n,type:a}=e;if(e.selectedFields=s.map(({value:r})=>r),s.length){let r=s.map(({value:o})=>typeof o=="number"?o:`'${v(o)}'`);e.definitionExpression=this.getSelectedFieldsDefExpression(e,r),e.active=!0}else e.definitionExpression=void 0,e.active=!1;this.generateOutput(t)}getSelectedFieldsDefExpression(e,t){let{field:i,type:s}=e;return s==="date"?t.map(n=>this.buildDateExpression(n,i)).join(" OR "):s==="time-only"?`${i} IN (${t.map(n=>`TIME ${n}`).join(",")})`:`${i} IN (${t.join(",")})`}handleDatePickerRangeChange(e,t,i){let s=i.target,[n,a]=s.valueAsDate,r=n?y(Math.floor(n.getTime()),!0):void 0,o=a?y(Math.floor(a.getTime()),!0):void 0;(r||o)&&(e.definitionExpression=this.constructDefinitionExpression(e.field,r,o),e.range={min:r,max:o},e.active=!0,this.generateOutput(t))}handleTimePickerRangeChange(e,t,i,s){let n=s.target,a=n.value;e.range==null&&(e.range={min:void 0,max:void 0}),i?e.max&&a>e.max?(e.range.min=e.max,n.value=e.range.min):e.min&&a<e.min?(e.range.min=e.min,n.value=e.range.min):e.range.min=a:e.max&&a>e.max?(e.range.max=e.max,n.value=e.range.max):e.min&&a<e.min?(e.range.max=e.min,n.value=e.range.max):e.range.max=a,(e.range.min||e.range.max)&&(e.definitionExpression=this.constructTimeDefinitionExpression(e.field,e.range.min,e.range.max),e.active=!0,this.generateOutput(t))}constructDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN '${t}' AND '${i}'`:`${e} > '${t}'`:`${e} < '${i}'`}constructTimeDefinitionExpression(e,t,i){return t?i?`${e} BETWEEN TIME '${t}' AND TIME '${i}'`:`${e} > TIME '${t}'`:`${e} < TIME '${i}'`}handleURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(document.location.search).get("filter");if(!e){this.filterCount=0;return}let t=e.split(";").map(i=>JSON.parse(i));this.filterCount=this.applyFilters(t)}applyFilters(e){let t=0;return e.forEach(i=>{let s=this.filterLayerExpressions?.find(n=>n.id===i.layerId);s&&s.expressions?.forEach(n=>{n.id?.toString()===i.expressionId?.toString()&&(this.activateExpression(n,i),t++)})}),t}activateExpression(e,t){e.active=!0,t.type==="range"?e.range=t.range:t.type==="select"&&(e.selectedFields=t.selectedFields)}createURLParamExpression(e,t){let{id:i,range:s,selectedFields:n,type:a}=t;return a==="string"||a==="coded-value"||t?.numDisplayOption==="drop-down"||t?.displayOption==="drop-down"?{type:"select",layerId:e.id,expressionId:i.toString(),selectedFields:n}:a==="number"||a==="range"||a==="date"||a==="time-only"?{type:"range",layerId:e.id,expressionId:i.toString(),range:s}:{layerId:e.id,expressionId:i.toString()}}autoUpdateURLCheck(e){if(this.autoUpdateUrl){let t=e.toString()?`${window.location.pathname}?${e}`.trim():window.location.pathname;window.history.replaceState({},"",t)}}generateURLParams(){if(!("URLSearchParams"in window))return;let e=new URLSearchParams(window.location.search),t=this.filterLayerExpressions?.flatMap(i=>i?.expressions?.filter(s=>s.active).map(s=>JSON.stringify(this.createURLParamExpression(i,s)))||[])||[];this.filterCount=t.length,t.length>0?e.set("filter",t.join(";")):e.delete("filter"),this.autoUpdateURLCheck(e),this.urlParams=e}updateFilter(e,t,i){let{id:s}=e,n=this.view.map?.findLayerById(s)??this.view.map?.findTableById(s);if(n!=null)if(n.type==="point-cloud")this.updateFilterLayerPCLFilter(n,i);else if(n.type==="map-image"){let a=n.findSublayerById(e?.sublayerId);a!=null&&this.updateFilterLayerDefExpression(a,t,e)}else this.updateFilterLayerDefExpression(n,t,e)}updateFilterLayerDefExpression(e,t,i){let{operator:s}=i,n=this.getInitDefExprFromLayer(e),a=t?.length>0&&n!=null&&n!==""?`(${t.join(s)}) AND (${n})`:t.length>0?t.join(s):n;e.definitionExpression=a}updateFilterLayerPCLFilter(e,t){e.filters=t}async handleWhenView(){this.view!=null&&(await this.view.map.loadAll(),await this.handleLayerExpressionsUpdate())}async handleLayerExpressionsUpdate(){this.isInitUpdateComplete||(this.updateInitExpressions(),this.handleURLParams(),this.initExpressions())}async handleZoomTo(e){let t=e?.sublayerId?`#zoom-to-${e.id}-${e.sublayerId}`:`#zoom-to-${e.id}`,i=this.panelEl.value?.querySelector(t),s=(n,a)=>{i&&(i.loading=n,i.disabled=a)};if(s(!0,!0),await this.getZoomToExtent(e),this.zoomToExtent){let n=this.zoomToExtent.type==="point"&&this.zoomToExtent.count===1?{target:this.zoomToExtent.extent,zoom:10}:this.zoomToExtent.extent;await this.view.goTo(n)}s(!1,!1)}async getZoomToExtent(e){let t=this.view.allLayerViews.find(({layer:s})=>s.id===e.id).layer,i=t.type==="map-image"?t.findSublayerById(e.sublayerId):t;if(i&&i.type!=="point-cloud"&&g.includes(i?.type)){let s=await this.getQueryLayer(i),n=s.createQuery();n.where=s.definitionExpression??"1=1";let a=await s.queryExtent(n);this.zoomToExtent={...a,type:s.geometryType}}}generateOutput(e){if(this.view==null)return;let t=[],i=[];if(e){for(let s of e.expressions){let{active:n,definitionExpression:a,pointCloudFilters:r}=s;n&&a&&t.push(`(${a})`),n&&r!=null&&r.length>0&&(i=i.concat(r))}this.updateFilter(e,t,i),this.generateURLParams(),this.filterUpdate.emit()}}numberWithCommas(e){return e.toLocaleString("en-US",{maximumFractionDigits:20})}async getInitMap(){let e=this.view.map,t;return this.view.type==="2d"?t=new P({portalItem:{id:e.portalItem.id}}):t=new O({portalItem:{id:e.portalItem.id}}),await t.load(),t}scientificRounding(e,t,i){if(e==null)return;let s;if(!String(e).includes("e"))s=Math[i](e*Math.pow(10,t))/Math.pow(10,t);else{let[n,a]=String(e).split("e").map(o=>Number(o)),r=a+t;s=Math[i](+`${n}e${r}`)*Math.pow(10,-t)}return+s.toFixed(t)}roundMinNumberDown(e,t){return this.scientificRounding(e,t,"floor")}roundMaxNumberUp(e,t){return this.scientificRounding(e,t,"ceil")}roundNumber(e,t){return this.scientificRounding(e,t,"round")??e}setExpressionFormat(e,t,i){if(e?.popupTemplate!=null){let s=e?.popupTemplate.fieldInfos?.find(({fieldName:n})=>n===i);s?.format&&(t.format=s.format)}}getInitDefExprFromLayer(e){return e.type==="sublayer"?this.initMapImageExpressions?.[e?.layer?.id??""]?.[e.id]??"":this.initDefExpressions?.[e.id]??""}getInitDefExprFromLayerExpression(e){return e?.sublayerId!=null?this.initMapImageExpressions?.[e.id]?.[e.sublayerId]??"":this.initDefExpressions?.[e.id]??""}findFilterLayer(e){let t=this.view.map?.allLayers.concat(this.view.map?.allTables.toArray()??[])?.find(({id:i})=>i===e.id);return t?.type==="map-image"?t?.findSublayerById(e.sublayerId):t}createLabel(e,t){if(e.type==="coded-value")return e?.codedValues?.[t]??t;if(e.type==="number"&&typeof t=="number"){let i=t;return e.format?.places!=null&&(i=this.roundNumber(t,e.format.places)),e.format?.digitSeparator?this.numberWithCommas(i):i}if(e.type==="date"&&!e.dateOnly){let i=m.convertDateFormatToIntlOptions("short-date-long-time");return m.formatDate(t,i)}if(e.type==="time-only"){let i=m.convertDateFormatToIntlOptions("long-time");return m.formatTimeOnly(t,i)}return t}buildDateExpression(e,t){if(e){let i=new Date(e),s=new Date(e),n=new Date(s.setDate(i.getDate()+1)),a=`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}`,r=`${i.getHours()}:${i.getMinutes()}:${i.getSeconds()}`,o=`${n.getHours()}:${n.getMinutes()}:${n.getSeconds()}`,c=`${n.getFullYear()}-${n.getMonth()+1}-${n.getDate()}`;return`${t} BETWEEN '${a} ${r}' AND '${c} ${o}'`}}async getQueryLayer(e){let t=e.type==="sublayer"?await e.createFeatureLayer():e;if(!t)throw new Error("Failed to create feature layer");return t}applyCacheHint(e,t){e?.capabilities?.query?.supportsCacheHint&&(t.cacheHint=!0)}applyQueryGeometryFromExtentSelector(e){if(!this.extentSelector||!this.extentSelectorConfig)return;let t=this.getExtent(this.extentSelector,this.extentSelectorConfig);t&&(e.geometry=t,e.spatialRelationship="intersects")}async updateInitExpressions(){if(!this.view?.map)return;let e=await this.getInitMap();this.initDefExpressions={},this.initPointCloudFilters={},this.initMapImageExpressions={},e.allLayers.concat(e.allTables.toArray()??[]).forEach(t=>{if(!g.includes(t.type))return;let i=t;if(i.type==="point-cloud")this.initPointCloudFilters||(this.initPointCloudFilters={}),this.initPointCloudFilters[i.id]=i.filters;else if(i.type==="map-image")this.initMapImageExpressions||(this.initMapImageExpressions={}),this.initMapImageExpressions[i.id]=i.allSublayers.reduce((s,n)=>(s[n.id]=n.definitionExpression??"",s),{});else{if(!this.initDefExpressions)return;this.initDefExpressions[i.id]=i.definitionExpression??""}}),this.isInitUpdateComplete=!0}sortCodedValues(e){typeof e.fields?.[0]=="number"?e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i];return(s??t)-(n??i)}):e.fields=[...new Set(e.fields)].sort((t,i)=>{let s=e.codedValues?.[t],n=e.codedValues?.[i],a=s??t,r=n??i;return a.localeCompare(r)})}render(){let e=this.loading?this.renderLoading():this.initFilterConfig(),t=this.renderFooter();return l`<calcite-panel class=${p(this.baseClass)} ${w(this.panelEl)}><slot slot=header-content name=filter-header-content></slot><slot slot=header-actions-end name=filter-header-actions-end></slot>${x("filter-container",l`<div class=${p(d.filterContainer)}>${e}${t}</div>`)}</calcite-panel>`}renderLoading(){return l`<calcite-loader label="Loading filters..."></calcite-loader>`}renderFilter(e){let{id:t}=e;return e.expressions.map((i,s)=>i.type==="checkbox"||i.type==null?x(`${t}-${s}`,l`<div class=${p(d.filterItemContainer)}><div class=${p(d.filterItemTitle)}><p>${i.name}</p></div><div class=${p(d.checkboxContainer)}><calcite-checkbox id=${i.id.toString()??h} scale=l .checked=${i?.active} @calciteCheckboxChange=${this.handleCheckboxChange.bind(this,e,i)}></calcite-checkbox></div></div>`):this.initInput(e,i))}renderLayerBlock(){return this.filterLayerExpressions?.map(e=>this.renderFilterBlocks(e))}renderFilterBlocks(e){let t=this.renderFilter(e),{operator:i}=e,s=i?.trim()==="OR"?"orOperator":"andOperator",n=this.renderZoomTo(e);return x(e.id,l`<calcite-block .heading=${e.title} .description=${this._messages[s]} .expanded=${this.openFilters?!0:void 0} collapsible>${n}${t}</calcite-block>`)}renderCombobox(e,t){return x("combo-select",l`<label class=${p(d.filterUIItemContainer)}><span>${t.name}</span><calcite-combobox id=${t.id.toString()??h} @calciteComboboxChange=${this.handleComboSelect.bind(this,t,e)} .label=${t.name} .placeholder=${t.placeholder} selection-mode=multiple max-items=6 scale=s .overlayPositioning=${this.comboboxOverlayPositioning}>${t.fields?.map((i,s)=>this.renderComboboxItem(t,i,s))}</calcite-combobox></label>`)}renderComboboxItem(e,t,i){let s=this.createLabel(e,t),n=e?.selectedFields?.includes(t)??!1;return x(`${s}-${i}`,l`<calcite-combobox-item .value=${t} .heading=${`${s}`} .selected=${n}></calcite-combobox-item>`)}renderNumberSlider(e,t){let i=t?.min,s=t?.max,n=t?.step?t.step:1,a=i!=null&&s!=null,r=t?.field??"",o=t?.range?.min!=null?t.range.min:i,c=t?.range?.max!=null?t.range.max:s,u=[o,c];return a?x(t?.id.toString(),l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.numberInputContainer)}><calcite-slider id=${t?.id.toString()??h} @calciteSliderChange=${this.handleSliderChange.bind(this,t,e)} .min=${i} .max=${s} .minValue=${i} .maxValue=${s} .minLabel=${this._messages.minSlider?.replace("{field}",r)} .maxLabel=${this._messages.maxSlider?.replace("{field}",r)} .step=${n} label-handles snap .value=${u} .groupSeparator=${t?.format?.digitSeparator} precise></calcite-slider></div></label>`):void 0}renderDatePicker(e,t){let{min:i,max:s}=t,n=[t?.range?.min,t?.range?.max];return i!=null&&s!=null?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.dateInputContainer)}><calcite-input-date-picker id=${t?.id.toString()??h} @calciteInputDatePickerChange=${this.handleDatePickerRangeChange.bind(this,t,e)} .min=${i} .max=${s} calendars=1 overlay-positioning=fixed lang=${m.getLocale()??"en"??h} layout=vertical .value=${n} range></calcite-input-date-picker><calcite-action @click=${this.handleResetDatePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetDatePicker} title=${this._messages.resetDatePicker??h} scale=s></calcite-action></div></label>`:void 0}renderTimePicker(e,t){let{min:i,max:s,range:n}=t,a=i!=null&&s!=null,r=n?.min!=null?n.min:i,o=n?.max!=null?n.max:s;return a?l`<label class=${p(d.filterUIItemContainer)}><span>${t?.name}</span><div class=${p(d.timeInputContainer)}><calcite-input-time-picker .id=${`${t?.id.toString()}-min`} .value=${r} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!0)}></calcite-input-time-picker><calcite-input-time-picker .id=${`${t?.id.toString()}-max`} .value=${o} overlay-positioning=fixed lang=${m.getLocale()??"en"??h} @calciteInputTimePickerChange=${this.handleTimePickerRangeChange.bind(this,t,e,!1)}></calcite-input-time-picker><calcite-action @click=${this.handleResetTimePicker.bind(this,t,e)} icon=reset .text=${this._messages.resetTimePicker} title=${this._messages.resetTimePicker??h} scale=s></calcite-action></div></label>`:void 0}renderFooter(){let e=this.closeBtnText??this._messages.close,t=this.closeBtn&&this.resetBtn?"half":"full";return l`<div class=${p(d.footer)} slot=footer>${this.resetBtn?l`<calcite-button appearance=outline .width=${t} @click=${this.handleResetFilter} ${w(this.resetBtnEl)}>${this._messages.resetFilter}</calcite-button>`:void 0}${this.closeBtn?l`<calcite-button appearance=solid .width=${t} kind=brand @click=${this.closeBtnOnClick}>${e}</calcite-button>`:void 0}</div>`}renderZoomTo(e){let t=e?.sublayerId?`zoom-to-${e.id}-${e.sublayerId}`:`zoom-to-${e.id}`;return this.zoomBtn?l`<calcite-action id=${t??h} slot=actions-end appearance=transparent .text=${this._messages.zoomTo} title=${this._messages.zoomTo??h} scale=s icon=magnifying-glass-plus @click=${this.handleZoomTo.bind(this,e)}></calcite-action>`:void 0}};I("instant-apps-filter-list",C);return C},"geometry/support/jsonUtils","intl","WebMap","WebScene")
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import b from"./UJ2CJJL6.js";import a from"./2C676HQP.js";import{a as _}from"./VKLUFCKS.js";import{b as y}from"./4AW45DXY.js";import"./3LTRULIX.js";import{F as $,G as T,I as l,K as g,h as C,i as r,q as x,t as L}from"./P4PCDUNA.js";import"./QPIMTXPL.js";export default $arcgis.t(([,{a:d,b:v,c:u,d:m,e:I,f:i,h:E,i:D,k:U}])=>{var R=C`@layer{.instant-apps-language-translator-item{display:flex}.instant-apps-language-translator-item__section{padding:10px;border-bottom:1px solid var(--calcite-color-border-1);background-color:var(--calcite-color-foreground-2);width:49%}.instant-apps-language-translator-item__section .instant-apps-language-translator-item__top-row{display:flex;align-items:center;justify-content:space-between}.instant-apps-language-translator-item__section .instant-apps-language-translator-item__label-container{display:flex;align-items:center}.instant-apps-language-translator-item__section .instant-apps-language-translator-item__label{display:inline-block;margin-left:10px;font-size:14px;font-weight:var(--calcite-font-weight-medium)}.instant-apps-language-translator-item__section calcite-input{margin-top:10px;margin-left:55px}.instant-apps-language-translator-item__section--last-item{border-bottom:none}.instant-apps-language-translator-item__section--selected{background-color:#f1faff}.instant-apps-language-translator-item__section:first-child{margin-right:1%}.instant-apps-language-translator-item__ui-location-popover-content{display:inline-block;padding:10px;max-width:400px}.instant-apps-language-translator-item__ui-location-items{display:flex}.instant-apps-language-translator-item__ui-location-item{display:flex;align-items:center;font-weight:var(--calcite-font-weight-medium);font-size:14px}.instant-apps-language-translator-item__tip{display:inline-block;font-size:14px;line-height:22px}.instant-apps-language-translator-item__info-icon{color:var(--calcite-color-brand)}.instant-apps-language-translator-item__info-button{border:0;background-color:transparent;cursor:pointer}.instant-apps-language-translator-item__nested-input{margin-left:60px;margin-top:8px}.instant-apps-language-translator-item__nested-input calcite-input{margin-left:30px}.calcite-mode-dark .instant-apps-language-translator-item__section--selected{background-color:var(--calcite-color-brand);color:var(--calcite-color-text-inverse)}.calcite-mode-dark .instant-apps-language-translator-item__section--selected calcite-action{--calcite-icon-color: var(--calcite-color-text-inverse)}.calcite-mode-dark .instant-apps-language-translator-item__section--selected calcite-icon{color:var(--calcite-color-text-inverse)}.instant-apps-language-translator--last-item .instant-apps-language-translator-item__section{border-bottom:none}}`,p="instant-apps-language-translator-item",c={section:`${p}__section`,selected:`${p}__section--selected`,topRow:`${p}__top-row`,labelContainer:`${p}__label-container`,label:`${p}__label`,uiLocationPopoverContent:`${p}__ui-location-popover-content`,uiLocationItems:`${p}__ui-location-items`,uiLocationItem:`${p}__ui-location-item`,infoIcon:`${p}__info-icon`,infoButton:`${p}__info-button`,tip:`${p}__tip`,nestedInput:`${p}__nested-input`},b=class extends T{constructor(){super(...arguments),this.userInputs={},this.translatedInputs={},this.translatorItemDataUpdated=x()}static{this.properties={fieldName:1,translatedLanguageLabels:0,setting:0,userLocaleInputOnChangeCallback:0,translatedLocaleInputOnChangeCallback:0}}static{this.styles=R}static{this.shadowRootOptions=L}get isTextEditor(){return this.setting.type===v.TextEditor}get calciteMode(){return U()?m.Dark:m.Light}get hasNestedContent(){return!!this.setting?.content}get tipID(){return`${this.fieldName}goTo`}loaded(){this.isTextEditor&&i.onChange("uiData",()=>this.handleEditorCollapse())}handleInputRender(e,t,a){return this.getUIDataItem()?.expanded?this.hasNestedContent?this.renderNestedInputs(e):this.renderInput(e,t,a):null}getUIDataItem(){if(I.uiData)return I.uiData.get(this.fieldName)}updateT9nStore(e,t){let a=i.get("currentLanguage"),n={[e]:t},s=D(a,n);i.set("portalItemResourceT9n",s)}handleExpand(){let e=this.getUIDataItem();e.expanded=!e.expanded;let t=new Map(I.uiData);t.set(this.fieldName,e),i.set("uiData",t)}handleEditorCollapse(){if(!i.get("uiData")?.get(this.fieldName)?.expanded&&this.userEditorWrapper?.editorInstance&&this.translatedEditorWrapper?.editorInstance){let{userEditorWrapper:e,translatedEditorWrapper:t}=this,a=e.editorInstance.getData();e.value=a;let n=t.editorInstance.getData();t.value=n,e.editorInstance.destroy(),t.editorInstance.destroy()}}handleSelection(e){let t=new Map(I.uiData),a=E();a.forEach(n=>{let s=t?.get(n);s.selected=!1}),a.forEach(n=>{let s=e?.target?.getAttribute("data-field-name");if(n===s){let o=t?.get(n);o.selected=!0}}),i.set("uiData",t)}getUILocation(){let e=this.getUIDataItem(),{uiLocation:t,userLocaleData:a}=e,{section:n,subsection:s}=t,o=[n.label,s.label,a.label].filter(h=>!!h);return o.map((h,f)=>r`<span class=${l(c.uiLocationItem)}><span>${h}</span>${f!==o.length-1?r`<calcite-icon icon=chevron-right scale=s></calcite-icon>`:null}</span>`)}getTip(){let e=this.getUIDataItem(),{tip:t}=e;return t}copySelection(e,t){this.setting.type===v.TextEditor?this.copyTextEditorContent(e):this.copyCalciteInputContent(t,e)}copyTextEditorContent(e){let t=e===d.User?this.userEditorWrapper?.editorInstance:this.translatedEditorWrapper?.editorInstance,a=50;setTimeout(()=>{this.selectContent(t),setTimeout(()=>this.selectContent(t),a)},a),this.copyContent(t)}selectContent(e){e.editing.view.focus();let{model:t}=e,a=t.document.getRoot();if(a){let n=t.createRangeIn(a);t.change(s=>s.setSelection(n))}}copyContent(e){let t=e.getData(),a=document.createElement("div");a.contentEditable="true",a.innerHTML=t,document.body.appendChild(a);let n=document.createRange();n.selectNodeContents(a);let s=window.getSelection();s?.removeAllRanges(),s?.addRange(n),document.execCommand("copy"),document.body.removeChild(a)}copyCalciteInputContent(e,t){let a=t===d.User?this.userInputs[e]:this.translatedInputs[e];if(a){a.selectText();let n=a.value;navigator.clipboard.writeText(n)}}setEditor(e,t){t&&(e===d.User?this.userEditorWrapper=t:this.translatedEditorWrapper=t)}async handleUserInputChange(e){i.set("saving",!0);try{let t=e.target,a=t.id,n=t.value,s=this.getUIDataItem();s.userLocaleData.value=n,await this.userLocaleInputOnChangeCallback(a,n),i.set("saving",!1)}catch{i.set("saving",!1)}}async handleUserTextEditorChange(e){i.set("saving",!0);try{let t=e.detail,a=e.target.id,n=this.getUIDataItem();n.userLocaleData.value=t,await this.userLocaleInputOnChangeCallback(a,t),i.set("saving",!1)}catch{i.set("saving",!1)}}async handleTranslatedInputChange(e){i.set("saving",!0);try{let t=e.composedPath()[0],a=t.id;this.updateT9nStore(a,t.value);let{locale:n,resource:s}=this.getTranslatedLocaleCallbackData(),o=e.target.value;await this.translatedLocaleInputOnChangeCallback(a,o,n,s),setTimeout(()=>i.set("saving",!1),1500),this.translatorItemDataUpdated.emit()}catch(t){console.error("Error writing to portal item resource: ",t),i.set("saving",!1)}}async handleTranslatedTextEditorChange(e){i.set("saving",!0);try{let t=e.target.id;this.updateT9nStore(t,e.detail);let{locale:a,resource:n}=this.getTranslatedLocaleCallbackData(),s=e.detail;await this.translatedLocaleInputOnChangeCallback(t,s,a,n),setTimeout(()=>i.set("saving",!1),1500),this.translatorItemDataUpdated.emit()}catch(t){console.error("Error writing to portal item resource: ",t),i.set("saving",!1)}}handleTextEditorDataChange(e,t){e===d.User?this.handleUserTextEditorChange(t):this.handleTranslatedTextEditorChange(t)}getTranslatedLocaleCallbackData(){let e=i.get("currentLanguage"),t=i.get("portalItemResource");return{locale:e,resource:t}}getIcon(e){switch((e??this.setting).stringType){case"title":return u.Title;case"subtitle":return u.Subtitle;case"text":return u.Text;case"button":return u.Button;case"string":return u.String;default:return u.SettingIndicator}}render(){return"content"in this.setting&&this.setting.content?.every(e=>e?.content?.length===0)?(this.el.classList.remove(this.calciteMode),""):(this.el.classList.add(this.calciteMode),r`${this.renderBase()}${this.renderPopover()}`)}renderBase(){return r`<div class=${l(p)}>${this.renderUserLocaleSection()}${this.renderTranslatedLanguageSection()}</div>`}renderPopover(){let e=this.getTip();return r`<calcite-popover .referenceElement=${this.tipID} label auto-close placement=trailing closable><span class=${l(c.uiLocationPopoverContent)}><span class=${l(c.uiLocationItems)}>${this.getUILocation()}</span>${e?r`<span class=${l(c.tip)}>${e}</span>`:null}</span></calcite-popover>`}renderUserLocaleSection(){let e=this.getUIDataItem(),t=e?.userLocaleData,a=e?.selected?` ${c.selected}`:"",n=t?.label,s=t?.value,o=this.setting.id;return r`<div class=${`${c.section}${a}`}>${this.renderItemHeader(d.User,n,o)}${this.handleInputRender(d.User,s,o)}</div>`}renderTranslatedLanguageSection(){let e=this.getUIDataItem(),t=this.setting.id,a=i.get("currentLanguage"),n=i.get("portalItemResourceT9n"),s=this.translatedLanguageLabels?.[this.fieldName],o=typeof n=="object"&&n!==null&&a in n&&typeof n!="number"&&!Array.isArray(n)?String(n[a]?.[t]??""):"",h=e?.selected?` ${c.selected}`:"";return r`<div class=${`${c.section}${h}`}>${this.renderItemHeader(d.Translation,s,t)}${this.handleInputRender(d.Translation,o,t)}</div>`}renderNestedInputs(e,t){let a=t??this.setting,{content:n}=a;return n?.map(s=>"content"in s?this.renderNestedInputs(e,s):this.renderNestedInput(e,s)).filter(s=>s!==void 0)}renderNestedInput(e,t){let a=i.get("currentLanguage"),n=i.get("portalItemResourceT9n"),s=t?.id,o=n?.[a],h=typeof o=="object"&&o!==null?o[s]:void 0,{label:f,value:w,id:k}=t,S=e===d.Translation?this.translatedLanguageLabels?.[k]:f,N=e===d.User?w:h??"";return r`<div class=${l(c.nestedInput)}>${this.renderItemHeader(e,S,s,t)}${this.renderInput(e,String(N),s,t)}</div>`}renderItemHeader(e,t,a,n){let s=!this.hasNestedContent||!!n;return r`<div class=${l(c.topRow)}>${this.renderItemHeaderLabel(e,t,n)}${s?this.renderCopyButton(e,a):null}</div>`}renderItemHeaderLabel(e,t,a){let n=e===d.User&&!a;return r`<div class=${l(c.labelContainer)}>${a?null:this.renderExpandCollapseButton()}<calcite-icon .icon=${this.getIcon(a)} scale=s></calcite-icon><span class=${l(c.label)}>${t}</span>${n?this.renderInfoButton():null}</div>`}renderExpandCollapseButton(){let e=this.getUIDataItem()?.expanded?u.Expanded:u.Collapsed;return r`<calcite-action @click=${this.handleExpand} .icon=${e} scale=s appearance=transparent text></calcite-action>`}renderInfoButton(){return r`<button id=${this.tipID??g} class=${l(c.infoButton)}><calcite-icon class=${l(c.infoIcon)} .icon=${u.Popover} scale=s></calcite-icon></button>`}renderCopyButton(e,t){return r`<calcite-action class=${l(this.calciteMode)} @click=${this.copySelection.bind(this,e,t)} slot=action .icon=${u.Copy} appearance=transparent text></calcite-action>`}renderInput(e,t,a,n){let s=n??this.setting;return s.type==="string"||s.type==="textarea"?e===d.User?this.renderUserLocaleInput(t,a):this.renderTranslatedLanguageInput(t,a):this.renderTextEditor(t,e,a)}renderUserLocaleInput(e,t){return _(t,r`<calcite-input id=${t??g} class=${l(m.Light)} data-field-name=${this.fieldName??g} .value=${e} @focus=${this.handleSelection} @calciteInputChange=${this.handleUserInputChange} ${$(a=>{a&&(this.userInputs[t]=a)})}></calcite-input>`)}renderTranslatedLanguageInput(e,t){return _(t,r`<calcite-input id=${t??g} class=${l(m.Light)} data-field-name=${this.fieldName??g} .value=${e} @focus=${this.handleSelection} @calciteInputChange=${this.handleTranslatedInputChange} ${$(a=>{a&&(this.translatedInputs[t]=a)})}></calcite-input>`)}renderTextEditor(e,t,a){let n={toolbar:[]};return r`<instant-apps-ckeditor-wrapper id=${a??g} @dataChanged=${this.handleTextEditorDataChange.bind(this,t)} @isFocused=${this.handleSelection} .value=${e??""} data-field-name=${this.fieldName??g} .config=${n} ${$(this.setEditor.bind(this,t))}></instant-apps-ckeditor-wrapper>`}};y("instant-apps-language-translator-item",b);return b},a,b)
2
+ import b from"./6TCJ2NKA.js";import a from"./AGMFVUEV.js";import{a as _}from"./WUJQ6R2U.js";import{b as y}from"./OR5M4R6K.js";import"./7UVBIBQS.js";import{F as $,G as T,I as l,K as g,h as C,i as r,q as x,t as L}from"./MRGCC5C4.js";import"./QPIMTXPL.js";export default $arcgis.t(([,{a:d,b:v,c:u,d:m,e:I,f:i,h:E,i:D,k:U}])=>{var R=C`@layer{.instant-apps-language-translator-item{display:flex}.instant-apps-language-translator-item__section{padding:10px;border-bottom:1px solid var(--calcite-color-border-1);background-color:var(--calcite-color-foreground-2);width:49%}.instant-apps-language-translator-item__section .instant-apps-language-translator-item__top-row{display:flex;align-items:center;justify-content:space-between}.instant-apps-language-translator-item__section .instant-apps-language-translator-item__label-container{display:flex;align-items:center}.instant-apps-language-translator-item__section .instant-apps-language-translator-item__label{display:inline-block;margin-left:10px;font-size:14px;font-weight:var(--calcite-font-weight-medium)}.instant-apps-language-translator-item__section calcite-input{margin-top:10px;margin-left:55px}.instant-apps-language-translator-item__section--last-item{border-bottom:none}.instant-apps-language-translator-item__section--selected{background-color:#f1faff}.instant-apps-language-translator-item__section:first-child{margin-right:1%}.instant-apps-language-translator-item__ui-location-popover-content{display:inline-block;padding:10px;max-width:400px}.instant-apps-language-translator-item__ui-location-items{display:flex}.instant-apps-language-translator-item__ui-location-item{display:flex;align-items:center;font-weight:var(--calcite-font-weight-medium);font-size:14px}.instant-apps-language-translator-item__tip{display:inline-block;font-size:14px;line-height:22px}.instant-apps-language-translator-item__info-icon{color:var(--calcite-color-brand)}.instant-apps-language-translator-item__info-button{border:0;background-color:transparent;cursor:pointer}.instant-apps-language-translator-item__nested-input{margin-left:60px;margin-top:8px}.instant-apps-language-translator-item__nested-input calcite-input{margin-left:30px}.calcite-mode-dark .instant-apps-language-translator-item__section--selected{background-color:var(--calcite-color-brand);color:var(--calcite-color-text-inverse)}.calcite-mode-dark .instant-apps-language-translator-item__section--selected calcite-action{--calcite-icon-color: var(--calcite-color-text-inverse)}.calcite-mode-dark .instant-apps-language-translator-item__section--selected calcite-icon{color:var(--calcite-color-text-inverse)}.instant-apps-language-translator--last-item .instant-apps-language-translator-item__section{border-bottom:none}}`,p="instant-apps-language-translator-item",c={section:`${p}__section`,selected:`${p}__section--selected`,topRow:`${p}__top-row`,labelContainer:`${p}__label-container`,label:`${p}__label`,uiLocationPopoverContent:`${p}__ui-location-popover-content`,uiLocationItems:`${p}__ui-location-items`,uiLocationItem:`${p}__ui-location-item`,infoIcon:`${p}__info-icon`,infoButton:`${p}__info-button`,tip:`${p}__tip`,nestedInput:`${p}__nested-input`},b=class extends T{constructor(){super(...arguments),this.userInputs={},this.translatedInputs={},this.translatorItemDataUpdated=x()}static{this.properties={fieldName:1,translatedLanguageLabels:0,setting:0,userLocaleInputOnChangeCallback:0,translatedLocaleInputOnChangeCallback:0}}static{this.styles=R}static{this.shadowRootOptions=L}get isTextEditor(){return this.setting.type===v.TextEditor}get calciteMode(){return U()?m.Dark:m.Light}get hasNestedContent(){return!!this.setting?.content}get tipID(){return`${this.fieldName}goTo`}loaded(){this.isTextEditor&&i.onChange("uiData",()=>this.handleEditorCollapse())}handleInputRender(e,t,a){return this.getUIDataItem()?.expanded?this.hasNestedContent?this.renderNestedInputs(e):this.renderInput(e,t,a):null}getUIDataItem(){if(I.uiData)return I.uiData.get(this.fieldName)}updateT9nStore(e,t){let a=i.get("currentLanguage"),n={[e]:t},s=D(a,n);i.set("portalItemResourceT9n",s)}handleExpand(){let e=this.getUIDataItem();e.expanded=!e.expanded;let t=new Map(I.uiData);t.set(this.fieldName,e),i.set("uiData",t)}handleEditorCollapse(){if(!i.get("uiData")?.get(this.fieldName)?.expanded&&this.userEditorWrapper?.editorInstance&&this.translatedEditorWrapper?.editorInstance){let{userEditorWrapper:e,translatedEditorWrapper:t}=this,a=e.editorInstance.getData();e.value=a;let n=t.editorInstance.getData();t.value=n,e.editorInstance.destroy(),t.editorInstance.destroy()}}handleSelection(e){let t=new Map(I.uiData),a=E();a.forEach(n=>{let s=t?.get(n);s.selected=!1}),a.forEach(n=>{let s=e?.target?.getAttribute("data-field-name");if(n===s){let o=t?.get(n);o.selected=!0}}),i.set("uiData",t)}getUILocation(){let e=this.getUIDataItem(),{uiLocation:t,userLocaleData:a}=e,{section:n,subsection:s}=t,o=[n.label,s.label,a.label].filter(h=>!!h);return o.map((h,f)=>r`<span class=${l(c.uiLocationItem)}><span>${h}</span>${f!==o.length-1?r`<calcite-icon icon=chevron-right scale=s></calcite-icon>`:null}</span>`)}getTip(){let e=this.getUIDataItem(),{tip:t}=e;return t}copySelection(e,t){this.setting.type===v.TextEditor?this.copyTextEditorContent(e):this.copyCalciteInputContent(t,e)}copyTextEditorContent(e){let t=e===d.User?this.userEditorWrapper?.editorInstance:this.translatedEditorWrapper?.editorInstance,a=50;setTimeout(()=>{this.selectContent(t),setTimeout(()=>this.selectContent(t),a)},a),this.copyContent(t)}selectContent(e){e.editing.view.focus();let{model:t}=e,a=t.document.getRoot();if(a){let n=t.createRangeIn(a);t.change(s=>s.setSelection(n))}}copyContent(e){let t=e.getData(),a=document.createElement("div");a.contentEditable="true",a.innerHTML=t,document.body.appendChild(a);let n=document.createRange();n.selectNodeContents(a);let s=window.getSelection();s?.removeAllRanges(),s?.addRange(n),document.execCommand("copy"),document.body.removeChild(a)}copyCalciteInputContent(e,t){let a=t===d.User?this.userInputs[e]:this.translatedInputs[e];if(a){a.selectText();let n=a.value;navigator.clipboard.writeText(n)}}setEditor(e,t){t&&(e===d.User?this.userEditorWrapper=t:this.translatedEditorWrapper=t)}async handleUserInputChange(e){i.set("saving",!0);try{let t=e.target,a=t.id,n=t.value,s=this.getUIDataItem();s.userLocaleData.value=n,await this.userLocaleInputOnChangeCallback(a,n),i.set("saving",!1)}catch{i.set("saving",!1)}}async handleUserTextEditorChange(e){i.set("saving",!0);try{let t=e.detail,a=e.target.id,n=this.getUIDataItem();n.userLocaleData.value=t,await this.userLocaleInputOnChangeCallback(a,t),i.set("saving",!1)}catch{i.set("saving",!1)}}async handleTranslatedInputChange(e){i.set("saving",!0);try{let t=e.composedPath()[0],a=t.id;this.updateT9nStore(a,t.value);let{locale:n,resource:s}=this.getTranslatedLocaleCallbackData(),o=e.target.value;await this.translatedLocaleInputOnChangeCallback(a,o,n,s),setTimeout(()=>i.set("saving",!1),1500),this.translatorItemDataUpdated.emit()}catch(t){console.error("Error writing to portal item resource: ",t),i.set("saving",!1)}}async handleTranslatedTextEditorChange(e){i.set("saving",!0);try{let t=e.target.id;this.updateT9nStore(t,e.detail);let{locale:a,resource:n}=this.getTranslatedLocaleCallbackData(),s=e.detail;await this.translatedLocaleInputOnChangeCallback(t,s,a,n),setTimeout(()=>i.set("saving",!1),1500),this.translatorItemDataUpdated.emit()}catch(t){console.error("Error writing to portal item resource: ",t),i.set("saving",!1)}}handleTextEditorDataChange(e,t){e===d.User?this.handleUserTextEditorChange(t):this.handleTranslatedTextEditorChange(t)}getTranslatedLocaleCallbackData(){let e=i.get("currentLanguage"),t=i.get("portalItemResource");return{locale:e,resource:t}}getIcon(e){switch((e??this.setting).stringType){case"title":return u.Title;case"subtitle":return u.Subtitle;case"text":return u.Text;case"button":return u.Button;case"string":return u.String;default:return u.SettingIndicator}}render(){return"content"in this.setting&&this.setting.content?.every(e=>e?.content?.length===0)?(this.el.classList.remove(this.calciteMode),""):(this.el.classList.add(this.calciteMode),r`${this.renderBase()}${this.renderPopover()}`)}renderBase(){return r`<div class=${l(p)}>${this.renderUserLocaleSection()}${this.renderTranslatedLanguageSection()}</div>`}renderPopover(){let e=this.getTip();return r`<calcite-popover .referenceElement=${this.tipID} label auto-close placement=trailing closable><span class=${l(c.uiLocationPopoverContent)}><span class=${l(c.uiLocationItems)}>${this.getUILocation()}</span>${e?r`<span class=${l(c.tip)}>${e}</span>`:null}</span></calcite-popover>`}renderUserLocaleSection(){let e=this.getUIDataItem(),t=e?.userLocaleData,a=e?.selected?` ${c.selected}`:"",n=t?.label,s=t?.value,o=this.setting.id;return r`<div class=${`${c.section}${a}`}>${this.renderItemHeader(d.User,n,o)}${this.handleInputRender(d.User,s,o)}</div>`}renderTranslatedLanguageSection(){let e=this.getUIDataItem(),t=this.setting.id,a=i.get("currentLanguage"),n=i.get("portalItemResourceT9n"),s=this.translatedLanguageLabels?.[this.fieldName],o=typeof n=="object"&&n!==null&&a in n&&typeof n!="number"&&!Array.isArray(n)?String(n[a]?.[t]??""):"",h=e?.selected?` ${c.selected}`:"";return r`<div class=${`${c.section}${h}`}>${this.renderItemHeader(d.Translation,s,t)}${this.handleInputRender(d.Translation,o,t)}</div>`}renderNestedInputs(e,t){let a=t??this.setting,{content:n}=a;return n?.map(s=>"content"in s?this.renderNestedInputs(e,s):this.renderNestedInput(e,s)).filter(s=>s!==void 0)}renderNestedInput(e,t){let a=i.get("currentLanguage"),n=i.get("portalItemResourceT9n"),s=t?.id,o=n?.[a],h=typeof o=="object"&&o!==null?o[s]:void 0,{label:f,value:w,id:k}=t,S=e===d.Translation?this.translatedLanguageLabels?.[k]:f,N=e===d.User?w:h??"";return r`<div class=${l(c.nestedInput)}>${this.renderItemHeader(e,S,s,t)}${this.renderInput(e,String(N),s,t)}</div>`}renderItemHeader(e,t,a,n){let s=!this.hasNestedContent||!!n;return r`<div class=${l(c.topRow)}>${this.renderItemHeaderLabel(e,t,n)}${s?this.renderCopyButton(e,a):null}</div>`}renderItemHeaderLabel(e,t,a){let n=e===d.User&&!a;return r`<div class=${l(c.labelContainer)}>${a?null:this.renderExpandCollapseButton()}<calcite-icon .icon=${this.getIcon(a)} scale=s></calcite-icon><span class=${l(c.label)}>${t}</span>${n?this.renderInfoButton():null}</div>`}renderExpandCollapseButton(){let e=this.getUIDataItem()?.expanded?u.Expanded:u.Collapsed;return r`<calcite-action @click=${this.handleExpand} .icon=${e} scale=s appearance=transparent text></calcite-action>`}renderInfoButton(){return r`<button id=${this.tipID??g} class=${l(c.infoButton)}><calcite-icon class=${l(c.infoIcon)} .icon=${u.Popover} scale=s></calcite-icon></button>`}renderCopyButton(e,t){return r`<calcite-action class=${l(this.calciteMode)} @click=${this.copySelection.bind(this,e,t)} slot=action .icon=${u.Copy} appearance=transparent text></calcite-action>`}renderInput(e,t,a,n){let s=n??this.setting;return s.type==="string"||s.type==="textarea"?e===d.User?this.renderUserLocaleInput(t,a):this.renderTranslatedLanguageInput(t,a):this.renderTextEditor(t,e,a)}renderUserLocaleInput(e,t){return _(t,r`<calcite-input id=${t??g} class=${l(m.Light)} data-field-name=${this.fieldName??g} .value=${e} @focus=${this.handleSelection} @calciteInputChange=${this.handleUserInputChange} ${$(a=>{a&&(this.userInputs[t]=a)})}></calcite-input>`)}renderTranslatedLanguageInput(e,t){return _(t,r`<calcite-input id=${t??g} class=${l(m.Light)} data-field-name=${this.fieldName??g} .value=${e} @focus=${this.handleSelection} @calciteInputChange=${this.handleTranslatedInputChange} ${$(a=>{a&&(this.translatedInputs[t]=a)})}></calcite-input>`)}renderTextEditor(e,t,a){let n={toolbar:[]};return r`<instant-apps-ckeditor-wrapper id=${a??g} @dataChanged=${this.handleTextEditorDataChange.bind(this,t)} @isFocused=${this.handleSelection} .value=${e??""} data-field-name=${this.fieldName??g} .config=${n} ${$(this.setEditor.bind(this,t))}></instant-apps-ckeditor-wrapper>`}};y("instant-apps-language-translator-item",b);return b},a,b)
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import b from"./U4ZLSRR7.js";import a from"./C6JAM52C.js";import"./2B4SGB3I.js";import"./RUHBLPYT.js";import"./HE2XAIDT.js";import"./Q5ZGIKBW.js";import"./OQH2TBQQ.js";import"./3LTRULIX.js";import"./TEHBW75B.js";import"./YFXSWGXE.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./YKB6256M.js";import"./JBNWEBAG.js";import"./5HZMUGQD.js";import"./5VDDAINK.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./N2KSPEVT.js";import"./GF4QELNV.js";import"./XQQ52NKX.js";import"./JUUVYK2H.js";import"./DKD2EGQP.js";import"./5O53T3SW.js";import"./AJZDBHB6.js";import"./FES7B3SJ.js";import"./FCSE4STJ.js";import"./P4PCDUNA.js";import"./QPIMTXPL.js";export default $arcgis.t(([,a])=>{return a},a,b)
2
+ import b from"./2C4TQJVZ.js";import a from"./4GJHDLZU.js";import"./2B4SGB3I.js";import"./TFINIJHF.js";import"./HE2XAIDT.js";import"./HO5JGUUI.js";import"./CR7KUQQF.js";import"./7UVBIBQS.js";import"./TEHBW75B.js";import"./YFXSWGXE.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./YKB6256M.js";import"./JBNWEBAG.js";import"./5HZMUGQD.js";import"./5VDDAINK.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./N2KSPEVT.js";import"./GF4QELNV.js";import"./XQQ52NKX.js";import"./JUUVYK2H.js";import"./DKD2EGQP.js";import"./5O53T3SW.js";import"./AJZDBHB6.js";import"./FES7B3SJ.js";import"./JSJYFWT6.js";import"./MRGCC5C4.js";import"./QPIMTXPL.js";export default $arcgis.t(([,a])=>{return a},a,b)
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"./VBWAOJWD.js";import{a as H}from"./YOPFAHBT.js";import d from"./C6JAM52C.js";import c from"./CEP54NLT.js";import a from"./YVNP437O.js";import{a as S}from"./Q5ZGIKBW.js";import{b as E}from"./FCSE4STJ.js";import{E as g,F as f,G as x,I as b,h as v,i as o,l as _,q as p,t as T}from"./P4PCDUNA.js";export default $arcgis.t(([L,c,M,w,{c:O},{c:C,d:A,j:y},{F:F,i:m},{b:$}])=>{var R=v`@layer{:host{display:block}.height-full{height:100%}.height-full-adjusted{height:calc(100% - 20px)}.width-full{width:100%}.display-flex{display:flex}.display-none{display:none}.table-border{border:1px solid var(--calcite-color-border-2)}.border-end{border-inline-end:1px solid var(--calcite-color-border-2)}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.padding-5{padding:5px}.padding-end-1{padding-inline-end:1rem}.height-51-px{height:51px}.height-50-px{height:50px}.bottom-left{position:absolute;left:0;bottom:0;padding-left:5px}html[dir=rtl] .bottom-left{position:absolute;right:0;bottom:0;padding-right:5px}.height-19{height:19px}.background{background-color:var(--calcite-color-surface-1)}.text-color{color:var(--calcite-color-text-1)}.align-center{align-items:center}.danger-color{color:var(--calcite-color-status-danger)}.esri-feature-table vaadin-grid{border:none!important}vaadin-grid-cell-content{font-size:14px!important;color:var(--calcite-color-text-3)!important}.absolute-right{position:absolute;right:0;left:unset}html[dir=rtl] .absolute-right{left:0;right:unset}.disabled{cursor:default!important;user-select:none;opacity:var(--calcite-opacity-disabled);pointer-events:none}.actions-end{height:50px!important;display:inline-flex}.border-top{border-top:1px solid var(--calcite-color-border-2)}.modal{--calcite-dialog-content-space: 0}.esri-feature-table__table-container{height:100%}.search-container{background-color:var(--calcite-color-surface-2)!important}.search{--calcite-color-border-input: var(--calcite-color-border-3);width:60%;padding:10px}.delete-red{--calcite-icon-color: var(--calcite-color-status-danger);--calcite-color-text-1: var(--calcite-color-status-danger);--calcite-color-text-3: var(--calcite-color-status-danger)}.label-override{white-space:nowrap}.padding-start-1-4{padding-inline-start:.5rem}.panel-header-override{--calcite-panel-header-content-space: 0px}.danger-label-color{color:var(--calcite-color-status-danger)}.danger-icon-color{--calcite-icon-color: var(--calcite-color-status-danger)}.width-51{width:51px}.height-51{height:51px}calcite-action-bar{--calcite-internal-action-bar-gap: 0px;--calcite-internal-action-bar-padding: 0px}}`,I=class extends x{constructor(){super(),this.defaultGlobalId=[],this.defaultLayerId="",this.defaultOid=[],this.enableAutoRefresh=!1,this.enableColumnReorder=!0,this.enableCSV=!1,this.enableInlineEdit=!1,this.enableShare=!1,this.enableTableAutosave=!0,this.featureSelectionMode="multiple",this.selectedRelatedIds=[],this.honorMapFieldSettings=!1,this.isMobile=!1,this.mapHidden=!1,this.showOnlyUpdatableLayers=!1,this.selectedIds=[],this.shareIncludeEmbed=!1,this.shareIncludeSocial=!1,this.showNewestFirst=!1,this.zoomAndScrollToSelected=!1,this._allIds=[],this._configLayerOrderDefined=!1,this._csvExporting=!1,this._fetchingData=!1,this._hideTable=!1,this._filterActive=!1,this._selectAllActive=!1,this._showHideOpen=!1,this._showOnlySelected=!1,this._toolInfos=[],this._translations=S({name:"layer-table",blocking:!0}),this._fullTextSearchInfo=[],this._searchPlaceHolder="",this._size=0,this._queryingData=!1,this._editEnabled=!1,this._enabledLayerIds=[],this._defaultGlobalIdHonored=!1,this._defaultOidHonored=!1,this._deleteEnabled=!1,this._floorExpression="",this._floorField="",this._floorLevel="",this._loaded=!1,this._shareNode=g(),this._toolbar=g(),this._searchExpression="",this._skipEditCheck=!1,this._tempSelectedIds=[],this._outOFExtentOids=[],this._shouldUpdateTableOnExtentChange=!0,this._creatingFeature=!1,this._searchNode=g(),this.columnReorder=p(),this.featureSelectionChange=p(),this.toggleFilter=p(),this.showDelete=p(),this.relatedRecordToggled=p(),this.editMultipleFeatures=p(),this.listenOn(window,"beforeMapInfoChange",this.beforeMapInfoChange,{capture:!0}),this.listenOn(window,"editorInitialized",this.editorInitialized),this.listenOn(window,"closeEdit",this.closeEdit),this.listenOn(window,"selectionChanged",this.selectionChanged),this.listenOn(window,"beforeLayerSelectionChange",this.beforeLayerSelectionChange),this.listenOn(window,"layerSelectionChange",this.layerSelectionChange),this.listenOn(window,"editsComplete",this.editsComplete),this.listenOn(window,"facilityChanged",this.facilityChanged),this.listenOn(window,"levelChanged",this.levelChanged),this.listenOn(window,"siteChanged",this.siteChanged),this.listenOn(window,"noLayersFound",this.noLayersFound),this.listenOn(window,"clearSelection",this.clearSelection),this.listenOn(window,"mapChanged",this.mapChanged),this.listenOn(window,"featuresSelected",this.featuresSelected),this.listenOn(window,"createWorkFlowStarted",this.createWorkFlowStarted),this.listenOn(window,"backFromCreateWorkFlow",this.backFromCreateWorkFlow),H(window)}static{this.properties={appLayout:1,defaultGlobalId:0,defaultLayerId:1,defaultOid:0,enableAutoRefresh:5,enableColumnReorder:5,enableCSV:5,enableInlineEdit:5,enableShare:5,enableTableAutosave:5,featureSelectionMode:1,selectedRelatedIds:0,honorMapFieldSettings:5,isMobile:5,mapHidden:5,mapInfo:0,mapView:0,showOnlyUpdatableLayers:5,selectedIds:0,shareIncludeEmbed:5,shareIncludeSocial:5,showNewestFirst:5,zoomAndScrollToSelected:5,zoomToScale:9,_allIds:16,_configLayerOrderDefined:16,_csvExporting:16,_fetchingData:16,_hideTable:16,_filterActive:16,_layer:16,_selectAllActive:16,_showHideOpen:16,_showOnlySelected:16,_toolInfos:16,_translations:16,_fullTextSearchInfo:16,_searchPlaceHolder:16,_size:16,_queryingData:16}}static{this.styles=R}static{this.shadowRootOptions=T}willUpdate(e){if(e.has("appLayout")&&this.appLayoutWatchHandler(),e.has("defaultOid")&&this.defaultOidWatchHandler(),e.has("defaultGlobalId")&&this.defaultGlobalIdWatchHandler(),e.has("enableCSV")&&this.enableCSVWatchHandler(),e.has("enableInlineEdit")&&this.enableInlineEditWatchHandler(),e.has("mapHidden")&&this.mapHiddenWatchHandler(),e.has("isMobile")&&this.isMobileWatchHandler(),e.has("mapInfo")&&this.mapInfoWatchHandler(),e.has("mapView")&&this.mapViewWatchHandler(),e.has("_layer")&&this._layerWatchHandler(),e.has("selectedIds")&&(this.hasUpdated||JSON.stringify(e.get("selectedIds"))!==JSON.stringify(this.selectedIds))&&this.selectedIdsWatchHandler(),e.has("selectedRelatedIds")&&(this.hasUpdated||JSON.stringify(e.get("selectedRelatedIds"))!==JSON.stringify(this.selectedRelatedIds))&&this.selectedRelatedIdsWatchHandler(),e.has("enableTableAutosave")&&this.hasUpdated&&this._table&&(this._table.autoSaveEnabled=this.enableTableAutosave),e.has("_translations")){let t=this._translations._lang,i=e.get("_translations")?._lang;t&&i&&t!==i&&this._initToolInfos()}}async appLayoutWatchHandler(){await this._initToolInfos(),this._updateShareUrl()}async defaultOidWatchHandler(){await this._handleDefaults()}async defaultGlobalIdWatchHandler(){await this._handleDefaults()}async enableCSVWatchHandler(){this._toolInfos?.length>0&&await this._initToolInfos()}enableInlineEditWatchHandler(){this._table&&(this._table.editingEnabled=this._editEnabled&&this.enableInlineEdit)}async mapHiddenWatchHandler(){this._toolInfos?.length>0&&await this._initToolInfos()}async isMobileWatchHandler(){!this._toolInfos&&!this.isMobile&&await this._initToolInfos()}async mapInfoWatchHandler(){this._configLayerOrderDefined="configLayerOrder"in(this.mapInfo?.layerOptions||{}),this._enabledLayerIds=F(this.mapInfo?.layerOptions?.layers||[],this.mapInfo?.layerOptions?.configLayerOrder),this._table&&(this._resetColumnTemplates(),this._sortTable(),await this._initToolInfos())}async mapViewWatchHandler(){this._mapClickHandle&&this._mapClickHandle.remove(),this.mapView&&(this._floorExpression="",this._searchExpression="undefined",this.mapView.highlights=[{name:"default",color:"#00FFFF"},{name:"current-selection",color:"#ff00ff"},{name:"temporary",color:"#FFFF00"}],this._updateShareUrl(),this._mapClickHandle=c.on(()=>this.mapView,"click",e=>{this._creatingFeature||this._mapClicked(e)}))}async _layerWatchHandler(){if(this._hideTable=!1,this._fetchingData=!0,!this._layer){this._fetchingData=!1,this._hideTable=!0;return}try{await this._layer.when(),this._floorField=this._layer.floorInfo?.floorField||"",this._updateFloorDefinitionExpression(),await this._resetTable(),this._updateShareUrl()}catch(e){console.error(e),this._hideTable=!0}finally{this._fetchingData=!1}}async selectedIdsWatchHandler(){this._updateShareUrl(),this._validateEnabledActions(),this._selectAllActive&&this.selectedIds.length!==this._allIds.length&&(this._selectAllActive=!1),this.selectedIds.length>0&&(this._table.rowHighlightIds.removeAll(),this._table.rowHighlightIds.add(this.selectedIds[0])),this.selectedIds.length===0&&setTimeout(()=>{this.featureSelectionChange.emit(this.selectedIds)},700)}async selectedRelatedIdsWatchHandler(){this._validateEnabledActions(),this.selectedRelatedIds.length>0&&(this._relatedFeatureTable?.rowHighlightIds.removeAll(),this._relatedFeatureTable?.rowHighlightIds.add(this.selectedRelatedIds[0]))}async closeFilter(){await this._closeFilter()}async filterReset(){this._filterByExtentHandle&&(this._table&&(this._table.filterGeometry=void 0),this._filterByExtentHandle.remove(),this._filterByExtentHandle=void 0),await this._handleFilterListReset()}async filterUpdate(e,t){await this._handleFilterUpdate(e),t?(this._shouldUpdateTableOnExtentChange=!0,this._handleTableOnMapExtent()):t===!1&&(this._table&&(this._table.filterGeometry=void 0),this._filterByExtentHandle?.remove(),this._filterByExtentHandle=void 0,await this._updateAllIds())}async validateTableUpdate(e){this._shouldUpdateTableOnExtentChange=e}async validateActiveEdits(){return this._validateActiveEdits([],this.selectedIds)}async refresh(){this._table&&await this._refresh()}async setColumnOrder(e){this._setColumnTemplates(e)}async beforeMapInfoChange(e){let t=e.detail.ref,i=e.detail.mapInfo;if(this._hasPendingEdits()){e.preventDefault();let s=await this._validateActiveEdits([],this.selectedIds);await t.setMapByID(s?i.id:e.detail.currentId,!s)}}async editorInitialized(e){this._shouldUpdateTableOnExtentChange=!1,this._editor=e.detail}async closeEdit(){this._shouldUpdateTableOnExtentChange=!0,this._filterByExtentHandle&&this._handleTableOnMapExtent()}async selectionChanged(e){let t=e.detail.selectedFeature[0],i=Number(t.getObjectId()),s=this._table;if(s.rowHighlightIds.length&&s.rowHighlightIds.removeAll(),s.rowHighlightIds.add(i),this._highlightFeatures(i),this.zoomAndScrollToSelected&&s&&this.mapView){let a=s.viewModel.getObjectIdIndex(i);s.scrollToIndex(a);let l=t.layer,h=this.mapView.allLayerViews.toArray(),n;h.some(async r=>r.layer.title===l?.title&&r.layer.type==="feature"?(n=r,this.mapView&&await y([i],n,this.mapView,!0,void 0,this.zoomToScale),!0):!1)}}async beforeLayerSelectionChange(e){if(this._hasPendingEdits()){e.preventDefault();let t=e.detail.ref,i=await this._validateActiveEdits([],this.selectedIds);return e.detail.selectedIds?await t.setLayerByIds(i?e.detail.newIds:e.detail.currentIds,!0):await t.setLayerById(i?e.detail.newId:e.detail.currentId,!0)}}async layerSelectionChange(e){await this._layerSelectionChanged(e)}async editsComplete(e){let t=e.detail;(t==="delete"||t==="add")&&(this._allIds=await this.queryAllIds()),await this._refresh()}async facilityChanged(e){this._updateFloorDefinitionExpression()}async levelChanged(e){this._floorLevel=e.detail,this._updateFloorDefinitionExpression()}async siteChanged(e){this._updateFloorDefinitionExpression()}async noLayersFound(){this._layer=void 0,this._allIds=[],this._size=0,this._clearSelection()}async clearSelection(){await this._validateActiveEdits([],this.selectedIds)&&this._clearSelection()}async mapChanged(){this._queryingData=!1,this._creatingFeature=!1,this._clearSelection()}async featuresSelected(e){e.detail.forEach(t=>{let i=this._table?.highlightIds.indexOf(t);i&&i<0&&this._table?.highlightIds.add(t)})}createWorkFlowStarted(){this._creatingFeature=!0}backFromCreateWorkFlow(){this._creatingFeature=!1}async load(){await this._initToolInfos()}render(){let e=this._fetchingData||this._hideTable?"display-none":"",t=this._fetchingData?"":"display-none",i=this._queryingData?"":"display-none",s=this._size.toString(),a=this.selectedIds.length.toString(),l=this.isMobile?"height-full":"height-full-adjusted",h=this._canShowFullTextSearch();return this._validateActiveActions(),o`<div><calcite-scrim class=${b(i)} .loading=${this._queryingData}></calcite-scrim><calcite-shell><div class=${`width-full ${l}`}><calcite-panel class="height-full width-full panel-header-override">${this._getMapLayerPicker("header-actions-start")}${!this.isMobile&&o`${this._getTableControlRow("header-content")}${this._getActionsEnd("header-actions-end")}`||""}${h&&o`<div class="search-container border-bottom"><calcite-input class=search clearable icon=search @calciteInputChange=${n=>{this._searchTextChanged(n)}} .placeholder=${this._searchPlaceHolder} title=${this._searchPlaceHolder??_} type=search ${f(this._searchNode)}></calcite-input></div>`||""}<calcite-loader class=${b(t)} .label=${this._translations.fetchingData} scale=l></calcite-loader><div class=${b(e)} ${f(this.onTableNodeCreate)}></div></calcite-panel></div>${this.isMobile?void 0:o`<div class="bottom-left text-color height-19" id=solutions-selected-count-div>${(this._translations.recordsTotal?.replace("{{total-number-of-records}}",s)+" | "+this._translations.recordsSelected.replace("{{selected-number-of-records}}",a)).replace("{{total}}",s).replace("{{selected}}",a)}</div>`}</calcite-shell></div>`}updated(){this._table&&this.updateRelatedAttachmentColumns()}async _searchTextChanged(e){this._fullTextSearchInfo.forEach(t=>{t.searchTerm=e.target.value}),this._searchFullText()}async _searchFullText(){let e=[],t=!1;if(this._showOnlySelected)e=this._tempSelectedIds,t=!0;else if(await this._validateActiveEdits([],this.selectedIds))this._clearSelection(),this._tempSelectedIds=[];else return;this._searchExpression&&this._clearSearchDefinitionExpression();let i=[];if(this._fullTextSearchInfo?.length&&this._fullTextSearchInfo[0].searchTerm){let s=this._layer?.createQuery();s.fullText=this._fullTextSearchInfo,i=this._layer?await this._layer.queryObjectIds(s):[],t&&e?.length&&(i=i.filter(a=>e.includes(a))),await this._updateSearchDefinitionExpression(i?.length?i:[-1])}t&&i?.length&&(this._showOnlySelected=!0,this._table?.highlightIds.addMany(i.reverse())),await new Promise(s=>setTimeout(s,800)),await this._updateAllIds()}_clearSearchDefinitionExpression(){let e=this._layer?.definitionExpression;this._searchExpression&&e&&e?.indexOf(this._searchExpression)>-1&&this._layer&&(e?.indexOf(" AND ("+this._searchExpression)>-1?this._layer.definitionExpression=e.replace(` AND (${this._searchExpression})`,""):this._layer.definitionExpression=e.replace(this._searchExpression,"")),this._searchExpression=""}async _updateSearchDefinitionExpression(e){let t=this._layer?.definitionExpression;if(this._layer)if(e?.length){let i=`objectId in(${e})`;this._layer.definitionExpression=this._searchExpression&&t&&t.includes(this._searchExpression)?t.replace(this._searchExpression,i):t?`${t} AND (${i})`:i,this._searchExpression=i}else this._clearSearchDefinitionExpression()}_canShowFullTextSearch(){return this._layer?.capabilities?.query?.supportsFullTextSearch&&this._layer.indexes.items.filter(e=>e.indexType=="FullText").length>0}_getFullTextSearchInfo(){if(this._fullTextSearchInfo=[],this._layer?.capabilities?.query?.supportsFullTextSearch){let e=this._layer.indexes?.filter(t=>t.indexType=="FullText");if(e?.length){let t=[];e.forEach(s=>{t.push(...s.fields.split(","))});let i=[];t.forEach(s=>{let a=this._layer?.getField(s.trim());a?.alias&&i.push(a.alias)}),this._searchPlaceHolder=this._translations.searchPlaceholder.replace("{{field_names}}",i.join(", ")),this._fullTextSearchInfo.push({onFields:["*"],searchTerm:"",searchType:"prefix"})}}}_getMapLayerPicker(e){let t=this.isMobile?"display-none":"";return o`<div class=${`border-end ${t}`} id=solutions-map-layer-picker-container slot=${e??_}><map-layer-picker appearance=transparent .configLayerOrderDefined=${this._configLayerOrderDefined} .defaultLayerId=${this.defaultLayerId} display=inline-flex .enabledLayerIds=${this._enabledLayerIds} height=50 .isMobile=${this.isMobile} .mapView=${this.mapView} .showOnlyUpdatableLayers=${this.showOnlyUpdatableLayers} placeholder-icon=layers scale=l .selectedIds=${this._layer?[this._layer?.id]:[]} show-single-layer-as-label show-tables type=dropdown></map-layer-picker></div>`}_getLayerOption(e){let t;return this.mapInfo?.layerOptions?.layers.some(i=>i.id===e?(t=i,!0):!1),t}_getActionsEnd(e){let t=this._relatedFeatureTable?this._relatedFeatureTable.layer:this._layer,i=this._relatedFeatureTable||this._table,s=this._getLayerOption(t?.id||"");return o`<div class="display-flex" slot=${e??_}><field-selection .configExtraFields=${s?.extraFields} .layer=${t} .mapView=${this.mapView} .table=${i} .tableRef=${this.el}></field-selection>${this.enableShare&&!this.isMobile?this._getShare("share"):void 0}</div>`}_getTableControlRow(e){return o`<div class=${"height-51-px width-full display-flex"} slot=${e??_} ${f(this._toolbar)}>${this._getActionBar()}</div>`}_getActionBar(){return o`<calcite-action-bar class=width-full expand-disabled id=${this._getId("bar")??_} layout=horizontal><calcite-action-group>${this.isMobile?void 0:this._getActions()}</calcite-action-group></calcite-action-bar>`}_getActions(){return this._toolInfos?.reduce((e,t)=>(t&&e.push(t.isDanger?this._getDangerAction(t.icon,t.label,t.func,t.disabled):this._getAction(t.active,t.icon,t.indicator,t.label,t.func,t.disabled,!!t.loading,t.toolTip)),e),[])}_validateEnabledActions(){let e=this._getIds().length,t=["zoom-to-object","pencil","trash","erase","selected-items-filter"];this._toolInfos?.forEach(i=>{i&&t.indexOf(i.icon)>-1&&(i.disabled=i.icon==="pencil"?e<2||e>m:e<1,i.toolTip=i.icon==="pencil"?e>m?this._translations.featureEditLimitNotice:this._translations.editMultiple:i.toolTip)})}_validateActiveActions(){let e=["filter","list-check-all","selected-items-filter"];this._toolInfos?.forEach(t=>{t&&e.indexOf(t.icon)>-1&&(t.icon==="filter"&&(t.indicator=this._filterActive),t.icon==="list-check-all"&&(t.active=this._selectAllActive),t.icon==="selected-items-filter"&&(t.active=this._showOnlySelected,t.label=this._showOnlySelected?this._translations.showAll:this._translations.showSelected))})}async _initToolInfos(){let e=this._getIds().length>0,t=this._relatedFeatureTable?this._relatedFeatureTable.layer.isTable:this._layer?.isTable,i=this.featureSelectionMode==="multiple"&&this._layer?.capabilities?.operations.supportsUpdate,s=this._getSelectedIds().length<2||this._getSelectedIds().length>m,a=!this.mapHidden&&!t,l=!this._relatedFeatureTable&&(!this._layer?.isTable||this._hasFilterExpressions()),h=this._featuresEmpty(),n=this.featureSelectionMode==="single",r=this.enableCSV;if(this._relatedFeatureTable){let u=await this._queryRelatedFeatures();r=u&&Object.keys(u).length>0}let d=[];l&&d.push({active:!1,icon:"filter",indicator:!1,label:this._translations.filters,func:()=>this.toggleFilter.emit(),disabled:!1,toolTip:this._translations.filters}),a&&d.push({active:!1,icon:"zoom-to-object",indicator:!1,label:this._translations.zoom,func:()=>this._zoom(),disabled:!e,toolTip:this._translations.zoom}),i&&d.push({active:!1,icon:"pencil",indicator:!1,label:this._translations.editMultiple,func:()=>this.editMultipleFeatures.emit(this._getSelectedIds()),disabled:s,toolTip:this._translations.editMultiple}),this._deleteEnabled&&d.push({active:!1,icon:"trash",indicator:!1,label:this._translations.delete,func:()=>this._showDelete(),disabled:!e,isDanger:!0,toolTip:this._translations.delete}),d.push({active:!1,icon:"erase",indicator:!1,label:this._translations.clearSelection,func:()=>{this.clearSelection()},disabled:!e,toolTip:this._translations.clearSelection}),this._relatedFeatureTable||d.push({active:!1,icon:"selected-items-filter",indicator:!1,label:this._showOnlySelected?this._translations.showAll:this._translations.showSelected,func:()=>this._toggleShowSelected(),disabled:!e,toolTip:this._showOnlySelected?this._translations.showAll:this._translations.showSelected}),!n&&!this._relatedFeatureTable&&d.push({active:!1,icon:"list-check-all",indicator:!1,func:async()=>await this._selectAll(),label:this._translations.selectAll,disabled:h,toolTip:this._translations.selectAll}),!n&&!this._relatedFeatureTable&&d.push({active:!1,icon:"compare",indicator:!1,func:async()=>await this._switchSelected(),label:this._translations.switchSelected,disabled:h,toolTip:this._translations.switchSelected}),d.push({active:!1,icon:"refresh",indicator:!1,func:()=>{this._refresh()},label:this._translations.refresh,disabled:!1,toolTip:this._translations.refresh}),r&&d.push({active:!1,icon:"export",indicator:!1,func:()=>{this._exportToCSV()},label:this._translations.exportCSV,loading:this._csvExporting,disabled:h,toolTip:this._translations.exportCSV}),this._toolInfos=[...d]}_updateFloorDefinitionExpression(){if(this._floorField&&this._floorLevel){let e=`${this._floorField} = '${this._floorLevel}'`,t=this._layer?.definitionExpression;this._layer&&(this._layer.definitionExpression=t&&this._floorExpression&&t?.indexOf(this._floorExpression)>-1?t.replace(this._floorExpression,e):t?`${t} AND (${e})`:e),this._floorExpression=e}}_featuresEmpty(){return this._allIds?.length===0}_hasFilterExpressions(){let e=[],t=this._layer?.id;return this.mapInfo?.filterConfig?.layerExpressions&&t!==void 0&&(e=this.mapInfo.filterConfig.layerExpressions.filter(i=>i.id===t)),e.length>0}_getAction(e,t,i,s,a,l,h,n){let r=this._layer===void 0?!0:l;return o`<calcite-action .active=${e} appearance=solid .disabled=${r} .icon=${t} .id=${`layer-table-${t}`} .indicator=${i} .label=${s} .loading=${h} @click=${a} text text-enabled><div class="display-flex"><span class="label-override padding-start-1-4">${s}</span></div></calcite-action>${this._getToolTip("auto",`layer-table-${t}`,n)}`}_showDelete(){this.showDelete.emit({ids:this._getIds()})}_getShare(e){return o`<div id=${this._getId(e)??_}><instant-apps-social-share class="height-51 width-51 display-flex" .embed=${this.shareIncludeEmbed} flip-rtl popover-button-icon-scale=s scale=m share-button-color=neutral share-button-type=action .socialMedia=${this.shareIncludeSocial} .view=${this.mapView} ${f(this._shareNode)}></instant-apps-social-share>${this._getToolTip("bottom",e,this._translations.share)}</div>`}_updateShareUrl(){let e=this._shareNode.value?.shareUrl;if(!e)return;let t=new URL(e);this.mapInfo?.id?t.searchParams.set("webmap",this.mapInfo.id):t.searchParams.delete("webmap"),this._layer?.id?t.searchParams.set("layer",this._layer.id):t.searchParams.delete("layer"),this.selectedIds?.length>0?t.searchParams.set("oid",this.selectedIds.reverse().join(",")):t.searchParams.delete("oid"),this.appLayout&&t.searchParams.set("applayout",this.appLayout),this.selectedRelatedIds?.length>0&&this._relatedFeatureTable?.layer?.id&&(t.searchParams.set("oid",this.selectedRelatedIds.join(",")),t.searchParams.set("layer",this._relatedFeatureTable?.layer?.id.toString())),this._shareNode.value&&(this._shareNode.value.autoUpdateShareUrl=!1,this._shareNode.value.shareUrl=t.href)}_getToolTip(e,t,i){return o`<calcite-tooltip .placement=${e} .referenceElement=${t}><span>${i}</span></calcite-tooltip>`}_getId(e){return`solutions-action-${e}`}_getDangerAction(e,t,i,s){let a=this._layer===void 0?!0:s;return o`<div class="display-flex" id=${this._getId(e)??_}>${o`<calcite-action appearance=solid .disabled=${a} .id=${`layer-table-${e}`} @click=${i} text><calcite-icon class="danger-icon-color" .icon=${e} scale=s></calcite-icon><span class="label-override padding-start-1-4 danger-label-color">${t}</span></calcite-action>`}${this._getToolTip("bottom",`layer-table-${e}`,t)}</div>`}_getIds(){let e=this._relatedFeatureTable??this._table;return this._relatedFeatureTable&&this._table&&this._table.highlightIds.getItemAt(0)!==this.selectedIds[0]&&(e=this._table),e?.highlightIds.map(t=>Number.parseInt(t.toString(),10)).toArray()??[]}onTableNodeCreate(e){this._tableNode=e}async _getTable(e,t){this._layer&&(await this._layer.when(()=>{this._table=new L({autoRefreshEnabled:this.enableAutoRefresh,autoSaveEnabled:this.enableTableAutosave,layer:this._layer,view:this.mapView,columnReorderingEnabled:this.enableColumnReorder,editingEnabled:this._editEnabled&&this.enableInlineEdit,relatedRecordsEnabled:!0,attachmentsEnabled:!0,highlightEnabled:!1,multiSortEnabled:!1,visibleElements:{columnDescriptions:!1,header:!1,menu:!1,progress:!1},tableTemplate:{columnTemplates:t},container:e})}),await this._table?.when(()=>{this._table?.viewModel.addHandles(this._table.highlightIds.on("change",i=>{this._handleOnChange(i)})),this._table?.viewModel.addHandles(this._table.on("cell-pointerover",this.tempHighlightOnHover.bind(this))),this._table?.viewModel.addHandles(this._table.on("cell-pointerout",this._removeTempHighlight.bind(this))),this._table?.viewModel.addHandles(this._table.on("column-reorder",this._handleColumnReorder.bind(this))),this.listenOn(this._tableNode,"mouseleave",this._removeTempHighlight),this._table?.viewModel.addHandles(c.watch(()=>this._table.size,i=>{this._size=i})),c?.watch(()=>this._table?.relatedTable,async i=>{if(i){if(i.rowHighlightIds.length){let a={added:[i.rowHighlightIds.getItemAt(0)],removed:[]};this._handleOnChange(a)}let s=i.layer;if(this._layerEditHandle=s.on("edits",async()=>{await new Promise(a=>setTimeout(a,50)),await this._refresh(!0)}),this._checkEditEnabled(s),i.editingEnabled=this._editEnabled&&this.enableInlineEdit,i.autoSaveEnabled=this.enableTableAutosave,this._relatedFeatureTable=i,typeof i.layer?.id=="string"&&i.layer?.fields){let a=i.layer.popupTemplate?.fieldInfos,l=this._getColumnTemplates(i.layer.id,i.layer.fields,a);this._relatedFeatureTable.tableTemplate=new w({columnTemplates:l})}i.highlightIds.on("change",a=>{this._handleRelatedRecordsChange(a)})}else{this.selectedRelatedIds=[],this._relatedFeatureTable=void 0,this._layerEditHandle&&this._layerEditHandle.remove();let s=this._layer;this._refresh(),s&&this.relatedRecordToggled.emit(s),this._finishOnChange()}await this._initToolInfos()})}))}async _handleRelatedRecordsChange(e){await this._handleOnChange(e),this._updateShareUrl()}hasAttachmentsEnabled(e){if(!e?.capabilities)return!1;let{capabilities:{data:{supportsAttachment:t},operations:{supportsQueryAttachments:i}}}=e;return t&&i}async _handleOnChange(e){if(!await this._validateActiveEdits([...e.added],[...e.removed]))return;let t=[...this._getIds()],i=this._getSelectedLayer(t);this._relatedFeatureTable&&this._table?.highlightIds.getItemAt(0)!==this.selectedIds[0]&&(i=this._layer,await this._initToolInfos()),i&&this.relatedRecordToggled.emit(i),this.featureSelectionMode==="single"&&(this._relatedFeatureTable&&t.length>1?(this._relatedFeatureTable.highlightIds.remove(t[0]),t.shift()):t.length>1&&!this._selectAllActive&&(this._table?.highlightIds.remove(t[0]),t.shift())),!this._relatedFeatureTable||this._relatedFeatureTable&&this._table?.highlightIds.getItemAt(0)!==this.selectedIds[0]?(this.selectedRelatedIds=[],this.selectedIds=t.reverse(),this._tempSelectedIds=[...this.selectedIds],this._highlightFeatures(this.selectedIds[0])):this.selectedRelatedIds=t.reverse(),this._finishOnChange()}async _validateActiveEdits(e,t){let i=!0;if(this._editor&&!this._skipEditCheck){if(this._hasPendingEdits()){let s=!1;try{this._editor.viewModel.activeWorkflow&&await this._editor.viewModel.activeWorkflow.cancel({force:!1})}catch(a){s=a?.name==="workflow:cancel-denied"}if(s){let a=this._relatedFeatureTable&&this._relatedFeatureTable.highlightIds.length>0?this._relatedFeatureTable:this._table;i=!1,this._skipEditCheck=!0,e.length>0?a?.highlightIds.removeMany(e):t.length>0&&a?.highlightIds.addMany(t)}}}else i=!this._skipEditCheck,this._skipEditCheck=!1;return this._shouldUpdateTableOnExtentChange=i,i}_hasPendingEdits(){let e=this._editor?.viewModel?.hasPendingEdits,t=this._editor?.activeWorkflow?.activeWorkflow?.hasPendingEdits;return e||t}_finishOnChange(){this._showOnlySelected&&!this._relatedFeatureTable&&(this._table&&this._getSelectedIds().length>0?this._table.filterBySelectionEnabled=!0:this._toggleShowSelected());let e=this._getSelectedIds();setTimeout(()=>{this.featureSelectionChange.emit(e)},50)}_handleColumnReorder(){this.columnReorder.emit()}tempHighlightOnHover(e){if(this._removeTempHighlight(),this._selectedLayerView){let t=e.feature;this._temporaryFeatureHandle=this._selectedLayerView?.highlight([t],{name:"temporary"})}}_removeTempHighlight(){this._temporaryFeatureHandle&&this._temporaryFeatureHandle.remove()}_highlightFeatures(e){if(this._clearHighlights(),this.selectedIds.length>0&&this._selectedLayerView&&(this._currentFeatureHighlightHandle=this._selectedLayerView?.highlight([e],{name:"current-selection"}),this.selectedIds.length>1)){let t=this.selectedIds.filter(i=>i!==e);this._defaultFeaturesHandle=this._selectedLayerView?.highlight(t,{name:"default"})}}_clearHighlights(){this._removeTempHighlight(),this._currentFeatureHighlightHandle&&this._currentFeatureHighlightHandle.remove(),this._defaultFeaturesHandle&&this._defaultFeaturesHandle.remove()}_resetColumnTemplates(){if(this._layer){let e=this._layer.popupTemplate?.fieldInfos,t=this._getColumnTemplates(this._layer.id,this._layer.fields,e);t?.length===0?this._tableNode?.classList.add("display-none"):this._tableNode?.classList.remove("display-none");let i=this._table?.tableTemplate?.columnTemplates,s=i&&t&&i.length!==t.length||t?.some((a,l)=>i&&i[l]?JSON.stringify(i[l])!==JSON.stringify(a):!1);if(this._table&&t&&(s||!this._columnsInfo)){this._table.tableTemplate=new w({columnTemplates:t});let a=t.map(l=>l.fieldName);this._initColumnsInfo(a)}}}_setColumnTemplates(e){this._table&&e&&(this._table.tableTemplate=new w({columnTemplates:e}))}async _resetTable(){if(this._loaded=!1,this._clearSelection(),this._allIds=await this.queryAllIds(),!this._table&&this._layer){let e=this._layer.popupTemplate?.fieldInfos,t=this._getColumnTemplates(this._layer.id,this._layer.fields,e);this._tableNode&&await this._getTable(this._tableNode,t)}else this._table&&(this._table.view=this.mapView,this._table.layer=this._layer);await this._initLayerRefresh(),this._checkEditEnabled(this._layer),this._table&&(this._table.editingEnabled=this._editEnabled&&this.enableInlineEdit,this._table.autoSaveEnabled=this.enableTableAutosave,await this._table.when(),setTimeout(()=>{this._loaded||this.finishLoading()},1e3),await c.once(()=>this._table?.state==="loaded").then(async()=>{await this.finishLoading()}))}async finishLoading(){try{this._loaded=!0,this._table?.highlightIds.removeAll(),this._table.objectIds.removeAll(),this._resetColumnTemplates(),this._showOnlySelected=!1,await this._handleDefaults(),await this._sortTable(),await this._initToolInfos(),["esri-feature-table","esri-widget"].forEach(e=>{this._tableNode&&!this._tableNode.classList.contains(e)&&this._tableNode.classList.add(e)})}catch(e){console.log(e)}}async _initLayerRefresh(){this._refreshHandle&&this._refreshHandle.remove(),this._layer&&(this._refreshHandle=this._layer.on("refresh",e=>{e.dataChanged&&this._updateAllIds()}))}async _updateAllIds(){let e=await this.queryAllIds(),t=this.selectedIds.filter(i=>this._allIds.indexOf(i)>-1);(JSON.stringify(e)!==JSON.stringify(this._allIds)||JSON.stringify(this.selectedIds)!==JSON.stringify(t))&&(this._allIds=e,this.selectedIds=t,await this._refresh())}async _handleDefaults(){if(!this._defaultOidHonored&&this.defaultOid?.length>0&&this.defaultOid[0]>-1&&this._table&&(await this._selectDefaultFeature(this.defaultOid),this._defaultOidHonored=!0,this.defaultOid=[],this._showOnlySelected=!1,this._toggleShowSelected()),!this._defaultGlobalIdHonored&&this.defaultGlobalId&&this.defaultGlobalId?.length>0&&this._table&&this._layer){let e=await O(this.defaultGlobalId,this._layer),t=e?.length>0?e.map(i=>Number(i.getObjectId())):void 0;t&&await this._selectDefaultFeature(t),this._defaultGlobalIdHonored=!0,this.defaultGlobalId=[],this._showOnlySelected=!1,this._toggleShowSelected()}}_initColumnsInfo(e){let t=this._table?.columns.reduce((s,a)=>((!e||e?.indexOf(a.name)>-1)&&(s[a.name]=!a.hidden),s),{}),i=this._table?.columns.map(s=>s.name);(e&&i?e.filter(s=>i.indexOf(s)<0):[]).forEach(s=>{t[s]=!0}),this._columnsInfo=e?e.reduce((s,a)=>(s[a]=t[a],s),{}):t}async _selectDefaultFeature(e){e.length>0&&this._table?.highlightIds.addMany(e)}_checkEditEnabled(e){this._editEnabled=!!(e?.editingEnabled&&e?.capabilities?.operations.supportsUpdate),this._deleteEnabled=!!(e?.editingEnabled&&e?.capabilities?.operations.supportsDelete)}async _sortTable(){let e=this._layer?.objectIdField,t="desc",i,s=this.mapInfo?.layerOptions?.layers,a=this._layer?.id;s&&s.length>0&&a!==void 0&&(i=s.filter(l=>l.id===a),i&&i.length>0&&(i=i[0],i.sortField&&i.fields?.includes(i.sortField)&&(e=i.sortField),t=i?.sortOrder?i.sortOrder:"desc")),this._table&&this._layer&&(await this._table.when(),await this._layer.when(()=>{e&&this._table?.sortColumn(e,t)}))}async _handleFilterListReset(){this._filterActive=!1,this._updateShareUrl(),await this._searchFullText()}async _handleFilterUpdate(e){if(this._floorExpression&&this._layer){let t=this._layer.definitionExpression,i=new RegExp(`${this._floorField} = ['].+[']`,"gm");this._layer.definitionExpression=t&&this._floorField&&t.indexOf(`${this._floorField} = '`)>-1?t.replace(i,this._floorExpression):t?`${t} AND (${this._floorExpression})`:this._floorExpression}this._filterActive=e,this._updateShareUrl(),await this._searchFullText()}_handleTableOnMapExtent(){this._table&&(this._filterByExtentHandle=c.when(()=>this.mapView?.stationary,async()=>{if(this._shouldUpdateTableOnExtentChange&&this.appLayout==="splitView"){if(await new Promise(e=>setTimeout(e,800)),this._table&&this.mapView){this._table.filterGeometry=this.mapView.extent;let e={geometry:this.mapView.extent},t=this._layer&&await this._layer.queryObjectIds(e),i=this.selectedIds.filter(a=>!t?.includes(a)),s=this._outOFExtentOids.filter(a=>t?.includes(a));i.length>0&&(this._table&&this._table?.viewModel?.attachmentsViewOptions?.objectId&&this._table.viewModel.hideAttachmentsView(),this._table.highlightIds.removeMany(i),this._outOFExtentOids=[...this._outOFExtentOids,...i]),s.length>0&&(this.selectedIds=[...new Set([...this.selectedIds,...s])],this._table.highlightIds.removeAll(),this._table.highlightIds.addMany(this.selectedIds.reverse()),this._outOFExtentOids=this._outOFExtentOids.filter(a=>!s.includes(a)))}this._allIds=await this.queryAllIds()}},{initial:!0}))}async _closeFilter(){this._allIds=await this.queryAllIds()}async queryAllIds(){if(this._layer){let e=this._layer.createQuery();return e.geometry=this._filterByExtentHandle&&this.mapView?this.mapView.extent:null,e.where=this._layer.definitionExpression||"1=1",await this._layer.queryObjectIds(e)}else return[]}async _mapClicked(e){let t={include:this._layer},i=await this.mapView?.hitTest(e.screenPoint,t);if(i&&i.results.length>0){let s=i.results;if(this.featureSelectionMode==="single"){this._table?.highlightIds.removeAll();let a=s[0].graphic.getObjectId();if(a){let l=this._table?.highlightIds.indexOf(a);l!==void 0&&l<0&&this._table?.highlightIds.add(a)}}else s.forEach(a=>{let l=Number(a.graphic.getObjectId()),h=this._table?.highlightIds.indexOf(l);h&&h<0&&l&&this._table?.highlightIds.add(l)});this._showOnlySelected&&this._table&&(this._table.filterBySelectionEnabled=!0)}else await this.clearSelection()}async _selectAll(){let e=this._allIds,t=e.filter(i=>this.selectedIds.indexOf(i)<0);await this._validateActiveEdits(t,this.selectedIds)&&this._table?(this._table.highlightIds.removeAll(),this._table.highlightIds.addMany(e),this.selectedIds=e,this._finishOnChange(),this._selectAllActive=!0):this._skipEditCheck=!1}_toggleShowSelected(){this._showOnlySelected=!this._showOnlySelected,this._table&&(this._table.filterBySelectionEnabled=this._showOnlySelected)}_clearSelection(){this._relatedFeatureTable||(this.selectedIds=[],this._outOFExtentOids=[],this._table&&this._table?.viewModel?.attachmentsViewOptions?.objectId&&this._table.viewModel.hideAttachmentsView(),this._table?.highlightIds.removeAll(),this._clearHighlights(),this._table?.rowHighlightIds.removeAll()),this._relatedFeatureTable&&(this._relatedFeatureTable?.highlightIds.removeAll(),this.selectedRelatedIds=[]),this._finishOnChange()}async _switchSelected(){let e=[...this.selectedIds],t=this._allIds.reduce((i,s)=>(e.indexOf(s)<0&&i.push(s),i),[]).sort((i,s)=>i-s);await this._validateActiveEdits(t,e)&&this._table?(this._table.highlightIds.removeAll(),this._table.highlightIds.addMany(t),this.selectedIds=t,this._finishOnChange()):this._skipEditCheck=!1}async _exportToCSV(){let e=this._relatedFeatureTable?this._relatedFeatureTable.layer:this._layer;if(!e)return;let t={},i=this._getIds();if(this._relatedFeatureTable?.tableParent&&this._relatedFeatureTable.highlightIds.length===0){let l=this._relatedFeatureTable.tableParent.highlightIds?.getItemAt(0);if(l!==void 0){let h=await this._queryRelatedFeatures(),n=[];h&&h[l]?.features&&(h[l].features.forEach(r=>{r.attributes&&n.push(r.attributes[e.objectIdField])}),i=n.length>0?n:[])}}t[e.id]={selectionSetNames:[e.title||""],ids:i,layer:e};let s=this._relatedFeatureTable??this._table;if(!s)return;let a=s&&s.columns.toArray().reduce((l,h)=>{if(!h.hidden){let n=h?.name||h?.fieldName;n&&l.push(n.toLocaleLowerCase())}return l},[]);this._updateToolInfoLoading("export",!0),this._csvExporting=!0,this.mapView?.map&&await $(this.mapView.map,t,!1,!1,!0,a,!0,!0),this._updateToolInfoLoading("export",!1),this._csvExporting=!1}async _queryRelatedFeatures(){let e=this._relatedFeatureTable?this._relatedFeatureTable?this._relatedFeatureTable.layer:this._relatedFeatureTable.tableParent?.layer:this._layer,t=this._relatedFeatureTable?.tableParent?.highlightIds?.items[0],i=this._relatedFeatureTable?.tableParent?.layer,s=e?.relationships?.find(l=>i.relationships?.some(h=>h.id===l.id)),a=new M({objectIds:[t],outFields:["*"],relationshipId:s?.id});return t&&a&&await i.queryRelatedFeatures(a).catch(async l=>{console.error(l)})}_updateToolInfoLoading(e,t){this._toolInfos.some(i=>i?.icon===e?(i.loading=t,!0):!1)}async _refresh(e){if(await this._validateActiveEdits([],this.selectedIds)){this._table&&await this._table.refresh(),this._relatedFeatureTable&&await this._relatedFeatureTable.refresh(),this._allIds=await this.queryAllIds();let t=this._getSelectedLayer(this.selectedRelatedIds);if(t&&this.relatedRecordToggled.emit(t),!e){let i=this._getSelectedIds();this.featureSelectionChange.emit(i)}}}_getSelectedIds(){let e;return this._relatedFeatureTable?this.selectedRelatedIds.length>0?e=this.selectedRelatedIds:e=this._relatedFeatureTable.tableParent?.highlightIds.toArray()??[]:e=this.selectedIds,e}_getSelectedLayer(e){let t;return this._relatedFeatureTable?e.length>0?t=this._relatedFeatureTable.layer:t=this._relatedFeatureTable.tableParent?.layer:t=this._layer,t}async _clearSearchText(){if(this._searchNode.value){this._searchNode.value.value="";let e={target:{value:""}};await this._searchTextChanged(e)}}async _zoom(){this._layer&&this.mapView&&await y(this.selectedIds,this._selectedLayerView,this.mapView,!0,void 0,this.zoomToScale)}async _layerSelectionChanged(e){let t=e.detail[0];if(t!==this._layer?.id||this._featuresEmpty()){this._fetchingData=!0,await this._clearSearchText();let i=this.mapView&&await A(this.mapView,t);i&&await i.when(async()=>{this._selectedLayerView=!i.isTable&&this.mapView?await C(this.mapView,i.id):null,this._table&&this._table?.viewModel?.attachmentsViewOptions?.objectId&&this._table.viewModel.hideAttachmentsView(),this._shouldUpdateTableOnExtentChange=!0,this._layer=i,await this._initToolInfos(),this._getFullTextSearchInfo()})}this._creatingFeature=!1,this._fetchingData=!1}_getColumnTemplates(e,t,i){let s=this._getLayerOption(e),a=this._layer?.attributeTableTemplate?.elements,l=[];a?.length>0&&this.honorMapFieldSettings&&(l=a.map(r=>r.fieldName));let h=s?.fields&&s?.fieldOrder?s.fieldOrder.filter(r=>s?.fields&&s.fields.indexOf(r)>-1):l.length>0?l:void 0,n;return t&&(n=t.reduce((r,d)=>{let u={type:"field",fieldName:d.name,label:this.getFieldLabel(d,i),menuConfig:this._getMenuConfig(d.name)};return s&&s.fields&&s?.fields?.length>0?s.fields.indexOf(d.name)>-1&&r.push(u):l.length>0?l.indexOf(d.name)>-1&&r.push(u):r.push(u),r},[])),n?h?n?.sort(this._sortFields.bind(this,h)):n:[]}updateRelatedAttachmentColumns(){let e=this._getLayerOption(this._layer?.id||""),t=this.hasAttachmentsEnabled(this._layer),i=!0,s="attachments",a=(e?.extraFields||[]).reduce((h,n)=>(n.startsWith("related:")?h.related.push(n.split("related:")[1]):h.extra.push(n),h),{related:[],extra:[]}),l=a.extra.some(h=>h.toLowerCase()===s);a&&(t=l&&t,i=a.related.length>0,this._table?.columns.forEach(h=>{h.fieldName.startsWith("EsriFeatureTableRelationshipColumn")&&(h.hidden=!a.related.includes(h.effectiveLabel)),h.fieldName.startsWith("EsriFeatureTableAttachmentsColumn")&&(h.hidden=!a.extra.some(n=>n.toLowerCase()===h.effectiveLabel.toLowerCase()))})),this._table.relatedRecordsEnabled=i,this._table.attachmentsEnabled=t}getFieldLabel(e,t){let i=e.alias?e.alias:e.name;return t?.some(s=>s.fieldName===e.name?(i=s.label,!0):!1),i||e.name}_sortFields(e,t,i){return e?.indexOf(t.fieldName)-e.indexOf(i.fieldName)}_getMenuConfig(e){return{items:[{label:this._translations.hideField,icon:"view-hide",autoCloseMenu:!0,clickFunction:()=>{this._handleHideClick(e)}}]}}_handleHideClick(e){this._columnsInfo&&this._table&&(this._columnsInfo[e]=!1,this._table.hideColumn(e),this._table.tableTemplate&&this._table.tableTemplate.columnTemplates.forEach(t=>{t.fieldName===e&&(t.visible=!1)}))}};E("layer-table",I);return I},"widgets/FeatureTable","core/reactiveUtils","rest/support/RelationshipQuery","widgets/FeatureTable/support/TableTemplate",a,c,d,e)
2
+ import e from"./ZNXPS2JP.js";import{a as H}from"./3OCYAA4P.js";import d from"./4GJHDLZU.js";import c from"./CEP54NLT.js";import a from"./YVNP437O.js";import{a as S}from"./HO5JGUUI.js";import{b as E}from"./JSJYFWT6.js";import{E as g,F as f,G as x,I as b,h as v,i as o,l as _,q as p,t as T}from"./MRGCC5C4.js";export default $arcgis.t(([L,c,M,w,{c:O},{c:C,d:A,j:y},{F:F,i:m},{b:$}])=>{var R=v`@layer{:host{display:block}.height-full{height:100%}.height-full-adjusted{height:calc(100% - 20px)}.width-full{width:100%}.display-flex{display:flex}.display-none{display:none}.table-border{border:1px solid var(--calcite-color-border-2)}.border-end{border-inline-end:1px solid var(--calcite-color-border-2)}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.padding-5{padding:5px}.padding-end-1{padding-inline-end:1rem}.height-51-px{height:51px}.height-50-px{height:50px}.bottom-left{position:absolute;left:0;bottom:0;padding-left:5px}html[dir=rtl] .bottom-left{position:absolute;right:0;bottom:0;padding-right:5px}.height-19{height:19px}.background{background-color:var(--calcite-color-surface-1)}.text-color{color:var(--calcite-color-text-1)}.align-center{align-items:center}.danger-color{color:var(--calcite-color-status-danger)}.esri-feature-table vaadin-grid{border:none!important}vaadin-grid-cell-content{font-size:14px!important;color:var(--calcite-color-text-3)!important}.absolute-right{position:absolute;right:0;left:unset}html[dir=rtl] .absolute-right{left:0;right:unset}.disabled{cursor:default!important;user-select:none;opacity:var(--calcite-opacity-disabled);pointer-events:none}.actions-end{height:50px!important;display:inline-flex}.border-top{border-top:1px solid var(--calcite-color-border-2)}.modal{--calcite-dialog-content-space: 0}.esri-feature-table__table-container{height:100%}.search-container{background-color:var(--calcite-color-surface-2)!important}.search{--calcite-color-border-input: var(--calcite-color-border-3);width:60%;padding:10px}.delete-red{--calcite-icon-color: var(--calcite-color-status-danger);--calcite-color-text-1: var(--calcite-color-status-danger);--calcite-color-text-3: var(--calcite-color-status-danger)}.label-override{white-space:nowrap}.padding-start-1-4{padding-inline-start:.5rem}.panel-header-override{--calcite-panel-header-content-space: 0px}.danger-label-color{color:var(--calcite-color-status-danger)}.danger-icon-color{--calcite-icon-color: var(--calcite-color-status-danger)}.width-51{width:51px}.height-51{height:51px}calcite-action-bar{--calcite-internal-action-bar-gap: 0px;--calcite-internal-action-bar-padding: 0px}}`,I=class extends x{constructor(){super(),this.defaultGlobalId=[],this.defaultLayerId="",this.defaultOid=[],this.enableAutoRefresh=!1,this.enableColumnReorder=!0,this.enableCSV=!1,this.enableInlineEdit=!1,this.enableShare=!1,this.enableTableAutosave=!0,this.featureSelectionMode="multiple",this.selectedRelatedIds=[],this.honorMapFieldSettings=!1,this.isMobile=!1,this.mapHidden=!1,this.showOnlyUpdatableLayers=!1,this.selectedIds=[],this.shareIncludeEmbed=!1,this.shareIncludeSocial=!1,this.showNewestFirst=!1,this.zoomAndScrollToSelected=!1,this._allIds=[],this._configLayerOrderDefined=!1,this._csvExporting=!1,this._fetchingData=!1,this._hideTable=!1,this._filterActive=!1,this._selectAllActive=!1,this._showHideOpen=!1,this._showOnlySelected=!1,this._toolInfos=[],this._translations=S({name:"layer-table",blocking:!0}),this._fullTextSearchInfo=[],this._searchPlaceHolder="",this._size=0,this._queryingData=!1,this._editEnabled=!1,this._enabledLayerIds=[],this._defaultGlobalIdHonored=!1,this._defaultOidHonored=!1,this._deleteEnabled=!1,this._floorExpression="",this._floorField="",this._floorLevel="",this._loaded=!1,this._shareNode=g(),this._toolbar=g(),this._searchExpression="",this._skipEditCheck=!1,this._tempSelectedIds=[],this._outOFExtentOids=[],this._shouldUpdateTableOnExtentChange=!0,this._creatingFeature=!1,this._searchNode=g(),this.columnReorder=p(),this.featureSelectionChange=p(),this.toggleFilter=p(),this.showDelete=p(),this.relatedRecordToggled=p(),this.editMultipleFeatures=p(),this.listenOn(window,"beforeMapInfoChange",this.beforeMapInfoChange,{capture:!0}),this.listenOn(window,"editorInitialized",this.editorInitialized),this.listenOn(window,"closeEdit",this.closeEdit),this.listenOn(window,"selectionChanged",this.selectionChanged),this.listenOn(window,"beforeLayerSelectionChange",this.beforeLayerSelectionChange),this.listenOn(window,"layerSelectionChange",this.layerSelectionChange),this.listenOn(window,"editsComplete",this.editsComplete),this.listenOn(window,"facilityChanged",this.facilityChanged),this.listenOn(window,"levelChanged",this.levelChanged),this.listenOn(window,"siteChanged",this.siteChanged),this.listenOn(window,"noLayersFound",this.noLayersFound),this.listenOn(window,"clearSelection",this.clearSelection),this.listenOn(window,"mapChanged",this.mapChanged),this.listenOn(window,"featuresSelected",this.featuresSelected),this.listenOn(window,"createWorkFlowStarted",this.createWorkFlowStarted),this.listenOn(window,"backFromCreateWorkFlow",this.backFromCreateWorkFlow),H(window)}static{this.properties={appLayout:1,defaultGlobalId:0,defaultLayerId:1,defaultOid:0,enableAutoRefresh:5,enableColumnReorder:5,enableCSV:5,enableInlineEdit:5,enableShare:5,enableTableAutosave:5,featureSelectionMode:1,selectedRelatedIds:0,honorMapFieldSettings:5,isMobile:5,mapHidden:5,mapInfo:0,mapView:0,showOnlyUpdatableLayers:5,selectedIds:0,shareIncludeEmbed:5,shareIncludeSocial:5,showNewestFirst:5,zoomAndScrollToSelected:5,zoomToScale:9,_allIds:16,_configLayerOrderDefined:16,_csvExporting:16,_fetchingData:16,_hideTable:16,_filterActive:16,_layer:16,_selectAllActive:16,_showHideOpen:16,_showOnlySelected:16,_toolInfos:16,_translations:16,_fullTextSearchInfo:16,_searchPlaceHolder:16,_size:16,_queryingData:16}}static{this.styles=R}static{this.shadowRootOptions=T}willUpdate(e){if(e.has("appLayout")&&this.appLayoutWatchHandler(),e.has("defaultOid")&&this.defaultOidWatchHandler(),e.has("defaultGlobalId")&&this.defaultGlobalIdWatchHandler(),e.has("enableCSV")&&this.enableCSVWatchHandler(),e.has("enableInlineEdit")&&this.enableInlineEditWatchHandler(),e.has("mapHidden")&&this.mapHiddenWatchHandler(),e.has("isMobile")&&this.isMobileWatchHandler(),e.has("mapInfo")&&this.mapInfoWatchHandler(),e.has("mapView")&&this.mapViewWatchHandler(),e.has("_layer")&&this._layerWatchHandler(),e.has("selectedIds")&&(this.hasUpdated||JSON.stringify(e.get("selectedIds"))!==JSON.stringify(this.selectedIds))&&this.selectedIdsWatchHandler(),e.has("selectedRelatedIds")&&(this.hasUpdated||JSON.stringify(e.get("selectedRelatedIds"))!==JSON.stringify(this.selectedRelatedIds))&&this.selectedRelatedIdsWatchHandler(),e.has("enableTableAutosave")&&this.hasUpdated&&this._table&&(this._table.autoSaveEnabled=this.enableTableAutosave),e.has("_translations")){let t=this._translations._lang,i=e.get("_translations")?._lang;t&&i&&t!==i&&this._initToolInfos()}}async appLayoutWatchHandler(){await this._initToolInfos(),this._updateShareUrl()}async defaultOidWatchHandler(){await this._handleDefaults()}async defaultGlobalIdWatchHandler(){await this._handleDefaults()}async enableCSVWatchHandler(){this._toolInfos?.length>0&&await this._initToolInfos()}enableInlineEditWatchHandler(){this._table&&(this._table.editingEnabled=this._editEnabled&&this.enableInlineEdit)}async mapHiddenWatchHandler(){this._toolInfos?.length>0&&await this._initToolInfos()}async isMobileWatchHandler(){!this._toolInfos&&!this.isMobile&&await this._initToolInfos()}async mapInfoWatchHandler(){this._configLayerOrderDefined="configLayerOrder"in(this.mapInfo?.layerOptions||{}),this._enabledLayerIds=F(this.mapInfo?.layerOptions?.layers||[],this.mapInfo?.layerOptions?.configLayerOrder),this._table&&(this._resetColumnTemplates(),this._sortTable(),await this._initToolInfos())}async mapViewWatchHandler(){this._mapClickHandle&&this._mapClickHandle.remove(),this.mapView&&(this._floorExpression="",this._searchExpression="undefined",this.mapView.highlights=[{name:"default",color:"#00FFFF"},{name:"current-selection",color:"#ff00ff"},{name:"temporary",color:"#FFFF00"}],this._updateShareUrl(),this._mapClickHandle=c.on(()=>this.mapView,"click",e=>{this._creatingFeature||this._mapClicked(e)}))}async _layerWatchHandler(){if(this._hideTable=!1,this._fetchingData=!0,!this._layer){this._fetchingData=!1,this._hideTable=!0;return}try{await this._layer.when(),this._floorField=this._layer.floorInfo?.floorField||"",this._updateFloorDefinitionExpression(),await this._resetTable(),this._updateShareUrl()}catch(e){console.error(e),this._hideTable=!0}finally{this._fetchingData=!1}}async selectedIdsWatchHandler(){this._updateShareUrl(),this._validateEnabledActions(),this._selectAllActive&&this.selectedIds.length!==this._allIds.length&&(this._selectAllActive=!1),this.selectedIds.length>0&&(this._table.rowHighlightIds.removeAll(),this._table.rowHighlightIds.add(this.selectedIds[0])),this.selectedIds.length===0&&setTimeout(()=>{this.featureSelectionChange.emit(this.selectedIds)},700)}async selectedRelatedIdsWatchHandler(){this._validateEnabledActions(),this.selectedRelatedIds.length>0&&(this._relatedFeatureTable?.rowHighlightIds.removeAll(),this._relatedFeatureTable?.rowHighlightIds.add(this.selectedRelatedIds[0]))}async closeFilter(){await this._closeFilter()}async filterReset(){this._filterByExtentHandle&&(this._table&&(this._table.filterGeometry=void 0),this._filterByExtentHandle.remove(),this._filterByExtentHandle=void 0),await this._handleFilterListReset()}async filterUpdate(e,t){await this._handleFilterUpdate(e),t?(this._shouldUpdateTableOnExtentChange=!0,this._handleTableOnMapExtent()):t===!1&&(this._table&&(this._table.filterGeometry=void 0),this._filterByExtentHandle?.remove(),this._filterByExtentHandle=void 0,await this._updateAllIds())}async validateTableUpdate(e){this._shouldUpdateTableOnExtentChange=e}async validateActiveEdits(){return this._validateActiveEdits([],this.selectedIds)}async refresh(){this._table&&await this._refresh()}async setColumnOrder(e){this._setColumnTemplates(e)}async beforeMapInfoChange(e){let t=e.detail.ref,i=e.detail.mapInfo;if(this._hasPendingEdits()){e.preventDefault();let s=await this._validateActiveEdits([],this.selectedIds);await t.setMapByID(s?i.id:e.detail.currentId,!s)}}async editorInitialized(e){this._shouldUpdateTableOnExtentChange=!1,this._editor=e.detail}async closeEdit(){this._shouldUpdateTableOnExtentChange=!0,this._filterByExtentHandle&&this._handleTableOnMapExtent()}async selectionChanged(e){let t=e.detail.selectedFeature[0],i=Number(t.getObjectId()),s=this._table;if(s.rowHighlightIds.length&&s.rowHighlightIds.removeAll(),s.rowHighlightIds.add(i),this._highlightFeatures(i),this.zoomAndScrollToSelected&&s&&this.mapView){let a=s.viewModel.getObjectIdIndex(i);s.scrollToIndex(a);let l=t.layer,h=this.mapView.allLayerViews.toArray(),n;h.some(async r=>r.layer.title===l?.title&&r.layer.type==="feature"?(n=r,this.mapView&&await y([i],n,this.mapView,!0,void 0,this.zoomToScale),!0):!1)}}async beforeLayerSelectionChange(e){if(this._hasPendingEdits()){e.preventDefault();let t=e.detail.ref,i=await this._validateActiveEdits([],this.selectedIds);return e.detail.selectedIds?await t.setLayerByIds(i?e.detail.newIds:e.detail.currentIds,!0):await t.setLayerById(i?e.detail.newId:e.detail.currentId,!0)}}async layerSelectionChange(e){await this._layerSelectionChanged(e)}async editsComplete(e){let t=e.detail;(t==="delete"||t==="add")&&(this._allIds=await this.queryAllIds()),await this._refresh()}async facilityChanged(e){this._updateFloorDefinitionExpression()}async levelChanged(e){this._floorLevel=e.detail,this._updateFloorDefinitionExpression()}async siteChanged(e){this._updateFloorDefinitionExpression()}async noLayersFound(){this._layer=void 0,this._allIds=[],this._size=0,this._clearSelection()}async clearSelection(){await this._validateActiveEdits([],this.selectedIds)&&this._clearSelection()}async mapChanged(){this._queryingData=!1,this._creatingFeature=!1,this._clearSelection()}async featuresSelected(e){e.detail.forEach(t=>{let i=this._table?.highlightIds.indexOf(t);i&&i<0&&this._table?.highlightIds.add(t)})}createWorkFlowStarted(){this._creatingFeature=!0}backFromCreateWorkFlow(){this._creatingFeature=!1}async load(){await this._initToolInfos()}render(){let e=this._fetchingData||this._hideTable?"display-none":"",t=this._fetchingData?"":"display-none",i=this._queryingData?"":"display-none",s=this._size.toString(),a=this.selectedIds.length.toString(),l=this.isMobile?"height-full":"height-full-adjusted",h=this._canShowFullTextSearch();return this._validateActiveActions(),o`<div><calcite-scrim class=${b(i)} .loading=${this._queryingData}></calcite-scrim><calcite-shell><div class=${`width-full ${l}`}><calcite-panel class="height-full width-full panel-header-override">${this._getMapLayerPicker("header-actions-start")}${!this.isMobile&&o`${this._getTableControlRow("header-content")}${this._getActionsEnd("header-actions-end")}`||""}${h&&o`<div class="search-container border-bottom"><calcite-input class=search clearable icon=search @calciteInputChange=${n=>{this._searchTextChanged(n)}} .placeholder=${this._searchPlaceHolder} title=${this._searchPlaceHolder??_} type=search ${f(this._searchNode)}></calcite-input></div>`||""}<calcite-loader class=${b(t)} .label=${this._translations.fetchingData} scale=l></calcite-loader><div class=${b(e)} ${f(this.onTableNodeCreate)}></div></calcite-panel></div>${this.isMobile?void 0:o`<div class="bottom-left text-color height-19" id=solutions-selected-count-div>${(this._translations.recordsTotal?.replace("{{total-number-of-records}}",s)+" | "+this._translations.recordsSelected.replace("{{selected-number-of-records}}",a)).replace("{{total}}",s).replace("{{selected}}",a)}</div>`}</calcite-shell></div>`}updated(){this._table&&this.updateRelatedAttachmentColumns()}async _searchTextChanged(e){this._fullTextSearchInfo.forEach(t=>{t.searchTerm=e.target.value}),this._searchFullText()}async _searchFullText(){let e=[],t=!1;if(this._showOnlySelected)e=this._tempSelectedIds,t=!0;else if(await this._validateActiveEdits([],this.selectedIds))this._clearSelection(),this._tempSelectedIds=[];else return;this._searchExpression&&this._clearSearchDefinitionExpression();let i=[];if(this._fullTextSearchInfo?.length&&this._fullTextSearchInfo[0].searchTerm){let s=this._layer?.createQuery();s.fullText=this._fullTextSearchInfo,i=this._layer?await this._layer.queryObjectIds(s):[],t&&e?.length&&(i=i.filter(a=>e.includes(a))),await this._updateSearchDefinitionExpression(i?.length?i:[-1])}t&&i?.length&&(this._showOnlySelected=!0,this._table?.highlightIds.addMany(i.reverse())),await new Promise(s=>setTimeout(s,800)),await this._updateAllIds()}_clearSearchDefinitionExpression(){let e=this._layer?.definitionExpression;this._searchExpression&&e&&e?.indexOf(this._searchExpression)>-1&&this._layer&&(e?.indexOf(" AND ("+this._searchExpression)>-1?this._layer.definitionExpression=e.replace(` AND (${this._searchExpression})`,""):this._layer.definitionExpression=e.replace(this._searchExpression,"")),this._searchExpression=""}async _updateSearchDefinitionExpression(e){let t=this._layer?.definitionExpression;if(this._layer)if(e?.length){let i=`objectId in(${e})`;this._layer.definitionExpression=this._searchExpression&&t&&t.includes(this._searchExpression)?t.replace(this._searchExpression,i):t?`${t} AND (${i})`:i,this._searchExpression=i}else this._clearSearchDefinitionExpression()}_canShowFullTextSearch(){return this._layer?.capabilities?.query?.supportsFullTextSearch&&this._layer.indexes.items.filter(e=>e.indexType=="FullText").length>0}_getFullTextSearchInfo(){if(this._fullTextSearchInfo=[],this._layer?.capabilities?.query?.supportsFullTextSearch){let e=this._layer.indexes?.filter(t=>t.indexType=="FullText");if(e?.length){let t=[];e.forEach(s=>{t.push(...s.fields.split(","))});let i=[];t.forEach(s=>{let a=this._layer?.getField(s.trim());a?.alias&&i.push(a.alias)}),this._searchPlaceHolder=this._translations.searchPlaceholder.replace("{{field_names}}",i.join(", ")),this._fullTextSearchInfo.push({onFields:["*"],searchTerm:"",searchType:"prefix"})}}}_getMapLayerPicker(e){let t=this.isMobile?"display-none":"";return o`<div class=${`border-end ${t}`} id=solutions-map-layer-picker-container slot=${e??_}><map-layer-picker appearance=transparent .configLayerOrderDefined=${this._configLayerOrderDefined} .defaultLayerId=${this.defaultLayerId} display=inline-flex .enabledLayerIds=${this._enabledLayerIds} height=50 .isMobile=${this.isMobile} .mapView=${this.mapView} .showOnlyUpdatableLayers=${this.showOnlyUpdatableLayers} placeholder-icon=layers scale=l .selectedIds=${this._layer?[this._layer?.id]:[]} show-single-layer-as-label show-tables type=dropdown></map-layer-picker></div>`}_getLayerOption(e){let t;return this.mapInfo?.layerOptions?.layers.some(i=>i.id===e?(t=i,!0):!1),t}_getActionsEnd(e){let t=this._relatedFeatureTable?this._relatedFeatureTable.layer:this._layer,i=this._relatedFeatureTable||this._table,s=this._getLayerOption(t?.id||"");return o`<div class="display-flex" slot=${e??_}><field-selection .configExtraFields=${s?.extraFields} .layer=${t} .mapView=${this.mapView} .table=${i} .tableRef=${this.el}></field-selection>${this.enableShare&&!this.isMobile?this._getShare("share"):void 0}</div>`}_getTableControlRow(e){return o`<div class=${"height-51-px width-full display-flex"} slot=${e??_} ${f(this._toolbar)}>${this._getActionBar()}</div>`}_getActionBar(){return o`<calcite-action-bar class=width-full expand-disabled id=${this._getId("bar")??_} layout=horizontal><calcite-action-group>${this.isMobile?void 0:this._getActions()}</calcite-action-group></calcite-action-bar>`}_getActions(){return this._toolInfos?.reduce((e,t)=>(t&&e.push(t.isDanger?this._getDangerAction(t.icon,t.label,t.func,t.disabled):this._getAction(t.active,t.icon,t.indicator,t.label,t.func,t.disabled,!!t.loading,t.toolTip)),e),[])}_validateEnabledActions(){let e=this._getIds().length,t=["zoom-to-object","pencil","trash","erase","selected-items-filter"];this._toolInfos?.forEach(i=>{i&&t.indexOf(i.icon)>-1&&(i.disabled=i.icon==="pencil"?e<2||e>m:e<1,i.toolTip=i.icon==="pencil"?e>m?this._translations.featureEditLimitNotice:this._translations.editMultiple:i.toolTip)})}_validateActiveActions(){let e=["filter","list-check-all","selected-items-filter"];this._toolInfos?.forEach(t=>{t&&e.indexOf(t.icon)>-1&&(t.icon==="filter"&&(t.indicator=this._filterActive),t.icon==="list-check-all"&&(t.active=this._selectAllActive),t.icon==="selected-items-filter"&&(t.active=this._showOnlySelected,t.label=this._showOnlySelected?this._translations.showAll:this._translations.showSelected))})}async _initToolInfos(){let e=this._getIds().length>0,t=this._relatedFeatureTable?this._relatedFeatureTable.layer.isTable:this._layer?.isTable,i=this.featureSelectionMode==="multiple"&&this._layer?.capabilities?.operations.supportsUpdate,s=this._getSelectedIds().length<2||this._getSelectedIds().length>m,a=!this.mapHidden&&!t,l=!this._relatedFeatureTable&&(!this._layer?.isTable||this._hasFilterExpressions()),h=this._featuresEmpty(),n=this.featureSelectionMode==="single",r=this.enableCSV;if(this._relatedFeatureTable){let u=await this._queryRelatedFeatures();r=u&&Object.keys(u).length>0}let d=[];l&&d.push({active:!1,icon:"filter",indicator:!1,label:this._translations.filters,func:()=>this.toggleFilter.emit(),disabled:!1,toolTip:this._translations.filters}),a&&d.push({active:!1,icon:"zoom-to-object",indicator:!1,label:this._translations.zoom,func:()=>this._zoom(),disabled:!e,toolTip:this._translations.zoom}),i&&d.push({active:!1,icon:"pencil",indicator:!1,label:this._translations.editMultiple,func:()=>this.editMultipleFeatures.emit(this._getSelectedIds()),disabled:s,toolTip:this._translations.editMultiple}),this._deleteEnabled&&d.push({active:!1,icon:"trash",indicator:!1,label:this._translations.delete,func:()=>this._showDelete(),disabled:!e,isDanger:!0,toolTip:this._translations.delete}),d.push({active:!1,icon:"erase",indicator:!1,label:this._translations.clearSelection,func:()=>{this.clearSelection()},disabled:!e,toolTip:this._translations.clearSelection}),this._relatedFeatureTable||d.push({active:!1,icon:"selected-items-filter",indicator:!1,label:this._showOnlySelected?this._translations.showAll:this._translations.showSelected,func:()=>this._toggleShowSelected(),disabled:!e,toolTip:this._showOnlySelected?this._translations.showAll:this._translations.showSelected}),!n&&!this._relatedFeatureTable&&d.push({active:!1,icon:"list-check-all",indicator:!1,func:async()=>await this._selectAll(),label:this._translations.selectAll,disabled:h,toolTip:this._translations.selectAll}),!n&&!this._relatedFeatureTable&&d.push({active:!1,icon:"compare",indicator:!1,func:async()=>await this._switchSelected(),label:this._translations.switchSelected,disabled:h,toolTip:this._translations.switchSelected}),d.push({active:!1,icon:"refresh",indicator:!1,func:()=>{this._refresh()},label:this._translations.refresh,disabled:!1,toolTip:this._translations.refresh}),r&&d.push({active:!1,icon:"export",indicator:!1,func:()=>{this._exportToCSV()},label:this._translations.exportCSV,loading:this._csvExporting,disabled:h,toolTip:this._translations.exportCSV}),this._toolInfos=[...d]}_updateFloorDefinitionExpression(){if(this._floorField&&this._floorLevel){let e=`${this._floorField} = '${this._floorLevel}'`,t=this._layer?.definitionExpression;this._layer&&(this._layer.definitionExpression=t&&this._floorExpression&&t?.indexOf(this._floorExpression)>-1?t.replace(this._floorExpression,e):t?`${t} AND (${e})`:e),this._floorExpression=e}}_featuresEmpty(){return this._allIds?.length===0}_hasFilterExpressions(){let e=[],t=this._layer?.id;return this.mapInfo?.filterConfig?.layerExpressions&&t!==void 0&&(e=this.mapInfo.filterConfig.layerExpressions.filter(i=>i.id===t)),e.length>0}_getAction(e,t,i,s,a,l,h,n){let r=this._layer===void 0?!0:l;return o`<calcite-action .active=${e} appearance=solid .disabled=${r} .icon=${t} .id=${`layer-table-${t}`} .indicator=${i} .label=${s} .loading=${h} @click=${a} text text-enabled><div class="display-flex"><span class="label-override padding-start-1-4">${s}</span></div></calcite-action>${this._getToolTip("auto",`layer-table-${t}`,n)}`}_showDelete(){this.showDelete.emit({ids:this._getIds()})}_getShare(e){return o`<div id=${this._getId(e)??_}><instant-apps-social-share class="height-51 width-51 display-flex" .embed=${this.shareIncludeEmbed} flip-rtl popover-button-icon-scale=s scale=m share-button-color=neutral share-button-type=action .socialMedia=${this.shareIncludeSocial} .view=${this.mapView} ${f(this._shareNode)}></instant-apps-social-share>${this._getToolTip("bottom",e,this._translations.share)}</div>`}_updateShareUrl(){let e=this._shareNode.value?.shareUrl;if(!e)return;let t=new URL(e);this.mapInfo?.id?t.searchParams.set("webmap",this.mapInfo.id):t.searchParams.delete("webmap"),this._layer?.id?t.searchParams.set("layer",this._layer.id):t.searchParams.delete("layer"),this.selectedIds?.length>0?t.searchParams.set("oid",this.selectedIds.reverse().join(",")):t.searchParams.delete("oid"),this.appLayout&&t.searchParams.set("applayout",this.appLayout),this.selectedRelatedIds?.length>0&&this._relatedFeatureTable?.layer?.id&&(t.searchParams.set("oid",this.selectedRelatedIds.join(",")),t.searchParams.set("layer",this._relatedFeatureTable?.layer?.id.toString())),this._shareNode.value&&(this._shareNode.value.autoUpdateShareUrl=!1,this._shareNode.value.shareUrl=t.href)}_getToolTip(e,t,i){return o`<calcite-tooltip .placement=${e} .referenceElement=${t}><span>${i}</span></calcite-tooltip>`}_getId(e){return`solutions-action-${e}`}_getDangerAction(e,t,i,s){let a=this._layer===void 0?!0:s;return o`<div class="display-flex" id=${this._getId(e)??_}>${o`<calcite-action appearance=solid .disabled=${a} .id=${`layer-table-${e}`} @click=${i} text><calcite-icon class="danger-icon-color" .icon=${e} scale=s></calcite-icon><span class="label-override padding-start-1-4 danger-label-color">${t}</span></calcite-action>`}${this._getToolTip("bottom",`layer-table-${e}`,t)}</div>`}_getIds(){let e=this._relatedFeatureTable??this._table;return this._relatedFeatureTable&&this._table&&this._table.highlightIds.getItemAt(0)!==this.selectedIds[0]&&(e=this._table),e?.highlightIds.map(t=>Number.parseInt(t.toString(),10)).toArray()??[]}onTableNodeCreate(e){this._tableNode=e}async _getTable(e,t){this._layer&&(await this._layer.when(()=>{this._table=new L({autoRefreshEnabled:this.enableAutoRefresh,autoSaveEnabled:this.enableTableAutosave,layer:this._layer,view:this.mapView,columnReorderingEnabled:this.enableColumnReorder,editingEnabled:this._editEnabled&&this.enableInlineEdit,relatedRecordsEnabled:!0,attachmentsEnabled:!0,highlightEnabled:!1,multiSortEnabled:!1,visibleElements:{columnDescriptions:!1,header:!1,menu:!1,progress:!1},tableTemplate:{columnTemplates:t},container:e})}),await this._table?.when(()=>{this._table?.viewModel.addHandles(this._table.highlightIds.on("change",i=>{this._handleOnChange(i)})),this._table?.viewModel.addHandles(this._table.on("cell-pointerover",this.tempHighlightOnHover.bind(this))),this._table?.viewModel.addHandles(this._table.on("cell-pointerout",this._removeTempHighlight.bind(this))),this._table?.viewModel.addHandles(this._table.on("column-reorder",this._handleColumnReorder.bind(this))),this.listenOn(this._tableNode,"mouseleave",this._removeTempHighlight),this._table?.viewModel.addHandles(c.watch(()=>this._table.size,i=>{this._size=i})),c?.watch(()=>this._table?.relatedTable,async i=>{if(i){if(i.rowHighlightIds.length){let a={added:[i.rowHighlightIds.getItemAt(0)],removed:[]};this._handleOnChange(a)}let s=i.layer;if(this._layerEditHandle=s.on("edits",async()=>{await new Promise(a=>setTimeout(a,50)),await this._refresh(!0)}),this._checkEditEnabled(s),i.editingEnabled=this._editEnabled&&this.enableInlineEdit,i.autoSaveEnabled=this.enableTableAutosave,this._relatedFeatureTable=i,typeof i.layer?.id=="string"&&i.layer?.fields){let a=i.layer.popupTemplate?.fieldInfos,l=this._getColumnTemplates(i.layer.id,i.layer.fields,a);this._relatedFeatureTable.tableTemplate=new w({columnTemplates:l})}i.highlightIds.on("change",a=>{this._handleRelatedRecordsChange(a)})}else{this.selectedRelatedIds=[],this._relatedFeatureTable=void 0,this._layerEditHandle&&this._layerEditHandle.remove();let s=this._layer;this._refresh(),s&&this.relatedRecordToggled.emit(s),this._finishOnChange()}await this._initToolInfos()})}))}async _handleRelatedRecordsChange(e){await this._handleOnChange(e),this._updateShareUrl()}hasAttachmentsEnabled(e){if(!e?.capabilities)return!1;let{capabilities:{data:{supportsAttachment:t},operations:{supportsQueryAttachments:i}}}=e;return t&&i}async _handleOnChange(e){if(!await this._validateActiveEdits([...e.added],[...e.removed]))return;let t=[...this._getIds()],i=this._getSelectedLayer(t);this._relatedFeatureTable&&this._table?.highlightIds.getItemAt(0)!==this.selectedIds[0]&&(i=this._layer,await this._initToolInfos()),i&&this.relatedRecordToggled.emit(i),this.featureSelectionMode==="single"&&(this._relatedFeatureTable&&t.length>1?(this._relatedFeatureTable.highlightIds.remove(t[0]),t.shift()):t.length>1&&!this._selectAllActive&&(this._table?.highlightIds.remove(t[0]),t.shift())),!this._relatedFeatureTable||this._relatedFeatureTable&&this._table?.highlightIds.getItemAt(0)!==this.selectedIds[0]?(this.selectedRelatedIds=[],this.selectedIds=t.reverse(),this._tempSelectedIds=[...this.selectedIds],this._highlightFeatures(this.selectedIds[0])):this.selectedRelatedIds=t.reverse(),this._finishOnChange()}async _validateActiveEdits(e,t){let i=!0;if(this._editor&&!this._skipEditCheck){if(this._hasPendingEdits()){let s=!1;try{this._editor.viewModel.activeWorkflow&&await this._editor.viewModel.activeWorkflow.cancel({force:!1})}catch(a){s=a?.name==="workflow:cancel-denied"}if(s){let a=this._relatedFeatureTable&&this._relatedFeatureTable.highlightIds.length>0?this._relatedFeatureTable:this._table;i=!1,this._skipEditCheck=!0,e.length>0?a?.highlightIds.removeMany(e):t.length>0&&a?.highlightIds.addMany(t)}}}else i=!this._skipEditCheck,this._skipEditCheck=!1;return this._shouldUpdateTableOnExtentChange=i,i}_hasPendingEdits(){let e=this._editor?.viewModel?.hasPendingEdits,t=this._editor?.activeWorkflow?.activeWorkflow?.hasPendingEdits;return e||t}_finishOnChange(){this._showOnlySelected&&!this._relatedFeatureTable&&(this._table&&this._getSelectedIds().length>0?this._table.filterBySelectionEnabled=!0:this._toggleShowSelected());let e=this._getSelectedIds();setTimeout(()=>{this.featureSelectionChange.emit(e)},50)}_handleColumnReorder(){this.columnReorder.emit()}tempHighlightOnHover(e){if(this._removeTempHighlight(),this._selectedLayerView){let t=e.feature;this._temporaryFeatureHandle=this._selectedLayerView?.highlight([t],{name:"temporary"})}}_removeTempHighlight(){this._temporaryFeatureHandle&&this._temporaryFeatureHandle.remove()}_highlightFeatures(e){if(this._clearHighlights(),this.selectedIds.length>0&&this._selectedLayerView&&(this._currentFeatureHighlightHandle=this._selectedLayerView?.highlight([e],{name:"current-selection"}),this.selectedIds.length>1)){let t=this.selectedIds.filter(i=>i!==e);this._defaultFeaturesHandle=this._selectedLayerView?.highlight(t,{name:"default"})}}_clearHighlights(){this._removeTempHighlight(),this._currentFeatureHighlightHandle&&this._currentFeatureHighlightHandle.remove(),this._defaultFeaturesHandle&&this._defaultFeaturesHandle.remove()}_resetColumnTemplates(){if(this._layer){let e=this._layer.popupTemplate?.fieldInfos,t=this._getColumnTemplates(this._layer.id,this._layer.fields,e);t?.length===0?this._tableNode?.classList.add("display-none"):this._tableNode?.classList.remove("display-none");let i=this._table?.tableTemplate?.columnTemplates,s=i&&t&&i.length!==t.length||t?.some((a,l)=>i&&i[l]?JSON.stringify(i[l])!==JSON.stringify(a):!1);if(this._table&&t&&(s||!this._columnsInfo)){this._table.tableTemplate=new w({columnTemplates:t});let a=t.map(l=>l.fieldName);this._initColumnsInfo(a)}}}_setColumnTemplates(e){this._table&&e&&(this._table.tableTemplate=new w({columnTemplates:e}))}async _resetTable(){if(this._loaded=!1,this._clearSelection(),this._allIds=await this.queryAllIds(),!this._table&&this._layer){let e=this._layer.popupTemplate?.fieldInfos,t=this._getColumnTemplates(this._layer.id,this._layer.fields,e);this._tableNode&&await this._getTable(this._tableNode,t)}else this._table&&(this._table.view=this.mapView,this._table.layer=this._layer);await this._initLayerRefresh(),this._checkEditEnabled(this._layer),this._table&&(this._table.editingEnabled=this._editEnabled&&this.enableInlineEdit,this._table.autoSaveEnabled=this.enableTableAutosave,await this._table.when(),setTimeout(()=>{this._loaded||this.finishLoading()},1e3),await c.once(()=>this._table?.state==="loaded").then(async()=>{await this.finishLoading()}))}async finishLoading(){try{this._loaded=!0,this._table?.highlightIds.removeAll(),this._table.objectIds.removeAll(),this._resetColumnTemplates(),this._showOnlySelected=!1,await this._handleDefaults(),await this._sortTable(),await this._initToolInfos(),["esri-feature-table","esri-widget"].forEach(e=>{this._tableNode&&!this._tableNode.classList.contains(e)&&this._tableNode.classList.add(e)})}catch(e){console.log(e)}}async _initLayerRefresh(){this._refreshHandle&&this._refreshHandle.remove(),this._layer&&(this._refreshHandle=this._layer.on("refresh",e=>{e.dataChanged&&this._updateAllIds()}))}async _updateAllIds(){let e=await this.queryAllIds(),t=this.selectedIds.filter(i=>this._allIds.indexOf(i)>-1);(JSON.stringify(e)!==JSON.stringify(this._allIds)||JSON.stringify(this.selectedIds)!==JSON.stringify(t))&&(this._allIds=e,this.selectedIds=t,await this._refresh())}async _handleDefaults(){if(!this._defaultOidHonored&&this.defaultOid?.length>0&&this.defaultOid[0]>-1&&this._table&&(await this._selectDefaultFeature(this.defaultOid),this._defaultOidHonored=!0,this.defaultOid=[],this._showOnlySelected=!1,this._toggleShowSelected()),!this._defaultGlobalIdHonored&&this.defaultGlobalId&&this.defaultGlobalId?.length>0&&this._table&&this._layer){let e=await O(this.defaultGlobalId,this._layer),t=e?.length>0?e.map(i=>Number(i.getObjectId())):void 0;t&&await this._selectDefaultFeature(t),this._defaultGlobalIdHonored=!0,this.defaultGlobalId=[],this._showOnlySelected=!1,this._toggleShowSelected()}}_initColumnsInfo(e){let t=this._table?.columns.reduce((s,a)=>((!e||e?.indexOf(a.name)>-1)&&(s[a.name]=!a.hidden),s),{}),i=this._table?.columns.map(s=>s.name);(e&&i?e.filter(s=>i.indexOf(s)<0):[]).forEach(s=>{t[s]=!0}),this._columnsInfo=e?e.reduce((s,a)=>(s[a]=t[a],s),{}):t}async _selectDefaultFeature(e){e.length>0&&this._table?.highlightIds.addMany(e)}_checkEditEnabled(e){this._editEnabled=!!(e?.editingEnabled&&e?.capabilities?.operations.supportsUpdate),this._deleteEnabled=!!(e?.editingEnabled&&e?.capabilities?.operations.supportsDelete)}async _sortTable(){let e=this._layer?.objectIdField,t="desc",i,s=this.mapInfo?.layerOptions?.layers,a=this._layer?.id;s&&s.length>0&&a!==void 0&&(i=s.filter(l=>l.id===a),i&&i.length>0&&(i=i[0],i.sortField&&i.fields?.includes(i.sortField)&&(e=i.sortField),t=i?.sortOrder?i.sortOrder:"desc")),this._table&&this._layer&&(await this._table.when(),await this._layer.when(()=>{e&&this._table?.sortColumn(e,t)}))}async _handleFilterListReset(){this._filterActive=!1,this._updateShareUrl(),await this._searchFullText()}async _handleFilterUpdate(e){if(this._floorExpression&&this._layer){let t=this._layer.definitionExpression,i=new RegExp(`${this._floorField} = ['].+[']`,"gm");this._layer.definitionExpression=t&&this._floorField&&t.indexOf(`${this._floorField} = '`)>-1?t.replace(i,this._floorExpression):t?`${t} AND (${this._floorExpression})`:this._floorExpression}this._filterActive=e,this._updateShareUrl(),await this._searchFullText()}_handleTableOnMapExtent(){this._table&&(this._filterByExtentHandle=c.when(()=>this.mapView?.stationary,async()=>{if(this._shouldUpdateTableOnExtentChange&&this.appLayout==="splitView"){if(await new Promise(e=>setTimeout(e,800)),this._table&&this.mapView){this._table.filterGeometry=this.mapView.extent;let e={geometry:this.mapView.extent},t=this._layer&&await this._layer.queryObjectIds(e),i=this.selectedIds.filter(a=>!t?.includes(a)),s=this._outOFExtentOids.filter(a=>t?.includes(a));i.length>0&&(this._table&&this._table?.viewModel?.attachmentsViewOptions?.objectId&&this._table.viewModel.hideAttachmentsView(),this._table.highlightIds.removeMany(i),this._outOFExtentOids=[...this._outOFExtentOids,...i]),s.length>0&&(this.selectedIds=[...new Set([...this.selectedIds,...s])],this._table.highlightIds.removeAll(),this._table.highlightIds.addMany(this.selectedIds.reverse()),this._outOFExtentOids=this._outOFExtentOids.filter(a=>!s.includes(a)))}this._allIds=await this.queryAllIds()}},{initial:!0}))}async _closeFilter(){this._allIds=await this.queryAllIds()}async queryAllIds(){if(this._layer){let e=this._layer.createQuery();return e.geometry=this._filterByExtentHandle&&this.mapView?this.mapView.extent:null,e.where=this._layer.definitionExpression||"1=1",await this._layer.queryObjectIds(e)}else return[]}async _mapClicked(e){let t={include:this._layer},i=await this.mapView?.hitTest(e.screenPoint,t);if(i&&i.results.length>0){let s=i.results;if(this.featureSelectionMode==="single"){this._table?.highlightIds.removeAll();let a=s[0].graphic.getObjectId();if(a){let l=this._table?.highlightIds.indexOf(a);l!==void 0&&l<0&&this._table?.highlightIds.add(a)}}else s.forEach(a=>{let l=Number(a.graphic.getObjectId()),h=this._table?.highlightIds.indexOf(l);h&&h<0&&l&&this._table?.highlightIds.add(l)});this._showOnlySelected&&this._table&&(this._table.filterBySelectionEnabled=!0)}else await this.clearSelection()}async _selectAll(){let e=this._allIds,t=e.filter(i=>this.selectedIds.indexOf(i)<0);await this._validateActiveEdits(t,this.selectedIds)&&this._table?(this._table.highlightIds.removeAll(),this._table.highlightIds.addMany(e),this.selectedIds=e,this._finishOnChange(),this._selectAllActive=!0):this._skipEditCheck=!1}_toggleShowSelected(){this._showOnlySelected=!this._showOnlySelected,this._table&&(this._table.filterBySelectionEnabled=this._showOnlySelected)}_clearSelection(){this._relatedFeatureTable||(this.selectedIds=[],this._outOFExtentOids=[],this._table&&this._table?.viewModel?.attachmentsViewOptions?.objectId&&this._table.viewModel.hideAttachmentsView(),this._table?.highlightIds.removeAll(),this._clearHighlights(),this._table?.rowHighlightIds.removeAll()),this._relatedFeatureTable&&(this._relatedFeatureTable?.highlightIds.removeAll(),this.selectedRelatedIds=[]),this._finishOnChange()}async _switchSelected(){let e=[...this.selectedIds],t=this._allIds.reduce((i,s)=>(e.indexOf(s)<0&&i.push(s),i),[]).sort((i,s)=>i-s);await this._validateActiveEdits(t,e)&&this._table?(this._table.highlightIds.removeAll(),this._table.highlightIds.addMany(t),this.selectedIds=t,this._finishOnChange()):this._skipEditCheck=!1}async _exportToCSV(){let e=this._relatedFeatureTable?this._relatedFeatureTable.layer:this._layer;if(!e)return;let t={},i=this._getIds();if(this._relatedFeatureTable?.tableParent&&this._relatedFeatureTable.highlightIds.length===0){let l=this._relatedFeatureTable.tableParent.highlightIds?.getItemAt(0);if(l!==void 0){let h=await this._queryRelatedFeatures(),n=[];h&&h[l]?.features&&(h[l].features.forEach(r=>{r.attributes&&n.push(r.attributes[e.objectIdField])}),i=n.length>0?n:[])}}t[e.id]={selectionSetNames:[e.title||""],ids:i,layer:e};let s=this._relatedFeatureTable??this._table;if(!s)return;let a=s&&s.columns.toArray().reduce((l,h)=>{if(!h.hidden){let n=h?.name||h?.fieldName;n&&l.push(n.toLocaleLowerCase())}return l},[]);this._updateToolInfoLoading("export",!0),this._csvExporting=!0,this.mapView?.map&&await $(this.mapView.map,t,!1,!1,!0,a,!0,!0),this._updateToolInfoLoading("export",!1),this._csvExporting=!1}async _queryRelatedFeatures(){let e=this._relatedFeatureTable?this._relatedFeatureTable?this._relatedFeatureTable.layer:this._relatedFeatureTable.tableParent?.layer:this._layer,t=this._relatedFeatureTable?.tableParent?.highlightIds?.items[0],i=this._relatedFeatureTable?.tableParent?.layer,s=e?.relationships?.find(l=>i.relationships?.some(h=>h.id===l.id)),a=new M({objectIds:[t],outFields:["*"],relationshipId:s?.id});return t&&a&&await i.queryRelatedFeatures(a).catch(async l=>{console.error(l)})}_updateToolInfoLoading(e,t){this._toolInfos.some(i=>i?.icon===e?(i.loading=t,!0):!1)}async _refresh(e){if(await this._validateActiveEdits([],this.selectedIds)){this._table&&await this._table.refresh(),this._relatedFeatureTable&&await this._relatedFeatureTable.refresh(),this._allIds=await this.queryAllIds();let t=this._getSelectedLayer(this.selectedRelatedIds);if(t&&this.relatedRecordToggled.emit(t),!e){let i=this._getSelectedIds();this.featureSelectionChange.emit(i)}}}_getSelectedIds(){let e;return this._relatedFeatureTable?this.selectedRelatedIds.length>0?e=this.selectedRelatedIds:e=this._relatedFeatureTable.tableParent?.highlightIds.toArray()??[]:e=this.selectedIds,e}_getSelectedLayer(e){let t;return this._relatedFeatureTable?e.length>0?t=this._relatedFeatureTable.layer:t=this._relatedFeatureTable.tableParent?.layer:t=this._layer,t}async _clearSearchText(){if(this._searchNode.value){this._searchNode.value.value="";let e={target:{value:""}};await this._searchTextChanged(e)}}async _zoom(){this._layer&&this.mapView&&await y(this.selectedIds,this._selectedLayerView,this.mapView,!0,void 0,this.zoomToScale)}async _layerSelectionChanged(e){let t=e.detail[0];if(t!==this._layer?.id||this._featuresEmpty()){this._fetchingData=!0,await this._clearSearchText();let i=this.mapView&&await A(this.mapView,t);i&&await i.when(async()=>{this._selectedLayerView=!i.isTable&&this.mapView?await C(this.mapView,i.id):null,this._table&&this._table?.viewModel?.attachmentsViewOptions?.objectId&&this._table.viewModel.hideAttachmentsView(),this._shouldUpdateTableOnExtentChange=!0,this._layer=i,await this._initToolInfos(),this._getFullTextSearchInfo()})}this._creatingFeature=!1,this._fetchingData=!1}_getColumnTemplates(e,t,i){let s=this._getLayerOption(e),a=this._layer?.attributeTableTemplate?.elements,l=[];a?.length>0&&this.honorMapFieldSettings&&(l=a.map(r=>r.fieldName));let h=s?.fields&&s?.fieldOrder?s.fieldOrder.filter(r=>s?.fields&&s.fields.indexOf(r)>-1):l.length>0?l:void 0,n;return t&&(n=t.reduce((r,d)=>{let u={type:"field",fieldName:d.name,label:this.getFieldLabel(d,i),menuConfig:this._getMenuConfig(d.name)};return s&&s.fields&&s?.fields?.length>0?s.fields.indexOf(d.name)>-1&&r.push(u):l.length>0?l.indexOf(d.name)>-1&&r.push(u):r.push(u),r},[])),n?h?n?.sort(this._sortFields.bind(this,h)):n:[]}updateRelatedAttachmentColumns(){let e=this._getLayerOption(this._layer?.id||""),t=this.hasAttachmentsEnabled(this._layer),i=!0,s="attachments",a=(e?.extraFields||[]).reduce((h,n)=>(n.startsWith("related:")?h.related.push(n.split("related:")[1]):h.extra.push(n),h),{related:[],extra:[]}),l=a.extra.some(h=>h.toLowerCase()===s);a&&(t=l&&t,i=a.related.length>0,this._table?.columns.forEach(h=>{h.fieldName.startsWith("EsriFeatureTableRelationshipColumn")&&(h.hidden=!a.related.includes(h.effectiveLabel)),h.fieldName.startsWith("EsriFeatureTableAttachmentsColumn")&&(h.hidden=!a.extra.some(n=>n.toLowerCase()===h.effectiveLabel.toLowerCase()))})),this._table.relatedRecordsEnabled=i,this._table.attachmentsEnabled=t}getFieldLabel(e,t){let i=e.alias?e.alias:e.name;return t?.some(s=>s.fieldName===e.name?(i=s.label,!0):!1),i||e.name}_sortFields(e,t,i){return e?.indexOf(t.fieldName)-e.indexOf(i.fieldName)}_getMenuConfig(e){return{items:[{label:this._translations.hideField,icon:"view-hide",autoCloseMenu:!0,clickFunction:()=>{this._handleHideClick(e)}}]}}_handleHideClick(e){this._columnsInfo&&this._table&&(this._columnsInfo[e]=!1,this._table.hideColumn(e),this._table.tableTemplate&&this._table.tableTemplate.columnTemplates.forEach(t=>{t.fieldName===e&&(t.visible=!1)}))}};E("layer-table",I);return I},"widgets/FeatureTable","core/reactiveUtils","rest/support/RelationshipQuery","widgets/FeatureTable/support/TableTemplate",a,c,d,e)
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import b from"./KZMJQGVV.js";import a from"./C6JAM52C.js";import{K as J,ob as B,pb as S,r as N,ra as M}from"./HE2XAIDT.js";import{g as O}from"./JUUVYK2H.js";export default $arcgis.t(([{A:x,D:U,E:w,n:D,w:k,x:z,z:T},{a:v,b:h,c:K,e:p}])=>{var V=class{constructor(e,r,s){this.cMissingImageDataURI="https://static.arcgis.com/images/solution.png",this.cardCache=[],this.cardCacheParams={q:"",categoriesAsStr:"[]",sortField:"title",sortOrder:"asc"},this.locale=e,this.orgUrl=r,this.portalUrl=s,this.anonAgolSession=new O({}),this.agolPortalUrl=x(s)}addToCache(e){this.cardCache.push(e)}getCache(){return this.cardCache}removeFromCache(e){this.cardCache=this.cardCache.filter(r=>r.id!==e)}requestAvailableSolutionCards(e,r,s,t,o,n,a,i){let m=a?.start?a.start:1,g=a?.num?a.num:24,P=this.portalUrl+"/sharing/rest",f=this.agolPortalUrl+"/sharing/rest",C=this.anonAgolSession,q=JSON.stringify(e.categories);if(this.cardCacheParams.q!==e.q||this.cardCacheParams.categoriesAsStr!==q||e.sortField==="relevance"?(this.cardCache=[],this.cardCacheParams={q:e.q,categoriesAsStr:q,sortField:e.sortField,sortOrder:e.sortOrder}):(this.cardCacheParams.sortField!==e.sortField||this.cardCacheParams.sortOrder!==e.sortOrder)&&(this.cardCacheParams.sortField=e.sortField,this.cardCacheParams.sortOrder=e.sortOrder,this.cardCache=p(this.cardCache,this.cardCacheParams.sortField,this.cardCacheParams.sortOrder)),this.cardCache.length>0){let c;if(i&&i.size>0){let d=v(this.cardCache,i);c=h(d,m,g)}else c=h(this.cardCache,m,g);return Promise.resolve(c)}let A={filter:e.filter,sortField:e.sortField,sortOrder:e.sortOrder,categories:e?.categories?this.convertSearchCategories(e.categories):"",signal:n},y=[];if(r&&!o){let c=t||new O({});y.push(S(r,e.q,c,A,P))}return s&&o&&y.push(S(s,e.q,C,A,f)),Promise.allSettled(y).then(c=>{let d=[];c.forEach(u=>{if(u.status==="fulfilled"){let I=u.value,b="",R=!1;b=this.agolPortalUrl,R=!0,I.results.forEach(E=>{E.sourcePortalUrl=b,E.knownToBePublicSource=R}),d.push(I)}else if(u.status==="rejected")throw new Error(u.reason.message?u.reason.message:"cannotAccessAGO")}),d.length===0?this.cardCache=[]:d.length===1?this.cardCache=this.getCardsFromResponse(d[0]):this.cardCache=p(this.getCardsFromResponse(this.mergeResponses(d)),this.cardCacheParams.sortField,this.cardCacheParams.sortOrder);let F;if(i&&i.size>0){let u=v(this.cardCache,i);F=h(u,m,g)}else F=h(this.cardCache,m,g);return Promise.resolve(F)}).catch(c=>Promise.reject(new Error(c.message)))}requestDeployedSolutionCards(e,r,s="",t){let o=this.portalUrl+"/sharing/rest";if(t.aborted)return Promise.resolve([]);if(this.cardCacheParams.q!==e.q||this.cardCacheParams.categoriesAsStr!==JSON.stringify(e.q)||e.sortField==="relevance"?(this.cardCache=[],this.cardCacheParams={q:e.q,categoriesAsStr:"[]",sortField:e.sortField,sortOrder:e.sortOrder}):(this.cardCacheParams.sortField!==e.sortField||this.cardCacheParams.sortOrder!==e.sortOrder)&&(this.cardCacheParams.sortField=e.sortField,this.cardCacheParams.sortOrder=e.sortOrder,this.cardCache=p(this.cardCache,this.cardCacheParams.sortField,this.cardCacheParams.sortOrder)),t.aborted)return Promise.resolve([]);if(this.cardCache.length>0){let a=h(this.cardCache,1,this.cardCache.length);return Promise.resolve(a)}let n={q:e.q,filter:e.filter,sortField:e.sortField,sortOrder:e.sortOrder,authentication:r,portal:o,categories:e?.categories?JSON.stringify(e.categories):"",num:e.num,signal:t};return s?M(s,r).then(a=>{if(t.aborted)return Promise.resolve([]);this.cardCache=this.getCardsFromResponse({results:[a]});let i=h(this.cardCache,1,this.cardCache.length);return Promise.resolve(i)}).catch(a=>Promise.reject(new Error(a))):B(n).then(a=>{this.cardCache=this.getCardsFromResponse(a);let i=h(this.cardCache,1,this.cardCache.length);return Promise.resolve(i)}).catch(a=>Promise.reject(new Error(a)))}convertSearchCategories(e){return e&&(Array.isArray(e)?e=e.map(r=>JSON.stringify(Array.isArray(r)?r:[r])):e=JSON.stringify([e])),e}getCardsFromResponse(e){return e.results.length>0?N(e.results).map(r=>{let s=r.sourcePortalUrl?r.sourcePortalUrl:this.portalUrl,t=r.sourcePortalUrl?r.sourcePortalUrl:this.orgUrl,o={id:r.id,title:r.title,snippet:r.snippet||"",description:r.description||"",url:r.url||"",itemUrl:`${t}/home/item.html`+z([{k:"id",v:r.id}])||"",thumbnailFilename:r.thumbnail,thumbnailUrl:T(r.id,r.thumbnail,this.cMissingImageDataURI,s),tryitUrl:r.url||"",typeKeywords:r.typeKeywords,learnMoreUrl:r.properties?.learnMoreUrl||"",createdMs:r.created,created:U(r.created,this.locale),modified:U(r.modified,this.locale),numViews:r.numViews,tags:r.tags,categories:r.groupCategories&&r.groupCategories.length>0?r.groupCategories:r.categories||[],licenseInfo:k(r.licenseInfo),deployCommonId:w(r.typeKeywords||[],"solutionid-"),deployVersion:w(r.typeKeywords||[],"solutionversion-"),canDelete:r.created>16183314e5,preview:this.preparePreviewImageUrls(r.id,r.properties?.preview,s),sourcePortalUrl:r.sourcePortalUrl||"",knownToBePublicSource:r.knownToBePublicSource||!1,waitId:"",relatedSolutions:J(r,"properties.relatedSolutions")||[],owner:r.owner};return o.deployCommonId!==""&&o.deployVersion!==""?o:null}).filter(r=>r!=null):[]}mergeResponses(e){let r=0;e.forEach(t=>r+=t.total);let s=[];return e.forEach(t=>s=s.concat(t.results)),{query:e[0].query,start:1,num:r,nextStart:-1,total:r,results:s}}preparePreviewImageUrls(e,r,s){return r?r.map(t=>(t.format==="image"&&(t.name=s+"/sharing/rest/content/items/"+e+"/resources/"+t.name),t)):[]}};async function L(l,e,r,s,t=D,o="created",n="desc",a=!1,i=[],m=[],g,P,f){if(!l?.IsSignedIn)return;let C={q:t,filter:"type:Solution",sortField:o,sortOrder:n,delay:a,categories:i,num:100};return C.q+=j(l,P),await G(e,C,s,m,f,g)}function j(l,e){let r="",s=l.PortalUserOrg,t=l.PortalUserName;return s&&(r+=" orgid:"+s),e!=="My organization's solutions"&&t&&(r+=" owner:"+t),r}async function G(l,e,r,s,t="",o){let n=await r.requestDeployedSolutionCards(e,l,t,o),a=K(n.cards,s);return{cards:n.cards,relatedSolutions:a}}return{a:V,b:L}},a,b)
2
+ import b from"./VZ4XWWT6.js";import a from"./4GJHDLZU.js";import{K as J,ob as B,pb as S,r as N,ra as M}from"./HE2XAIDT.js";import{g as O}from"./JUUVYK2H.js";export default $arcgis.t(([{A:x,D:U,E:w,n:D,w:k,x:z,z:T},{a:v,b:h,c:K,e:p}])=>{var V=class{constructor(e,r,s){this.cMissingImageDataURI="https://static.arcgis.com/images/solution.png",this.cardCache=[],this.cardCacheParams={q:"",categoriesAsStr:"[]",sortField:"title",sortOrder:"asc"},this.locale=e,this.orgUrl=r,this.portalUrl=s,this.anonAgolSession=new O({}),this.agolPortalUrl=x(s)}addToCache(e){this.cardCache.push(e)}getCache(){return this.cardCache}removeFromCache(e){this.cardCache=this.cardCache.filter(r=>r.id!==e)}requestAvailableSolutionCards(e,r,s,t,o,n,a,i){let m=a?.start?a.start:1,g=a?.num?a.num:24,P=this.portalUrl+"/sharing/rest",f=this.agolPortalUrl+"/sharing/rest",C=this.anonAgolSession,q=JSON.stringify(e.categories);if(this.cardCacheParams.q!==e.q||this.cardCacheParams.categoriesAsStr!==q||e.sortField==="relevance"?(this.cardCache=[],this.cardCacheParams={q:e.q,categoriesAsStr:q,sortField:e.sortField,sortOrder:e.sortOrder}):(this.cardCacheParams.sortField!==e.sortField||this.cardCacheParams.sortOrder!==e.sortOrder)&&(this.cardCacheParams.sortField=e.sortField,this.cardCacheParams.sortOrder=e.sortOrder,this.cardCache=p(this.cardCache,this.cardCacheParams.sortField,this.cardCacheParams.sortOrder)),this.cardCache.length>0){let c;if(i&&i.size>0){let d=v(this.cardCache,i);c=h(d,m,g)}else c=h(this.cardCache,m,g);return Promise.resolve(c)}let A={filter:e.filter,sortField:e.sortField,sortOrder:e.sortOrder,categories:e?.categories?this.convertSearchCategories(e.categories):"",signal:n},y=[];if(r&&!o){let c=t||new O({});y.push(S(r,e.q,c,A,P))}return s&&o&&y.push(S(s,e.q,C,A,f)),Promise.allSettled(y).then(c=>{let d=[];c.forEach(u=>{if(u.status==="fulfilled"){let I=u.value,b="",R=!1;b=this.agolPortalUrl,R=!0,I.results.forEach(E=>{E.sourcePortalUrl=b,E.knownToBePublicSource=R}),d.push(I)}else if(u.status==="rejected")throw new Error(u.reason.message?u.reason.message:"cannotAccessAGO")}),d.length===0?this.cardCache=[]:d.length===1?this.cardCache=this.getCardsFromResponse(d[0]):this.cardCache=p(this.getCardsFromResponse(this.mergeResponses(d)),this.cardCacheParams.sortField,this.cardCacheParams.sortOrder);let F;if(i&&i.size>0){let u=v(this.cardCache,i);F=h(u,m,g)}else F=h(this.cardCache,m,g);return Promise.resolve(F)}).catch(c=>Promise.reject(new Error(c.message)))}requestDeployedSolutionCards(e,r,s="",t){let o=this.portalUrl+"/sharing/rest";if(t.aborted)return Promise.resolve([]);if(this.cardCacheParams.q!==e.q||this.cardCacheParams.categoriesAsStr!==JSON.stringify(e.q)||e.sortField==="relevance"?(this.cardCache=[],this.cardCacheParams={q:e.q,categoriesAsStr:"[]",sortField:e.sortField,sortOrder:e.sortOrder}):(this.cardCacheParams.sortField!==e.sortField||this.cardCacheParams.sortOrder!==e.sortOrder)&&(this.cardCacheParams.sortField=e.sortField,this.cardCacheParams.sortOrder=e.sortOrder,this.cardCache=p(this.cardCache,this.cardCacheParams.sortField,this.cardCacheParams.sortOrder)),t.aborted)return Promise.resolve([]);if(this.cardCache.length>0){let a=h(this.cardCache,1,this.cardCache.length);return Promise.resolve(a)}let n={q:e.q,filter:e.filter,sortField:e.sortField,sortOrder:e.sortOrder,authentication:r,portal:o,categories:e?.categories?JSON.stringify(e.categories):"",num:e.num,signal:t};return s?M(s,r).then(a=>{if(t.aborted)return Promise.resolve([]);this.cardCache=this.getCardsFromResponse({results:[a]});let i=h(this.cardCache,1,this.cardCache.length);return Promise.resolve(i)}).catch(a=>Promise.reject(new Error(a))):B(n).then(a=>{this.cardCache=this.getCardsFromResponse(a);let i=h(this.cardCache,1,this.cardCache.length);return Promise.resolve(i)}).catch(a=>Promise.reject(new Error(a)))}convertSearchCategories(e){return e&&(Array.isArray(e)?e=e.map(r=>JSON.stringify(Array.isArray(r)?r:[r])):e=JSON.stringify([e])),e}getCardsFromResponse(e){return e.results.length>0?N(e.results).map(r=>{let s=r.sourcePortalUrl?r.sourcePortalUrl:this.portalUrl,t=r.sourcePortalUrl?r.sourcePortalUrl:this.orgUrl,o={id:r.id,title:r.title,snippet:r.snippet||"",description:r.description||"",url:r.url||"",itemUrl:`${t}/home/item.html`+z([{k:"id",v:r.id}])||"",thumbnailFilename:r.thumbnail,thumbnailUrl:T(r.id,r.thumbnail,this.cMissingImageDataURI,s),tryitUrl:r.url||"",typeKeywords:r.typeKeywords,learnMoreUrl:r.properties?.learnMoreUrl||"",createdMs:r.created,created:U(r.created,this.locale),modified:U(r.modified,this.locale),numViews:r.numViews,tags:r.tags,categories:r.groupCategories&&r.groupCategories.length>0?r.groupCategories:r.categories||[],licenseInfo:k(r.licenseInfo),deployCommonId:w(r.typeKeywords||[],"solutionid-"),deployVersion:w(r.typeKeywords||[],"solutionversion-"),canDelete:r.created>16183314e5,preview:this.preparePreviewImageUrls(r.id,r.properties?.preview,s),sourcePortalUrl:r.sourcePortalUrl||"",knownToBePublicSource:r.knownToBePublicSource||!1,waitId:"",relatedSolutions:J(r,"properties.relatedSolutions")||[],owner:r.owner};return o.deployCommonId!==""&&o.deployVersion!==""?o:null}).filter(r=>r!=null):[]}mergeResponses(e){let r=0;e.forEach(t=>r+=t.total);let s=[];return e.forEach(t=>s=s.concat(t.results)),{query:e[0].query,start:1,num:r,nextStart:-1,total:r,results:s}}preparePreviewImageUrls(e,r,s){return r?r.map(t=>(t.format==="image"&&(t.name=s+"/sharing/rest/content/items/"+e+"/resources/"+t.name),t)):[]}};async function L(l,e,r,s,t=D,o="created",n="desc",a=!1,i=[],m=[],g,P,f){if(!l?.IsSignedIn)return;let C={q:t,filter:"type:Solution",sortField:o,sortOrder:n,delay:a,categories:i,num:100};return C.q+=j(l,P),await G(e,C,s,m,f,g)}function j(l,e){let r="",s=l.PortalUserOrg,t=l.PortalUserName;return s&&(r+=" orgid:"+s),e!=="My organization's solutions"&&t&&(r+=" owner:"+t),r}async function G(l,e,r,s,t="",o){let n=await r.requestDeployedSolutionCards(e,l,t,o),a=K(n.cards,s);return{cards:n.cards,relatedSolutions:a}}return{a:V,b:L}},a,b)
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{b as r}from"./4AW45DXY.js";import{G as i,h as a,i as p}from"./P4PCDUNA.js";import"./QPIMTXPL.js";export default $arcgis.t(([l])=>{var d=a`:host{display:block}`,m="floating",h="instant-apps-control-panel",x="border-bottom: 1px solid var(--calcite-color-border-3)",s=class extends i{constructor(){super(...arguments),this.components=[]}static{this.properties={components:0,view:0}}static{this.styles=d}async load(){await this._handleComponents()}async _handleComponents(){let t=this._getComponentsNode();t&&(this._resetUI(t),this._attachComponents(t))}_attachComponents(t){this.components.forEach(this._attachmentComponent(t))}_attachmentComponent(t){return(o,e)=>{let n=o.content;o.isExpand&&(n=this._getExpand(o),o.expandIcon&&(n.expandIcon=o.expandIcon),o.collapseTooltip&&(n.collapseTooltip=o.collapseTooltip),o.expandTooltip&&(n.expandTooltip=o.expandTooltip)),n.container||(n.container=document.createElement("div")),t?.appendChild(n.container),e!==this.components.length-1&&(n.container.style=x)}}_getExpand(t){let{view:o}=this,{content:e,focusTrapDisabled:n}=t,c=t?.expanded??!1;return new l({content:e,view:o,expanded:c,mode:m,group:h,focusTrapDisabled:!!n})}_getComponentsNode(){return this.el.querySelector('[slot="components"]')}_resetUI(t){if(t.children.length>0)for(;t.firstChild;)t.removeChild(t.firstChild)}render(){return p`<slot name=components></slot>`}};r("instant-apps-control-panel",s);return s},"widgets/Expand")
2
+ import{b as r}from"./OR5M4R6K.js";import{G as i,h as a,i as p}from"./MRGCC5C4.js";import"./QPIMTXPL.js";export default $arcgis.t(([l])=>{var d=a`:host{display:block}`,m="floating",h="instant-apps-control-panel",x="border-bottom: 1px solid var(--calcite-color-border-3)",s=class extends i{constructor(){super(...arguments),this.components=[]}static{this.properties={components:0,view:0}}static{this.styles=d}async load(){await this._handleComponents()}async _handleComponents(){let t=this._getComponentsNode();t&&(this._resetUI(t),this._attachComponents(t))}_attachComponents(t){this.components.forEach(this._attachmentComponent(t))}_attachmentComponent(t){return(o,e)=>{let n=o.content;o.isExpand&&(n=this._getExpand(o),o.expandIcon&&(n.expandIcon=o.expandIcon),o.collapseTooltip&&(n.collapseTooltip=o.collapseTooltip),o.expandTooltip&&(n.expandTooltip=o.expandTooltip)),n.container||(n.container=document.createElement("div")),t?.appendChild(n.container),e!==this.components.length-1&&(n.container.style=x)}}_getExpand(t){let{view:o}=this,{content:e,focusTrapDisabled:n}=t,c=t?.expanded??!1;return new l({content:e,view:o,expanded:c,mode:m,group:h,focusTrapDisabled:!!n})}_getComponentsNode(){return this.el.querySelector('[slot="components"]')}_resetUI(t){if(t.children.length>0)for(;t.firstChild;)t.removeChild(t.firstChild)}render(){return p`<slot name=components></slot>`}};r("instant-apps-control-panel",s);return s},"widgets/Expand")
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a as u}from"./Q5ZGIKBW.js";import"./OQH2TBQQ.js";import"./3LTRULIX.js";import{b as f}from"./FCSE4STJ.js";import{E as l,F as n,G as m,I as d,J as b,h as c,i as a,q as p}from"./P4PCDUNA.js";import"./QPIMTXPL.js";var _=c`:host{display:block;--solutions-theme-foreground-color: var(--calcite-color-surface-2);width:100%}.width-full{width:100%}.height-full{height:100%}.display-flex{display:flex}.border-bottom-1{border-bottom-width:1px!important;border-width:0px}.border-bottom-2{border-bottom-width:2px!important;border-width:0px}.border-solid{border-style:solid;border-color:var(--calcite-color-border-3)}.border-left-right{border-left:1px solid var(--calcite-color-border-3);border-right:1px solid var(--calcite-color-border-3)}.action-bar-size{height:51px;width:100%}.map-list{display:flex;flex-direction:column;animation:calcite-scrim-fade-in var(--calcite-internal-animation-timing-medium) ease-in-out;background-color:var(--calcite-color-surface-1);z-index:1000}.display-none{display:none}.adjusted-height{max-height:calc(100% - 68px);overflow-y:auto}.position-absolute{position:absolute}.position-relative{position:relative}.popover-map-list{overflow:auto;width:250px}.max-width-200{max-width:200px}.min-width-150{min-width:150px}calcite-action-bar{--calcite-internal-action-bar-gap: 0px;--calcite-internal-action-bar-padding: 0px}`,h=class extends m{constructor(){super(),this.mapInfos=[],this.isMapLayout=!1,this.showMapListInPopover=!1,this.referenceElement="",this.selectedWebMapId="",this._mapListExpanded=!1,this._isValidWebMap=!0,this._translations=u({name:"map-picker",blocking:!0}),this._list=l(),this._loadedId="",this._skipEditCheck=!1,this._popover=l(),this._mapPickerButton=l(),this.beforeMapInfoChange=p(),this.mapInfoChange=p(),this.listenOn(window,"mapChanged",this.mapChanged)}static{this.properties={mapInfos:0,isMapLayout:5,height:9,showMapListInPopover:5,referenceElement:1,selectedWebMapId:1,_mapListExpanded:16,_isValidWebMap:16,_translations:16}}static{this.styles=_}willUpdate(t){t.has("mapInfos")&&this.hasUpdated&&this.mapInfosWatchHandler(this.mapInfos,t.get("mapInfos")),t.has("selectedWebMapId")&&this.hasUpdated&&this.selectedWebMapIdWatchHandler(this.selectedWebMapId)}_webMapInfoWatchHandler(t,e){t&&JSON.stringify(t)!==JSON.stringify(e)&&(this._loadedId=t?.id,this.mapInfoChange.emit(t))}async mapInfosWatchHandler(t,e){if(t&&JSON.stringify(t)!==JSON.stringify(e)){let i=this._getWebMapInfo();this._webMapSelected(i)}}async selectedWebMapIdWatchHandler(t){this._loadedId=t}async setMapByID(t,e=!1){this._skipEditCheck=e;let i=this.mapInfos?.filter(s=>s.id===t);t&&i?.length>0&&this._webMapSelected(i[0]),this._skipEditCheck=!1}async close(){this._mapListExpanded&&(this._mapListExpanded=!1)}async toggle(t){this._mapListExpanded=t}async mapChanged(t){let e=t.detail.isValid;this._isValidWebMap=e}render(){return a`${!this.showMapListInPopover&&this._getToolbar()||""}${this.showMapListInPopover?this._getMapListPopover():this._getMapNameList(this._mapListExpanded)}`}loaded(){let t=this._getWebMapInfo();t&&this._webMapSelected(t)}_getMapPicker(){let t="map-picker-expand-toggle",e=this._mapListExpanded?"chevron-up":"chevron-down",i=this.isMapLayout?"":"position-absolute",s=this.isMapLayout?"max-width-200":"width-full",r=this._isValidWebMap?"map":"exclamation-mark-triangle";return a`<div class=${d(s)}><calcite-button alignment=icon-end-space-between appearance=transparent class=${`width-full height-full ${i}`} .iconEnd=${e} .iconStart=${r} id=${t} kind=neutral @click=${()=>this._chooseMap()} width=full ${n(this._mapPickerButton)}>${this._getWebMapInfo().name}</calcite-button><calcite-tooltip placement=bottom .referenceElement=${t}><span>${this._translations.switchMap}</span></calcite-tooltip></div>`}_getToolbar(){let t=this.isMapLayout?"border-bottom-1":"border-bottom-2",e=this.isMapLayout?"":"position-relative";return a`<div class=${`display-flex border-left-right ${e}`}><calcite-action-bar class=${`border-solid action-bar-size overflow-hidden ${t}`} expand-disabled layout=horizontal slot=header>${this._getMapPicker()}${this._updateMapPickerIconColor()}</calcite-action-bar></div>`}_updateMapPickerIconColor(){this._mapPickerButton.value?.componentOnReady().then(()=>{let t=this._mapPickerButton.value?.shadowRoot?.lastChild,e=null;if(t&&t instanceof HTMLElement){let i=t.getElementsByClassName("icon icon--start");i.length>0&&(e=i[0])}e&&(this._isValidWebMap?e.style.setProperty("color","var(--calcite-color-text-1)"):e.style.setProperty("color","var(--calcite-color-status-danger)"))})}_getMapNameList(t){let e=this.showMapListInPopover?"position-relative":"position-absolute",i=this.isMapLayout?"max-width-200 min-width-150":"width-full",s=this.isMapLayout?"border-bottom-1":"border-bottom-2",r=t?`map-list border-solid ${s} adjusted-height ${i} ${e}`:"display-none";return a`<div class=${d(r)}><calcite-list id=mapList label selection-appearance=border selection-mode=single-persist ${n(this._list)}>${this.mapInfos.map(o=>a`<calcite-list-item .label=${o.name} @click=${()=>this._webMapSelected(o)} .selected=${o.id===this._loadedId} .value=${o.id}></calcite-list-item>`)}</calcite-list></div>`}_getMapListPopover(){let t=this.height&&this.height>0&&this.showMapListInPopover?{"max-height":`${this.height.toString()}px`}:{};return a`<calcite-popover auto-close focus-trap-disabled .label=${this.referenceElement} placement=left .referenceElement=${this.referenceElement} ${n(this._popover)}><div style=${b(t)} class=popover-map-list>${this._getMapNameList(!0)}</div></calcite-popover>`}_getWebMapInfo(){let t=this.mapInfos.find(e=>this.selectedWebMapId===e.id);if(!t&&this.mapInfos.length>0&&(t=this.mapInfos[0]),!t)throw new Error("No valid web map info available");return t}_webMapSelected(t){let e=this._loadedId;this._loadedId=t.id;let i=!1;this._skipEditCheck?i=!0:this.beforeMapInfoChange.emit({currentId:e,mapInfo:t,ref:this.el}).defaultPrevented||(i=!0),i&&(this._webMapInfoWatchHandler(t,this._webMapInfo),this._webMapInfo=t),this._popover.value&&(this._popover.value.open=!1),this._mapListExpanded=!1}_chooseMap(){this._mapListExpanded=!this._mapListExpanded}};f("map-picker",h);export{h as MapPicker};
2
+ import{a as u}from"./HO5JGUUI.js";import"./CR7KUQQF.js";import"./7UVBIBQS.js";import{b as f}from"./JSJYFWT6.js";import{E as l,F as n,G as m,I as d,J as b,h as c,i as a,q as p}from"./MRGCC5C4.js";import"./QPIMTXPL.js";var _=c`:host{display:block;--solutions-theme-foreground-color: var(--calcite-color-surface-2);width:100%}.width-full{width:100%}.height-full{height:100%}.display-flex{display:flex}.border-bottom-1{border-bottom-width:1px!important;border-width:0px}.border-bottom-2{border-bottom-width:2px!important;border-width:0px}.border-solid{border-style:solid;border-color:var(--calcite-color-border-3)}.border-left-right{border-left:1px solid var(--calcite-color-border-3);border-right:1px solid var(--calcite-color-border-3)}.action-bar-size{height:51px;width:100%}.map-list{display:flex;flex-direction:column;animation:calcite-scrim-fade-in var(--calcite-internal-animation-timing-medium) ease-in-out;background-color:var(--calcite-color-surface-1);z-index:1000}.display-none{display:none}.adjusted-height{max-height:calc(100% - 68px);overflow-y:auto}.position-absolute{position:absolute}.position-relative{position:relative}.popover-map-list{overflow:auto;width:250px}.max-width-200{max-width:200px}.min-width-150{min-width:150px}calcite-action-bar{--calcite-internal-action-bar-gap: 0px;--calcite-internal-action-bar-padding: 0px}`,h=class extends m{constructor(){super(),this.mapInfos=[],this.isMapLayout=!1,this.showMapListInPopover=!1,this.referenceElement="",this.selectedWebMapId="",this._mapListExpanded=!1,this._isValidWebMap=!0,this._translations=u({name:"map-picker",blocking:!0}),this._list=l(),this._loadedId="",this._skipEditCheck=!1,this._popover=l(),this._mapPickerButton=l(),this.beforeMapInfoChange=p(),this.mapInfoChange=p(),this.listenOn(window,"mapChanged",this.mapChanged)}static{this.properties={mapInfos:0,isMapLayout:5,height:9,showMapListInPopover:5,referenceElement:1,selectedWebMapId:1,_mapListExpanded:16,_isValidWebMap:16,_translations:16}}static{this.styles=_}willUpdate(t){t.has("mapInfos")&&this.hasUpdated&&this.mapInfosWatchHandler(this.mapInfos,t.get("mapInfos")),t.has("selectedWebMapId")&&this.hasUpdated&&this.selectedWebMapIdWatchHandler(this.selectedWebMapId)}_webMapInfoWatchHandler(t,e){t&&JSON.stringify(t)!==JSON.stringify(e)&&(this._loadedId=t?.id,this.mapInfoChange.emit(t))}async mapInfosWatchHandler(t,e){if(t&&JSON.stringify(t)!==JSON.stringify(e)){let i=this._getWebMapInfo();this._webMapSelected(i)}}async selectedWebMapIdWatchHandler(t){this._loadedId=t}async setMapByID(t,e=!1){this._skipEditCheck=e;let i=this.mapInfos?.filter(s=>s.id===t);t&&i?.length>0&&this._webMapSelected(i[0]),this._skipEditCheck=!1}async close(){this._mapListExpanded&&(this._mapListExpanded=!1)}async toggle(t){this._mapListExpanded=t}async mapChanged(t){let e=t.detail.isValid;this._isValidWebMap=e}render(){return a`${!this.showMapListInPopover&&this._getToolbar()||""}${this.showMapListInPopover?this._getMapListPopover():this._getMapNameList(this._mapListExpanded)}`}loaded(){let t=this._getWebMapInfo();t&&this._webMapSelected(t)}_getMapPicker(){let t="map-picker-expand-toggle",e=this._mapListExpanded?"chevron-up":"chevron-down",i=this.isMapLayout?"":"position-absolute",s=this.isMapLayout?"max-width-200":"width-full",r=this._isValidWebMap?"map":"exclamation-mark-triangle";return a`<div class=${d(s)}><calcite-button alignment=icon-end-space-between appearance=transparent class=${`width-full height-full ${i}`} .iconEnd=${e} .iconStart=${r} id=${t} kind=neutral @click=${()=>this._chooseMap()} width=full ${n(this._mapPickerButton)}>${this._getWebMapInfo().name}</calcite-button><calcite-tooltip placement=bottom .referenceElement=${t}><span>${this._translations.switchMap}</span></calcite-tooltip></div>`}_getToolbar(){let t=this.isMapLayout?"border-bottom-1":"border-bottom-2",e=this.isMapLayout?"":"position-relative";return a`<div class=${`display-flex border-left-right ${e}`}><calcite-action-bar class=${`border-solid action-bar-size overflow-hidden ${t}`} expand-disabled layout=horizontal slot=header>${this._getMapPicker()}${this._updateMapPickerIconColor()}</calcite-action-bar></div>`}_updateMapPickerIconColor(){this._mapPickerButton.value?.componentOnReady().then(()=>{let t=this._mapPickerButton.value?.shadowRoot?.lastChild,e=null;if(t&&t instanceof HTMLElement){let i=t.getElementsByClassName("icon icon--start");i.length>0&&(e=i[0])}e&&(this._isValidWebMap?e.style.setProperty("color","var(--calcite-color-text-1)"):e.style.setProperty("color","var(--calcite-color-status-danger)"))})}_getMapNameList(t){let e=this.showMapListInPopover?"position-relative":"position-absolute",i=this.isMapLayout?"max-width-200 min-width-150":"width-full",s=this.isMapLayout?"border-bottom-1":"border-bottom-2",r=t?`map-list border-solid ${s} adjusted-height ${i} ${e}`:"display-none";return a`<div class=${d(r)}><calcite-list id=mapList label selection-appearance=border selection-mode=single-persist ${n(this._list)}>${this.mapInfos.map(o=>a`<calcite-list-item .label=${o.name} @click=${()=>this._webMapSelected(o)} .selected=${o.id===this._loadedId} .value=${o.id}></calcite-list-item>`)}</calcite-list></div>`}_getMapListPopover(){let t=this.height&&this.height>0&&this.showMapListInPopover?{"max-height":`${this.height.toString()}px`}:{};return a`<calcite-popover auto-close focus-trap-disabled .label=${this.referenceElement} placement=left .referenceElement=${this.referenceElement} ${n(this._popover)}><div style=${b(t)} class=popover-map-list>${this._getMapNameList(!0)}</div></calcite-popover>`}_getWebMapInfo(){let t=this.mapInfos.find(e=>this.selectedWebMapId===e.id);if(!t&&this.mapInfos.length>0&&(t=this.mapInfos[0]),!t)throw new Error("No valid web map info available");return t}_webMapSelected(t){let e=this._loadedId;this._loadedId=t.id;let i=!1;this._skipEditCheck?i=!0:this.beforeMapInfoChange.emit({currentId:e,mapInfo:t,ref:this.el}).defaultPrevented||(i=!0),i&&(this._webMapInfoWatchHandler(t,this._webMapInfo),this._webMapInfo=t),this._popover.value&&(this._popover.value.open=!1),this._mapListExpanded=!1}_chooseMap(){this._mapListExpanded=!this._mapListExpanded}};f("map-picker",h);export{h as MapPicker};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import f from"./33AIZBI7.js";import e from"./W6N2C4I3.js";import b from"./KGUELU4O.js";import a from"./2C676HQP.js";import{a as p}from"./HSQV7EUD.js";import{b as l}from"./4AW45DXY.js";import"./OQH2TBQQ.js";import"./3LTRULIX.js";import{G as o,I as d,K as c,h as s,i as t,q as r}from"./P4PCDUNA.js";import"./QPIMTXPL.js";export default $arcgis.t(([,,{b:h},{i:g,t:v}])=>{var x=s`:host{display:block;--instant-apps-interactive-legend-heading-font-size: 1rem;--instant-apps-interactive-legend-heading-font-weight: 500;--instant-apps-interactive-legend-secondary-color: var( --calcite-color-text-1 );--instant-apps-interactive-legend-ui-padding: 15px 10px}:host .instant-apps-interactive-legend__header--compact .esri-widget__heading{font-size:.9rem}:host .esri-widget__heading{overflow:hidden;margin:0;display:inline-block;font-size:var(--calcite-font-size-1);font-weight:var(--instant-apps-interactive-legend-heading-font-weight)}:host header{display:flex;text-align:left;padding:var(--instant-apps-interactive-legend-ui-padding);background-color:var(--instant-apps-interactive-legend-secondary-background-color);color:var(--instant-apps-interactive-legend-secondary-color)}:host header h3{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:normal;color:var(--instant-apps-interactive-legend-secondary-color);margin-bottom:5px}:host header .instant-apps-interactive-legend__heading-text--group-item{-webkit-line-clamp:2;line-clamp:2}:host header span{width:100%;font-size:var(--instant-apps-interactive-legend-total-feature-count-font-size);color:var(--instant-apps-interactive-legend-secondary-color)}:host header .instant-apps-interactive-legend__header-action-container{display:flex;align-items:center}:host .esri-widget__heading header{padding:var(--instant-apps-interactive-legend-ui-padding)}:host .esri-widget--panel{margin:0}:host(.calcite-mode-dark) .instant-apps-interactive-legend__header{background-color:#242424;color:var(--calcite-color-text-1)}:host(.calcite-mode-light) .instant-apps-interactive-legend__header{background-color:#fff;color:var(--calcite-color-text-1)}`,e={label:"esri-legend__service-label",header:"esri-widget__heading",interacitveLegendHeader:"instant-apps-interactive-legend__header",headerActionContainer:"instant-apps-interactive-legend__header-action-container",compact:"instant-apps-interactive-legend__header--compact"},a=class extends o{constructor(){super(...arguments),this._messages=p({name:"instant-apps-interactive-legend"}),this.isChild=!1,this.expanded=!0,this.layerCaptionElementExpandUpdated=r()}static{this.properties={legendvm:0,featureCount:5,activeLayerInfo:0,isChild:5,expanded:5}}static{this.styles=x}toggleExpanded(){return()=>{this.expanded=!this.expanded,this.layerCaptionElementExpandUpdated.emit(this.expanded)}}render(){let m=g(this.activeLayerInfo),{expanded:n}=this,i=n?this._messages?.collapse:this._messages?.expand,f=this.isChild?" instant-apps-interactive-legend__heading-text--group-item":"",_=h.get("compact")?` ${e.compact}`:"";return t`<header class=${`${e.interacitveLegendHeader} ${v(this.el)}${_}`}><calcite-action @click=${this.toggleExpanded()} .icon=${n?"chevron-down":"chevron-up"} appearance=transparent .text=${i??""} .label=${i} scale=s></calcite-action><span><span class=${d(e.headerActionContainer)}><h3 class=${`${e.header} ${e.label}${f}`} title=${this.activeLayerInfo?.title??""??c}>${this.activeLayerInfo?.title}</h3></span>${this.featureCount&&m?t`<instant-apps-interactive-legend-count .activeLayerInfo=${this.activeLayerInfo} show-total .legendvm=${this.legendvm}></instant-apps-interactive-legend-count>`:null}</span></header>`}};l("instant-apps-interactive-legend-layer-element-caption",a);return a},a,b,e,f)
2
+ import f from"./DPSP2HYG.js";import e from"./UOGOGQ2H.js";import b from"./KGUELU4O.js";import a from"./AGMFVUEV.js";import{a as p}from"./G3CCK7KY.js";import{b as l}from"./OR5M4R6K.js";import"./CR7KUQQF.js";import"./7UVBIBQS.js";import{G as o,I as d,K as c,h as s,i as t,q as r}from"./MRGCC5C4.js";import"./QPIMTXPL.js";export default $arcgis.t(([,,{b:h},{i:g,t:v}])=>{var x=s`:host{display:block;--instant-apps-interactive-legend-heading-font-size: 1rem;--instant-apps-interactive-legend-heading-font-weight: 500;--instant-apps-interactive-legend-secondary-color: var( --calcite-color-text-1 );--instant-apps-interactive-legend-ui-padding: 15px 10px}:host .instant-apps-interactive-legend__header--compact .esri-widget__heading{font-size:.9rem}:host .esri-widget__heading{overflow:hidden;margin:0;display:inline-block;font-size:var(--calcite-font-size-1);font-weight:var(--instant-apps-interactive-legend-heading-font-weight)}:host header{display:flex;text-align:left;padding:var(--instant-apps-interactive-legend-ui-padding);background-color:var(--instant-apps-interactive-legend-secondary-background-color);color:var(--instant-apps-interactive-legend-secondary-color)}:host header h3{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:normal;color:var(--instant-apps-interactive-legend-secondary-color);margin-bottom:5px}:host header .instant-apps-interactive-legend__heading-text--group-item{-webkit-line-clamp:2;line-clamp:2}:host header span{width:100%;font-size:var(--instant-apps-interactive-legend-total-feature-count-font-size);color:var(--instant-apps-interactive-legend-secondary-color)}:host header .instant-apps-interactive-legend__header-action-container{display:flex;align-items:center}:host .esri-widget__heading header{padding:var(--instant-apps-interactive-legend-ui-padding)}:host .esri-widget--panel{margin:0}:host(.calcite-mode-dark) .instant-apps-interactive-legend__header{background-color:#242424;color:var(--calcite-color-text-1)}:host(.calcite-mode-light) .instant-apps-interactive-legend__header{background-color:#fff;color:var(--calcite-color-text-1)}`,e={label:"esri-legend__service-label",header:"esri-widget__heading",interacitveLegendHeader:"instant-apps-interactive-legend__header",headerActionContainer:"instant-apps-interactive-legend__header-action-container",compact:"instant-apps-interactive-legend__header--compact"},a=class extends o{constructor(){super(...arguments),this._messages=p({name:"instant-apps-interactive-legend"}),this.isChild=!1,this.expanded=!0,this.layerCaptionElementExpandUpdated=r()}static{this.properties={legendvm:0,featureCount:5,activeLayerInfo:0,isChild:5,expanded:5}}static{this.styles=x}toggleExpanded(){return()=>{this.expanded=!this.expanded,this.layerCaptionElementExpandUpdated.emit(this.expanded)}}render(){let m=g(this.activeLayerInfo),{expanded:n}=this,i=n?this._messages?.collapse:this._messages?.expand,f=this.isChild?" instant-apps-interactive-legend__heading-text--group-item":"",_=h.get("compact")?` ${e.compact}`:"";return t`<header class=${`${e.interacitveLegendHeader} ${v(this.el)}${_}`}><calcite-action @click=${this.toggleExpanded()} .icon=${n?"chevron-down":"chevron-up"} appearance=transparent .text=${i??""} .label=${i} scale=s></calcite-action><span><span class=${d(e.headerActionContainer)}><h3 class=${`${e.header} ${e.label}${f}`} title=${this.activeLayerInfo?.title??""??c}>${this.activeLayerInfo?.title}</h3></span>${this.featureCount&&m?t`<instant-apps-interactive-legend-count .activeLayerInfo=${this.activeLayerInfo} show-total .legendvm=${this.legendvm}></instant-apps-interactive-legend-count>`:null}</span></header>`}};l("instant-apps-interactive-legend-layer-element-caption",a);return a},a,b,e,f)