UNPKG

@arcgis/map-components

Version:
5 lines (4 loc) 3.23 kB
/*! 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 */ import{a as u}from"./NYXWVKGC.js";import{a as p}from"./QKQNYHUC.js";import{a as e}from"./KWBN5CHV.js";import{d as g}from"./JM4XJJFL.js";import"./AX2MGWNF.js";import{A as h,B as d,C as a,G as m,a as c,g as s,q as l,r as n,s as o}from"./NIZJVZRG.js";var b=await $arcgis.l("widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel");var k=n`@layer{arcgis-link-chart-layout-switcher{display:block}}`,v={basicLayoutCategory:["basic-grid"],organicLayoutCategory:["organic-standard","organic-community","geographic-organic-standard"],treeLayoutCategory:["tree-left-to-right","radial-root-centric"],hierarchicalLayoutCategory:["hierarchical-bottom-to-top"],chronologicalLayoutCategory:["chronological-mono-timeline","chronological-multi-timeline"]},L={"organic-standard":"force-directed-link-chart-layout","organic-community":"community-link-chart-layout","basic-grid":"simple-link-chart-layout","hierarchical-bottom-to-top":"hierarchical-link-chart-layout","radial-root-centric":"radial-tree-link-chart-layout","tree-left-to-right":"smart-tree-link-chart-layout","geographic-organic-standard":"geographic-link-chart-layout","chronological-mono-timeline":"clock-forward","chronological-multi-timeline":"clock-forward"},$={"organic-standard":"forceDirected","organic-community":"community","basic-grid":"simple","hierarchical-bottom-to-top":"hierarchical","radial-root-centric":"radialTree","tree-left-to-right":"smartTree","geographic-organic-standard":"geographic","chronological-mono-timeline":"chronologicalSingle","chronological-multi-timeline":"chronologicalMultiple"},C={base:"esri-link-chart-layout-switcher"},M=u(b),r=class extends d{constructor(){super(...arguments),this.messages=p(),this.viewModel=M(this),this.autoDestroyDisabled=!1,this.icon="nodes-link",this.layout=this.viewModel.layout,this.position="top-left",this.preventExtentUpdate=this.viewModel.preventExtentUpdate,this.state=this.viewModel.state,this.arcgisSwitchLayout=g(()=>this.viewModel,"switchLayout"),this.arcgisPropertyChange=l()("state"),this.arcgisReady=h()}static{this.properties={autoDestroyDisabled:5,icon:3,label:1,layout:32,position:3,preventExtentUpdate:5,referenceElement:1,state:3}}static{this.shadowRootOptions=s}static{this.styles=k}async destroy(){await this.manager.destroy()}async switchLayout(t){this.viewModel.switchLayout(t)}render(){let{messages:t,icon:y}=this;return o`<div class=${a(c(C.base,e.widget))}><calcite-dropdown scale=s width=m max-items=9><calcite-button class=${a(e.widgetButton)} slot=trigger kind=neutral .disabled=${this.viewModel.state==="disabled"} .iconStart=${y??void 0} .label=${t.layoutOptions??"Layout"}></calcite-button>${Object.entries(v).map(([w,f])=>o`<calcite-dropdown-group selection-mode=single .groupTitle=${this.messages[w]}>${f.map(i=>o`<calcite-dropdown-item .iconStart=${L[i]} .selected=${i===this.layout?!0:void 0} @click=${()=>void this.switchLayout(i)}>${t[$[i]]}</calcite-dropdown-item>`)}</calcite-dropdown-group>`)}</calcite-dropdown></div>`}};m("arcgis-link-chart-layout-switcher",r);export{r as ArcgisLinkChartLayoutSwitcher};