@arcgis/map-components
Version:
ArcGIS Map Components
77 lines (76 loc) • 6.21 kB
JavaScript
import { c as d } from "../../chunks/runtime.js";
import { html as i } from "lit-html";
import { classes as h } from "@arcgis/components-utils";
import p from "@arcgis/core/widgets/Print/PrintViewModel.js";
import { LitElement as m, createEvent as g, noShadowRoot as w, safeClassMap as l } from "@arcgis/lumina";
import { usePropertyChange as v } from "@arcgis/lumina/controllers";
import { reEmitEvent as o } from "@arcgis/lumina/controllers/accessor";
import { u } from "../../chunks/useT9n.js";
import { m as f } from "../../chunks/useViewModel.js";
import { g as n } from "../../chunks/globalCss.js";
import { css as _ } from "@lit/reactive-element/css-tag.js";
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
v4.33.13 */
const M = _`{:root{--panel-min-height--large: 240px;--side-spacing: var(--calcite-spacing-lg);--cap-spacing: var(--calcite-spacing-md)}.arcgis-print{display:flex;position:relative;flex-grow:1;padding:0;min-height:var(--panel-min-height--large)!important;overflow-y:auto}.arcgis-print section[aria-hidden=true]{display:none}.arcgis-print__panel-items--centered{display:flex;align-items:center}.arcgis-print__container{display:flex;flex-direction:column;flex-grow:1}.arcgis-print__header-title{margin:0 auto 0 0;padding:var(--calcite-spacing-md) var(--calcite-spacing-lg);font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-bold)}.arcgis-print__panel--error{color:var(--calcite-color-status-danger)}arcgis-print-template-selector{overflow-y:hidden;display:flex}}`, a = "arcgis-print", r = {
base: a,
headerTitle: `${a}__header-title`,
panelItemsCentered: `${a}__panel-items--centered`,
printWidgetContainer: `${a}__container`,
panelError: `${a}__panel--error`
}, T = f(p), c = (s) => {
if (!s)
return "all";
const e = typeof s == "string" ? s.split(",").map((t) => t.trim()).filter((t) => t) : [s];
return !e.length || e.includes("all") ? "all" : e;
};
class $ extends m {
constructor() {
super(...arguments), this.messages = u({ blocking: !0 }), this.viewModel = T(this), this._showTemplates = !1, this.error = this.viewModel.error, this.hideHeader = !1, this.position = "top-left", this.icon = "print", this.allowedFormats = this.viewModel.allowedFormats, this.allowedLayouts = this.viewModel.allowedLayouts, this.exportedLinks = this.viewModel.exportedLinks, this.extraParameters = this.viewModel.extraParameters, this.headingLevel = 3, this.excludeDefaultTemplates = !this.viewModel.includeDefaultTemplates, this.excludeOrganizationTemplates = !1, this.outSpatialReference = this.viewModel.outSpatialReference, this.portal = this.viewModel.portal, this.showPrintAreaEnabled = this.viewModel.showPrintAreaEnabled, this.printServiceUrl = this.viewModel.printServiceUrl, this.templateCustomTextElements = this.viewModel.templateCustomTextElements, this.templateOptions = this.viewModel.templateOptions, this.autoDestroyDisabled = !1, this.state = this.viewModel.state, this.arcgisPropertyChange = v()("state"), this.arcgisReady = g(), this.arcgisComplete = o(() => this.viewModel, "complete"), this.arcgisSubmit = o(() => this.viewModel, "submit");
}
static {
this.properties = { _showTemplates: 16, error: 16, hideHeader: 5, referenceElement: 1, position: 3, icon: 1, allowedFormats: [1, { type: String, converter: c }], allowedLayouts: [1, { type: String, converter: c }], browseTemplateButtonOnClick: 0, allowedFormatsForSaving: 1, exportedLinks: 0, extraParameters: 1, headingLevel: 9, excludeDefaultTemplates: 5, excludeOrganizationTemplates: 5, outSpatialReference: 0, portal: 0, showPrintAreaEnabled: 5, printServiceUrl: 1, saveAsButtonCallback: 0, templateCustomTextElements: 0, templateOptions: 0, autoDestroyDisabled: 5, messageOverrides: 0, label: 1, state: 3 };
}
static {
this.styles = M;
}
static {
this.shadowRootOptions = w;
}
async destroy() {
await this.manager.destroy(), this.viewModel.destroy();
}
loaded() {
this.manager.onLifecycle(() => []), this.viewModel.load();
const { height: e, width: t } = this.viewModel.templateOptions;
this.viewModel.templateOptions.width = t || 800, this.viewModel.templateOptions.height = e || 1100;
}
_showTemplateSelector() {
this._showTemplates = !0;
}
_hideTemplateSelector() {
this._showTemplates = !1;
}
render() {
const e = {
[r.panelItemsCentered]: this.viewModel.state === "initializing"
};
return i`<div class=${l(h(r.base, n.widget, n.panel, e))}>${this._renderPanel()}</div>`;
}
_renderPanel() {
return this.viewModel.state === "initializing" ? i`<calcite-loader label=loading scale=m></calcite-loader>` : i`<calcite-flow><calcite-flow-item .selected=${!this._showTemplates}><div class=${l(r.printWidgetContainer)}>${this._renderPanelHeader()}${this._renderPanelContent()}</div></calcite-flow-item><calcite-flow-item .heading=${this.messages.chooseTemplate} .selected=${this._showTemplates} =${(e) => {
e.preventDefault(), this._showTemplates = !1;
}}><arcgis-print-template-selector .messages=${this.messages} .viewModel=${this.viewModel} .browseTemplateButtonOnClick=${this.browseTemplateButtonOnClick} .hideTemplateSelector=${this._hideTemplateSelector.bind(this)} .excludeOrganizationTemplates=${this.excludeOrganizationTemplates}></arcgis-print-template-selector></calcite-flow-item></calcite-flow>`;
}
_renderPanelHeader() {
return this.hideHeader ? null : i`<header class=${l(r.headerTitle)}>${this.messages.export}</header>`;
}
_renderPanelContent() {
const e = this.viewModel.view, t = e?.type !== "2d";
return !!this.error || t ? i`<div class=${l(r.panelError)}>${e ? t ? this.messages.sceneViewError : this.messages.serviceError : this.messages.noViewError}</div>` : i`<arcgis-print-main-panel .messages=${this.messages} .viewModel=${this.viewModel} .showTemplateSelector=${this._showTemplateSelector.bind(this)} .allowedFormatsForSaving=${this.allowedFormatsForSaving} .saveAsButtonCallback=${this.saveAsButtonCallback}></arcgis-print-main-panel>`;
}
}
d("arcgis-print", $);
export {
$ as ArcgisPrint
};