@arcgis/map-components
Version:
ArcGIS Map Components
75 lines (74 loc) • 4.82 kB
JavaScript
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 =${() => 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 =${(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 =${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
};