@arcgis/map-components 5.2.0-next.23 → 5.2.0-next.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/32XG4IQO.js +2 -0
- package/dist/cdn/{BXK5DVDN.js → 4BJSMXKG.js} +1 -1
- package/dist/cdn/5P3LF4QU.js +2 -0
- package/dist/cdn/5RXWVXJA.js +2 -0
- package/dist/cdn/7TE4BSW7.js +2 -0
- package/dist/cdn/{23VXN3VB.js → AASOO75T.js} +1 -1
- package/dist/cdn/B56MNMJP.js +2 -0
- package/dist/cdn/BGWYOIKY.js +2 -0
- package/dist/cdn/BV6DN77M.js +2 -0
- package/dist/cdn/BXDVZQ2A.js +3 -0
- package/dist/cdn/CXHORYLL.js +2 -0
- package/dist/cdn/DKG4Q4BC.js +2 -0
- package/dist/cdn/{MJ2AUX7N.js → F7ZQA7S5.js} +1 -1
- package/dist/cdn/{HFDHHI2B.js → FHL4L2ZY.js} +1 -1
- package/dist/cdn/{2BESNRQI.js → FPX4MV2U.js} +1 -1
- package/dist/cdn/FWRUNJU5.js +2 -0
- package/dist/cdn/HUBIN764.js +2 -0
- package/dist/cdn/KLKFMZ7U.js +2 -0
- package/dist/cdn/NR6V3DTH.js +2 -0
- package/dist/cdn/P3U6DQN6.js +2 -0
- package/dist/cdn/{UA3OPWND.js → PGCAY24R.js} +1 -1
- package/dist/cdn/{Z257GCMR.js → Q4PNCUBK.js} +1 -1
- package/dist/cdn/{XVNU3EUN.js → UCEBZVNP.js} +1 -1
- package/dist/cdn/{XPD6NXPE.js → UGOZSFW2.js} +1 -1
- package/dist/cdn/VZVNKP6W.js +2 -0
- package/dist/cdn/W67QMPVV.js +2 -0
- package/dist/cdn/XDKYOMSQ.js +2 -0
- package/dist/cdn/{6HLRQHTF.js → YKNC7IPO.js} +1 -1
- package/dist/cdn/ZAYZVEUD.js +2 -0
- package/dist/cdn/assets/basemap-layer-list-next/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/catalog-layer-list-next/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/table-list-next/t9n/messages.en.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/keyboard-utils.js +15 -0
- package/dist/chunks/layer-list-item-indicator.js +1 -1
- package/dist/chunks/layer-list-item.js +6 -0
- package/dist/chunks/layer-list-utils.js +6 -6
- package/dist/chunks/slots.js +1 -1
- package/dist/components/arcgis-basemap-gallery/customElement.js +33 -32
- package/dist/components/arcgis-basemap-layer-list-next/customElement.d.ts +241 -0
- package/dist/components/arcgis-basemap-layer-list-next/customElement.js +329 -0
- package/dist/components/arcgis-basemap-layer-list-next/index.d.ts +1 -0
- package/dist/components/arcgis-basemap-layer-list-next/index.js +14 -0
- package/dist/components/arcgis-catalog-layer-list-next/customElement.d.ts +179 -0
- package/dist/components/arcgis-catalog-layer-list-next/customElement.js +263 -0
- package/dist/components/arcgis-catalog-layer-list-next/index.d.ts +1 -0
- package/dist/components/arcgis-catalog-layer-list-next/index.js +10 -0
- package/dist/components/arcgis-catalog-layer-list-next/types.d.ts +6 -0
- package/dist/components/arcgis-editor/customElement.js +18 -6
- package/dist/components/arcgis-expand/customElement.js +1 -1
- package/dist/components/arcgis-feature-media/customElement.js +45 -44
- package/dist/components/arcgis-features/customElement.js +26 -25
- package/dist/components/arcgis-features-next/customElement.js +22 -21
- package/dist/components/arcgis-floor-filter/customElement.js +3 -3
- package/dist/components/arcgis-layer-list-next/customElement.d.ts +9 -9
- package/dist/components/arcgis-layer-list-next/customElement.js +67 -66
- package/dist/components/arcgis-layer-list-next/index.js +2 -2
- package/dist/components/arcgis-layer-list-next/layer-list-item/customElement.js +1 -1
- package/dist/components/arcgis-navigation-toggle/customElement.js +45 -26
- package/dist/components/arcgis-navigation-toggle/index.js +1 -0
- package/dist/components/arcgis-paste/PasteViewModel.d.ts +3 -1
- package/dist/components/arcgis-paste/customElement.d.ts +6 -0
- package/dist/components/arcgis-paste/customElement.js +9 -6
- package/dist/components/arcgis-popup/customElement.d.ts +2 -3
- package/dist/components/arcgis-popup/customElement.js +27 -27
- package/dist/components/arcgis-presentation/customElement.d.ts +18 -0
- package/dist/components/arcgis-presentation/customElement.js +90 -88
- package/dist/components/arcgis-sketch/customElement.d.ts +16 -1
- package/dist/components/arcgis-sketch/customElement.js +25 -19
- package/dist/components/arcgis-table-list-next/customElement.d.ts +235 -0
- package/dist/components/arcgis-table-list-next/customElement.js +200 -0
- package/dist/components/arcgis-table-list-next/index.d.ts +1 -0
- package/dist/components/arcgis-table-list-next/index.js +7 -0
- package/dist/components/arcgis-weather/customElement.js +105 -110
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.d.ts +30 -0
- package/dist/loader.js +6 -3
- package/dist/types/lumina.d.ts +30 -1
- package/dist/types/preact.d.ts +33 -1
- package/dist/types/react.d.ts +36 -1
- package/dist/types/stencil.d.ts +30 -1
- package/dist/utils/layer-list-utils.d.ts +10 -0
- package/package.json +4 -4
- package/dist/cdn/6LACZH6O.js +0 -2
- package/dist/cdn/BMJ6NYIZ.js +0 -2
- package/dist/cdn/GQF32YL2.js +0 -2
- package/dist/cdn/HTCDJDRI.js +0 -2
- package/dist/cdn/I6IJUCE6.js +0 -2
- package/dist/cdn/IHDXJ4C3.js +0 -2
- package/dist/cdn/IJZYN6XT.js +0 -2
- package/dist/cdn/IYEZB6EU.js +0 -2
- package/dist/cdn/QJSXXDUJ.js +0 -2
- package/dist/cdn/SFSNTAYE.js +0 -2
- package/dist/cdn/T5KVNE3U.js +0 -3
- package/dist/cdn/WLMFCIBM.js +0 -2
- package/dist/cdn/XTGCV3LY.js +0 -2
- /package/dist/cdn/{T4OPNOZJ.js → OTZMVWAB.js} +0 -0
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { c as P } from "../../chunks/runtime.js";
|
|
3
|
+
import { css as B, html as n } from "lit";
|
|
4
|
+
import { keyed as h } from "lit/directives/keyed.js";
|
|
5
|
+
import { repeat as O } from "lit/directives/repeat.js";
|
|
6
|
+
import D from "@arcgis/core/widgets/BasemapLayerList/BasemapLayerListViewModel.js";
|
|
7
|
+
import y from "@arcgis/core/core/Collection.js";
|
|
8
|
+
import { on as z, watch as S } from "@arcgis/core/core/reactiveUtils.js";
|
|
9
|
+
import { LitElement as G, createEvent as N, renderElement as L, safeClassMap as g, nothing as _ } from "@arcgis/lumina";
|
|
10
|
+
import { usePropertyChange as U } from "@arcgis/lumina/controllers";
|
|
11
|
+
import { reEmitEvent as H } from "@arcgis/lumina/controllers/accessor";
|
|
12
|
+
import { classes as Y } from "@arcgis/toolkit/dom";
|
|
13
|
+
import { generateGuid as j } from "@arcgis/toolkit/string";
|
|
14
|
+
import { createRef as m, ref as f } from "lit/directives/ref.js";
|
|
15
|
+
import { u as V } from "../../chunks/useCloseEvent.js";
|
|
16
|
+
import { u as Z } from "../../chunks/useT9n.js";
|
|
17
|
+
import { m as q } from "../../chunks/useViewModel.js";
|
|
18
|
+
import { g as v } from "../../chunks/globalCss.js";
|
|
19
|
+
import { g as d, a as x, b as J, r as K, s as $, c as Q, d as W, e as X } from "../../chunks/layer-list-utils.js";
|
|
20
|
+
import { ArcgisLayerListItem as ee } from "../arcgis-layer-list-next/layer-list-item/customElement.js";
|
|
21
|
+
import { s as te } from "../../chunks/layer-list-item.js";
|
|
22
|
+
import "../../chunks/layer-list-item-indicator.js";
|
|
23
|
+
import "../arcgis-layer-list-item-panel/customElement.js";
|
|
24
|
+
const p = {
|
|
25
|
+
actionMenu: "action-menu",
|
|
26
|
+
actionGroup: "action-group",
|
|
27
|
+
filterNoResults: "filter-no-results",
|
|
28
|
+
item: "item",
|
|
29
|
+
itemActive: "active",
|
|
30
|
+
itemContentBottom: "content-bottom",
|
|
31
|
+
itemMessage: "message",
|
|
32
|
+
itemActionIcon: "action-icon",
|
|
33
|
+
itemActionImage: "action-image",
|
|
34
|
+
itemTemporaryIcon: "temporary-icon",
|
|
35
|
+
itemTableIcon: "table-icon",
|
|
36
|
+
itemCatalogIcon: "catalog-icon",
|
|
37
|
+
statusIndicator: "status-indicator",
|
|
38
|
+
publishing: "publishing",
|
|
39
|
+
updating: "updating",
|
|
40
|
+
connectionStatus: "connection-status",
|
|
41
|
+
connectionStatusConnected: "connection-status--connected",
|
|
42
|
+
visibleToggle: "visible-toggle",
|
|
43
|
+
visibleIcon: "visible-icon",
|
|
44
|
+
section: "section",
|
|
45
|
+
editing: "editing",
|
|
46
|
+
editingForm: "editing-form"
|
|
47
|
+
}, ie = B`@keyframes esri-basemap-slide{0%{opacity:0;margin-top:0;margin-left:0}75%{opacity:0;margin-top:0;margin-left:0}to{opacity:1;margin-top:5px;margin-left:5px}}@keyframes esri-docking-animation{0%{opacity:0}25%{opacity:0}to{opacity:1}}@keyframes popup-intro-animation-down{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translate(0)}}@keyframes popup-intro-animation-up{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translate(0)}}@supports (-ms-ime-align: auto){.esri-slider__anchor:focus{outline:1px dotted #000}}@keyframes esri-spinner--start-animation{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes esri-spinner--finish-animation{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}@keyframes esri-spinner--rotate-animation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion){.esri-utility-network-trace__reset-prompt{animation:none!important}}@media(prefers-reduced-motion){.esri-popup--aligned-top-center,.esri-popup--aligned-top-left,.esri-popup--aligned-top-right,.esri-popup--aligned-bottom-center,.esri-popup--aligned-bottom-left,.esri-popup--aligned-bottom-right,.esri-popup--is-docked{animation:none!important}}@media(prefers-reduced-motion:reduce){.esri-fov-overlay{animation:none!important}}@keyframes esri-fade-in-down{0%{opacity:0;transform:translateY(-5px)}25%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translate(0)}}@keyframes esri-fade-in-up{0%{opacity:0;transform:translateY(5px)}25%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translate(0)}}@keyframes esri-fade-in{0%{opacity:0}25%{opacity:0}to{opacity:1}}@keyframes esri-fade-in-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes looping-progresss-bar-ani{0%{width:0;left:0}20%{width:20%;left:0}80%{width:20%;left:80%}to{width:0;left:100%}}@keyframes esri-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes panel-advance{0%{opacity:0;transform:translate(50px) scale(.99)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes panel-retreat{0%{opacity:0;transform:translate(-50px) scale(.99)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes panel-advance--rtl{0%{opacity:0;transform:translate(-50px) scale(.99)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes panel-retreat--rtl{0%{opacity:0;transform:translate(50px) scale(.99)}to{opacity:1;transform:translate(0) scale(1)}}.esri-widget__heading{color:var(--calcite-color-text-2);margin:0 0 .5rem;font-weight:var(--calcite-font-weight-semibold)}h1.esri-widget__heading{font-size:var(--calcite-font-size-xl)}h2.esri-widget__heading{font-size:var(--calcite-font-size-md)}h3.esri-widget__heading,h4.esri-widget__heading,h5.esri-widget__heading,h6.esri-widget__heading{font-size:var(--calcite-font-size)}.esri-widget{box-sizing:border-box;color:var(--calcite-color-text-2);background-color:var(--calcite-color-foreground-1);font-size:var(--calcite-font-size);line-height:var(--calcite-font-line-height-relative-tight)}.esri-widget *,.esri-widget :before,.esri-widget :after{box-sizing:inherit}.esri-widget.esri-widget--disabled>*{opacity:.4;pointer-events:none}.esri-widget.esri-widget--compact{--esri-widget-padding-y: 0;--esri-widget-padding-x: 0}.esri-widget__anchor{color:var(--calcite-color-text-2)}.esri-widget__anchor:hover{color:var(--calcite-color-text-3)}.esri-widget__anchor:hover,.esri-widget__anchor:focus{text-decoration:underline}.esri-widget__anchor--disabled{opacity:.4;pointer-events:none}.esri-widget__header{background-color:var(--calcite-color-foreground-1);flex:1 0 100%;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:12px 0 12px 15px;display:flex}.esri-widget__heading{word-break:break-word}.esri-widget__header .esri-widget__heading{width:calc(100% - 48px);text-align:initial;color:var(--calcite-color-text-1);align-items:center;margin:0;padding:0;display:flex}.esri-widget__header-button{appearance:none;cursor:pointer;color:var(--calcite-color-text-2);background-color:var(--calcite-color-foreground-1);border:none;flex:0 0 48px;justify-content:center;align-self:stretch;align-items:center;width:48px;padding:0;display:flex}.esri-widget__footer{background-color:var(--calcite-color-foreground-1);justify-content:center;align-items:center;width:100%;min-height:48px;display:flex}.esri-widget__footer-pagination{color:var(--calcite-color-text-2);justify-content:space-between;align-items:center;display:flex}.esri-widget__footer-pagination-previous-button,.esri-widget__footer-pagination-next-button{cursor:pointer;background-color:var(--calcite-color-foreground-1);border:0;margin:0 7px;padding:12px 15px;transition:background-color .125s ease-in-out}.esri-widget__footer-pagination-previous-button:hover,.esri-widget__footer-pagination-previous-button:focus,.esri-widget__footer-pagination-next-button:hover,.esri-widget__footer-pagination-next-button:focus{color:var(--calcite-color-text-1);background-color:var(--calcite-color-foreground-1)}.esri-menu{visibility:hidden;z-index:1;background-clip:padding;background-color:var(--calcite-color-foreground-1);background-clip:padding-box;width:100%;max-height:0;margin:2px 0 0;padding:0;font-size:var(--calcite-font-size);line-height:var(--calcite-spacing-xl);position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 1px 2px #0000004d}.esri-menu .esri-menu__header{color:var(--calcite-color-text-inverse);background-color:var(--calcite-color-inverse);padding:6px 12px}.esri-menu__list{margin:0;padding:0;list-style:none}.esri-menu__list-item{cursor:pointer;border-top:1px solid #adadad4d;border-left:3px solid #0000;padding:.8em 1em}.esri-menu__list-item [class^=esri-icon-],.esri-menu__list-item [class*=" esri-icon-"]{padding-right:2.8px}.esri-menu__list-item:first-child{border-top:none}.esri-menu__list-item--focus,.esri-menu__list-item:hover,.esri-menu__list-item:focus{background-color:var(--calcite-color-foreground-1)}.esri-menu__list-item:active{background-color:var(--calcite-color-foreground-current)}.esri-menu__list-item--active,.esri-menu__list-item--active:hover,.esri-menu__list-item--active:focus{background-color:var(--calcite-color-foreground-1);border-left-color:var(--calcite-color-brand)}.esri-widget__table{border-collapse:collapse;color:var(--calcite-color-text-1);border:none;width:100%;line-height:var(--calcite-font-line-height-relative-tight)}.esri-widget__table tr:nth-child(odd){background-color:var(--calcite-color-transparent)}.esri-widget__table tr:nth-child(2n){background-color:var(--calcite-color-transparent-press)}.esri-widget__table tr a{color:var(--calcite-color-text-2)}.esri-widget__table tr a:hover,.esri-widget__table tr a:focus{color:var(--calcite-color-text-1)}.esri-widget__table tr td,.esri-widget__table tr th{vertical-align:top;word-break:break-word;padding:.5em .7em;font-size:var(--calcite-font-size-sm);font-weight:var(--calcite-font-weight-regular)}.esri-widget__table tr th{text-align:left;border-right:3px solid #0000000d;width:50%}.esri-widget__table tr td{width:50%}.esri-input{color:var(--calcite-color-text-1);background-color:var(--calcite-color-foreground-1);border:1px solid #959595;font-size:var(--calcite-font-size)}.esri-input::-ms-clear{display:none}.esri-input::placeholder{opacity:1;color:var(--calcite-color-text-2)}.esri-input:placeholder-shown{text-overflow:ellipsis}.esri-input[type=text],.esri-input[type=password],.esri-input[type=number]{height:32px;padding:0 .5em}calcite-combobox.esri-input{border:none}.esri-widget__content--empty{text-align:center;color:var(--calcite-color-border-input);flex-flow:column wrap;align-items:center;padding:18px 22px;display:flex}.esri-widget__content--empty h1.esri-widget__heading,.esri-widget__content--empty h2.esri-widget__heading,.esri-widget__content--empty h3.esri-widget__heading,.esri-widget__content--empty h4.esri-widget__heading,.esri-widget__content--empty h5.esri-widget__heading{font-weight:var(--calcite-font-weight-regular)}.esri-widget__content-illustration--empty{width:128px;padding:1rem 0}.esri-widget__content-icon--empty{width:32px;padding:.5rem 0}.esri-select{appearance:none;cursor:pointer;color:var(--calcite-color-text-2);background:var(--calcite-color-foreground-1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 32 32' width='32' height='32'%3E%3Cpath d='M8 11.207l-4-4V5.793l4 4 4-4v1.414z' fill='%23adadad' fillrule='nonzero'/%3E%3C/svg%3E") 100% no-repeat;border:1px solid #959595;border-radius:0;width:100%;height:32px;margin:0;padding:0 .5em;font-family:inherit;font-size:.85em;display:block}.esri-select[disabled]{cursor:auto}.esri-select::-ms-expand{display:none}.esri-disabled a,.esri-disabled [role=menu],.esri-disabled [role=checkbox],.esri-disabled [class^=esri-icon-],.esri-disabled [class*=" esri-icon-"]{color:var(--calcite-color-text-3)}.keynav-mode .esri-widget:focus,.keynav-mode .esri-widget :focus{z-index:1;outline-offset:2px;outline:2px solid #adadad}.esri-widget__loader-animation{border:.15em solid #adadad4d;border-top-color:var(--calcite-color-border-input);border-radius:100%;width:1em;height:1em;font-size:var(--calcite-font-size-md);animation:1.25s linear infinite esri-rotate;display:block;transform:translateZ(0)}:dir(rtl) .esri-widget__table th{text-align:right;border-left:3px solid #0000000d;border-right:none}:dir(rtl) .esri-select{background-position:0}:dir(rtl) .esri-menu__list-item{border-left:none;border-right:3px solid #0000}:dir(rtl) .esri-menu__list-item [class^=esri-icon-],:dir(rtl) .esri-menu__list-item [class*=" esri-icon-"]{padding-left:2px;padding-right:0}:dir(rtl) .esri-menu__list-item--active{border-right-color:var(--calcite-color-brand)}.esri-icon-font-fallback-text{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.esri-rotating{animation:1.25s linear infinite esri-rotate;transform:translateZ(0)}.esri-clearfix:before,.esri-clearfix:after{content:" ";display:table}.esri-clearfix:after{clear:both}.esri-interactive{cursor:pointer}.esri-hidden{display:none!important}.esri-invisible{visibility:hidden!important}.esri-offscreen{position:absolute;top:-999em;left:-999em}.esri-match-height{flex-direction:column;flex:auto;display:flex;overflow:hidden}.esri-widget--panel{min-width:300px;min-height:32px;padding:var(--arcgis-internal-padding);transition:max-height .25s ease-in-out;overflow-y:auto}:host{display:flex;min-height:var(--calcite-space-3xl);overflow-y:auto;transition:max-height .25s ease-in-out;--arcgis-layer-list-visibility-icon: hidden}:host>div{display:flex;width:100%}.editing-form{display:flex;height:100%}.filter-no-results{padding:var(--calcite-spacing-md) var(--calcite-space-md-plus)}.item{--calcite-list-item-icon-center: 8.5px}.table-icon,.catalog-icon{margin-inline-end:0}.action-image{flex:0 0 var(--calcite-spacing-xl);width:var(--calcite-spacing-xl);height:var(--calcite-spacing-xl);background-position:50%;background-repeat:no-repeat;background-size:contain;font-size:var(--calcite-font-size);text-align:center}.action-menu .action-group{display:none}.action-menu[open] .action-group{display:flex}.active:hover>.visible-toggle>.visible-icon,.active:focus>.visible-toggle>.visible-icon,.active:focus-within>.visible-toggle>.visible-icon{visibility:visible}.status-indicator{margin-inline:0}.content-bottom,.message{margin:var(--calcite-spacing-md) var(--calcite-space-md-plus)}.editing{padding-block:var(--calcite-spacing-sm);padding-inline:var(--calcite-spacing-sm)}`, F = "nested", se = ".*\\S+.*", T = "data-basemap-layer-type", ae = q(D);
|
|
48
|
+
class re extends G {
|
|
49
|
+
constructor() {
|
|
50
|
+
super(...arguments), this._baseListRef = m(), this._referenceListRef = m(), this._editTitleInputRef = m(), this._layerFlowItemRef = m(), this._panelFlowItemRef = m(), this._rootFlowItemRef = m(), this._editingFlowItemRef = m(), this._lastDragDetail = null, this._selectedDragItemLayerUid = null, this._rootGroupUid = `basemap-${j()}`, this._openedLayersController = null, this._focusRootFlowItem = !1, this._focusPanelFlowItem = !1, this._focusLayerFlowItem = null, this._focusEditingFlowItem = !1, this.messages = Z(), this.viewModel = ae(this), this.arcgisClose = V(this), this._canMove = ({ dragEl: e, fromEl: t, toEl: i }, s) => {
|
|
51
|
+
const r = s === "pull" ? this.listItemCanGiveFunction : this.listItemCanReceiveFunction, o = d(e, this._allItems);
|
|
52
|
+
if (!o?.sortable)
|
|
53
|
+
return !1;
|
|
54
|
+
const a = d(t, this._allItems), l = x(t), c = d(i, this._allItems), b = x(i), u = !!l && !!b && l === b, k = { selected: o, from: a, to: c }, C = t.group, M = i.group, R = a?.layer?.type ?? "", A = c?.layer?.type ?? "", I = /* @__PURE__ */ new Set(["map-image", "catalog", "knowledge-graph"]);
|
|
55
|
+
return C && M && typeof r == "function" ? r(k) : u && !I.has(R) && !I.has(A) && o.layer?.type !== "sublayer";
|
|
56
|
+
}, this._onTriggerAction = (e, t) => {
|
|
57
|
+
this.triggerAction(e, t);
|
|
58
|
+
}, this._onTooltipReferenceChange = (e, t) => {
|
|
59
|
+
t ? this._tooltipReferenceMap.set(e, t) : this._tooltipReferenceMap.delete(e);
|
|
60
|
+
}, this._onTablesOpen = (e) => {
|
|
61
|
+
this.openedLayers.push(e.layer), this._focusLayerFlowItem = e.layer?.uid ?? null;
|
|
62
|
+
}, this._onCatalogOpen = (e) => {
|
|
63
|
+
this.openedLayers.push(e.layer?.parent), this._focusLayerFlowItem = e.layer?.uid ?? null;
|
|
64
|
+
}, this._onPanelOpen = () => {
|
|
65
|
+
this._focusPanelFlowItem = !0;
|
|
66
|
+
}, this._clearActiveItem = () => {
|
|
67
|
+
this._activeItem = null;
|
|
68
|
+
}, this._setCurrentActiveItem = (e) => {
|
|
69
|
+
this._activeItem = e;
|
|
70
|
+
}, this._setActiveItem = (e) => {
|
|
71
|
+
if (this.visibilityAppearance !== "default")
|
|
72
|
+
return;
|
|
73
|
+
const t = Array.from(e.composedPath()).find((i) => i.classList?.contains(p.item));
|
|
74
|
+
this._activeItem = d(t, this._allItems) ?? null;
|
|
75
|
+
}, this._onSelectedDragItemLayerUidChange = (e) => {
|
|
76
|
+
this._selectedDragItemLayerUid = e;
|
|
77
|
+
}, this._toggleEditingTitle = () => {
|
|
78
|
+
const e = !this.editingTitle;
|
|
79
|
+
this.editingTitle = e, e ? this._focusEditingFlowItem = !0 : this._focusRootFlowItem = !0;
|
|
80
|
+
}, this._formSubmit = (e) => {
|
|
81
|
+
e.preventDefault();
|
|
82
|
+
const t = this._editTitleInputRef.value?.value;
|
|
83
|
+
t?.trim() && (this.basemapTitle = t), this._toggleEditingTitle();
|
|
84
|
+
}, this._activeItem = null, this._tooltipReferenceMap = /* @__PURE__ */ new Map(), this._layerListMap = /* @__PURE__ */ new Map(), this.openedLayerLists = new y(), this.view = this.viewModel.view, this.autoDestroyDisabled = !1, this.baseFilterText = "", this.baseListItemCreatedFunction = this.viewModel.baseListItemCreatedFunction, this.basemapTitle = this.viewModel.basemapTitle, this.closed = !1, this.collapsed = !1, this.dragEnabled = !1, this.editingTitle = !1, this.filterPlaceholder = "", this.headingLevel = 2, this.icon = "layers", this.layerTablesEnabled = new y(["knowledge-graph"]), this.minFilterItems = J, this.openedLayers = new y(), this.referenceFilterText = "", this.referenceListItemCreatedFunction = this.viewModel.referenceListItemCreatedFunction, this.selectedItems = new y(), this.selectionMode = "none", this.visibilityAppearance = "default", this.hideBaseLayers = !1, this.hideCatalogLayerList = !1, this.hideHeading = !1, this.hideReferenceLayers = !1, this.hideStatusIndicators = !1, this.showCloseButton = !1, this.showCollapseButton = !1, this.showEditTitleButton = !1, this.showErrors = !1, this.showFilter = !1, this.showTemporaryLayerIndicators = !1, this.state = this.viewModel.state, this.arcgisPropertyChange = U()("state"), this.arcgisReady = N(), this.arcgisTriggerAction = H(() => this.viewModel, "trigger-action");
|
|
85
|
+
}
|
|
86
|
+
static {
|
|
87
|
+
this.properties = { _activeItem: 16, _catalogLayerList: 16, _tableList: 16, _tooltipReferenceMap: 16, _layerListMap: 16, openedLayerLists: 16, _allItems: 16, _visibleBaseItems: 16, _visibleReferenceItems: 16, _openedPanelItems: 16, _totalBaseItems: 16, _totalReferenceItems: 16, _baseFilterEnabled: 16, _referenceFilterEnabled: 16, _renderedOpenLayerFlowItems: 16, view: 0, autoDestroyDisabled: 5, baseFilterPredicate: 0, baseFilterText: 1, baseItems: 32, baseListItemCreatedFunction: 0, basemapTitle: 1, catalogLayerList: 32, catalogOptions: 0, closed: 5, collapsed: 7, dragEnabled: 5, editingTitle: 5, filterPlaceholder: 1, headingLevel: 9, icon: 1, knowledgeGraphOptions: 0, label: 1, layerTablesEnabled: 0, listItemCanGiveFunction: 0, listItemCanReceiveFunction: 0, mapImageOptions: 0, minFilterItems: 9, openedLayers: 32, position: 1, referenceElement: 1, referenceFilterPredicate: 0, referenceFilterText: 1, referenceItems: 32, referenceListItemCreatedFunction: 0, selectedItems: 0, selectionMode: 1, tableList: 32, tileOptions: 0, visibilityAppearance: 1, hideBaseLayers: 5, hideCatalogLayerList: 5, hideHeading: 5, hideReferenceLayers: 5, hideStatusIndicators: 5, showCloseButton: 5, showCollapseButton: 5, showEditTitleButton: 5, showErrors: 5, showFilter: 5, showTemporaryLayerIndicators: 5, messageOverrides: 0, state: 32 };
|
|
88
|
+
}
|
|
89
|
+
static {
|
|
90
|
+
this.styles = [ie, te];
|
|
91
|
+
}
|
|
92
|
+
get _allItems() {
|
|
93
|
+
return this.referenceItems.concat(this.baseItems);
|
|
94
|
+
}
|
|
95
|
+
get _visibleBaseItems() {
|
|
96
|
+
return this.baseItems.filter((e) => !e.hidden && (this.showErrors || !e.error));
|
|
97
|
+
}
|
|
98
|
+
get _visibleReferenceItems() {
|
|
99
|
+
return this.referenceItems.filter((e) => !e.hidden && (this.showErrors || !e.error));
|
|
100
|
+
}
|
|
101
|
+
get _openedPanelItems() {
|
|
102
|
+
return this._visibleReferenceItems.concat(this._visibleBaseItems).flatten((e) => e.children).filter(({ hidden: e, panel: t }) => !e && t?.open && !t.disabled && t.flowEnabled);
|
|
103
|
+
}
|
|
104
|
+
get _totalBaseItems() {
|
|
105
|
+
return this.viewModel.baseItems.flatten((e) => e.children.filter((t) => t.layer?.type !== "catalog-dynamic-group")).length;
|
|
106
|
+
}
|
|
107
|
+
get _totalReferenceItems() {
|
|
108
|
+
return this.viewModel.referenceItems.flatten((e) => e.children.filter((t) => t.layer?.type !== "catalog-dynamic-group")).length;
|
|
109
|
+
}
|
|
110
|
+
get _baseFilterEnabled() {
|
|
111
|
+
return this._totalBaseItems >= this.minFilterItems && this.showFilter;
|
|
112
|
+
}
|
|
113
|
+
get _referenceFilterEnabled() {
|
|
114
|
+
return this._totalReferenceItems >= this.minFilterItems && this.showFilter;
|
|
115
|
+
}
|
|
116
|
+
get _renderedOpenLayerFlowItems() {
|
|
117
|
+
return this.openedLayers.toArray().map((e, t) => this._renderLayerFlowItem(e, t === this.openedLayers.length - 1));
|
|
118
|
+
}
|
|
119
|
+
get baseItems() {
|
|
120
|
+
return this.viewModel.baseItems;
|
|
121
|
+
}
|
|
122
|
+
get catalogLayerList() {
|
|
123
|
+
return this._catalogLayerList;
|
|
124
|
+
}
|
|
125
|
+
get referenceItems() {
|
|
126
|
+
return this.viewModel.referenceItems;
|
|
127
|
+
}
|
|
128
|
+
get tableList() {
|
|
129
|
+
return this._tableList;
|
|
130
|
+
}
|
|
131
|
+
async destroy() {
|
|
132
|
+
await this.manager.destroy(), this._destroyOpenedLayerLists(), this._tooltipReferenceMap.clear();
|
|
133
|
+
}
|
|
134
|
+
loaded() {
|
|
135
|
+
this.manager.onLifecycle(() => [
|
|
136
|
+
z(() => this.openedLayers, "change", () => {
|
|
137
|
+
this._handleOpenedLayersChange();
|
|
138
|
+
}, { initial: !0 }),
|
|
139
|
+
S(() => [this.viewModel.referenceItems.toArray(), this.viewModel.baseItems.toArray()], () => K(this.selectedItems), { initial: !0 })
|
|
140
|
+
]);
|
|
141
|
+
}
|
|
142
|
+
updated() {
|
|
143
|
+
$(this._baseListRef.value, this.baseFilterPredicate, this.baseItems), $(this._referenceListRef.value, this.referenceFilterPredicate, this.referenceItems);
|
|
144
|
+
}
|
|
145
|
+
triggerAction(e, t) {
|
|
146
|
+
this.viewModel.triggerAction(e, t);
|
|
147
|
+
}
|
|
148
|
+
async _createFlowList(e, t) {
|
|
149
|
+
const i = this._layerListMap.get(e);
|
|
150
|
+
if (i)
|
|
151
|
+
return i;
|
|
152
|
+
const s = e.type === "catalog" ? await this._createCatalogLayerList(e) : await this._createTableList(e);
|
|
153
|
+
return t.aborted || this._layerListMap.set(e, s), s;
|
|
154
|
+
}
|
|
155
|
+
async _handleOpenedLayersChange() {
|
|
156
|
+
const { _layerListMap: e, openedLayers: t, openedLayerLists: i } = this;
|
|
157
|
+
this._openedLayersController?.abort();
|
|
158
|
+
const s = new AbortController(), { signal: r } = s;
|
|
159
|
+
this._openedLayersController = s, e.forEach((l, c) => {
|
|
160
|
+
t.includes(c) || (l?.destroy?.(), e.delete(c));
|
|
161
|
+
});
|
|
162
|
+
const o = await Promise.all(t.map((l) => this._createFlowList(l, r)));
|
|
163
|
+
if (r.aborted)
|
|
164
|
+
return;
|
|
165
|
+
i.removeAll(), i.addMany(o);
|
|
166
|
+
const a = i.at(-1);
|
|
167
|
+
a ? "catalogLayer" in a ? (this._catalogLayerList = a, this._tableList = void 0) : (this._catalogLayerList = void 0, this._tableList = a) : (this._catalogLayerList = void 0, this._tableList = void 0);
|
|
168
|
+
}
|
|
169
|
+
_destroyOpenedLayerLists() {
|
|
170
|
+
this.openedLayerLists.destroyAll(), this.openedLayers.removeAll(), this._layerListMap.clear();
|
|
171
|
+
}
|
|
172
|
+
async _createCatalogLayerList(e) {
|
|
173
|
+
const { headingLevel: t, catalogOptions: i, filterPlaceholder: s, minFilterItems: r, selectionMode: o, visibilityAppearance: a, layerTablesEnabled: l } = this;
|
|
174
|
+
return L(n`<arcgis-catalog-layer-list .headingLevel=${t} .filterPlaceholder=${i?.filterPlaceholder ?? s} .listItemCreatedFunction=${i?.listItemCreatedFunction} .minFilterItems=${i?.minFilterItems ?? r} .selectionMode=${i?.selectionMode ?? o} .visibilityAppearance=${i?.visibilityAppearance ?? a} .showErrors=${i?.visibleElements?.errors ?? this.showErrors} .showFilter=${i?.visibleElements?.filter ?? this.showFilter} .hideStatusIndicators=${i?.visibleElements?.statusIndicators ?? this.hideStatusIndicators} .showTemporaryLayerIndicators=${i?.visibleElements?.temporaryLayerIndicators ?? this.showTemporaryLayerIndicators} @arcgisReady=${(c) => c.stopPropagation()} .catalogLayer=${e} .layerTablesEnabled=${l} .view=${this.view} .referenceElement=${this.referenceElement} @catalogOpen=${this._onCatalogOpen} @tablesOpen=${this._onTablesOpen}></arcgis-catalog-layer-list>`);
|
|
175
|
+
}
|
|
176
|
+
_getTableListParams(e) {
|
|
177
|
+
switch (e.type) {
|
|
178
|
+
case "knowledge-graph":
|
|
179
|
+
return { ...this.knowledgeGraphOptions, tables: e.tables };
|
|
180
|
+
case "map-image":
|
|
181
|
+
return { ...this.mapImageOptions, tables: e.subtables };
|
|
182
|
+
case "tile":
|
|
183
|
+
return { ...this.tileOptions, tables: e.subtables };
|
|
184
|
+
default:
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
async _createTableList(e) {
|
|
189
|
+
const t = this._getTableListParams(e);
|
|
190
|
+
return L(n`<arcgis-table-list .headingLevel=${t?.headingLevel ?? this.headingLevel} .selectionMode=${t?.selectionMode ?? this.selectionMode} .dragEnabled=${t?.dragEnabled ?? this.dragEnabled} .collapsed=${t?.collapsed} .filterPlaceholder=${t?.filterPlaceholder} .filterText=${t?.filterText} .icon=${t?.icon ?? void 0} .label=${t?.label ?? void 0} .listItemCreatedFunction=${t?.listItemCreatedFunction} .tables=${t?.tables} .referenceElement=${this.referenceElement} @arcgisReady=${(i) => i.stopPropagation()}></arcgis-table-list>`);
|
|
191
|
+
}
|
|
192
|
+
_handlePanelFlowItemBack(e) {
|
|
193
|
+
e.open = !1, this._focusRootFlowItem = !0;
|
|
194
|
+
}
|
|
195
|
+
_moveLayerFromChildList({ toEl: e, fromEl: t, dragEl: i, newIndex: s }) {
|
|
196
|
+
const r = d(i, this._allItems), o = d(e, this._allItems), a = d(t, this._allItems), l = E(t), c = E(e);
|
|
197
|
+
s == null || !r || !a || !o || !l || !c || this.viewModel.moveListItem({
|
|
198
|
+
targetItem: r,
|
|
199
|
+
fromParentItem: a,
|
|
200
|
+
toParentItem: o,
|
|
201
|
+
newIndex: s,
|
|
202
|
+
from: l,
|
|
203
|
+
to: c
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
_handleCalciteListDragEnd(e) {
|
|
207
|
+
const { fromEl: t, toEl: i, dragEl: s, oldIndex: r } = e;
|
|
208
|
+
if (t !== i) {
|
|
209
|
+
s.remove();
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
r == null || !t || !s || t.insertBefore(s, t.children[r]);
|
|
213
|
+
}
|
|
214
|
+
_onCalciteListOrderChange(e) {
|
|
215
|
+
const { _lastDragDetail: t } = this, { toEl: i, fromEl: s, dragEl: r, newIndex: o } = e, a = t?.newIndex === o && t?.dragEl === r && t?.toEl === i && t?.fromEl === s;
|
|
216
|
+
if (!s || !i || a)
|
|
217
|
+
return;
|
|
218
|
+
this._lastDragDetail = e, this._selectedDragItemLayerUid = r.value.layer?.uid ?? null;
|
|
219
|
+
const l = s, c = i;
|
|
220
|
+
if (l === c) {
|
|
221
|
+
const b = Array.from(s.children).filter((u) => u?.matches("calcite-list-item")).map((u) => u.value.layer?.uid ?? "");
|
|
222
|
+
this._sortLayers(l, b);
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
this._moveLayerFromChildList({ toEl: c, fromEl: l, dragEl: r, newIndex: o });
|
|
226
|
+
}
|
|
227
|
+
_sortLayers(e, t) {
|
|
228
|
+
if (e === this._referenceListRef.value || e === this._baseListRef.value) {
|
|
229
|
+
const s = e === this._baseListRef.value ? this.view?.map?.basemap?.baseLayers : this.view?.map?.basemap?.referenceLayers;
|
|
230
|
+
Q(s, t);
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
const i = d(e, this._allItems);
|
|
234
|
+
i && W(i, t);
|
|
235
|
+
}
|
|
236
|
+
_handleCalciteListChange(e) {
|
|
237
|
+
if (this.selectionMode === "none")
|
|
238
|
+
return;
|
|
239
|
+
const t = e.target.selectedItems.map((i) => d(i, this._allItems)).filter(Boolean);
|
|
240
|
+
this.selectedItems.removeAll(), this.selectedItems.addMany(t);
|
|
241
|
+
}
|
|
242
|
+
_focusFlowItem(e, t) {
|
|
243
|
+
return !t || !e ? t : (e.setFocus(), !1);
|
|
244
|
+
}
|
|
245
|
+
render() {
|
|
246
|
+
const e = {
|
|
247
|
+
[v.hidden]: this.state === "loading",
|
|
248
|
+
[v.disabled]: this.state === "disabled"
|
|
249
|
+
};
|
|
250
|
+
return n`<div class=${g(Y(v.widget, v.panel, e))}>${this._renderItems()}${this._renderItemTooltips()}</div>`;
|
|
251
|
+
}
|
|
252
|
+
_renderItemTooltip(e) {
|
|
253
|
+
return e ? n`<calcite-tooltip overlay-positioning=fixed .referenceElement=${this._tooltipReferenceMap.get(e.layer?.uid ?? "")}>${this.messages.layerIncompatibleTooltip}</calcite-tooltip>` : null;
|
|
254
|
+
}
|
|
255
|
+
_renderItemTooltipNodes(e) {
|
|
256
|
+
if (e.incompatible)
|
|
257
|
+
return this._renderItemTooltip(e);
|
|
258
|
+
const t = e.children?.filter((i) => !i.hidden).toArray().map((i) => this._renderItemTooltipNodes(i));
|
|
259
|
+
return t?.length ? t : null;
|
|
260
|
+
}
|
|
261
|
+
_renderItemTooltips() {
|
|
262
|
+
return this._visibleReferenceItems.concat(this._visibleBaseItems).toArray().map((e) => this._renderItemTooltipNodes(e));
|
|
263
|
+
}
|
|
264
|
+
_renderNoLayersInfoMessage(e) {
|
|
265
|
+
return n`<div slot=message>${e}</div>`;
|
|
266
|
+
}
|
|
267
|
+
_renderNoLayersInfo(e, t) {
|
|
268
|
+
return n`<div class=${g(p.itemMessage)}>${h(t, n`<calcite-notice icon=information kind=info open width=full>${this._renderNoLayersInfoMessage(e)}</calcite-notice>`)}</div>`;
|
|
269
|
+
}
|
|
270
|
+
_renderEditingInput() {
|
|
271
|
+
return n`<div class=${g(p.editing)}><calcite-label>${this.messages.basemapTitle}<calcite-input .label=${this.messages.basemapTitle} name=basemaptitle .pattern=${se} .placeholder=${this.messages.basemapTitle} required title=${this.messages.basemapTitle ?? _} type=text .value=${this.viewModel.basemapTitle ?? void 0} ${f(this._editTitleInputRef)}></calcite-input></calcite-label></div>`;
|
|
272
|
+
}
|
|
273
|
+
_renderEditingForm() {
|
|
274
|
+
return this.editingTitle ? n`<form class=${g(p.editingForm)} @submit=${this._formSubmit}><calcite-flow-item .heading=${this.hideHeading ? void 0 : this.messages.basemapTitle} .headingLevel=${this.headingLevel} .selected=${!this.openedLayers.length && !this._openedPanelItems.length} @calciteFlowItemBack=${(e) => {
|
|
275
|
+
e.preventDefault(), this._toggleEditingTitle();
|
|
276
|
+
}} ${f(this._editingFlowItemRef)}>${this._renderEditingInput()}<calcite-button appearance=outline @click=${this._toggleEditingTitle} slot=footer-actions width=full>${this.messages.cancel}</calcite-button><calcite-button slot=footer-actions type=submit width=full>${this.messages.ok}</calcite-button></calcite-flow-item></form>` : null;
|
|
277
|
+
}
|
|
278
|
+
_renderEditTitleButton() {
|
|
279
|
+
return this.showEditTitleButton && !this.editingTitle ? n`<calcite-action icon=pencil @click=${this._toggleEditingTitle} slot=header-actions-end .text=${this.messages.edit ?? ""} title=${this.messages.edit ?? _}></calcite-action>` : null;
|
|
280
|
+
}
|
|
281
|
+
_renderItems() {
|
|
282
|
+
const e = [
|
|
283
|
+
h("root-flow-item", n`<calcite-flow-item .closable=${this.showCloseButton} .closed=${this.closed} .collapsed=${this.collapsed} .collapsible=${this.showCollapseButton} .heading=${this.hideHeading ? void 0 : this.viewModel.basemapTitle ?? this.messages.componentLabel} .headingLevel=${this.headingLevel} .selected=${!this.editingTitle && !this.openedLayers.length && !this._openedPanelItems.length} @calciteFlowItemClose=${() => {
|
|
284
|
+
this.closed = !0;
|
|
285
|
+
}} ${f(this._rootFlowItemRef)}>${this._renderEditTitleButton()}${this._renderReferenceSection()}${this._renderBaseSection()}</calcite-flow-item>`),
|
|
286
|
+
this._renderEditingForm(),
|
|
287
|
+
this._renderPanelFlowItems(),
|
|
288
|
+
this._renderedOpenLayerFlowItems
|
|
289
|
+
];
|
|
290
|
+
return this._focusRootFlowItem = this._focusFlowItem(this._rootFlowItemRef.value, this._focusRootFlowItem), this._focusEditingFlowItem = this._focusFlowItem(this._editingFlowItemRef.value, this._focusEditingFlowItem), this.closed ? null : h("root-flow", n`<calcite-flow>${e}</calcite-flow>`);
|
|
291
|
+
}
|
|
292
|
+
_renderPanelFlowItems() {
|
|
293
|
+
return O(this._openedPanelItems.toArray(), (e) => e.uid, (e, t) => {
|
|
294
|
+
const { panel: i, title: s } = e, r = () => this._handlePanelFlowItemBack(i);
|
|
295
|
+
return this._focusPanelFlowItem = this._focusFlowItem(this._panelFlowItemRef.value, this._focusPanelFlowItem), n`<calcite-flow-item .description=${s} .heading=${i.title} .headingLevel=${this.headingLevel} .selected=${!this.openedLayers.length && t === this._openedPanelItems.length - 1} @calciteFlowItemBack=${(o) => {
|
|
296
|
+
o.preventDefault(), r();
|
|
297
|
+
}} ${f(this._panelFlowItemRef)}><arcgis-layer-list-item-panel .item=${e} .view=${this.view}></arcgis-layer-list-item-panel><calcite-button appearance=transparent @click=${r} slot=footer-actions width=full>${this.messages.back}</calcite-button></calcite-flow-item>`;
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
_renderLayerFlowItem(e, t) {
|
|
301
|
+
const i = e.title || this.messages.untitledLayer;
|
|
302
|
+
return this._focusLayerFlowItem === e.uid && (this._focusLayerFlowItem = this._focusFlowItem(this._layerFlowItemRef.value, !0) ? e.uid : null), h(e.uid, n`<calcite-flow-item data-layer-uid=${e.uid ?? _} .description=${i} .heading=${this.messages[e.type === "catalog" ? "catalogLayers" : "tables"]} .headingLevel=${this.headingLevel} .selected=${t} @calciteFlowItemBack=${(s) => {
|
|
303
|
+
s.preventDefault(), this.openedLayers.pop();
|
|
304
|
+
const r = this.openedLayers.at(-1);
|
|
305
|
+
r ? this._focusLayerFlowItem = r.uid : this._focusRootFlowItem = !0;
|
|
306
|
+
}} ${f(this._layerFlowItemRef)}>${this._layerListMap.get(e)}</calcite-flow-item>`);
|
|
307
|
+
}
|
|
308
|
+
_renderList(e, t, i) {
|
|
309
|
+
const s = t === "reference" ? this._referenceFilterEnabled : this._baseFilterEnabled, r = t === "reference" ? this.referenceFilterText : this.baseFilterText, o = (t === "reference" ? this.messages.noReferenceLayers : this.messages.noBaseLayers) ?? this.messages.noItemsToDisplay ?? "";
|
|
310
|
+
return h(`block-${t}`, n`<calcite-block class=${g(p.section)} collapsible expanded .heading=${t === "reference" ? this.messages.referenceHeading : this.messages.baseHeading} .headingLevel=${this.headingLevel + 1}>${e?.length ? null : this._renderNoLayersInfo(o, t)}${h(`list-${t}`, n`<calcite-list @focusin=${this._setActiveItem} @focusout=${this._clearActiveItem} .canPull=${(a) => this._canMove(a, "pull")} .canPut=${(a) => this._canMove(a, "put")} data-basemap-layer-type=${t ?? _} data-layer-type=${this._rootGroupUid ?? _} .displayMode=${F} .dragEnabled=${this.dragEnabled} .filterEnabled=${s} .filterPlaceholder=${this.filterPlaceholder} .filterProps=${X} .filterText=${s ? r : ""} .group=${this._rootGroupUid} .label=${this.messages.componentLabel ?? ""} @mouseleave=${this._clearActiveItem} @mouseover=${this._setActiveItem} selection-appearance=border .selectionMode=${this.selectionMode} @calciteListChange=${this._handleCalciteListChange} @calciteListDragEnd=${(a) => this._handleCalciteListDragEnd(a.detail)} @calciteListFilter=${(a) => this[t === "reference" ? "referenceFilterText" : "baseFilterText"] = a.currentTarget?.filterText ?? ""} @calciteListOrderChange=${(a) => this._onCalciteListOrderChange(a.detail)} ${f(t === "reference" ? this._referenceListRef : this._baseListRef)}>${e?.toArray().map((a) => this._renderItem(a, i))}${s ? n`<div class=${g(p.filterNoResults)} slot=filter-no-results><calcite-notice kind=info open width=full>${this._renderNoLayersInfoMessage(o)}</calcite-notice></div>` : null}</calcite-list>`)}</calcite-block>`);
|
|
311
|
+
}
|
|
312
|
+
_renderBaseSection() {
|
|
313
|
+
return this.hideBaseLayers ? null : this._renderList(this._visibleBaseItems, "base", this._visibleBaseItems.length === 1);
|
|
314
|
+
}
|
|
315
|
+
_renderReferenceSection() {
|
|
316
|
+
return this.hideReferenceLayers ? null : this._renderList(this._visibleReferenceItems, "reference", !1);
|
|
317
|
+
}
|
|
318
|
+
_renderItem(e, t, i, s) {
|
|
319
|
+
return h(e.uid, ee({ activeItem: this._activeItem, canMove: this._canMove, css: p, displayMode: F, dragEnabled: this.dragEnabled && !t, hideCatalogLayerList: this.hideCatalogLayerList, hideStatusIndicators: this.hideStatusIndicators, item: e, layerTablesEnabled: this.layerTablesEnabled, listModeDisabled: this.viewModel.listModeDisabled, messages: this.messages, operationalItems: this._allItems, parent: i, parentTitles: s, rootGroupUid: this._rootGroupUid, selectedDragItemLayerUid: this._selectedDragItemLayerUid, selectedItems: this.selectedItems, selectionMode: this.selectionMode, setCurrentActiveItem: this._setCurrentActiveItem, clearActiveItem: this._clearActiveItem, showErrors: this.showErrors, showTemporaryLayerIndicators: this.showTemporaryLayerIndicators, visibilityAppearance: this.visibilityAppearance, handleAction: this._onTriggerAction, handleCatalogOpen: this._onCatalogOpen, handlePanelOpen: this._onPanelOpen, handleSelectedDragItemLayerUidChange: this._onSelectedDragItemLayerUidChange, handleTablesOpen: this._onTablesOpen, handleTooltipReferenceChange: this._onTooltipReferenceChange, view: this.view }));
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
function E(w) {
|
|
323
|
+
const e = w.closest(`[${T}]`)?.getAttribute(T);
|
|
324
|
+
return e === "base" || e === "reference" ? e : null;
|
|
325
|
+
}
|
|
326
|
+
P("arcgis-basemap-layer-list-next", re);
|
|
327
|
+
export {
|
|
328
|
+
re as ArcgisBasemapLayerListNext
|
|
329
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./customElement.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import "../arcgis-catalog-layer-list/index.js";
|
|
2
|
+
import "../arcgis-table-list/index.js";
|
|
3
|
+
import "@esri/calcite-components/components/calcite-tooltip";
|
|
4
|
+
import "@esri/calcite-components/components/calcite-notice";
|
|
5
|
+
import "@esri/calcite-components/components/calcite-label";
|
|
6
|
+
import "@esri/calcite-components/components/calcite-input";
|
|
7
|
+
import "@esri/calcite-components/components/calcite-flow-item";
|
|
8
|
+
import "@esri/calcite-components/components/calcite-button";
|
|
9
|
+
import "@esri/calcite-components/components/calcite-action";
|
|
10
|
+
import "@esri/calcite-components/components/calcite-flow";
|
|
11
|
+
import "../arcgis-layer-list-item-panel/index.js";
|
|
12
|
+
import "@esri/calcite-components/components/calcite-block";
|
|
13
|
+
import "@esri/calcite-components/components/calcite-list";
|
|
14
|
+
export * from "./customElement.js";
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/// <reference path="../../index.d.ts" />
|
|
2
|
+
import type Collection from "@arcgis/core/core/Collection.js";
|
|
3
|
+
import type CatalogLayer from "@arcgis/core/layers/CatalogLayer.js";
|
|
4
|
+
import type KnowledgeGraphLayer from "@arcgis/core/layers/KnowledgeGraphLayer.js";
|
|
5
|
+
import type MapImageLayer from "@arcgis/core/layers/MapImageLayer.js";
|
|
6
|
+
import type TileLayer from "@arcgis/core/layers/TileLayer.js";
|
|
7
|
+
import type ListItem from "@arcgis/core/widgets/LayerList/ListItem.js";
|
|
8
|
+
import type { CatalogLayerListProperties } from "@arcgis/core/widgets/CatalogLayerList.js";
|
|
9
|
+
import type { CatalogLayerListViewModelEvents } from "@arcgis/core/widgets/CatalogLayerList/CatalogLayerListViewModel.js";
|
|
10
|
+
import type { TableListProperties } from "@arcgis/core/widgets/TableList.js";
|
|
11
|
+
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
12
|
+
import type { VisibilityAppearance } from "../../utils/action-utils.js";
|
|
13
|
+
import type { setFilterPredicate } from "../../utils/layer-list-utils.js";
|
|
14
|
+
import type { ArcgisTableList } from "../arcgis-table-list/customElement.js";
|
|
15
|
+
import type { ArcgisReferenceElement, HeadingLevel } from "../types.js";
|
|
16
|
+
import type { T9nMeta } from "@arcgis/lumina/controllers";
|
|
17
|
+
import type { MapViewOrSceneView } from "@arcgis/core/views/MapViewOrSceneView.js";
|
|
18
|
+
import type { CatalogLayerListState } from "@arcgis/core/widgets/CatalogLayerList/types.js";
|
|
19
|
+
import type { ListItemModifier } from "@arcgis/core/widgets/LayerList/types.js";
|
|
20
|
+
|
|
21
|
+
export interface CatalogLayerListEvents extends CatalogLayerListViewModelEvents {}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The Catalog Layer List Next component provides a way to display a list of catalog layers and switch on/off their visibility.
|
|
25
|
+
*
|
|
26
|
+
* @since 5.2
|
|
27
|
+
* @beta
|
|
28
|
+
*/
|
|
29
|
+
export abstract class ArcgisCatalogLayerListNext extends LitElement {
|
|
30
|
+
/** @default false */
|
|
31
|
+
accessor autoDestroyDisabled: boolean;
|
|
32
|
+
accessor catalogItems: Collection<ListItem>;
|
|
33
|
+
accessor catalogLayer: CatalogLayer | null | undefined;
|
|
34
|
+
accessor catalogOptions: CatalogLayerListProperties | undefined;
|
|
35
|
+
/** @default false */
|
|
36
|
+
accessor closed: boolean;
|
|
37
|
+
/** @default false */
|
|
38
|
+
accessor collapsed: boolean;
|
|
39
|
+
/** @default "" */
|
|
40
|
+
accessor filterPlaceholder: string;
|
|
41
|
+
accessor filterPredicate: Parameters<typeof setFilterPredicate>[1] | undefined;
|
|
42
|
+
/** @default "" */
|
|
43
|
+
accessor filterText: string;
|
|
44
|
+
/** @default 2 */
|
|
45
|
+
accessor headingLevel: HeadingLevel;
|
|
46
|
+
/**
|
|
47
|
+
* This property provides the ability to show or hide the catalog layer list.
|
|
48
|
+
*
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
accessor hideCatalogLayerList: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* This property provides the ability to show or hide status indicators.
|
|
54
|
+
*
|
|
55
|
+
* @default false
|
|
56
|
+
*/
|
|
57
|
+
accessor hideStatusIndicators: boolean;
|
|
58
|
+
accessor knowledgeGraphOptions: TableListProperties | undefined;
|
|
59
|
+
accessor label: string | undefined;
|
|
60
|
+
accessor listItemCreatedFunction: ListItemModifier | null | undefined;
|
|
61
|
+
/** Overwrite localized strings for this component */
|
|
62
|
+
accessor messageOverrides: {
|
|
63
|
+
componentLabel?: string | undefined;
|
|
64
|
+
noItemsToDisplay?: string | undefined;
|
|
65
|
+
layerInvisibleAtScale?: string | undefined;
|
|
66
|
+
layerInvisibleAtTime?: string | undefined;
|
|
67
|
+
layerError?: string | undefined;
|
|
68
|
+
untitledLayer?: string | undefined;
|
|
69
|
+
layerVisibility?: string | undefined;
|
|
70
|
+
showLayer?: string | undefined;
|
|
71
|
+
hideLayer?: string | undefined;
|
|
72
|
+
layerIncompatible?: string | undefined;
|
|
73
|
+
layerIncompatibleTooltip?: string | undefined;
|
|
74
|
+
temporary?: string | undefined;
|
|
75
|
+
tables?: string | undefined;
|
|
76
|
+
catalogLayers?: string | undefined;
|
|
77
|
+
};
|
|
78
|
+
/** @internal */
|
|
79
|
+
protected messages: Partial<{
|
|
80
|
+
componentLabel: string;
|
|
81
|
+
noItemsToDisplay: string;
|
|
82
|
+
layerInvisibleAtScale: string;
|
|
83
|
+
layerInvisibleAtTime: string;
|
|
84
|
+
layerError: string;
|
|
85
|
+
untitledLayer: string;
|
|
86
|
+
layerVisibility: string;
|
|
87
|
+
showLayer: string;
|
|
88
|
+
hideLayer: string;
|
|
89
|
+
layerIncompatible: string;
|
|
90
|
+
layerIncompatibleTooltip: string;
|
|
91
|
+
temporary: string;
|
|
92
|
+
tables: string;
|
|
93
|
+
catalogLayers: string;
|
|
94
|
+
}> & T9nMeta<{
|
|
95
|
+
componentLabel: string;
|
|
96
|
+
noItemsToDisplay: string;
|
|
97
|
+
layerInvisibleAtScale: string;
|
|
98
|
+
layerInvisibleAtTime: string;
|
|
99
|
+
layerError: string;
|
|
100
|
+
untitledLayer: string;
|
|
101
|
+
layerVisibility: string;
|
|
102
|
+
showLayer: string;
|
|
103
|
+
hideLayer: string;
|
|
104
|
+
layerIncompatible: string;
|
|
105
|
+
layerIncompatibleTooltip: string;
|
|
106
|
+
temporary: string;
|
|
107
|
+
tables: string;
|
|
108
|
+
catalogLayers: string;
|
|
109
|
+
}>;
|
|
110
|
+
/** @default 10 */
|
|
111
|
+
accessor minFilterItems: number;
|
|
112
|
+
accessor onCatalogOpen: ((item: ListItem) => void) | undefined;
|
|
113
|
+
accessor onTablesOpen: ((item: ListItem) => void) | undefined;
|
|
114
|
+
get openedLayerLists(): Collection<FlowList>;
|
|
115
|
+
get openedLayers(): Collection<FlowLayer>;
|
|
116
|
+
accessor referenceElement: ArcgisReferenceElement | string | undefined;
|
|
117
|
+
accessor selectedItems: Collection<ListItem>;
|
|
118
|
+
/** @default "none" */
|
|
119
|
+
accessor selectionMode: "multiple" | "none" | "single-persist" | "single";
|
|
120
|
+
/**
|
|
121
|
+
* This property provides the ability to show or hide the close button.
|
|
122
|
+
*
|
|
123
|
+
* @default false
|
|
124
|
+
*/
|
|
125
|
+
accessor showCloseButton: boolean;
|
|
126
|
+
/**
|
|
127
|
+
* This property provides the ability to show or hide the collapse button.
|
|
128
|
+
*
|
|
129
|
+
* @default false
|
|
130
|
+
*/
|
|
131
|
+
accessor showCollapseButton: boolean;
|
|
132
|
+
/**
|
|
133
|
+
* This property provides the ability to show or hide error indicators.
|
|
134
|
+
*
|
|
135
|
+
* @default false
|
|
136
|
+
*/
|
|
137
|
+
accessor showErrors: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* This property provides the ability to show or hide the filter input.
|
|
140
|
+
*
|
|
141
|
+
* @default false
|
|
142
|
+
*/
|
|
143
|
+
accessor showFilter: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* This property provides the ability to show or hide the heading.
|
|
146
|
+
*
|
|
147
|
+
* @default false
|
|
148
|
+
*/
|
|
149
|
+
accessor showHeading: boolean;
|
|
150
|
+
/**
|
|
151
|
+
* This property provides the ability to show or hide temporary layer indicators.
|
|
152
|
+
*
|
|
153
|
+
* @default false
|
|
154
|
+
*/
|
|
155
|
+
accessor showTemporaryLayerIndicators: boolean;
|
|
156
|
+
get state(): CatalogLayerListState;
|
|
157
|
+
/** @default false */
|
|
158
|
+
accessor topLayerDisabled: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* The view associated with the component.
|
|
161
|
+
* > **Note:** The recommended approach is to fully migrate applications to use map and scene components and avoid using MapView and SceneView directly. However, if you are migrating a large application from widgets to components, you might prefer a more gradual transition. To support this use case, the SDK includes this `view` property which connects a component to a MapView or SceneView. Ultimately, once migration is complete, the arcgis-catalog-layer-list-next component will be associated with a map or scene component rather than using the `view` property.
|
|
162
|
+
*/
|
|
163
|
+
accessor view: MapViewOrSceneView | null | undefined;
|
|
164
|
+
/** @default "default" */
|
|
165
|
+
accessor visibilityAppearance: VisibilityAppearance;
|
|
166
|
+
destroy(): Promise<void>;
|
|
167
|
+
readonly arcgisPropertyChange: import("@arcgis/lumina").TargetedEvent<this, { name: "state"; }>;
|
|
168
|
+
readonly arcgisReady: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
169
|
+
readonly "@eventTypes": {
|
|
170
|
+
arcgisPropertyChange: ArcgisCatalogLayerListNext["arcgisPropertyChange"]["detail"];
|
|
171
|
+
arcgisReady: ArcgisCatalogLayerListNext["arcgisReady"]["detail"];
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export type FlowLayer = CatalogLayer | SubtablesLayer;
|
|
176
|
+
|
|
177
|
+
export type FlowList = ArcgisCatalogLayerListNext | ArcgisTableList;
|
|
178
|
+
|
|
179
|
+
export type SubtablesLayer = KnowledgeGraphLayer | MapImageLayer | TileLayer;
|