UNPKG

@arcgis/map-components

Version:
75 lines (74 loc) 4.82 kB
import { c as k } from "../../chunks/runtime.js"; import { html as t } from "lit-html"; import { LitElement as C, createEvent as n, noShadowRoot as G, safeClassMap as F } from "@arcgis/lumina"; /*! 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 */ class y extends C { constructor() { super(...arguments), this._arcgisGetVersions = (e) => { this.arcgisGetVersions.emit(e.detail); }, this._arcgisManageVersion = (e) => { this.arcgisManageVersion.emit(e.detail); }, this._arcgisNewVersion = (e) => { this.arcgisNewVersion.emit(e.detail); }, this._versionListEventListeners = /* @__PURE__ */ new Map(), this._showInvalidVersionNotice = !0, this.arcgisFlowItemBack = n(), this.arcgisFlowItemClose = n(), this.arcgisGetVersions = n(), this.arcgisManageVersion = n(), this.arcgisNewVersion = n(), this.arcgisCreateVersionList = n(); } static { this.properties = { _showInvalidVersionNotice: 16, serviceItemElementProps: 0 }; } static { this.shadowRootOptions = G; } // #endregion // #region Lifecycle disconnectedCallback() { super.disconnectedCallback(), this._versionList && this._removeVersionListEventListeners(this._versionList); } // #endregion // #region Private Methods _addVersionListEventListeners(e) { e.addEventListener("arcgisGetVersions", this._arcgisGetVersions), this._versionListEventListeners.set("arcgisGetVersions", this._arcgisGetVersions), e.addEventListener("arcgisManageVersion", this._arcgisManageVersion), this._versionListEventListeners.set("arcgisManageVersion", this._arcgisManageVersion), e.addEventListener("arcgisNewVersion", this._arcgisNewVersion), this._versionListEventListeners.set("arcgisNewVersion", this._arcgisNewVersion); } _removeVersionListEventListeners(e) { for (const [c, l] of this._versionListEventListeners) e.removeEventListener(c, l); } // #endregion // #region Rendering render() { const { serviceItemElementProps: { allowEditing: e, closable: c, currentUser: l, executionError: h, currentVersionIdentifier: d, flowElement: V, hasAdvEditingUte: p, heading: L, isInitialVersionInvalid: E, isVersionAdministrator: _, isVersioningApiAvailable: b, mode: w, pageSize: I, serviceName: o, serviceUrl: g, state: u, strings: r, versionInfos: a } } = this; let { _versionList: i } = this; const f = E.get(g) && this._showInvalidVersionNotice ? t`<calcite-notice class="initial-version-invalid-block" closable kind=warning open scale=s width=full icon @calciteNoticeClose=${() => this._showInvalidVersionNotice = !1}><div slot=title>${r.headers.invalidInitialVersion}</div><div slot=message>${r.loadErrors.invalidInitialVersion}</div></calcite-notice>` : void 0, $ = t`<calcite-combobox clear-disabled .label=${o} max-items=5 overlay-positioning=fixed selection-mode=single-persist @calciteComboboxChange=${(s) => { const x = s.target, M = a.find((N) => N.versionIdentifier.guid === x.value); this.arcgisManageVersion.emit({ actionType: "changeVersion", serviceUrl: g, versionInfo: M }); }}>${a ? a.map((s) => t`<calcite-combobox-item class=${F(w === "dialog" ? "" : "calcite-combobox-item")} .selected=${d.guid === s.versionIdentifier.guid && d.name === s.versionIdentifier.name} .textLabel=${s.versionIdentifier.name} .value=${s.versionIdentifier.guid}></calcite-combobox-item>`) : void 0}</calcite-combobox>`; let m, v; return e && (m = t`<calcite-action .id=${`actionManageVersions_${o}`} icon=list scale=s slot=control text @click=${async () => { i = document.createElement("arcgis-version-management-version-list"), i.versionListElementProps = { closable: c, currentUser: l, currentVersionIdentifier: d, executionError: h, hasAdvEditingUte: p, heading: L, isVersionAdministrator: _, isVersioningApiAvailable: b, pageSize: I, serviceName: o, serviceUrl: g, state: u, strings: r, versionInfos: a }, i.selected = !0, i.showBackButton = !0, i.addEventListener("calciteFlowItemBack", (s) => { s.preventDefault(), this.arcgisFlowItemBack.emit(); }), i.addEventListener("calciteFlowItemClose", () => { this.arcgisFlowItemClose.emit(); }), this._addVersionListEventListeners(i), V?.append(i), this.arcgisCreateVersionList.emit(i); }}></calcite-action>`, v = t`<calcite-tooltip overlay-positioning=fixed .referenceElement=${`actionManageVersions_${o}`}><span>${r.headers.manageVersions}</span></calcite-tooltip>`), t`<calcite-block open .heading=${o}>${f}${$}${m}${v}</calcite-block>`; } } k("arcgis-version-management-service-item", y); export { y as ArcgisVersionManagementServiceItem };