@formio/js 5.0.0-dev.5712.d53f35e → 5.0.0-dev.5716.bdb52c9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/formio.form.js +2 -2
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.full.js +3 -3
- package/dist/formio.full.min.js +1 -1
- package/lib/cjs/WebformBuilder.js +2 -1
- package/lib/cjs/components/currency/Currency.d.ts +0 -1
- package/lib/cjs/components/number/Number.d.ts +1 -7
- package/lib/cjs/components/number/Number.js +0 -11
- package/lib/cjs/components/number/fixtures/index.d.ts +1 -2
- package/lib/cjs/components/number/fixtures/index.js +1 -3
- package/lib/cjs/components/time/Time.d.ts +2 -2
- package/lib/cjs/components/time/Time.js +2 -3
- package/lib/cjs/components/time/fixtures/index.d.ts +1 -2
- package/lib/cjs/components/time/fixtures/index.js +1 -3
- package/lib/mjs/WebformBuilder.js +2 -1
- package/lib/mjs/components/currency/Currency.d.ts +0 -1
- package/lib/mjs/components/number/Number.d.ts +1 -7
- package/lib/mjs/components/number/Number.js +0 -11
- package/lib/mjs/components/number/fixtures/index.d.ts +1 -2
- package/lib/mjs/components/number/fixtures/index.js +1 -2
- package/lib/mjs/components/time/Time.d.ts +2 -2
- package/lib/mjs/components/time/Time.js +2 -3
- package/lib/mjs/components/time/fixtures/index.d.ts +1 -2
- package/lib/mjs/components/time/fixtures/index.js +1 -2
- package/package.json +1 -1
- package/lib/cjs/components/number/fixtures/comp10.d.ts +0 -18
- package/lib/cjs/components/number/fixtures/comp10.js +0 -21
- package/lib/cjs/components/time/fixtures/comp4.d.ts +0 -166
- package/lib/cjs/components/time/fixtures/comp4.js +0 -171
- package/lib/mjs/components/number/fixtures/comp10.d.ts +0 -18
- package/lib/mjs/components/number/fixtures/comp10.js +0 -19
- package/lib/mjs/components/time/fixtures/comp4.d.ts +0 -166
- package/lib/mjs/components/time/fixtures/comp4.js +0 -169
package/dist/formio.form.js
CHANGED
|
@@ -5203,7 +5203,7 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5203
5203
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5204
5204
|
|
|
5205
5205
|
"use strict";
|
|
5206
|
-
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst text_mask_addons_1 = __webpack_require__(/*! @formio/text-mask-addons */ \"./node_modules/@formio/text-mask-addons/dist/textMaskAddons.js\");\nconst vanilla_text_mask_1 = __webpack_require__(/*! @formio/vanilla-text-mask */ \"./node_modules/@formio/vanilla-text-mask/dist/vanillaTextMask.js\");\nconst lodash_1 = __importDefault(__webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\"));\nconst Input_1 = __importDefault(__webpack_require__(/*! ../_classes/input/Input */ \"./lib/cjs/components/_classes/input/Input.js\"));\nconst utils_1 = __webpack_require__(/*! ../../utils/utils */ \"./lib/cjs/utils/utils.js\");\nclass NumberComponent extends Input_1.default {\n static schema(...extend) {\n return Input_1.default.schema({\n type: 'number',\n label: 'Number',\n key: 'number',\n validate: {\n min: '',\n max: '',\n step: 'any',\n integer: ''\n }\n }, ...extend);\n }\n static get builderInfo() {\n return {\n title: 'Number',\n icon: 'hashtag',\n group: 'basic',\n documentation: '/userguide/form-building/form-components#number',\n weight: 30,\n schema: NumberComponent.schema()\n };\n }\n static get serverConditionSettings() {\n return NumberComponent.conditionOperatorsSettings;\n }\n static get conditionOperatorsSettings() {\n return Object.assign(Object.assign({}, super.conditionOperatorsSettings), { operators: [...super.conditionOperatorsSettings.operators, 'lessThan', 'greaterThan', 'lessThanOrEqual', 'greaterThanOrEqual'], valueComponent(classComp) {\n return Object.assign(Object.assign({}, classComp), { type: 'number' });\n } });\n }\n static savedValueTypes(schema) {\n schema = schema || {};\n return (0, utils_1.getComponentSavedTypes)(schema) || [utils_1.componentValueTypes.number];\n }\n constructor(...args) {\n var _a, _b, _c;\n super(...args);\n const separators = (0, utils_1.getNumberSeparators)(this.options.language || navigator.language);\n this.decimalSeparator = this.options.decimalSeparator = this.component.decimalSymbol || this.options.decimalSeparator\n || ((_a = this.options.properties) === null || _a === void 0 ? void 0 : _a.decimalSeparator)\n || separators.decimalSeparator;\n if (this.component.delimiter) {\n this.delimiter = this.component.thousandsSeparator || ((_b = this.options.properties) === null || _b === void 0 ? void 0 : _b.thousandsSeparator) || this.options.thousandsSeparator || separators.delimiter;\n }\n else {\n if (this.component.thousandsSeparator || ((_c = this.options.properties) === null || _c === void 0 ? void 0 : _c.thousandsSeparator) || this.options.thousandsSeparator) {\n console.warn('In order for thousands separator to work properly, you must set the delimiter to true in the component json');\n }\n this.delimiter = '';\n }\n const requireDecimal = lodash_1.default.get(this.component, 'requireDecimal', false);\n this.decimalLimit = (0, utils_1.getNumberDecimalLimit)(this.component, requireDecimal ? 2 : 20);\n // Currencies to override BrowserLanguage Config. Object key {}\n if (lodash_1.default.has(this.options, `languageOverride.${this.options.language}`)) {\n const override = lodash_1.default.get(this.options, `languageOverride.${this.options.language}`);\n this.decimalSeparator = override.decimalSeparator;\n this.delimiter = override.delimiter;\n }\n this.numberMask = this.createNumberMask();\n }\n /**\n * Creates the number mask for normal numbers.\n * @returns {*} - The number mask.\n */\n createNumberMask() {\n return (0, text_mask_addons_1.createNumberMask)({\n prefix: '',\n suffix: '',\n requireDecimal: lodash_1.default.get(this.component, 'requireDecimal', false),\n thousandsSeparatorSymbol: this.delimiter || '',\n decimalSymbol: lodash_1.default.get(this.component, 'decimalSymbol', this.decimalSeparator),\n decimalLimit: lodash_1.default.get(this.component, 'decimalLimit', this.decimalLimit),\n allowNegative: lodash_1.default.get(this.component, 'allowNegative', true),\n allowDecimal: this.isDecimalAllowed(),\n });\n }\n get defaultSchema() {\n return NumberComponent.schema();\n }\n get defaultValue() {\n let defaultValue = super.defaultValue;\n if (typeof defaultValue === 'string') {\n // Default value may be a string or have custom thousands separators or decimal symbols, so we need to call\n // parseNumber on it\n defaultValue = this.parseNumber(defaultValue);\n }\n if (!defaultValue && this.component.defaultValue === 0) {\n defaultValue = this.component.defaultValue;\n }\n if (!this.component.multiple && lodash_1.default.isArray(defaultValue)) {\n defaultValue = !defaultValue[0] && defaultValue[0] !== 0 ? null : defaultValue[0];\n }\n return defaultValue;\n }\n isDecimalAllowed() {\n return lodash_1.default.get(this.component, 'allowDecimal', !(this.component.validate && this.component.validate.integer));\n }\n /**\n * parses a numeric string by removing the delimiters and replacing the decimal separator back to '.' so that it can\n * be processed by either parseInt or parseFloat\n * @param {string} value the value to be parsed\n * @returns {number} a parsed number\n */\n parseNumber(value) {\n // Remove delimiters and convert decimal separator to dot.\n value = value.split(this.delimiter).join('').replace(this.decimalSeparator, '.');\n if (this.component.validate && this.component.validate.integer) {\n return parseInt(value, 10);\n }\n else {\n return parseFloat(value);\n }\n }\n setInputMask(input) {\n let numberPattern = '[0-9';\n numberPattern += this.decimalSeparator || '';\n numberPattern += this.delimiter || '';\n numberPattern += ']*';\n input.setAttribute('pattern', numberPattern);\n input.mask = (0, vanilla_text_mask_1.maskInput)({\n inputElement: input,\n mask: this.numberMask,\n shadowRoot: this.root ? this.root.shadowRoot : null,\n });\n }\n get inputInfo() {\n const info = super.inputInfo;\n if (this.component.mask) {\n info.attr.type = 'password';\n }\n else {\n info.attr.type = 'text';\n }\n info.attr.inputmode = this.isDecimalAllowed() ? 'decimal' : 'numeric';\n info.changeEvent = 'input';\n return info;\n }\n getValueAt(index) {\n if (!this.refs.input.length || !this.refs.input[index]) {\n return null;\n }\n const val = this.refs.input[index].value;\n return val && val !== '-_' ? this.parseNumber(val) : null;\n }\n setValueAt(index, value, flags = {}) {\n return super.setValueAt(index, this.formatValue(this.parseValue(value)), flags);\n }\n /**\n * Converts a string to a floating point number, formats the number based on the parsed float function\n * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat) and then returns the\n * formatted number back as a string\n * Example Input: \"123.456,22\"\n * Example Output: \"123456,22\"\n * @param {string | number} input the numeric string to parse\n * @returns {string | null} a parsed string\n */\n parseValue(input) {\n if (typeof input === 'string') {\n input = input.split(this.delimiter).join('').replace(this.decimalSeparator, '.');\n }\n let value = parseFloat(input);\n if (!lodash_1.default.isNaN(value)) {\n value = String(value).replace('.', this.decimalSeparator);\n }\n else {\n value = null;\n }\n return value;\n }\n formatValue(value) {\n if (this.component.requireDecimal && value && !value.includes(this.decimalSeparator)) {\n return `${value}${this.decimalSeparator}${lodash_1.default.repeat('0', this.decimalLimit)}`;\n }\n else if (this.component.requireDecimal && value && value.includes(this.decimalSeparator)) {\n return `${value}${lodash_1.default.repeat('0', this.decimalLimit - value.split(this.decimalSeparator)[1].length)}`;\n }\n return value;\n }\n focus() {\n const input = this.refs.input[0];\n if (input) {\n super.focus.call(this);\n input.setSelectionRange(0, input.value.length);\n }\n }\n getMaskedValue(value) {\n value = value === null ? '0' : value.toString();\n if (value.includes('.') && '.' !== this.decimalSeparator) {\n value = value.replace('.', this.decimalSeparator);\n }\n return (0, vanilla_text_mask_1.conformToMask)(this.formatValue(value), this.numberMask).conformedValue;\n }\n getValueAsString(value, options) {\n if (!value && value !== 0) {\n return '';\n }\n value = this.getWidgetValueAsString(value, options);\n if (Array.isArray(value)) {\n return value.map((val) => this.getMaskedValue(val)).join(', ');\n }\n return this.getMaskedValue(value);\n }\n addFocusBlurEvents(element) {\n super.addFocusBlurEvents(element);\n this.addEventListener(element, 'blur', () => {\n element.value = this.getValueAsString(this.formatValue(this.parseValue(element.value)));\n });\n }\n}\nexports[\"default\"] = NumberComponent;\n\n\n//# sourceURL=webpack://Formio/./lib/cjs/components/number/Number.js?");
|
|
5206
|
+
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst text_mask_addons_1 = __webpack_require__(/*! @formio/text-mask-addons */ \"./node_modules/@formio/text-mask-addons/dist/textMaskAddons.js\");\nconst vanilla_text_mask_1 = __webpack_require__(/*! @formio/vanilla-text-mask */ \"./node_modules/@formio/vanilla-text-mask/dist/vanillaTextMask.js\");\nconst lodash_1 = __importDefault(__webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\"));\nconst Input_1 = __importDefault(__webpack_require__(/*! ../_classes/input/Input */ \"./lib/cjs/components/_classes/input/Input.js\"));\nconst utils_1 = __webpack_require__(/*! ../../utils/utils */ \"./lib/cjs/utils/utils.js\");\nclass NumberComponent extends Input_1.default {\n static schema(...extend) {\n return Input_1.default.schema({\n type: 'number',\n label: 'Number',\n key: 'number',\n validate: {\n min: '',\n max: '',\n step: 'any',\n integer: ''\n }\n }, ...extend);\n }\n static get builderInfo() {\n return {\n title: 'Number',\n icon: 'hashtag',\n group: 'basic',\n documentation: '/userguide/form-building/form-components#number',\n weight: 30,\n schema: NumberComponent.schema()\n };\n }\n static get serverConditionSettings() {\n return NumberComponent.conditionOperatorsSettings;\n }\n static get conditionOperatorsSettings() {\n return Object.assign(Object.assign({}, super.conditionOperatorsSettings), { operators: [...super.conditionOperatorsSettings.operators, 'lessThan', 'greaterThan', 'lessThanOrEqual', 'greaterThanOrEqual'], valueComponent(classComp) {\n return Object.assign(Object.assign({}, classComp), { type: 'number' });\n } });\n }\n static savedValueTypes(schema) {\n schema = schema || {};\n return (0, utils_1.getComponentSavedTypes)(schema) || [utils_1.componentValueTypes.number];\n }\n constructor(...args) {\n var _a, _b, _c;\n super(...args);\n const separators = (0, utils_1.getNumberSeparators)(this.options.language || navigator.language);\n this.decimalSeparator = this.options.decimalSeparator = this.component.decimalSymbol || this.options.decimalSeparator\n || ((_a = this.options.properties) === null || _a === void 0 ? void 0 : _a.decimalSeparator)\n || separators.decimalSeparator;\n if (this.component.delimiter) {\n this.delimiter = this.component.thousandsSeparator || ((_b = this.options.properties) === null || _b === void 0 ? void 0 : _b.thousandsSeparator) || this.options.thousandsSeparator || separators.delimiter;\n }\n else {\n if (this.component.thousandsSeparator || ((_c = this.options.properties) === null || _c === void 0 ? void 0 : _c.thousandsSeparator) || this.options.thousandsSeparator) {\n console.warn('In order for thousands separator to work properly, you must set the delimiter to true in the component json');\n }\n this.delimiter = '';\n }\n const requireDecimal = lodash_1.default.get(this.component, 'requireDecimal', false);\n this.decimalLimit = (0, utils_1.getNumberDecimalLimit)(this.component, requireDecimal ? 2 : 20);\n // Currencies to override BrowserLanguage Config. Object key {}\n if (lodash_1.default.has(this.options, `languageOverride.${this.options.language}`)) {\n const override = lodash_1.default.get(this.options, `languageOverride.${this.options.language}`);\n this.decimalSeparator = override.decimalSeparator;\n this.delimiter = override.delimiter;\n }\n this.numberMask = this.createNumberMask();\n }\n /**\n * Creates the number mask for normal numbers.\n * @returns {*} - The number mask.\n */\n createNumberMask() {\n return (0, text_mask_addons_1.createNumberMask)({\n prefix: '',\n suffix: '',\n requireDecimal: lodash_1.default.get(this.component, 'requireDecimal', false),\n thousandsSeparatorSymbol: this.delimiter || '',\n decimalSymbol: lodash_1.default.get(this.component, 'decimalSymbol', this.decimalSeparator),\n decimalLimit: lodash_1.default.get(this.component, 'decimalLimit', this.decimalLimit),\n allowNegative: lodash_1.default.get(this.component, 'allowNegative', true),\n allowDecimal: this.isDecimalAllowed(),\n });\n }\n get defaultSchema() {\n return NumberComponent.schema();\n }\n get defaultValue() {\n let defaultValue = super.defaultValue;\n if (!defaultValue && this.component.defaultValue === 0) {\n defaultValue = this.component.defaultValue;\n }\n if (!this.component.multiple && lodash_1.default.isArray(defaultValue)) {\n defaultValue = !defaultValue[0] && defaultValue[0] !== 0 ? null : defaultValue[0];\n }\n return defaultValue;\n }\n isDecimalAllowed() {\n return lodash_1.default.get(this.component, 'allowDecimal', !(this.component.validate && this.component.validate.integer));\n }\n parseNumber(value) {\n // Remove delimiters and convert decimal separator to dot.\n value = value.split(this.delimiter).join('').replace(this.decimalSeparator, '.');\n if (this.component.validate && this.component.validate.integer) {\n return parseInt(value, 10);\n }\n else {\n return parseFloat(value);\n }\n }\n setInputMask(input) {\n let numberPattern = '[0-9';\n numberPattern += this.decimalSeparator || '';\n numberPattern += this.delimiter || '';\n numberPattern += ']*';\n input.setAttribute('pattern', numberPattern);\n input.mask = (0, vanilla_text_mask_1.maskInput)({\n inputElement: input,\n mask: this.numberMask,\n shadowRoot: this.root ? this.root.shadowRoot : null,\n });\n }\n get inputInfo() {\n const info = super.inputInfo;\n if (this.component.mask) {\n info.attr.type = 'password';\n }\n else {\n info.attr.type = 'text';\n }\n info.attr.inputmode = this.isDecimalAllowed() ? 'decimal' : 'numeric';\n info.changeEvent = 'input';\n return info;\n }\n getValueAt(index) {\n if (!this.refs.input.length || !this.refs.input[index]) {\n return null;\n }\n const val = this.refs.input[index].value;\n return val && val !== '-_' ? this.parseNumber(val) : null;\n }\n setValueAt(index, value, flags = {}) {\n return super.setValueAt(index, this.formatValue(this.parseValue(value)), flags);\n }\n /**\n * Converts a string to a floating point number, formats the number based on the parsed float function\n * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat) and then returns the\n * formatted number back as a string\n * Example Input: \"123.456,22\"\n * Example Output: \"123456,22\"\n * @param {string | number} input the numeric string to parse\n * @returns {string | null} a parsed string\n */\n parseValue(input) {\n if (typeof input === 'string') {\n input = input.split(this.delimiter).join('').replace(this.decimalSeparator, '.');\n }\n let value = parseFloat(input);\n if (!lodash_1.default.isNaN(value)) {\n value = String(value).replace('.', this.decimalSeparator);\n }\n else {\n value = null;\n }\n return value;\n }\n formatValue(value) {\n if (this.component.requireDecimal && value && !value.includes(this.decimalSeparator)) {\n return `${value}${this.decimalSeparator}${lodash_1.default.repeat('0', this.decimalLimit)}`;\n }\n else if (this.component.requireDecimal && value && value.includes(this.decimalSeparator)) {\n return `${value}${lodash_1.default.repeat('0', this.decimalLimit - value.split(this.decimalSeparator)[1].length)}`;\n }\n return value;\n }\n focus() {\n const input = this.refs.input[0];\n if (input) {\n super.focus.call(this);\n input.setSelectionRange(0, input.value.length);\n }\n }\n getMaskedValue(value) {\n value = value === null ? '0' : value.toString();\n if (value.includes('.') && '.' !== this.decimalSeparator) {\n value = value.replace('.', this.decimalSeparator);\n }\n return (0, vanilla_text_mask_1.conformToMask)(this.formatValue(value), this.numberMask).conformedValue;\n }\n getValueAsString(value, options) {\n if (!value && value !== 0) {\n return '';\n }\n value = this.getWidgetValueAsString(value, options);\n if (Array.isArray(value)) {\n return value.map((val) => this.getMaskedValue(val)).join(', ');\n }\n return this.getMaskedValue(value);\n }\n addFocusBlurEvents(element) {\n super.addFocusBlurEvents(element);\n this.addEventListener(element, 'blur', () => {\n element.value = this.getValueAsString(this.formatValue(this.parseValue(element.value)));\n });\n }\n}\nexports[\"default\"] = NumberComponent;\n\n\n//# sourceURL=webpack://Formio/./lib/cjs/components/number/Number.js?");
|
|
5207
5207
|
|
|
5208
5208
|
/***/ }),
|
|
5209
5209
|
|
|
@@ -5368,7 +5368,7 @@ eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ?
|
|
|
5368
5368
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5369
5369
|
|
|
5370
5370
|
"use strict";
|
|
5371
|
-
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst moment_1 = __importDefault(__webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\"));\nconst TextField_1 = __importDefault(__webpack_require__(/*! ../textfield/TextField */ \"./lib/cjs/components/textfield/TextField.js\"));\nconst utils_1 = __webpack_require__(/*! ../../utils/utils */ \"./lib/cjs/utils/utils.js\");\nconst defaultDataFormat = 'HH:mm:ss';\nclass TimeComponent extends TextField_1.default {\n static schema(...extend) {\n return TextField_1.default.schema({\n type: 'time',\n label: 'Time',\n key: 'time',\n inputType: 'time',\n format: 'HH:mm',\n dataFormat: defaultDataFormat,\n }, ...extend);\n }\n static get serverConditionSettings() {\n return Object.assign(Object.assign({}, super.serverConditionSettings), { valueComponent(classComp) {\n return Object.assign(Object.assign({}, classComp), { type: 'time' });\n } });\n }\n constructor(component, options, data) {\n super(component, options, data);\n const { edge: isEdgeBrowser, version: edgeVersion } = (0, utils_1.getBrowserInfo)();\n this.component.inputMask = this.getInputMaskFromFormat(this.component.format);\n this.component.inputType = isEdgeBrowser && edgeVersion <= 18\n ? 'text'\n : (this.component.inputType || 'time');\n
|
|
5371
|
+
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst moment_1 = __importDefault(__webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\"));\nconst TextField_1 = __importDefault(__webpack_require__(/*! ../textfield/TextField */ \"./lib/cjs/components/textfield/TextField.js\"));\nconst utils_1 = __webpack_require__(/*! ../../utils/utils */ \"./lib/cjs/utils/utils.js\");\nconst defaultDataFormat = 'HH:mm:ss';\nclass TimeComponent extends TextField_1.default {\n static schema(...extend) {\n return TextField_1.default.schema({\n type: 'time',\n label: 'Time',\n key: 'time',\n inputType: 'time',\n format: 'HH:mm',\n dataFormat: defaultDataFormat,\n }, ...extend);\n }\n static get serverConditionSettings() {\n return Object.assign(Object.assign({}, super.serverConditionSettings), { valueComponent(classComp) {\n return Object.assign(Object.assign({}, classComp), { type: 'time' });\n } });\n }\n constructor(component, options, data) {\n super(component, options, data);\n const { edge: isEdgeBrowser, version: edgeVersion } = (0, utils_1.getBrowserInfo)();\n this.component.inputMask = this.getInputMaskFromFormat(this.component.format);\n this.component.inputType = isEdgeBrowser && edgeVersion <= 18\n ? 'text'\n : (this.component.inputType || 'time');\n this.rawData = this.component.multiple ? [] : this.emptyValue;\n }\n static get builderInfo() {\n return {\n title: 'Time',\n icon: 'clock-o',\n group: 'advanced',\n documentation: '/userguide/form-building/advanced-components#time-1',\n weight: 55,\n schema: TimeComponent.schema(),\n };\n }\n get dataFormat() {\n return this.component.dataFormat || defaultDataFormat;\n }\n get defaultSchema() {\n return TimeComponent.schema();\n }\n get defaultValue() {\n let value = super.defaultValue;\n if (this.component.multiple && Array.isArray(value)) {\n value = value.map(item => item ? this.getStringAsValue(item) : item);\n }\n else {\n if (value) {\n value = this.getStringAsValue(value);\n }\n }\n return value;\n }\n get validationValue() {\n if (Array.isArray(this.rawData) && !this.rawData.length || !this.rawData) {\n return this.dataValue;\n }\n return this.rawData;\n }\n get inputInfo() {\n const info = super.inputInfo;\n info.attr.type = this.component.inputType;\n return info;\n }\n get skipMaskValidation() {\n return true;\n }\n isNotCompleteInput(value) {\n return value.includes('_');\n }\n removeValue(index) {\n this.rawData = Array.isArray(this.rawData) ? [...this.rawData.slice(0, index), ...this.rawData.slice(index + 1)] : this.emptyValue;\n super.removeValue(index);\n }\n resetRawData(index) {\n if (index) {\n this.setRawValue(this.emptyValue, index);\n }\n else {\n this.rawData = [];\n }\n }\n setRawValue(value, index) {\n if (Array.isArray(this.rawData)) {\n this.rawData[index] = value;\n }\n else {\n this.rawData = value;\n }\n }\n getRawValue(index) {\n if (index && Array.isArray(this.rawData)) {\n return this.rawData[index] || this.emptyValue;\n }\n else {\n return this.rawData;\n }\n }\n getValueAt(index) {\n if (!this.refs.input.length || !this.refs.input[index]) {\n return this.emptyValue;\n }\n const { value } = this.refs.input[index];\n if (!value) {\n this.resetRawData(index);\n return this.emptyValue;\n }\n this.setRawValue(value, index);\n return this.getStringAsValue(value);\n }\n setValueAt(index, value) {\n this.setRawValue(value ? this.getValueAsString(value) : value, index);\n this.refs.input[index].value = this.getRawValue(index);\n }\n getStringAsValue(view) {\n return view ? (0, moment_1.default)(view, this.component.format).format(this.component.dataFormat) : view;\n }\n getValueAsString(value) {\n if (Array.isArray(value) && this.component.multiple) {\n return value.map(item => (0, moment_1.default)(item, this.component.dataFormat).format(this.component.format)).join(', ');\n }\n return (value ? (0, moment_1.default)(value, this.component.dataFormat).format(this.component.format) : value) || '';\n }\n getInputMaskFromFormat(format) {\n if (format === 'LT') {\n return '99:99 AA';\n }\n if (format === 'LTS') {\n return '99:99:99 AA';\n }\n return format.replace(/[hHmMsSk]/g, '9')\n .replace(/[aA]/, 'AA');\n }\n addFocusBlurEvents(element) {\n super.addFocusBlurEvents(element);\n this.addEventListener(element, 'blur', () => {\n element.value = this.getValueAsString(element.value);\n });\n }\n}\nexports[\"default\"] = TimeComponent;\n\n\n//# sourceURL=webpack://Formio/./lib/cjs/components/time/Time.js?");
|
|
5372
5372
|
|
|
5373
5373
|
/***/ }),
|
|
5374
5374
|
|