@esri/solutions-components 5.0.1 → 5.0.2-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/{QRUCDIZO.js → 2J6ZHQEF.js} +1 -1
- package/dist/cdn/3O3GVMWO.js +2 -0
- package/dist/cdn/{HK7YZNM4.js → 3WKRKVN4.js} +1 -1
- package/dist/cdn/{7GQ24AKO.js → 4FHS5SYC.js} +1 -1
- package/dist/cdn/{PCG2HRKC.js → 4PMJGKRS.js} +1 -1
- package/dist/cdn/{6VKEW33C.js → 54WM76XB.js} +1 -1
- package/dist/cdn/{P77GI3QL.js → 57LXGC2L.js} +1 -1
- package/dist/cdn/{VGC3RHQQ.js → 5CJSPIKU.js} +1 -1
- package/dist/cdn/{UAUP4JQ4.js → 5UAKLHDN.js} +1 -1
- package/dist/cdn/{WCGF6MFJ.js → 6E6CKB2R.js} +1 -1
- package/dist/cdn/{K5Z5A2RY.js → 6QDXYJ2A.js} +1 -1
- package/dist/cdn/{PQ7PCKL4.js → 7IAALB5U.js} +1 -1
- package/dist/cdn/{VCZPVG3A.js → 7VEBBW3O.js} +1 -1
- package/dist/cdn/{S4WGAHIV.js → AJRYDDC7.js} +1 -1
- package/dist/cdn/{2XLDIKUR.js → ASSNR5JI.js} +1 -1
- package/dist/cdn/{224I72SO.js → B5SYTUTT.js} +1 -1
- package/dist/cdn/{M5MCA232.js → BFHVGXZN.js} +1 -1
- package/dist/cdn/{243LX5NA.js → BGO3JXY3.js} +1 -1
- package/dist/cdn/{NU2NW3YW.js → BHHQFUCH.js} +1 -1
- package/dist/cdn/{P6NSLBDS.js → BN7W4V6O.js} +1 -1
- package/dist/cdn/{5SHA3PGC.js → C43NWBRR.js} +1 -1
- package/dist/cdn/{2SD4IYX3.js → CO37Q2G7.js} +1 -1
- package/dist/cdn/{TAHIBODN.js → ET27C34M.js} +1 -1
- package/dist/cdn/{HVE26GKL.js → ETMW3Z3K.js} +1 -1
- package/dist/cdn/{BXXYI7NG.js → FLK4LATH.js} +1 -1
- package/dist/cdn/{6UJALA2L.js → FUUWSZIZ.js} +1 -1
- package/dist/cdn/{E7UFN5JY.js → FZ4NFB5R.js} +1 -1
- package/dist/cdn/{VLIHU4DD.js → GRUGONVG.js} +1 -1
- package/dist/cdn/{4JMP7ZE6.js → HFSCLHH3.js} +1 -1
- package/dist/cdn/{SU77ODY2.js → HLPUNGB5.js} +1 -1
- package/dist/cdn/{4YJT24E5.js → I3SA63N4.js} +1 -1
- package/dist/cdn/{FMFUEICN.js → I5FU5F72.js} +1 -1
- package/dist/cdn/{WNOPX4X3.js → JCIUAWOV.js} +1 -1
- package/dist/cdn/{HTLJCLHR.js → KJSSBTJF.js} +1 -1
- package/dist/cdn/{O7AZMIQX.js → KSKNVJAL.js} +1 -1
- package/dist/cdn/{Y3XY5BXI.js → LFIJXE3U.js} +1 -1
- package/dist/cdn/{2333JKXT.js → M63QPB4V.js} +1 -1
- package/dist/cdn/{7PZQ2MP7.js → M7OEPT52.js} +1 -1
- package/dist/cdn/{RUU2LTYJ.js → MMZXFDQZ.js} +1 -1
- package/dist/cdn/{WGKOKVQY.js → N7QXUPEE.js} +1 -1
- package/dist/cdn/{XY5MX7TV.js → NQF577F4.js} +1 -1
- package/dist/cdn/{IZU7KP25.js → NQXUGAR7.js} +1 -1
- package/dist/cdn/NXG2TZQJ.js +2 -0
- package/dist/cdn/NZYAEBC7.js +2 -0
- package/dist/cdn/{SSL3U5CO.js → O4ABB4PQ.js} +1 -1
- package/dist/cdn/{RA35CIMF.js → OLDYKR5E.js} +1 -1
- package/dist/cdn/{3RZAPX3S.js → PF7VCNOY.js} +1 -1
- package/dist/cdn/{C5LZGCHH.js → QHXQS2TJ.js} +1 -1
- package/dist/cdn/{GU77W2GF.js → QJ4MQK3Y.js} +1 -1
- package/dist/cdn/{WPV4X3NK.js → QMDTLWB6.js} +1 -1
- package/dist/cdn/{SNN6XXHG.js → QXLM22NS.js} +1 -1
- package/dist/cdn/{ARXWEJFK.js → RWDE42UI.js} +1 -1
- package/dist/cdn/{TOLNZKKL.js → TAAFNJJG.js} +1 -1
- package/dist/cdn/{OLLLVTHU.js → TBJLV2A3.js} +1 -1
- package/dist/cdn/{PAKIDHHK.js → TUBYR7DR.js} +1 -1
- package/dist/cdn/{IQQXCY6C.js → TUGGGATS.js} +1 -1
- package/dist/cdn/{SS7F2SZ4.js → TXGCOPR2.js} +1 -1
- package/dist/cdn/{ZIPMI556.js → UCJQY6QB.js} +1 -1
- package/dist/cdn/{5MTMSAKC.js → UDPPJCXC.js} +1 -1
- package/dist/cdn/{VWDJZ7HA.js → UGXAX5D3.js} +1 -1
- package/dist/cdn/{76M3UWJF.js → ULDNFSZC.js} +1 -1
- package/dist/cdn/UYWF6PZK.js +2 -0
- package/dist/cdn/{NHKAOTFM.js → VCU5NJSP.js} +1 -1
- package/dist/cdn/{AV3KXTWF.js → VDDTJAF2.js} +1 -1
- package/dist/cdn/{YCLEJLXQ.js → VS7Q2BDJ.js} +1 -1
- package/dist/cdn/VU3OQQKP.js +2 -0
- package/dist/cdn/{SLXAZV5B.js → VYTGCKEU.js} +1 -1
- package/dist/cdn/{JUINWMBC.js → W53A2CNH.js} +1 -1
- package/dist/cdn/{6NMWB5NC.js → WZZG5H7Q.js} +1 -1
- package/dist/cdn/{SPBICIV2.js → X5T425K7.js} +1 -1
- package/dist/cdn/{QXSUDN7A.js → XKKGHOSR.js} +1 -1
- package/dist/cdn/{BZVRRVNB.js → Y6GYY3TH.js} +1 -1
- package/dist/cdn/{G2T6OYTB.js → YRN6NQC6.js} +1 -1
- package/dist/cdn/{JAOKRCFG.js → YU5HCUEF.js} +1 -1
- package/dist/cdn/{EMSOP52X.js → YUCIOMKU.js} +1 -1
- package/dist/cdn/{TE7VJ4KH.js → Z22WUH5B.js} +1 -1
- package/dist/cdn/{NNOOCMHD.js → Z53N3M4L.js} +1 -1
- package/dist/cdn/{NCTVUAXT.js → ZE5JOQG7.js} +1 -1
- package/dist/cdn/{HHKKBJCY.js → ZL6A7VRS.js} +1 -1
- package/dist/cdn/{JBJJMSR3.js → ZQJ2QLO5.js} +1 -1
- package/dist/cdn/{FNGWQOMU.js → ZRCMN3AQ.js} +1 -1
- package/dist/cdn/{MBVWXJW7.js → ZSOLZJPP.js} +1 -1
- package/dist/cdn/{OIFBNDN7.js → ZYTKA3NP.js} +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/runtime.js +2 -2
- package/dist/chunks/solutions-deploy-app-nav.js +1 -1
- package/dist/components/solution-details-panel/customElement.js +12 -12
- package/dist/components/solution-snapshot-gallery/customElement.js +14 -14
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/solutions-components_commit.txt +4 -4
- package/package.json +20 -20
- package/dist/cdn/7PY2VM2S.js +0 -2
- package/dist/cdn/CI66IACC.js +0 -2
- package/dist/cdn/ESOI3UW5.js +0 -2
- package/dist/cdn/PSXEKRGH.js +0 -2
- package/dist/cdn/S7XOHDIW.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
|
|
2
|
-
import{a as E}from"./LLYTIOG4.js";import{b as k}from"./PZ4L77M5.js";import c from"./KDIUYXBA.js";import a from"./UUYUTETH.js";import{a as V}from"./Y3XY5BXI.js";import"./36I27Q5R.js";import"./GDPFKW75.js";import{b as C}from"./S7XOHDIW.js";import{F as d,G as u,H as S,J as p,K as v,h as b,i as o,r as w,u as L}from"./46DQNAMV.js";import"./OR4HXHSY.js";export default $arcgis.t(([x,N,D,W,R,{a:$,d:G,f:T},{c:_,g:I,j:O}])=>{var P=b`@layer{:host{display:block}.div-visible{display:inherit}.div-not-visible{display:none}.padding-bottom-1{padding-bottom:1rem}.padding-top-1{padding-top:1rem}.search-widget{width:100%!important;border:1px solid var(--calcite-color-border-input)}.w-100{width:100%}.search-distance{display:flex;padding-top:1rem}.font-bold{font:bold}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.tooltip-container{display:flex}.padding-start-1-2{padding-inline-start:.5rem}.padding-end-1-2{padding-inline-end:.5rem}.icon{--calcite-color-icon-color: var(--calcite-color-brand)}.tooltip-message{padding:5px 8px;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-color-text-2);max-width:400px}}`,m=class extends S{constructor(){super(),this.bufferColor=[227,139,79,.8],this.bufferOutlineColor=[255,255,255],this.customLabelEnabled=!1,this.enabledLayerIds=[],this.enableLayerFeatures=!0,this.enableLayerFeaturesOnLoad=!1,this.enableSearchDistance=!0,this.enableSearchDistanceOnLoad=!1,this.enableSketchTools=!0,this.geometries=[],this.headerLabelClass="font-bold",this.isUpdate=!1,this.layerViews=[],this.noResultText="",this.selectionLayerIds=[],this.searchDistanceEnabled=!1,this.useLayerFeaturesEnabled=!1,this._numSelected=0,this._searchTerm="",this._selectionLoading=!1,this._translations=V({name:"map-select-tools",blocking:!0}),this._bufferTools=d(),this._drawTools=d(),this._labelName=d(),this._pnContextConsumer=k({context:E,subscribe:!0}),this._searchElement=d(),this._selectedIds=[],this._selectionLabel="",this._graphics=[],this._featuresCollection={},this.selectionSetChange=w(),this.listenOn(window,"searchConfigurationChange",this.searchConfigurationChangeChanged),this.listenOn(window,"distanceChanged",this.distanceChanged),this.listenOn(window,"unitChanged",this.unitChanged)}static{this.properties={bufferColor:1,bufferOutlineColor:1,customLabelEnabled:5,enabledLayerIds:0,enableLayerFeatures:5,enableLayerFeaturesOnLoad:5,enableSearchDistance:5,enableSearchDistanceOnLoad:5,enableSketchTools:5,defaultBufferDistance:9,defaultBufferUnit:1,geometries:0,headerLabelClass:1,isUpdate:5,layerViews:0,mapView:0,noResultText:1,searchConfiguration:0,selectionSet:0,selectionLayerIds:0,selectLayerView:0,sketchLineSymbol:0,sketchPointSymbol:0,sketchPolygonSymbol:0,searchDistanceEnabled:5,useLayerFeaturesEnabled:5,_numSelected:16,_searchTerm:16,_selectionLoading:16,_translations:16}}static{this.styles=P}static{this.shadowRootOptions=L}willUpdate(e){e.has("geometries")&&(this.hasUpdated||this.geometries?.length>0)&&this.watchGeometriesHandler(this.geometries,e.get("geometries")),e.has("mapView")&&this.mapView&&this.mapViewWatchHandler(this.mapView,e.get("mapView")),e.has("searchConfiguration")&&this.searchConfiguration&&this.watchSearchConfigurationHandler(this.searchConfiguration,e.get("searchConfiguration")),e.has("defaultBufferUnit")&&this.hasUpdated&&(this.selectionSet&&(this.selectionSet.unit=this.defaultBufferUnit),this._bufferTools.value&&this.defaultBufferUnit!==void 0&&(this._bufferTools.value.unit=this.defaultBufferUnit),this._updateLabel()),e.has("defaultBufferDistance")&&this.hasUpdated&&(this.selectionSet&&(this.selectionSet.distance=this.defaultBufferDistance),this._updateLabel())}async watchGeometriesHandler(e,t){if(e!==t&&e.length>0)return this._highlightWithOIDsOrGeoms()}async mapViewWatchHandler(e,t){e&&e!==t&&await this._init()}async watchSearchConfigurationHandler(e,t){JSON.stringify(e)!==JSON.stringify(t)&&await this._initSearchWidget()}async clearSelection(){return this._clearResults(!0,!0)}async getSelection(){return/\S+/gm.test(this._selectionLabel)||await this._updateLabel(),{id:this.isUpdate&&this.selectionSet?this.selectionSet.id:Date.now(),searchResult:this._searchResult,buffer:this._bufferGeometry,distance:this._bufferTools.value?.distance,download:!0,unit:this._bufferTools.value?.unit,label:this._selectionLabel,selectedIds:this._selectedIds,layerView:this.selectLayerView,geometries:this.geometries,graphics:this._graphics,selectLayers:this.layerViews,skipGeomOIDs:this._skipGeomOIDs,searchDistanceEnabled:this.searchDistanceEnabled,workflowType:this._workflowType,useLayerFeaturesEnabled:this.useLayerFeaturesEnabled,sketchGraphic:this._sketchGraphic}}searchConfigurationChangeChanged(e){this.searchConfiguration=e.detail}async distanceChanged(e){await this._distanceChanged(e.detail)}async unitChanged(e){e.detail.newValue!==e.detail.oldValue&&(this._unit=e.detail.newValue,await this._updateLabel())}async loaded(){await this._init()}render(){let e=this.enableSketchTools?"":"display-none",t=this.enableSketchTools?"padding-top-1":"";return o`${this._getMapLayerPicker()}<div class="border-bottom"></div><div class="padding-top-sides-1"><div class="search-widget" ${u(this._searchElement)}></div><div class=${p(t)}><map-draw-tools active class=${p(e)} .editGraphicsEnabled=${!this.useLayerFeaturesEnabled} .graphics=${this._graphics} .mapView=${this.mapView} @sketchGraphicsChange=${s=>{this._sketchGraphicsChanged(s)}} .pointSymbol=${this.sketchPointSymbol} .polygonSymbol=${this.sketchPolygonSymbol} .polylineSymbol=${this.sketchLineSymbol} ${u(this._drawTools)}></map-draw-tools></div>${this.enableSearchDistance?this._getBufferOptions():void 0}${this.enableLayerFeatures?this._getUseLayerFeaturesOptions():void 0}${this._getNumSelected()}</div><div class="border-bottom"></div>${this._getNameInput()}`}_getBufferOptions(){this.enableSearchDistanceOnLoad&&(this.searchDistanceEnabled=!0,this.enableSearchDistanceOnLoad=!1);let e=this.searchDistanceEnabled?"search-distance":"div-not-visible",t=typeof this.selectionSet?.distance=="number"?this.selectionSet.distance:this.defaultBufferDistance;return o`<div><div class="padding-top-1 display-flex"><calcite-label class="label-margin-0 w-100" layout=inline-space-between><div class="tooltip-container">${this._translations.searchDistance}<calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=question id=search-distance-icon scale=s></calcite-icon></div></calcite-label><calcite-popover closable label overlay-positioning=fixed reference-element=search-distance-icon><span class="tooltip-message">${this._translations.useSearchDistanceTootip}</span></calcite-popover><calcite-switch .checked=${this.searchDistanceEnabled} @calciteSwitchChange=${()=>this.searchDistanceEnabled=!this.searchDistanceEnabled}></calcite-switch></div><div class=${p(e)}><buffer-tools .disabled=${!this.searchDistanceEnabled} .distance=${t} .geometries=${this.geometries} @bufferComplete=${s=>{this._bufferComplete(s)}} .unit=${this.selectionSet?.unit||this.defaultBufferUnit} ${u(this._bufferTools)}></buffer-tools></div></div>`}_getUseLayerFeaturesOptions(){this.enableLayerFeaturesOnLoad&&(this.useLayerFeaturesEnabled=!0,this.enableLayerFeaturesOnLoad=!1);let e=this.useLayerFeaturesEnabled?"div-visible":"div-not-visible";return o`<div><div class="padding-top-1 display-flex"><calcite-label class="label-margin-0 w-100" layout=inline-space-between><div class="tooltip-container">${this._translations.useLayerFeatures}<calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=question id=use-layer-features-icon scale=s></calcite-icon></div></calcite-label><calcite-popover closable label overlay-positioning=fixed reference-element=use-layer-features-icon><span class="tooltip-message">${this._translations.useLayerFeaturesTooltip}</span></calcite-popover><calcite-switch .checked=${this.useLayerFeaturesEnabled} @calciteSwitchChange=${()=>{this._useLayerFeaturesEnabledChanged()}}></calcite-switch></div><div class=${`${e} padding-top-1`}><map-layer-picker .enabledLayerIds=${this.selectionLayerIds} .mapView=${this.mapView} @layerSelectionChange=${t=>{this._layerSelectionChange(t)}} .selectedIds=${this.layerViews.map(t=>t.layer.id)}></map-layer-picker></div></div>`}_getNumSelected(){let e=this._translations._lang==="en"?`${this._translations.selectionLoading}...`:this._translations.selectionLoading;return o`<div class="padding-top-1 padding-bottom-1" style=${v({"align-items":"end",display:"flex"})}>${this._selectionLoading?o`<div><calcite-loader class="info-blue padding-end-1-2" inline .label=${e||""} scale=m type=indeterminate></calcite-loader></div>`:o`<calcite-icon class="info-blue padding-end-1-2" icon=feature-layer scale=s></calcite-icon>`}<calcite-input-message class="info-blue" scale=m>${this._selectionLoading?e:this.noResultText&&this._numSelected===0?this.noResultText:this._translations.selectedFeatures.replace("{{n}}",this._numSelected.toString())}</calcite-input-message></div>`}_getNameInput(){let e=this.customLabelEnabled?"":"display-none";return o`<div class=${`padding-sides-1 padding-top-1 ${e}`}><calcite-label class=${p(this.headerLabelClass)}>${this._translations.listName}<calcite-input @input=${()=>{this._selectionLabel=this._labelName.value?this._labelName.value.value:""}} .placeholder=${this._translations.listNamePlaceholder} .value=${this._selectionLabel||""} ${u(this._labelName)}></calcite-input></calcite-label></div>`}_getMapLayerPicker(){let e=this.selectionSet?.layerView?.layer.id;return o`<div class="display-flex padding-sides-1 padding-bottom-1"><calcite-label class=${`${this.headerLabelClass} width-full label-margin-0`}>${this._translations.inputLayer}<map-layer-picker .enabledLayerIds=${this.enabledLayerIds} .mapView=${this.mapView} @layerSelectionChange=${t=>{this._inputLayerSelectionChange(t)}} .selectedIds=${this.selectLayerView?[this.selectLayerView.layer.id]:this.selectionSet&&e!==void 0?[e]:[]}></map-layer-picker></calcite-label></div>`}async _init(){this._initGraphicsLayer(),await this._initSelectionSet(),await this._initSearchWidget()}async _initSelectionSet(){this.selectionSet&&(this._searchTerm=this.selectionSet.searchResult?.name,this._searchResult=this.selectionSet.searchResult,this._selectedIds=this.selectionSet.selectedIds,this._skipGeomOIDs=this.selectionSet.skipGeomOIDs||[],this.searchDistanceEnabled=this.selectionSet.searchDistanceEnabled,this.useLayerFeaturesEnabled=this.selectionSet.useLayerFeaturesEnabled,this._distance=this.selectionSet.searchDistanceEnabled?this.selectionSet.distance:0,this._unit=this.selectionSet.unit,this._workflowType=this.selectionSet.workflowType,this.selectLayerView=this.selectionSet.layerView,this._sketchGraphic=this.selectionSet.sketchGraphic,this.geometries=[...this.selectionSet?.geometries||[]],this._graphics=this.geometries.reduce((e,t)=>{let s=t.type==="point"?this.sketchPointSymbol:t.type==="polyline"?this.sketchLineSymbol:this.sketchPolygonSymbol;return e.push(new D({geometry:t,symbol:s})),e},[]),this._selectionLabel=this.selectionSet?.label,this.useLayerFeaturesEnabled||await this._drawTools.value?.updateGraphics(),this.selectionSet.layerView&&this.mapView&&await O(this.selectionSet.selectedIds,this.selectionSet.layerView,this.mapView,!1))}async _initSearchWidget(){if(this.mapView&&this._searchElement.value){let e=this.searchConfiguration&&this._getSearchConfig(this.searchConfiguration,this.mapView),t={view:this.mapView,container:this._searchElement.value,searchTerm:this._searchTerm,...e};this._searchWidget?(this._searchWidget.view=this.mapView,this._searchWidget.searchTerm=this._searchTerm):this._searchWidget=new R(t),this._searchWidget&&(this._searchWidget.popupEnabled=!1,this._searchWidget.resultGraphicEnabled=!1,this._searchWidget.viewModel.addHandles(this._searchWidget.on("search-clear",()=>{let s=this._searchClearLabel();this._searchResult?.name&&this._clearResults(!1,s)})),this._searchWidget.viewModel.addHandles(this._searchWidget.on("select-result",s=>{this._selectResult(s.result)})),await this._searchWidget.when(()=>{this._searchWidget&&(this._searchWidget.allPlaceholder=this.searchConfiguration?.allPlaceholder&&this.searchConfiguration.allPlaceholder.toLowerCase()!=="find address or place"?this.searchConfiguration.allPlaceholder:this._translations.placeholder)}))}}async _selectResult(e){if(e){this._searchResult=e;let t=e.feature,s=t?.layer,i=this.selectLayerView?.layer,a=Number(t?.getObjectId()),l;s?.sourceJSON?.isView&&s.url&&(l=await this._getViewSourceUrl(s.url));let r;i?.sourceJSON?.isView&&i.url&&(r=await this._getViewSourceUrl(i.url));let c=s?.url?.toLowerCase(),n=l?.toLowerCase(),h=i?.url?.toLowerCase(),y=r?.toLowerCase(),g=c&&h&&(c===h||c===y||n===h||n===y)&&!Number.isNaN(a),F=g?[a]:void 0;this._workflowType="SEARCH",this._updateLabel();let f=[e.feature];this._updateSelection(f,g,F),this._drawTools.value&&(this._drawTools.value.graphics=f),this._searchWidget?.resultGraphic&&(this._searchWidget.resultGraphic.visible=!1)}else{let t=this._searchClearLabel();this._clearResults(!1,t)}}async _getViewSourceUrl(e){let t="",s=`${e}/sources?f=json`;try{let i=await x(s,{query:{f:"json"}});i?.data?.services?.length===1&&(t=i.data.services[0].url)}catch(i){console.log(i)}return t}_searchClearLabel(){return this._searchResult?.name&&this._labelName.value&&this._labelName.value.value.indexOf(this._searchResult.name)>-1}_getSearchConfig(e,t){let s=e?.sources;return s&&s?.length>0?(e={...e,includeDefaultSources:!1},s.forEach(i=>{if(i.hasOwnProperty("layer")){let a=i,l=a.layer?.id,r=l?t.map?.findLayerById(l):null,c=a?.layer?.url;r&&a?a.layer=r:c&&(a.layer=new N(c))}}),s?.forEach(i=>{if(i.hasOwnProperty("locator")){let a=i;if(a?.name==="ArcGIS World Geocoding Service"){let l=a.outFields||["Addr_type","Match_addr","StAddr","City"];a.outFields=l,a.singleLineFieldName="SingleLine"}a.url=a.url,delete a.url}})):e={...e,includeDefaultSources:!0},e}_initGraphicsLayer(){let e=this._pnContextConsumer.value,t=this._translations.bufferLayer;if(this.mapView){let s=this.mapView.map.layers.findIndex(i=>i.title===t);if(s>-1)this._bufferGraphicsLayer=this.mapView.map.layers.getItemAt(s);else if(this._bufferGraphicsLayer=new W({title:t,listMode:"hide"}),this._bufferGraphicsLayer){e.managedLayers[t]="buffer";let i=this.mapView.map.layers.findIndex(a=>a.title===this._translations.sketchLayer);i>-1?this.mapView.map.layers.add(this._bufferGraphicsLayer,i):this.mapView.map.layers.add(this._bufferGraphicsLayer)}}}async _sketchGraphicsChanged(e,t=!1){let s=e.detail.graphics;if(s.length>0&&s[0])if(t||(this._sketchGraphic=s[0]),this._workflowType=this.useLayerFeaturesEnabled?"SELECT":"SKETCH",this._workflowType==="SKETCH"&&this._drawTools.value&&await this._drawTools.value.updateGraphics(),await this._updateLabel(),this._clearSearchWidget(),this.useLayerFeaturesEnabled&&!t){let i=Array.isArray(s)?s.map(a=>a.geometry):this.geometries;await this._selectLayerFeatures(i[0])}else{let i=s.reduce((l,r)=>(r?.layer?.objectIdField?l.push(Number(r.attributes[r.layer.objectIdField])):r.getObjectId&&l.push(Number(r.getObjectId())),l),[]),a=e.detail.useOIDs&&i.length>0;this._updateSelection(s,a,i),a&&await this._highlightFeatures(i)}else await this._clearResults(!0,!0)}async _highlightWithOIDsOrGeoms(){return this._skipGeomOIDs&&this._skipGeomOIDs?.length>0?(this._selectedIds=this._skipGeomOIDs,this._highlightFeatures(this._selectedIds)):this._geomQuery(this.geometries)}async _highlightFeatures(e){let t=this._pnContextConsumer.value;if(t.removeHandles(),e.length>0&&this.selectLayerView&&this.mapView){let s=await I(e,this.selectLayerView,this.mapView);t.highlightHandles.push(s)}this._numSelected=e.length,this.selectionSetChange.emit(e.length)}async _selectFeatures(e){this._selectionLoading=!0,this._selectedIds=this.selectLayerView&&await $(e,this.selectLayerView.layer)||[],this._selectionLoading=!1,this._drawTools.value&&(this._drawTools.value.graphics=this._graphics),await this._highlightFeatures(this._selectedIds)}async _bufferComplete(e){this._bufferGeometry=Array.isArray(e.detail)?e.detail[0]:e.detail;let t=this._bufferTools.value&&Number(this._bufferTools.value.distance),s=0;if(this._bufferGeometry){let i={type:"simple-fill",color:this.bufferColor,outline:{color:this.bufferOutlineColor,width:1}},a=new D({geometry:this._bufferGeometry,symbol:i});this._bufferGraphicsLayer&&a&&this.mapView&&(this._bufferGraphicsLayer.removeAll(),this._bufferGraphicsLayer.add(a),await this._selectFeatures([this._bufferGeometry]),a.geometry?.extent&&await this.mapView.goTo(a.geometry.extent)),s=t,t=0}else this._bufferGraphicsLayer&&this._bufferGraphicsLayer.removeAll(),await this._highlightWithOIDsOrGeoms();await this._distanceChanged({oldValue:t,newValue:s})}_geomQuery(e){let t=T(e);return t?this._selectFeatures(t):Promise.resolve()}async _clearResults(e=!0,t=!1){this._selectedIds=[],this._distance=void 0,this._unit=void 0,t&&(this._selectionLabel="",this._labelName.value&&(this._labelName.value.value="")),this._bufferGraphicsLayer&&this._bufferGraphicsLayer.removeAll(),e&&this._searchWidget&&this._clearSearchWidget(),this._pnContextConsumer.value.removeHandles(),this._drawTools.value?.clear&&(this._graphics=[],await this._drawTools.value.clear()),this._numSelected=this._selectedIds.length,this.selectionSetChange.emit(this._numSelected)}_clearSearchWidget(){this._searchWidget?.clear(),this._searchResult=void 0}_updateSelection(e,t,s){this._selectedIds=t&&s?s:this._selectedIds,this._skipGeomOIDs=t?s:void 0,this.geometries=Array.isArray(e)?e.reduce((i,a)=>(a.geometry&&i.push(a.geometry),i),[]):this.geometries,this._graphics=e}async _updateLabel(){if(this.enableSearchDistance){let e=this._translations.sketch&&this._selectionLabel.indexOf(this._translations.sketch)>-1,t=this._translations.select&&this._selectionLabel.indexOf(this._translations.select)>-1,s=this._selectionLabel.indexOf(this._searchResult?.name)>-1,i=this._workflowType==="SEARCH"?this._searchResult?.name:this._workflowType==="SELECT"?this._translations.select:this._translations.sketch,a=this._bufferTools.value?this._bufferTools.value.unit:this._unit,l=this._bufferTools.value&&a&&await this._bufferTools.value.getTranslatedUnit(a),r=Number.isNaN(Number(this._distance))&&this._bufferTools.value?this._bufferTools.value.distance:this._distance;this._selectionLabel=e||t||s||!this._selectionLabel?`${i} ${r} ${l}`:this._selectionLabel,this._labelName.value&&(this._labelName.value.value=this._selectionLabel)}}async _layerSelectionChange(e){if(Array.isArray(e.detail)&&e.detail.length>0){let t=e.detail.reduce((s,i)=>(this.mapView&&s.push(_(this.mapView,i)),s),[]);return Promise.all(t).then(s=>{this.layerViews=s.reduce((i,a)=>(a&&i.push(a),i),[]),this._featuresCollection={},this._sketchGraphic&&this._sketchGraphicsChanged({detail:{graphics:[this._sketchGraphic],useOIDs:!1}})})}}async _inputLayerSelectionChange(e){let t=e?.detail?.length>0?e.detail[0]:"";(!this.selectLayerView||t!==this.selectLayerView.layer.id)&&(this.selectLayerView=this.mapView&&await _(this.mapView,t),await this._updateLabel(),this._bufferGeometry?await this._selectFeatures([this._bufferGeometry]):await this._highlightWithOIDsOrGeoms())}async _distanceChanged(e){e.newValue!==e.oldValue&&(this._distance=e.newValue,await this._updateLabel())}async _selectLayerFeatures(e){this._selectionLoading=!0;let t=this.layerViews.map(s=>(this._featuresCollection[s.layer.id]=[],G(0,s.layer,e,this._featuresCollection)));return Promise.all(t).then(async s=>{this._selectionLoading=!1;let i=[];s.forEach(n=>{Object.keys(n).forEach(h=>{i=i.concat(n[h])})});let a=!1;i.forEach(n=>{let h=n.geometry;n.symbol=h&&h.type==="point"?this.sketchPointSymbol:h&&h.type==="polyline"?this.sketchLineSymbol:h&&h.type==="polygon"?this.sketchPolygonSymbol:void 0,a=n?.layer?.hasOwnProperty("objectIdField")||n.hasOwnProperty("getObjectId")});let l=this.layerViews[0].layer,r=this.selectLayerView?.layer,c=a&&l.url===r?.url&&r?.layerId===l.layerId;await this._sketchGraphicsChanged({detail:{graphics:i,useOIDs:c}},!0)})}_useLayerFeaturesEnabledChanged(){this.useLayerFeaturesEnabled=!this.useLayerFeaturesEnabled,this._sketchGraphic&&this._sketchGraphicsChanged({detail:{graphics:[this._sketchGraphic],useOIDs:!1}})}};C("map-select-tools",m);return m},"request","layers/FeatureLayer","Graphic","layers/GraphicsLayer","widgets/Search",a,c)
|
|
2
|
+
import{a as E}from"./LLYTIOG4.js";import{b as k}from"./PZ4L77M5.js";import c from"./KDIUYXBA.js";import a from"./UUYUTETH.js";import{a as V}from"./LFIJXE3U.js";import"./36I27Q5R.js";import"./GDPFKW75.js";import{b as C}from"./VU3OQQKP.js";import{F as d,G as u,H as S,J as p,K as v,h as b,i as o,r as w,u as L}from"./46DQNAMV.js";import"./OR4HXHSY.js";export default $arcgis.t(([x,N,D,W,R,{a:$,d:G,f:T},{c:_,g:I,j:O}])=>{var P=b`@layer{:host{display:block}.div-visible{display:inherit}.div-not-visible{display:none}.padding-bottom-1{padding-bottom:1rem}.padding-top-1{padding-top:1rem}.search-widget{width:100%!important;border:1px solid var(--calcite-color-border-input)}.w-100{width:100%}.search-distance{display:flex;padding-top:1rem}.font-bold{font:bold}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.tooltip-container{display:flex}.padding-start-1-2{padding-inline-start:.5rem}.padding-end-1-2{padding-inline-end:.5rem}.icon{--calcite-color-icon-color: var(--calcite-color-brand)}.tooltip-message{padding:5px 8px;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-color-text-2);max-width:400px}}`,m=class extends S{constructor(){super(),this.bufferColor=[227,139,79,.8],this.bufferOutlineColor=[255,255,255],this.customLabelEnabled=!1,this.enabledLayerIds=[],this.enableLayerFeatures=!0,this.enableLayerFeaturesOnLoad=!1,this.enableSearchDistance=!0,this.enableSearchDistanceOnLoad=!1,this.enableSketchTools=!0,this.geometries=[],this.headerLabelClass="font-bold",this.isUpdate=!1,this.layerViews=[],this.noResultText="",this.selectionLayerIds=[],this.searchDistanceEnabled=!1,this.useLayerFeaturesEnabled=!1,this._numSelected=0,this._searchTerm="",this._selectionLoading=!1,this._translations=V({name:"map-select-tools",blocking:!0}),this._bufferTools=d(),this._drawTools=d(),this._labelName=d(),this._pnContextConsumer=k({context:E,subscribe:!0}),this._searchElement=d(),this._selectedIds=[],this._selectionLabel="",this._graphics=[],this._featuresCollection={},this.selectionSetChange=w(),this.listenOn(window,"searchConfigurationChange",this.searchConfigurationChangeChanged),this.listenOn(window,"distanceChanged",this.distanceChanged),this.listenOn(window,"unitChanged",this.unitChanged)}static{this.properties={bufferColor:1,bufferOutlineColor:1,customLabelEnabled:5,enabledLayerIds:0,enableLayerFeatures:5,enableLayerFeaturesOnLoad:5,enableSearchDistance:5,enableSearchDistanceOnLoad:5,enableSketchTools:5,defaultBufferDistance:9,defaultBufferUnit:1,geometries:0,headerLabelClass:1,isUpdate:5,layerViews:0,mapView:0,noResultText:1,searchConfiguration:0,selectionSet:0,selectionLayerIds:0,selectLayerView:0,sketchLineSymbol:0,sketchPointSymbol:0,sketchPolygonSymbol:0,searchDistanceEnabled:5,useLayerFeaturesEnabled:5,_numSelected:16,_searchTerm:16,_selectionLoading:16,_translations:16}}static{this.styles=P}static{this.shadowRootOptions=L}willUpdate(e){e.has("geometries")&&(this.hasUpdated||this.geometries?.length>0)&&this.watchGeometriesHandler(this.geometries,e.get("geometries")),e.has("mapView")&&this.mapView&&this.mapViewWatchHandler(this.mapView,e.get("mapView")),e.has("searchConfiguration")&&this.searchConfiguration&&this.watchSearchConfigurationHandler(this.searchConfiguration,e.get("searchConfiguration")),e.has("defaultBufferUnit")&&this.hasUpdated&&(this.selectionSet&&(this.selectionSet.unit=this.defaultBufferUnit),this._bufferTools.value&&this.defaultBufferUnit!==void 0&&(this._bufferTools.value.unit=this.defaultBufferUnit),this._updateLabel()),e.has("defaultBufferDistance")&&this.hasUpdated&&(this.selectionSet&&(this.selectionSet.distance=this.defaultBufferDistance),this._updateLabel())}async watchGeometriesHandler(e,t){if(e!==t&&e.length>0)return this._highlightWithOIDsOrGeoms()}async mapViewWatchHandler(e,t){e&&e!==t&&await this._init()}async watchSearchConfigurationHandler(e,t){JSON.stringify(e)!==JSON.stringify(t)&&await this._initSearchWidget()}async clearSelection(){return this._clearResults(!0,!0)}async getSelection(){return/\S+/gm.test(this._selectionLabel)||await this._updateLabel(),{id:this.isUpdate&&this.selectionSet?this.selectionSet.id:Date.now(),searchResult:this._searchResult,buffer:this._bufferGeometry,distance:this._bufferTools.value?.distance,download:!0,unit:this._bufferTools.value?.unit,label:this._selectionLabel,selectedIds:this._selectedIds,layerView:this.selectLayerView,geometries:this.geometries,graphics:this._graphics,selectLayers:this.layerViews,skipGeomOIDs:this._skipGeomOIDs,searchDistanceEnabled:this.searchDistanceEnabled,workflowType:this._workflowType,useLayerFeaturesEnabled:this.useLayerFeaturesEnabled,sketchGraphic:this._sketchGraphic}}searchConfigurationChangeChanged(e){this.searchConfiguration=e.detail}async distanceChanged(e){await this._distanceChanged(e.detail)}async unitChanged(e){e.detail.newValue!==e.detail.oldValue&&(this._unit=e.detail.newValue,await this._updateLabel())}async loaded(){await this._init()}render(){let e=this.enableSketchTools?"":"display-none",t=this.enableSketchTools?"padding-top-1":"";return o`${this._getMapLayerPicker()}<div class="border-bottom"></div><div class="padding-top-sides-1"><div class="search-widget" ${u(this._searchElement)}></div><div class=${p(t)}><map-draw-tools active class=${p(e)} .editGraphicsEnabled=${!this.useLayerFeaturesEnabled} .graphics=${this._graphics} .mapView=${this.mapView} @sketchGraphicsChange=${s=>{this._sketchGraphicsChanged(s)}} .pointSymbol=${this.sketchPointSymbol} .polygonSymbol=${this.sketchPolygonSymbol} .polylineSymbol=${this.sketchLineSymbol} ${u(this._drawTools)}></map-draw-tools></div>${this.enableSearchDistance?this._getBufferOptions():void 0}${this.enableLayerFeatures?this._getUseLayerFeaturesOptions():void 0}${this._getNumSelected()}</div><div class="border-bottom"></div>${this._getNameInput()}`}_getBufferOptions(){this.enableSearchDistanceOnLoad&&(this.searchDistanceEnabled=!0,this.enableSearchDistanceOnLoad=!1);let e=this.searchDistanceEnabled?"search-distance":"div-not-visible",t=typeof this.selectionSet?.distance=="number"?this.selectionSet.distance:this.defaultBufferDistance;return o`<div><div class="padding-top-1 display-flex"><calcite-label class="label-margin-0 w-100" layout=inline-space-between><div class="tooltip-container">${this._translations.searchDistance}<calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=question id=search-distance-icon scale=s></calcite-icon></div></calcite-label><calcite-popover closable label overlay-positioning=fixed reference-element=search-distance-icon><span class="tooltip-message">${this._translations.useSearchDistanceTootip}</span></calcite-popover><calcite-switch .checked=${this.searchDistanceEnabled} @calciteSwitchChange=${()=>this.searchDistanceEnabled=!this.searchDistanceEnabled}></calcite-switch></div><div class=${p(e)}><buffer-tools .disabled=${!this.searchDistanceEnabled} .distance=${t} .geometries=${this.geometries} @bufferComplete=${s=>{this._bufferComplete(s)}} .unit=${this.selectionSet?.unit||this.defaultBufferUnit} ${u(this._bufferTools)}></buffer-tools></div></div>`}_getUseLayerFeaturesOptions(){this.enableLayerFeaturesOnLoad&&(this.useLayerFeaturesEnabled=!0,this.enableLayerFeaturesOnLoad=!1);let e=this.useLayerFeaturesEnabled?"div-visible":"div-not-visible";return o`<div><div class="padding-top-1 display-flex"><calcite-label class="label-margin-0 w-100" layout=inline-space-between><div class="tooltip-container">${this._translations.useLayerFeatures}<calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=question id=use-layer-features-icon scale=s></calcite-icon></div></calcite-label><calcite-popover closable label overlay-positioning=fixed reference-element=use-layer-features-icon><span class="tooltip-message">${this._translations.useLayerFeaturesTooltip}</span></calcite-popover><calcite-switch .checked=${this.useLayerFeaturesEnabled} @calciteSwitchChange=${()=>{this._useLayerFeaturesEnabledChanged()}}></calcite-switch></div><div class=${`${e} padding-top-1`}><map-layer-picker .enabledLayerIds=${this.selectionLayerIds} .mapView=${this.mapView} @layerSelectionChange=${t=>{this._layerSelectionChange(t)}} .selectedIds=${this.layerViews.map(t=>t.layer.id)}></map-layer-picker></div></div>`}_getNumSelected(){let e=this._translations._lang==="en"?`${this._translations.selectionLoading}...`:this._translations.selectionLoading;return o`<div class="padding-top-1 padding-bottom-1" style=${v({"align-items":"end",display:"flex"})}>${this._selectionLoading?o`<div><calcite-loader class="info-blue padding-end-1-2" inline .label=${e||""} scale=m type=indeterminate></calcite-loader></div>`:o`<calcite-icon class="info-blue padding-end-1-2" icon=feature-layer scale=s></calcite-icon>`}<calcite-input-message class="info-blue" scale=m>${this._selectionLoading?e:this.noResultText&&this._numSelected===0?this.noResultText:this._translations.selectedFeatures.replace("{{n}}",this._numSelected.toString())}</calcite-input-message></div>`}_getNameInput(){let e=this.customLabelEnabled?"":"display-none";return o`<div class=${`padding-sides-1 padding-top-1 ${e}`}><calcite-label class=${p(this.headerLabelClass)}>${this._translations.listName}<calcite-input @input=${()=>{this._selectionLabel=this._labelName.value?this._labelName.value.value:""}} .placeholder=${this._translations.listNamePlaceholder} .value=${this._selectionLabel||""} ${u(this._labelName)}></calcite-input></calcite-label></div>`}_getMapLayerPicker(){let e=this.selectionSet?.layerView?.layer.id;return o`<div class="display-flex padding-sides-1 padding-bottom-1"><calcite-label class=${`${this.headerLabelClass} width-full label-margin-0`}>${this._translations.inputLayer}<map-layer-picker .enabledLayerIds=${this.enabledLayerIds} .mapView=${this.mapView} @layerSelectionChange=${t=>{this._inputLayerSelectionChange(t)}} .selectedIds=${this.selectLayerView?[this.selectLayerView.layer.id]:this.selectionSet&&e!==void 0?[e]:[]}></map-layer-picker></calcite-label></div>`}async _init(){this._initGraphicsLayer(),await this._initSelectionSet(),await this._initSearchWidget()}async _initSelectionSet(){this.selectionSet&&(this._searchTerm=this.selectionSet.searchResult?.name,this._searchResult=this.selectionSet.searchResult,this._selectedIds=this.selectionSet.selectedIds,this._skipGeomOIDs=this.selectionSet.skipGeomOIDs||[],this.searchDistanceEnabled=this.selectionSet.searchDistanceEnabled,this.useLayerFeaturesEnabled=this.selectionSet.useLayerFeaturesEnabled,this._distance=this.selectionSet.searchDistanceEnabled?this.selectionSet.distance:0,this._unit=this.selectionSet.unit,this._workflowType=this.selectionSet.workflowType,this.selectLayerView=this.selectionSet.layerView,this._sketchGraphic=this.selectionSet.sketchGraphic,this.geometries=[...this.selectionSet?.geometries||[]],this._graphics=this.geometries.reduce((e,t)=>{let s=t.type==="point"?this.sketchPointSymbol:t.type==="polyline"?this.sketchLineSymbol:this.sketchPolygonSymbol;return e.push(new D({geometry:t,symbol:s})),e},[]),this._selectionLabel=this.selectionSet?.label,this.useLayerFeaturesEnabled||await this._drawTools.value?.updateGraphics(),this.selectionSet.layerView&&this.mapView&&await O(this.selectionSet.selectedIds,this.selectionSet.layerView,this.mapView,!1))}async _initSearchWidget(){if(this.mapView&&this._searchElement.value){let e=this.searchConfiguration&&this._getSearchConfig(this.searchConfiguration,this.mapView),t={view:this.mapView,container:this._searchElement.value,searchTerm:this._searchTerm,...e};this._searchWidget?(this._searchWidget.view=this.mapView,this._searchWidget.searchTerm=this._searchTerm):this._searchWidget=new R(t),this._searchWidget&&(this._searchWidget.popupEnabled=!1,this._searchWidget.resultGraphicEnabled=!1,this._searchWidget.viewModel.addHandles(this._searchWidget.on("search-clear",()=>{let s=this._searchClearLabel();this._searchResult?.name&&this._clearResults(!1,s)})),this._searchWidget.viewModel.addHandles(this._searchWidget.on("select-result",s=>{this._selectResult(s.result)})),await this._searchWidget.when(()=>{this._searchWidget&&(this._searchWidget.allPlaceholder=this.searchConfiguration?.allPlaceholder&&this.searchConfiguration.allPlaceholder.toLowerCase()!=="find address or place"?this.searchConfiguration.allPlaceholder:this._translations.placeholder)}))}}async _selectResult(e){if(e){this._searchResult=e;let t=e.feature,s=t?.layer,i=this.selectLayerView?.layer,a=Number(t?.getObjectId()),l;s?.sourceJSON?.isView&&s.url&&(l=await this._getViewSourceUrl(s.url));let r;i?.sourceJSON?.isView&&i.url&&(r=await this._getViewSourceUrl(i.url));let c=s?.url?.toLowerCase(),n=l?.toLowerCase(),h=i?.url?.toLowerCase(),y=r?.toLowerCase(),g=c&&h&&(c===h||c===y||n===h||n===y)&&!Number.isNaN(a),F=g?[a]:void 0;this._workflowType="SEARCH",this._updateLabel();let f=[e.feature];this._updateSelection(f,g,F),this._drawTools.value&&(this._drawTools.value.graphics=f),this._searchWidget?.resultGraphic&&(this._searchWidget.resultGraphic.visible=!1)}else{let t=this._searchClearLabel();this._clearResults(!1,t)}}async _getViewSourceUrl(e){let t="",s=`${e}/sources?f=json`;try{let i=await x(s,{query:{f:"json"}});i?.data?.services?.length===1&&(t=i.data.services[0].url)}catch(i){console.log(i)}return t}_searchClearLabel(){return this._searchResult?.name&&this._labelName.value&&this._labelName.value.value.indexOf(this._searchResult.name)>-1}_getSearchConfig(e,t){let s=e?.sources;return s&&s?.length>0?(e={...e,includeDefaultSources:!1},s.forEach(i=>{if(i.hasOwnProperty("layer")){let a=i,l=a.layer?.id,r=l?t.map?.findLayerById(l):null,c=a?.layer?.url;r&&a?a.layer=r:c&&(a.layer=new N(c))}}),s?.forEach(i=>{if(i.hasOwnProperty("locator")){let a=i;if(a?.name==="ArcGIS World Geocoding Service"){let l=a.outFields||["Addr_type","Match_addr","StAddr","City"];a.outFields=l,a.singleLineFieldName="SingleLine"}a.url=a.url,delete a.url}})):e={...e,includeDefaultSources:!0},e}_initGraphicsLayer(){let e=this._pnContextConsumer.value,t=this._translations.bufferLayer;if(this.mapView){let s=this.mapView.map.layers.findIndex(i=>i.title===t);if(s>-1)this._bufferGraphicsLayer=this.mapView.map.layers.getItemAt(s);else if(this._bufferGraphicsLayer=new W({title:t,listMode:"hide"}),this._bufferGraphicsLayer){e.managedLayers[t]="buffer";let i=this.mapView.map.layers.findIndex(a=>a.title===this._translations.sketchLayer);i>-1?this.mapView.map.layers.add(this._bufferGraphicsLayer,i):this.mapView.map.layers.add(this._bufferGraphicsLayer)}}}async _sketchGraphicsChanged(e,t=!1){let s=e.detail.graphics;if(s.length>0&&s[0])if(t||(this._sketchGraphic=s[0]),this._workflowType=this.useLayerFeaturesEnabled?"SELECT":"SKETCH",this._workflowType==="SKETCH"&&this._drawTools.value&&await this._drawTools.value.updateGraphics(),await this._updateLabel(),this._clearSearchWidget(),this.useLayerFeaturesEnabled&&!t){let i=Array.isArray(s)?s.map(a=>a.geometry):this.geometries;await this._selectLayerFeatures(i[0])}else{let i=s.reduce((l,r)=>(r?.layer?.objectIdField?l.push(Number(r.attributes[r.layer.objectIdField])):r.getObjectId&&l.push(Number(r.getObjectId())),l),[]),a=e.detail.useOIDs&&i.length>0;this._updateSelection(s,a,i),a&&await this._highlightFeatures(i)}else await this._clearResults(!0,!0)}async _highlightWithOIDsOrGeoms(){return this._skipGeomOIDs&&this._skipGeomOIDs?.length>0?(this._selectedIds=this._skipGeomOIDs,this._highlightFeatures(this._selectedIds)):this._geomQuery(this.geometries)}async _highlightFeatures(e){let t=this._pnContextConsumer.value;if(t.removeHandles(),e.length>0&&this.selectLayerView&&this.mapView){let s=await I(e,this.selectLayerView,this.mapView);t.highlightHandles.push(s)}this._numSelected=e.length,this.selectionSetChange.emit(e.length)}async _selectFeatures(e){this._selectionLoading=!0,this._selectedIds=this.selectLayerView&&await $(e,this.selectLayerView.layer)||[],this._selectionLoading=!1,this._drawTools.value&&(this._drawTools.value.graphics=this._graphics),await this._highlightFeatures(this._selectedIds)}async _bufferComplete(e){this._bufferGeometry=Array.isArray(e.detail)?e.detail[0]:e.detail;let t=this._bufferTools.value&&Number(this._bufferTools.value.distance),s=0;if(this._bufferGeometry){let i={type:"simple-fill",color:this.bufferColor,outline:{color:this.bufferOutlineColor,width:1}},a=new D({geometry:this._bufferGeometry,symbol:i});this._bufferGraphicsLayer&&a&&this.mapView&&(this._bufferGraphicsLayer.removeAll(),this._bufferGraphicsLayer.add(a),await this._selectFeatures([this._bufferGeometry]),a.geometry?.extent&&await this.mapView.goTo(a.geometry.extent)),s=t,t=0}else this._bufferGraphicsLayer&&this._bufferGraphicsLayer.removeAll(),await this._highlightWithOIDsOrGeoms();await this._distanceChanged({oldValue:t,newValue:s})}_geomQuery(e){let t=T(e);return t?this._selectFeatures(t):Promise.resolve()}async _clearResults(e=!0,t=!1){this._selectedIds=[],this._distance=void 0,this._unit=void 0,t&&(this._selectionLabel="",this._labelName.value&&(this._labelName.value.value="")),this._bufferGraphicsLayer&&this._bufferGraphicsLayer.removeAll(),e&&this._searchWidget&&this._clearSearchWidget(),this._pnContextConsumer.value.removeHandles(),this._drawTools.value?.clear&&(this._graphics=[],await this._drawTools.value.clear()),this._numSelected=this._selectedIds.length,this.selectionSetChange.emit(this._numSelected)}_clearSearchWidget(){this._searchWidget?.clear(),this._searchResult=void 0}_updateSelection(e,t,s){this._selectedIds=t&&s?s:this._selectedIds,this._skipGeomOIDs=t?s:void 0,this.geometries=Array.isArray(e)?e.reduce((i,a)=>(a.geometry&&i.push(a.geometry),i),[]):this.geometries,this._graphics=e}async _updateLabel(){if(this.enableSearchDistance){let e=this._translations.sketch&&this._selectionLabel.indexOf(this._translations.sketch)>-1,t=this._translations.select&&this._selectionLabel.indexOf(this._translations.select)>-1,s=this._selectionLabel.indexOf(this._searchResult?.name)>-1,i=this._workflowType==="SEARCH"?this._searchResult?.name:this._workflowType==="SELECT"?this._translations.select:this._translations.sketch,a=this._bufferTools.value?this._bufferTools.value.unit:this._unit,l=this._bufferTools.value&&a&&await this._bufferTools.value.getTranslatedUnit(a),r=Number.isNaN(Number(this._distance))&&this._bufferTools.value?this._bufferTools.value.distance:this._distance;this._selectionLabel=e||t||s||!this._selectionLabel?`${i} ${r} ${l}`:this._selectionLabel,this._labelName.value&&(this._labelName.value.value=this._selectionLabel)}}async _layerSelectionChange(e){if(Array.isArray(e.detail)&&e.detail.length>0){let t=e.detail.reduce((s,i)=>(this.mapView&&s.push(_(this.mapView,i)),s),[]);return Promise.all(t).then(s=>{this.layerViews=s.reduce((i,a)=>(a&&i.push(a),i),[]),this._featuresCollection={},this._sketchGraphic&&this._sketchGraphicsChanged({detail:{graphics:[this._sketchGraphic],useOIDs:!1}})})}}async _inputLayerSelectionChange(e){let t=e?.detail?.length>0?e.detail[0]:"";(!this.selectLayerView||t!==this.selectLayerView.layer.id)&&(this.selectLayerView=this.mapView&&await _(this.mapView,t),await this._updateLabel(),this._bufferGeometry?await this._selectFeatures([this._bufferGeometry]):await this._highlightWithOIDsOrGeoms())}async _distanceChanged(e){e.newValue!==e.oldValue&&(this._distance=e.newValue,await this._updateLabel())}async _selectLayerFeatures(e){this._selectionLoading=!0;let t=this.layerViews.map(s=>(this._featuresCollection[s.layer.id]=[],G(0,s.layer,e,this._featuresCollection)));return Promise.all(t).then(async s=>{this._selectionLoading=!1;let i=[];s.forEach(n=>{Object.keys(n).forEach(h=>{i=i.concat(n[h])})});let a=!1;i.forEach(n=>{let h=n.geometry;n.symbol=h&&h.type==="point"?this.sketchPointSymbol:h&&h.type==="polyline"?this.sketchLineSymbol:h&&h.type==="polygon"?this.sketchPolygonSymbol:void 0,a=n?.layer?.hasOwnProperty("objectIdField")||n.hasOwnProperty("getObjectId")});let l=this.layerViews[0].layer,r=this.selectLayerView?.layer,c=a&&l.url===r?.url&&r?.layerId===l.layerId;await this._sketchGraphicsChanged({detail:{graphics:i,useOIDs:c}},!0)})}_useLayerFeaturesEnabledChanged(){this.useLayerFeaturesEnabled=!this.useLayerFeaturesEnabled,this._sketchGraphic&&this._sketchGraphicsChanged({detail:{graphics:[this._sketchGraphic],useOIDs:!1}})}};C("map-select-tools",m);return m},"request","layers/FeatureLayer","Graphic","layers/GraphicsLayer","widgets/Search",a,c)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
|
|
2
|
-
import{a as r}from"./
|
|
2
|
+
import{a as r}from"./LFIJXE3U.js";import"./36I27Q5R.js";import"./GDPFKW75.js";import{b as n}from"./VU3OQQKP.js";import{H as o,h as l,i as a,r as i}from"./46DQNAMV.js";import"./OR4HXHSY.js";var c=l`:host{display:block}`,s=class extends o{constructor(){super(...arguments),this.ids=[],this.open=!1,this._isDeleting=!1,this._translations=r({name:"delete-dialog",blocking:!0}),this.editsComplete=i(),this.deleteDialogClose=i()}static{this.properties={ids:0,layer:0,open:5,_isDeleting:16,_translations:16}}static{this.styles=c}render(){let e=this.layer?.title||"",t=this.ids.length===1?(this._translations.confirmSingle||"").replace("{{layer-name}}",e):(this._translations.confirmMultiple||"").replace("{{layer-name}}",e);return a`<calcite-dialog .heading=${this._translations.deleteFeature} kind=danger modal @calciteDialogClose=${()=>this._close()} .open=${this.open} width=s><div>${t}</div><calcite-button appearance=outline kind=danger @click=${()=>this._close()} slot=footer-end width=full>${this._translations.cancel}</calcite-button><calcite-button kind=danger .loading=${this._isDeleting} @click=${()=>{this._deleteFeatures()}} slot=footer-end width=full>${this._translations.delete}</calcite-button></calcite-dialog>`}async _deleteFeatures(){if(this.layer){this._isDeleting=!0;let e=this.ids.map(t=>({objectId:Number(t)}));await this.layer.applyEdits({deleteFeatures:e}),this._isDeleting=!1,this._close(),this.editsComplete.emit("delete")}}_close(){this.open=!1,this.deleteDialogClose.emit()}};n("delete-dialog",s);export{s as DeleteDialog};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
|
|
2
|
-
import{b as r}from"./
|
|
2
|
+
import{b as r}from"./VU3OQQKP.js";import{H as c,h as e,i as s,r as a}from"./46DQNAMV.js";import"./OR4HXHSY.js";export default $arcgis.t(([l])=>{var n=e`:host{display:block}`,i=class extends c{constructor(){super(...arguments),this.visibilityIcon="eyeball",this.fullscreenStateChange=a()}static{this.properties={mapView:0,layerListWidget:0,visibilityIcon:1}}static{this.styles=n}willUpdate(t){t.has("mapView")&&this.mapViewWatchHandler(),t.has("visibilityIcon")&&this.visibilityIconWatchHandler()}async mapViewWatchHandler(){await this.mapView?.when(async()=>{await this._initLayerListWidget()})}async visibilityIconWatchHandler(){this.layerListWidget&&(this.layerListWidget.visibilityAppearance=this.visibilityIcon==="checkbox"?"checkbox":"default")}render(){return s`<div class="layer-list-widget"></div>`}async updated(){this.hasUpdated||await this._initLayerListWidget()}async loaded(){await this._initLayerListWidget()}async _initLayerListWidget(){this.mapView&&(this.layerListWidget=new l({view:this.mapView,visibilityAppearance:this.visibilityIcon==="checkbox"?"checkbox":"default"}))}};r("layer-list-widget",i);return i},"widgets/LayerList")
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
|
|
2
|
-
import e from"./GU77W2GF.js";import{a as V}from"./LLYTIOG4.js";import c from"./2SD4IYX3.js";import"./MQF26HKA.js";import"./G4VIPBRX.js";import{a as L}from"./PZ4L77M5.js";import"./DD3JC2L3.js";import b from"./KDIUYXBA.js";import a from"./UUYUTETH.js";import{a as E}from"./Y3XY5BXI.js";import"./36I27Q5R.js";import"./GDPFKW75.js";import"./AOBFPJ2R.js";import"./JK6XUSIM.js";import"./UPHYUDLT.js";import"./QJJXVRMV.js";import"./7FMLZNDR.js";import"./LL5C4DHP.js";import"./WPAMUSBR.js";import"./XJPOVJV7.js";import"./LDNQ56OK.js";import"./3HUY3T5F.js";import"./Z6G5PBUQ.js";import"./J3QMHA2M.js";import"./TKZAMPEI.js";import"./2IHQU2FX.js";import"./CGLFPVBM.js";import"./OEJAW72H.js";import"./5JJMGPOW.js";import"./TYX345MZ.js";import"./5UWT66A7.js";import{b as T,c as k}from"./S7XOHDIW.js";import{F as h,G as d,H as x,J as p,h as S,i as l,l as m,r as w,s as v,u as $}from"./46DQNAMV.js";import"./OR4HXHSY.js";export default $arcgis.t(([A,G,M,N,u,f,,{g:C,j:I},{a:P,d:O,e:D,f:R}])=>{var U=S`@layer{:host{display:block;--calcite-input-message-spacing-value: 0}.align-center{align-items:center}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-color-border-3)}.action-bar-size{height:3.5rem;width:100%}.w-1-2{width:50%}.w-1-3{width:33.33%}.width-full{width:100%}.height-full{height:100%}.padding-1{padding:1rem}.padding-bottom-0{padding-bottom:0!important}.padding-inline-start-0{padding-inline-start:0!important}.padding-top-sides-1{padding-block-start:1rem;padding-inline-start:1rem;padding-inline-end:1rem}.padding-block-start-1{padding-block-start:1rem}.padding-sides-1{padding-inline-start:1rem;padding-inline-end:1rem}.padding-top-1-2{padding-block-start:.5rem!important}.padding-top-1{padding-top:1rem}.indent-group{border-inline-start:1px solid var(--calcite-color-border-2);margin-bottom:.5rem;padding-inline-start:1rem;margin-inline-start:.5rem}.margin-bottom-0-5{margin-bottom:.5rem}.margin-top-0-5{margin-top:.5rem!important}.instructional-text{line-height:1;padding:0!important;margin:0;color:var(--calcite-color-text-2);font-size:var(--calcite-font-size--2)}.info-blue{color:var(--calcite-color-status-info)}.info-message{justify-content:center;display:grid}.font-bold{font-weight:700}.header-label{font-weight:700;font-size:var(--calcite-font-size-0)}.display-flex{display:flex}.display-block{display:block}.display-none{display:none}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.padding-start-1-2{padding-inline-start:.5rem}.list-border{border:1px solid var(--calcite-color-border-2)}.margin-sides-1{margin-inline-start:1rem;margin-inline-end:1rem}.margin-start-1-2{margin-inline-start:.5rem}.margin-top-0{margin-block-start:0!important}.margin-top-1{margin-top:1rem!important}.label-margin-0{--calcite-label-margin-bottom: 0}.list-label{color:var(--calcite-color-text-1);font-weight:var(--calcite-font-weight-bold)!important}.list-label,.list-description{font-family:var(--calcite-sans-family);font-size:var(--calcite-font-size--2);font-weight:var(--calcite-font-weight-normal);overflow-wrap:break-word;word-break:break-word}.list-description{margin-block-start:.125rem;color:var(--calcite-color-text-3)}.img-container{width:100%;height:100%}.font-weight-500{font-weight:500}.background-override{height:100%;width:100%;--calcite-color-foreground-3: var(--calcite-color-brand);--calcite-color-foreground-2: var(--calcite-color-brand-hover);--calcite-color-text-1: var(--calcite-color-text-inverse)}.word-wrap-anywhere{word-wrap:anywhere}.list-container{padding:0 1rem 1rem}.list-items{align-items:center;background-color:#fff;box-shadow:0 1px 3px #0000001a;font-family:sans-serif;padding:12px 16px}.list-item{display:flex;align-items:center;justify-content:space-between}.item-label{color:#4a4a4a;font-size:16px}.tooltip-message{padding:5px 8px;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-color-text-2);max-width:400px}calcite-segmented-control{--calcite-segmented-control-border-color: var(--calcite-color-border-2)}calcite-segmented-control-item{--calcite-segmented-control-color: var(--calcite-color-text-3)}calcite-segmented-control-item[checked]{--calcite-segmented-control-border-color: var(--calcite-color-surface-highlight);--calcite-segmented-control-background-color: var(--calcite-color-surface-highlight);--calcite-segmented-control-color: var(--calcite-color-text-highlight)}calcite-action-bar{--calcite-internal-action-bar-gap: 0px;--calcite-internal-action-bar-padding: 0px}}`,b=class extends v{constructor(){super(),this.managedLayers={},this.managedTables=[],this.highlightHandles=[]}removeHandles(){this.highlightHandles.forEach(e=>{e?.remove()}),this.highlightHandles=[]}},y=class extends x{constructor(){super(),this.addresseeLayerIds=[],this.bufferColor=[227,139,79,.8],this.bufferOutlineColor=[255,255,255],this.customLabelEnabled=!1,this.customExport=!1,this.customExportURL="",this.defaultBufferDistance=0,this.defaultBufferUnit="feet",this.defaultExportTitle="",this.defaultNumLabelsPerPage=6,this.enableLayerFeatures=!0,this.enableLayerFeaturesOnLoad=!1,this.enableSearchDistance=!0,this.enableSearchDistanceOnLoad=!1,this.enableSketchTools=!0,this.featureHighlightEnabled=!1,this.noResultText="",this.initialNotice="",this.selectionLayerIds=[],this.showRefineSelection=!1,this.showSearchSettings=!0,this._exportGraphics=!1,this._addMap=!1,this._addResults=!0,this._addTitle=!1,this._downloadActive=!0,this._exportType="PDF",this._fetchingData=!1,this._isMobile=!1,this._numDuplicates=0,this._pageType="LIST",this._saveEnabled=!1,this._selectionSets=[],this._segmentType="STANDARD",this._selectedReportingLayerId="",this._isInitialLoading=!0,this._translations=E({name:"public-notification",blocking:!0}),this._downloadTools=h(),this.layoutTemplateSelectRef=h(),this.reportTemplateSelectRef=h(),this._onboardingImageUrl="",this._popupsEnabled=!1,this._removeDuplicates=h(),this._selectTools=h(),this._refineSelection=h(),this._titleElement=h(),this._titleValue=void 0,this._numSelected=0,this._pnStateContextProvider=L({context:V}),this._refineGraphics=[],this._layoutTemplates=[],this._reportTemplates=[],this._reportTemplatesInfo=[],this.searchConfigurationChange=w(),this.listenOn(window,"selectionSetsChanged",this.selectionSetsChanged),this._pnState=new b,this._pnStateContextProvider.setValue(this._pnState)}static{this.properties={addresseeLayerIds:0,bufferColor:1,bufferOutlineColor:1,customLabelEnabled:5,customExport:5,customExportURL:1,defaultBufferDistance:9,defaultBufferUnit:1,defaultExportTitle:1,defaultNumLabelsPerPage:9,enableLayerFeatures:5,enableLayerFeaturesOnLoad:5,enableSearchDistance:5,enableSearchDistanceOnLoad:5,enableSketchTools:5,featureEffect:0,featureHighlightEnabled:5,mapView:0,noResultText:1,initialNotice:1,searchConfiguration:0,selectionLayerIds:0,showRefineSelection:5,showSearchSettings:5,sketchLineSymbol:0,sketchPointSymbol:0,sketchPolygonSymbol:0,_exportGraphics:16,_addMap:16,_addResults:16,_addTitle:16,_downloadActive:16,_exportType:16,_fetchingData:16,_isMobile:16,_numDuplicates:16,_pageType:16,_saveEnabled:16,_selectionSets:16,_segmentType:16,_selectedReportingLayerId:16,_isInitialLoading:16,_translations:16}}static{this.styles=U}static{this.shadowRootOptions=$}willUpdate(e){e.has("mapView")&&this.mapView&&this.mapViewWatchHandler(this.mapView),e.has("searchConfiguration")&&this.searchConfiguration&&this.watchSearchConfigurationHandler(this.searchConfiguration,e.get("searchConfiguration")),e.has("sketchLineSymbol")&&this.sketchLineSymbolWatchHandler(this.sketchLineSymbol,e.get("sketchLineSymbol")),e.has("sketchPointSymbol")&&this.sketchPointSymbolWatchHandler(this.sketchPointSymbol,e.get("sketchPointSymbol")),e.has("sketchPolygonSymbol")&&this.sketchPolygonSymbolWatchHandler(this.sketchPolygonSymbol,e.get("sketchPolygonSymbol")),e.has("_pageType")&&(this.hasUpdated||this._pageType!=="LIST")&&this.pageTypeWatchHandler(this._pageType,e.get("_pageType"))}async mapViewWatchHandler(e){e?.popup&&(this._popupsEnabled=e?.popupEnabled),this.searchConfiguration&&this._initSearchConfiguration(this.searchConfiguration)}async watchSearchConfigurationHandler(e,t){let i=JSON.stringify(e);this.mapView&&(i!==JSON.stringify(t)||i&&!this._searchConfiguration)&&(this._searchConfiguration=JSON.parse(i),this._searchConfiguration&&this.searchConfigurationChange.emit(this._searchConfiguration),this._home())}async sketchLineSymbolWatchHandler(e,t){e&&JSON.stringify(e)!==JSON.stringify(t)&&this._setLineSymbol(e)}async sketchPointSymbolWatchHandler(e,t){e&&JSON.stringify(e)!==JSON.stringify(t)&&this._setPointSymbol(e)}async sketchPolygonSymbolWatchHandler(e,t){e&&JSON.stringify(e)!==JSON.stringify(t)&&this._setPolygonSymbol(e)}async pageTypeWatchHandler(e,t){if(this._checkPopups(),this.mapView?.popup&&(this.mapView.popupEnabled=e!=="LIST"?!1:this._popupsEnabled),e==="EXPORT"&&(this._fetchingData=!0,this._numDuplicates=await this._getNumDuplicates(),this._updateExportGraphics(),this._fetchingData=!1),this._clearHighlight(),(t==="SELECT"||t==="REFINE")&&await this._clearSelection(),t==="EXPORT"&&this._removeExportGraphics(),e!=="SELECT")return this._highlightFeatures()}selectionSetsChanged(e){this._selectionSets=[...e.detail]}connectedCallback(){super.connectedCallback(),this._mediaQuery=window.matchMedia("(max-width: 600px)"),this.listenOn(this._mediaQuery,"change",e=>this._setIsMobile(e))}async load(){this._initSymbols(),this._onboardingImageUrl=k("assets/public-notification/images/onboarding.png")}render(){let e=this._isMobile?"footer":"header";return l`<calcite-shell>${this._isInitialLoading?l`<calcite-loader label></calcite-loader>`:l`<calcite-action-bar class="border-bottom-1 action-bar-size" expand-disabled layout=horizontal slot=${e??m}>${this._getActionGroup("list-check","LIST",this._translations.myLists)}${this.showRefineSelection?this._getActionGroup("test-data","REFINE",this._translations.refineSelection):null}${this._getActionGroup("export","EXPORT",this._translations.export)}</calcite-action-bar>${this._getPage(this._pageType)}`}</calcite-shell>`}async loaded(){this.searchConfiguration&&this._initSearchConfiguration(this.searchConfiguration),this.customExport&&this.customExportURL&&await this._setTemplates(),this._isInitialLoading=!1}_initSearchConfiguration(e){this.searchConfiguration&&!this._searchConfiguration&&this.mapView&&(this._searchConfiguration=e,this.searchConfigurationChange.emit(this._searchConfiguration),this._home())}_initSymbols(){this._setLineSymbol(this.sketchLineSymbol),this._setPointSymbol(this.sketchPointSymbol),this._setPolygonSymbol(this.sketchPolygonSymbol)}_setLineSymbol(e){let t=e?.type==="simple-line";this.sketchLineSymbol=t?e:this._jsonUtils?.fromJSON(e||{type:"esriSLS",color:[130,130,130,255],width:2,style:"esriSLSSolid"})}_setPointSymbol(e){let t=e?.type==="simple-marker";this.sketchPointSymbol=t?e:this._jsonUtils?.fromJSON(e||{type:"esriSMS",color:[255,255,255,255],angle:0,xoffset:0,yoffset:0,size:6,style:"esriSMSCircle",outline:{type:"esriSLS",color:[50,50,50,255],width:1,style:"esriSLSSolid"}})}_setPolygonSymbol(e){let t=e?.type==="simple-fill";this.sketchPolygonSymbol=t?e:this._jsonUtils?.fromJSON(e||{type:"esriSFS",color:[150,150,150,51],outline:{type:"esriSLS",color:[50,50,50,255],width:2,style:"esriSLSSolid"},style:"esriSFSSolid"})}_setIsMobile(e){this._isMobile=e.matches}_getActionGroup(e,t,i){let s=this.showRefineSelection?"w-1-3":"w-1-2";return l`<calcite-action-group class=${p(s)} layout=horizontal><div class="background-override"><calcite-action .active=${this._pageType===t} alignment=center appearance=solid class="width-full height-full" .icon=${e} id=${e??m} @click=${()=>{this._setPageType(t)}} text></calcite-action></div><calcite-tooltip label placement=bottom .referenceElement=${e}><span>${i}</span></calcite-tooltip></calcite-action-group>`}_setPageType(e){this._pageType=e}_getPage(e){let t;switch(e){case"LIST":t=this._getListPage();break;case"SELECT":t=this._getSelectPage();break;case"EXPORT":t=this._getExportPage();break;case"REFINE":t=this._getRefinePage();break}return t}_getListPage(){let e=this._hasSelections(),t=e?this._translations.listHasSetsTip:this.initialNotice!==""?this.initialNotice:this._translations.selectLayerAndAdd;return l`<calcite-panel>${this._getLabel(this._translations.myLists,!1,"header-label")}${this._getNotice(t||"","padding-sides-1 padding-bottom-1","word-wrap-anywhere")}${e?this._getSelectionSetList():this._getOnboardingImage()}<div class="display-flex padding-1"><calcite-button @click=${()=>{this._setPageType("SELECT")}} width=full><span class="font-weight-500">${this._translations.add}</span></calcite-button></div></calcite-panel>`}_getOnboardingImage(){return l`<div class="display-flex padding-sides-1"><img class="img-container" role=presentation src=${this._onboardingImageUrl??m}></div>`}_getSelectionSetList(){return l`<div class="padding-top-1-2 padding-bottom-1-2"><calcite-list class="list-border margin-sides-1" label>${this._selectionSets.reduce((e,t,i)=>{let s=this._getSelectionSetIds(t),a=!0;return t.workflowType==="REFINE"&&(a=Object.keys(t.refineInfos).reduce((o,c)=>{let n=t.refineInfos[c];return o+=n.addIds.length+n.removeIds.length,o},0)>0),a&&e.push(l`<calcite-list-item .label=${t.label} @click=${()=>this.mapView&&this._gotoSelection(t,this.mapView)}><div slot=content><div class="list-label">${t.label}</div><div class="list-description">${t?.layerView?.layer.title}</div><div class="list-description">${this._translations.selectedFeatures.replace("{{n}}",s.length.toString())}</div></div>${this._getAction(!0,"pencil","",o=>this._openSelection(t,o),!1,"actions-end")}${this._getAction(!0,"x","",o=>this._deleteSelection(i,o),!1,"actions-end")}</calcite-list-item>`),e},[])}</calcite-list></div>`}_getSelectionSetIds(e){return e.workflowType!=="REFINE"?e.selectedIds:Object.keys(e.refineInfos).reduce((t,i)=>[...t,...e.refineInfos[i].addIds],[])}_hasSelections(e=!1){let t=[],i=this._selectionSets.some(s=>s.workflowType==="REFINE"?(t=this._getSelectionSetIds(s),!0):!1);return e&&i?t.length>0||this._selectionSets.length>1:this._selectionSets.length>0}async _getNumDuplicates(){let e=this._getExportInfos(),t=this.mapView?.map&&await P(this.mapView.map,e),i=t&&O(t);return t&&i?t.length-i.length:0}_getExportInfos(){return this._selectionSets.reduce((e,t)=>{if(t.download)if(t.workflowType!=="REFINE"&&t?.layerView){let i=t.layerView.layer.id;i!==void 0&&this._updateIds(i,t.layerView,t.selectedIds,e)}else Object.keys(t.refineInfos).forEach(i=>{let s=t.refineInfos[i];s.addIds.length>0&&this._updateIds(i,s.layerView,s.addIds,e)});return e},{})}_updateIds(e,t,i,s){return s[e]?s[e].ids=s[e].ids.concat(i):s[e]={layerView:t,ids:i},s}_getSelectPage(){let e=this._translations.selectSearchTip;return l`<calcite-panel>${this._getLabel(this._translations?.stepTwoFull,!0,"header-label")}${this._getNotice(e,"padding-1","word-wrap-anywhere")}<div><map-select-tools .bufferColor=${this.bufferColor} .bufferOutlineColor=${this.bufferOutlineColor} class="" .customLabelEnabled=${this.customLabelEnabled} .defaultBufferDistance=${this.defaultBufferDistance} .defaultBufferUnit=${this.defaultBufferUnit} .enableLayerFeatures=${this.enableLayerFeatures} .enableLayerFeaturesOnLoad=${this.enableLayerFeaturesOnLoad} .enableSearchDistance=${this.enableSearchDistance} .enableSearchDistanceOnLoad=${this.enableSearchDistanceOnLoad} .enableSketchTools=${this.enableSketchTools} .enabledLayerIds=${this.addresseeLayerIds} header-label-class .isUpdate=${!!this._activeSelection} .mapView=${this.mapView} .noResultText=${this.noResultText} @selectionSetChange=${this._updateForSelection} .searchConfiguration=${this._searchConfiguration} .searchDistanceEnabled=${this.enableSearchDistanceOnLoad} .selectionLayerIds=${this.selectionLayerIds} .selectionSet=${this._activeSelection} .sketchLineSymbol=${this.sketchLineSymbol} .sketchPointSymbol=${this.sketchPointSymbol} .sketchPolygonSymbol=${this.sketchPolygonSymbol} .useLayerFeaturesEnabled=${this.enableLayerFeaturesOnLoad} ${d(this._selectTools)}></map-select-tools></div>${this._getPageNavButtons(this._translations.done,this._numSelected===0,()=>{this._saveSelection()},this._translations.cancel,!1,()=>{this._home()})}</calcite-panel>`}_getExportPage(){let e=this._hasSelections(this.showRefineSelection),t=this._numDuplicates>0?"display-block":"display-none",i=this.customExport&&this.customExportURL&&this._layoutTemplates.length;return l`<calcite-panel><div>${this._getLabel(this._translations.export,!1,"header-label")}${e?l`<div>${this._getNotice(this._translations.exportTip,"padding-sides-1")}${this._getLabel(this._translations.exportListsLabel,!1,"")}${this._getExportSelectionLists()}<div class=${`padding-sides-1 ${t}`}><div class="display-flex"><calcite-label layout=inline><calcite-checkbox ${d(this._removeDuplicates)}></calcite-checkbox><div class="display-flex">${this._translations.removeDuplicate}<div class="info-message padding-start-1-2"><calcite-input-message class="info-blue margin-top-0" scale=m>${` ${this._translations.numDuplicates.replace("{{n}}",this._numDuplicates.toString())}`}</calcite-input-message></div></div></calcite-label><calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=question id=remove-duplicates-icon scale=s></calcite-icon></div><calcite-popover closable label overlay-positioning=fixed reference-element=remove-duplicates-icon><span class="tooltip-message">${this._translations.duplicatesTip}</span></calcite-popover></div><div class="border-bottom"></div><div class="segmented-controls padding-top-sides-1">${this._getLabel(this._translations.exportOptions,!0,"","margin-bottom-0-5")}${this._getSegmentedControls()}</div>${i?this._getCustomPrintOptions():l`<div class="padding-1 padding-bottom-0">${this._getExportOptions()}</div>`}<div class="padding-1 display-flex"><calcite-button .disabled=${!this._downloadActive||this._fetchingData||!this._addMap&&!this._addResults} .loading=${this._fetchingData} @click=${()=>this._segmentType==="CUSTOM"?this._customExport():void this._standardExport()} width=full><span class="font-weight-500">${this._translations.export}</span></calcite-button></div></div>`:this._getNotice(this._translations.downloadNoLists,"padding-sides-1 padding-bottom-1")}</div></calcite-panel>`}_customExport(){if(!this.mapView)return;let e=this.layoutTemplateSelectRef.value?this.layoutTemplateSelectRef.value.selectedOption.value:"",t=this.reportTemplateSelectRef.value?this.reportTemplateSelectRef.value.selectedOption.value:"";this._fetchingData=!0;let i=this._reportTemplatesInfo.find(n=>n.reportTemplate===t),s=i?{...i.reportOptions}:{},a=this._selectedReportingLayerId;s?.reportSectionOverrides&&Object.keys(s.reportSectionOverrides).forEach(n=>{s.reportSectionOverrides[n].sourceId=a});let o=new G({layout:e,report:t,format:"pdf",layoutOptions:{titleText:this._titleElement.value?.value},reportOptions:s}),c=new M({view:this.mapView,template:o});N.execute(this.customExportURL,c).then(n=>{let g=this._titleValue;if(!g){let r=this._getSelectionIdsAndViews(this._selectionSets,!0),_=R(r);g=D(_)}n.url&&g&&this._downloadCustomPDF(n.url,g),this._fetchingData=!1}).catch(n=>{this._fetchingData=!1,console.error(n)})}async _downloadCustomPDF(e,t){try{let i=await fetch(e);if(!i.ok)throw new Error(`Failed to fetch PDF: ${i.statusText}`);let s=await i.blob(),a=window.URL.createObjectURL(s),o=document.createElement("a");o.href=a,o.download=t||"download.pdf";let c=document.getElementById("custom-export-div");c&&(c.appendChild(o),o.click(),window.URL.revokeObjectURL(a),c.removeChild(o))}catch(i){console.error("Download failed:",i)}}_exportTypeChange(e){this._exportType=e.target.value}_segmentTypeChange(e){this._titleValue="",this._segmentType=e.target.value}_getSegmentedControls(){return this.customExport&&this.customExportURL&&this._layoutTemplates.length?this._getStandardAndCustomSegmentedControl():this._getPDFAndCSVSementedControl()}_getPDFAndCSVSementedControl(){return l`<calcite-segmented-control class="w-100 calcite-segments" @calciteSegmentedControlChange=${this._exportTypeChange} width=full><calcite-segmented-control-item .checked=${this._exportType==="PDF"} class="w-50 end-border" value=PDF><span class="font-weight-500">${this._translations.pdf}</span></calcite-segmented-control-item><calcite-segmented-control-item .checked=${this._exportType==="CSV"} class="w-50" value=CSV><span class="font-weight-500">${this._translations.csv}</span></calcite-segmented-control-item></calcite-segmented-control>`}_getStandardAndCustomSegmentedControl(){return l`<calcite-segmented-control class="w-100 calcite-segments" @calciteSegmentedControlChange=${this._segmentTypeChange} width=full><calcite-segmented-control-item .checked=${this._segmentType==="STANDARD"} class="w-50 end-border" value=STANDARD><span class="font-weight-500">${this._translations.standard}</span></calcite-segmented-control-item><calcite-segmented-control-item .checked=${this._segmentType==="CUSTOM"} class="w-50" value=CUSTOM><span class="font-weight-500">${this._translations.custom}</span></calcite-segmented-control-item></calcite-segmented-control>`}_getCustomPrintOptions(){return this._segmentType==="STANDARD"?this._getStandardExportOptions():this._getCustomExportOptions()}_getStandardExportOptions(){return l`<div class="padding-1 padding-bottom-0"><calcite-label layout=inline alignment=start scale=m><calcite-radio-button .checked=${this._exportType==="PDF"} scale=m value=PDF @calciteRadioButtonChange=${this._exportTypeChange}></calcite-radio-button>${this._translations.pdf}</calcite-label><div class=indent-group>${this._getExportOptions()}</div><calcite-label layout=inline class="margin-top-1" alignment=start scale=m><calcite-radio-button .checked=${this._exportType==="CSV"} scale=m value=CSV @calciteRadioButtonChange=${this._exportTypeChange}></calcite-radio-button>${this._translations.csv}</calcite-label></div>`}_getCustomExportOptions(){let e=this._titleValue?this._titleValue:this.defaultExportTitle?this.defaultExportTitle:"",t=[],i=this._getSelectionIdsAndViews(this._selectionSets,!0);return Object.keys(i).forEach(s=>{i[s].ids.length&&t.push(s)}),l`<div id=custom-export-div class="padding-top-sides-1"><p class="instructional-text">${this._translations.formattingTip}</p>${t.length>1&&l`<p class="instructional-text margin-top-0-5">${this._translations.selectMatchingInputLayersLabel}</p>`||""}<div class=${"margin-top-1"}>${this._getLabel(this._translations.title,!0,"","none")}<calcite-input-text class="padding-inline-start-0 padding-top-1-2" @calciteInputTextInput=${()=>this._changeTitle()} .placeholder=${this._translations.titlePlaceholder} .value=${e} ${d(this._titleElement)}></calcite-input-text></div><div class=${"margin-top-1"}>${this._getLabel(this._translations.layoutTemplate,!0,"","none")}</div><calcite-select class="padding-inline-start-0 padding-top-1-2" label ${d(this.layoutTemplateSelectRef)}>${this._layoutTemplates.map((s,a)=>l`<calcite-option .selected=${a===0} .value=${s}>${s}</calcite-option>`)}</calcite-select>${this._reportTemplates?.length&&l`<div class=${"margin-top-1"}>${this._getLabel(this._translations.reportTemplate,!0,"","none")}</div><calcite-select class="padding-inline-start-0 padding-top-1-2" label ${d(this.reportTemplateSelectRef)}>${this._reportTemplates.map((s,a)=>l`<calcite-option .selected=${a===0} .value=${s}>${s}</calcite-option>`)}</calcite-select><div class=${"padding-top-sides-1 padding-inline-start-0 display-flex margin-bottom-0-5"}><calcite-label class="label-margin-0" layout=inline>${this._translations.reportLayer}</calcite-label><calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=information id=filter-message-info scale=s></calcite-icon><calcite-popover closable label overlay-positioning=fixed reference-element=filter-message-info><span class="tooltip-message">${this._translations.sourceLayerWarning}</span></calcite-popover></div><map-layer-picker .disabled=${t.length<=1} .enabledLayerIds=${t} .mapView=${this.mapView} @layerSelectionChange=${s=>{this._selectedReportingLayerId=s.detail[0]}} .selectedIds=${[this._selectedReportingLayerId]}></map-layer-picker>`||""}</div>`}async _setTemplates(){let e=this.customExportURL,t=`${e.split("/GPServer")?.[0]}/GPServer`;try{let i=await this.getTasksInfo(t),s="",a=i.tasks?.map(async r=>{await this.getTaskType(r,t)==="GetReportTemplatesInfo"&&(s=`${t}/${r}`)});a&&await Promise.all(a),s&&i.executionType&&await this._fetchReportTemplates(s,i.executionType);let o=(await f(e,{authMode:"auto",responseType:"json",query:{f:"json"}}))?.data,c=o.parameters.find(r=>r.name==="Layout_Template"&&Array.isArray(r.choiceList)),n=o.parameters.find(r=>r.name==="Report_Template"&&Array.isArray(r.choiceList));this._layoutTemplates=c?c.choiceList:[];let g=n?n.choiceList:[];this._reportTemplates=this._reportTemplatesInfo.length?g.filter(r=>this._reportTemplatesInfo.some(_=>_.reportTemplate===r)):[]}catch(i){console.error(i)}}async getTaskType(e,t){if(!e||!t)return Promise.resolve("");let i=`${t}/${e}`;try{let s=(await f(i,{authMode:"auto",responseType:"json",query:{f:"json"}}))?.data?.name||"";return Promise.resolve(s)}catch(s){return console.error(s),Promise.resolve("")}}async getTasksInfo(e){if(!e)return Promise.resolve({});let t=`${e}?f=json`,i={authMode:"auto",responseType:"json",query:{f:"json"}};try{let s=(await f(t,i))?.data,a=s?.tasks,o=s?.executionType==="esriExecutionTypeSynchronous"?"execute":"submitJob";return{tasks:a,supportedOperations:o,executionType:s?.executionType}}catch(s){return console.error(s),{}}}async _fetchReportTemplates(e,t){if(e)try{if(t==="esriExecutionTypeSynchronous"){let i=(await u.execute(e,{}))?.results?.find(s=>s.paramName==="Output_JSON");this._reportTemplatesInfo=i?.value??[]}else{let i=await u.submitJob(e,{});await i.waitForJobCompletion();let s=await i.fetchResultData("Output_JSON");this._reportTemplatesInfo=s?.value??[]}this._reportTemplatesInfo=this._reportTemplatesInfo.filter(i=>{let s=i.reportOptions;if(s?.reportSectionOverrides){let a=0;return Object.keys(s.reportSectionOverrides).forEach(o=>{s.reportSectionOverrides[o].hasOwnProperty("sourceId")&&a++}),a<=1}else return!0})}catch(i){console.error("Failed to fetch report templates:",i)}}_getExportOptions(){let e=this._exportType==="PDF"?"display-block":"display-none",t=this._addTitle?"display-block":"display-none",i=this._addMap?"display-flex":"display-none",s=this._titleValue?this._titleValue:this.defaultExportTitle?this.defaultExportTitle:"",a=this._addResults?"":"display-none";return l`<div class=${p(e)}><p class="instructional-text">${this._translations.selectContentTip}</p><div class="padding-top-sides-1 padding-inline-start-0"><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._addResults} @calciteCheckboxChange=${()=>this._addResults=!this._addResults}></calcite-checkbox>${this._translations.addResults}</calcite-label></div><div class=${`indent-group margin-top-1 ${a}`}><div class="margin-bottom-0-5"><calcite-label class="label-margin-0">${this._translations.selectPDFLabelOption}</calcite-label></div><div><pdf-download .defaultNumLabelsPerPage=${Number.parseInt(this.defaultNumLabelsPerPage.toString(),10)} .disabled=${!this._downloadActive} ${d(this._downloadTools)}></pdf-download></div></div><div class="padding-top-sides-1 padding-inline-start-0"><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._addTitle} @calciteCheckboxChange=${()=>this._addTitle=!this._addTitle}></calcite-checkbox>${this._translations.title}</calcite-label></div><div class=${`${t} indent-group margin-top-0-5`}><calcite-input-text class="padding-inline-start-0 padding-top-1-2" @calciteInputTextInput=${()=>this._changeTitle()} .placeholder=${this._translations.titlePlaceholder} .value=${s} ${d(this._titleElement)}></calcite-input-text></div><div class="padding-top-sides-1 padding-inline-start-0"><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._addMap} @calciteCheckboxChange=${()=>this._handleAddMapChange()}></calcite-checkbox>${this._translations.includeMap}</calcite-label></div><div class=${`padding-top-sides-1 padding-inline-start-0 ${i}`}><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._exportGraphics} @calciteCheckboxChange=${()=>this._handleExportGraphicsChange()}></calcite-checkbox>${this._translations.listGraphics}</calcite-label><calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=question id=list-graphics-icon scale=s></calcite-icon><calcite-popover closable label overlay-positioning=fixed reference-element=list-graphics-icon><span class="tooltip-message">${this._translations.listGraphicsTip}</span></calcite-popover></div></div>`}_handleAddMapChange(){this._addMap=!this._addMap,this._updateExportGraphics()}_handleExportGraphicsChange(){this._exportGraphics=!this._exportGraphics,this._updateExportGraphics()}_getManagedLayer(e){let t,i=this._pnStateContextProvider.value;return Object.keys(i.managedLayers).some(s=>{let a=this.mapView?.map.layers.findIndex(o=>o.title===s);return i.managedLayers[s]===e&&a!==void 0?(t=this.mapView?.map.layers.getItemAt(a),!0):!1}),t}_updateExportGraphics(e=!1){(e||!this._exportGraphics||!this._addMap)&&this._removeExportGraphics(),this._exportGraphics&&this._addMap&&this._addExportGraphics()}_removeExportGraphics(){let e=this._getManagedLayer("sketch"),t=this._getManagedLayer("buffer");e&&e.graphics.removeAll(),t&&t.graphics.removeAll()}_addExportGraphics(){let e=this._getManagedLayer("sketch"),t=this._getManagedLayer("buffer");this._refineGraphics.forEach(i=>{e?.add(i.drawnGraphic),t?.add(i.bufferGraphic)}),this._selectionSets.forEach(i=>{if(i.download&&(e&&i.sketchGraphic&&e.graphics.add(i.sketchGraphic),t)){let s={type:"simple-fill",color:this.bufferColor,outline:{color:this.bufferOutlineColor,width:1}},a=new A({geometry:i.buffer,symbol:s});a&&t.graphics.add(a)}})}_getRefinePage(){let e=this._hasSelections();return l`<calcite-panel>${this._getLabel(this._translations.refineSelection,!1,"header-label")}${e?l`<div>${this._getNotice(this._translations.refineTip,"padding-sides-1")}<refine-selection .enabledLayerIds=${this.selectionLayerIds} .mapView=${this.mapView} .drawnGraphicsArr=${this._refineGraphics} .selectionSets=${this._selectionSets} .sketchLineSymbol=${this.sketchLineSymbol} .sketchPointSymbol=${this.sketchPointSymbol} .sketchPolygonSymbol=${this.sketchPolygonSymbol} .bufferColor=${this.bufferColor} .bufferOutlineColor=${this.bufferOutlineColor} .defaultBufferDistance=${this.defaultBufferDistance} .defaultBufferUnit=${this.defaultBufferUnit} .enableSearchDistance=${this.enableSearchDistance} .enableSearchDistanceOnLoad=${this.enableSearchDistanceOnLoad} .searchDistanceEnabled=${this.enableSearchDistanceOnLoad} ${d(this._refineSelection)}></refine-selection></div>`:this._getNotice(this._translations.refineTipNoSelections,"padding-sides-1")}</calcite-panel>`}_getPageNavButtons(e,t,i,s,a,o){return l`<div class="padding-bottom-1"><div class="display-flex padding-top-sides-1"><calcite-button .disabled=${t} @click=${i} width=full><span class="font-weight-500">${e}</span></calcite-button></div><div class="display-flex padding-top-1-2 padding-sides-1"><calcite-button appearance=outline .disabled=${a} @click=${o} width=full><span class="font-weight-500">${s}</span></calcite-button></div></div>`}_changeTitle(){this._titleElement.value?.value&&(this._titleValue=this._titleElement.value.value||"")}_getNotice(e,t="padding-1",i=""){return l`<calcite-notice class=${p(t)} icon=lightbulb kind=success open><div class=${p(i)} slot=message>${e}</div></calcite-notice>`}_getLabel(e,t=!1,i="font-bold",s="padding-top-sides-1"){return i+=t?" label-margin-0":"",l`<div class=${p(s)}><calcite-label class=${p(i)}>${e}</calcite-label></div>`}_getExportSelectionLists(){return this._selectionSets.reduce((e,t)=>{let i=this._getSelectionSetIds(t),s=t.workflowType!=="REFINE"||i.length>0;return!this._downloadActive&&t.download&&s&&(this._downloadActive=!0),s&&e.push(l`<div class="display-flex padding-sides-1 padding-bottom-1"><calcite-checkbox .checked=${t.download} class="align-center" @calciteCheckboxChange=${()=>{this._toggleDownload(t.id)}}></calcite-checkbox><calcite-list class="list-border margin-start-1-2 width-full" id=download-list label><calcite-list-item .disabled=${!t.download} .label=${t.label} @click=${()=>{this._toggleDownload(t.id)}}><div slot=content><div class="list-label">${t.label}</div><div class="list-description">${t.layerView?.layer.title}</div><div class="list-description">${this._translations.selectedFeatures.replace("{{n}}",i.length.toString())}</div></div></calcite-list-item></calcite-list></div>`),e},[])||l`<div></div>`}async _toggleDownload(e){let t=!1;this._selectionSets=this._selectionSets.map(i=>{let s=!1;return i.refineInfos&&Object.keys(i.refineInfos).forEach(a=>{i.refineInfos[a].addIds.length&&(s=!0)}),(i.workflowType!=="REFINE"||s)&&(i.download=i.id===e?!i.download:i.download,t=i.download?!0:t),i}),this._updateExportGraphics(!0),this._downloadActive=t,this._fetchingData=!0,this._numDuplicates=await this._getNumDuplicates(),this._fetchingData=!1,await this._highlightFeatures()}async _standardExport(){let e=this._addResults?this._getSelectionIdsAndViews(this._selectionSets,!0):{};if(this._exportType==="PDF"){let t="";this._addMap&&this.mapView&&(t=(await this.mapView.takeScreenshot({width:1500,height:2e3}))?.dataUrl),this._fetchingData=!0,this._downloadTools.value&&this._removeDuplicates.value&&this.mapView?.map&&await this._downloadTools.value.downloadPDF(this.mapView.map,e,this._removeDuplicates.value.checked,this._addTitle&&this._titleElement.value?this._titleElement.value.value:"",t),this._fetchingData=!1}this._exportType==="CSV"&&(this._fetchingData=!0,this._downloadTools.value&&this.mapView?.map&&await this._downloadTools.value.downloadCSV(this.mapView.map,e,this._removeDuplicates.value?.checked||!1),this._fetchingData=!1)}_getSelectionIdsAndViews(e,t=!1){return(t?e.filter(i=>i.download):e).reduce((i,s)=>{if(s.workflowType==="REFINE")Object.keys(s.refineInfos).forEach(a=>{let o=s.refineInfos[a];if(o.addIds){let c=o.layerView.layer.id;i=this._updateExportInfos(i,c,s.label,o.addIds,o.layerView)}});else{let a=s?.layerView?.layer.id;a!==void 0&&s.layerView&&(i=this._updateExportInfos(i,a,s.label,s.selectedIds,s.layerView))}return i},{})}_updateExportInfos(e,t,i,s,a){return t&&Object.keys(e).indexOf(t)>-1?(e[t].ids=[...new Set([...e[t].ids,...s])],e[t].selectionSetNames.push(i)):t&&(e[t]={ids:s,layerView:a,selectionSetNames:[i]}),e}_getAction(e,t,i,s,a=!1,o=""){return l`<calcite-action appearance=solid .disabled=${!e} .icon=${t} icon-flip-rtl .indicator=${a} @click=${s} slot=${o??m} .text=${i}></calcite-action>`}_updateForSelection(e){this._numSelected=e.detail,this._saveEnabled=this._numSelected>0}async _home(){await this._clearSelection(),this._setPageType("LIST")}async _saveSelection(){let e=await this._selectTools.value?.getSelection();if(e){let t=this._selectTools.value?.isUpdate;this._selectionSets=t?this._selectionSets.map(i=>i.id===e.id?e:i):[...this._selectionSets,e]}return this._home()}async _clearSelection(){await this._selectTools.value?.clearSelection(),this._numSelected=0,this._activeSelection=void 0}async _deleteSelection(e,t){return t.stopPropagation(),this._selectionSets=this._selectionSets.filter((i,s)=>(i.workflowType==="REFINE"&&(this._refineGraphics=[]),s!==e?i:!1)),this._highlightFeatures()}_gotoSelection(e,t){e.selectedIds&&e.layerView&&I(e.selectedIds,e.layerView,t,this.featureHighlightEnabled,this.featureEffect)}_openSelection(e,t){t.stopPropagation(),this._activeSelection=e,this._pageType=e.workflowType==="REFINE"?"REFINE":"SELECT"}async _highlightFeatures(){let e=this._pnStateContextProvider.value;this._clearHighlight();let t=this._getSelectionIdsAndViews(this._selectionSets,this._pageType==="EXPORT"),i=Object.keys(t);if(i.length>0)for(let s=0;s<i.length;s++){let a=t[i[s]];if(a.layerView&&this.mapView){let o=await C(a.ids,a.layerView,this.mapView);e.highlightHandles.push(o)}}}_checkPopups(){typeof this._popupsEnabled!="boolean"&&(this._popupsEnabled=!!this.mapView?.popupEnabled)}_clearHighlight(){let e=this._pnStateContextProvider.value;e&&e.highlightHandles&&e.removeHandles()}};T("public-notification",y);return y},"Graphic","rest/support/PrintTemplate","rest/support/PrintParameters","rest/print","rest/geoprocessor","request",a,b,c,e)
|
|
2
|
+
import e from"./QJ4MQK3Y.js";import{a as V}from"./LLYTIOG4.js";import c from"./CO37Q2G7.js";import"./MQF26HKA.js";import"./G4VIPBRX.js";import{a as L}from"./PZ4L77M5.js";import"./DD3JC2L3.js";import b from"./KDIUYXBA.js";import a from"./UUYUTETH.js";import{a as E}from"./LFIJXE3U.js";import"./36I27Q5R.js";import"./GDPFKW75.js";import"./AOBFPJ2R.js";import"./JK6XUSIM.js";import"./UPHYUDLT.js";import"./QJJXVRMV.js";import"./7FMLZNDR.js";import"./LL5C4DHP.js";import"./WPAMUSBR.js";import"./XJPOVJV7.js";import"./LDNQ56OK.js";import"./3HUY3T5F.js";import"./Z6G5PBUQ.js";import"./J3QMHA2M.js";import"./TKZAMPEI.js";import"./2IHQU2FX.js";import"./CGLFPVBM.js";import"./OEJAW72H.js";import"./5JJMGPOW.js";import"./TYX345MZ.js";import"./5UWT66A7.js";import{b as T,c as k}from"./VU3OQQKP.js";import{F as h,G as d,H as x,J as p,h as S,i as l,l as m,r as w,s as v,u as $}from"./46DQNAMV.js";import"./OR4HXHSY.js";export default $arcgis.t(([A,G,M,N,u,f,,{g:C,j:I},{a:P,d:O,e:D,f:R}])=>{var U=S`@layer{:host{display:block;--calcite-input-message-spacing-value: 0}.align-center{align-items:center}.border-bottom-1{border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-color-border-3)}.action-bar-size{height:3.5rem;width:100%}.w-1-2{width:50%}.w-1-3{width:33.33%}.width-full{width:100%}.height-full{height:100%}.padding-1{padding:1rem}.padding-bottom-0{padding-bottom:0!important}.padding-inline-start-0{padding-inline-start:0!important}.padding-top-sides-1{padding-block-start:1rem;padding-inline-start:1rem;padding-inline-end:1rem}.padding-block-start-1{padding-block-start:1rem}.padding-sides-1{padding-inline-start:1rem;padding-inline-end:1rem}.padding-top-1-2{padding-block-start:.5rem!important}.padding-top-1{padding-top:1rem}.indent-group{border-inline-start:1px solid var(--calcite-color-border-2);margin-bottom:.5rem;padding-inline-start:1rem;margin-inline-start:.5rem}.margin-bottom-0-5{margin-bottom:.5rem}.margin-top-0-5{margin-top:.5rem!important}.instructional-text{line-height:1;padding:0!important;margin:0;color:var(--calcite-color-text-2);font-size:var(--calcite-font-size--2)}.info-blue{color:var(--calcite-color-status-info)}.info-message{justify-content:center;display:grid}.font-bold{font-weight:700}.header-label{font-weight:700;font-size:var(--calcite-font-size-0)}.display-flex{display:flex}.display-block{display:block}.display-none{display:none}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.padding-start-1-2{padding-inline-start:.5rem}.list-border{border:1px solid var(--calcite-color-border-2)}.margin-sides-1{margin-inline-start:1rem;margin-inline-end:1rem}.margin-start-1-2{margin-inline-start:.5rem}.margin-top-0{margin-block-start:0!important}.margin-top-1{margin-top:1rem!important}.label-margin-0{--calcite-label-margin-bottom: 0}.list-label{color:var(--calcite-color-text-1);font-weight:var(--calcite-font-weight-bold)!important}.list-label,.list-description{font-family:var(--calcite-sans-family);font-size:var(--calcite-font-size--2);font-weight:var(--calcite-font-weight-normal);overflow-wrap:break-word;word-break:break-word}.list-description{margin-block-start:.125rem;color:var(--calcite-color-text-3)}.img-container{width:100%;height:100%}.font-weight-500{font-weight:500}.background-override{height:100%;width:100%;--calcite-color-foreground-3: var(--calcite-color-brand);--calcite-color-foreground-2: var(--calcite-color-brand-hover);--calcite-color-text-1: var(--calcite-color-text-inverse)}.word-wrap-anywhere{word-wrap:anywhere}.list-container{padding:0 1rem 1rem}.list-items{align-items:center;background-color:#fff;box-shadow:0 1px 3px #0000001a;font-family:sans-serif;padding:12px 16px}.list-item{display:flex;align-items:center;justify-content:space-between}.item-label{color:#4a4a4a;font-size:16px}.tooltip-message{padding:5px 8px;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-color-text-2);max-width:400px}calcite-segmented-control{--calcite-segmented-control-border-color: var(--calcite-color-border-2)}calcite-segmented-control-item{--calcite-segmented-control-color: var(--calcite-color-text-3)}calcite-segmented-control-item[checked]{--calcite-segmented-control-border-color: var(--calcite-color-surface-highlight);--calcite-segmented-control-background-color: var(--calcite-color-surface-highlight);--calcite-segmented-control-color: var(--calcite-color-text-highlight)}calcite-action-bar{--calcite-internal-action-bar-gap: 0px;--calcite-internal-action-bar-padding: 0px}}`,b=class extends v{constructor(){super(),this.managedLayers={},this.managedTables=[],this.highlightHandles=[]}removeHandles(){this.highlightHandles.forEach(e=>{e?.remove()}),this.highlightHandles=[]}},y=class extends x{constructor(){super(),this.addresseeLayerIds=[],this.bufferColor=[227,139,79,.8],this.bufferOutlineColor=[255,255,255],this.customLabelEnabled=!1,this.customExport=!1,this.customExportURL="",this.defaultBufferDistance=0,this.defaultBufferUnit="feet",this.defaultExportTitle="",this.defaultNumLabelsPerPage=6,this.enableLayerFeatures=!0,this.enableLayerFeaturesOnLoad=!1,this.enableSearchDistance=!0,this.enableSearchDistanceOnLoad=!1,this.enableSketchTools=!0,this.featureHighlightEnabled=!1,this.noResultText="",this.initialNotice="",this.selectionLayerIds=[],this.showRefineSelection=!1,this.showSearchSettings=!0,this._exportGraphics=!1,this._addMap=!1,this._addResults=!0,this._addTitle=!1,this._downloadActive=!0,this._exportType="PDF",this._fetchingData=!1,this._isMobile=!1,this._numDuplicates=0,this._pageType="LIST",this._saveEnabled=!1,this._selectionSets=[],this._segmentType="STANDARD",this._selectedReportingLayerId="",this._isInitialLoading=!0,this._translations=E({name:"public-notification",blocking:!0}),this._downloadTools=h(),this.layoutTemplateSelectRef=h(),this.reportTemplateSelectRef=h(),this._onboardingImageUrl="",this._popupsEnabled=!1,this._removeDuplicates=h(),this._selectTools=h(),this._refineSelection=h(),this._titleElement=h(),this._titleValue=void 0,this._numSelected=0,this._pnStateContextProvider=L({context:V}),this._refineGraphics=[],this._layoutTemplates=[],this._reportTemplates=[],this._reportTemplatesInfo=[],this.searchConfigurationChange=w(),this.listenOn(window,"selectionSetsChanged",this.selectionSetsChanged),this._pnState=new b,this._pnStateContextProvider.setValue(this._pnState)}static{this.properties={addresseeLayerIds:0,bufferColor:1,bufferOutlineColor:1,customLabelEnabled:5,customExport:5,customExportURL:1,defaultBufferDistance:9,defaultBufferUnit:1,defaultExportTitle:1,defaultNumLabelsPerPage:9,enableLayerFeatures:5,enableLayerFeaturesOnLoad:5,enableSearchDistance:5,enableSearchDistanceOnLoad:5,enableSketchTools:5,featureEffect:0,featureHighlightEnabled:5,mapView:0,noResultText:1,initialNotice:1,searchConfiguration:0,selectionLayerIds:0,showRefineSelection:5,showSearchSettings:5,sketchLineSymbol:0,sketchPointSymbol:0,sketchPolygonSymbol:0,_exportGraphics:16,_addMap:16,_addResults:16,_addTitle:16,_downloadActive:16,_exportType:16,_fetchingData:16,_isMobile:16,_numDuplicates:16,_pageType:16,_saveEnabled:16,_selectionSets:16,_segmentType:16,_selectedReportingLayerId:16,_isInitialLoading:16,_translations:16}}static{this.styles=U}static{this.shadowRootOptions=$}willUpdate(e){e.has("mapView")&&this.mapView&&this.mapViewWatchHandler(this.mapView),e.has("searchConfiguration")&&this.searchConfiguration&&this.watchSearchConfigurationHandler(this.searchConfiguration,e.get("searchConfiguration")),e.has("sketchLineSymbol")&&this.sketchLineSymbolWatchHandler(this.sketchLineSymbol,e.get("sketchLineSymbol")),e.has("sketchPointSymbol")&&this.sketchPointSymbolWatchHandler(this.sketchPointSymbol,e.get("sketchPointSymbol")),e.has("sketchPolygonSymbol")&&this.sketchPolygonSymbolWatchHandler(this.sketchPolygonSymbol,e.get("sketchPolygonSymbol")),e.has("_pageType")&&(this.hasUpdated||this._pageType!=="LIST")&&this.pageTypeWatchHandler(this._pageType,e.get("_pageType"))}async mapViewWatchHandler(e){e?.popup&&(this._popupsEnabled=e?.popupEnabled),this.searchConfiguration&&this._initSearchConfiguration(this.searchConfiguration)}async watchSearchConfigurationHandler(e,t){let i=JSON.stringify(e);this.mapView&&(i!==JSON.stringify(t)||i&&!this._searchConfiguration)&&(this._searchConfiguration=JSON.parse(i),this._searchConfiguration&&this.searchConfigurationChange.emit(this._searchConfiguration),this._home())}async sketchLineSymbolWatchHandler(e,t){e&&JSON.stringify(e)!==JSON.stringify(t)&&this._setLineSymbol(e)}async sketchPointSymbolWatchHandler(e,t){e&&JSON.stringify(e)!==JSON.stringify(t)&&this._setPointSymbol(e)}async sketchPolygonSymbolWatchHandler(e,t){e&&JSON.stringify(e)!==JSON.stringify(t)&&this._setPolygonSymbol(e)}async pageTypeWatchHandler(e,t){if(this._checkPopups(),this.mapView?.popup&&(this.mapView.popupEnabled=e!=="LIST"?!1:this._popupsEnabled),e==="EXPORT"&&(this._fetchingData=!0,this._numDuplicates=await this._getNumDuplicates(),this._updateExportGraphics(),this._fetchingData=!1),this._clearHighlight(),(t==="SELECT"||t==="REFINE")&&await this._clearSelection(),t==="EXPORT"&&this._removeExportGraphics(),e!=="SELECT")return this._highlightFeatures()}selectionSetsChanged(e){this._selectionSets=[...e.detail]}connectedCallback(){super.connectedCallback(),this._mediaQuery=window.matchMedia("(max-width: 600px)"),this.listenOn(this._mediaQuery,"change",e=>this._setIsMobile(e))}async load(){this._initSymbols(),this._onboardingImageUrl=k("assets/public-notification/images/onboarding.png")}render(){let e=this._isMobile?"footer":"header";return l`<calcite-shell>${this._isInitialLoading?l`<calcite-loader label></calcite-loader>`:l`<calcite-action-bar class="border-bottom-1 action-bar-size" expand-disabled layout=horizontal slot=${e??m}>${this._getActionGroup("list-check","LIST",this._translations.myLists)}${this.showRefineSelection?this._getActionGroup("test-data","REFINE",this._translations.refineSelection):null}${this._getActionGroup("export","EXPORT",this._translations.export)}</calcite-action-bar>${this._getPage(this._pageType)}`}</calcite-shell>`}async loaded(){this.searchConfiguration&&this._initSearchConfiguration(this.searchConfiguration),this.customExport&&this.customExportURL&&await this._setTemplates(),this._isInitialLoading=!1}_initSearchConfiguration(e){this.searchConfiguration&&!this._searchConfiguration&&this.mapView&&(this._searchConfiguration=e,this.searchConfigurationChange.emit(this._searchConfiguration),this._home())}_initSymbols(){this._setLineSymbol(this.sketchLineSymbol),this._setPointSymbol(this.sketchPointSymbol),this._setPolygonSymbol(this.sketchPolygonSymbol)}_setLineSymbol(e){let t=e?.type==="simple-line";this.sketchLineSymbol=t?e:this._jsonUtils?.fromJSON(e||{type:"esriSLS",color:[130,130,130,255],width:2,style:"esriSLSSolid"})}_setPointSymbol(e){let t=e?.type==="simple-marker";this.sketchPointSymbol=t?e:this._jsonUtils?.fromJSON(e||{type:"esriSMS",color:[255,255,255,255],angle:0,xoffset:0,yoffset:0,size:6,style:"esriSMSCircle",outline:{type:"esriSLS",color:[50,50,50,255],width:1,style:"esriSLSSolid"}})}_setPolygonSymbol(e){let t=e?.type==="simple-fill";this.sketchPolygonSymbol=t?e:this._jsonUtils?.fromJSON(e||{type:"esriSFS",color:[150,150,150,51],outline:{type:"esriSLS",color:[50,50,50,255],width:2,style:"esriSLSSolid"},style:"esriSFSSolid"})}_setIsMobile(e){this._isMobile=e.matches}_getActionGroup(e,t,i){let s=this.showRefineSelection?"w-1-3":"w-1-2";return l`<calcite-action-group class=${p(s)} layout=horizontal><div class="background-override"><calcite-action .active=${this._pageType===t} alignment=center appearance=solid class="width-full height-full" .icon=${e} id=${e??m} @click=${()=>{this._setPageType(t)}} text></calcite-action></div><calcite-tooltip label placement=bottom .referenceElement=${e}><span>${i}</span></calcite-tooltip></calcite-action-group>`}_setPageType(e){this._pageType=e}_getPage(e){let t;switch(e){case"LIST":t=this._getListPage();break;case"SELECT":t=this._getSelectPage();break;case"EXPORT":t=this._getExportPage();break;case"REFINE":t=this._getRefinePage();break}return t}_getListPage(){let e=this._hasSelections(),t=e?this._translations.listHasSetsTip:this.initialNotice!==""?this.initialNotice:this._translations.selectLayerAndAdd;return l`<calcite-panel>${this._getLabel(this._translations.myLists,!1,"header-label")}${this._getNotice(t||"","padding-sides-1 padding-bottom-1","word-wrap-anywhere")}${e?this._getSelectionSetList():this._getOnboardingImage()}<div class="display-flex padding-1"><calcite-button @click=${()=>{this._setPageType("SELECT")}} width=full><span class="font-weight-500">${this._translations.add}</span></calcite-button></div></calcite-panel>`}_getOnboardingImage(){return l`<div class="display-flex padding-sides-1"><img class="img-container" role=presentation src=${this._onboardingImageUrl??m}></div>`}_getSelectionSetList(){return l`<div class="padding-top-1-2 padding-bottom-1-2"><calcite-list class="list-border margin-sides-1" label>${this._selectionSets.reduce((e,t,i)=>{let s=this._getSelectionSetIds(t),a=!0;return t.workflowType==="REFINE"&&(a=Object.keys(t.refineInfos).reduce((o,c)=>{let n=t.refineInfos[c];return o+=n.addIds.length+n.removeIds.length,o},0)>0),a&&e.push(l`<calcite-list-item .label=${t.label} @click=${()=>this.mapView&&this._gotoSelection(t,this.mapView)}><div slot=content><div class="list-label">${t.label}</div><div class="list-description">${t?.layerView?.layer.title}</div><div class="list-description">${this._translations.selectedFeatures.replace("{{n}}",s.length.toString())}</div></div>${this._getAction(!0,"pencil","",o=>this._openSelection(t,o),!1,"actions-end")}${this._getAction(!0,"x","",o=>this._deleteSelection(i,o),!1,"actions-end")}</calcite-list-item>`),e},[])}</calcite-list></div>`}_getSelectionSetIds(e){return e.workflowType!=="REFINE"?e.selectedIds:Object.keys(e.refineInfos).reduce((t,i)=>[...t,...e.refineInfos[i].addIds],[])}_hasSelections(e=!1){let t=[],i=this._selectionSets.some(s=>s.workflowType==="REFINE"?(t=this._getSelectionSetIds(s),!0):!1);return e&&i?t.length>0||this._selectionSets.length>1:this._selectionSets.length>0}async _getNumDuplicates(){let e=this._getExportInfos(),t=this.mapView?.map&&await P(this.mapView.map,e),i=t&&O(t);return t&&i?t.length-i.length:0}_getExportInfos(){return this._selectionSets.reduce((e,t)=>{if(t.download)if(t.workflowType!=="REFINE"&&t?.layerView){let i=t.layerView.layer.id;i!==void 0&&this._updateIds(i,t.layerView,t.selectedIds,e)}else Object.keys(t.refineInfos).forEach(i=>{let s=t.refineInfos[i];s.addIds.length>0&&this._updateIds(i,s.layerView,s.addIds,e)});return e},{})}_updateIds(e,t,i,s){return s[e]?s[e].ids=s[e].ids.concat(i):s[e]={layerView:t,ids:i},s}_getSelectPage(){let e=this._translations.selectSearchTip;return l`<calcite-panel>${this._getLabel(this._translations?.stepTwoFull,!0,"header-label")}${this._getNotice(e,"padding-1","word-wrap-anywhere")}<div><map-select-tools .bufferColor=${this.bufferColor} .bufferOutlineColor=${this.bufferOutlineColor} class="" .customLabelEnabled=${this.customLabelEnabled} .defaultBufferDistance=${this.defaultBufferDistance} .defaultBufferUnit=${this.defaultBufferUnit} .enableLayerFeatures=${this.enableLayerFeatures} .enableLayerFeaturesOnLoad=${this.enableLayerFeaturesOnLoad} .enableSearchDistance=${this.enableSearchDistance} .enableSearchDistanceOnLoad=${this.enableSearchDistanceOnLoad} .enableSketchTools=${this.enableSketchTools} .enabledLayerIds=${this.addresseeLayerIds} header-label-class .isUpdate=${!!this._activeSelection} .mapView=${this.mapView} .noResultText=${this.noResultText} @selectionSetChange=${this._updateForSelection} .searchConfiguration=${this._searchConfiguration} .searchDistanceEnabled=${this.enableSearchDistanceOnLoad} .selectionLayerIds=${this.selectionLayerIds} .selectionSet=${this._activeSelection} .sketchLineSymbol=${this.sketchLineSymbol} .sketchPointSymbol=${this.sketchPointSymbol} .sketchPolygonSymbol=${this.sketchPolygonSymbol} .useLayerFeaturesEnabled=${this.enableLayerFeaturesOnLoad} ${d(this._selectTools)}></map-select-tools></div>${this._getPageNavButtons(this._translations.done,this._numSelected===0,()=>{this._saveSelection()},this._translations.cancel,!1,()=>{this._home()})}</calcite-panel>`}_getExportPage(){let e=this._hasSelections(this.showRefineSelection),t=this._numDuplicates>0?"display-block":"display-none",i=this.customExport&&this.customExportURL&&this._layoutTemplates.length;return l`<calcite-panel><div>${this._getLabel(this._translations.export,!1,"header-label")}${e?l`<div>${this._getNotice(this._translations.exportTip,"padding-sides-1")}${this._getLabel(this._translations.exportListsLabel,!1,"")}${this._getExportSelectionLists()}<div class=${`padding-sides-1 ${t}`}><div class="display-flex"><calcite-label layout=inline><calcite-checkbox ${d(this._removeDuplicates)}></calcite-checkbox><div class="display-flex">${this._translations.removeDuplicate}<div class="info-message padding-start-1-2"><calcite-input-message class="info-blue margin-top-0" scale=m>${` ${this._translations.numDuplicates.replace("{{n}}",this._numDuplicates.toString())}`}</calcite-input-message></div></div></calcite-label><calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=question id=remove-duplicates-icon scale=s></calcite-icon></div><calcite-popover closable label overlay-positioning=fixed reference-element=remove-duplicates-icon><span class="tooltip-message">${this._translations.duplicatesTip}</span></calcite-popover></div><div class="border-bottom"></div><div class="segmented-controls padding-top-sides-1">${this._getLabel(this._translations.exportOptions,!0,"","margin-bottom-0-5")}${this._getSegmentedControls()}</div>${i?this._getCustomPrintOptions():l`<div class="padding-1 padding-bottom-0">${this._getExportOptions()}</div>`}<div class="padding-1 display-flex"><calcite-button .disabled=${!this._downloadActive||this._fetchingData||!this._addMap&&!this._addResults} .loading=${this._fetchingData} @click=${()=>this._segmentType==="CUSTOM"?this._customExport():void this._standardExport()} width=full><span class="font-weight-500">${this._translations.export}</span></calcite-button></div></div>`:this._getNotice(this._translations.downloadNoLists,"padding-sides-1 padding-bottom-1")}</div></calcite-panel>`}_customExport(){if(!this.mapView)return;let e=this.layoutTemplateSelectRef.value?this.layoutTemplateSelectRef.value.selectedOption.value:"",t=this.reportTemplateSelectRef.value?this.reportTemplateSelectRef.value.selectedOption.value:"";this._fetchingData=!0;let i=this._reportTemplatesInfo.find(n=>n.reportTemplate===t),s=i?{...i.reportOptions}:{},a=this._selectedReportingLayerId;s?.reportSectionOverrides&&Object.keys(s.reportSectionOverrides).forEach(n=>{s.reportSectionOverrides[n].sourceId=a});let o=new G({layout:e,report:t,format:"pdf",layoutOptions:{titleText:this._titleElement.value?.value},reportOptions:s}),c=new M({view:this.mapView,template:o});N.execute(this.customExportURL,c).then(n=>{let g=this._titleValue;if(!g){let r=this._getSelectionIdsAndViews(this._selectionSets,!0),_=R(r);g=D(_)}n.url&&g&&this._downloadCustomPDF(n.url,g),this._fetchingData=!1}).catch(n=>{this._fetchingData=!1,console.error(n)})}async _downloadCustomPDF(e,t){try{let i=await fetch(e);if(!i.ok)throw new Error(`Failed to fetch PDF: ${i.statusText}`);let s=await i.blob(),a=window.URL.createObjectURL(s),o=document.createElement("a");o.href=a,o.download=t||"download.pdf";let c=document.getElementById("custom-export-div");c&&(c.appendChild(o),o.click(),window.URL.revokeObjectURL(a),c.removeChild(o))}catch(i){console.error("Download failed:",i)}}_exportTypeChange(e){this._exportType=e.target.value}_segmentTypeChange(e){this._titleValue="",this._segmentType=e.target.value}_getSegmentedControls(){return this.customExport&&this.customExportURL&&this._layoutTemplates.length?this._getStandardAndCustomSegmentedControl():this._getPDFAndCSVSementedControl()}_getPDFAndCSVSementedControl(){return l`<calcite-segmented-control class="w-100 calcite-segments" @calciteSegmentedControlChange=${this._exportTypeChange} width=full><calcite-segmented-control-item .checked=${this._exportType==="PDF"} class="w-50 end-border" value=PDF><span class="font-weight-500">${this._translations.pdf}</span></calcite-segmented-control-item><calcite-segmented-control-item .checked=${this._exportType==="CSV"} class="w-50" value=CSV><span class="font-weight-500">${this._translations.csv}</span></calcite-segmented-control-item></calcite-segmented-control>`}_getStandardAndCustomSegmentedControl(){return l`<calcite-segmented-control class="w-100 calcite-segments" @calciteSegmentedControlChange=${this._segmentTypeChange} width=full><calcite-segmented-control-item .checked=${this._segmentType==="STANDARD"} class="w-50 end-border" value=STANDARD><span class="font-weight-500">${this._translations.standard}</span></calcite-segmented-control-item><calcite-segmented-control-item .checked=${this._segmentType==="CUSTOM"} class="w-50" value=CUSTOM><span class="font-weight-500">${this._translations.custom}</span></calcite-segmented-control-item></calcite-segmented-control>`}_getCustomPrintOptions(){return this._segmentType==="STANDARD"?this._getStandardExportOptions():this._getCustomExportOptions()}_getStandardExportOptions(){return l`<div class="padding-1 padding-bottom-0"><calcite-label layout=inline alignment=start scale=m><calcite-radio-button .checked=${this._exportType==="PDF"} scale=m value=PDF @calciteRadioButtonChange=${this._exportTypeChange}></calcite-radio-button>${this._translations.pdf}</calcite-label><div class=indent-group>${this._getExportOptions()}</div><calcite-label layout=inline class="margin-top-1" alignment=start scale=m><calcite-radio-button .checked=${this._exportType==="CSV"} scale=m value=CSV @calciteRadioButtonChange=${this._exportTypeChange}></calcite-radio-button>${this._translations.csv}</calcite-label></div>`}_getCustomExportOptions(){let e=this._titleValue?this._titleValue:this.defaultExportTitle?this.defaultExportTitle:"",t=[],i=this._getSelectionIdsAndViews(this._selectionSets,!0);return Object.keys(i).forEach(s=>{i[s].ids.length&&t.push(s)}),l`<div id=custom-export-div class="padding-top-sides-1"><p class="instructional-text">${this._translations.formattingTip}</p>${t.length>1&&l`<p class="instructional-text margin-top-0-5">${this._translations.selectMatchingInputLayersLabel}</p>`||""}<div class=${"margin-top-1"}>${this._getLabel(this._translations.title,!0,"","none")}<calcite-input-text class="padding-inline-start-0 padding-top-1-2" @calciteInputTextInput=${()=>this._changeTitle()} .placeholder=${this._translations.titlePlaceholder} .value=${e} ${d(this._titleElement)}></calcite-input-text></div><div class=${"margin-top-1"}>${this._getLabel(this._translations.layoutTemplate,!0,"","none")}</div><calcite-select class="padding-inline-start-0 padding-top-1-2" label ${d(this.layoutTemplateSelectRef)}>${this._layoutTemplates.map((s,a)=>l`<calcite-option .selected=${a===0} .value=${s}>${s}</calcite-option>`)}</calcite-select>${this._reportTemplates?.length&&l`<div class=${"margin-top-1"}>${this._getLabel(this._translations.reportTemplate,!0,"","none")}</div><calcite-select class="padding-inline-start-0 padding-top-1-2" label ${d(this.reportTemplateSelectRef)}>${this._reportTemplates.map((s,a)=>l`<calcite-option .selected=${a===0} .value=${s}>${s}</calcite-option>`)}</calcite-select><div class=${"padding-top-sides-1 padding-inline-start-0 display-flex margin-bottom-0-5"}><calcite-label class="label-margin-0" layout=inline>${this._translations.reportLayer}</calcite-label><calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=information id=filter-message-info scale=s></calcite-icon><calcite-popover closable label overlay-positioning=fixed reference-element=filter-message-info><span class="tooltip-message">${this._translations.sourceLayerWarning}</span></calcite-popover></div><map-layer-picker .disabled=${t.length<=1} .enabledLayerIds=${t} .mapView=${this.mapView} @layerSelectionChange=${s=>{this._selectedReportingLayerId=s.detail[0]}} .selectedIds=${[this._selectedReportingLayerId]}></map-layer-picker>`||""}</div>`}async _setTemplates(){let e=this.customExportURL,t=`${e.split("/GPServer")?.[0]}/GPServer`;try{let i=await this.getTasksInfo(t),s="",a=i.tasks?.map(async r=>{await this.getTaskType(r,t)==="GetReportTemplatesInfo"&&(s=`${t}/${r}`)});a&&await Promise.all(a),s&&i.executionType&&await this._fetchReportTemplates(s,i.executionType);let o=(await f(e,{authMode:"auto",responseType:"json",query:{f:"json"}}))?.data,c=o.parameters.find(r=>r.name==="Layout_Template"&&Array.isArray(r.choiceList)),n=o.parameters.find(r=>r.name==="Report_Template"&&Array.isArray(r.choiceList));this._layoutTemplates=c?c.choiceList:[];let g=n?n.choiceList:[];this._reportTemplates=this._reportTemplatesInfo.length?g.filter(r=>this._reportTemplatesInfo.some(_=>_.reportTemplate===r)):[]}catch(i){console.error(i)}}async getTaskType(e,t){if(!e||!t)return Promise.resolve("");let i=`${t}/${e}`;try{let s=(await f(i,{authMode:"auto",responseType:"json",query:{f:"json"}}))?.data?.name||"";return Promise.resolve(s)}catch(s){return console.error(s),Promise.resolve("")}}async getTasksInfo(e){if(!e)return Promise.resolve({});let t=`${e}?f=json`,i={authMode:"auto",responseType:"json",query:{f:"json"}};try{let s=(await f(t,i))?.data,a=s?.tasks,o=s?.executionType==="esriExecutionTypeSynchronous"?"execute":"submitJob";return{tasks:a,supportedOperations:o,executionType:s?.executionType}}catch(s){return console.error(s),{}}}async _fetchReportTemplates(e,t){if(e)try{if(t==="esriExecutionTypeSynchronous"){let i=(await u.execute(e,{}))?.results?.find(s=>s.paramName==="Output_JSON");this._reportTemplatesInfo=i?.value??[]}else{let i=await u.submitJob(e,{});await i.waitForJobCompletion();let s=await i.fetchResultData("Output_JSON");this._reportTemplatesInfo=s?.value??[]}this._reportTemplatesInfo=this._reportTemplatesInfo.filter(i=>{let s=i.reportOptions;if(s?.reportSectionOverrides){let a=0;return Object.keys(s.reportSectionOverrides).forEach(o=>{s.reportSectionOverrides[o].hasOwnProperty("sourceId")&&a++}),a<=1}else return!0})}catch(i){console.error("Failed to fetch report templates:",i)}}_getExportOptions(){let e=this._exportType==="PDF"?"display-block":"display-none",t=this._addTitle?"display-block":"display-none",i=this._addMap?"display-flex":"display-none",s=this._titleValue?this._titleValue:this.defaultExportTitle?this.defaultExportTitle:"",a=this._addResults?"":"display-none";return l`<div class=${p(e)}><p class="instructional-text">${this._translations.selectContentTip}</p><div class="padding-top-sides-1 padding-inline-start-0"><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._addResults} @calciteCheckboxChange=${()=>this._addResults=!this._addResults}></calcite-checkbox>${this._translations.addResults}</calcite-label></div><div class=${`indent-group margin-top-1 ${a}`}><div class="margin-bottom-0-5"><calcite-label class="label-margin-0">${this._translations.selectPDFLabelOption}</calcite-label></div><div><pdf-download .defaultNumLabelsPerPage=${Number.parseInt(this.defaultNumLabelsPerPage.toString(),10)} .disabled=${!this._downloadActive} ${d(this._downloadTools)}></pdf-download></div></div><div class="padding-top-sides-1 padding-inline-start-0"><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._addTitle} @calciteCheckboxChange=${()=>this._addTitle=!this._addTitle}></calcite-checkbox>${this._translations.title}</calcite-label></div><div class=${`${t} indent-group margin-top-0-5`}><calcite-input-text class="padding-inline-start-0 padding-top-1-2" @calciteInputTextInput=${()=>this._changeTitle()} .placeholder=${this._translations.titlePlaceholder} .value=${s} ${d(this._titleElement)}></calcite-input-text></div><div class="padding-top-sides-1 padding-inline-start-0"><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._addMap} @calciteCheckboxChange=${()=>this._handleAddMapChange()}></calcite-checkbox>${this._translations.includeMap}</calcite-label></div><div class=${`padding-top-sides-1 padding-inline-start-0 ${i}`}><calcite-label class="label-margin-0" layout=inline><calcite-checkbox .checked=${this._exportGraphics} @calciteCheckboxChange=${()=>this._handleExportGraphicsChange()}></calcite-checkbox>${this._translations.listGraphics}</calcite-label><calcite-icon class="padding-start-1-2 icon" .flipRtl=${this._translations._lang?.toLowerCase()!=="he"} icon=question id=list-graphics-icon scale=s></calcite-icon><calcite-popover closable label overlay-positioning=fixed reference-element=list-graphics-icon><span class="tooltip-message">${this._translations.listGraphicsTip}</span></calcite-popover></div></div>`}_handleAddMapChange(){this._addMap=!this._addMap,this._updateExportGraphics()}_handleExportGraphicsChange(){this._exportGraphics=!this._exportGraphics,this._updateExportGraphics()}_getManagedLayer(e){let t,i=this._pnStateContextProvider.value;return Object.keys(i.managedLayers).some(s=>{let a=this.mapView?.map.layers.findIndex(o=>o.title===s);return i.managedLayers[s]===e&&a!==void 0?(t=this.mapView?.map.layers.getItemAt(a),!0):!1}),t}_updateExportGraphics(e=!1){(e||!this._exportGraphics||!this._addMap)&&this._removeExportGraphics(),this._exportGraphics&&this._addMap&&this._addExportGraphics()}_removeExportGraphics(){let e=this._getManagedLayer("sketch"),t=this._getManagedLayer("buffer");e&&e.graphics.removeAll(),t&&t.graphics.removeAll()}_addExportGraphics(){let e=this._getManagedLayer("sketch"),t=this._getManagedLayer("buffer");this._refineGraphics.forEach(i=>{e?.add(i.drawnGraphic),t?.add(i.bufferGraphic)}),this._selectionSets.forEach(i=>{if(i.download&&(e&&i.sketchGraphic&&e.graphics.add(i.sketchGraphic),t)){let s={type:"simple-fill",color:this.bufferColor,outline:{color:this.bufferOutlineColor,width:1}},a=new A({geometry:i.buffer,symbol:s});a&&t.graphics.add(a)}})}_getRefinePage(){let e=this._hasSelections();return l`<calcite-panel>${this._getLabel(this._translations.refineSelection,!1,"header-label")}${e?l`<div>${this._getNotice(this._translations.refineTip,"padding-sides-1")}<refine-selection .enabledLayerIds=${this.selectionLayerIds} .mapView=${this.mapView} .drawnGraphicsArr=${this._refineGraphics} .selectionSets=${this._selectionSets} .sketchLineSymbol=${this.sketchLineSymbol} .sketchPointSymbol=${this.sketchPointSymbol} .sketchPolygonSymbol=${this.sketchPolygonSymbol} .bufferColor=${this.bufferColor} .bufferOutlineColor=${this.bufferOutlineColor} .defaultBufferDistance=${this.defaultBufferDistance} .defaultBufferUnit=${this.defaultBufferUnit} .enableSearchDistance=${this.enableSearchDistance} .enableSearchDistanceOnLoad=${this.enableSearchDistanceOnLoad} .searchDistanceEnabled=${this.enableSearchDistanceOnLoad} ${d(this._refineSelection)}></refine-selection></div>`:this._getNotice(this._translations.refineTipNoSelections,"padding-sides-1")}</calcite-panel>`}_getPageNavButtons(e,t,i,s,a,o){return l`<div class="padding-bottom-1"><div class="display-flex padding-top-sides-1"><calcite-button .disabled=${t} @click=${i} width=full><span class="font-weight-500">${e}</span></calcite-button></div><div class="display-flex padding-top-1-2 padding-sides-1"><calcite-button appearance=outline .disabled=${a} @click=${o} width=full><span class="font-weight-500">${s}</span></calcite-button></div></div>`}_changeTitle(){this._titleElement.value?.value&&(this._titleValue=this._titleElement.value.value||"")}_getNotice(e,t="padding-1",i=""){return l`<calcite-notice class=${p(t)} icon=lightbulb kind=success open><div class=${p(i)} slot=message>${e}</div></calcite-notice>`}_getLabel(e,t=!1,i="font-bold",s="padding-top-sides-1"){return i+=t?" label-margin-0":"",l`<div class=${p(s)}><calcite-label class=${p(i)}>${e}</calcite-label></div>`}_getExportSelectionLists(){return this._selectionSets.reduce((e,t)=>{let i=this._getSelectionSetIds(t),s=t.workflowType!=="REFINE"||i.length>0;return!this._downloadActive&&t.download&&s&&(this._downloadActive=!0),s&&e.push(l`<div class="display-flex padding-sides-1 padding-bottom-1"><calcite-checkbox .checked=${t.download} class="align-center" @calciteCheckboxChange=${()=>{this._toggleDownload(t.id)}}></calcite-checkbox><calcite-list class="list-border margin-start-1-2 width-full" id=download-list label><calcite-list-item .disabled=${!t.download} .label=${t.label} @click=${()=>{this._toggleDownload(t.id)}}><div slot=content><div class="list-label">${t.label}</div><div class="list-description">${t.layerView?.layer.title}</div><div class="list-description">${this._translations.selectedFeatures.replace("{{n}}",i.length.toString())}</div></div></calcite-list-item></calcite-list></div>`),e},[])||l`<div></div>`}async _toggleDownload(e){let t=!1;this._selectionSets=this._selectionSets.map(i=>{let s=!1;return i.refineInfos&&Object.keys(i.refineInfos).forEach(a=>{i.refineInfos[a].addIds.length&&(s=!0)}),(i.workflowType!=="REFINE"||s)&&(i.download=i.id===e?!i.download:i.download,t=i.download?!0:t),i}),this._updateExportGraphics(!0),this._downloadActive=t,this._fetchingData=!0,this._numDuplicates=await this._getNumDuplicates(),this._fetchingData=!1,await this._highlightFeatures()}async _standardExport(){let e=this._addResults?this._getSelectionIdsAndViews(this._selectionSets,!0):{};if(this._exportType==="PDF"){let t="";this._addMap&&this.mapView&&(t=(await this.mapView.takeScreenshot({width:1500,height:2e3}))?.dataUrl),this._fetchingData=!0,this._downloadTools.value&&this._removeDuplicates.value&&this.mapView?.map&&await this._downloadTools.value.downloadPDF(this.mapView.map,e,this._removeDuplicates.value.checked,this._addTitle&&this._titleElement.value?this._titleElement.value.value:"",t),this._fetchingData=!1}this._exportType==="CSV"&&(this._fetchingData=!0,this._downloadTools.value&&this.mapView?.map&&await this._downloadTools.value.downloadCSV(this.mapView.map,e,this._removeDuplicates.value?.checked||!1),this._fetchingData=!1)}_getSelectionIdsAndViews(e,t=!1){return(t?e.filter(i=>i.download):e).reduce((i,s)=>{if(s.workflowType==="REFINE")Object.keys(s.refineInfos).forEach(a=>{let o=s.refineInfos[a];if(o.addIds){let c=o.layerView.layer.id;i=this._updateExportInfos(i,c,s.label,o.addIds,o.layerView)}});else{let a=s?.layerView?.layer.id;a!==void 0&&s.layerView&&(i=this._updateExportInfos(i,a,s.label,s.selectedIds,s.layerView))}return i},{})}_updateExportInfos(e,t,i,s,a){return t&&Object.keys(e).indexOf(t)>-1?(e[t].ids=[...new Set([...e[t].ids,...s])],e[t].selectionSetNames.push(i)):t&&(e[t]={ids:s,layerView:a,selectionSetNames:[i]}),e}_getAction(e,t,i,s,a=!1,o=""){return l`<calcite-action appearance=solid .disabled=${!e} .icon=${t} icon-flip-rtl .indicator=${a} @click=${s} slot=${o??m} .text=${i}></calcite-action>`}_updateForSelection(e){this._numSelected=e.detail,this._saveEnabled=this._numSelected>0}async _home(){await this._clearSelection(),this._setPageType("LIST")}async _saveSelection(){let e=await this._selectTools.value?.getSelection();if(e){let t=this._selectTools.value?.isUpdate;this._selectionSets=t?this._selectionSets.map(i=>i.id===e.id?e:i):[...this._selectionSets,e]}return this._home()}async _clearSelection(){await this._selectTools.value?.clearSelection(),this._numSelected=0,this._activeSelection=void 0}async _deleteSelection(e,t){return t.stopPropagation(),this._selectionSets=this._selectionSets.filter((i,s)=>(i.workflowType==="REFINE"&&(this._refineGraphics=[]),s!==e?i:!1)),this._highlightFeatures()}_gotoSelection(e,t){e.selectedIds&&e.layerView&&I(e.selectedIds,e.layerView,t,this.featureHighlightEnabled,this.featureEffect)}_openSelection(e,t){t.stopPropagation(),this._activeSelection=e,this._pageType=e.workflowType==="REFINE"?"REFINE":"SELECT"}async _highlightFeatures(){let e=this._pnStateContextProvider.value;this._clearHighlight();let t=this._getSelectionIdsAndViews(this._selectionSets,this._pageType==="EXPORT"),i=Object.keys(t);if(i.length>0)for(let s=0;s<i.length;s++){let a=t[i[s]];if(a.layerView&&this.mapView){let o=await C(a.ids,a.layerView,this.mapView);e.highlightHandles.push(o)}}}_checkPopups(){typeof this._popupsEnabled!="boolean"&&(this._popupsEnabled=!!this.mapView?.popupEnabled)}_clearHighlight(){let e=this._pnStateContextProvider.value;e&&e.highlightHandles&&e.removeHandles()}};T("public-notification",y);return y},"Graphic","rest/support/PrintTemplate","rest/support/PrintParameters","rest/print","rest/geoprocessor","request",a,b,c,e)
|