UNPKG

@arcgis/map-components

Version:
5 lines (4 loc) 3.3 kB
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. v4.32.13 */ function b(n,e){Array.isArray(e)?n._watchHandles=[...n._watchHandles,...e]:n._watchHandles.push(e)}function x(n){n.el.childElem&&(n.el.childElem.ownedBy=n.el);let e=w(n);if(!e){let t=g(n.referenceElement);if(!t){p(n);return}return u(t,n,!0),t}return m(e,n.el.parent)||(n.el.parent=e,e.tagName.toLowerCase()==="arcgis-expand"?y(e,n):e.tagName.toLowerCase()==="arcgis-placement"?v(e,n):u(e,n,!1)),e}function w({el:n}){for(let e=n.parentElement;e;e=e?.parentElement??null){if(d.has(e.tagName.toLowerCase()))return e;if("ownedBy"in e&&e.ownedBy instanceof HTMLElement&&d.has(e.ownedBy.tagName.toLowerCase()))return e.ownedBy}}var d=new Set(["arcgis-map","arcgis-scene","arcgis-link-chart","arcgis-expand","arcgis-placement"]);function m(n,e){if(n!==e)return!1;let t=n.tagName.toLowerCase();return t==="arcgis-expand"||t==="arcgis-placement"}function i(n,e,t="arcgisReady"){let r=n;if(typeof r.view?.ready=="boolean")e(r.view);else{let o=function(l){l.target===n&&(i(n,e,t),n.removeEventListener(t,o))};n.addEventListener(t,o)}}var y=(n,e)=>i(n,t=>{e.el.childElem&&n.content!=null&&n.content.append(e.el.childElem),n.expandIcon=e.icon||e.widget?.icon||n.expandIcon,e.position=n.position,e.el.view=t}),v=(n,e)=>i(n,t=>{e.el.childElem&&e.el.append(e.el.childElem),e.position=n.position,e.el.view=t}),u=(n,e,t)=>i(n,r=>{t?p(e):e.el.childElem&&h(n,e),e.el.view=r},"arcgisViewReadyChange");function h(n,e){let t=e.el.childElem??e.el,r=[...n.children],o={};for(let a of r){let c=a.getAttribute("position")??"manual";o[c]??=[],o[c].push({child:a,position:c,index:r.indexOf(a)})}let l=o[e.position??"manual"]?.findIndex(({child:a})=>a===e.el),s=n.view.ui;s.remove(t),s.add(t,{position:e.position,index:l})}function L(n){let e=!1,t=n.el.view,r=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(n.el),"view")??{get:()=>t,set:o=>t=o};Object.defineProperty(n.el,"view",{get:r.get.bind(n.el),set:o=>{r.set.call(n.el,o),o&&!e&&(e=!0,n.arcgisReady.emit())},configurable:!0,enumerable:!0}),t&&(n.el.view=t)}function C(n){return n==null||n===""}function N(n,e){return e!=null&&n?.position===e.position&&n?.heading===e.heading&&n?.tilt===e.tilt&&n?.fov===e.fov}function O(n,e){return e===void 0||n?.targetGeometry!==e?.targetGeometry||n?.rotation!==e?.rotation||n?.scale!==e?.scale}function A(n,e){return f(e?.center,n)}function f(n,e){if(typeof e=="string")return f(n,e.split(",").map(Number));if(!n)return e;if(Array.isArray(e)){let t=e[0],r=e[1],o=e.length>2?e[2]:void 0;if(t!==n.longitude||r!==n.latitude||o!==n.z)return e}else if(e&&!n?.equals(e))return e}async function B(n,e){e!=null&&(typeof e=="string"?n.el.view=await E(e):n.widget&&(n.el.view=e.view))}async function E(n){let e=g(n);return await new Promise(t=>{typeof e?.view?.ready=="boolean"?t(e.view):e&&e.addEventListener("arcgisViewReadyChange",()=>t(e.view),{once:!0})})}function p(n){n.el.childElem&&(n.el.shadowRoot??n.el).append(n.el.childElem)}function g(n){return typeof n!="string"?n??void 0:(n.includes("#")||n.includes(".")||n.includes("[")?void 0:document.querySelector(`#${n}`))??document.querySelector(n)??void 0}export{b as a,x as b,L as c,C as d,N as e,O as f,A as g,f as h,B as i};