UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 3.85 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{zeroDegrees as t,createAngle as e,toUnit as a,zeroMeters as n,createLength as r,createScalar as i,zeroSquareMeters as o,createArea as s}from"../../../../core/quantityUtils.js";import{makeQuantityParser as u,sanitizeAngle as l,parseLongitude as c,formatLongitudeDecimalDegreesForInputMode as f,parseLatitude as m,formatLatitudeDecimalDegreesForInputMode as p}from"./parsingAndFormattingUtils.js";import{TooltipField as g}from"./TooltipField.js";import{TooltipFieldElevation as d}from"./TooltipFieldElevation.js";import{TooltipFieldOrientation as h}from"./TooltipFieldOrientation.js";import{TooltipFieldSize as v}from"./TooltipFieldSize.js";import{getNormalizedDirection as I,DirectionMode as b}from"../../../support/angularMeasurementUtils.js";function y(n){const r=t=>t.inputUnitInfos.angle.unit,i=t=>t.sketchOptions.values.effectiveDirectionMode;return new g({name:"direction",actual:t,parse:u({createQuantity:(t,a)=>e(t,r(a),"geographic"),sanitize:l}),format:(t,e)=>{const a=i(e),n=I(t,a);switch(a){case b.Absolute:return e.formatters.direction(n);case b.Relative:return e.formatters.directionRelative(n);case b.RelativeBilateral:return e.formatters.directionRelativeBilateral(n)}},formatForInputMode:(t,e)=>{const n=I(t,i(e));return e.formatters.scalar(a(n,r(e)))},suffix:t=>t.inputUnitInfos.angle.abbreviation,title:t=>{const e=i(t),{absolute:a,relative:n}=t.messages.sketch.direction;switch(e){case b.Absolute:return a;case b.Relative:case b.RelativeBilateral:return n}},...n})}function U(t){const e=t=>t.inputUnitInfos.length.unit;return new g({name:"distance",actual:n,parse:u({createQuantity:(t,a)=>r(Math.max(t,0),e(a))}),format:(t,e)=>e.formatters.length(t),formatForInputMode:(t,n)=>n.formatters.scalar(a(t,e(n))),suffix:t=>t.inputUnitInfos.length.abbreviation,title:t=>t.messages.sketch.distance,...t})}function w(t){return U({format:(t,e)=>e.formatters.totalLength(t),title:t=>t.messages.sketch.totalLength,readOnly:!0,...t})}function F(t){return U({...t})}function x(t){const e=t=>t.inputUnitInfos.length.unit;return U({...t,parse:u({createQuantity:(t,a)=>r(t,e(a))}),format:(t,e)=>e.formatters.lengthRelative(t)})}function M(t){return new d(t)}function k(t){return new h(t)}function j(t){return new v(t)}function R(t){return B("scale",{name:"scale",actual:null,parse:u({createQuantity:t=>i(Math.abs(t))}),...t})}function Q(t){const e=t=>t.inputUnitInfos.area.unit;return new g({name:"area",actual:o,parse:u({createQuantity:(t,a)=>s(t,e(a))}),format:(t,e)=>e.formatters.area(t),formatForInputMode:(t,n)=>n.formatters.scalar(a(t,e(n))),suffix:t=>t.inputUnitInfos.area.abbreviation,title:t=>t.messages.sketch.area,readOnly:!0,...t})}function D(e){return new g({name:"x",actual:t,parse:c,format:(t,e)=>e.formatters.longitudeDecimalDegrees(t),formatForInputMode:t=>f(t),suffix:t=>t.inputUnitInfos.angle.abbreviation,title:t=>t.messages.sketch.longitude,...e})}function O(e){return new g({name:"y",actual:t,parse:m,format:(t,e)=>e.formatters.latitudeDecimalDegrees(t),formatForInputMode:t=>p(t),suffix:t=>t.inputUnitInfos.angle.abbreviation,title:t=>t.messages.sketch.latitude,...e})}function T(t){return B("x",{name:"x",...t})}function A(t){return B("y",{name:"y",...t})}function B(t,e){return new g({actual:i(0),parse:u({createQuantity:t=>i(t)}),format:(t,e)=>e.formatters.scalar(t),formatForInputMode:(t,e)=>e.formatters.scalar(t),title:e=>e.messages.sketch[t],...e})}export{Q as makeAreaField,y as makeDirectionField,F as makeDistanceField,M as makeElevationField,O as makeLatitudeField,U as makeLengthField,D as makeLongitudeField,k as makeOrientationField,x as makeRelativeDistanceField,R as makeScaleField,j as makeSizeField,w as makeTotalLengthField,T as makeXField,A as makeYField};