@arcgis/map-components 5.1.0-next.54 → 5.1.0-next.56
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/{7OCT6QER.js → A7MSOZ5G.js} +1 -1
- package/dist/cdn/SUVEJTPX.js +2 -0
- package/dist/cdn/XBVVA2BV.js +2 -0
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/action-utils.js +2 -2
- package/dist/components/arcgis-feature-templates-legacy/customElement.d.ts +98 -0
- package/dist/components/arcgis-features/customElement.js +90 -106
- package/dist/components/arcgis-layer-list-item/customElement.js +1 -1
- package/dist/components/arcgis-paste/customElement.js +33 -20
- package/dist/components/arcgis-utility-network-trace-location/customElement.js +120 -120
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/types/lumina.d.ts +1 -1
- package/dist/types/preact.d.ts +1 -1
- package/dist/types/react.d.ts +1 -1
- package/dist/types/stencil.d.ts +1 -1
- package/package.json +4 -4
- package/dist/cdn/CX4BONNF.js +0 -2
- package/dist/cdn/WRXZSYE7.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import j from"./F2MDJ3QQ.js";import i from"./DHDFI523.js";import h from"./NKR3PQHN.js";import{a as b}from"./J6UG5EF7.js";import g from"./2SQ2T6UO.js";import f from"./5CJ44XUV.js";import{a as se}from"./SVVJHTPA.js";import e from"./3JMJAUSY.js";import c from"./RO4TU5R3.js";import{g as re}from"./55IJQTCC.js";import"./7DOI3267.js";import a from"./O5TDDX7K.js";import"./EHZW6UXL.js";import{M as V,N as D,O as ee,P as te,Q as N,R as ie,U as ae,a as Y,b as d,c as R,x as E}from"./MDRC374Z.js";import"./3TTFCHAA.js";export default $arcgis.t(([{property:s,subclass:C},Z,B,{getApplicationClipboard:Me},Ce,j,{getFullTemplate:ce,isSharedTemplate:de,getCreationAttributes:Fe,isSharedTemplateOrMetadata:me},{createApplySetModifyItem:W,createApplySet:J,createFeatureStateProvider:Q,createApplySetAddItem:q,writeApplySetToService:_e},{whenOnce:ue,watch:X},{getRendererFields:pe,getFeatureEditFields:xe},Pe,{substitute:y},{createGraphicsMover:$e},,,,oe,,{g:U},{a:le,b:ne}])=>{var Ae=Y`.esri-widget__heading{color:var(--calcite-color-text-2);margin:0 0 .5rem;font-weight:var(--calcite-font-weight-semibold)}h1.esri-widget__heading{font-size:var(--calcite-font-size-xl)}h2.esri-widget__heading{font-size:var(--calcite-font-size-md)}h3.esri-widget__heading,h4.esri-widget__heading,h5.esri-widget__heading,h6.esri-widget__heading{font-size:var(--calcite-font-size)}.esri-widget{box-sizing:border-box;color:var(--calcite-color-text-2);background-color:var(--calcite-color-foreground-1);font-size:var(--calcite-font-size);line-height:var(--calcite-font-line-height-relative-tight)}.esri-widget *,.esri-widget :before,.esri-widget :after{box-sizing:inherit}.esri-widget.esri-widget--disabled>*{opacity:.4;pointer-events:none}.esri-widget.esri-widget--compact{--esri-widget-padding-y: 0;--esri-widget-padding-x: 0}.esri-widget__anchor{color:var(--calcite-color-text-2)}.esri-widget__anchor:hover{color:var(--calcite-color-text-3)}.esri-widget__anchor:hover,.esri-widget__anchor:focus{text-decoration:underline}.esri-widget__anchor--disabled{opacity:.4;pointer-events:none}.esri-widget__header{background-color:var(--calcite-color-foreground-1);flex:1 0 100%;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:12px 0 12px 15px;display:flex}.esri-widget__heading{word-break:break-word}.esri-widget__header .esri-widget__heading{width:calc(100% - 48px);text-align:initial;color:var(--calcite-color-text-1);align-items:center;margin:0;padding:0;display:flex}.esri-widget__header-button{appearance:none;cursor:pointer;color:var(--calcite-color-text-2);background-color:var(--calcite-color-foreground-1);border:none;flex:0 0 48px;justify-content:center;align-self:stretch;align-items:center;width:48px;padding:0;display:flex}.esri-widget__footer{background-color:var(--calcite-color-foreground-1);justify-content:center;align-items:center;width:100%;min-height:48px;display:flex}.esri-widget__footer-pagination{color:var(--calcite-color-text-2);justify-content:space-between;align-items:center;display:flex}.esri-widget__footer-pagination-previous-button,.esri-widget__footer-pagination-next-button{cursor:pointer;background-color:var(--calcite-color-foreground-1);border:0;margin:0 7px;padding:12px 15px;transition:background-color .125s ease-in-out}.esri-widget__footer-pagination-previous-button:hover,.esri-widget__footer-pagination-previous-button:focus,.esri-widget__footer-pagination-next-button:hover,.esri-widget__footer-pagination-next-button:focus{color:var(--calcite-color-text-1);background-color:var(--calcite-color-foreground-1)}.esri-menu{visibility:hidden;z-index:1;background-clip:padding;background-color:var(--calcite-color-foreground-1);background-clip:padding-box;width:100%;max-height:0;margin:2px 0 0;padding:0;font-size:var(--calcite-font-size);line-height:var(--calcite-spacing-xl);position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 1px 2px #0000004d}.esri-menu .esri-menu__header{color:var(--calcite-color-text-inverse);background-color:var(--calcite-color-inverse);padding:6px 12px}.esri-menu__list{margin:0;padding:0;list-style:none}.esri-menu__list-item{cursor:pointer;border-top:1px solid #adadad4d;border-left:3px solid #0000;padding:.8em 1em}.esri-menu__list-item [class^=esri-icon-],.esri-menu__list-item [class*=" esri-icon-"]{padding-right:2.8px}.esri-menu__list-item:first-child{border-top:none}.esri-menu__list-item--focus,.esri-menu__list-item:hover,.esri-menu__list-item:focus{background-color:var(--calcite-color-foreground-1)}.esri-menu__list-item:active{background-color:var(--calcite-color-foreground-current)}.esri-menu__list-item--active,.esri-menu__list-item--active:hover,.esri-menu__list-item--active:focus{background-color:var(--calcite-color-foreground-1);border-left-color:var(--calcite-color-brand)}.esri-widget__table{border-collapse:collapse;color:var(--calcite-color-text-1);border:none;width:100%;line-height:var(--calcite-font-line-height-relative-tight)}.esri-widget__table tr:nth-child(odd){background-color:var(--calcite-color-transparent)}.esri-widget__table tr:nth-child(2n){background-color:var(--calcite-color-transparent-press)}.esri-widget__table tr a{color:var(--calcite-color-text-2)}.esri-widget__table tr a:hover,.esri-widget__table tr a:focus{color:var(--calcite-color-text-1)}.esri-widget__table tr td,.esri-widget__table tr th{vertical-align:top;word-break:break-word;padding:.5em .7em;font-size:var(--calcite-font-size-sm);font-weight:var(--calcite-font-weight-regular)}.esri-widget__table tr th{text-align:left;border-right:3px solid #0000000d;width:50%}.esri-widget__table tr td{width:50%}.esri-input{color:var(--calcite-color-text-1);background-color:var(--calcite-color-foreground-1);border:1px solid #959595;font-size:var(--calcite-font-size)}.esri-input::-ms-clear{display:none}.esri-input::placeholder{opacity:1;color:var(--calcite-color-text-2)}.esri-input:placeholder-shown{text-overflow:ellipsis}.esri-input[type=text],.esri-input[type=password],.esri-input[type=number]{height:32px;padding:0 .5em}calcite-combobox.esri-input{border:none}.esri-widget__content--empty{text-align:center;color:var(--calcite-color-border-input);flex-flow:column wrap;align-items:center;padding:18px 22px;display:flex}.esri-widget__content--empty h1.esri-widget__heading,.esri-widget__content--empty h2.esri-widget__heading,.esri-widget__content--empty h3.esri-widget__heading,.esri-widget__content--empty h4.esri-widget__heading,.esri-widget__content--empty h5.esri-widget__heading{font-weight:var(--calcite-font-weight-regular)}.esri-widget__content-illustration--empty{width:128px;padding:1rem 0}.esri-widget__content-icon--empty{width:32px;padding:.5rem 0}.esri-select{appearance:none;cursor:pointer;color:var(--calcite-color-text-2);background:var(--calcite-color-foreground-1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 32 32' width='32' height='32'%3E%3Cpath d='M8 11.207l-4-4V5.793l4 4 4-4v1.414z' fill='%23adadad' fillrule='nonzero'/%3E%3C/svg%3E") 100% no-repeat;border:1px solid #959595;border-radius:0;width:100%;height:32px;margin:0;padding:0 .5em;font-family:inherit;font-size:.85em;display:block}.esri-select[disabled]{cursor:auto}.esri-select::-ms-expand{display:none}.esri-disabled a,.esri-disabled [role=menu],.esri-disabled [role=checkbox],.esri-disabled [class^=esri-icon-],.esri-disabled [class*=" esri-icon-"]{color:var(--calcite-color-text-3)}.keynav-mode .esri-widget:focus,.keynav-mode .esri-widget :focus{z-index:1;outline-offset:2px;outline:2px solid #adadad}.esri-widget__loader-animation{border:.15em solid #adadad4d;border-top-color:var(--calcite-color-border-input);border-radius:100%;width:1em;height:1em;font-size:var(--calcite-font-size-md);animation:1.25s linear infinite esri-rotate;display:block;transform:translateZ(0)}:dir(rtl) .esri-widget__table th{text-align:right;border-left:3px solid #0000000d;border-right:none}:dir(rtl) .esri-select{background-position:0}:dir(rtl) .esri-menu__list-item{border-left:none;border-right:3px solid #0000}:dir(rtl) .esri-menu__list-item [class^=esri-icon-],:dir(rtl) .esri-menu__list-item [class*=" esri-icon-"]{padding-left:2px;padding-right:0}:dir(rtl) .esri-menu__list-item--active{border-right-color:var(--calcite-color-brand)}.esri-icon-font-fallback-text{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.esri-rotating{animation:1.25s linear infinite esri-rotate;transform:translateZ(0)}.esri-clearfix:before,.esri-clearfix:after{content:" ";display:table}.esri-clearfix:after{clear:both}.esri-interactive{cursor:pointer}.esri-hidden{display:none!important}.esri-invisible{visibility:hidden!important}.esri-offscreen{position:absolute;top:-999em;left:-999em}.esri-match-height{flex-direction:column;flex:auto;display:flex;overflow:hidden}:host{display:flex}.arcgis-paste{height:var(--arcgis-paste-height, 300px);width:var(--arcgis-paste-width, 300px);flex:1}.hidden{display:none}.flex-row{flex-direction:row}.justify-center{justify-content:center}.h-full{height:100%}.w-full{width:100%}.flex{display:flex}.text-center{text-align:center}.pad-contents{padding:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md))}.merge-feature-form{padding-left:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md));padding-right:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md));padding-bottom:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md))}.pad-start-end{padding-left:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md));padding-right:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md))}.gallery-content{padding-top:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md));padding-bottom:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md));display:flex;row-gap:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md));flex-direction:column}.chip-indent{margin-left:5px;margin-right:5px}.merge-split-view-container{display:flex;flex-direction:column;height:100%}.merge-split-view-items{flex:0 1 auto;max-height:50%;overflow-y:scroll}.merge-split-view-attributes{flex:1;overflow-y:scroll}.choose-feature{position:absolute;width:100%;max-height:100%;z-index:2;overflow-y:auto}.bau-pick{display:flex;flex-direction:row;align-items:center;gap:4px}.danger-icon-warning{--calcite-icon-color: var(--calcite-color-status-danger)}.paste-feature-templates{--arcgis-feature-templates-max-list-height: 100%}`;async function Ee(e,t={}){if(e?.type==="subtype-group"){if(!e.subtypeField)return[];let i=t[e.subtypeField];if(!be(i))return[];let a=e.findSublayerForSubtypeCode(i);return a?a.renderer&&a.fieldsIndex?await pe(a.renderer,e.fieldsIndex):[]:[]}return e?e.renderer&&e.fieldsIndex?await pe(e.renderer,e.fieldsIndex):[]:[]}function Ie(e,t,i,a,r,o){let l={...a},h=ke(o),p=Se(o),m="";(o.type==="subtype-group"||o.type==="subtype-sublayer")&&(m=o.subtypeField??"");let v=o.objectIdField??"";return e.forEach(u=>{if(u.name!==v&&!h.includes(u.name)&&!p.includes(u.name)&&!r.includes(u.name)&&u.type!=="global-id"&&(m===""||m!==u.name)){let w=He(u,t);w.match&&w.targetField&&(l[w.targetField?.name]=i[u.name])}}),l}function ke(e){return e&&"relationships"in e?(e.relationships??[]).filter(t=>t.role==="origin").map(t=>t.keyField):[]}function Se(e){return e?.type==="subtype-sublayer"&&(e=e.parent),e?xe(e):[]}function Te(e,t){if(e.type===t.type)return t.type==="string"?e.length<=t.length:!0;switch(e.type){case"small-integer":return["integer","big-integer"].includes(t.type);case"integer":return t.type==="big-integer";case"single":return t.type==="double";default:return!1}}function He(e,t){let i={match:!1,sourceField:null,targetField:null};for(let a of t)if(Te(e,a)){let r=e.name.replace(/\s/gu,"").toLowerCase();if(a.name.replace(/\s/gu,"").toLowerCase()===r)return i.match=!0,i.sourceField=e,i.targetField=a,i}return i}async function ge(e,t,i,a){let r=!0,o={hasAsyncArcadeExpressions:!1},l=e.items.filter(h=>h.type==="add");for(let h of l){let p=h.graphic.clone(),m=Oe(h.graphic,h.layer);if(!m){r=!1;continue}let v=!await Ge(t,h.graphic,m,i,o);if(o.hasAsyncArcadeExpressions&&l.length>a)return!1;let u=W({graphic:h.graphic,layer:h.layer,originalGraphic:p});if(e.push(u),!v)return!1}return r}function Oe(e,t){return t.type==="feature"||t.type==="subtype-sublayer"?t:t.findSublayerForFeature(e)||null}async function Ge(e,t,i,a,r){let o=i.formTemplate,l=i.fields.filter(w=>{let z=t.attributes[w.name],fe=z===null||z===""||z===void 0;return w.editable&&!w.nullable&&fe});if(!o)return l.length!==0;let h=new Set;we(o.elements??[],h);let p=new Set;if(ve(o.elements??[],p),h.size===0&&p.size===0)return l.length>0;let m=t.clone();m.layer=i,delete m.attributes[i.objectIdField],a.has(i)||a.set(i,new Pe({map:e.map,editType:"INSERT"}));let v=a.get(i);if(v.features=new j([m]),await ue(()=>(v.status==="loaded"||v.status==="failed")&&!v.updating),v.hasAsyncArcadeExpressions&&(r.hasAsyncArcadeExpressions=!0),v.status==="failed")return!0;let u=v.getValues(m)??{};if(i.objectIdField&&u[i.objectIdField]!==void 0){let{[i.objectIdField]:w,...z}=u;u=z}return Object.keys(u).forEach(w=>{i.fieldsIndex.has(w)&&(t.attributes[w]=ze(u[w],w,i.fieldsIndex))}),v.invalidFeatures.length>0}function ve(e,t){for(let i of e)i.type==="group"?ve(i.elements,t):i.type==="field"&&i.valueExpression&&t.add(i.fieldName)}function we(e,t){for(let i of e)i.type==="group"?we(i.elements,t):i.type==="field"&&i.requiredExpression&&t.add(i.fieldName)}function be(e){return typeof e=="number"}function Le(e){return typeof e=="number"&&window.isFinite(e)&&Math.floor(e)===e}function ze(e,t,i){if(e==null)return null;switch(i.get(t).type){case"big-integer":case"long":case"oid":case"integer":case"small-integer":return Le(e)?e:window.parseInt(e);case"single":case"double":return be(e)?e:window.parseFloat(e);case"global-id":case"guid":return e===""?null:e;case"date":break;case"date-only":case"time-only":case"timestamp-offset":return e===""?null:e;case"string":return e===""?null:e}return e}function Ve(e){return e&&"layer"in e?e.layer:void 0}function I(e){if(!e)return null;let t=Ve(e.origin)??e.layer??e?.sourceLayer??null;if(t&&t.type==="subtype-sublayer")return t.parent;switch(t?.type){case"csv":case"feature":case"geojson":case"ogc-feature":case"subtype-group":case"wfs":return t;default:return null}}var De=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,A=(e,t,i,a)=>{for(var r=a>1?void 0:a?Be(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&De(t,i,r),r},ye={noChangeError:"Operation has not made any changes",noSelectedError:"Operation requires a selected feature",deletesGeometryError:"Operation would result in a null geometry",noGeometryError:"The selected feature has not geometry"},g=class extends Z{constructor(e){super(e)}get mustShowOnCommandPage(){return!0}get icon(){}get id(){return""}label(e,t){return""}description(e,t){return""}get commandEnabled(){return!1}commandDisabledReason(e,t){return""}get immediate(){return!1}async initiate(e,t){}async execute(){throw new Error("arcgis-paste: Paste command does not support execute")}async runPasteCommand(e,t,i){try{this.viewModel.applying=!0;let a=await this.prepareCopy(t);if(!a||a.items.length===0){this.viewModel.lastPasteError={errorCode:"noPasteItems",errorMessage:"No items to paste",localizedErrorMessage:"noPasteItemsError"},e.onPasteError(this.viewModel.lastPasteError);return}let r=a.items.length>this.viewModel.maximumFeatureCount||this.viewModel.alwaysShowFeatureForm||i?.showFeatureForm===!0||!await ge(a,this.viewModel.view,this.viewModel.formViewModelMap,this.viewModel.maximumFeatureCountWithComplexForms);if(this.viewModel.alwaysShowFeatureForm||r||i?.showFeatureForm===!0)this.viewModel.bauActiveFeatureIndex=0,this.viewModel.bauApplySet=a,this.viewModel.activeCommand=t,this.viewModel.bauOriginalGraphics=a.items.map(o=>o.type==="add"?{layer:o.layer,graphic:o.graphic}:null).filter(o=>o!==null),this.viewModel.bauFeatures=new j,this.viewModel.activeFlowPage="form-page",await new Promise(o=>{setTimeout(o,100)}),this.viewModel.bauFeatures=new j(this.viewModel.bauOriginalGraphics.map(o=>(o.graphic.layer=o.layer,o.graphic))),this.viewModel.updateIndividualMultiFeatureFormHighlight();else try{let o=await e.onApply({command:"paste",applySet:a});if(o.success){this.viewModel.resetHome(),this.viewModel.closeOnApply&&e.closeAfterApply();return}this.viewModel.handleApplyError(o,e.onPasteError)}catch(o){this.viewModel.lastPasteError={errorCode:"unexpectedError",errorMessage:o.message,localizedErrorMessage:"unexpectedError"},e.onPasteError(this.viewModel.lastPasteError);return}finally{a?.featureState?.clearAll()}}finally{this.viewModel.applying=!1}}async prepareCopy(e){let t=e==="paste"||e==="paste-as"&&this.viewModel.pasteWithAttributes||e==="paste-merge"&&this.viewModel.pasteWithAttributes,i=t&&e==="paste-merge"?this.viewModel.clipboard.items.getItemAt(this.viewModel.selectedClipboardItemIndex):null,a=J();if(a.featureState=Q(this.viewModel.view),e==="paste-merge"){let r=this.viewModel.pasteTemplate?.template?await ce(this.viewModel.view,this.viewModel.pasteTemplate.template):null;if(!r)return null;let o=de(this.viewModel.pasteTemplate.template)?r.layer:this.viewModel.pasteTemplate.layer,l=await this.createMergedClipboardGeom(),h=await this.constructFeatureAttributesCopy(r,o,i),p=new B({geometry:l,attributes:h});this.removeGraphicIdentifierFields(p,o),a.push(q({graphic:p,layer:o}))}else if(e==="paste")for(let r of this.viewModel.clipboardFeatures){let o=r.graphic.clone();this.removeGraphicIdentifierFields(o,r.layer),a.push(q({graphic:o,layer:r.layer}))}else if(e==="paste-as"){let r=this.viewModel.pasteTemplate?.template?await ce(this.viewModel.view,this.viewModel.pasteTemplate.template):null;if(!r)return null;let o=de(r)?r.layer:this.viewModel.pasteTemplate.layer;for(let l of this.viewModel.clipboardFeatures){let h=await this.constructFeatureAttributesCopy(r,o,t?l:null),p=new B({geometry:l.graphic?.geometry?.clone()??null,attributes:h});this.removeGraphicIdentifierFields(p,o),a.push(q({graphic:p,layer:o}))}}return a}async constructFeatureAttributesCopy(e,t,i){let a=Fe(e,{});if(i){let r=i.layer?.fields;if(r){let o=t.fields,l=i.graphic.attributes??{},h=await Ee(t,a);a=Ie(r,o,l,a,h,t)}}return a}async createMergedClipboardGeom(){let e=this.viewModel.clipboardFeatures.map(t=>t.graphic?.geometry).filter(t=>t!=null).toArray();return e.length===0?null:e.length===1?e[0].clone():(await $arcgis.t(m=>m[0],"geometry/operators/unionOperator")).executeMany(e)??null}removeGraphicIdentifierFields(e,t){t.objectIdField&&delete e.attributes[t.objectIdField],t.globalIdField&&delete e.attributes[t.globalIdField]}};A([s()],g.prototype,"viewModel",2);A([s()],g.prototype,"mustShowOnCommandPage",1);A([s()],g.prototype,"icon",1);A([s()],g.prototype,"id",1);A([s()],g.prototype,"commandEnabled",1);A([s()],g.prototype,"commandDisabledReason",1);A([s()],g.prototype,"immediate",1);g=A([C("components.paste.commands.PasteCommand")],g);var je=Object.defineProperty,We=Object.getOwnPropertyDescriptor,T=(e,t,i,a)=>{for(var r=a>1?void 0:a?We(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&je(t,i,r),r},F=class extends g{get id(){return"paste-append"}get icon(){return"reshape-add-geometry"}get immediate(){return!0}get mustShowOnCommandPage(){return!0}get commandEnabled(){return this.viewModel.clipboardFeatures.length>0&&this.viewModel.selectedFeature!==void 0&&this.viewModel.layerPermissionsCheck.canUpdate(I(this.viewModel.selectedFeature))&&this.viewModel.selectedFeature?.geometry!==null&&(this.viewModel.selectedFeature?.geometry?.type==="multipoint"||this.viewModel.selectedFeature?.geometry?.type==="polyline"||this.viewModel.selectedFeature?.geometry?.type==="polygon")&&this.viewModel.clipboard.singleGeometryType===this.viewModel.selectedFeature?.geometry?.type}async initiate(e){let t=null;try{this.viewModel.applying=!0;let i=await this.prepareAppend();if(i.applySet&&(t=i.applySet),!i.success){this.viewModel.lastPasteError={errorCode:i.failReason,errorMessage:ye[i.failReason],localizedErrorMessage:i.failReason},e.onPasteError(this.viewModel.lastPasteError);return}let a=await e.onApply({command:"paste-append",applySet:i.applySet});if(a.success){this.viewModel.resetHome(),this.viewModel.closeOnApply&&e.closeAfterApply();return}this.viewModel.handleApplyError(a,e.onPasteError)}catch(i){this.viewModel.lastPasteError={errorCode:"unexpectedError",errorMessage:i.message,localizedErrorMessage:"unexpectedError"},e.onPasteError(this.viewModel.lastPasteError);return}finally{this.viewModel.applying=!1,t&&(t.featureState?.clearAll(),t.featureState=null)}}async execute(){let e=await this.prepareAppend();if(!e.success)throw new Error(`arcgis-paste: Paste append failed. ${e.failReason}`);return{success:!0,userInputRequired:!1,applySet:e.applySet}}async prepareAppend(){let e=J();if(e.featureState=Q(this.viewModel.view),!this.viewModel.selectedFeature)return{success:!1,failReason:"noSelectedError"};let[t,i]=await Promise.all([$arcgis.t(m=>m[0],"geometry/operators/unionOperator"),$arcgis.t(m=>m[0],"geometry/operators/equalsOperator")]),a=this.viewModel.selectedFeature.geometry,r=!1;for(let l of this.viewModel.clipboardFeatures){let h=l?.graphic?.geometry??null;if(!h)continue;if(a===null){a=l?.graphic?.geometry??null,a&&(a=a.clone(),r=!0);continue}let p=t.execute(a,h);i.execute(a,p)||(a=p,r=!0)}if(!r)return{success:!1,failReason:"noChangeError"};let o=this.viewModel.selectedFeature.clone();return o.geometry=a,e.push(W({graphic:o,layer:I(this.viewModel.selectedFeature),originalGraphic:this.viewModel.selectedFeature})),{success:!0,applySet:e}}description(e,t){return e.pasteAppendDesc}label(e,t){return e.pasteAppendTitle}};T([s()],F.prototype,"id",1);T([s()],F.prototype,"icon",1);T([s()],F.prototype,"immediate",1);T([s()],F.prototype,"mustShowOnCommandPage",1);T([s()],F.prototype,"commandEnabled",1);F=T([C("components.paste.commands.PasteAppendCommand")],F);var Re=Object.defineProperty,Ne=Object.getOwnPropertyDescriptor,H=(e,t,i,a)=>{for(var r=a>1?void 0:a?Ne(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&Re(t,i,r),r},_=class extends g{get id(){return"paste-subtract"}get icon(){return"reshape-subtract-geometry"}get immediate(){return!0}get mustShowOnCommandPage(){return!0}get commandEnabled(){return this.viewModel.clipboardFeatures.length>0&&this.viewModel.selectedFeature!==void 0&&this.viewModel.layerPermissionsCheck.canUpdate(I(this.viewModel.selectedFeature))&&this.viewModel.selectedFeature?.geometry!==null&&(this.viewModel.selectedFeature?.geometry?.type==="multipoint"||this.viewModel.selectedFeature?.geometry?.type==="polyline"||this.viewModel.selectedFeature?.geometry?.type==="polygon")&&(this.viewModel.clipboard.singleGeometryType===this.viewModel.selectedFeature?.geometry?.type||this.viewModel.clipboard.singleGeometryType==="polygon")}async prepareSubtract(){let e=J();if(e.featureState=Q(this.viewModel.view),!this.viewModel.selectedFeature)return{success:!1,failReason:"noSelectedError",applySet:e};let[t,i]=await Promise.all([$arcgis.t(m=>m[0],"geometry/operators/differenceOperator"),$arcgis.t(m=>m[0],"geometry/operators/equalsOperator")]),a=this.viewModel.selectedFeature.geometry;if(!a)return{success:!1,failReason:"noGeometryError",applySet:e};let r=!1;for(let l of this.viewModel.clipboardFeatures){let h=l?.graphic?.geometry;if(!h)continue;let p=t.execute(a,h);if(!p)return{success:!1,failReason:"deletesGeometryError",applySet:e};i.execute(a,p)||(a=p,r=!0)}if(!r)return{success:!1,failReason:"noChangeError",applySet:e};let o=this.viewModel.selectedFeature.clone();return o.geometry=a,e.push(W({graphic:o,layer:I(this.viewModel.selectedFeature),originalGraphic:this.viewModel.selectedFeature})),{success:!0,applySet:e}}async execute(){let e=await this.prepareSubtract();if(!e.success)throw new Error(`arcgis-paste: Paste subtract failed. ${e.failReason}`);return{success:!0,userInputRequired:!1,applySet:e.applySet}}async initiate(e){let t=null;try{this.viewModel.applying=!0;let i=await this.prepareSubtract();if(i.applySet&&(t=i.applySet),!i.success){this.viewModel.lastPasteError={errorCode:i.failReason,errorMessage:ye[i.failReason],localizedErrorMessage:i.failReason},e.onPasteError(this.viewModel.lastPasteError);return}let a=await e.onApply({command:"paste-subtract",applySet:i.applySet});if(a.success){this.viewModel.resetHome(),this.viewModel.closeOnApply&&e.closeAfterApply();return}this.viewModel.handleApplyError(a,e.onPasteError)}catch(i){this.viewModel.lastPasteError={errorCode:"unexpectedError",errorMessage:i.message,localizedErrorMessage:"unexpectedError"},e.onPasteError(this.viewModel.lastPasteError);return}finally{this.viewModel.applying=!1,t&&(t.featureState?.clearAll(),t.featureState=null)}}description(e,t){return e.pasteSubtractDesc}label(e,t){return e.pasteSubtractTitle}};H([s()],_.prototype,"id",1);H([s()],_.prototype,"icon",1);H([s()],_.prototype,"immediate",1);H([s()],_.prototype,"mustShowOnCommandPage",1);H([s()],_.prototype,"commandEnabled",1);_=H([C("components.paste.commands.PasteSubtractCommand")],_);var Ue=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,O=(e,t,i,a)=>{for(var r=a>1?void 0:a?qe(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&Ue(t,i,r),r},x=class extends g{get id(){return"paste-as"}get icon(){return"templates"}get immediate(){return!1}get mustShowOnCommandPage(){return!1}get commandEnabled(){return(this.viewModel.clipboardFeatures.length===1||this.viewModel.clipboardFeatures.length>0&&this.viewModel.pasteWithMultipleFeaturesEnabled)&&this.viewModel.clipboard.singleGeometryType!==void 0}async initiate(e){this.viewModel.activeFlowPage="gallery-page",this.viewModel.activeCommand="paste-as"}description(e,t){return e.pasteAsDesc}label(e,t){return e.pasteAsTitle}};O([s()],x.prototype,"id",1);O([s()],x.prototype,"icon",1);O([s()],x.prototype,"immediate",1);O([s()],x.prototype,"mustShowOnCommandPage",1);O([s()],x.prototype,"commandEnabled",1);x=O([C("components.paste.commands.PasteAsCommand")],x);var Xe=Object.defineProperty,Ke=Object.getOwnPropertyDescriptor,G=(e,t,i,a)=>{for(var r=a>1?void 0:a?Ke(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&Xe(t,i,r),r},P=class extends g{get id(){return"paste"}get icon(){return"duplicate"}get immediate(){return!0}get mustShowOnCommandPage(){return!0}get commandEnabled(){let e=this.viewModel.clipboardFeatures.length===1,t=this.viewModel.clipboardFeatures.length>0&&this.viewModel.clipboardItemLayers.length===1&&this.viewModel.pasteWithMultipleFeaturesEnabled,i=this.viewModel.clipboardFeatures.length>0&&this.viewModel.pasteWithMultipleFeaturesEnabled&&this.viewModel.pasteWithMultipleLayersEnabled;return this.viewModel.clipboardFeatures.length>0&&this.viewModel.canCreateOnAllLayers&&(e||t||i)}async initiate(e,t){await this.runPasteCommand(e,"paste",t)}async execute(){let e=await this.prepareCopy("paste");if(!e||e.items.length===0)throw new Error("arcgis-paste: No items to paste");return e.items.length>this.viewModel.maximumFeatureCount||!await ge(e,this.viewModel.view,this.viewModel.formViewModelMap,this.viewModel.maximumFeatureCountWithComplexForms)?{success:!1,userInputRequired:!0}:{success:!0,userInputRequired:!1,applySet:e}}description(e,t){return e.pasteDesc}label(e,t){return e.pasteTitle}};G([s()],P.prototype,"id",1);G([s()],P.prototype,"icon",1);G([s()],P.prototype,"immediate",1);G([s()],P.prototype,"mustShowOnCommandPage",1);G([s()],P.prototype,"commandEnabled",1);P=G([C("components.paste.commands.PasteSetCommand")],P);var Ze=Object.defineProperty,Je=Object.getOwnPropertyDescriptor,L=(e,t,i,a)=>{for(var r=a>1?void 0:a?Je(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&Ze(t,i,r),r},$=class extends g{get id(){return"paste-merge"}get icon(){return"merge"}get immediate(){return!1}get mustShowOnCommandPage(){return!0}get commandEnabled(){return this.viewModel.clipboardFeatures.length>1&&this.viewModel.clipboard.singleGeometryType!==void 0}async initiate(e){this.viewModel.activeFlowPage="gallery-page",this.viewModel.activeCommand="paste-merge";for(let t=0;t<this.viewModel.clipboard.items.length;t++)if(this.viewModel.clipboard.items.getItemAt(t).type==="feature"){this.viewModel.selectedClipboardItemIndex=t;break}}description(e,t){return e.pasteMergeDesc}label(e,t){return e.pasteMergeTitle}};L([s()],$.prototype,"id",1);L([s()],$.prototype,"icon",1);L([s()],$.prototype,"immediate",1);L([s()],$.prototype,"mustShowOnCommandPage",1);L([s()],$.prototype,"commandEnabled",1);$=L([C("components.paste.commands.PasteMergeCommand")],$);var Qe=Object.defineProperty,Ye=Object.getOwnPropertyDescriptor,k=(e,t,i,a)=>{for(var r=a>1?void 0:a?Ye(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&Qe(t,i,r),r},f=class extends g{constructor(e){super(e)}get id(){return this.customCommand.id}get icon(){return this.customCommand.icon}get immediate(){return!0}get mustShowOnCommandPage(){return!0}get commandEnabled(){return this.customCommand.commandEnabled(this.viewModel.clipboard,this.viewModel.selectedFeature)}async initiate(e){try{this.viewModel.applying=!0;let t=await e.onApply({command:this.id});if(t.success){this.viewModel.resetHome(),this.viewModel.closeOnApply&&e.closeAfterApply();return}this.viewModel.handleApplyError(t,e.onPasteError)}catch(t){this.viewModel.lastPasteError={errorCode:"unexpectedError",errorMessage:t.message,localizedErrorMessage:"unexpectedError"},e.onPasteError(this.viewModel.lastPasteError);return}finally{this.viewModel.applying=!1}}description(e,t){return this.customCommand.description(e,t)}label(e,t){return this.customCommand.label(e,t)}};k([s()],f.prototype,"customCommand",2);k([s()],f.prototype,"id",1);k([s()],f.prototype,"icon",1);k([s()],f.prototype,"immediate",1);k([s()],f.prototype,"mustShowOnCommandPage",1);k([s()],f.prototype,"commandEnabled",1);f=k([C("components.paste.commands.PasteCustomCommand")],f);var et=Object.defineProperty,tt=Object.getOwnPropertyDescriptor,c=(e,t,i,a)=>{for(var r=a>1?void 0:a?tt(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&et(t,i,r),r};function he(e){return!me(e)||e.type==="feature"}var n=class extends Z{constructor(e){super(e),this.customPasteCommands=new j,this.bauInvalidFeatures=[],this.bauFormValid=!0,this.bauFormUpdating=!1,this.bauActiveFeatureIndex=-1,this.bauHasTooManyFeatures=!1,this.bauHasTooManyComplexFeatures=!1,this.bauOriginalGraphics=[],this.formViewModelMap=new Map,this.supportedCommands=["paste-append","paste-as","paste-subtract","paste","paste-merge"],this.pasteWithMultipleLayersEnabled=!1,this.pasteWithMultipleFeaturesEnabled=!1,this.alwaysShowFeatureForm=!1,this.selectedClipboardItemIndex=-1,this.pasteWithAttributes=!0,this.closeOnApply=!1,this.currentPasteOperation="",this._activeFlowPage="commands-page",this.showClipboardItems=!1,this.hideTooltips=!1,this.hideFooter=!1,this.hideFooterCancelButton=!1,this.hideHeaderCloseButton=!1,this.hideViewClipboard=!1,this.hideErrorNotice=!1,this.highlightGroup="temporary",this._hoverHighlightHandle=null,this.maximumFeatureCount=200,this.maximumFeatureCountWithComplexForms=50,this.layerPermissionsCheck={canCreate:t=>t?!!t.effectiveCapabilities?.operations.supportsAdd:!1,canUpdate:t=>{if(!t)return!1;let i=t.effectiveCapabilities,a=!!i?.operations.supportsUpdate,r=!!i?.editing.supportsGeometryUpdate&&a;return!t.isTable&&!r?!1:a}},this.applying=!1}get bauActiveGraphic(){return this.bauActiveFeatureIndex===-1?void 0:this.bauFeatures?.getItemAt(this.bauActiveFeatureIndex)}get hasTooManyPasteCreateFeatures(){return this.clipboardFeatures.length>this.maximumFeatureCount&&["paste","paste-as"].includes(this.activeCommand??"")}get bauActiveLayer(){if(this.bauActiveFeatureIndex!==-1&&this.bauFeatures)return I(this.bauFeatures.getItemAt(this.bauActiveFeatureIndex))??void 0}get pasteTemplateIsValid(){return this.pasteTemplate?this.pasteTemplate.layer?!!this.workingLayers.includes(this.pasteTemplate.layer.type==="subtype-sublayer"?this.pasteTemplate.layer.parent:this.pasteTemplate.layer):!1:!0}get clipboardAndTemplateSupportAttributes(){if(this.clipboardFeatures.length===0||!this.pasteTemplate?.layer)return!1;let e=this.pasteTemplate.template;if(!he(e))return!1;for(let t of this.clipboardFeatures){let i=t.layer;if(!i)return!1;let a=i.type==="subtype-sublayer"?i.parent:i;if(a.type==="subtype-group"){let r=a.fieldsIndex.get(a.subtypeField).name,o=e.prototype?.[r];if(o==null||o!==t.graphic.attributes[r])return!1}}return!0}get hasClipboardItemMatchingTemplate(){let e=this.pasteTemplate?.layer;if(!e||this.clipboardFeatures.length===0)return!1;let t=this.pasteTemplate.template;if(!he(t))return!1;for(let i of this.clipboardFeatures){let a=i.layer;if(!a)return!1;let r=a.type==="subtype-sublayer"?a.parent:a;if(e===a){if(r.type==="subtype-group"){let o=r.fieldsIndex.get(r.subtypeField).name,l=t.prototype?.[o];if(l==null||l!==i.graphic.attributes[o])continue}return!0}}return!1}get activeFlowPage(){return this._activeFlowPage}set activeFlowPage(e){e==="clipboard"&&this.beforeClipboard===void 0?this.beforeClipboard=this.activeFlowPage:e!=="clipboard"&&(this.beforeClipboard=void 0),e==="form-page"&&this.beforeForm===void 0?this.beforeForm=this.activeFlowPage:e!=="form-page"&&(this.beforeForm=void 0),this._activeFlowPage=e,this.checkAndSuspendMove()}get updating(){return this.applying}formFeatureValuesChanged(e,t){if(!t)return;let i=e.graphic.clone();for(let r of Object.keys(t))i.attributes[r]=t[r];let a=W({graphic:i,originalGraphic:e.graphic.clone(),layer:e.layer});this.bauApplySet?.push(a)}highlightSelectedGraphicOnMap(e){if(this.clearHighlightSelectedGraphic(),!e.graphic?.geometry||!this.view)return;let t=new B({geometry:e.graphic.geometry,symbol:ne(e.graphic.geometry.type)});this.view.graphics.add(t),this._hoverHighlightHandle={remove:()=>{this.view.graphics.remove(t)}}}clearHighlightSelectedGraphic(){this._hoverHighlightHandle?.remove(),this._hoverHighlightHandle=null}updateIndividualMultiFeatureFormHighlight(){if(this.activeFlowPage!=="form-page"){this.clearIndividualFeatureFormHighlight();return}if(this.view)if(this.bauActiveGraphic&&this.bauActiveLayer){if(this.bauIndividualHighlight?.graphic!==this.bauActiveGraphic&&this.clearIndividualFeatureFormHighlight(),!this.bauIndividualHighlight){let e=U(this.view,this.bauActiveLayer);if(!e)return;this.bauIndividualHighlight={graphic:this.bauActiveGraphic,handle:e.highlight(this.bauActiveGraphic,{name:this.highlightGroup})}}}else this.clearIndividualFeatureFormHighlight()}clearIndividualFeatureFormHighlight(){this.bauIndividualHighlight?.handle?.remove(),this.bauIndividualHighlight=void 0}highlightMultiFeatureFormFeature(e,t){this.bauHighlight&&this.clearMultiFeatureFormHighlights();let i=this.view?U(this.view,e.layer):void 0;i&&(this.bauHighlight=i.highlight(e,{name:this.highlightGroup}))}clearMultiFeatureFormHighlights(){this.bauHighlight?.remove(),this.bauHighlight=void 0}updateClipboardGraphicsLayer(){if(!this.showClipboardItems){if(this.clipboardMover?.cancel(),this.clipboardMover=void 0,this.clipboardGraphicsLayer&&this.view)try{this.view.map?.remove(this.clipboardGraphicsLayer),this.clipboardGraphicsLayer=void 0}catch{}return}if(this.showClipboardItems&&this.view){this.clipboardGraphicsLayer||(this.clipboardGraphicsLayer=new Ce({listMode:"hide"}),this.view.map?.layers.add(this.clipboardGraphicsLayer));let e=this.clipboard.items;this.clipboardGraphicsLayer.removeAll();let t=-1;for(let i of e){if(t++,i.type!=="feature"||!i.graphic.geometry)continue;let a=new B({geometry:i.graphic.geometry.clone(),attributes:{clipboardIdx:t},symbol:le(i.graphic.geometry.type)});this.clipboardGraphicsLayer.add(a)}}else if(!this.showClipboardItems&&this.view&&this.clipboardGraphicsLayer)try{this.view.map?.remove(this.clipboardGraphicsLayer),this.clipboardGraphicsLayer=void 0}catch{}this.checkAndSuspendMove()}checkAndSuspendMove(){let e=this.activeFlowPage==="form-page";this.clipboardGraphicsLayer&&(this.clipboardGraphicsLayer.visible=!e),this.clipboardMover&&(this.clipboardMover.suspended=e)}get clipboard(){return Me()}get clipboardFeatures(){return this.clipboard.items.filter(e=>e.type==="feature")}get hasPasteCommandsPage(){return this.availableCommands.length>1||!!this.availableCommands.at(0)?.mustShowOnCommandPage}_clearActiveCommand(){this.activeCommand=void 0,this.lastPasteError=void 0}resetHome(){let e=this.activeFlowPage;this.hasPasteCommandsPage?(e="commands-page",this._clearActiveCommand(),this.selectedClipboardItemIndex=-1):this.clipboard.items.length===0?(e="clipboard-empty-page",this._clearActiveCommand(),this.selectedClipboardItemIndex=-1):this.availableCommands.length===0?(e="no-command-page",this._clearActiveCommand()):this.availableCommands[0].commandEnabled?(e="gallery-page",this.activeCommand=this.availableCommands[0].id,this.lastPasteError=void 0):(e="no-command-page",this._clearActiveCommand(),this.selectedClipboardItemIndex=-1),this.activeFlowPage==="clipboard"&&this.hideViewClipboard?(this.activeFlowPage=e,this.beforeClipboard=void 0):this.activeFlowPage==="clipboard"&&!this.hideViewClipboard?this.beforeClipboard=e:(this.activeFlowPage=e,this.beforeClipboard=void 0),this.resetFormPage()}get workingLayers(){return(this.view?.map?.allLayers?.toArray()??[]).filter(e=>e.type==="feature"||e.type==="subtype-group").filter(e=>{let t=this.clipboard.singleGeometryType;return this.activeCommand==="paste-merge"&&this.clipboard.singleGeometryType==="point"&&(t="multipoint"),!(e.geometryType!==t||!this.layerPermissionsCheck.canCreate(e))})}get clipboardItemLayers(){let e=new Set;for(let t of this.clipboard.items)t.layer&&e.add(t.layer.type==="subtype-sublayer"?t.layer.parent:t.layer);return[...e]}get canCreateOnAllLayers(){if(this.clipboardItemLayers.length===0)return!1;for(let e of this.clipboardItemLayers)if(!e||!this.layerPermissionsCheck.canCreate(e))return!1;return!0}get availableCommands(){let e=new Set(this.supportedCommands);return this.allCommands.filter(t=>e.has(t.id))}get allCommands(){let e=[];e.push(...[P,x,$,F,_].map(t=>new t({viewModel:this})));for(let t of this.customPasteCommands)e.push(new f({viewModel:this,customCommand:t}));return e}get pasteCommandsState(){return this.allCommands.map(e=>({id:e.id,disabled:!e.commandEnabled,available:this.supportedCommands.includes(e.id)}))}nextActiveFeature(){this.bauActiveFeatureIndex++,this.updateIndividualMultiFeatureFormHighlight()}previousActiveFeature(){this.bauActiveFeatureIndex--,this.updateIndividualMultiFeatureFormHighlight()}resetFormPage(){this.bauApplySet?.featureState?.clearAll(),this.bauApplySet=void 0,this.clearIndividualFeatureFormHighlight(),this.clearMultiFeatureFormHighlights(),this.bauFeatures=void 0,this.bauOriginalGraphics=[]}getPasteCommandById(e){return this.allCommands.find(t=>t.id===e)}async runPasteFormCommand(e){try{this.applying=!0;let t=this.bauApplySet,i=await e.onApply({command:this.activeCommand,applySet:t});if(i.success){this.resetHome(),this.closeOnApply&&e.closeAfterApply();return}this.handleApplyError(i,e.onPasteError)}catch(t){this.lastPasteError={errorCode:"unexpectedError",errorMessage:t.message,localizedErrorMessage:"unexpectedError"},e.onPasteError(this.lastPasteError);return}finally{this.applying=!1}}handleApplyError(e,t){e.success||e.errorCode!=="cancelled"&&(this.lastPasteError={errorCode:e.errorCode??"unexpectedError",errorMessage:e.errorMessage??"",localizedErrorMessage:e.errorMessage?void 0:"unexpectedError"},t(this.lastPasteError))}async writeChanges(e){return await _e(e,this.view)}};c([s()],n.prototype,"customPasteCommands",2);c([s()],n.prototype,"bauInvalidFeatures",2);c([s()],n.prototype,"bauFormValid",2);c([s()],n.prototype,"bauFormUpdating",2);c([s()],n.prototype,"bauActiveFeatureIndex",2);c([s()],n.prototype,"bauHasTooManyFeatures",2);c([s()],n.prototype,"bauHasTooManyComplexFeatures",2);c([s()],n.prototype,"bauActiveGraphic",1);c([s()],n.prototype,"hasTooManyPasteCreateFeatures",1);c([s()],n.prototype,"bauActiveLayer",1);c([s()],n.prototype,"bauFeatures",2);c([s()],n.prototype,"bauApplySet",2);c([s()],n.prototype,"bauOriginalGraphics",2);c([s()],n.prototype,"formViewModelMap",2);c([s()],n.prototype,"bauHighlight",2);c([s()],n.prototype,"bauIndividualHighlight",2);c([s()],n.prototype,"view",2);c([s()],n.prototype,"supportedCommands",2);c([s()],n.prototype,"selectedFeature",2);c([s()],n.prototype,"pasteWithMultipleLayersEnabled",2);c([s()],n.prototype,"pasteWithMultipleFeaturesEnabled",2);c([s()],n.prototype,"alwaysShowFeatureForm",2);c([s()],n.prototype,"pasteTemplate",2);c([s()],n.prototype,"pasteTemplateIsValid",1);c([s()],n.prototype,"selectedClipboardItemIndex",2);c([s()],n.prototype,"clipboardAndTemplateSupportAttributes",1);c([s()],n.prototype,"hasClipboardItemMatchingTemplate",1);c([s()],n.prototype,"pasteWithAttributes",2);c([s()],n.prototype,"closeOnApply",2);c([s()],n.prototype,"currentPasteOperation",2);c([s()],n.prototype,"activeFlowPage",1);c([s()],n.prototype,"_activeFlowPage",2);c([s()],n.prototype,"beforeClipboard",2);c([s()],n.prototype,"beforeForm",2);c([s()],n.prototype,"showClipboardItems",2);c([s()],n.prototype,"updating",1);c([s()],n.prototype,"hideTooltips",2);c([s()],n.prototype,"hideFooter",2);c([s()],n.prototype,"hideFooterCancelButton",2);c([s()],n.prototype,"hideHeaderCloseButton",2);c([s()],n.prototype,"hideViewClipboard",2);c([s()],n.prototype,"hideErrorNotice",2);c([s()],n.prototype,"clipboardGraphicsLayer",2);c([s()],n.prototype,"clipboardMover",2);c([s()],n.prototype,"highlightGroup",2);c([s()],n.prototype,"clipboard",1);c([s()],n.prototype,"clipboardFeatures",1);c([s()],n.prototype,"hasPasteCommandsPage",1);c([s()],n.prototype,"activeCommand",2);c([s()],n.prototype,"maximumFeatureCount",2);c([s()],n.prototype,"maximumFeatureCountWithComplexForms",2);c([s()],n.prototype,"workingLayers",1);c([s()],n.prototype,"layerPermissionsCheck",2);c([s()],n.prototype,"clipboardItemLayers",1);c([s()],n.prototype,"canCreateOnAllLayers",1);c([s()],n.prototype,"applying",2);c([s()],n.prototype,"lastPasteError",2);c([s()],n.prototype,"availableCommands",1);c([s()],n.prototype,"allCommands",1);c([s()],n.prototype,"pasteCommandsState",1);n=c([C("components.paste.PasteViewModel")],n);var it=Object.defineProperty,at=Object.getOwnPropertyDescriptor,S=(e,t,i,a)=>{for(var r=a>1?void 0:a?at(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&it(t,i,r),r},M=class extends Z{constructor(){super(...arguments),this.continuous=!1,this._mover=null,this.stateChanged=null,this._suspended=!1}clipboardContentsChanged(){this._destroyMover(),this.stateChanged?.("clipboard-contents-changed"),this.continuous&&this.start()}start(){this._destroyMover(),this._mover=$e({view:this.view,graphics:this.graphicsLayer.graphics.toArray(),indicatorsEnabled:!0,highlightsEnabled:!0,enableMoveAllGraphics:!0,callbacks:{onGraphicPointerOver:()=>{"cursor"in this.view&&(this.view.cursor="move")},onGraphicPointerOut:()=>{"cursor"in this.view&&(this.view.cursor="default")},onGraphicMoveStop:async()=>{"cursor"in this.view&&(this.view.cursor="default");for(let e of this.graphicsLayer.graphics)this.clipboard.items.getItemAt(e.attributes.clipboardIdx).graphic.geometry=e.geometry;this._destroyMover(),this.stateChanged?.("contents-moved"),this.continuous&&setTimeout(()=>{this.start()},100)}}})}cancel(){this.continuous=!1,this._destroyMover(),this.stateChanged?.("completed")}get suspended(){return this._suspended}set suspended(e){e!==this._suspended&&(e?(this._destroyMover(),this.stateChanged?.("suspended")):(this.start(),this.stateChanged?.("suspended")),this._suspended=e)}_destroyMover(){this._mover?.destroy(),this._mover=null}};S([s()],M.prototype,"view",2);S([s()],M.prototype,"continuous",2);S([s()],M.prototype,"clipboard",2);S([s()],M.prototype,"graphicsLayer",2);S([s()],M.prototype,"suspended",1);S([s()],M.prototype,"_suspended",2);M=S([C("components.paste.ClipboardMove")],M);var rt=oe(n),K=class extends ee{constructor(){super(),this._featureFormElement=V(),this._floatingChoiceContainer=V(),this._bauForm=V(),this._templateGallery=V(),this._messages=se(),this.viewModel=rt(this),this.hasPasteCommandsPage=this.viewModel.hasPasteCommandsPage,this.activeCommand=this.viewModel.activeCommand,this.availableCommands=this.viewModel.availableCommands,this._showFloatingChoice=!1,this.activeFlowPage=this.viewModel.activeFlowPage,this.autoDestroyDisabled=!1,this.view=this.viewModel.view,this.selectedFeature=this.viewModel.selectedFeature,this.closed=!1,this.highlightGroup=this.viewModel.highlightGroup,this.pasteWithMultipleLayersEnabled=this.viewModel.pasteWithMultipleLayersEnabled,this.pasteWithMultipleFeaturesEnabled=this.viewModel.pasteWithMultipleFeaturesEnabled,this.alwaysShowFeatureForm=this.viewModel.alwaysShowFeatureForm,this.closeOnApply=this.viewModel.closeOnApply,this.hideErrorNotice=this.viewModel.hideErrorNotice,this.hideFooterCancelButton=this.viewModel.hideFooterCancelButton,this.hideFooter=this.viewModel.hideFooter,this.hideHeaderCloseButton=this.viewModel.hideHeaderCloseButton,this.hideTooltips=this.viewModel.hideTooltips,this.hideViewClipboard=this.viewModel.hideViewClipboard,this.maximumFeatureCount=this.viewModel.maximumFeatureCount,this.maximumFeatureCountWithComplexForms=this.viewModel.maximumFeatureCountWithComplexForms,this.layerPermissionsCheck=this.viewModel.layerPermissionsCheck,this.pasteCommandsState=this.viewModel.pasteCommandsState,this.arcgisApplyPasteCommand=E(),this.arcgisApplyPasteError=E(),this.arcgisBeforeClipboardMove=E(),this.arcgisClipboardMoveStateChanged=E(),this.arcgisClose=E(),this.arcgisPropertyChange=re()("pasteCommandsState","activeFlowPage"),this.arcgisReady=E(),this.listenOn(window,"click",this._handleClickAway),this.listenOn(window,"keydown",this._handleKeyDown)}static{this.properties={hasPasteCommandsPage:16,activeCommand:16,availableCommands:16,_showFloatingChoice:16,activeFlowPage:32,autoDestroyDisabled:5,referenceElement:1,view:0,selectedFeature:0,closed:7,highlightGroup:1,supportedCommands:1,pasteWithMultipleLayersEnabled:5,pasteWithMultipleFeaturesEnabled:5,alwaysShowFeatureForm:5,beforeApply:0,clipboard:32,closeOnApply:5,hideErrorNotice:5,hideFooterCancelButton:5,hideFooter:5,hideHeaderCloseButton:5,hideTooltips:5,hideViewClipboard:5,maximumFeatureCount:9,maximumFeatureCountWithComplexForms:9,layerPermissionsCheck:0,pasteCommandsState:0}}static{this.styles=Ae}get supportedCommands(){return this.viewModel.supportedCommands}set supportedCommands(t){if(!Array.isArray(t)){this.viewModel.supportedCommands=t.split(",");return}this.viewModel.supportedCommands=t.slice(0)}get clipboard(){return this.viewModel.clipboard}async cancelMoveClipboard(){this.viewModel.clipboardMover?.cancel(),this.viewModel.clipboardMover=void 0}async destroy(){await this.manager.destroy()}async executePasteCommand(t,i){let a=this.viewModel.getPasteCommandById(t);if(!a)throw new Error("arcgis-paste: Paste command not found");if(!a.commandEnabled)throw new Error("arcgis-paste: Paste command is not enabled");if(!i?.silent){if(!this.availableCommands.includes(a))throw new Error("arcgis-paste: Paste command is not available");return this.viewModel.resetHome(),await this._runPasteCommand(a,i),{userInputRequired:!1,success:!0}}return await a.execute()}async registerPasteCommand(t){this.viewModel.customPasteCommands.add(t)}async reset(){this.viewModel.activeFlowPage==="clipboard"&&(this.viewModel.activeFlowPage=this.viewModel.beforeClipboard),this.viewModel.resetHome()}async showClipboardItems(t){this.viewModel.showClipboardItems=t,this.viewModel.updateClipboardGraphicsLayer()}async startMoveClipboard(t){if(!this.viewModel.showClipboardItems)throw new Error("arcgis-paste: Cannot move clipboard. Clipboard items must be visible first.");this.arcgisBeforeClipboardMove.emit().defaultPrevented||(this.viewModel.clipboardMover&&(this.viewModel.clipboardMover.stateChanged=null,this.viewModel.clipboardMover.cancel(),this.viewModel.clipboardMover=void 0),this.viewModel.clipboardMover=new M({view:this.view,continuous:t,clipboard:this.clipboard,graphicsLayer:this.viewModel.clipboardGraphicsLayer,stateChanged:i=>{i==="contents-moved"&&this.viewModel.updateClipboardGraphicsLayer(),this.arcgisClipboardMoveStateChanged.emit({change:i})}}),this.viewModel.clipboardMover.start())}async writeChanges(t){return await this.viewModel.writeChanges(t)}updated(){this._featureFormElement.value&&(this._featureFormElement.value.hideReadOnlyNotice=!0,this._featureFormElement.value.disabled=!0),this._checkAndUpdateInitialPasteTemplate()}loaded(){this.manager.onLifecycle(()=>[this.viewModel.clipboard.items.on("change",()=>{this.viewModel.updateClipboardGraphicsLayer(),this.activeFlowPage==="form-page"&&this.viewModel.resetHome()}),X(()=>this.clipboard.version,()=>{this.viewModel.resetHome(),this.viewModel.updateClipboardGraphicsLayer(),this.viewModel.clipboardMover?.clipboardContentsChanged()}),X(()=>this.closed,()=>{this.closed&&this.viewModel.formViewModelMap.clear(),this.viewModel.updateClipboardGraphicsLayer()}),X(()=>[this.viewModel?.supportedCommands.join(","),this.pasteWithMultipleFeaturesEnabled,this.viewModel?.hideViewClipboard,this.pasteWithMultipleLayersEnabled].join(","),()=>{this.viewModel.resetHome()},{initial:!0})])}_handleCloseAfterApply(){this.closed=!0,this.arcgisClose.emit()}_updateBauViewModelFields(t){this.viewModel.bauActiveFeatureIndex=t.activeFeatureIndex,this.viewModel.bauInvalidFeatures=t.invalidFeatures,this.viewModel.bauFormValid=t.valid,this.viewModel.bauFormUpdating=t.updating,this.viewModel.bauHasTooManyComplexFeatures=t.hasTooManyComplexFeatures,this.viewModel.bauHasTooManyFeatures=t.hasTooManyFeatures}_handleClickAway(t){!this._showFloatingChoice||!this._floatingChoiceContainer.value||t.composedPath().find(i=>i===this._floatingChoiceContainer.value)||(this._showFloatingChoice=!1)}_handleKeyDown(t){!this._showFloatingChoice||!this._floatingChoiceContainer.value||t.composedPath().find(i=>i===this._floatingChoiceContainer.value)||(this._showFloatingChoice=!1)}async _runPasteCommand(t,i){try{this.viewModel.lastPasteError=void 0,await t.initiate({closeAfterApply:()=>{this._handleCloseAfterApply()},onPasteError:a=>{this.arcgisApplyPasteError.emit({command:t.id,errorMessage:a.errorMessage,errorCode:a.errorCode})},onApply:async a=>{try{await this.beforeApply?.();let r={...a};return this.arcgisApplyPasteCommand.emit(r).defaultPrevented?{success:!1,errorCode:"cancelled"}:r.completionCallback?await r.completionCallback??{success:!0}:{success:!0}}catch{return{success:!1}}}},i)}catch{}}_checkAndUpdateInitialPasteTemplate(){requestAnimationFrame(()=>{if(!this._templateGallery.value||this.viewModel.activeFlowPage!=="gallery-page")return;let t=this._templateGallery.value;if(t.state!=="ready")return;if(this.viewModel.pasteTemplateIsValid||(this.viewModel.pasteTemplate=void 0),this.viewModel.pasteTemplate!==void 0){t.selectedItem||this._templateGallery.value?.select(this.viewModel.pasteTemplate);return}let i;for(let a of t.items){if("items"in a){if(a.items.length>0){i=a.items[0];break}continue}i=a;break}i&&t.select(i)})}_renderFlowCommandStart(t){return t?d`<slot name=home-header-actions-start slot=header-actions-start></slot>`:null}_renderCloseCommand(t){return d`${this.hideHeaderCloseButton?null:d`<calcite-action slot=header-actions-end icon=x text @click=${()=>{this.reset(),this.closed=!0,this.arcgisClose.emit()}}></calcite-action>`}${t?d`<slot name=header-actions-end slot=header-actions-end></slot>`:null}`}_renderClipboardCommand(t){return d`<calcite-action slot=header-actions-end icon=clipboard .hidden=${this.viewModel.hideViewClipboard} .text=${this._messages.clipboardTooltip??""} .id=${`arcgis-clipboard-show-${t}`} .disabled=${this.viewModel.updating} @click=${()=>{this.viewModel.activeFlowPage="clipboard"}}>${this.hideTooltips?null:d`<calcite-tooltip .referenceElement=${`arcgis-clipboard-show-${t}`} placement=bottom><span>${this._messages.clipboardTooltip}</span></calcite-tooltip>`}</calcite-action>`}_renderNoClipboardData(t){return b("no-data",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${i=>{i.preventDefault()}}>${this._renderClipboardCommand("no-data")}${this._renderCloseCommand(t)}<calcite-panel><div class="pad-contents"><div class="flex flex-row justify-center"><svg xmlns=http://www.w3.org/2000/svg height=92 width=92 style=${N({strokeWidth:"0.1px",fill:"var(--calcite-color-text-2)"})} viewBox="0 0 64 64">${R`<path d="M21 18h-1v-3h1zm24-3h-1v3h1zm0 5h-1v3h1zm-24 0h-1v3h1zm9.84 13.71l.3.954 3.02-.954-.3-.953zm-6.04 1.908l.3.953 3.02-.953-.3-.953zm-3.8 1.2V35h-1v3.182l2.08-.657-.3-.953zM21 30h-1v3h1zm0-5h-1v3h1zm27.816 5.896l-4.746.015 2.294 4.575-3.071 1.535-2.358-4.668-2.835 3.886V23.036zm-6.04-.78l3.607-.012-7.483-5.49v9.17l2.16-2.96 2.587 5.126 1.643-.821zM60.9 10.874v41.25a1.777 1.777 0 0 1-1.775 1.775H4.875A1.777 1.777 0 0 1 3.1 52.125v-41.25A1.777 1.777 0 0 1 4.875 9.1h54.25a1.777 1.777 0 0 1 1.775 1.775zm-.8 24.54l-24.2 7.641V53.1h23.225a.976.976 0 0 0 .975-.975zm0-24.54a.976.976 0 0 0-.975-.975H45V13h-1V9.9H21V13h-1V9.9H4.875a.976.976 0 0 0-.975.975V32.1H18v.8H3.9v19.225a.976.976 0 0 0 .975.975H35.1V35.51l.8-.252v6.96l24.2-7.643z" />`}</svg></div><p class="text-center">${this._messages.noClipboardData}</p></div></calcite-panel></calcite-flow-item>`)}_renderNoCommandPage(t){let i=this._messages.noPasteCommandsAvailable,a=this.availableCommands.at(0);return a?.commandDisabledReason&&(i=a.commandDisabledReason(this._messages,this._messages._lang),i||(i=this._messages.noPasteCommandsAvailable)),b("no-command",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${r=>{r.preventDefault()}}>${this._renderClipboardCommand("no-command")}${this._renderCloseCommand(t)}<calcite-panel><div class="pad-contents"><div class="flex flex-row justify-center"><svg xmlns=http://www.w3.org/2000/svg height=92 width=92 style=${N({strokeWidth:"0.1px",fill:"var(--calcite-color-text-2)"})} viewBox="0 0 64 64">${R`<path d="M21 18h-1v-3h1zm24-3h-1v3h1zm0 5h-1v3h1zm-24 0h-1v3h1zm9.84 13.71l.3.954 3.02-.954-.3-.953zm-6.04 1.908l.3.953 3.02-.953-.3-.953zm-3.8 1.2V35h-1v3.182l2.08-.657-.3-.953zM21 30h-1v3h1zm0-5h-1v3h1zm27.816 5.896l-4.746.015 2.294 4.575-3.071 1.535-2.358-4.668-2.835 3.886V23.036zm-6.04-.78l3.607-.012-7.483-5.49v9.17l2.16-2.96 2.587 5.126 1.643-.821zM60.9 10.874v41.25a1.777 1.777 0 0 1-1.775 1.775H4.875A1.777 1.777 0 0 1 3.1 52.125v-41.25A1.777 1.777 0 0 1 4.875 9.1h54.25a1.777 1.777 0 0 1 1.775 1.775zm-.8 24.54l-24.2 7.641V53.1h23.225a.976.976 0 0 0 .975-.975zm0-24.54a.976.976 0 0 0-.975-.975H45V13h-1V9.9H21V13h-1V9.9H4.875a.976.976 0 0 0-.975.975V32.1H18v.8H3.9v19.225a.976.976 0 0 0 .975.975H35.1V35.51l.8-.252v6.96l24.2-7.643z" />`}</svg></div><p class="text-center">${i}</p></div></calcite-panel></calcite-flow-item>`)}_renderAttributeCheckbox(t){return d`<calcite-label class="bold">${this._messages.attributesSubtitle}</calcite-label><calcite-label layout=inline><calcite-checkbox .disabled=${t} .checked=${this.viewModel.pasteWithAttributes} @calciteCheckboxChange=${i=>{this.viewModel.pasteWithAttributes=i.target.checked}}></calcite-checkbox>${this._messages.pasteWithAttributesLabel}</calcite-label>`}_renderFlowPasteAs(t){return t?b("paste-gallery",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${i=>{i.preventDefault(),this.viewModel.hasPasteCommandsPage&&(this.viewModel.activeFlowPage="commands-page")}}>${this._renderFlowCommandStart(!this.viewModel.hasPasteCommandsPage)}${this._renderClipboardCommand("paste-as")}${this._renderCloseCommand(t)}<calcite-panel>${this.hideFooter?null:d`<div class="w-full" slot=footer><div class="w-full flex"><calcite-button .disabled=${this.viewModel.updating} width=half .hidden=${this.viewModel.hideFooterCancelButton} kind=brand appearance=outline @click=${()=>{this.viewModel.resetHome(),this.closed=!0,this.arcgisClose.emit()}}>${this._messages.cancel}</calcite-button><calcite-button .disabled=${this.viewModel.updating||!this.viewModel.pasteTemplate||this.viewModel.hasTooManyPasteCreateFeatures} kind=brand appearance=solid .width=${this.viewModel.hideFooterCancelButton?"full":"half"} @click=${()=>{try{this.viewModel.lastPasteError=void 0,this.viewModel.getPasteCommandById(this.viewModel.activeCommand).runPasteCommand({closeAfterApply:()=>{this._handleCloseAfterApply()},onPasteError:i=>{this.arcgisApplyPasteError.emit({command:this.activeCommand??"paste-as",errorMessage:i.errorMessage,errorCode:i.errorCode})},onApply:async i=>{try{await this.beforeApply?.();let a={...i};return this.arcgisApplyPasteCommand.emit(a).defaultPrevented?{success:!1,errorCode:"cancelled"}:a.completionCallback?await a.completionCallback??{success:!0}:{success:!0}}catch{return{success:!1}}}},this.viewModel.activeCommand??"paste-as")}catch{}}}>${this.viewModel.alwaysShowFeatureForm?this._messages.next:(this.viewModel.clipboardFeatures.length??0)>1&&this.activeCommand!=="paste-merge"?y(this._messages.pasteMany??"",{num:this.viewModel.clipboardFeatures.length}):this._messages.paste}</calcite-button></div></div>`}${this.viewModel.hasTooManyPasteCreateFeatures?d`<div class="pad-start-end gallery-content"><calcite-notice open icon=exclamation-point kind=warning><div slot=message>${y(this._messages.tooManyCreateFeatures??"",{num:this.maximumFeatureCount})}</div></calcite-notice></div>`:null}<slot name=gallery-page-message></slot><div class="pad-start-end gallery-content"><div>${!this.viewModel.clipboardAndTemplateSupportAttributes&&this.viewModel.pasteTemplate?d`<div class="pad-contents"><calcite-notice open icon=exclamation-point kind=info><div slot=message>${this._messages.attributesNotCopied}</div>${this.activeCommand==="paste-merge"&&this.viewModel.hasClipboardItemMatchingTemplate?d`<calcite-link slot=link @click=${()=>{this.viewModel.activeFlowPage="merge-page"}} title=${this._messages.seeMergeOptions??ie}>${this._messages.seeMergeOptions}</calcite-link>`:null}</calcite-notice></div>`:null}${this.viewModel.clipboardAndTemplateSupportAttributes&&this.viewModel.pasteTemplate?this._renderAttributeCheckbox(!this.viewModel.clipboardAndTemplateSupportAttributes):null}${this.viewModel.clipboardAndTemplateSupportAttributes?null:this._renderAttributeCheckbox(!1)}</div><calcite-list .hidden=${this.viewModel.activeCommand!=="paste-merge"} .label=${this._messages.pasteCommandChoices??""} selection-mode=none selection-appearance=border><calcite-list-item .label=${this._messages.mergeOptionsTitle} .description=${this._messages.mergeOptionsDesc} .disabled=${this.viewModel.updating} @click=${()=>{this.viewModel.activeFlowPage="merge-page"}}><calcite-icon slot=content-start icon=configure></calcite-icon><calcite-icon slot=content-end icon=chevron-right></calcite-icon></calcite-list-item></calcite-list><div>${this.viewModel.workingLayers.length>0?d`<arcgis-feature-templates-legacy .disabledItemFunction=${i=>!!(i.template&&me(i.template)&&i.template.type!=="feature")} class="paste-feature-templates" .layers=${this.viewModel.workingLayers} selection-mode=single @arcgisPropertyChange=${i=>{this._checkAndUpdateInitialPasteTemplate()}} @arcgisSelect=${i=>{this.viewModel.pasteTemplate=i.detail.item}} .view=${this.viewModel.view} .referenceElement=${this.referenceElement} ${D(this._templateGallery)}></arcgis-feature-templates-legacy>`:d`<calcite-notice open icon=exclamation-point kind=warning><div slot=message>${y(this._messages.noMatchingEditableLayers??"",{num:this.maximumFeatureCount})}</div></calcite-notice>`}</div></div></calcite-panel>${this._renderApplying()}</calcite-flow-item>`):b("paste-gallery",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${i=>{i.preventDefault(),this.viewModel.hasPasteCommandsPage&&(this.viewModel.activeFlowPage="commands-page")}}>${this._renderFlowCommandStart(!this.viewModel.hasPasteCommandsPage)}</calcite-flow-item>`)}_renderFlowPasteMerge(t){if(!t)return b("paste-merge",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${a=>{a.preventDefault(),this.viewModel.activeFlowPage="gallery-page"}}></calcite-flow-item>`);let i=this.viewModel.selectedClipboardItemIndex===-1?null:this.viewModel.clipboard.items.getItemAt(this.viewModel.selectedClipboardItemIndex);return b("paste-merge",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${a=>{a.preventDefault(),this.viewModel.activeFlowPage="gallery-page"}}>${this._renderClipboardCommand("merge")}${this._renderCloseCommand(t)}<calcite-panel><div class="merge-split-view-container"><div class="pad-contents merge-split-view-items"><calcite-label>${this._messages.selectionLabel}<calcite-list .label=${this._messages.features??""} selection-mode=single selection-appearance=border>${this.clipboard.items.toArray().map((a,r)=>({id:r,item:a})).filter(a=>a.item.type==="feature"&&a.item.layer&&a.item.graphic).map(a=>d`<calcite-list-item .disabled=${this.viewModel.updating} .selected=${a.id===this.viewModel.selectedClipboardItemIndex} @calciteListItemSelect=${()=>{this.viewModel.selectedClipboardItemIndex=a.id}} @pointerenter=${r=>{this.viewModel.highlightSelectedGraphicOnMap(a.item),r.target.classList.add("hovering")}} @pointerleave=${r=>{r.target.classList.remove("hovering"),this.viewModel.clearHighlightSelectedGraphic()}} .value=${a.id}><arcgis-feature-title slot=content .graphic=${a.item.graphic} .layer=${a.item.layer}></arcgis-feature-title><arcgis-feature-image width-in-pixels=16 height-in-pixels=16 use-true-shape slot=content-start .graphic=${a.item.graphic} .layer=${a.item.layer}></arcgis-feature-image>${this.viewModel.selectedClipboardItemIndex!==a.id?d`<calcite-chip slot=content-end .label=${this._messages.preservethis??""} class="chip-indent only-on-hover item-candidate" scale=s .value=${a.id}>${this._messages.preservethis??""}</calcite-chip>`:""}${this.viewModel.selectedClipboardItemIndex===a.id?d`<calcite-chip icon=check .label=${this._messages.preserved??""} class="item-preserved chip-indent" scale=s slot=content-end .value=${a.id}>${this._messages.preserved}</calcite-chip>`:""}</calcite-list-item>`)}</calcite-list></calcite-label></div><div class="merge-split-view-attributes">${this.viewModel.selectedClipboardItemIndex===-1?d`<div></div>`:d`<div class="merge-feature-form"><arcgis-feature-form heading-level=5 .feature=${i.graphic} .formTemplate=${i.layer.formTemplate?i.layer.formTemplate:null} .layer=${i.layer} ${D(this._featureFormElement)}></arcgis-feature-form></div>`}</div></div></calcite-panel>${this._renderApplying()}</calcite-flow-item>`)}_renderFlowPasteForm(t){if(!t)return b("paste-form",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${p=>{p.preventDefault(),this.viewModel.activeFlowPage=this.viewModel.beforeForm,this.viewModel.resetFormPage()}}></calcite-flow-item>`);let i=(this.viewModel.bauFeatures?.length??0)>1&&!this.viewModel.bauHasTooManyFeatures&&!this.viewModel.bauHasTooManyComplexFeatures,a=this.viewModel.updating,r=this.viewModel.bauActiveFeatureIndex>0,o=this.viewModel.bauActiveFeatureIndex!==-1&&this.viewModel.bauActiveFeatureIndex<(this.viewModel.bauFeatures?.length??0)-1,l=this.viewModel.bauActiveFeatureIndex===-1?y(this._messages.multipleFeaturesX??"",{total:this.viewModel.bauFeatures?.length??0}):y(this._messages.range??"",{current:this.viewModel.bauActiveFeatureIndex+1,total:this.viewModel.bauFeatures?.length??0}),h=(this.viewModel.bauInvalidFeatures?.length??0)>0;return b("paste-form",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${p=>{p.preventDefault(),this.viewModel.activeFlowPage=this.viewModel.beforeForm,this.viewModel.resetFormPage()}}>${this._renderCloseCommand(t)}<calcite-panel>${this.hideFooter?null:d`<div class="w-full" slot=footer><div class="w-full flex"><calcite-button .disabled=${this.viewModel.updating} width=half .hidden=${this.viewModel.hideFooterCancelButton} kind=brand appearance=outline @click=${()=>{this.viewModel.resetHome(),this.closed=!0,this.arcgisClose.emit()}}>${this._messages.cancel}</calcite-button><calcite-button .disabled=${this.viewModel.updating||this.viewModel.bauFormUpdating||this.viewModel.bauHasTooManyFeatures||this.viewModel.bauHasTooManyComplexFeatures} kind=brand appearance=solid .width=${this.viewModel.hideFooterCancelButton?"full":"half"} @click=${async()=>{try{if(await ue(()=>!this.viewModel.bauFormUpdating),!this.viewModel.bauFormValid){this._bauForm.value?.goToFirstError();return}this.viewModel.lastPasteError=void 0,this.viewModel.runPasteFormCommand({closeAfterApply:()=>{this._handleCloseAfterApply()},onPasteError:p=>{this.arcgisApplyPasteError.emit({command:this.activeCommand??"paste-as",errorMessage:p.errorMessage,errorCode:p.errorCode})},onApply:async p=>{try{await this.beforeApply?.();let m={...p};return this.arcgisApplyPasteCommand.emit(m).defaultPrevented?{success:!1,errorCode:"cancelled"}:m.completionCallback?await m.completionCallback??{success:!0}:{success:!0}}catch{return{success:!1}}}})}catch{}}}>${(this.viewModel.bauFeatures?.length??0)>1?y(this._messages.pasteMany??"",{num:this.viewModel.bauFeatures.length}):this._messages.paste}</calcite-button></div></div>`}${i?d`<calcite-action-bar overflow-actions-disabled slot=action-bar layout=horizontal scale=s expand-disabled class="carousel-bar"><calcite-button .disabled=${this.viewModel.updating} @click=${p=>{this._showFloatingChoice=!this._showFloatingChoice,p.stopPropagation()}} scale=s appearance=transparent icon-start=legend icon-end=chevron-down kind=neutral><span class="bau-pick">${l}${h?d`<calcite-icon scale=s icon=exclamation-mark-triangle class="danger-icon-warning"></calcite-icon>`:""}</span></calcite-button><calcite-action slot=actions-end icon=chevron-left icon-flip-rtl scale=s .text=${this._messages.back??""} .disabled=${!r||a||!i} @click=${()=>{this.viewModel.previousActiveFeature()}}></calcite-action><calcite-action slot=actions-end icon=chevron-right icon-flip-rtl scale=s .text=${this._messages.next??""} .disabled=${!o||a||!i} @click=${()=>{this.viewModel.nextActiveFeature()}}></calcite-action></calcite-action-bar>${this._renderFloatingUIChoice(i)}`:""}<div class=${te(this.viewModel.bauHasTooManyComplexFeatures||this.viewModel.bauHasTooManyFeatures?"hidden":void 0)}>${this._renderPasteFormBreadcrumb()}<arcgis-multi-feature-form edit-type=INSERT submit-has-been-attempted .view=${this.view} .referenceElement=${this.referenceElement} .hidden=${this.viewModel.bauHasTooManyComplexFeatures||this.viewModel.bauHasTooManyFeatures} .disabled=${this.viewModel.updating} .maximumFeatureCount=${this.maximumFeatureCount} .maximumFeatureCountWithComplexForms=${this.maximumFeatureCountWithComplexForms} .features=${this.viewModel.bauFeatures} .activeFeatureIndex=${this.viewModel.bauActiveFeatureIndex} @arcgisPropertyChange=${p=>{this._updateBauViewModelFields(p.target)}} @arcgisValueChange=${p=>{let m=0;for(let v of this.viewModel.bauFeatures?.toArray()??[]){let u=this.viewModel.bauOriginalGraphics[m];this.viewModel.formFeatureValuesChanged(u,p.target.getValues(v)),m++}}} ${D(this._bauForm)}></arcgis-multi-feature-form></div>${this.viewModel.bauHasTooManyComplexFeatures||this.viewModel.bauHasTooManyFeatures?d`<div class="pad-start-end gallery-content"><calcite-notice open icon=exclamation-point kind=warning><div slot=message>${this.viewModel.bauHasTooManyFeatures?y(this._messages.tooManyCreateFeatures??"",{num:this.maximumFeatureCount}):y(this._messages.tooManyCreateComplexFeatures??"",{num:this.maximumFeatureCountWithComplexForms})}</div></calcite-notice></div>`:null}</calcite-panel>${this.renderPasteErrorFooter()}${this._renderApplying()}</calcite-flow-item>`)}_renderPasteFormBreadcrumb(){return d`<calcite-list .label=${this._messages.breadcrumb??""} selection-appearance=border scale=s selection-mode=none><calcite-list-item>${this.viewModel.bauActiveFeatureIndex===-1?d`<calcite-icon scale=s slot=content-start icon=group-form></calcite-icon>`:I(this.viewModel.bauActiveGraphic)?.isTable?d`<calcite-icon scale=s slot=content-start icon=table></calcite-icon>`:d`<arcgis-feature-image width-in-pixels=16 height-in-pixels=16 use-true-shape slot=content-start .graphic=${this.viewModel.bauActiveGraphic} .layer=${this.viewModel.bauActiveLayer}></arcgis-feature-image>`}${this.viewModel.bauActiveFeatureIndex===-1?d`<span slot=content>${y(this._messages.multipleFeaturesX??"",{total:this.viewModel.bauFeatures?.length??0})}</span>`:d`<arcgis-feature-title is-new-feature slot=content .graphic=${this.viewModel.bauActiveGraphic} .layer=${this.viewModel.bauActiveLayer}></arcgis-feature-title>`}</calcite-list-item></calcite-list>`}_renderFloatingUIChoice(t){if(!this._showFloatingChoice||!t)return d`<div></div>`;let i=!1;this.viewModel.bauInvalidFeatures.length>0&&(i=!0);let a=new Set(this.viewModel.bauInvalidFeatures);return d`<div class="choose-feature" slot=action-bar ${D(this._floatingChoiceContainer)}><calcite-list .label=${this._messages.choosefeature??""} selection-mode=single selection-appearance=border><calcite-list-item .disabled=${this.viewModel.updating} @calciteListItemSelect=${r=>{this.viewModel.bauActiveFeatureIndex!==-1&&(this.viewModel.bauActiveFeatureIndex=-1,this.viewModel.updateIndividualMultiFeatureFormHighlight()),this.viewModel.clearMultiFeatureFormHighlights(),this._showFloatingChoice=!1}} .label=${y(this._messages.multipleFeaturesX??"",{total:this.viewModel.bauFeatures.length})} .selected=${this.viewModel.bauActiveFeatureIndex===-1} value=shared><calcite-icon scale=s icon=group-form class="feature-choose-listitem" slot=content-start></calcite-icon></calcite-list-item>${this.viewModel.bauFeatures.map((r,o)=>d`<calcite-list-item .disabled=${this.viewModel.updating} @pointerenter=${l=>{this.viewModel.highlightMultiFeatureFormFeature(r,o)}} @pointerleave=${l=>{this.viewModel.clearMultiFeatureFormHighlights()}} .selected=${this.viewModel.bauActiveFeatureIndex===o} @calciteListItemSelect=${l=>{let h=window.parseInt(l.currentTarget.value);this.viewModel.bauActiveFeatureIndex=h,this.viewModel.updateIndividualMultiFeatureFormHighlight(),this.viewModel.clearMultiFeatureFormHighlights(),this._showFloatingChoice=!1}} .value=${o}><arcgis-feature-title is-new-feature slot=content .graphic=${r} .layer=${r.layer}></arcgis-feature-title>${I(r)?.isTable?d`<calcite-icon scale=s icon=table slot=content-start class="feature-choose-listitem"></calcite-icon>`:d`<arcgis-feature-image slot=content-start class="feature-choose-listitem" .graphic=${r} width-in-pixels=16 height-in-pixels=16 use-true-shape .layer=${r.layer}></arcgis-feature-image>`}${a.has(r)&&i?d`<calcite-icon slot=content-end icon=exclamation-mark-triangle scale=s class="danger-icon-warning"></calcite-icon>`:""}</calcite-list-item>`)}</calcite-list></div>`}_renderClipboard(t){return t?b("paste-form",d`<calcite-flow-item .selected=${t} .heading=${this._messages.clipboardContents} @calciteFlowItemBack=${i=>{i.preventDefault(),this.viewModel.activeFlowPage=this.viewModel.beforeClipboard}}>${this._renderCloseCommand(t)}<calcite-panel><arcgis-clipboard .view=${this.view} .referenceElement=${this.referenceElement} .hideTooltips=${this.hideTooltips}></arcgis-clipboard></calcite-panel></calcite-flow-item>`):b("paste-form",d`<calcite-flow-item .selected=${t} .heading=${this._messages.clipboardContents} @calciteFlowItemBack=${i=>{i.preventDefault(),this.viewModel.activeFlowPage=this.viewModel.beforeClipboard}}></calcite-flow-item>`)}_renderPasteCommands(t){if(!t)return b("paste-commands",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${a=>{a.preventDefault(),this.viewModel.activeFlowPage="commands-page"}}>${this._renderFlowCommandStart(this.viewModel.hasPasteCommandsPage)}</calcite-flow-item>`);let i=this.viewModel.clipboard.items.length===0?this._messages.clipboardEmpty??"":this.viewModel.clipboard.items.length>1?y(this._messages.clipboardContentsMany??"",{num:this.viewModel.clipboard.items.length}):this._messages.clipboardContentsSingle??"";return b("paste-commands",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${a=>{a.preventDefault(),this.viewModel.activeFlowPage="commands-page"}}>${this._renderFlowCommandStart(this.viewModel.hasPasteCommandsPage)}${this._renderClipboardCommand("commands")}${this._renderCloseCommand(t)}<calcite-panel><calcite-list .label=${this._messages.clipboardContents??""} selection-mode=none selection-appearance=border><calcite-list-item .description=${i}></calcite-list-item></calcite-list><slot name=commands-page-message></slot><div class="pad-contents"><calcite-list .label=${this._messages.pasteCommandChoices??""} selection-mode=none selection-appearance=border>${this.availableCommands.map(a=>d`<calcite-list-item .label=${a.label(this._messages,this._messages._lang)} .description=${a.description(this._messages,this._messages._lang)} .value=${a.id} .disabled=${!a.commandEnabled||this.viewModel.updating} @click=${async()=>{await this._runPasteCommand(a)}}><calcite-icon slot=content-start .icon=${a.icon}></calcite-icon>${a.immediate?"":d`<calcite-icon slot=content-end icon=chevron-right flip-rtl></calcite-icon>`}</calcite-list-item>`)}</calcite-list></div></calcite-panel>${this.renderPasteErrorFooter()}${this._renderApplying()}</calcite-flow-item>`)}renderPasteErrorFooter(){return!this.viewModel.lastPasteError||this.viewModel.hideErrorNotice?null:d`<calcite-notice slot=footer open kind=danger icon=exclamation-mark-triangle closable @calciteNoticeClose=${()=>{this.viewModel.lastPasteError=void 0}}><div slot=title>${this._messages.errorNoticeTitle??""}</div><div slot=message>${this.viewModel.lastPasteError.localizedErrorMessage?this._messages[this.viewModel.lastPasteError.localizedErrorMessage]:this._messages.errorNoticeMessage??""}</div></calcite-notice>`}_renderApplying(){return this.viewModel.applying?d`<calcite-scrim><calcite-loader scale=s .label=${this._messages.updating??""}></calcite-loader></calcite-scrim>`:""}render(){return this.activeFlowPage==="clipboard-empty-page"?d`<calcite-flow class="arcgis-paste" .hidden=${this.closed}>${this._renderNoClipboardData(this.activeFlowPage==="clipboard-empty-page")}</calcite-flow>`:this.activeFlowPage==="no-command-page"?d`<calcite-flow class="arcgis-paste" .hidden=${this.closed}>${this._renderNoCommandPage(this.activeFlowPage==="no-command-page")}</calcite-flow>`:d`<calcite-flow class="arcgis-paste" .hidden=${this.closed}>${this.hasPasteCommandsPage&&this._renderPasteCommands(this.activeFlowPage==="commands-page")||""}${this._renderFlowPasteAs(this.activeFlowPage==="gallery-page")}${this._renderFlowPasteMerge(this.activeFlowPage==="merge-page")}${this._renderFlowPasteForm(this.activeFlowPage==="form-page")}${this._renderClipboard(this.activeFlowPage==="clipboard")}</calcite-flow>`}};ae("arcgis-paste",K);return K},"core/accessorSupport/decorators","core/Accessor","Graphic","applications/Components/clipboard","layers/GraphicsLayer","core/Collection","applications/Components/templateUtils","applications/Components/applySetUtils","core/reactiveUtils","layers/support/fieldUtils","widgets/BatchAttributeForm/BatchAttributeFormViewModel","intl","applications/Components/editUtils",a,c,e,f,g,h,i,j)
|
|
2
|
+
import j from"./F2MDJ3QQ.js";import i from"./DHDFI523.js";import h from"./NKR3PQHN.js";import{a as b}from"./J6UG5EF7.js";import g from"./2SQ2T6UO.js";import f from"./5CJ44XUV.js";import{a as se}from"./SVVJHTPA.js";import e from"./3JMJAUSY.js";import c from"./RO4TU5R3.js";import{g as re}from"./55IJQTCC.js";import"./7DOI3267.js";import a from"./O5TDDX7K.js";import"./EHZW6UXL.js";import{M as V,N as D,O as ee,P as te,Q as N,R as ie,U as ae,a as Y,b as d,c as R,x as E}from"./MDRC374Z.js";import"./3TTFCHAA.js";export default $arcgis.t(([{property:s,subclass:C},Z,B,{getApplicationClipboard:Me},Ce,j,{getFullTemplate:ce,isSharedTemplate:de,getCreationAttributes:Fe,isSharedTemplateOrMetadata:me},{createApplySetModifyItem:W,createApplySet:J,createFeatureStateProvider:Q,createApplySetAddItem:q,writeApplySetToService:_e},{whenOnce:ue,watch:X},{getRendererFields:pe,getFeatureEditFields:xe},Pe,{substitute:y},{createGraphicsMover:$e},,,,oe,,{g:U},{a:le,b:ne}])=>{var Ae=Y`.esri-widget__heading{color:var(--calcite-color-text-2);margin:0 0 .5rem;font-weight:var(--calcite-font-weight-semibold)}h1.esri-widget__heading{font-size:var(--calcite-font-size-xl)}h2.esri-widget__heading{font-size:var(--calcite-font-size-md)}h3.esri-widget__heading,h4.esri-widget__heading,h5.esri-widget__heading,h6.esri-widget__heading{font-size:var(--calcite-font-size)}.esri-widget{box-sizing:border-box;color:var(--calcite-color-text-2);background-color:var(--calcite-color-foreground-1);font-size:var(--calcite-font-size);line-height:var(--calcite-font-line-height-relative-tight)}.esri-widget *,.esri-widget :before,.esri-widget :after{box-sizing:inherit}.esri-widget.esri-widget--disabled>*{opacity:.4;pointer-events:none}.esri-widget.esri-widget--compact{--esri-widget-padding-y: 0;--esri-widget-padding-x: 0}.esri-widget__anchor{color:var(--calcite-color-text-2)}.esri-widget__anchor:hover{color:var(--calcite-color-text-3)}.esri-widget__anchor:hover,.esri-widget__anchor:focus{text-decoration:underline}.esri-widget__anchor--disabled{opacity:.4;pointer-events:none}.esri-widget__header{background-color:var(--calcite-color-foreground-1);flex:1 0 100%;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:12px 0 12px 15px;display:flex}.esri-widget__heading{word-break:break-word}.esri-widget__header .esri-widget__heading{width:calc(100% - 48px);text-align:initial;color:var(--calcite-color-text-1);align-items:center;margin:0;padding:0;display:flex}.esri-widget__header-button{appearance:none;cursor:pointer;color:var(--calcite-color-text-2);background-color:var(--calcite-color-foreground-1);border:none;flex:0 0 48px;justify-content:center;align-self:stretch;align-items:center;width:48px;padding:0;display:flex}.esri-widget__footer{background-color:var(--calcite-color-foreground-1);justify-content:center;align-items:center;width:100%;min-height:48px;display:flex}.esri-widget__footer-pagination{color:var(--calcite-color-text-2);justify-content:space-between;align-items:center;display:flex}.esri-widget__footer-pagination-previous-button,.esri-widget__footer-pagination-next-button{cursor:pointer;background-color:var(--calcite-color-foreground-1);border:0;margin:0 7px;padding:12px 15px;transition:background-color .125s ease-in-out}.esri-widget__footer-pagination-previous-button:hover,.esri-widget__footer-pagination-previous-button:focus,.esri-widget__footer-pagination-next-button:hover,.esri-widget__footer-pagination-next-button:focus{color:var(--calcite-color-text-1);background-color:var(--calcite-color-foreground-1)}.esri-menu{visibility:hidden;z-index:1;background-clip:padding;background-color:var(--calcite-color-foreground-1);background-clip:padding-box;width:100%;max-height:0;margin:2px 0 0;padding:0;font-size:var(--calcite-font-size);line-height:var(--calcite-spacing-xl);position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 1px 2px #0000004d}.esri-menu .esri-menu__header{color:var(--calcite-color-text-inverse);background-color:var(--calcite-color-inverse);padding:6px 12px}.esri-menu__list{margin:0;padding:0;list-style:none}.esri-menu__list-item{cursor:pointer;border-top:1px solid #adadad4d;border-left:3px solid #0000;padding:.8em 1em}.esri-menu__list-item [class^=esri-icon-],.esri-menu__list-item [class*=" esri-icon-"]{padding-right:2.8px}.esri-menu__list-item:first-child{border-top:none}.esri-menu__list-item--focus,.esri-menu__list-item:hover,.esri-menu__list-item:focus{background-color:var(--calcite-color-foreground-1)}.esri-menu__list-item:active{background-color:var(--calcite-color-foreground-current)}.esri-menu__list-item--active,.esri-menu__list-item--active:hover,.esri-menu__list-item--active:focus{background-color:var(--calcite-color-foreground-1);border-left-color:var(--calcite-color-brand)}.esri-widget__table{border-collapse:collapse;color:var(--calcite-color-text-1);border:none;width:100%;line-height:var(--calcite-font-line-height-relative-tight)}.esri-widget__table tr:nth-child(odd){background-color:var(--calcite-color-transparent)}.esri-widget__table tr:nth-child(2n){background-color:var(--calcite-color-transparent-press)}.esri-widget__table tr a{color:var(--calcite-color-text-2)}.esri-widget__table tr a:hover,.esri-widget__table tr a:focus{color:var(--calcite-color-text-1)}.esri-widget__table tr td,.esri-widget__table tr th{vertical-align:top;word-break:break-word;padding:.5em .7em;font-size:var(--calcite-font-size-sm);font-weight:var(--calcite-font-weight-regular)}.esri-widget__table tr th{text-align:left;border-right:3px solid #0000000d;width:50%}.esri-widget__table tr td{width:50%}.esri-input{color:var(--calcite-color-text-1);background-color:var(--calcite-color-foreground-1);border:1px solid #959595;font-size:var(--calcite-font-size)}.esri-input::-ms-clear{display:none}.esri-input::placeholder{opacity:1;color:var(--calcite-color-text-2)}.esri-input:placeholder-shown{text-overflow:ellipsis}.esri-input[type=text],.esri-input[type=password],.esri-input[type=number]{height:32px;padding:0 .5em}calcite-combobox.esri-input{border:none}.esri-widget__content--empty{text-align:center;color:var(--calcite-color-border-input);flex-flow:column wrap;align-items:center;padding:18px 22px;display:flex}.esri-widget__content--empty h1.esri-widget__heading,.esri-widget__content--empty h2.esri-widget__heading,.esri-widget__content--empty h3.esri-widget__heading,.esri-widget__content--empty h4.esri-widget__heading,.esri-widget__content--empty h5.esri-widget__heading{font-weight:var(--calcite-font-weight-regular)}.esri-widget__content-illustration--empty{width:128px;padding:1rem 0}.esri-widget__content-icon--empty{width:32px;padding:.5rem 0}.esri-select{appearance:none;cursor:pointer;color:var(--calcite-color-text-2);background:var(--calcite-color-foreground-1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 32 32' width='32' height='32'%3E%3Cpath d='M8 11.207l-4-4V5.793l4 4 4-4v1.414z' fill='%23adadad' fillrule='nonzero'/%3E%3C/svg%3E") 100% no-repeat;border:1px solid #959595;border-radius:0;width:100%;height:32px;margin:0;padding:0 .5em;font-family:inherit;font-size:.85em;display:block}.esri-select[disabled]{cursor:auto}.esri-select::-ms-expand{display:none}.esri-disabled a,.esri-disabled [role=menu],.esri-disabled [role=checkbox],.esri-disabled [class^=esri-icon-],.esri-disabled [class*=" esri-icon-"]{color:var(--calcite-color-text-3)}.keynav-mode .esri-widget:focus,.keynav-mode .esri-widget :focus{z-index:1;outline-offset:2px;outline:2px solid #adadad}.esri-widget__loader-animation{border:.15em solid #adadad4d;border-top-color:var(--calcite-color-border-input);border-radius:100%;width:1em;height:1em;font-size:var(--calcite-font-size-md);animation:1.25s linear infinite esri-rotate;display:block;transform:translateZ(0)}:dir(rtl) .esri-widget__table th{text-align:right;border-left:3px solid #0000000d;border-right:none}:dir(rtl) .esri-select{background-position:0}:dir(rtl) .esri-menu__list-item{border-left:none;border-right:3px solid #0000}:dir(rtl) .esri-menu__list-item [class^=esri-icon-],:dir(rtl) .esri-menu__list-item [class*=" esri-icon-"]{padding-left:2px;padding-right:0}:dir(rtl) .esri-menu__list-item--active{border-right-color:var(--calcite-color-brand)}.esri-icon-font-fallback-text{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.esri-rotating{animation:1.25s linear infinite esri-rotate;transform:translateZ(0)}.esri-clearfix:before,.esri-clearfix:after{content:" ";display:table}.esri-clearfix:after{clear:both}.esri-interactive{cursor:pointer}.esri-hidden{display:none!important}.esri-invisible{visibility:hidden!important}.esri-offscreen{position:absolute;top:-999em;left:-999em}.esri-match-height{flex-direction:column;flex:auto;display:flex;overflow:hidden}:host{display:flex}.arcgis-paste{height:var(--arcgis-paste-height, 300px);width:var(--arcgis-paste-width, 300px);flex:1}.hidden{display:none}.flex-row{flex-direction:row}.justify-center{justify-content:center}.h-full{height:100%}.w-full{width:100%}.flex{display:flex}.text-center{text-align:center}.pad-contents{padding:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md))}.merge-feature-form{padding-left:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md));padding-right:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md));padding-bottom:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md))}.pad-start-end{padding-left:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md));padding-right:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md))}.gallery-content{padding-top:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md));padding-bottom:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md));display:flex;row-gap:var(--arcgis-paste-blocks-padding, var(--calcite-spacing-md));flex-direction:column}.chip-indent{margin-left:5px;margin-right:5px}.merge-split-view-container{display:flex;flex-direction:column;height:100%}.merge-split-view-items{flex:0 1 auto;max-height:50%;overflow-y:scroll}.merge-split-view-attributes{flex:1;overflow-y:scroll}.choose-feature{position:absolute;width:100%;max-height:100%;z-index:2;overflow-y:auto}.bau-pick{display:flex;flex-direction:row;align-items:center;gap:4px}.danger-icon-warning{--calcite-icon-color: var(--calcite-color-status-danger)}.paste-feature-templates{--arcgis-feature-templates-max-list-height: 100%}`;async function Ee(e,t={}){if(e?.type==="subtype-group"){if(!e.subtypeField)return[];let i=t[e.subtypeField];if(!be(i))return[];let a=e.findSublayerForSubtypeCode(i);return a?a.renderer&&a.fieldsIndex?await pe(a.renderer,e.fieldsIndex):[]:[]}return e?e.renderer&&e.fieldsIndex?await pe(e.renderer,e.fieldsIndex):[]:[]}function Ie(e,t,i,a,r,o){let l={...a},h=ke(o),p=Se(o),m="";(o.type==="subtype-group"||o.type==="subtype-sublayer")&&(m=o.subtypeField??"");let v=o.objectIdField??"";return e.forEach(u=>{if(u.name!==v&&!h.includes(u.name)&&!p.includes(u.name)&&!r.includes(u.name)&&u.type!=="global-id"&&(m===""||m!==u.name)){let w=He(u,t);w.match&&w.targetField&&(l[w.targetField?.name]=i[u.name])}}),l}function ke(e){return e&&"relationships"in e?(e.relationships??[]).filter(t=>t.role==="origin").map(t=>t.keyField):[]}function Se(e){return e?.type==="subtype-sublayer"&&(e=e.parent),e?xe(e):[]}function Te(e,t){if(e.type===t.type)return t.type==="string"?e.length<=t.length:!0;switch(e.type){case"small-integer":return["integer","big-integer"].includes(t.type);case"integer":return t.type==="big-integer";case"single":return t.type==="double";default:return!1}}function He(e,t){let i={match:!1,sourceField:null,targetField:null};for(let a of t)if(Te(e,a)){let r=e.name.replace(/\s/gu,"").toLowerCase();if(a.name.replace(/\s/gu,"").toLowerCase()===r)return i.match=!0,i.sourceField=e,i.targetField=a,i}return i}async function ge(e,t,i,a){let r=!0,o={hasAsyncArcadeExpressions:!1},l=e.items.filter(h=>h.type==="add");for(let h of l){let p=h.graphic.clone(),m=Oe(h.graphic,h.layer);if(!m){r=!1;continue}let v=!await Ge(t,h.graphic,m,i,o);if(o.hasAsyncArcadeExpressions&&l.length>a)return!1;let u=W({graphic:h.graphic,layer:h.layer,originalGraphic:p});if(e.push(u),!v)return!1}return r}function Oe(e,t){return t.type==="feature"||t.type==="subtype-sublayer"?t:t.findSublayerForFeature(e)||null}async function Ge(e,t,i,a,r){let o=i.formTemplate,l=i.fields.filter(w=>{let z=t.attributes[w.name],fe=z===null||z===""||z===void 0;return w.editable&&!w.nullable&&fe});if(!o)return l.length!==0;let h=new Set;we(o.elements??[],h);let p=new Set;if(ve(o.elements??[],p),h.size===0&&p.size===0)return l.length>0;let m=t.clone();m.layer=i,delete m.attributes[i.objectIdField],a.has(i)||a.set(i,new Pe({map:e.map,editType:"INSERT"}));let v=a.get(i);if(v.features=new j([m]),await ue(()=>(v.status==="loaded"||v.status==="failed")&&!v.updating),v.hasAsyncArcadeExpressions&&(r.hasAsyncArcadeExpressions=!0),v.status==="failed")return!0;let u=v.getValues(m)??{};if(i.objectIdField&&u[i.objectIdField]!==void 0){let{[i.objectIdField]:w,...z}=u;u=z}return Object.keys(u).forEach(w=>{i.fieldsIndex.has(w)&&(t.attributes[w]=ze(u[w],w,i.fieldsIndex))}),v.invalidFeatures.length>0}function ve(e,t){for(let i of e)i.type==="group"?ve(i.elements,t):i.type==="field"&&i.valueExpression&&t.add(i.fieldName)}function we(e,t){for(let i of e)i.type==="group"?we(i.elements,t):i.type==="field"&&i.requiredExpression&&t.add(i.fieldName)}function be(e){return typeof e=="number"}function Le(e){return typeof e=="number"&&window.isFinite(e)&&Math.floor(e)===e}function ze(e,t,i){if(e==null)return null;switch(i.get(t).type){case"big-integer":case"long":case"oid":case"integer":case"small-integer":return Le(e)?e:window.parseInt(e);case"single":case"double":return be(e)?e:window.parseFloat(e);case"global-id":case"guid":return e===""?null:e;case"date":break;case"date-only":case"time-only":case"timestamp-offset":return e===""?null:e;case"string":return e===""?null:e}return e}function Ve(e){return e&&"layer"in e?e.layer:void 0}function I(e){if(!e)return null;let t=Ve(e.origin)??e.layer??e?.sourceLayer??null;if(t&&t.type==="subtype-sublayer")return t.parent;switch(t?.type){case"csv":case"feature":case"geojson":case"ogc-feature":case"subtype-group":case"wfs":return t;default:return null}}var De=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,A=(e,t,i,a)=>{for(var r=a>1?void 0:a?Be(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&De(t,i,r),r},ye={noChangeError:"Operation has not made any changes",noSelectedError:"Operation requires a selected feature",deletesGeometryError:"Operation would result in a null geometry",noGeometryError:"The selected feature has not geometry"},g=class extends Z{constructor(e){super(e)}get mustShowOnCommandPage(){return!0}get icon(){}get id(){return""}label(e,t){return""}description(e,t){return""}get commandEnabled(){return!1}commandDisabledReason(e,t){return""}get immediate(){return!1}async initiate(e,t){}async execute(){throw new Error("arcgis-paste: Paste command does not support execute")}async runPasteCommand(e,t,i){try{this.viewModel.applying=!0;let a=await this.prepareCopy(t);if(!a||a.items.length===0){this.viewModel.lastPasteError={errorCode:"noPasteItems",errorMessage:"No items to paste",localizedErrorMessage:"noPasteItemsError"},e.onPasteError(this.viewModel.lastPasteError);return}let r=a.items.length>this.viewModel.maximumFeatureCount||this.viewModel.alwaysShowFeatureForm||i?.showFeatureForm===!0||!await ge(a,this.viewModel.view,this.viewModel.formViewModelMap,this.viewModel.maximumFeatureCountWithComplexForms);if(this.viewModel.alwaysShowFeatureForm||r||i?.showFeatureForm===!0)this.viewModel.bauActiveFeatureIndex=0,this.viewModel.bauApplySet=a,this.viewModel.activeCommand=t,this.viewModel.bauOriginalGraphics=a.items.map(o=>o.type==="add"?{layer:o.layer,graphic:o.graphic}:null).filter(o=>o!==null),this.viewModel.bauFeatures=new j,this.viewModel.activeFlowPage="form-page",await new Promise(o=>{setTimeout(o,100)}),this.viewModel.bauFeatures=new j(this.viewModel.bauOriginalGraphics.map(o=>(o.graphic.layer=o.layer,o.graphic))),this.viewModel.updateIndividualMultiFeatureFormHighlight();else try{let o=await e.onApply({command:"paste",applySet:a});if(o.success){this.viewModel.resetHome(),this.viewModel.closeOnApply&&e.closeAfterApply();return}this.viewModel.handleApplyError(o,e.onPasteError)}catch(o){this.viewModel.lastPasteError={errorCode:"unexpectedError",errorMessage:o.message,localizedErrorMessage:"unexpectedError"},e.onPasteError(this.viewModel.lastPasteError);return}finally{a?.featureState?.clearAll()}}finally{this.viewModel.applying=!1}}async prepareCopy(e){let t=e==="paste"||e==="paste-as"&&this.viewModel.pasteWithAttributes||e==="paste-merge"&&this.viewModel.pasteWithAttributes,i=t&&e==="paste-merge"?this.viewModel.clipboard.items.getItemAt(this.viewModel.selectedClipboardItemIndex):null,a=J();if(a.featureState=Q(this.viewModel.view),e==="paste-merge"){let r=this.viewModel.pasteTemplate?.template?await ce(this.viewModel.view,this.viewModel.pasteTemplate.template):null;if(!r)return null;let o=de(this.viewModel.pasteTemplate.template)?r.layer:this.viewModel.pasteTemplate.layer,l=await this.createMergedClipboardGeom(),h=await this.constructFeatureAttributesCopy(r,o,i),p=new B({geometry:l,attributes:h});this.removeGraphicIdentifierFields(p,o),a.push(q({graphic:p,layer:o}))}else if(e==="paste")for(let r of this.viewModel.clipboardFeatures){let o=r.graphic.clone();this.removeGraphicIdentifierFields(o,r.layer),a.push(q({graphic:o,layer:r.layer}))}else if(e==="paste-as"){let r=this.viewModel.pasteTemplate?.template?await ce(this.viewModel.view,this.viewModel.pasteTemplate.template):null;if(!r)return null;let o=de(r)?r.layer:this.viewModel.pasteTemplate.layer;for(let l of this.viewModel.clipboardFeatures){let h=await this.constructFeatureAttributesCopy(r,o,t?l:null),p=new B({geometry:l.graphic?.geometry?.clone()??null,attributes:h});this.removeGraphicIdentifierFields(p,o),a.push(q({graphic:p,layer:o}))}}return a}async constructFeatureAttributesCopy(e,t,i){let a=Fe(e,{});if(i){let r=i.layer?.fields;if(r){let o=t.fields,l=i.graphic.attributes??{},h=await Ee(t,a);a=Ie(r,o,l,a,h,t)}}return a}async createMergedClipboardGeom(){let e=this.viewModel.clipboardFeatures.map(t=>t.graphic?.geometry).filter(t=>t!=null).toArray();return e.length===0?null:e.length===1?e[0].clone():(await $arcgis.t(m=>m[0],"geometry/operators/unionOperator")).executeMany(e)??null}removeGraphicIdentifierFields(e,t){t.objectIdField&&delete e.attributes[t.objectIdField],t.globalIdField&&delete e.attributes[t.globalIdField]}};A([s()],g.prototype,"viewModel",2);A([s()],g.prototype,"mustShowOnCommandPage",1);A([s()],g.prototype,"icon",1);A([s()],g.prototype,"id",1);A([s()],g.prototype,"commandEnabled",1);A([s()],g.prototype,"commandDisabledReason",1);A([s()],g.prototype,"immediate",1);g=A([C("components.paste.commands.PasteCommand")],g);var je=Object.defineProperty,We=Object.getOwnPropertyDescriptor,T=(e,t,i,a)=>{for(var r=a>1?void 0:a?We(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&je(t,i,r),r},F=class extends g{get id(){return"paste-append"}get icon(){return"reshape-add-geometry"}get immediate(){return!0}get mustShowOnCommandPage(){return!0}get commandEnabled(){return this.viewModel.clipboardFeatures.length>0&&this.viewModel.selectedFeature!==void 0&&this.viewModel.layerPermissionsCheck.canUpdate(I(this.viewModel.selectedFeature))&&this.viewModel.selectedFeature?.geometry!==null&&(this.viewModel.selectedFeature?.geometry?.type==="multipoint"||this.viewModel.selectedFeature?.geometry?.type==="polyline"||this.viewModel.selectedFeature?.geometry?.type==="polygon")&&this.viewModel.clipboard.singleGeometryType===this.viewModel.selectedFeature?.geometry?.type}async initiate(e){let t=null;try{this.viewModel.applying=!0;let i=await this.prepareAppend();if(i.applySet&&(t=i.applySet),!i.success){this.viewModel.lastPasteError={errorCode:i.failReason,errorMessage:ye[i.failReason],localizedErrorMessage:i.failReason},e.onPasteError(this.viewModel.lastPasteError);return}let a=await e.onApply({command:"paste-append",applySet:i.applySet});if(a.success){this.viewModel.resetHome(),this.viewModel.closeOnApply&&e.closeAfterApply();return}this.viewModel.handleApplyError(a,e.onPasteError)}catch(i){this.viewModel.lastPasteError={errorCode:"unexpectedError",errorMessage:i.message,localizedErrorMessage:"unexpectedError"},e.onPasteError(this.viewModel.lastPasteError);return}finally{this.viewModel.applying=!1,t&&(t.featureState?.clearAll(),t.featureState=null)}}async execute(){let e=await this.prepareAppend();if(!e.success)throw new Error(`arcgis-paste: Paste append failed. ${e.failReason}`);return{success:!0,userInputRequired:!1,applySet:e.applySet}}async prepareAppend(){let e=J();if(e.featureState=Q(this.viewModel.view),!this.viewModel.selectedFeature)return{success:!1,failReason:"noSelectedError"};let[t,i]=await Promise.all([$arcgis.t(m=>m[0],"geometry/operators/unionOperator"),$arcgis.t(m=>m[0],"geometry/operators/equalsOperator")]),a=this.viewModel.selectedFeature.geometry,r=!1;for(let l of this.viewModel.clipboardFeatures){let h=l?.graphic?.geometry??null;if(!h)continue;if(a===null){a=l?.graphic?.geometry??null,a&&(a=a.clone(),r=!0);continue}let p=t.execute(a,h);i.execute(a,p)||(a=p,r=!0)}if(!r)return{success:!1,failReason:"noChangeError"};let o=this.viewModel.selectedFeature.clone();return o.geometry=a,e.push(W({graphic:o,layer:I(this.viewModel.selectedFeature),originalGraphic:this.viewModel.selectedFeature})),{success:!0,applySet:e}}description(e,t){return e.pasteAppendDesc}label(e,t){return e.pasteAppendTitle}};T([s()],F.prototype,"id",1);T([s()],F.prototype,"icon",1);T([s()],F.prototype,"immediate",1);T([s()],F.prototype,"mustShowOnCommandPage",1);T([s()],F.prototype,"commandEnabled",1);F=T([C("components.paste.commands.PasteAppendCommand")],F);var Re=Object.defineProperty,Ne=Object.getOwnPropertyDescriptor,H=(e,t,i,a)=>{for(var r=a>1?void 0:a?Ne(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&Re(t,i,r),r},_=class extends g{get id(){return"paste-subtract"}get icon(){return"reshape-subtract-geometry"}get immediate(){return!0}get mustShowOnCommandPage(){return!0}get commandEnabled(){return this.viewModel.clipboardFeatures.length>0&&this.viewModel.selectedFeature!==void 0&&this.viewModel.layerPermissionsCheck.canUpdate(I(this.viewModel.selectedFeature))&&this.viewModel.selectedFeature?.geometry!==null&&(this.viewModel.selectedFeature?.geometry?.type==="multipoint"||this.viewModel.selectedFeature?.geometry?.type==="polyline"||this.viewModel.selectedFeature?.geometry?.type==="polygon")&&(this.viewModel.clipboard.singleGeometryType===this.viewModel.selectedFeature?.geometry?.type||this.viewModel.clipboard.singleGeometryType==="polygon")}async prepareSubtract(){let e=J();if(e.featureState=Q(this.viewModel.view),!this.viewModel.selectedFeature)return{success:!1,failReason:"noSelectedError",applySet:e};let[t,i]=await Promise.all([$arcgis.t(m=>m[0],"geometry/operators/differenceOperator"),$arcgis.t(m=>m[0],"geometry/operators/equalsOperator")]),a=this.viewModel.selectedFeature.geometry;if(!a)return{success:!1,failReason:"noGeometryError",applySet:e};let r=!1;for(let l of this.viewModel.clipboardFeatures){let h=l?.graphic?.geometry;if(!h)continue;let p=t.execute(a,h);if(!p)return{success:!1,failReason:"deletesGeometryError",applySet:e};i.execute(a,p)||(a=p,r=!0)}if(!r)return{success:!1,failReason:"noChangeError",applySet:e};let o=this.viewModel.selectedFeature.clone();return o.geometry=a,e.push(W({graphic:o,layer:I(this.viewModel.selectedFeature),originalGraphic:this.viewModel.selectedFeature})),{success:!0,applySet:e}}async execute(){let e=await this.prepareSubtract();if(!e.success)throw new Error(`arcgis-paste: Paste subtract failed. ${e.failReason}`);return{success:!0,userInputRequired:!1,applySet:e.applySet}}async initiate(e){let t=null;try{this.viewModel.applying=!0;let i=await this.prepareSubtract();if(i.applySet&&(t=i.applySet),!i.success){this.viewModel.lastPasteError={errorCode:i.failReason,errorMessage:ye[i.failReason],localizedErrorMessage:i.failReason},e.onPasteError(this.viewModel.lastPasteError);return}let a=await e.onApply({command:"paste-subtract",applySet:i.applySet});if(a.success){this.viewModel.resetHome(),this.viewModel.closeOnApply&&e.closeAfterApply();return}this.viewModel.handleApplyError(a,e.onPasteError)}catch(i){this.viewModel.lastPasteError={errorCode:"unexpectedError",errorMessage:i.message,localizedErrorMessage:"unexpectedError"},e.onPasteError(this.viewModel.lastPasteError);return}finally{this.viewModel.applying=!1,t&&(t.featureState?.clearAll(),t.featureState=null)}}description(e,t){return e.pasteSubtractDesc}label(e,t){return e.pasteSubtractTitle}};H([s()],_.prototype,"id",1);H([s()],_.prototype,"icon",1);H([s()],_.prototype,"immediate",1);H([s()],_.prototype,"mustShowOnCommandPage",1);H([s()],_.prototype,"commandEnabled",1);_=H([C("components.paste.commands.PasteSubtractCommand")],_);var Ue=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,O=(e,t,i,a)=>{for(var r=a>1?void 0:a?qe(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&Ue(t,i,r),r},x=class extends g{get id(){return"paste-as"}get icon(){return"templates"}get immediate(){return!1}get mustShowOnCommandPage(){return!1}get commandEnabled(){return(this.viewModel.clipboardFeatures.length===1||this.viewModel.clipboardFeatures.length>0&&this.viewModel.pasteWithMultipleFeaturesEnabled)&&this.viewModel.clipboard.singleGeometryType!==void 0}async initiate(e){this.viewModel.activeFlowPage="gallery-page",this.viewModel.activeCommand="paste-as"}description(e,t){return e.pasteAsDesc}label(e,t){return e.pasteAsTitle}};O([s()],x.prototype,"id",1);O([s()],x.prototype,"icon",1);O([s()],x.prototype,"immediate",1);O([s()],x.prototype,"mustShowOnCommandPage",1);O([s()],x.prototype,"commandEnabled",1);x=O([C("components.paste.commands.PasteAsCommand")],x);var Xe=Object.defineProperty,Ke=Object.getOwnPropertyDescriptor,G=(e,t,i,a)=>{for(var r=a>1?void 0:a?Ke(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&Xe(t,i,r),r},P=class extends g{get id(){return"paste"}get icon(){return"duplicate"}get immediate(){return!0}get mustShowOnCommandPage(){return!0}get commandEnabled(){let e=this.viewModel.clipboardFeatures.length===1,t=this.viewModel.clipboardFeatures.length>0&&this.viewModel.clipboardItemLayers.length===1&&this.viewModel.pasteWithMultipleFeaturesEnabled,i=this.viewModel.clipboardFeatures.length>0&&this.viewModel.pasteWithMultipleFeaturesEnabled&&this.viewModel.pasteWithMultipleLayersEnabled;return this.viewModel.clipboardFeatures.length>0&&this.viewModel.canCreateOnAllLayers&&(e||t||i)}async initiate(e,t){await this.runPasteCommand(e,"paste",t)}async execute(){let e=await this.prepareCopy("paste");if(!e||e.items.length===0)throw new Error("arcgis-paste: No items to paste");return e.items.length>this.viewModel.maximumFeatureCount||!await ge(e,this.viewModel.view,this.viewModel.formViewModelMap,this.viewModel.maximumFeatureCountWithComplexForms)?{success:!1,userInputRequired:!0}:{success:!0,userInputRequired:!1,applySet:e}}description(e,t){return e.pasteDesc}label(e,t){return e.pasteTitle}};G([s()],P.prototype,"id",1);G([s()],P.prototype,"icon",1);G([s()],P.prototype,"immediate",1);G([s()],P.prototype,"mustShowOnCommandPage",1);G([s()],P.prototype,"commandEnabled",1);P=G([C("components.paste.commands.PasteSetCommand")],P);var Ze=Object.defineProperty,Je=Object.getOwnPropertyDescriptor,L=(e,t,i,a)=>{for(var r=a>1?void 0:a?Je(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&Ze(t,i,r),r},$=class extends g{get id(){return"paste-merge"}get icon(){return"merge"}get immediate(){return!1}get mustShowOnCommandPage(){return!0}get commandEnabled(){return this.viewModel.clipboardFeatures.length>1&&this.viewModel.clipboard.singleGeometryType!==void 0}async initiate(e){this.viewModel.activeFlowPage="gallery-page",this.viewModel.activeCommand="paste-merge";for(let t=0;t<this.viewModel.clipboard.items.length;t++)if(this.viewModel.clipboard.items.getItemAt(t).type==="feature"){this.viewModel.selectedClipboardItemIndex=t;break}}description(e,t){return e.pasteMergeDesc}label(e,t){return e.pasteMergeTitle}};L([s()],$.prototype,"id",1);L([s()],$.prototype,"icon",1);L([s()],$.prototype,"immediate",1);L([s()],$.prototype,"mustShowOnCommandPage",1);L([s()],$.prototype,"commandEnabled",1);$=L([C("components.paste.commands.PasteMergeCommand")],$);var Qe=Object.defineProperty,Ye=Object.getOwnPropertyDescriptor,k=(e,t,i,a)=>{for(var r=a>1?void 0:a?Ye(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&Qe(t,i,r),r},f=class extends g{constructor(e){super(e)}get id(){return this.customCommand.id}get icon(){return this.customCommand.icon}get immediate(){return!0}get mustShowOnCommandPage(){return!0}get commandEnabled(){return this.customCommand.commandEnabled(this.viewModel.clipboard,this.viewModel.selectedFeature)}async initiate(e){try{this.viewModel.applying=!0;let t=await e.onApply({command:this.id});if(t.success){this.viewModel.resetHome(),this.viewModel.closeOnApply&&e.closeAfterApply();return}this.viewModel.handleApplyError(t,e.onPasteError)}catch(t){this.viewModel.lastPasteError={errorCode:"unexpectedError",errorMessage:t.message,localizedErrorMessage:"unexpectedError"},e.onPasteError(this.viewModel.lastPasteError);return}finally{this.viewModel.applying=!1}}description(e,t){return this.customCommand.description(e,t)}label(e,t){return this.customCommand.label(e,t)}};k([s()],f.prototype,"customCommand",2);k([s()],f.prototype,"id",1);k([s()],f.prototype,"icon",1);k([s()],f.prototype,"immediate",1);k([s()],f.prototype,"mustShowOnCommandPage",1);k([s()],f.prototype,"commandEnabled",1);f=k([C("components.paste.commands.PasteCustomCommand")],f);var et=Object.defineProperty,tt=Object.getOwnPropertyDescriptor,c=(e,t,i,a)=>{for(var r=a>1?void 0:a?tt(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&et(t,i,r),r};function he(e){return!me(e)||e.type==="feature"}var n=class extends Z{constructor(e){super(e),this.customPasteCommands=new j,this.bauInvalidFeatures=[],this.bauFormValid=!0,this.bauFormUpdating=!1,this.bauActiveFeatureIndex=-1,this.bauHasTooManyFeatures=!1,this.bauHasTooManyComplexFeatures=!1,this.bauOriginalGraphics=[],this.formViewModelMap=new Map,this.supportedCommands=["paste-append","paste-as","paste-subtract","paste","paste-merge"],this.pasteWithMultipleLayersEnabled=!1,this.pasteWithMultipleFeaturesEnabled=!1,this.alwaysShowFeatureForm=!1,this.selectedClipboardItemIndex=-1,this.pasteWithAttributes=!0,this.closeOnApply=!1,this.currentPasteOperation="",this._activeFlowPage="commands-page",this.showClipboardItems=!1,this.hideTooltips=!1,this.hideFooter=!1,this.hideFooterCancelButton=!1,this.hideHeaderCloseButton=!1,this.hideViewClipboard=!1,this.hideErrorNotice=!1,this.highlightGroup="temporary",this._hoverHighlightHandle=null,this.maximumFeatureCount=200,this.maximumFeatureCountWithComplexForms=50,this.layerPermissionsCheck={canCreate:t=>t?!!t.effectiveCapabilities?.operations.supportsAdd:!1,canUpdate:t=>{if(!t)return!1;let i=t.effectiveCapabilities,a=!!i?.operations.supportsUpdate,r=!!i?.editing.supportsGeometryUpdate&&a;return!t.isTable&&!r?!1:a}},this.applying=!1}get bauActiveGraphic(){return this.bauActiveFeatureIndex===-1?void 0:this.bauFeatures?.getItemAt(this.bauActiveFeatureIndex)}get hasTooManyPasteCreateFeatures(){return this.clipboardFeatures.length>this.maximumFeatureCount&&["paste","paste-as"].includes(this.activeCommand??"")}get bauActiveLayer(){if(this.bauActiveFeatureIndex!==-1&&this.bauFeatures)return I(this.bauFeatures.getItemAt(this.bauActiveFeatureIndex))??void 0}get pasteTemplateIsValid(){return this.pasteTemplate?this.pasteTemplate.layer?!!this.workingLayers.includes(this.pasteTemplate.layer.type==="subtype-sublayer"?this.pasteTemplate.layer.parent:this.pasteTemplate.layer):!1:!0}get clipboardAndTemplateSupportAttributes(){if(this.clipboardFeatures.length===0||!this.pasteTemplate?.layer)return!1;let e=this.pasteTemplate.template;if(!he(e))return!1;for(let t of this.clipboardFeatures){let i=t.layer;if(!i)return!1;let a=i.type==="subtype-sublayer"?i.parent:i;if(a.type==="subtype-group"){let r=a.fieldsIndex.get(a.subtypeField).name,o=e.prototype?.[r];if(o==null||o!==t.graphic.attributes[r])return!1}}return!0}get hasClipboardItemMatchingTemplate(){let e=this.pasteTemplate?.layer;if(!e||this.clipboardFeatures.length===0)return!1;let t=this.pasteTemplate.template;if(!he(t))return!1;for(let i of this.clipboardFeatures){let a=i.layer;if(!a)return!1;let r=a.type==="subtype-sublayer"?a.parent:a;if(e===a){if(r.type==="subtype-group"){let o=r.fieldsIndex.get(r.subtypeField).name,l=t.prototype?.[o];if(l==null||l!==i.graphic.attributes[o])continue}return!0}}return!1}get activeFlowPage(){return this._activeFlowPage}set activeFlowPage(e){e==="clipboard"&&this.beforeClipboard===void 0?this.beforeClipboard=this.activeFlowPage:e!=="clipboard"&&(this.beforeClipboard=void 0),e==="form-page"&&this.beforeForm===void 0?this.beforeForm=this.activeFlowPage:e!=="form-page"&&(this.beforeForm=void 0),this._activeFlowPage=e,this.checkAndSuspendMove()}get updating(){return this.applying}formFeatureValuesChanged(e,t){if(!t)return;let i=e.graphic.clone();for(let r of Object.keys(t))i.attributes[r]=t[r];let a=W({graphic:i,originalGraphic:e.graphic.clone(),layer:e.layer});this.bauApplySet?.push(a)}highlightSelectedGraphicOnMap(e){if(this.clearHighlightSelectedGraphic(),!e.graphic?.geometry||!this.view)return;let t=new B({geometry:e.graphic.geometry,symbol:ne(e.graphic.geometry.type)});this.view.graphics.add(t),this._hoverHighlightHandle={remove:()=>{this.view.graphics.remove(t)}}}clearHighlightSelectedGraphic(){this._hoverHighlightHandle?.remove(),this._hoverHighlightHandle=null}updateIndividualMultiFeatureFormHighlight(){if(this.activeFlowPage!=="form-page"){this.clearIndividualFeatureFormHighlight();return}if(this.view)if(this.bauActiveGraphic&&this.bauActiveLayer){if(this.bauIndividualHighlight?.graphic!==this.bauActiveGraphic&&this.clearIndividualFeatureFormHighlight(),!this.bauIndividualHighlight){let e=U(this.view,this.bauActiveLayer);if(!e)return;this.bauIndividualHighlight={graphic:this.bauActiveGraphic,handle:e.highlight(this.bauActiveGraphic,{name:this.highlightGroup})}}}else this.clearIndividualFeatureFormHighlight()}clearIndividualFeatureFormHighlight(){this.bauIndividualHighlight?.handle?.remove(),this.bauIndividualHighlight=void 0}highlightMultiFeatureFormFeature(e,t){this.bauHighlight&&this.clearMultiFeatureFormHighlights();let i=this.view?U(this.view,e.layer):void 0;i&&(this.bauHighlight=i.highlight(e,{name:this.highlightGroup}))}clearMultiFeatureFormHighlights(){this.bauHighlight?.remove(),this.bauHighlight=void 0}updateClipboardGraphicsLayer(){if(!this.showClipboardItems){if(this.clipboardMover?.cancel(),this.clipboardMover=void 0,this.clipboardGraphicsLayer&&this.view)try{this.view.map?.remove(this.clipboardGraphicsLayer),this.clipboardGraphicsLayer=void 0}catch{}return}if(this.showClipboardItems&&this.view){this.clipboardGraphicsLayer||(this.clipboardGraphicsLayer=new Ce({listMode:"hide"}),this.view.map?.layers.add(this.clipboardGraphicsLayer));let e=this.clipboard.items;this.clipboardGraphicsLayer.removeAll();let t=-1;for(let i of e){if(t++,i.type!=="feature"||!i.graphic.geometry)continue;let a=new B({geometry:i.graphic.geometry.clone(),attributes:{clipboardIdx:t},symbol:le(i.graphic.geometry.type)});this.clipboardGraphicsLayer.add(a)}}else if(!this.showClipboardItems&&this.view&&this.clipboardGraphicsLayer)try{this.view.map?.remove(this.clipboardGraphicsLayer),this.clipboardGraphicsLayer=void 0}catch{}this.checkAndSuspendMove()}checkAndSuspendMove(){let e=this.activeFlowPage==="form-page";this.clipboardGraphicsLayer&&(this.clipboardGraphicsLayer.visible=!e),this.clipboardMover&&(this.clipboardMover.suspended=e)}get clipboard(){return Me()}get clipboardFeatures(){return this.clipboard.items.filter(e=>e.type==="feature")}get hasPasteCommandsPage(){return this.availableCommands.length>1||!!this.availableCommands.at(0)?.mustShowOnCommandPage}_clearActiveCommand(){this.activeCommand=void 0,this.lastPasteError=void 0}resetHome(){let e=this.activeFlowPage;this.hasPasteCommandsPage?(e="commands-page",this._clearActiveCommand(),this.selectedClipboardItemIndex=-1):this.clipboard.items.length===0?(e="clipboard-empty-page",this._clearActiveCommand(),this.selectedClipboardItemIndex=-1):this.availableCommands.length===0?(e="no-command-page",this._clearActiveCommand()):this.availableCommands[0].commandEnabled?(e="gallery-page",this.activeCommand=this.availableCommands[0].id,this.lastPasteError=void 0):(e="no-command-page",this._clearActiveCommand(),this.selectedClipboardItemIndex=-1),this.activeFlowPage==="clipboard"&&this.hideViewClipboard?(this.activeFlowPage=e,this.beforeClipboard=void 0):this.activeFlowPage==="clipboard"&&!this.hideViewClipboard?this.beforeClipboard=e:(this.activeFlowPage=e,this.beforeClipboard=void 0),this.resetFormPage()}get workingLayers(){return(this.view?.map?.allLayers?.toArray()??[]).filter(e=>e.type==="feature"||e.type==="subtype-group").filter(e=>{let t=this.clipboard.singleGeometryType;return this.activeCommand==="paste-merge"&&this.clipboard.singleGeometryType==="point"&&(t="multipoint"),!(e.geometryType!==t||!this.layerPermissionsCheck.canCreate(e))})}get clipboardItemLayers(){let e=new Set;for(let t of this.clipboard.items)t.layer&&e.add(t.layer.type==="subtype-sublayer"?t.layer.parent:t.layer);return[...e]}get canCreateOnAllLayers(){if(this.clipboardItemLayers.length===0)return!1;for(let e of this.clipboardItemLayers)if(!e||!this.layerPermissionsCheck.canCreate(e))return!1;return!0}get availableCommands(){let e=new Set(this.supportedCommands);return this.allCommands.filter(t=>e.has(t.id))}get allCommands(){let e=[];e.push(...[P,x,$,F,_].map(t=>new t({viewModel:this})));for(let t of this.customPasteCommands)e.push(new f({viewModel:this,customCommand:t}));return e}get pasteCommandsState(){return this.allCommands.map(e=>({id:e.id,disabled:!e.commandEnabled,available:this.supportedCommands.includes(e.id)}))}nextActiveFeature(){this.bauActiveFeatureIndex++,this.updateIndividualMultiFeatureFormHighlight()}previousActiveFeature(){this.bauActiveFeatureIndex--,this.updateIndividualMultiFeatureFormHighlight()}resetFormPage(){this.bauApplySet?.featureState?.clearAll(),this.bauApplySet=void 0,this.clearIndividualFeatureFormHighlight(),this.clearMultiFeatureFormHighlights(),this.bauFeatures=void 0,this.bauOriginalGraphics=[]}getPasteCommandById(e){return this.allCommands.find(t=>t.id===e)}async runPasteFormCommand(e){try{this.applying=!0;let t=this.bauApplySet,i=await e.onApply({command:this.activeCommand,applySet:t});if(i.success){this.resetHome(),this.closeOnApply&&e.closeAfterApply();return}this.handleApplyError(i,e.onPasteError)}catch(t){this.lastPasteError={errorCode:"unexpectedError",errorMessage:t.message,localizedErrorMessage:"unexpectedError"},e.onPasteError(this.lastPasteError);return}finally{this.applying=!1}}handleApplyError(e,t){e.success||e.errorCode!=="cancelled"&&(this.lastPasteError={errorCode:e.errorCode??"unexpectedError",errorMessage:e.errorMessage??"",localizedErrorMessage:e.errorMessage?void 0:"unexpectedError"},t(this.lastPasteError))}async writeChanges(e){return await _e(e,this.view)}};c([s()],n.prototype,"customPasteCommands",2);c([s()],n.prototype,"bauInvalidFeatures",2);c([s()],n.prototype,"bauFormValid",2);c([s()],n.prototype,"bauFormUpdating",2);c([s()],n.prototype,"bauActiveFeatureIndex",2);c([s()],n.prototype,"bauHasTooManyFeatures",2);c([s()],n.prototype,"bauHasTooManyComplexFeatures",2);c([s()],n.prototype,"bauActiveGraphic",1);c([s()],n.prototype,"hasTooManyPasteCreateFeatures",1);c([s()],n.prototype,"bauActiveLayer",1);c([s()],n.prototype,"bauFeatures",2);c([s()],n.prototype,"bauApplySet",2);c([s()],n.prototype,"bauOriginalGraphics",2);c([s()],n.prototype,"formViewModelMap",2);c([s()],n.prototype,"bauHighlight",2);c([s()],n.prototype,"bauIndividualHighlight",2);c([s()],n.prototype,"view",2);c([s()],n.prototype,"supportedCommands",2);c([s()],n.prototype,"selectedFeature",2);c([s()],n.prototype,"pasteWithMultipleLayersEnabled",2);c([s()],n.prototype,"pasteWithMultipleFeaturesEnabled",2);c([s()],n.prototype,"alwaysShowFeatureForm",2);c([s()],n.prototype,"pasteTemplate",2);c([s()],n.prototype,"pasteTemplateIsValid",1);c([s()],n.prototype,"selectedClipboardItemIndex",2);c([s()],n.prototype,"clipboardAndTemplateSupportAttributes",1);c([s()],n.prototype,"hasClipboardItemMatchingTemplate",1);c([s()],n.prototype,"pasteWithAttributes",2);c([s()],n.prototype,"closeOnApply",2);c([s()],n.prototype,"currentPasteOperation",2);c([s()],n.prototype,"activeFlowPage",1);c([s()],n.prototype,"_activeFlowPage",2);c([s()],n.prototype,"beforeClipboard",2);c([s()],n.prototype,"beforeForm",2);c([s()],n.prototype,"showClipboardItems",2);c([s()],n.prototype,"updating",1);c([s()],n.prototype,"hideTooltips",2);c([s()],n.prototype,"hideFooter",2);c([s()],n.prototype,"hideFooterCancelButton",2);c([s()],n.prototype,"hideHeaderCloseButton",2);c([s()],n.prototype,"hideViewClipboard",2);c([s()],n.prototype,"hideErrorNotice",2);c([s()],n.prototype,"clipboardGraphicsLayer",2);c([s()],n.prototype,"clipboardMover",2);c([s()],n.prototype,"highlightGroup",2);c([s()],n.prototype,"clipboard",1);c([s()],n.prototype,"clipboardFeatures",1);c([s()],n.prototype,"hasPasteCommandsPage",1);c([s()],n.prototype,"activeCommand",2);c([s()],n.prototype,"maximumFeatureCount",2);c([s()],n.prototype,"maximumFeatureCountWithComplexForms",2);c([s()],n.prototype,"workingLayers",1);c([s()],n.prototype,"layerPermissionsCheck",2);c([s()],n.prototype,"clipboardItemLayers",1);c([s()],n.prototype,"canCreateOnAllLayers",1);c([s()],n.prototype,"applying",2);c([s()],n.prototype,"lastPasteError",2);c([s()],n.prototype,"availableCommands",1);c([s()],n.prototype,"allCommands",1);c([s()],n.prototype,"pasteCommandsState",1);n=c([C("components.paste.PasteViewModel")],n);var it=Object.defineProperty,at=Object.getOwnPropertyDescriptor,S=(e,t,i,a)=>{for(var r=a>1?void 0:a?at(t,i):t,o=e.length-1,l;o>=0;o--)(l=e[o])&&(r=(a?l(t,i,r):l(r))||r);return a&&r&&it(t,i,r),r},M=class extends Z{constructor(){super(...arguments),this.continuous=!1,this._mover=null,this.stateChanged=null,this._suspended=!1}clipboardContentsChanged(){this._destroyMover(),this.stateChanged?.("clipboard-contents-changed"),this.continuous&&this.start()}start(){this._destroyMover(),this._mover=$e({view:this.view,graphics:this.graphicsLayer.graphics.toArray(),indicatorsEnabled:!0,highlightsEnabled:!0,enableMoveAllGraphics:!0,callbacks:{onGraphicPointerOver:()=>{"cursor"in this.view&&(this.view.cursor="move")},onGraphicPointerOut:()=>{"cursor"in this.view&&(this.view.cursor="default")},onGraphicMoveStop:async()=>{"cursor"in this.view&&(this.view.cursor="default");for(let e of this.graphicsLayer.graphics)this.clipboard.items.getItemAt(e.attributes.clipboardIdx).graphic.geometry=e.geometry;this._destroyMover(),this.stateChanged?.("contents-moved"),this.continuous&&setTimeout(()=>{this.start()},100)}}})}cancel(){this.continuous=!1,this._destroyMover(),this.stateChanged?.("completed")}get suspended(){return this._suspended}set suspended(e){e!==this._suspended&&(e?(this._destroyMover(),this.stateChanged?.("suspended")):(this.start(),this.stateChanged?.("suspended")),this._suspended=e)}_destroyMover(){this._mover?.destroy(),this._mover=null}};S([s()],M.prototype,"view",2);S([s()],M.prototype,"continuous",2);S([s()],M.prototype,"clipboard",2);S([s()],M.prototype,"graphicsLayer",2);S([s()],M.prototype,"suspended",1);S([s()],M.prototype,"_suspended",2);M=S([C("components.paste.ClipboardMove")],M);var rt=oe(n),K=class extends ee{constructor(){super(),this._featureFormElement=V(),this._floatingChoiceContainer=V(),this._bauForm=V(),this._templateGallery=V(),this._messages=se(),this.viewModel=rt(this),this.hasPasteCommandsPage=this.viewModel.hasPasteCommandsPage,this.activeCommand=this.viewModel.activeCommand,this.availableCommands=this.viewModel.availableCommands,this._showFloatingChoice=!1,this.activeFlowPage=this.viewModel.activeFlowPage,this.autoDestroyDisabled=!1,this.view=this.viewModel.view,this.selectedFeature=this.viewModel.selectedFeature,this.closed=!1,this.highlightGroup=this.viewModel.highlightGroup,this.pasteWithMultipleLayersEnabled=this.viewModel.pasteWithMultipleLayersEnabled,this.pasteWithMultipleFeaturesEnabled=this.viewModel.pasteWithMultipleFeaturesEnabled,this.alwaysShowFeatureForm=this.viewModel.alwaysShowFeatureForm,this.closeOnApply=this.viewModel.closeOnApply,this.hideErrorNotice=this.viewModel.hideErrorNotice,this.hideFooterCancelButton=this.viewModel.hideFooterCancelButton,this.hideFooter=this.viewModel.hideFooter,this.hideHeaderCloseButton=this.viewModel.hideHeaderCloseButton,this.hideTooltips=this.viewModel.hideTooltips,this.hideViewClipboard=this.viewModel.hideViewClipboard,this.maximumFeatureCount=this.viewModel.maximumFeatureCount,this.maximumFeatureCountWithComplexForms=this.viewModel.maximumFeatureCountWithComplexForms,this.layerPermissionsCheck=this.viewModel.layerPermissionsCheck,this.pasteCommandsState=this.viewModel.pasteCommandsState,this.arcgisApplyPasteCommand=E(),this.arcgisApplyPasteError=E(),this.arcgisBeforeClipboardMove=E(),this.arcgisClipboardMoveStateChanged=E(),this.arcgisClose=E(),this.arcgisPropertyChange=re()("pasteCommandsState","activeFlowPage"),this.arcgisReady=E(),this.listenOn(window,"click",this._handleClickAway),this.listenOn(window,"keydown",this._handleKeyDown)}static{this.properties={hasPasteCommandsPage:16,activeCommand:16,availableCommands:16,_showFloatingChoice:16,activeFlowPage:32,autoDestroyDisabled:5,referenceElement:1,view:0,selectedFeature:0,closed:7,highlightGroup:1,supportedCommands:1,pasteWithMultipleLayersEnabled:5,pasteWithMultipleFeaturesEnabled:5,alwaysShowFeatureForm:5,beforeApply:0,clipboard:32,closeOnApply:5,hideErrorNotice:5,hideFooterCancelButton:5,hideFooter:5,hideHeaderCloseButton:5,hideTooltips:5,hideViewClipboard:5,maximumFeatureCount:9,maximumFeatureCountWithComplexForms:9,layerPermissionsCheck:0,pasteCommandsState:0}}static{this.styles=Ae}get supportedCommands(){return this.viewModel.supportedCommands}set supportedCommands(t){if(!Array.isArray(t)){this.viewModel.supportedCommands=t.split(",");return}this.viewModel.supportedCommands=t.slice(0)}get clipboard(){return this.viewModel.clipboard}async cancelMoveClipboard(){this.viewModel.clipboardMover?.cancel(),this.viewModel.clipboardMover=void 0}async destroy(){await this.manager.destroy()}async executePasteCommand(t,i){let a=this.viewModel.getPasteCommandById(t);if(!a)throw new Error("arcgis-paste: Paste command not found");if(!a.commandEnabled)throw new Error("arcgis-paste: Paste command is not enabled");if(!i?.silent){if(!this.availableCommands.includes(a))throw new Error("arcgis-paste: Paste command is not available");return this.viewModel.resetHome(),await this._runPasteCommand(a,i),{userInputRequired:!1,success:!0}}return await a.execute()}async registerPasteCommand(t){this.viewModel.customPasteCommands.add(t)}async reset(){this.viewModel.activeFlowPage==="clipboard"&&(this.viewModel.activeFlowPage=this.viewModel.beforeClipboard),this.viewModel.resetHome()}async showClipboardItems(t){this.viewModel.showClipboardItems=t,this.viewModel.updateClipboardGraphicsLayer()}async startMoveClipboard(t){if(!this.viewModel.showClipboardItems)throw new Error("arcgis-paste: Cannot move clipboard. Clipboard items must be visible first.");this.arcgisBeforeClipboardMove.emit().defaultPrevented||(this.viewModel.clipboardMover&&(this.viewModel.clipboardMover.stateChanged=null,this.viewModel.clipboardMover.cancel(),this.viewModel.clipboardMover=void 0),this.viewModel.clipboardMover=new M({view:this.view,continuous:t,clipboard:this.clipboard,graphicsLayer:this.viewModel.clipboardGraphicsLayer,stateChanged:i=>{i==="contents-moved"&&this.viewModel.updateClipboardGraphicsLayer(),this.arcgisClipboardMoveStateChanged.emit({change:i})}}),this.viewModel.clipboardMover.start())}async writeChanges(t){return await this.viewModel.writeChanges(t)}updated(){this._featureFormElement.value&&(this._featureFormElement.value.hideReadOnlyNotice=!0,this._featureFormElement.value.disabled=!0),this._checkAndUpdateInitialPasteTemplate()}loaded(){this.manager.onLifecycle(()=>[this.viewModel.clipboard.items.on("change",()=>{this.viewModel.updateClipboardGraphicsLayer(),this.activeFlowPage==="form-page"&&this.viewModel.resetHome()}),X(()=>this.clipboard.version,()=>{this.viewModel.resetHome(),this.viewModel.updateClipboardGraphicsLayer(),this.viewModel.clipboardMover?.clipboardContentsChanged()}),X(()=>this.closed,()=>{this.closed&&this.viewModel.formViewModelMap.clear(),this.viewModel.updateClipboardGraphicsLayer()}),X(()=>[this.viewModel?.supportedCommands.join(","),this.pasteWithMultipleFeaturesEnabled,this.viewModel?.hideViewClipboard,this.pasteWithMultipleLayersEnabled].join(","),()=>{this.viewModel.resetHome()},{initial:!0})])}_handleCloseAfterApply(){this.closed=!0,this.arcgisClose.emit()}_updateBauViewModelFields(t){this.viewModel.bauActiveFeatureIndex=t.activeFeatureIndex,this.viewModel.bauInvalidFeatures=t.invalidFeatures,this.viewModel.bauFormValid=t.valid,this.viewModel.bauFormUpdating=t.updating,this.viewModel.bauHasTooManyComplexFeatures=t.hasTooManyComplexFeatures,this.viewModel.bauHasTooManyFeatures=t.hasTooManyFeatures}_copyAcrossValidMultiFormFieldValues(){try{if(this._bauForm.value?.status!=="loaded")return;let t=this._bauForm.value,i=0;for(let a of this.viewModel.bauFeatures?.toArray()??[]){let r=this.viewModel.bauOriginalGraphics[i];this.viewModel.formFeatureValuesChanged(r,t.getValues(a)),i++}}catch{}}_handleClickAway(t){!this._showFloatingChoice||!this._floatingChoiceContainer.value||t.composedPath().find(i=>i===this._floatingChoiceContainer.value)||(this._showFloatingChoice=!1)}_handleKeyDown(t){!this._showFloatingChoice||!this._floatingChoiceContainer.value||t.composedPath().find(i=>i===this._floatingChoiceContainer.value)||(this._showFloatingChoice=!1)}async _runPasteCommand(t,i){try{this.viewModel.lastPasteError=void 0,await t.initiate({closeAfterApply:()=>{this._handleCloseAfterApply()},onPasteError:a=>{this.arcgisApplyPasteError.emit({command:t.id,errorMessage:a.errorMessage,errorCode:a.errorCode})},onApply:async a=>{try{await this.beforeApply?.();let r={...a};return this.arcgisApplyPasteCommand.emit(r).defaultPrevented?{success:!1,errorCode:"cancelled"}:r.completionCallback?await r.completionCallback??{success:!0}:{success:!0}}catch{return{success:!1}}}},i)}catch{}}_checkAndUpdateInitialPasteTemplate(){requestAnimationFrame(()=>{if(!this._templateGallery.value||this.viewModel.activeFlowPage!=="gallery-page")return;let t=this._templateGallery.value;if(t.state!=="ready")return;if(this.viewModel.pasteTemplateIsValid||(this.viewModel.pasteTemplate=void 0),this.viewModel.pasteTemplate!==void 0){t.selectedItem||this._templateGallery.value?.select(this.viewModel.pasteTemplate);return}let i;for(let a of t.items){if("items"in a){if(a.items.length>0){i=a.items[0];break}continue}i=a;break}i&&t.select(i)})}_renderFlowCommandStart(t){return t?d`<slot name=home-header-actions-start slot=header-actions-start></slot>`:null}_renderCloseCommand(t){return d`${this.hideHeaderCloseButton?null:d`<calcite-action slot=header-actions-end icon=x text @click=${()=>{this.reset(),this.closed=!0,this.arcgisClose.emit()}}></calcite-action>`}${t?d`<slot name=header-actions-end slot=header-actions-end></slot>`:null}`}_renderClipboardCommand(t){return d`<calcite-action slot=header-actions-end icon=clipboard .hidden=${this.viewModel.hideViewClipboard} .text=${this._messages.clipboardTooltip??""} .id=${`arcgis-clipboard-show-${t}`} .disabled=${this.viewModel.updating} @click=${()=>{this.viewModel.activeFlowPage="clipboard"}}>${this.hideTooltips?null:d`<calcite-tooltip .referenceElement=${`arcgis-clipboard-show-${t}`} placement=bottom><span>${this._messages.clipboardTooltip}</span></calcite-tooltip>`}</calcite-action>`}_renderNoClipboardData(t){return b("no-data",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${i=>{i.preventDefault()}}>${this._renderClipboardCommand("no-data")}${this._renderCloseCommand(t)}<calcite-panel><div class="pad-contents"><div class="flex flex-row justify-center"><svg xmlns=http://www.w3.org/2000/svg height=92 width=92 style=${N({strokeWidth:"0.1px",fill:"var(--calcite-color-text-2)"})} viewBox="0 0 64 64">${R`<path d="M21 18h-1v-3h1zm24-3h-1v3h1zm0 5h-1v3h1zm-24 0h-1v3h1zm9.84 13.71l.3.954 3.02-.954-.3-.953zm-6.04 1.908l.3.953 3.02-.953-.3-.953zm-3.8 1.2V35h-1v3.182l2.08-.657-.3-.953zM21 30h-1v3h1zm0-5h-1v3h1zm27.816 5.896l-4.746.015 2.294 4.575-3.071 1.535-2.358-4.668-2.835 3.886V23.036zm-6.04-.78l3.607-.012-7.483-5.49v9.17l2.16-2.96 2.587 5.126 1.643-.821zM60.9 10.874v41.25a1.777 1.777 0 0 1-1.775 1.775H4.875A1.777 1.777 0 0 1 3.1 52.125v-41.25A1.777 1.777 0 0 1 4.875 9.1h54.25a1.777 1.777 0 0 1 1.775 1.775zm-.8 24.54l-24.2 7.641V53.1h23.225a.976.976 0 0 0 .975-.975zm0-24.54a.976.976 0 0 0-.975-.975H45V13h-1V9.9H21V13h-1V9.9H4.875a.976.976 0 0 0-.975.975V32.1H18v.8H3.9v19.225a.976.976 0 0 0 .975.975H35.1V35.51l.8-.252v6.96l24.2-7.643z" />`}</svg></div><p class="text-center">${this._messages.noClipboardData}</p></div></calcite-panel></calcite-flow-item>`)}_renderNoCommandPage(t){let i=this._messages.noPasteCommandsAvailable,a=this.availableCommands.at(0);return a?.commandDisabledReason&&(i=a.commandDisabledReason(this._messages,this._messages._lang),i||(i=this._messages.noPasteCommandsAvailable)),b("no-command",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${r=>{r.preventDefault()}}>${this._renderClipboardCommand("no-command")}${this._renderCloseCommand(t)}<calcite-panel><div class="pad-contents"><div class="flex flex-row justify-center"><svg xmlns=http://www.w3.org/2000/svg height=92 width=92 style=${N({strokeWidth:"0.1px",fill:"var(--calcite-color-text-2)"})} viewBox="0 0 64 64">${R`<path d="M21 18h-1v-3h1zm24-3h-1v3h1zm0 5h-1v3h1zm-24 0h-1v3h1zm9.84 13.71l.3.954 3.02-.954-.3-.953zm-6.04 1.908l.3.953 3.02-.953-.3-.953zm-3.8 1.2V35h-1v3.182l2.08-.657-.3-.953zM21 30h-1v3h1zm0-5h-1v3h1zm27.816 5.896l-4.746.015 2.294 4.575-3.071 1.535-2.358-4.668-2.835 3.886V23.036zm-6.04-.78l3.607-.012-7.483-5.49v9.17l2.16-2.96 2.587 5.126 1.643-.821zM60.9 10.874v41.25a1.777 1.777 0 0 1-1.775 1.775H4.875A1.777 1.777 0 0 1 3.1 52.125v-41.25A1.777 1.777 0 0 1 4.875 9.1h54.25a1.777 1.777 0 0 1 1.775 1.775zm-.8 24.54l-24.2 7.641V53.1h23.225a.976.976 0 0 0 .975-.975zm0-24.54a.976.976 0 0 0-.975-.975H45V13h-1V9.9H21V13h-1V9.9H4.875a.976.976 0 0 0-.975.975V32.1H18v.8H3.9v19.225a.976.976 0 0 0 .975.975H35.1V35.51l.8-.252v6.96l24.2-7.643z" />`}</svg></div><p class="text-center">${i}</p></div></calcite-panel></calcite-flow-item>`)}_renderAttributeCheckbox(t){return d`<calcite-label class="bold">${this._messages.attributesSubtitle}</calcite-label><calcite-label layout=inline><calcite-checkbox .disabled=${t} .checked=${this.viewModel.pasteWithAttributes} @calciteCheckboxChange=${i=>{this.viewModel.pasteWithAttributes=i.target.checked}}></calcite-checkbox>${this._messages.pasteWithAttributesLabel}</calcite-label>`}_renderFlowPasteAs(t){return t?b("paste-gallery",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${i=>{i.preventDefault(),this.viewModel.hasPasteCommandsPage&&(this.viewModel.activeFlowPage="commands-page")}}>${this._renderFlowCommandStart(!this.viewModel.hasPasteCommandsPage)}${this._renderClipboardCommand("paste-as")}${this._renderCloseCommand(t)}<calcite-panel>${this.hideFooter?null:d`<div class="w-full" slot=footer><div class="w-full flex"><calcite-button .disabled=${this.viewModel.updating} width=half .hidden=${this.viewModel.hideFooterCancelButton} kind=brand appearance=outline @click=${()=>{this.viewModel.resetHome(),this.closed=!0,this.arcgisClose.emit()}}>${this._messages.cancel}</calcite-button><calcite-button .disabled=${this.viewModel.updating||!this.viewModel.pasteTemplate||this.viewModel.hasTooManyPasteCreateFeatures} kind=brand appearance=solid .width=${this.viewModel.hideFooterCancelButton?"full":"half"} @click=${()=>{try{this.viewModel.lastPasteError=void 0,this.viewModel.getPasteCommandById(this.viewModel.activeCommand).runPasteCommand({closeAfterApply:()=>{this._handleCloseAfterApply()},onPasteError:i=>{this.arcgisApplyPasteError.emit({command:this.activeCommand??"paste-as",errorMessage:i.errorMessage,errorCode:i.errorCode})},onApply:async i=>{try{await this.beforeApply?.();let a={...i};return this.arcgisApplyPasteCommand.emit(a).defaultPrevented?{success:!1,errorCode:"cancelled"}:a.completionCallback?await a.completionCallback??{success:!0}:{success:!0}}catch{return{success:!1}}}},this.viewModel.activeCommand??"paste-as")}catch{}}}>${this.viewModel.alwaysShowFeatureForm?this._messages.next:(this.viewModel.clipboardFeatures.length??0)>1&&this.activeCommand!=="paste-merge"?y(this._messages.pasteMany??"",{num:this.viewModel.clipboardFeatures.length}):this._messages.paste}</calcite-button></div></div>`}${this.viewModel.hasTooManyPasteCreateFeatures?d`<div class="pad-start-end gallery-content"><calcite-notice open icon=exclamation-point kind=warning><div slot=message>${y(this._messages.tooManyCreateFeatures??"",{num:this.maximumFeatureCount})}</div></calcite-notice></div>`:null}<slot name=gallery-page-message></slot><div class="pad-start-end gallery-content"><div>${!this.viewModel.clipboardAndTemplateSupportAttributes&&this.viewModel.pasteTemplate?d`<div class="pad-contents"><calcite-notice open icon=exclamation-point kind=info><div slot=message>${this._messages.attributesNotCopied}</div>${this.activeCommand==="paste-merge"&&this.viewModel.hasClipboardItemMatchingTemplate?d`<calcite-link slot=link @click=${()=>{this.viewModel.activeFlowPage="merge-page"}} title=${this._messages.seeMergeOptions??ie}>${this._messages.seeMergeOptions}</calcite-link>`:null}</calcite-notice></div>`:null}${this.viewModel.clipboardAndTemplateSupportAttributes&&this.viewModel.pasteTemplate?this._renderAttributeCheckbox(!this.viewModel.clipboardAndTemplateSupportAttributes):null}${this.viewModel.clipboardAndTemplateSupportAttributes?null:this._renderAttributeCheckbox(!1)}</div><calcite-list .hidden=${this.viewModel.activeCommand!=="paste-merge"} .label=${this._messages.pasteCommandChoices??""} selection-mode=none selection-appearance=border><calcite-list-item .label=${this._messages.mergeOptionsTitle} .description=${this._messages.mergeOptionsDesc} .disabled=${this.viewModel.updating} @click=${()=>{this.viewModel.activeFlowPage="merge-page"}}><calcite-icon slot=content-start icon=configure></calcite-icon><calcite-icon slot=content-end icon=chevron-right></calcite-icon></calcite-list-item></calcite-list><div>${this.viewModel.workingLayers.length>0?d`<arcgis-feature-templates-legacy .disabledItemFunction=${i=>!!(i.template&&me(i.template)&&i.template.type!=="feature")} class="paste-feature-templates" .layers=${this.viewModel.workingLayers} selection-mode=single @arcgisPropertyChange=${i=>{this._checkAndUpdateInitialPasteTemplate()}} @arcgisSelect=${i=>{this.viewModel.pasteTemplate=i.detail.item}} .view=${this.viewModel.view} .referenceElement=${this.referenceElement} ${D(this._templateGallery)}></arcgis-feature-templates-legacy>`:d`<calcite-notice open icon=exclamation-point kind=warning><div slot=message>${y(this._messages.noMatchingEditableLayers??"",{num:this.maximumFeatureCount})}</div></calcite-notice>`}</div></div></calcite-panel>${this._renderApplying()}</calcite-flow-item>`):b("paste-gallery",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${i=>{i.preventDefault(),this.viewModel.hasPasteCommandsPage&&(this.viewModel.activeFlowPage="commands-page")}}>${this._renderFlowCommandStart(!this.viewModel.hasPasteCommandsPage)}</calcite-flow-item>`)}_renderFlowPasteMerge(t){if(!t)return b("paste-merge",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${a=>{a.preventDefault(),this.viewModel.activeFlowPage="gallery-page"}}></calcite-flow-item>`);let i=this.viewModel.selectedClipboardItemIndex===-1?null:this.viewModel.clipboard.items.getItemAt(this.viewModel.selectedClipboardItemIndex);return b("paste-merge",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${a=>{a.preventDefault(),this.viewModel.activeFlowPage="gallery-page"}}>${this._renderClipboardCommand("merge")}${this._renderCloseCommand(t)}<calcite-panel><div class="merge-split-view-container"><div class="pad-contents merge-split-view-items"><calcite-label>${this._messages.selectionLabel}<calcite-list .label=${this._messages.features??""} selection-mode=single selection-appearance=border>${this.clipboard.items.toArray().map((a,r)=>({id:r,item:a})).filter(a=>a.item.type==="feature"&&a.item.layer&&a.item.graphic).map(a=>d`<calcite-list-item .disabled=${this.viewModel.updating} .selected=${a.id===this.viewModel.selectedClipboardItemIndex} @calciteListItemSelect=${()=>{this.viewModel.selectedClipboardItemIndex=a.id}} @pointerenter=${r=>{this.viewModel.highlightSelectedGraphicOnMap(a.item),r.target.classList.add("hovering")}} @pointerleave=${r=>{r.target.classList.remove("hovering"),this.viewModel.clearHighlightSelectedGraphic()}} .value=${a.id}><arcgis-feature-title slot=content .graphic=${a.item.graphic} .layer=${a.item.layer}></arcgis-feature-title><arcgis-feature-image width-in-pixels=16 height-in-pixels=16 use-true-shape slot=content-start .graphic=${a.item.graphic} .layer=${a.item.layer}></arcgis-feature-image>${this.viewModel.selectedClipboardItemIndex!==a.id?d`<calcite-chip slot=content-end .label=${this._messages.preservethis??""} class="chip-indent only-on-hover item-candidate" scale=s .value=${a.id}>${this._messages.preservethis??""}</calcite-chip>`:""}${this.viewModel.selectedClipboardItemIndex===a.id?d`<calcite-chip icon=check .label=${this._messages.preserved??""} class="item-preserved chip-indent" scale=s slot=content-end .value=${a.id}>${this._messages.preserved}</calcite-chip>`:""}</calcite-list-item>`)}</calcite-list></calcite-label></div><div class="merge-split-view-attributes">${this.viewModel.selectedClipboardItemIndex===-1?d`<div></div>`:d`<div class="merge-feature-form"><arcgis-feature-form heading-level=5 .feature=${i.graphic} .formTemplate=${i.layer.formTemplate?i.layer.formTemplate:null} .layer=${i.layer} ${D(this._featureFormElement)}></arcgis-feature-form></div>`}</div></div></calcite-panel>${this._renderApplying()}</calcite-flow-item>`)}_renderFlowPasteForm(t){if(!t)return b("paste-form",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${p=>{p.preventDefault(),this.viewModel.activeFlowPage=this.viewModel.beforeForm,this.viewModel.resetFormPage()}}></calcite-flow-item>`);let i=(this.viewModel.bauFeatures?.length??0)>1&&!this.viewModel.bauHasTooManyFeatures&&!this.viewModel.bauHasTooManyComplexFeatures,a=this.viewModel.updating,r=this.viewModel.bauActiveFeatureIndex>0,o=this.viewModel.bauActiveFeatureIndex!==-1&&this.viewModel.bauActiveFeatureIndex<(this.viewModel.bauFeatures?.length??0)-1,l=this.viewModel.bauActiveFeatureIndex===-1?y(this._messages.multipleFeaturesX??"",{total:this.viewModel.bauFeatures?.length??0}):y(this._messages.range??"",{current:this.viewModel.bauActiveFeatureIndex+1,total:this.viewModel.bauFeatures?.length??0}),h=(this.viewModel.bauInvalidFeatures?.length??0)>0;return b("paste-form",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${p=>{p.preventDefault(),this.viewModel.activeFlowPage=this.viewModel.beforeForm,this.viewModel.resetFormPage()}}>${this._renderCloseCommand(t)}<calcite-panel>${this.hideFooter?null:d`<div class="w-full" slot=footer><div class="w-full flex"><calcite-button .disabled=${this.viewModel.updating} width=half .hidden=${this.viewModel.hideFooterCancelButton} kind=brand appearance=outline @click=${()=>{this.viewModel.resetHome(),this.closed=!0,this.arcgisClose.emit()}}>${this._messages.cancel}</calcite-button><calcite-button .disabled=${this.viewModel.updating||this.viewModel.bauFormUpdating||this.viewModel.bauHasTooManyFeatures||this.viewModel.bauHasTooManyComplexFeatures} kind=brand appearance=solid .width=${this.viewModel.hideFooterCancelButton?"full":"half"} @click=${async()=>{try{if(await ue(()=>!this.viewModel.bauFormUpdating),!this.viewModel.bauFormValid){this._bauForm.value?.goToFirstError();return}this._copyAcrossValidMultiFormFieldValues(),this.viewModel.lastPasteError=void 0,this.viewModel.runPasteFormCommand({closeAfterApply:()=>{this._handleCloseAfterApply()},onPasteError:p=>{this.arcgisApplyPasteError.emit({command:this.activeCommand??"paste-as",errorMessage:p.errorMessage,errorCode:p.errorCode})},onApply:async p=>{try{await this.beforeApply?.();let m={...p};return this.arcgisApplyPasteCommand.emit(m).defaultPrevented?{success:!1,errorCode:"cancelled"}:m.completionCallback?await m.completionCallback??{success:!0}:{success:!0}}catch{return{success:!1}}}})}catch{}}}>${(this.viewModel.bauFeatures?.length??0)>1?y(this._messages.pasteMany??"",{num:this.viewModel.bauFeatures.length}):this._messages.paste}</calcite-button></div></div>`}${i?d`<calcite-action-bar overflow-actions-disabled slot=action-bar layout=horizontal scale=s expand-disabled class="carousel-bar"><calcite-button .disabled=${this.viewModel.updating} @click=${p=>{this._showFloatingChoice=!this._showFloatingChoice,p.stopPropagation()}} scale=s appearance=transparent icon-start=legend icon-end=chevron-down kind=neutral><span class="bau-pick">${l}${h?d`<calcite-icon scale=s icon=exclamation-mark-triangle class="danger-icon-warning"></calcite-icon>`:""}</span></calcite-button><calcite-action slot=actions-end icon=chevron-left icon-flip-rtl scale=s .text=${this._messages.back??""} .disabled=${!r||a||!i} @click=${()=>{this.viewModel.previousActiveFeature()}}></calcite-action><calcite-action slot=actions-end icon=chevron-right icon-flip-rtl scale=s .text=${this._messages.next??""} .disabled=${!o||a||!i} @click=${()=>{this.viewModel.nextActiveFeature()}}></calcite-action></calcite-action-bar>${this._renderFloatingUIChoice(i)}`:""}<div class=${te(this.viewModel.bauHasTooManyComplexFeatures||this.viewModel.bauHasTooManyFeatures?"hidden":void 0)}>${this._renderPasteFormBreadcrumb()}<arcgis-multi-feature-form edit-type=INSERT submit-has-been-attempted .view=${this.view} .referenceElement=${this.referenceElement} .hidden=${this.viewModel.bauHasTooManyComplexFeatures||this.viewModel.bauHasTooManyFeatures} .disabled=${this.viewModel.updating} .maximumFeatureCount=${this.maximumFeatureCount} .maximumFeatureCountWithComplexForms=${this.maximumFeatureCountWithComplexForms} .features=${this.viewModel.bauFeatures} .activeFeatureIndex=${this.viewModel.bauActiveFeatureIndex} @arcgisPropertyChange=${p=>{this._updateBauViewModelFields(p.target),p.detail.name==="status"&&p.target.status==="loaded"&&this._copyAcrossValidMultiFormFieldValues()}} @arcgisValueChange=${p=>{let m=0;for(let v of this.viewModel.bauFeatures?.toArray()??[]){let u=this.viewModel.bauOriginalGraphics[m];this.viewModel.formFeatureValuesChanged(u,p.target.getValues(v)),m++}}} ${D(this._bauForm)}></arcgis-multi-feature-form></div>${this.viewModel.bauHasTooManyComplexFeatures||this.viewModel.bauHasTooManyFeatures?d`<div class="pad-start-end gallery-content"><calcite-notice open icon=exclamation-point kind=warning><div slot=message>${this.viewModel.bauHasTooManyFeatures?y(this._messages.tooManyCreateFeatures??"",{num:this.maximumFeatureCount}):y(this._messages.tooManyCreateComplexFeatures??"",{num:this.maximumFeatureCountWithComplexForms})}</div></calcite-notice></div>`:null}</calcite-panel>${this.renderPasteErrorFooter()}${this._renderApplying()}</calcite-flow-item>`)}_renderPasteFormBreadcrumb(){return d`<calcite-list .label=${this._messages.breadcrumb??""} selection-appearance=border scale=s selection-mode=none><calcite-list-item>${this.viewModel.bauActiveFeatureIndex===-1?d`<calcite-icon scale=s slot=content-start icon=group-form></calcite-icon>`:I(this.viewModel.bauActiveGraphic)?.isTable?d`<calcite-icon scale=s slot=content-start icon=table></calcite-icon>`:d`<arcgis-feature-image width-in-pixels=16 height-in-pixels=16 use-true-shape slot=content-start .graphic=${this.viewModel.bauActiveGraphic} .layer=${this.viewModel.bauActiveLayer}></arcgis-feature-image>`}${this.viewModel.bauActiveFeatureIndex===-1?d`<span slot=content>${y(this._messages.multipleFeaturesX??"",{total:this.viewModel.bauFeatures?.length??0})}</span>`:d`<arcgis-feature-title is-new-feature slot=content .graphic=${this.viewModel.bauActiveGraphic} .layer=${this.viewModel.bauActiveLayer}></arcgis-feature-title>`}</calcite-list-item></calcite-list>`}_renderFloatingUIChoice(t){if(!this._showFloatingChoice||!t)return d`<div></div>`;let i=!1;this.viewModel.bauInvalidFeatures.length>0&&(i=!0);let a=new Set(this.viewModel.bauInvalidFeatures);return d`<div class="choose-feature" slot=action-bar ${D(this._floatingChoiceContainer)}><calcite-list .label=${this._messages.choosefeature??""} selection-mode=single selection-appearance=border><calcite-list-item .disabled=${this.viewModel.updating} @calciteListItemSelect=${r=>{this.viewModel.bauActiveFeatureIndex!==-1&&(this.viewModel.bauActiveFeatureIndex=-1,this.viewModel.updateIndividualMultiFeatureFormHighlight()),this.viewModel.clearMultiFeatureFormHighlights(),this._showFloatingChoice=!1}} .label=${y(this._messages.multipleFeaturesX??"",{total:this.viewModel.bauFeatures.length})} .selected=${this.viewModel.bauActiveFeatureIndex===-1} value=shared><calcite-icon scale=s icon=group-form class="feature-choose-listitem" slot=content-start></calcite-icon></calcite-list-item>${this.viewModel.bauFeatures.map((r,o)=>d`<calcite-list-item .disabled=${this.viewModel.updating} @pointerenter=${l=>{this.viewModel.highlightMultiFeatureFormFeature(r,o)}} @pointerleave=${l=>{this.viewModel.clearMultiFeatureFormHighlights()}} .selected=${this.viewModel.bauActiveFeatureIndex===o} @calciteListItemSelect=${l=>{let h=window.parseInt(l.currentTarget.value);this.viewModel.bauActiveFeatureIndex=h,this.viewModel.updateIndividualMultiFeatureFormHighlight(),this.viewModel.clearMultiFeatureFormHighlights(),this._showFloatingChoice=!1}} .value=${o}><arcgis-feature-title is-new-feature slot=content .graphic=${r} .layer=${r.layer}></arcgis-feature-title>${I(r)?.isTable?d`<calcite-icon scale=s icon=table slot=content-start class="feature-choose-listitem"></calcite-icon>`:d`<arcgis-feature-image slot=content-start class="feature-choose-listitem" .graphic=${r} width-in-pixels=16 height-in-pixels=16 use-true-shape .layer=${r.layer}></arcgis-feature-image>`}${a.has(r)&&i?d`<calcite-icon slot=content-end icon=exclamation-mark-triangle scale=s class="danger-icon-warning"></calcite-icon>`:""}</calcite-list-item>`)}</calcite-list></div>`}_renderClipboard(t){return t?b("paste-form",d`<calcite-flow-item .selected=${t} .heading=${this._messages.clipboardContents} @calciteFlowItemBack=${i=>{i.preventDefault(),this.viewModel.activeFlowPage=this.viewModel.beforeClipboard}}>${this._renderCloseCommand(t)}<calcite-panel><arcgis-clipboard .view=${this.view} .referenceElement=${this.referenceElement} .hideTooltips=${this.hideTooltips}></arcgis-clipboard></calcite-panel></calcite-flow-item>`):b("paste-form",d`<calcite-flow-item .selected=${t} .heading=${this._messages.clipboardContents} @calciteFlowItemBack=${i=>{i.preventDefault(),this.viewModel.activeFlowPage=this.viewModel.beforeClipboard}}></calcite-flow-item>`)}_renderPasteCommands(t){if(!t)return b("paste-commands",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${a=>{a.preventDefault(),this.viewModel.activeFlowPage="commands-page"}}>${this._renderFlowCommandStart(this.viewModel.hasPasteCommandsPage)}</calcite-flow-item>`);let i=this.viewModel.clipboard.items.length===0?this._messages.clipboardEmpty??"":this.viewModel.clipboard.items.length>1?y(this._messages.clipboardContentsMany??"",{num:this.viewModel.clipboard.items.length}):this._messages.clipboardContentsSingle??"";return b("paste-commands",d`<calcite-flow-item .selected=${t} .heading=${this._messages.componentLabel} @calciteFlowItemBack=${a=>{a.preventDefault(),this.viewModel.activeFlowPage="commands-page"}}>${this._renderFlowCommandStart(this.viewModel.hasPasteCommandsPage)}${this._renderClipboardCommand("commands")}${this._renderCloseCommand(t)}<calcite-panel><calcite-list .label=${this._messages.clipboardContents??""} selection-mode=none selection-appearance=border><calcite-list-item .description=${i}></calcite-list-item></calcite-list><slot name=commands-page-message></slot><div class="pad-contents"><calcite-list .label=${this._messages.pasteCommandChoices??""} selection-mode=none selection-appearance=border>${this.availableCommands.map(a=>d`<calcite-list-item .label=${a.label(this._messages,this._messages._lang)} .description=${a.description(this._messages,this._messages._lang)} .value=${a.id} .disabled=${!a.commandEnabled||this.viewModel.updating} @click=${async()=>{await this._runPasteCommand(a)}}><calcite-icon slot=content-start .icon=${a.icon}></calcite-icon>${a.immediate?"":d`<calcite-icon slot=content-end icon=chevron-right flip-rtl></calcite-icon>`}</calcite-list-item>`)}</calcite-list></div></calcite-panel>${this.renderPasteErrorFooter()}${this._renderApplying()}</calcite-flow-item>`)}renderPasteErrorFooter(){return!this.viewModel.lastPasteError||this.viewModel.hideErrorNotice?null:d`<calcite-notice slot=footer open kind=danger icon=exclamation-mark-triangle closable @calciteNoticeClose=${()=>{this.viewModel.lastPasteError=void 0}}><div slot=title>${this._messages.errorNoticeTitle??""}</div><div slot=message>${this.viewModel.lastPasteError.localizedErrorMessage?this._messages[this.viewModel.lastPasteError.localizedErrorMessage]:this._messages.errorNoticeMessage??""}</div></calcite-notice>`}_renderApplying(){return this.viewModel.applying?d`<calcite-scrim><calcite-loader scale=s .label=${this._messages.updating??""}></calcite-loader></calcite-scrim>`:""}render(){return this.activeFlowPage==="clipboard-empty-page"?d`<calcite-flow class="arcgis-paste" .hidden=${this.closed}>${this._renderNoClipboardData(this.activeFlowPage==="clipboard-empty-page")}</calcite-flow>`:this.activeFlowPage==="no-command-page"?d`<calcite-flow class="arcgis-paste" .hidden=${this.closed}>${this._renderNoCommandPage(this.activeFlowPage==="no-command-page")}</calcite-flow>`:d`<calcite-flow class="arcgis-paste" .hidden=${this.closed}>${this.hasPasteCommandsPage&&this._renderPasteCommands(this.activeFlowPage==="commands-page")||""}${this._renderFlowPasteAs(this.activeFlowPage==="gallery-page")}${this._renderFlowPasteMerge(this.activeFlowPage==="merge-page")}${this._renderFlowPasteForm(this.activeFlowPage==="form-page")}${this._renderClipboard(this.activeFlowPage==="clipboard")}</calcite-flow>`}};ae("arcgis-paste",K);return K},"core/accessorSupport/decorators","core/Accessor","Graphic","applications/Components/clipboard","layers/GraphicsLayer","core/Collection","applications/Components/templateUtils","applications/Components/applySetUtils","core/reactiveUtils","layers/support/fieldUtils","widgets/BatchAttributeForm/BatchAttributeFormViewModel","intl","applications/Components/editUtils",a,c,e,f,g,h,i,j)
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
+
import l from"./XFLYIMEH.js";import j from"./BVV442IW.js";import i from"./NKR3PQHN.js";import{a as b}from"./J6UG5EF7.js";import h from"./5MHPKAFK.js";import"./PC4PAQXQ.js";import"./TFUFDVQ6.js";import f from"./5CJ44XUV.js";import{a as D}from"./SVVJHTPA.js";import e from"./3JMJAUSY.js";import d from"./RO4TU5R3.js";import{g as V}from"./55IJQTCC.js";import"./7DOI3267.js";import a from"./O5TDDX7K.js";import{b as F}from"./EHZW6UXL.js";import{M as g,N as p,O as I,P as _,R as c,S as T,U as k,a as x,b as n,x as M}from"./MDRC374Z.js";import"./3TTFCHAA.js";export default $arcgis.t(([j,{substitute:d,formatNumber:C},{watch:h},{stripHTML:$},L,{renderingSanitizer:P},{initializeProjection:K},,,,N,,,{d:E},{a:O,d:B,e:R}])=>{var G=x`:host{display:flex;overflow:hidden;flex:1 1 auto}.root{--calcite-color-background: var(--calcite-color-foreground-1);display:flex;overflow:hidden;flex:1 1 auto;flex-direction:column}.root img{image-orientation:from-image}.flow-item-collapsed{--calcite-flow-item-header-border-block-end: none}.container{display:flex;flex:1 1 auto;background-color:var(--calcite-color-foreground-1)}.container calcite-list{width:100%}.container:not(:empty){padding:var(--arcgis-internal-padding-md, var(--calcite-spacing-md))}.root .arcgis-feature,.root .arcgis-feature-relationship,.root .arcgis-feature-utility-network-associations{background-color:transparent}.heading{word-break:break-word;word-wrap:break-word}.header,.footer{display:flex;align-items:center;justify-content:flex-end;background-color:var(--calcite-color-foreground-1)}.footer{flex:1}.pagination-text{padding-inline:var(--calcite-spacing-sm);color:var(--calcite-color-text-3);font-size:var(--calcite-font-size-sm)}.loader{align-self:center;padding-inline:var(--calcite-spacing-lg)}.pagination-action-bar{flex:1}.pagination-menu-button{padding-inline:var(--calcite-spacing-xxs);border-inline-start:var(--calcite-border-width-sm) solid var(--calcite-color-border-3)}.icon{display:inline-block;flex:0 0 var(--calcite-spacing-lg);width:var(--calcite-spacing-lg);height:var(--calcite-spacing-lg)}.action-image{flex:0 0 var(--calcite-spacing-lg);background-position:50% 50%;background-repeat:no-repeat;background-size:contain;width:var(--calcite-spacing-lg);height:var(--calcite-spacing-lg)}.header{border-block-end:var(--calcite-border-width-sm) solid var(--calcite-color-border-3)}.content-feature{--calcite-flow-item-footer-padding: 0}.feature-menu-observer{position:relative;bottom:var(--calcite-spacing-xxl);z-index:2;text-align:center}.action-exit{transform:scaleX(-1)}`,m=O.clone();function W(y){return y?.declaredClass.startsWith("esri.layers.")??!1}var q=N(j),A=class extends I{constructor(){super(...arguments),this._fetchFeaturesController=null,this._featureMenuIntersectionObserverCallback=([e])=>{e?.isIntersecting&&this.viewModel.featurePage!=null&&this.viewModel.featurePage++},this._featureMenuIntersectionObserver=new IntersectionObserver(this._featureMenuIntersectionObserverCallback,{root:window.document}),this._featureMenuIntersectionObserverNode=null,this._rootFlowItemNode=g(),this._featureMenuViewportNode=g(),this._actionBarMenuNode=g(),this._flowContainerNode=g(),this.messages=D(),this._selectedFeatureComponent=g(),this._cancelOpenRelatedFeature=()=>{let{_openRelatedFeatureAbortController:e}=this;e&&e.abort(),this._openRelatedFeatureAbortController=null},this._openRelatedFeatureAbortController=null,this.flowItems=new L,this.viewModel=q(this),this.actions=this.viewModel.actions,this.active=this.viewModel.active,this.autoDestroyDisabled=!1,this.collapsed=!1,this.content=this.viewModel.content,this.defaultPopupTemplateEnabled=this.viewModel.defaultPopupTemplateEnabled,this.featureCount=this.viewModel.featureCount,this.featureMenuOpen=this.viewModel.featureMenuOpen,this.featureMenuTitle=this.viewModel.featureMenuTitle,this.featureNavigationTop=!1,this.features=this.viewModel.features,this.featuresPerPage=this.viewModel.featuresPerPage,this.featureViewModelAbilities=this.viewModel.featureViewModelAbilities,this.goToOverride=this.viewModel.goToOverride,this.headerActions=new L,this.heading=this.viewModel.title,this.headingLevel=2,this.hideActionBar=!1,this.hideCloseButton=!1,this.hideFeatureMenuHeading=!1,this.hideFeatureNavigation=!1,this.hideFeatureListLayerTitle=!1,this.hideHeading=!1,this.hideSpinner=!1,this.hideContent=!1,this.hideExpressionContent=!1,this.hideLastEditedInfo=!1,this.highlightDisabled=this.viewModel.highlightEnabled,this.includeDefaultActionsDisabled=this.viewModel.includeDefaultActions,this.initialDisplayMode=this.viewModel.initialDisplayMode,this.location=this.viewModel.location,this.map=this.viewModel.map,this.open=this.viewModel.visible,this.promises=this.viewModel.promises,this.responsiveActionsEnabled=!1,this.selectedFeature=this.viewModel.selectedFeature,this.selectedFeatureIndex=this.viewModel.selectedFeatureIndex,this.showCollapseButton=!1,this.spatialReference=this.viewModel.spatialReference,this.state=this.viewModel.state,this.timeZone=this.viewModel.timeZone,this.updateLocationEnabled=this.viewModel.updateLocationEnabled,this.view=this.viewModel.view,this.arcgisPropertyChange=V()("active","collapsed","featureCount","featureMenuOpen","features","promises","selectedDrillInFeature","selectedFeature","selectedFeatureComponent","selectedFeatureIndex","state","open"),this.arcgisReady=M(),this.arcgisClose=M(),this.arcgisTriggerAction=M()}static{this.properties={_openRelatedFeatureAbortController:16,flowItems:16,_hideActionText:16,_featureNavigationVisible:16,_isCollapsed:16,_collapseEnabled:16,viewModel:0,actions:0,active:0,autoDestroyDisabled:5,collapsed:5,content:1,defaultPopupTemplateEnabled:5,featureCount:9,featureMenuOpen:5,featureMenuTitle:1,featureNavigationTop:5,features:0,featuresPerPage:9,featureViewModelAbilities:0,goToOverride:0,headerActions:0,heading:1,headingLevel:9,hideActionBar:5,hideCloseButton:5,hideFeatureMenuHeading:5,hideFeatureNavigation:5,hideFeatureListLayerTitle:5,hideHeading:5,hideSpinner:5,hideContent:5,chartAnimationDisabled:5,hideAttachmentsContent:5,hideCustomContent:5,hideExpressionContent:5,hideFieldsContent:5,hideMediaContent:5,hideRelationshipContent:5,hideTextContent:5,hideUtilityNetworkContent:5,hideLastEditedInfo:5,highlightDisabled:5,icon:1,includeDefaultActionsDisabled:5,initialDisplayMode:1,label:1,location:0,map:0,messageOverrides:0,open:5,referenceElement:1,promises:0,responsiveActionsEnabled:5,selectedDrillInFeature:32,selectedFeature:0,selectedFeatureComponent:32,selectedFeatureIndex:9,showCollapseButton:5,spatialReference:0,state:32,timeZone:1,updateLocationEnabled:5,view:0}}static{this.styles=G}get _hideActionText(){if(!this.responsiveActionsEnabled)return!1;let e=this.viewModel.view?.widthBreakpoint;return e==="xsmall"||e==="small"||e==="medium"}get _featureNavigationVisible(){return this.viewModel.active&&this.viewModel.featureCount>1&&!!this.viewModel.selectedFeature&&!this.hideFeatureNavigation}get _isCollapsed(){return this._collapseEnabled&&this.collapsed}get _collapseEnabled(){return this.showCollapseButton&&(this.initialDisplayMode==="list"||!!(this.heading||this.viewModel.selectedFeatureViewModel?.title)&&!!(this.content||this.viewModel.selectedFeatureViewModel?.content))}get chartAnimationDisabled(){return!(this.viewModel.featureViewModelAbilities?.chartAnimation??!0)}set chartAnimationDisabled(e){this.viewModel.featureViewModelAbilities??={},this.viewModel.featureViewModelAbilities.chartAnimation=!e}get hideAttachmentsContent(){return!(this.viewModel.featureViewModelAbilities?.attachmentsContent??!0)}set hideAttachmentsContent(e){this.viewModel.featureViewModelAbilities??={},this.viewModel.featureViewModelAbilities.attachmentsContent=!e}get hideCustomContent(){return!(this.viewModel.featureViewModelAbilities?.customContent??!0)}set hideCustomContent(e){this.viewModel.featureViewModelAbilities??={},this.viewModel.featureViewModelAbilities.customContent=!e}get hideFieldsContent(){return!(this.viewModel.featureViewModelAbilities?.fieldsContent??!0)}set hideFieldsContent(e){this.viewModel.featureViewModelAbilities??={},this.viewModel.featureViewModelAbilities.fieldsContent=!e}get hideMediaContent(){return!(this.viewModel.featureViewModelAbilities?.mediaContent??!0)}set hideMediaContent(e){this.viewModel.featureViewModelAbilities??={},this.viewModel.featureViewModelAbilities.mediaContent=!e}get hideRelationshipContent(){return!(this.viewModel.featureViewModelAbilities?.relationshipContent??!0)}set hideRelationshipContent(e){this.viewModel.featureViewModelAbilities??={},this.viewModel.featureViewModelAbilities.relationshipContent=!e}get hideTextContent(){return!(this.viewModel.featureViewModelAbilities?.textContent??!0)}set hideTextContent(e){this.viewModel.featureViewModelAbilities??={},this.viewModel.featureViewModelAbilities.textContent=!e}get hideUtilityNetworkContent(){return!(this.viewModel.featureViewModelAbilities?.utilityNetworkAssociationsContent??!0)}set hideUtilityNetworkContent(e){this.viewModel.featureViewModelAbilities??={},this.viewModel.featureViewModelAbilities.utilityNetworkAssociationsContent=!e}get selectedDrillInFeature(){let e=Array.from(this.flowItems).at(-1);return e&&"graphic"in e?e.graphic??null:null}get selectedFeatureComponent(){return this._selectedFeatureComponent.value??null}async clear(){return this.viewModel.clear()}async close(){this.open=!1}async destroy(){await this.manager.destroy(),await this._destroySpinner(this.referenceElement),this._cancelOpenRelatedFeature(),this._removeFlowItems(),this._unobserveFeatureMenuObserver(),this._cancelFetchingFeatures(),this._featureMenuIntersectionObserver?.disconnect()}async fetchFeatures(e,t){this._cancelFetchingFeatures();let i=new AbortController,{signal:a}=i;if(this._fetchFeaturesController=i,!e&&this.view&&this.location&&(await K(this.location.spatialReference,this.view.spatialReference,null,{signal:a}),e=this.view.toScreen(this.location)??void 0),!e)return;let o=await this.viewModel.fetchFeatures(e,{signal:a,...t});this.location=o.location,this.promises=o.pendingFeatures}async next(){return this.viewModel.next()}async previous(){return this.viewModel.previous()}async setFocus(){this._flowContainerNode.value?.setFocus()}async triggerAction(e){if(!e.disabled)return e?.type==="toggle"&&(e.value=!e.value),await R(e,this.viewModel)}loaded(){this.manager.onLifecycle(()=>[h(()=>this.viewModel?.selectedFeatureIndex,(e,t)=>this._selectedFeatureIndexUpdated(e,t)),h(()=>this.viewModel?.view,()=>this._viewChange()),h(()=>this._spinnerEl?.screenLocation,()=>this._closeOpenActionMenu()),h(()=>this.selectedFeatureComponent?.viewModel,()=>this._removeFlowItems()),h(()=>this.viewModel?.featureViewModels,()=>this._featureMenuViewportScrollTop()),h(()=>[this.flowItems?.length,this.featureMenuOpen],()=>{this.setFocus()}),h(()=>this.referenceElement,(e,t)=>{this._destroySpinner(t),this._createSpinner()},{initial:!0}),h(()=>[this.hideSpinner,this.viewModel?.view,this.viewModel?.location,this.viewModel?.waitingForResult,this.viewModel?.view],()=>void this._createSpinner(),{initial:!0})])}_cancelFetchingFeatures(){this._fetchFeaturesController?.abort(),this._fetchFeaturesController=null}_handleClose(){this.close(),this.arcgisClose.emit()}_groupResultsByLayer(){let{featureViewModels:e}=this.viewModel,t=new Map;return e.forEach(i=>{let a=i?.graphic;if(!a)return;let o=E(a),s=W(o)?o:null,l=t.get(s)??[];t.set(s,[...l,i])}),t}_handleCollapseToggle(){this.collapsed=!this.collapsed}async _openRelatedFeature(e){this._cancelOpenRelatedFeature();let t=new AbortController;this._openRelatedFeatureAbortController=t,await e.updateGeometry();let i=e.graphic,a=i?.geometry;if(a==null||i==null)return;this._removeFlowItems(),await this.viewModel.zoomTo({target:a});let o=(await $arcgis.t(m=>m[0],"geometry/operators/labelPointOperator")).execute(a);o!=null&&(this.location=o),this.features=[i],this.open=!0,await this.setFocus(),this._openRelatedFeatureAbortController===t&&(this._openRelatedFeatureAbortController=null)}_handlePaginationMenuButton(){this._updateFeatureMenu()}_openFeatureMenu(){this._updateFeatureMenu(!0)}_closeFeatureMenu(){this._updateFeatureMenu(!1)}_updateFeatureMenu(e=!this.featureMenuOpen){this.featureMenuOpen=e}_previousFeature(){this.viewModel.previous()}_nextFeature(){this.viewModel.next()}_handleFeatureBack(){this.initialDisplayMode==="list"?(this.selectedFeatureIndex=-1,this.setFocus()):this._openFeatureMenu()}_handleFeatureMenuBack(){this.initialDisplayMode==="list"?(this.selectedFeatureIndex=-1,this.setFocus()):this.featureMenuOpen&&this._closeFeatureMenu()}_setActiveFeature(e){let{viewModel:t}=this;t.activeFeature=t.features?.[e]||null}_removeActiveFeature(){this.viewModel.activeFeature=null}_selectFeature(e){this.viewModel.selectedFeatureIndex=e,this.initialDisplayMode==="feature"?this._handleFeatureMenuBack():this.setFocus()}_unobserveFeatureMenuObserver(){this._featureMenuIntersectionObserverNode&&this._featureMenuIntersectionObserver.unobserve(this._featureMenuIntersectionObserverNode)}_featureMenuIntersectionObserverCreated(e){this._unobserveFeatureMenuObserver(),e&&this._featureMenuIntersectionObserver.observe(e),this._featureMenuIntersectionObserverNode=e}_getActionTitle(e){let{messages:t,selectedFeature:i}=this,{id:a}=e,o=i?.attributes,s=e.title??"",l=a==="zoom-to-feature"?d(s,{messages:t}):a==="remove-selected-feature"?d(s,{messages:t}):a==="zoom-to-clustered-features"?d(s,{messages:t}):a==="browse-clustered-features"?d(s,{messages:t}):e.title;return l&&o?d(l,o):l??""}_onMainKeydown(e){let{key:t}=e;t==="ArrowLeft"&&(e.stopPropagation(),this._handleFeatureMenuBack(),this.previous(),this.setFocus()),t==="ArrowRight"&&(e.stopPropagation(),this._handleFeatureMenuBack(),this.next(),this.setFocus())}_featureMenuViewportScrollTop(){this._featureMenuViewportNode&&this._featureMenuViewportNode.value?.scrollContentTo({top:0})}_selectedFeatureIndexUpdated(e,t){let{featureCount:i,waitingForResult:a}=this.viewModel;a||!i||e===t||e===-1||(this._removeFlowItems(),this._rootFlowItemNode.value?.scrollContentTo({top:0}))}_triggerAction(e){this.triggerAction(e),this.arcgisTriggerAction.emit({action:e})}_viewChange(){this.viewModel.clear(),this.open=!1}_closeOpenActionMenu(){let{_actionBarMenuNode:e}=this;e.value&&(e.value.menuOpen=!1)}_removeFlowItems(){this.flowItems?.destroyAll()}_getDrillInFlowItemDescription(e){switch(e.flowType){case"feature":case"feature-association":case"feature-utility-network-associations":case"feature-utility-network-association-type":return e.description;case"feature-relationship":return e.allItemsDescription}}_handleDrillInBackClick(){this.flowItems?.pop()?.destroy()}_getHeading(){let{hideHeading:e}=this,{title:t,selectedFeatureViewModel:i}=this.viewModel;return i&&!e?i?.state==="error"?this.messages?.errorMessage??"":i?.title||"":!e&&t?t:""}async _destroySpinner(e){e?.manager?.component?.extraContent?.remove(this._spinnerEl)}async _createSpinner(){let e=this.referenceElement;e&&(await this._destroySpinner(e),this._spinnerEl=T(n`<arcgis-spinner auto-destroy-disabled .label=${this.messages.loading??""} .trackLocation=${!this.hideSpinner&&this.viewModel?.waitingForResult} .location=${this.viewModel?.location??void 0} .view=${this.viewModel?.view??void 0}></arcgis-spinner>`),e.manager?.component?.extraContent?.add(this._spinnerEl))}render(){return n`<div class="root" @keydown=${this._onMainKeydown}>${this._renderHeader()}${this._renderContentContainer()}</div>`}_renderFeatureNavigation(){return[this._renderPagination(),this.initialDisplayMode==="list"?this._renderFeaturePaginationText():this._renderFeatureMenuButton()]}_renderHeader(){return this.featureNavigationTop&&this._featureNavigationVisible?n`<div class="header">${this._renderFeatureNavigation()}</div>`:null}_renderFooter(){return!this.featureNavigationTop&&this._featureNavigationVisible?n`<div class="footer" slot=footer>${this._renderFeatureNavigation()}</div>`:null}_renderFeaturePaginationText(){let{messages:e,viewModel:t}=this,{featureCount:i,selectedFeatureIndex:a}=t;return n`<div class="pagination-text">${d(e.pageText??"",{index:C(a+1),total:C(i)})}</div>`}_renderFeatureMenuButton(){let{messages:e,viewModel:t}=this,{featureCount:i,selectedFeatureIndex:a,pendingPromisesCount:o}=t;return n`<calcite-action class="pagination-menu-button" icon=list .label=${e.selectFeature} .loading=${o>0} @click=${this._handlePaginationMenuButton} .text=${d(e.pageText??"",{index:C(a+1),total:C(i)})} text-enabled title=${e.selectFeature??c}></calcite-action>`}_renderPagination(){let{previous:e,next:t}=this.messages;return n`<calcite-action-bar class="pagination-action-bar" expand-disabled layout=horizontal overflow-actions-disabled scale=s><calcite-action-group scale=s><calcite-action class="pagination-previous" icon=chevron-left icon-flip-rtl .label=${e??""} @click=${this._previousFeature} .text=${e??""} title=${e??""??c}></calcite-action><calcite-action icon=chevron-right icon-flip-rtl .label=${t??""} @click=${this._nextFeature} .text=${t??""} title=${t??""??c}></calcite-action></calcite-action-group></calcite-action-bar>`}_renderFeatureMenuItem(e){let{initialDisplayMode:t}=this,{selectedFeatureViewModel:i,featureViewModels:a}=this.viewModel,o=e===i,s=a.indexOf(e);return n`<calcite-list-item @blur=${this._removeActiveFeature} @focus=${()=>this._setActiveFeature(s)} @mouseleave=${this._removeActiveFeature} @mouseover=${()=>this._setActiveFeature(s)} .selected=${o} @calciteListItemSelect=${()=>this._selectFeature(s)}><span .innerHTML=${(P.sanitize(e.title)||this.messages.untitled)??""} slot=content></span>${t==="list"?n`<calcite-icon flip-rtl icon=chevron-right scale=s slot=content-end></calcite-icon>`:null}</calcite-list-item>`}_renderFeatureMenu(){let{messages:e,viewModel:t}=this,i=this._groupResultsByLayer(),a=this.initialDisplayMode==="list"?"none":"single";return t.featureViewModels.length?n`<calcite-list display-mode=flat .label=${e?.featuresList??""} selection-appearance=icon .selectionMode=${a}>${Array.from(i.keys(),o=>{let s=i.get(o)?.map(r=>this._renderFeatureMenuItem(r)),l=o?o.title??this.messages.untitled:null;return!this.hideFeatureListLayerTitle&&l!==null?b(o??"map-graphics",n`<calcite-list-item-group .heading=${l}>${s}</calcite-list-item-group>`):s})}</calcite-list>`:null}_renderHeaderAction(e){let t=e.title||"";return e.visible?n`<calcite-action .active=${e.type==="toggle"?e.value:!1} .disabled=${e.disabled} .icon=${e.icon??void 0} .indicator=${e.active} .loading=${e.active} @click=${()=>this._triggerAction(e)} slot=header-actions-end .text=${t} title=${t??c}></calcite-action>`:null}_renderHeaderActions(){return this.headerActions.map(e=>this._renderHeaderAction(e)).toArray()}_renderContentFeature(){let{headingLevel:e,hideCloseButton:t,_isCollapsed:i,_collapseEnabled:a,featureNavigationTop:o,flowItems:s,initialDisplayMode:l,selectedFeature:r,featureMenuOpen:u}=this,{active:v}=this.viewModel,w=this._getHeading();if(l==="list"&&!r)return null;let f=s.length===0&&(l==="list"?!!r:!u);return n`<calcite-flow-item class=${_(F({"content-feature":!0,"flow-item-collapsed":i}))} .closable=${!t} .closed=${!v} .collapsed=${i} .collapseDirection=${o?"down":"up"} .collapsible=${a} .headingLevel=${e} .selected=${f} @calciteFlowItemBack=${this._handleFeatureBack} .loading=${!!this._openRelatedFeatureAbortController} @calciteFlowItemClose=${this._handleClose} @calciteFlowItemToggle=${this._handleCollapseToggle} .heading=${$(w)} ${p(this._rootFlowItemNode)}>${this._renderHeaderActions()}${this._renderActionBar()}<div class=${_(F("container","content-container"))}>${this._renderContent()}</div>${this._renderFooter()}</calcite-flow-item>`}_renderFeatureMenuContainer(){let{viewModel:e,hideCloseButton:t,featureMenuTitle:i,messages:a,initialDisplayMode:o,featureMenuOpen:s,selectedFeature:l,_collapseEnabled:r,_isCollapsed:u,featureNavigationTop:v,headingLevel:w}=this,{active:f,featureViewModels:H,pendingPromisesCount:S}=e,z=i??a.selectFeature;if(o==="feature"&&!s)return null;let U=o==="list"?!l:s;return n`<calcite-flow-item class=${_(F({"flow-item-collapsed":u}))} .closable=${o==="list"&&!t} .closed=${!f} .collapsed=${o==="list"&&u} .collapseDirection=${v?"down":"up"} .collapsible=${o==="list"&&r} .description=${this.hideFeatureMenuHeading?void 0:d(a.total??"",{total:H.length})} .heading=${this.hideFeatureMenuHeading?void 0:z} .headingLevel=${w} .loading=${e.waitingForContents} .selected=${U} @calciteFlowItemBack=${Z=>{Z.preventDefault(),this._handleFeatureMenuBack()}} @calciteFlowItemClose=${this._handleClose} @calciteFlowItemToggle=${this._handleCollapseToggle} ${p(this._featureMenuViewportNode)}>${o==="list"?this._renderHeaderActions():null}${S>0?n`<calcite-loader class="loader" inline .label=${a.loading??""} slot=header-actions-end></calcite-loader>`:null}<div class="container">${this._renderFeatureMenu()}</div><div class="feature-menu-observer" ${p(this._featureMenuIntersectionObserverCreated)}></div>${o==="feature"?n`<calcite-button appearance=transparent @click=${this._handleFeatureMenuBack} slot=footer-start width=full>${a.back}</calcite-button>`:null}</calcite-flow-item>`}_renderFlowItem(e,t){let{messages:i,hideCloseButton:a,active:o}=this,s="graphic"in e&&"isFeatureFromTable"in e&&!e.isFeatureFromTable,l=e.flowType==="feature-association",r=i.returnToInitialFeature??"",u=i?.selectFeature,v=this._getActionTitle(m),w=!this.hideActionBar&&l&&s;return n`<calcite-flow-item .closable=${!a} .closed=${!o} .description=${$(this._getDrillInFlowItemDescription(e)??"")} .heading=${this.hideHeading?void 0:$(e.heading??"")} .selected=${t} @calciteFlowItemBack=${f=>{f.preventDefault(),this._handleDrillInBackClick()}} .loading=${!!this._openRelatedFeatureAbortController} @calciteFlowItemClose=${this._handleClose}><calcite-action class="action-exit" icon=move-up @click=${this._removeFlowItems} slot=header-actions-start .text=${r??""} title=${r??""??c}></calcite-action>${s?n`<calcite-action icon=zoom-to-object @click=${()=>this._openRelatedFeature(e)} slot=header-actions-end .text=${u??""} title=${u??c}></calcite-action>`:null}${w?n`<calcite-action-bar expand-disabled expanded scale=s slot=action-bar><calcite-action-group overlay-positioning=fixed scale=s><calcite-action .disabled=${m.disabled} .icon=${m.icon??void 0} .loading=${m.active} scale=s text-enabled .text=${v} title=${v??c} @click=${()=>B(this.viewModel,e)}></calcite-action></calcite-action-group></calcite-action-bar>`:null}<div class="container">${e}</div></calcite-flow-item>`}_renderContentContainer(){let e=this.flowItems?.toArray(),t=e?.map((a,o)=>this._renderFlowItem(a,this.initialDisplayMode==="list"||!this.featureMenuOpen&&o===e.length-1)),i=this.initialDisplayMode==="list"?[this._renderFeatureMenuContainer(),this._renderContentFeature(),t]:[this._renderContentFeature(),t,this._renderFeatureMenuContainer()];return n`<calcite-flow ${p(this._flowContainerNode)}>${i}</calcite-flow>`}_renderActionBar(){let e=this.viewModel.selectedFeatureViewModel?.isFeatureFromTable&&!this.location?this.viewModel.allActions.filter(t=>t.id!==m.id):this.viewModel.allActions;return!this._isCollapsed&&!this.hideActionBar&&e.length?n`<calcite-action-bar expand-disabled .expanded=${!this._hideActionText} scale=s slot=action-bar><calcite-action-group overlay-positioning=fixed scale=s ${p(this._actionBarMenuNode)}>${this._renderActions()}</calcite-action-group></calcite-action-bar>`:null}_renderActions(){return this.viewModel.allActions.toArray().map(e=>{let t=this._getActionTitle(e);return n`<calcite-action .active=${e.type==="toggle"?e.value:!1} .disabled=${e.disabled} .icon=${e.icon??void 0} .loading=${e.active} scale=s .textEnabled=${!this._hideActionText} .text=${t??""} title=${t??c} .hidden=${!e.visible} @click=${()=>this._triggerAction(e)}></calcite-action>`})}_renderContent(){let{content:e,selectedFeatureViewModel:t}=this.viewModel;return t?b(t,n`<arcgis-feature .autoDestroyDisabled=${this.autoDestroyDisabled} .chartAnimationDisabled=${this.chartAnimationDisabled} .defaultPopupTemplateEnabled=${this.defaultPopupTemplateEnabled} .flowItems=${this.flowItems} .graphic=${t.graphic} .headingLevel=${this.headingLevel+1} .hideAttachmentsContent=${this.hideAttachmentsContent} .hideContent=${this.hideContent} .hideCustomContent=${this.hideCustomContent} .hideExpressionContent=${this.hideExpressionContent} .hideFieldsContent=${this.hideFieldsContent} hide-heading .hideLastEditedInfo=${this.hideLastEditedInfo} .hideMediaContent=${this.hideMediaContent} .hideTextContent=${this.hideTextContent} .location=${this.location} .map=${this.map} .referenceElement=${this.referenceElement} .showRelationshipContent=${!this.hideRelationshipContent} .showUtilityNetworkContent=${!this.hideUtilityNetworkContent} .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} ${p(this._selectedFeatureComponent)}></arcgis-feature>`):typeof e=="string"?b(e,n`<div .innerHTML=${P.sanitize(e)??""}></div>`):e??null}};k("arcgis-features",A);return A},"widgets/Features/FeaturesViewModel","intl","core/reactiveUtils","applications/Components/stringUtils","core/Collection","applications/Components/sanitizerUtils","applications/Components/featureUtils",a,d,e,f,h,i,j,l)
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
+
import a from"./NKR3PQHN.js";import{a as x}from"./SVVJHTPA.js";import"./55IJQTCC.js";import"./7DOI3267.js";import"./EHZW6UXL.js";import{O as v,U as I,a as S,b as f,p as l,r as g,x as b}from"./MDRC374Z.js";import"./3TTFCHAA.js";export default $arcgis.t(([P,w,d,A,$,G,_,k,{c:T,f:C}])=>{var F=S`calcite-block{--calcite-block-content-space: 0;--calcite-block-border-color: transparent;margin:0}.add-location-button{--calcite-button-border-color: var(--calcite-color-border-1);--calcite-button-icon-color: var(--calcite-color-text-1);--calcite-button-text-color: var(--calcite-color-text-1)}.button-container{justify-content:center;display:grid}.clear-button{--calcite-button-border-color: transparent}`,L=class extends v{constructor(){super(...arguments),this.messages=x({blocking:!0}),this.isSelectWaiting=!1,this.traceLocationType="starting-point",this.spatialTolerance=.05,this.autoDestroyDisabled=!1,this.arcgisTraceLocationChange=b(),this.arcgisTraceLocationSelectEnd=b(),this.arcgisTraceLocationSelectStart=b()}static{this.properties={isSelectWaiting:16,beforeTraceLocationSelectStart:0,afterHitTest:0,view:0,traceLocationType:1,traceLocations:0,filterLayers:0,sketchViewModel:0,spatialTolerance:9,autoDestroyDisabled:5,utilityNetwork:0}}static{this.styles=F}async destroy(){this._resetCursor(),await this.manager.destroy()}async load(){d.isLoaded()||await d.load()}_createPolyline(t,e){return new A({hasZ:!1,hasM:!0,paths:t,spatialReference:new $({wkid:e})})}_calculatePercentAlong(t,e){let r=t.spatialReference,n=this._createPolyline(t.paths,r.wkid),o=e.x-.5,i=e.x+.5,s=e.y-.5,a=e.y+.5,c=[[[o,s],[i,a]]],h=this._createPolyline(c,e.spatialReference.wkid),u=d.execute(h,r);if(!u)return l("error",this,"Unable to project flag geometry to source geometry spatial reference."),.5;let p=P.execute(n,u);if(p.length>0){let m=w.execute(n,{unit:"feet"}),y;return p[0].paths[0][0][0]===n.paths[0][0][0]?y=w.execute(p[0],{unit:"feet"}):p.length>1?y=w.execute(p[1],{unit:"feet"}):y=0,y/m}return l("warn",this,"Unable to cut the source geometry with the flag geometry."),.5}get _edgeSourceLayerIds(){let t=this.utilityNetwork?.dataElement?.domainNetworks;return t?t.flatMap(e=>e.edgeSources).map(e=>e.layerId).filter(Boolean):[]}async _handleAddButtonClick(){let{view:t,sketchViewModel:e}=this;if(!(t&&e)){l("error",this,"Cannot add trace location."),e||l("error",this,g("sketchViewModel")),t||l("error",this,g("view"));return}if(this.beforeTraceLocationSelectStart){this.isSelectWaiting=!0;try{await this.beforeTraceLocationSelectStart()}finally{this.isSelectWaiting=!1}}this.arcgisTraceLocationSelectStart.emit({cancelSelect:()=>e.cancel()}).defaultPrevented||await this._startSketch(t,e)}async _startSketch(t,e){this._clickHandler?.remove(),this._clickHandler=e.on("create",r=>this._handleSketchComplete(r,t,e)),"acquireCursor"in t&&t.acquireCursor("crosshair"),this.sketchViewModel?.create("point")}_handleSketchComplete(t,e,r){if(t.state==="complete"&&t.graphic){r.layer.remove(t.graphic),this._performHitTest(t,e,r);return}t.state==="cancel"&&(this._resetCursor(),this.arcgisTraceLocationSelectEnd.emit())}async _performHitTest(t,e,r){let{utilityNetwork:n}=this;if(!n){l("error",this,g("utilityNetwork")),this._resetCursor(),this.arcgisTraceLocationSelectEnd.emit();return}let o=t.graphic?.geometry,i=e.toScreen(o);if(!i){l("warn",this,"No screen point available for hit test."),this._startSketch(e,r);return}let s=(await e.hitTest(i,{include:this.filterLayers})).results.filter(a=>a.type==="graphic"&&a?.layer&&a.graphic);if(s.length===0){l("info",this,"No usable hit test results found."),this._startSketch(e,r);return}this._resetCursor(),await this._processHitTestResults(s,o,e),this.arcgisTraceLocationSelectEnd.emit()}_resetCursor(){let{view:t}=this;if(!t){l("error",this,g("view"));return}this._clickHandler?.remove(),this._clickHandler=void 0,"acquireCursor"in t&&t.acquireCursor("default")}async _processHitTestResults(t,e,r){if(t.length===0){l("error",this,"There are no hit test results to process.");return}let n=t[0],o=t.map(a=>{let c=a,h=c.graphic;return h.origin=c.layer,h.sourceLayer=c.layer,h}),i=this.afterHitTest?await this.afterHitTest(o).catch(()=>null):n.graphic;if(!i){l("error",this,"No graphic available from hit test results."),this.arcgisTraceLocationSelectEnd.emit();return}let s=await this._ensureNecessaryAttributes(i);if(!s){l("error",this,"Unable to ensure necessary attributes on the selected graphic."),this.arcgisTraceLocationSelectEnd.emit();return}await this._generateTraceLocation(s,e,r)}async _ensureNecessaryAttributes(t){let e=(T(t.layer),t.layer),r=e.geometryType===null,n=e.fieldsIndex?.get("assetgroup")??!1,o=e.fieldsIndex?.get("assetgroup")?.name??"assetgroup",i=e.fieldsIndex?.get("assettype")??!1,s=e.fieldsIndex?.get("assettype")?.name??"assettype",a=t.getGlobalId(),c=t.getObjectId(),h=n?!!t.getAttribute(o):!0,u=i?!!t.getAttribute(s):!0,p=!!t.geometry;if(a&&c&&h&&u&&(p||r))return t;let m=e.createQuery();return m.objectIds=[c],(await e.queryFeatures(m))?.features[0]||null}async _generateTraceLocation(t,e,r){let{traceLocations:n}=this,o=t.getGlobalId()??"",i=t.geometry?.type,s=await this._generateFlagInfo(t,e);if(!s){l("error",this,"Unable to generate flag info for trace location.");return}let a=n?.filter(h=>h.spatialProperties.mapGraphic?.getGlobalId()===o)??[];if(a.length>0){if(i!=="polyline"){l("warn",this,"A flag with the same globalId already exists.");return}else if(a.some(h=>Math.abs(h.traceLocation.percentAlong-s.traceLocation.percentAlong)<=this.spatialTolerance)){l("warn",this,"A flag with the same globalId already exists within tolerance.");return}}let c=this._addFlagGraphic(t,e,r);if(!c){l("warn",this,"Unable to add flag graphic.");return}s.spatialProperties.flagGraphic=c,n?.add(s)}async _generateFlagInfo(t,e){let{traceLocationType:r,utilityNetwork:n}=this,o=t.getGlobalId()??"",i=t.geometry?.type,s=await this._generateItemTitle(t);if(i==="point"||i==="polygon"){let a=n?.getTerminalConfiguration(t),c=a?a.terminals[0].id:1;return{traceLocation:new _({type:r,isFilterBarrier:!1,globalId:o,terminalId:c}),flagProperties:{title:s,expanded:!1,terminalConfiguration:a??void 0,selectedTerminals:a?new Set([c]):void 0},spatialProperties:{mapPoint:e,mapGraphic:t}}}else if(i==="polyline"){let a=this._calculatePercentAlong(t.geometry,e);return{traceLocation:new _({type:r,isFilterBarrier:!1,globalId:o,percentAlong:a}),flagProperties:{title:s,expanded:!1},spatialProperties:{mapPoint:e,mapGraphic:t}}}else if(!i){let a=C(t.layer)?t.layer.parent:t.layer,c=a&&this._edgeSourceLayerIds.includes(a.layerId),h=n?.getTerminalConfiguration(t),u=h?h.terminals[0].id:c?-1:1,p=c?.5:-1;return{traceLocation:new _({type:r,isFilterBarrier:!1,globalId:o,terminalId:u,percentAlong:p}),flagProperties:{title:s,expanded:!1,terminalConfiguration:h??void 0,selectedTerminals:h?new Set([u]):void 0},spatialProperties:{mapPoint:e,mapGraphic:t}}}return null}async _generateItemTitle(t){let{messages:e}=this,r=(T(t.layer),t.layer);return("getFeatureTitle"in r?await r.getFeatureTitle(t):null)||t?.getObjectId()?.toString()||e.labels.unknown}_addFlagGraphic(t,e,r){let n=t.geometry?t.geometry.type==="point"?t.geometry:e:null,o=this._createFlagSymbol(),i=new G({geometry:n,symbol:o,attributes:t.attributes});return r.graphics.add(i),i}_createFlagSymbol(){let{traceLocationType:t}=this,e=[244,21,21,.6],r=[21,244,21,.6];return t==="stopping-point"?new k({color:e,style:"x",size:12,outline:{color:e,width:2}}):t==="barrier"?new k({color:e,style:"square",size:12,outline:{color:e,width:0}}):new k({color:r,style:"circle",size:12,outline:{color:r,width:0}})}_handleClearButtonClick(){let{view:t,traceLocations:e}=this;e?.forEach(r=>{r.spatialProperties.flagGraphic&&t&&t.graphics.remove(r.spatialProperties.flagGraphic)}),e?.removeAll()}renderAddLocationBlock(){let{traceLocationType:t,messages:e,traceLocations:r,view:n}=this,o=t==="starting-point"?e.types.startingPoint:t==="barrier"?e.types.barrier:e.types.stoppingPoint,i=o.heading,s=o.description,a=o.buttonText;return f`<calcite-block .heading=${i} .label=${i} expanded .description=${s}>${r?.length?f`<calcite-button class="clear-button" slot=actions-end appearance=transparent .label=${e.buttons.clear} @click=${()=>this._handleClearButtonClick()}>${e.buttons.clear}</calcite-button>`:null}<arcgis-utility-network-trace-location-list .traceLocations=${r} .traceLocationType=${t} .view=${n}></arcgis-utility-network-trace-location-list><div class="button-container"><calcite-button .loading=${this.isSelectWaiting} class="add-location-button" icon-start=select appearance=outline .label=${a} @click=${()=>this._handleAddButtonClick()}>${a}</calcite-button></div></calcite-block>`}render(){return f`<div class="root">${this.renderAddLocationBlock()}</div>`}};I("arcgis-utility-network-trace-location",L);return L},"geometry/operators/cutOperator","geometry/operators/lengthOperator","geometry/operators/projectOperator","geometry/Polyline","geometry/SpatialReference","Graphic","rest/networks/support/TraceLocation","symbols/SimpleMarkerSymbol",a)
|