UNPKG

@arcgis/core

Version:

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

3 lines (2 loc) 1.99 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.19/LICENSE.txt */ import{isTextInput as t}from"../../../form/support/formUtils.js";import{validateDomainValue as n}from"../../../layers/support/domainUtils.js";import{validateFieldValue as e}from"../../../layers/support/fieldUtils.js";import{dateTimeIsInRange as r}from"../dateUtils.js";const o=(t,n)=>{if(!t)return!0;const{operations:e}=t;switch(n){case"INSERT":return e.supportsAdd;case"UPDATE":case"DELETE":return e.supportsUpdate;default:return!0}};function i(t,o){const{dataType:i,domain:u,field:a,maxLength:s,minLength:l,range:f,required:p}=o;if(null==t)return p?"input-validation-error::cannot-be-empty":null;if("text"===i&&"string"==typeof t){if(l>-1&&t.length<l)return"length-validation-error::too-short";if(s>-1&&t.length>s)return"length-validation-error::too-long"}return"date"!==i||r({type:a.type,range:f,value:t})?u?n(a,t,u):e(a,t):"numeric-range-validation-error::out-of-range"}function u(t,n){return!(!a(t)||!a(n))||t===n}function a(t){return null==t||""===t}function s({dataType:n,field:e,input:r}){const o=-1;if("date"===n)return o;const i=f(e.length);if(!r||!t(r))return i;const u=f(r.maxLength);return u===o?i:i===o?u:Math.min(i,u)}function l({dataType:n,field:e,input:r}){const o=-1;if("date"===n)return o;if(!r||!t(r))return o;const i=f(r.minLength);if(i<0)return o;const u=f(e.length);return u>o&&u<i?o:i}function f(t){return"number"==typeof t&&t>-1?t:-1}const p={type:"number"},c={type:"number",intlOptions:{notation:"scientific"}};function m(t){return t>=1e7||t<=-1e7}function d(t,n){return null!=t.max&&null!=t.min?n.outsideRange:null!=t.max?n.outsideRangeMax:n.outsideRangeMin}const g=t=>t&&!Number.isNaN(t.valueOf());export{o as capabilitiesAllowEditType,g as dateIsValid,f as ensureMinOrMaxLength,s as getMaxLength,l as getMinLength,d as getRangeErrorMessage,a as isEmptyValue,p as numberFormatOptions,c as scientificNumberFormatOptions,m as shouldUseScientificNotation,i as validateFormValue,u as valuesAreEquivalent};