@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 2.82 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{_ as e}from"../../../../chunks/tslib.es6.js";import{property as t}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as o}from"../../../../core/accessorSupport/decorators/subclass.js";import{drawContentHeaderActions as s}from"../css.js";import{directionModeIcons as i}from"./directionModeIcons.js";import r from"../../../../widgets/Widget.js";import{loadCalciteComponents as c}from"../../../../widgets/support/componentsUtils.js";import"../../../../widgets/support/widgetUtils.js";import{messageBundle as n}from"../../../../widgets/support/decorators/messageBundle.js";import{tsx as d}from"../../../../widgets/support/jsxFactory.js";let p=class extends r{constructor(e){super(e),this.visibleElements={}}render(){return d("div",{class:s},this._isElementVisible("direction")?d(l,{messages:this.messages,sketchOptions:this.sketchOptions}):null)}loadDependencies(){return c({button:()=>import("@esri/calcite-components/dist/components/calcite-button"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group")})}_isElementVisible(e){return this.visibleElements?.[e]??this.sketchOptions.tooltips.visibleElements[e]}};function l(e){const{directionMode:t}=e.sketchOptions.values,o=e.messages?.sketch,s=o?.directionModeSelect?.title,r="absolute",c="relative";return d("calcite-dropdown",{key:"direction-mode",placement:"bottom-end",scale:"s",widthScale:"s",onCalciteDropdownSelect:t=>{const o=t.currentTarget.selectedItems?.[0]?.getAttribute("data-mode");e.sketchOptions.values.directionMode=o??"absolute"}},d("calcite-button",{alignment:"end",appearance:"transparent",iconStart:i[t],kind:"neutral",label:s,scale:"s",slot:"trigger",title:s}),d("calcite-dropdown-group",{selectionMode:"single"},d("calcite-dropdown-item",{"data-mode":c,"data-testid":"tooltip-direction-mode-relative",iconStart:i.relative,key:"relative",selected:t===c},o?.directionModeSelect?.relative),d("calcite-dropdown-item",{"data-mode":r,"data-testid":"tooltip-direction-mode-absolute",iconStart:i.absolute,key:"absolute",selected:t===r},o?.directionModeSelect?.absolute)))}e([n("esri/views/interactive/tooltip/t9n/Tooltip"),t()],p.prototype,"messages",void 0),e([t()],p.prototype,"sketchOptions",void 0),e([t()],p.prototype,"visibleElements",void 0),p=e([o("esri.views.interactive.tooltip.components.DrawHeaderActions")],p);export{p as DrawHeaderActions};