UNPKG

@novin-dev/formalite

Version:

Generate MUI form with few line of code

149 lines (142 loc) 5.42 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib = require('tslib'); var numeral = require('numeral'); var get = require('lodash/get.js'); var Formalite_type = require('../Formalite.type.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var numeral__default = /*#__PURE__*/_interopDefaultLegacy(numeral); var get__default = /*#__PURE__*/_interopDefaultLegacy(get); var getData = function (_a) { var source = _a.source, key = _a.key; return get__default["default"](source, String(key)); }; var generateNestedKeyForYup = function (key) { var splitedKey = key.split("."); var generatedKey = "fields.".concat(splitedKey[0]); splitedKey.forEach(function (item, index) { if (index !== 0 && index % 2 === 0) { generatedKey += ".innerType.fields.".concat(item); } }); return generatedKey; }; var generalCheck = function (_a, type) { var _b; var schema = _a.schema, formikValues = _a.formikValues, key = _a.key; var generatedKey = generateNestedKeyForYup(key); var isRequired = false; var fieldSchema = get__default["default"](schema, generatedKey); if (((_b = fieldSchema === null || fieldSchema === void 0 ? void 0 : fieldSchema.conditions) === null || _b === void 0 ? void 0 : _b.length) > 0) { fieldSchema.conditions.every(function (condition) { var _a; var refValues = condition.refs.map(function (ref) { return getData({ source: formikValues, key: ref.key }); }); var newSchema = (_a = condition.fn).bind.apply(_a, tslib.__spreadArray(tslib.__spreadArray([null], refValues, false), [fieldSchema], false))(); isRequired = !!get__default["default"](newSchema, "exclusiveTests.".concat(type)); return !isRequired; }); } else { var value = get__default["default"](fieldSchema, "exclusiveTests.".concat(type)); isRequired = !!value; } return isRequired; }; var checkIsRequired = function (_a) { var schema = _a.schema, formikValues = _a.formikValues, key = _a.key; return generalCheck({ schema: schema, formikValues: formikValues, key: key }, "required"); }; var checkIsMin = function (_a) { var schema = _a.schema, formikValues = _a.formikValues, key = _a.key; return generalCheck({ schema: schema, formikValues: formikValues, key: key }, "min"); }; var showErrorMessage = function (error) { console.info("Formalite Error", error); }; function fData(number) { return numeral__default["default"](number).format("0.0 b"); } var getDefaultValue = function (type) { if ([ Formalite_type.ViewTypes.MultiDropZoneView, Formalite_type.ViewTypes.SingleDropZoneView, Formalite_type.ViewTypes.AvatarDropZoneView, Formalite_type.ViewTypes.CheckGroupView, Formalite_type.ViewTypes.SwitchGroupView, Formalite_type.ViewTypes.RepeaterView, ].includes(type)) { return []; } if ([ Formalite_type.ViewTypes.DatePickerView, Formalite_type.ViewTypes.DateTimePickerView, Formalite_type.ViewTypes.TimePickerView, ].includes(type)) { return null; } if (Formalite_type.ViewTypes.TextDropZoneView === type) { return { text: "", files: [], }; } return ""; }; var handleRandomClassNameOrId = function () { var text = ""; var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; for (var i = 0; i < 5; i += 1) { text += possible.charAt(Math.floor(Math.random() * possible.length)); } return text; }; var checkRegex = function (_a) { var regexs = _a.regexs, text = _a.text; if (!regexs) { return true; } // const allRegexs = regexs.filter((item) => !!item); var testResult = true; regexs.forEach(function (item) { if (item && !item.test(text)) { testResult = false; } }); return testResult; }; var resetFormFunction = function (formString) { var result = {}; Object.keys(formString).forEach(function (item) { if (formString[item].type === Formalite_type.ViewTypes.GroupView) { result = tslib.__assign(tslib.__assign({}, result), resetFormFunction(formString[item].options)); } result[item] = getDefaultValue(formString[item].type); }); return result; }; var isIOS = function () { return ([ "iPad Simulator", "iPhone Simulator", "iPod Simulator", "iPad", "iPhone", "iPod", ].includes(navigator.platform) || // iPad on iOS 13 detection (navigator.userAgent.includes("Mac") && "ontouchend" in document)); }; exports.checkIsMin = checkIsMin; exports.checkIsRequired = checkIsRequired; exports.checkRegex = checkRegex; exports.fData = fData; exports.generateNestedKeyForYup = generateNestedKeyForYup; exports.getData = getData; exports.getDefaultValue = getDefaultValue; exports.handleRandomClassNameOrId = handleRandomClassNameOrId; exports.isIOS = isIOS; exports.resetFormFunction = resetFormFunction; exports.showErrorMessage = showErrorMessage; //# sourceMappingURL=utils.js.map