import { i } from "./chunk-54V4THCX.js"; import { oe } from "./chunk-DTSCAH2R.js"; import "./chunk-B5WNDDCF.js"; import "./chunk-DXEPL3XQ.js"; import "./chunk-E5TKVDJT.js"; import "./chunk-XYIYXU3I.js"; import "./chunk-T6DJ6UAT.js"; import "./chunk-WOGDHLUJ.js"; import "./chunk-264YGWEE.js"; import { u, y as y2 } from "./chunk-KUAEOLV3.js"; import "./chunk-ZLQP3WDC.js"; import "./chunk-JBMHQ5RK.js"; import { D2 as D, O, b, f2 as f, g, h as h2, h2 as h3 } from "./chunk-QO6QPGRC.js"; import "./chunk-WBWQJQK4.js"; import "./chunk-A22ACVMF.js"; import "./chunk-TDS6IBMU.js"; import "./chunk-DBT4KOKX.js"; import "./chunk-2GP5D74I.js"; import "./chunk-ZELEU5PN.js"; import "./chunk-O7E4VYJT.js"; import "./chunk-AIG57VB7.js"; import "./chunk-PHAKVYRM.js"; import "./chunk-IDINBHDV.js"; import "./chunk-6LE4RPMZ.js"; import "./chunk-67RFR4NT.js"; import "./chunk-WPDBODJM.js"; import "./chunk-5IVP3KUS.js"; import "./chunk-JXYBFGFY.js"; import "./chunk-EPMXCACW.js"; import "./chunk-UCPKJYXN.js"; import "./chunk-KFLNKWNF.js"; import "./chunk-R24MO4IV.js"; import "./chunk-YQBYWPBD.js"; import "./chunk-UWKVAZQ6.js"; import "./chunk-XBFCIW4K.js"; import "./chunk-T2SKWJGU.js"; import "./chunk-UO3LS2M5.js"; import "./chunk-H2VOWDMO.js"; import "./chunk-QISOH77W.js"; import "./chunk-4HL6BBWO.js"; import "./chunk-KUO7OCMN.js"; import "./chunk-XO5VJRK4.js"; import "./chunk-ST53DRNI.js"; import "./chunk-3WXSWAUV.js"; import "./chunk-27YO3FKC.js"; import "./chunk-EQNT4A7P.js"; import "./chunk-4OM3EX6P.js"; import "./chunk-3OFVLRSL.js"; import "./chunk-DMVKVC5I.js"; import "./chunk-VEJPYAE4.js"; import "./chunk-UMUHMVL4.js"; import "./chunk-FZSI6IGI.js"; import "./chunk-YFDOPEEZ.js"; import "./chunk-IQBIGNPU.js"; import "./chunk-K7B6OWCU.js"; import "./chunk-LXOC7SMQ.js"; import "./chunk-QU433TMZ.js"; import "./chunk-L5DZVCCW.js"; import "./chunk-WNPL3C7R.js"; import "./chunk-E7ZLMIQ7.js"; import "./chunk-JEA4MMTV.js"; import "./chunk-RG3AHHRL.js"; import "./chunk-XHRNCFJT.js"; import "./chunk-UDYHZLTE.js"; import "./chunk-QC7NCR5N.js"; import "./chunk-VQXMCZYH.js"; import "./chunk-JQUWFKNU.js"; import "./chunk-RWQH5X3O.js"; import "./chunk-6334AFGG.js"; import "./chunk-CC74Y7ET.js"; import "./chunk-TFHLTN6F.js"; import "./chunk-O3JQY77G.js"; import "./chunk-E3G7BRZB.js"; import "./chunk-JKFWEHNK.js"; import "./chunk-IIAN3QNN.js"; import "./chunk-P24XEEHY.js"; import "./chunk-WOXHUQGM.js"; import "./chunk-FMPQIGFA.js"; import "./chunk-EDHROVWI.js"; import "./chunk-3IRT3YKJ.js"; import "./chunk-SAJAEMIJ.js"; import "./chunk-TU7WVKU4.js"; import "./chunk-JAUFBT5U.js"; import "./chunk-ZOO4I2U4.js"; import "./chunk-HZ2WKB3G.js"; import "./chunk-3HCJD762.js"; import "./chunk-RVCE264D.js"; import "./chunk-HKJ7X3BD.js"; import "./chunk-Y74D3LKQ.js"; import "./chunk-PK4W65H4.js"; import "./chunk-7C23ILQ4.js"; import "./chunk-P6VVVEX6.js"; import "./chunk-3Z755LKF.js"; import "./chunk-LTZ5XXDV.js"; import "./chunk-IEU3AM37.js"; import "./chunk-DLMAGHHC.js"; import "./chunk-JOYXMSKE.js"; import "./chunk-YZVAB3DF.js"; import "./chunk-JLYTER4T.js"; import "./chunk-CRHRHOXH.js"; import "./chunk-ZSW35JPD.js"; import "./chunk-JLSNMUQJ.js"; import "./chunk-ECY35CJI.js"; import "./chunk-PT62335L.js"; import "./chunk-PJNBFKPF.js"; import "./chunk-C7742RNZ.js"; import "./chunk-FNA5GLRW.js"; import "./chunk-MCWCB5IY.js"; import "./chunk-TV3CFJQR.js"; import { h, l } from "./chunk-TJV6ODRM.js"; import "./chunk-3LVSQLWJ.js"; import "./chunk-4ONPMX2F.js"; import "./chunk-CRGY2SDS.js"; import "./chunk-4T5ZGMEN.js"; import "./chunk-3WQOA5CB.js"; import "./chunk-FZQZIM7U.js"; import "./chunk-CZBRZ6SU.js"; import "./chunk-VGWC3IKZ.js"; import "./chunk-2H5MD622.js"; import "./chunk-3RSFVUKZ.js"; import "./chunk-UVVU4UUO.js"; import { l as l2 } from "./chunk-CDZENOCQ.js"; import "./chunk-O6VYMEIX.js"; import "./chunk-X4SA4ELJ.js"; import "./chunk-5N7JLUJJ.js"; import "./chunk-ZAY3CMAZ.js"; import "./chunk-P3XKUGLS.js"; import "./chunk-LU5IJZB4.js"; import "./chunk-7IBV2TRE.js"; import "./chunk-ZLNEXZAN.js"; import "./chunk-5UVJ64RB.js"; import "./chunk-SFEFRQCL.js"; import "./chunk-3GZSQU56.js"; import "./chunk-ZYRIJWLX.js"; import "./chunk-RYY6632W.js"; import "./chunk-DW42UVIT.js"; import "./chunk-YAEIHDJH.js"; import "./chunk-TJNOJH33.js"; import "./chunk-OSHI574D.js"; import "./chunk-ETGAZ7LF.js"; import "./chunk-75U5LM2V.js"; import "./chunk-RMDDCMKS.js"; import "./chunk-VCH45Q2I.js"; import { j } from "./chunk-LBW34VZ2.js"; import "./chunk-GSSTTHIT.js"; import "./chunk-YFSLJIO4.js"; import "./chunk-IM3LVQXV.js"; import "./chunk-55RWC67C.js"; import "./chunk-HZRKBTHJ.js"; import "./chunk-DVUG3KID.js"; import "./chunk-FWSQEIAR.js"; import "./chunk-VEGAOVMY.js"; import "./chunk-6T6G6LCQ.js"; import "./chunk-YEJL5NEF.js"; import "./chunk-PQFTYGF5.js"; import { e, n5 as n, y3 as y } from "./chunk-2Z2TG5CU.js"; import "./chunk-6KZ2LTDA.js"; import "./chunk-U2XHEJM7.js"; import "./chunk-SQOPWYIT.js"; import "./chunk-V6P2MAQQ.js"; import "./chunk-E5O6P5I2.js"; import "./chunk-SPWQ3AWG.js"; import "./chunk-2TIUKVZN.js"; import { r, t } from "./chunk-YXWMMD76.js"; import "./chunk-S5KM4IGW.js"; // node_modules/@arcgis/core/views/2d/layers/RouteLayerView2D.js var k = Object.freeze({ remove() { }, pause() { }, resume() { } }); var v = ["route-info", "direction-line", "direction-point", "polygon-barrier", "polyline-barrier", "point-barrier", "stop"]; var M = { graphic: null, property: null, oldValue: null, newValue: null }; function V(e2) { return e2 instanceof b || e2 instanceof h2 || e2 instanceof O || e2 instanceof g || e2 instanceof f || e2 instanceof h3 || e2 instanceof D; } function j2(e2) { return j.isCollection(e2) && e2.length && V(e2.getItemAt(0)); } function G(e2) { return Array.isArray(e2) && e2.length && V(e2[0]); } var I = class extends y2(u) { constructor() { super(...arguments), this._graphics = new j(), this._highlightIds = /* @__PURE__ */ new Map(), this._networkFeatureMap = /* @__PURE__ */ new Map(), this._networkGraphicMap = /* @__PURE__ */ new Map(); } get _routeItems() { return new l2({ getCollections: () => r(this.layer) && !this.destroyed ? [r(this.layer.routeInfo) ? new j([this.layer.routeInfo]) : null, this.layer.directionLines, this.layer.directionPoints, this.layer.polygonBarriers, this.layer.polylineBarriers, this.layer.pointBarriers, this.layer.stops] : [] }); } initialize() { this.updatingHandles.addOnCollectionChange(() => this._routeItems, (e2) => this._routeItemsChanged(e2), h); } destroy() { var _a; this.handles.removeAll(), this.updatingHandles.removeAll(), this._networkFeatureMap.clear(), this._networkGraphicMap.clear(), this._graphics.removeAll(), (_a = this._get("_routeItems")) == null ? void 0 : _a.destroy(); } attach() { this._createGraphicsView(); } detach() { this._destroyGraphicsView(); } async fetchPopupFeatures(e2) { return this._graphicsView.hitTest(e2).filter((e3) => !!e3.popupTemplate); } highlight(e2) { let t2; t2 = V(e2) ? [this._getNetworkFeatureUid(e2)] : G(e2) ? e2.map((e3) => this._getNetworkFeatureUid(e3)) : j2(e2) ? e2.map((e3) => this._getNetworkFeatureUid(e3)).toArray() : [e2.uid]; const r2 = t2.filter(r); return r2.length ? (this._addHighlight(r2), { remove: () => this._removeHighlight(r2) }) : k; } async hitTest(e2, t2) { if (this.suspended) return null; const r2 = this._graphicsView.hitTest(e2).filter(r).map((e3) => this._networkGraphicMap.get(e3)); if (!r2.length) return null; const { layer: s } = this; return r2.reverse().map((t3) => ({ type: "route", layer: s, mapPoint: e2, networkFeature: t3 })); } isUpdating() { return this._graphicsView.updating; } moveStart() { } moveEnd() { } update(e2) { this._graphicsView.processUpdate(e2); } viewChange() { this._graphicsView.viewChange(); } _addHighlight(e2) { for (const t2 of e2) if (this._highlightIds.has(t2)) { const e3 = this._highlightIds.get(t2); this._highlightIds.set(t2, e3 + 1); } else this._highlightIds.set(t2, 1); this._updateHighlight(); } _createGraphic(e2) { const t2 = e2.toGraphic(); return t2.layer = this.layer, t2.sourceLayer = this.layer, t2; } _createGraphicsView() { const e2 = this.view, t2 = () => this.requestUpdate(), r2 = new i(e2.featuresTilingScheme); this._graphicsView = new oe({ container: r2, graphics: this._graphics, requestUpdateCallback: t2, view: e2 }), this.container.addChild(r2), this._updateHighlight(); } _destroyGraphicsView() { this.container.removeChild(this._graphicsView.container), this._graphicsView.destroy(); } _getDrawOrder(e2) { const t2 = this._networkGraphicMap.get(e2); return v.indexOf(t2.type); } _getNetworkFeatureUid(e2) { return this._networkFeatureMap.has(e2) ? this._networkFeatureMap.get(e2).uid : null; } _removeHighlight(e2) { for (const t2 of e2) if (this._highlightIds.has(t2)) { const e3 = this._highlightIds.get(t2) - 1; 0 === e3 ? this._highlightIds.delete(t2) : this._highlightIds.set(t2, e3); } this._updateHighlight(); } _routeItemsChanged(e2) { if (e2.removed.length) { this._graphics.removeMany(e2.removed.map((e3) => { const t2 = this._networkFeatureMap.get(e3); return this._networkFeatureMap.delete(e3), this._networkGraphicMap.delete(t2), t2; })); for (const t2 of e2.removed) this.handles.remove(t2); } if (e2.added.length) { this._graphics.addMany(e2.added.map((e3) => { const t2 = this._createGraphic(e3); return t(t2.symbol) ? null : (this._networkFeatureMap.set(e3, t2), this._networkGraphicMap.set(t2, e3), t2); }).filter(r)); for (const t2 of e2.added) this.handles.add([l(() => t2.geometry, (e3, r2) => { this._updateGraphic(t2, "geometry", e3, r2); }), l(() => t2.symbol, (e3, r2) => { this._updateGraphic(t2, "symbol", e3, r2); })], t2); this._graphics.sort((e3, t2) => this._getDrawOrder(e3) - this._getDrawOrder(t2)); } } _updateGraphic(e2, t2, r2, i2) { if (!this._networkFeatureMap.has(e2)) { const t3 = this._createGraphic(e2); return this._networkFeatureMap.set(e2, t3), this._networkGraphicMap.set(t3, e2), void this._graphics.add(t3); } const s = this._networkFeatureMap.get(e2); s[t2] = r2, M.graphic = s, M.property = t2, M.oldValue = i2, M.newValue = r2, this._graphicsView.graphicUpdateHandler(M); } _updateHighlight() { const e2 = Array.from(this._highlightIds.keys()); this._graphicsView.setHighlight(e2); } }; e([y()], I.prototype, "_graphics", void 0), e([y()], I.prototype, "_routeItems", null), I = e([n("esri.views.2d.layers.RouteLayerView2D")], I); var F = I; export { F as default }; //# sourceMappingURL=RouteLayerView2D-BJ46OEQX.js.map