@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
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{zeroDegrees as t,createScalar as e,zeroSquareMeters as a,toUnit as n,createArea as r,zeroMeters as i,createLength as o,createAngle as s}from"../../../../core/quantityUtils.js";import{formatLongitudeDecimalDegreesForInputMode as u,parseLongitude as l,formatLatitudeDecimalDegreesForInputMode as c,parseLatitude as f,makeQuantityParser as m,sanitizeAngle 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{DirectionMode as I,getNormalizedDirection as b}from"../../../support/angularMeasurementUtils.js";function y(e){const a=t=>t.inputUnitInfos.angle.unit,r=t=>t.sketchOptions.values.effectiveDirectionMode;return new g({name:"direction",actual:t,parse:m({createQuantity:(t,e)=>s(t,a(e),"geographic"),sanitize:p}),format:(t,e)=>{const a=r(e),n=b(t,a);switch(a){case I.Absolute:return e.formatters.direction(n);case I.Relative:return e.formatters.directionRelative(n);case I.RelativeBilateral:return e.formatters.directionRelativeBilateral(n)}},formatForInputMode:(t,e)=>{const i=b(t,r(e));return e.formatters.scalar(n(i,a(e)))},suffix:t=>t.inputUnitInfos.angle.abbreviation,title:t=>{const e=r(t),{absolute:a,relative:n}=t.messages.sketch.direction;switch(e){case I.Absolute:return a;case I.Relative:case I.RelativeBilateral:return n}},...e})}function U(t){const e=t=>t.inputUnitInfos.length.unit;return new g({name:"distance",actual:i,parse:m({createQuantity:(t,a)=>o(Math.max(t,0),e(a))}),format:(t,e)=>e.formatters.length(t),formatForInputMode:(t,a)=>a.formatters.scalar(n(t,e(a))),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:m({createQuantity:(t,a)=>o(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:m({createQuantity:t=>e(Math.abs(t))}),...t})}function Q(t){const e=t=>t.inputUnitInfos.area.unit;return new g({name:"area",actual:a,parse:m({createQuantity:(t,a)=>r(t,e(a))}),format:(t,e)=>e.formatters.area(t),formatForInputMode:(t,a)=>a.formatters.scalar(n(t,e(a))),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:l,format:(t,e)=>e.formatters.longitudeDecimalDegrees(t),formatForInputMode:t=>u(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:f,format:(t,e)=>e.formatters.latitudeDecimalDegrees(t),formatForInputMode:t=>c(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,a){return new g({actual:e(0),parse:m({createQuantity:t=>e(t)}),format:(t,e)=>e.formatters.scalar(t),formatForInputMode:(t,e)=>e.formatters.scalar(t),title:e=>e.messages.sketch[t],...a})}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};