dinocollab-core 1.0.3 → 1.0.5
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/_virtual/_rollupPluginBabelHelpers.js +1 -487
- package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/dist/api-context/alert-global.js +1 -165
- package/dist/api-context/alert-global.js.map +1 -1
- package/dist/api-context/drawer-global.js +1 -111
- package/dist/api-context/drawer-global.js.map +1 -1
- package/dist/api-context/global-modal.js +1 -94
- package/dist/api-context/global-modal.js.map +1 -1
- package/dist/api-context/popover-global.js +1 -109
- package/dist/api-context/popover-global.js.map +1 -1
- package/dist/api-context/popover.js +1 -93
- package/dist/api-context/popover.js.map +1 -1
- package/dist/api-context/ui.units.js +1 -22
- package/dist/api-context/ui.units.js.map +1 -1
- package/dist/components/breadcrumbs.js +1 -64
- package/dist/components/breadcrumbs.js.map +1 -1
- package/dist/components/copy-to-clipboard.js +1 -111
- package/dist/components/copy-to-clipboard.js.map +1 -1
- package/dist/components/create.multi-select-dropdown.js +2 -0
- package/dist/components/create.multi-select-dropdown.js.map +1 -0
- package/dist/components/help-tooltip.js +1 -103
- package/dist/components/help-tooltip.js.map +1 -1
- package/dist/components/image-with-fallback.js +1 -50
- package/dist/components/image-with-fallback.js.map +1 -1
- package/dist/components/text-editor.js +1 -117
- package/dist/components/text-editor.js.map +1 -1
- package/dist/components/text-editor.preview.js +1 -26
- package/dist/components/text-editor.preview.js.map +1 -1
- package/dist/filter-bar/base.js +2 -0
- package/dist/filter-bar/base.js.map +1 -0
- package/dist/filter-bar/create.filter-bar.js +2 -0
- package/dist/filter-bar/create.filter-bar.js.map +1 -0
- package/dist/filter-bar/create.filter-menu.js +2 -0
- package/dist/filter-bar/create.filter-menu.js.map +1 -0
- package/dist/filter-bar/create.filter-panel.js +2 -0
- package/dist/filter-bar/create.filter-panel.js.map +1 -0
- package/dist/filter-bar/create.filtered.js +2 -0
- package/dist/filter-bar/create.filtered.js.map +1 -0
- package/dist/filter-bar/create.sort-menu.js +2 -0
- package/dist/filter-bar/create.sort-menu.js.map +1 -0
- package/dist/filter-bar/demo.js +2 -0
- package/dist/filter-bar/demo.js.map +1 -0
- package/dist/filter-bar/types.js +2 -0
- package/dist/filter-bar/types.js.map +1 -0
- package/dist/filter-bar/ui.units.js +2 -0
- package/dist/filter-bar/ui.units.js.map +1 -0
- package/dist/form/create.autocomplete.chips.js +1 -227
- package/dist/form/create.autocomplete.chips.js.map +1 -1
- package/dist/form/create.date-expired.js +1 -210
- package/dist/form/create.date-expired.js.map +1 -1
- package/dist/form/create.date-picker.js +1 -127
- package/dist/form/create.date-picker.js.map +1 -1
- package/dist/form/create.form-base.js +1 -140
- package/dist/form/create.form-base.js.map +1 -1
- package/dist/form/create.form-comfirm.js +1 -130
- package/dist/form/create.form-comfirm.js.map +1 -1
- package/dist/form/create.form-grid-layout.js +1 -187
- package/dist/form/create.form-grid-layout.js.map +1 -1
- package/dist/form/create.form-grid-layout.units.js +1 -41
- package/dist/form/create.form-grid-layout.units.js.map +1 -1
- package/dist/form/create.input.file.js +1 -78
- package/dist/form/create.input.file.js.map +1 -1
- package/dist/form/create.input.js +1 -275
- package/dist/form/create.input.js.map +1 -1
- package/dist/form/create.select-simple.js +1 -113
- package/dist/form/create.select-simple.js.map +1 -1
- package/dist/form/create.select-with-api.js +1 -276
- package/dist/form/create.select-with-api.js.map +1 -1
- package/dist/form/create.text-editor.js +1 -180
- package/dist/form/create.text-editor.js.map +1 -1
- package/dist/form/dino-form.js +1 -40
- package/dist/form/dino-form.js.map +1 -1
- package/dist/form/helper.js +1 -156
- package/dist/form/helper.js.map +1 -1
- package/dist/form/modal-wrapper.js +1 -81
- package/dist/form/modal-wrapper.js.map +1 -1
- package/dist/form/validator.js +1 -189
- package/dist/form/validator.js.map +1 -1
- package/dist/hooks/index.js +1 -47
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.js +1 -32
- package/dist/index.js.map +1 -1
- package/dist/redux/create.hoc-lazy.js +1 -70
- package/dist/redux/create.hoc-lazy.js.map +1 -1
- package/dist/redux/dino.js +1 -10
- package/dist/redux/dino.js.map +1 -1
- package/dist/redux/types.js +1 -8
- package/dist/redux/types.js.map +1 -1
- package/dist/redux/ui.error-page.js +1 -88
- package/dist/redux/ui.error-page.js.map +1 -1
- package/dist/redux/vector-404.webp.js +1 -3
- package/dist/redux/vector-404.webp.js.map +1 -1
- package/dist/table/context.js +1 -14
- package/dist/table/context.js.map +1 -1
- package/dist/table/create.action-row.js +1 -143
- package/dist/table/create.action-row.js.map +1 -1
- package/dist/table/create.table.js +1 -245
- package/dist/table/create.table.js.map +1 -1
- package/dist/table/custom.filter-operators.js +1 -88
- package/dist/table/custom.filter-operators.js.map +1 -1
- package/dist/table/dino.js +1 -135
- package/dist/table/dino.js.map +1 -1
- package/dist/table/helpers.js +1 -114
- package/dist/table/helpers.js.map +1 -1
- package/dist/table/model-filter.js +1 -22
- package/dist/table/model-filter.js.map +1 -1
- package/dist/table/toolbar-pannel.js +1 -142
- package/dist/table/toolbar-pannel.js.map +1 -1
- package/dist/table/ui.buttons.js +1 -66
- package/dist/table/ui.buttons.js.map +1 -1
- package/dist/table/ui.units.js +1 -247
- package/dist/table/ui.units.js.map +1 -1
- package/dist/table-grid/create.table-grid.js +2 -0
- package/dist/table-grid/create.table-grid.js.map +1 -0
- package/dist/table-grid/dino.js +2 -0
- package/dist/table-grid/dino.js.map +1 -0
- package/dist/table-grid/helpers.js +2 -0
- package/dist/table-grid/helpers.js.map +1 -0
- package/dist/table-grid/item-actions.js +2 -0
- package/dist/table-grid/item-actions.js.map +1 -0
- package/dist/table-grid/toolbar-pannel.js +2 -0
- package/dist/table-grid/toolbar-pannel.js.map +1 -0
- package/dist/types/{lab → components}/create.multi-select-dropdown.d.ts +5 -5
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/lab/{create.select-mul-with-api/index.d.ts → select-mul-with-api/create.select-mul-with-api.d.ts} +1 -1
- package/dist/types/lab/select-mul-with-api/index.d.ts +2 -0
- package/dist/types/lab/{create.select-mul-with-api → select-mul-with-api}/types.d.ts +1 -1
- package/dist/types/{lab/table-grid → table-grid}/item-actions.d.ts +1 -1
- package/dist/types/{lab/table-grid → table-grid}/toolbar-pannel.d.ts +1 -1
- package/dist/types/{lab/table-grid → table-grid}/types.d.ts +1 -1
- package/dist/utils/dayjs-config.js +1 -11
- package/dist/utils/dayjs-config.js.map +1 -1
- package/dist/utils/helpers.js +1 -198
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/json-object.js +1 -37
- package/dist/utils/json-object.js.map +1 -1
- package/dist/utils/query-param.js +1 -171
- package/dist/utils/query-param.js.map +1 -1
- package/package.json +3 -8
- package/dist/index.d.ts +0 -928
- /package/dist/types/{lab/filter-bar → filter-bar}/base.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/create.filter-bar.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/create.filter-menu.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/create.filter-panel.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/create.filtered.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/create.sort-menu.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/demo.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/index.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/types.d.ts +0 -0
- /package/dist/types/{lab/filter-bar → filter-bar}/ui.units.d.ts +0 -0
- /package/dist/types/lab/{create.select-mul-with-api → select-mul-with-api}/table-custom.d.ts +0 -0
- /package/dist/types/lab/{create.select-mul-with-api → select-mul-with-api}/ui.units.d.ts +0 -0
- /package/dist/types/{lab/table-grid → table-grid}/create.table-grid.d.ts +0 -0
- /package/dist/types/{lab/table-grid → table-grid}/demo.d.ts +0 -0
- /package/dist/types/{lab/table-grid → table-grid}/dino.d.ts +0 -0
- /package/dist/types/{lab/table-grid → table-grid}/helpers.d.ts +0 -0
- /package/dist/types/{lab/table-grid → table-grid}/index.d.ts +0 -0
package/dist/form/dino-form.js
CHANGED
|
@@ -1,41 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import FormValidator from './validator.js';
|
|
3
|
-
import FormModalWrapper from './modal-wrapper.js';
|
|
4
|
-
import CreateFormBase from './create.form-base.js';
|
|
5
|
-
import CreateInputFile from './create.input.file.js';
|
|
6
|
-
import CreateInput from './create.input.js';
|
|
7
|
-
import CreateDatePicker from './create.date-picker.js';
|
|
8
|
-
import CreateTextEditor from './create.text-editor.js';
|
|
9
|
-
import CreateDateExpired from './create.date-expired.js';
|
|
10
|
-
import CreateFormComfirm from './create.form-comfirm.js';
|
|
11
|
-
import CreateSelectSimple from './create.select-simple.js';
|
|
12
|
-
import CreateSelectWithApi from './create.select-with-api.js';
|
|
13
|
-
import CreateFormGridLayout from './create.form-grid-layout.js';
|
|
14
|
-
import CreateAutocompleteChip from './create.autocomplete.chips.js';
|
|
15
|
-
import { FormBottomBarWrap } from './create.form-grid-layout.units.js';
|
|
16
|
-
|
|
17
|
-
var DinoFormBase = /*#__PURE__*/_createClass(function DinoFormBase() {
|
|
18
|
-
_classCallCheck(this, DinoFormBase);
|
|
19
|
-
//#region Base
|
|
20
|
-
_defineProperty(this, "ModalWrap", FormModalWrapper);
|
|
21
|
-
_defineProperty(this, "BottomBarWrap", FormBottomBarWrap);
|
|
22
|
-
_defineProperty(this, "FormValidator", FormValidator);
|
|
23
|
-
_defineProperty(this, "validator", FormValidator.initial);
|
|
24
|
-
_defineProperty(this, "createFormBase", CreateFormBase);
|
|
25
|
-
_defineProperty(this, "createFormComfirm", CreateFormComfirm);
|
|
26
|
-
_defineProperty(this, "createFormGridLayout", CreateFormGridLayout);
|
|
27
|
-
//#endregion
|
|
28
|
-
//#region Inputs
|
|
29
|
-
_defineProperty(this, "createDateExpired", CreateDateExpired);
|
|
30
|
-
_defineProperty(this, "createDatePicker", CreateDatePicker);
|
|
31
|
-
_defineProperty(this, "createAutocompleteChip", CreateAutocompleteChip);
|
|
32
|
-
_defineProperty(this, "createInput", CreateInput);
|
|
33
|
-
_defineProperty(this, "createInputFile", CreateInputFile);
|
|
34
|
-
_defineProperty(this, "createSelectSimple", CreateSelectSimple);
|
|
35
|
-
_defineProperty(this, "createSelectWithApi", CreateSelectWithApi);
|
|
36
|
-
_defineProperty(this, "createTextEditor", CreateTextEditor);
|
|
37
|
-
});
|
|
38
|
-
var DinoForm = new DinoFormBase();
|
|
39
|
-
|
|
40
|
-
export { DinoForm as default };
|
|
1
|
+
import{createClass as t,classCallCheck as e,defineProperty as r}from"../_virtual/_rollupPluginBabelHelpers.js";import i from"./validator.js";import o from"./modal-wrapper.js";import a from"./create.form-base.js";import m from"./create.input.file.js";import s from"./create.input.js";import p from"./create.date-picker.js";import c from"./create.text-editor.js";import l from"./create.date-expired.js";import f from"./create.form-comfirm.js";import h from"./create.select-simple.js";import d from"./create.select-with-api.js";import j from"./create.form-grid-layout.js";import u from"./create.autocomplete.chips.js";import{FormBottomBarWrap as n}from"./create.form-grid-layout.units.js";var x=new(t((function t(){e(this,t),r(this,"ModalWrap",o),r(this,"BottomBarWrap",n),r(this,"FormValidator",i),r(this,"validator",i.initial),r(this,"createFormBase",a),r(this,"createFormComfirm",f),r(this,"createFormGridLayout",j),r(this,"createDateExpired",l),r(this,"createDatePicker",p),r(this,"createAutocompleteChip",u),r(this,"createInput",s),r(this,"createInputFile",m),r(this,"createSelectSimple",h),r(this,"createSelectWithApi",d),r(this,"createTextEditor",c)})));export{x as default};
|
|
41
2
|
//# sourceMappingURL=dino-form.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dino-form.js","sources":["../../src/form/dino-form.tsx"],"sourcesContent":["import FormValidator from './validator'\r\nimport FormModalWrapper from './modal-wrapper'\r\nimport CreateFormBase from './create.form-base'\r\nimport CreateInputFile from './create.input.file'\r\nimport CreateInput from './create.input'\r\nimport CreateDatePicker from './create.date-picker'\r\nimport CreateTextEditor from './create.text-editor'\r\nimport CreateDateExpired from './create.date-expired'\r\nimport CreateFormComfirm from './create.form-comfirm'\r\nimport CreateSelectSimple from './create.select-simple'\r\nimport CreateSelectWithApi from './create.select-with-api'\r\nimport CreateFormGridLayout from './create.form-grid-layout'\r\nimport CreateAutocompleteChip from './create.autocomplete.chips'\r\nimport { FormBottomBarWrap } from './create.form-grid-layout.units'\r\n\r\nclass DinoFormBase {\r\n //#region Base\r\n ModalWrap = FormModalWrapper\r\n BottomBarWrap = FormBottomBarWrap\r\n FormValidator = FormValidator\r\n validator = FormValidator.initial\r\n createFormBase = CreateFormBase\r\n createFormComfirm = CreateFormComfirm\r\n createFormGridLayout = CreateFormGridLayout\r\n //#endregion\r\n\r\n //#region Inputs\r\n createDateExpired= CreateDateExpired\r\n createDatePicker = CreateDatePicker\r\n createAutocompleteChip = CreateAutocompleteChip\r\n createInput = CreateInput\r\n createInputFile = CreateInputFile\r\n createSelectSimple = CreateSelectSimple\r\n createSelectWithApi = CreateSelectWithApi\r\n createTextEditor = CreateTextEditor\r\n //#endregion\r\n}\r\n\r\nconst DinoForm = new DinoFormBase()\r\nexport default DinoForm\r\n"],"names":["
|
|
1
|
+
{"version":3,"file":"dino-form.js","sources":["../../src/form/dino-form.tsx"],"sourcesContent":["import FormValidator from './validator'\r\nimport FormModalWrapper from './modal-wrapper'\r\nimport CreateFormBase from './create.form-base'\r\nimport CreateInputFile from './create.input.file'\r\nimport CreateInput from './create.input'\r\nimport CreateDatePicker from './create.date-picker'\r\nimport CreateTextEditor from './create.text-editor'\r\nimport CreateDateExpired from './create.date-expired'\r\nimport CreateFormComfirm from './create.form-comfirm'\r\nimport CreateSelectSimple from './create.select-simple'\r\nimport CreateSelectWithApi from './create.select-with-api'\r\nimport CreateFormGridLayout from './create.form-grid-layout'\r\nimport CreateAutocompleteChip from './create.autocomplete.chips'\r\nimport { FormBottomBarWrap } from './create.form-grid-layout.units'\r\n\r\nclass DinoFormBase {\r\n //#region Base\r\n ModalWrap = FormModalWrapper\r\n BottomBarWrap = FormBottomBarWrap\r\n FormValidator = FormValidator\r\n validator = FormValidator.initial\r\n createFormBase = CreateFormBase\r\n createFormComfirm = CreateFormComfirm\r\n createFormGridLayout = CreateFormGridLayout\r\n //#endregion\r\n\r\n //#region Inputs\r\n createDateExpired= CreateDateExpired\r\n createDatePicker = CreateDatePicker\r\n createAutocompleteChip = CreateAutocompleteChip\r\n createInput = CreateInput\r\n createInputFile = CreateInputFile\r\n createSelectSimple = CreateSelectSimple\r\n createSelectWithApi = CreateSelectWithApi\r\n createTextEditor = CreateTextEditor\r\n //#endregion\r\n}\r\n\r\nconst DinoForm = new DinoFormBase()\r\nexport default DinoForm\r\n"],"names":["DinoForm","_createClass","DinoFormBase","_classCallCheck","_defineProperty","FormModalWrapper","FormBottomBarWrap","FormValidator","this","initial","CreateFormBase","CreateFormComfirm","CreateFormGridLayout","CreateDateExpired","CreateDatePicker","CreateAutocompleteChip","CreateInput","CreateInputFile","CreateSelectSimple","CreateSelectWithApi","CreateTextEditor"],"mappings":"8qBAamE,IAyB7DA,EAAW,IAvBCC,GAAA,SAAAC,IAAAC,OAAAD,GAChBE,mBACYC,GAAgBD,uBACZE,GAAiBF,uBACjBG,GAAaH,EAAAI,KAAA,YACjBD,EAAcE,SAAOL,wBAChBM,GAAcN,2BACXO,GAAiBP,8BACdQ,GAGvBR,2BACmBS,GAAiBT,0BACjBU,GAAgBV,gCACVW,GAAsBX,qBACjCY,GAAWZ,yBACPa,GAAeb,4BACZc,GAAkBd,6BACjBe,GAAmBf,0BACtBgB,EAAgB"}
|
package/dist/form/helper.js
CHANGED
|
@@ -1,157 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import FormValidator from './validator.js';
|
|
3
|
-
|
|
4
|
-
var objectAssign = function objectAssign(model) {
|
|
5
|
-
for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
6
|
-
sources[_key - 1] = arguments[_key];
|
|
7
|
-
}
|
|
8
|
-
if (sources.length < 1) {
|
|
9
|
-
return model;
|
|
10
|
-
}
|
|
11
|
-
var temps = sources.filter(function (x) {
|
|
12
|
-
return x;
|
|
13
|
-
});
|
|
14
|
-
return temps.reduce(function (a, b) {
|
|
15
|
-
a = Object.assign(a, b);
|
|
16
|
-
return a;
|
|
17
|
-
}, model);
|
|
18
|
-
};
|
|
19
|
-
var _deepMerge = function deepMerge(model) {
|
|
20
|
-
for (var _len2 = arguments.length, sources = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
21
|
-
sources[_key2 - 1] = arguments[_key2];
|
|
22
|
-
}
|
|
23
|
-
sources = sources.filter(function (x) {
|
|
24
|
-
return !!x;
|
|
25
|
-
});
|
|
26
|
-
if (sources.length < 1) {
|
|
27
|
-
return model;
|
|
28
|
-
}
|
|
29
|
-
var temps = [model].concat(_toConsumableArray(sources)).filter(function (x) {
|
|
30
|
-
return x;
|
|
31
|
-
});
|
|
32
|
-
var fieldObjects = temps.reduce(function (a, b) {
|
|
33
|
-
if (!b) return a;
|
|
34
|
-
var fields = Object.keys(b).filter(function (x) {
|
|
35
|
-
return _typeof(b[x]) === 'object' && !Array.isArray(b[x]);
|
|
36
|
-
});
|
|
37
|
-
a.push.apply(a, _toConsumableArray(fields));
|
|
38
|
-
return a;
|
|
39
|
-
}, []);
|
|
40
|
-
var target = objectAssign.apply(void 0, [model].concat(_toConsumableArray(temps.slice(1))));
|
|
41
|
-
var temp = target;
|
|
42
|
-
var temp2 = temps.slice(1).filter(function (x) {
|
|
43
|
-
return !!x;
|
|
44
|
-
});
|
|
45
|
-
var _loop = function _loop() {
|
|
46
|
-
var element = fieldObjects[index];
|
|
47
|
-
temp[element] = _deepMerge.apply(void 0, [{}, temp[element]].concat(_toConsumableArray(temp2.map(function (x) {
|
|
48
|
-
return x[element];
|
|
49
|
-
}))));
|
|
50
|
-
};
|
|
51
|
-
for (var index = 0; index < fieldObjects.length; index++) {
|
|
52
|
-
_loop();
|
|
53
|
-
}
|
|
54
|
-
return target;
|
|
55
|
-
};
|
|
56
|
-
var getErrorMessage = function getErrorMessage(MessageErrors, key) {
|
|
57
|
-
return MessageErrors && MessageErrors[key] ? _objectSpread2(_objectSpread2({}, MessageErrors[key][0]), {}, {
|
|
58
|
-
error: true
|
|
59
|
-
}) : {
|
|
60
|
-
error: false,
|
|
61
|
-
message: ''
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
var convertFormDataToJson = function convertFormDataToJson(form) {
|
|
65
|
-
var data = Array.from(form).reduce(function (a, b) {
|
|
66
|
-
if (!a[b[0]]) {
|
|
67
|
-
a[b[0]] = b[1];
|
|
68
|
-
} else if (Array.isArray(a[b[0]])) {
|
|
69
|
-
a[b[0]].push(b[1]);
|
|
70
|
-
} else {
|
|
71
|
-
a[b[0]] = [a[b[0]], b[1]];
|
|
72
|
-
}
|
|
73
|
-
return a;
|
|
74
|
-
}, {});
|
|
75
|
-
Object.keys(data).forEach(function (key) {
|
|
76
|
-
var value = data[key];
|
|
77
|
-
if (typeof value === 'string' && (value.toString().toLocaleLowerCase() === 'true' || value.toString().toLocaleLowerCase() === 'false')) {
|
|
78
|
-
data[key] = value.toString().toLocaleLowerCase() === 'true';
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
return data;
|
|
82
|
-
};
|
|
83
|
-
var SingleValidate = function SingleValidate(key, modelState, MessageErrors, Validator) {
|
|
84
|
-
var messageErrors = Validator.run(modelState);
|
|
85
|
-
if (messageErrors) {
|
|
86
|
-
var errors = MessageErrors || {};
|
|
87
|
-
var keys = Object.keys(modelState).filter(function (key) {
|
|
88
|
-
return !!modelState[key];
|
|
89
|
-
}).filter(function (key) {
|
|
90
|
-
return modelState[key] instanceof File ? !!modelState[key].size : false;
|
|
91
|
-
});
|
|
92
|
-
keys.push(key);
|
|
93
|
-
keys.forEach(function (key) {
|
|
94
|
-
if (messageErrors[key]) {
|
|
95
|
-
errors[key] = messageErrors[key];
|
|
96
|
-
} else {
|
|
97
|
-
delete errors[key];
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
return errors;
|
|
101
|
-
}
|
|
102
|
-
return null;
|
|
103
|
-
};
|
|
104
|
-
var getErrorFromResponse = function getErrorFromResponse(error, ModelRender) {
|
|
105
|
-
var _error$response;
|
|
106
|
-
var data = (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data;
|
|
107
|
-
if (data) {
|
|
108
|
-
var keys = Object.keys(ModelRender);
|
|
109
|
-
var MessageErrors = {};
|
|
110
|
-
keys.forEach(function (key) {
|
|
111
|
-
var messages = data[key];
|
|
112
|
-
if (Array.isArray(messages) && messages.length > 0) {
|
|
113
|
-
MessageErrors[key] = [{
|
|
114
|
-
message: messages[0]
|
|
115
|
-
}];
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
return MessageErrors;
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
var validateMerge = function validateMerge() {
|
|
122
|
-
for (var _len3 = arguments.length, validateor = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
123
|
-
validateor[_key3] = arguments[_key3];
|
|
124
|
-
}
|
|
125
|
-
var configs = validateor.map(function (x) {
|
|
126
|
-
return x === null || x === void 0 ? void 0 : x.configs;
|
|
127
|
-
}).filter(function (x) {
|
|
128
|
-
return !!x;
|
|
129
|
-
});
|
|
130
|
-
var temp = Object.assign.apply(Object, [{}].concat(_toConsumableArray(configs)));
|
|
131
|
-
var _loop2 = function _loop2() {
|
|
132
|
-
var key = Object.keys(temp)[index];
|
|
133
|
-
//merge configs
|
|
134
|
-
temp[key] = _deepMerge.apply(void 0, [{}].concat(_toConsumableArray(configs.map(function (x) {
|
|
135
|
-
return x ? x[key] : {
|
|
136
|
-
Rules: []
|
|
137
|
-
};
|
|
138
|
-
}))));
|
|
139
|
-
//merge rules
|
|
140
|
-
temp[key].Rules = configs.map(function (x) {
|
|
141
|
-
return x ? x[key] : {
|
|
142
|
-
Rules: []
|
|
143
|
-
};
|
|
144
|
-
}).reduce(function (a, b) {
|
|
145
|
-
var _b$Rules;
|
|
146
|
-
a.push.apply(a, _toConsumableArray((_b$Rules = b === null || b === void 0 ? void 0 : b.Rules) !== null && _b$Rules !== void 0 ? _b$Rules : []));
|
|
147
|
-
return a;
|
|
148
|
-
}, []);
|
|
149
|
-
};
|
|
150
|
-
for (var index = 0; index < Object.keys(temp).length; index++) {
|
|
151
|
-
_loop2();
|
|
152
|
-
}
|
|
153
|
-
return new FormValidator(temp);
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
export { SingleValidate, convertFormDataToJson, getErrorFromResponse, getErrorMessage, validateMerge };
|
|
1
|
+
import{toConsumableArray as r,objectSpread2 as n,typeof as e}from"../_virtual/_rollupPluginBabelHelpers.js";import t from"./validator.js";var o=function(r){for(var n=arguments.length,e=new Array(n>1?n-1:0),t=1;t<n;t++)e[t-1]=arguments[t];return e.length<1?r:e.filter((function(r){return r})).reduce((function(r,n){return r=Object.assign(r,n)}),r)},u=function(n){for(var t=arguments.length,a=new Array(t>1?t-1:0),i=1;i<t;i++)a[i-1]=arguments[i];if((a=a.filter((function(r){return!!r}))).length<1)return n;for(var c=[n].concat(r(a)).filter((function(r){return r})),f=c.reduce((function(n,t){if(!t)return n;var o=Object.keys(t).filter((function(r){return"object"===e(t[r])&&!Array.isArray(t[r])}));return n.push.apply(n,r(o)),n}),[]),l=o.apply(void 0,[n].concat(r(c.slice(1)))),s=l,p=c.slice(1).filter((function(r){return!!r})),v=function(){var n=f[y];s[n]=u.apply(void 0,[{},s[n]].concat(r(p.map((function(r){return r[n]})))))},y=0;y<f.length;y++)v();return l},a=function(r,e){return r&&r[e]?n(n({},r[e][0]),{},{error:!0}):{error:!1,message:""}},i=function(r){var n=Array.from(r).reduce((function(r,n){return r[n[0]]?Array.isArray(r[n[0]])?r[n[0]].push(n[1]):r[n[0]]=[r[n[0]],n[1]]:r[n[0]]=n[1],r}),{});return Object.keys(n).forEach((function(r){var e=n[r];"string"!=typeof e||"true"!==e.toString().toLocaleLowerCase()&&"false"!==e.toString().toLocaleLowerCase()||(n[r]="true"===e.toString().toLocaleLowerCase())})),n},c=function(r,n,e,t){var o=t.run(n);if(o){var u=e||{},a=Object.keys(n).filter((function(r){return!!n[r]})).filter((function(r){return n[r]instanceof File&&!!n[r].size}));return a.push(r),a.forEach((function(r){o[r]?u[r]=o[r]:delete u[r]})),u}return null},f=function(r,n){var e,t=null===(e=r.response)||void 0===e?void 0:e.data;if(t){var o=Object.keys(n),u={};return o.forEach((function(r){var n=t[r];Array.isArray(n)&&n.length>0&&(u[r]=[{message:n[0]}])})),u}},l=function(){for(var n=arguments.length,e=new Array(n),o=0;o<n;o++)e[o]=arguments[o];for(var a=e.map((function(r){return null==r?void 0:r.configs})).filter((function(r){return!!r})),i=Object.assign.apply(Object,[{}].concat(r(a))),c=function(){var n=Object.keys(i)[f];i[n]=u.apply(void 0,[{}].concat(r(a.map((function(r){return r?r[n]:{Rules:[]}}))))),i[n].Rules=a.map((function(r){return r?r[n]:{Rules:[]}})).reduce((function(n,e){var t;return n.push.apply(n,r(null!==(t=null==e?void 0:e.Rules)&&void 0!==t?t:[])),n}),[])},f=0;f<Object.keys(i).length;f++)c();return new t(i)};export{c as SingleValidate,i as convertFormDataToJson,f as getErrorFromResponse,a as getErrorMessage,l as validateMerge};
|
|
157
2
|
//# sourceMappingURL=helper.js.map
|
package/dist/form/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sources":["../../src/form/helper.ts"],"sourcesContent":["import { AxiosError } from 'axios'\r\nimport FormValidator, { IModelError, IRuleOption, IPartialError } from './validator'\r\n\r\ntype IAnyObject = { [key: string]: any }\r\nconst objectAssign = <T extends IAnyObject>(model: T, ...sources: (Partial<T> | undefined)[]) => {\r\n if (sources.length < 1) {\r\n return model\r\n }\r\n const temps = sources.filter((x) => x) as T[]\r\n return temps.reduce((a, b) => {\r\n a = Object.assign(a, b)\r\n return a\r\n }, model)\r\n}\r\n\r\nconst deepMerge = <T extends IAnyObject>(model: T, ...sources: (Partial<T> | undefined)[]) => {\r\n sources = sources.filter((x) => !!x)\r\n if (sources.length < 1) {\r\n return model\r\n }\r\n const temps = [model, ...sources].filter((x) => x)\r\n const fieldObjects = temps.reduce<string[]>((a, b) => {\r\n if (!b) return a\r\n const fields = Object.keys(b).filter((x) => typeof b[x] === 'object' && !Array.isArray(b[x]))\r\n a.push(...fields)\r\n return a\r\n }, [])\r\n\r\n const target = objectAssign<T>(model, ...temps.slice(1))\r\n const temp = target as any\r\n const temp2 = temps.slice(1).filter((x) => !!x) as Partial<T>[]\r\n for (let index = 0; index < fieldObjects.length; index++) {\r\n const element = fieldObjects[index]\r\n temp[element] = deepMerge({}, temp[element], ...temp2.map((x) => x[element]))\r\n }\r\n return target\r\n}\r\n\r\nexport const getErrorMessage = function <TModel>(MessageErrors: IPartialError<TModel> | undefined, key?: keyof TModel): IModelError {\r\n return MessageErrors && (MessageErrors as any)[key] ? { ...(MessageErrors as any)[key][0], error: true } : { error: false, message: '' }\r\n}\r\n\r\ntype IModelBase = {\r\n [key: string]: any\r\n}\r\n\r\nexport const convertFormDataToJson = function <TModel>(form: FormData): Partial<TModel> {\r\n const data = Array.from(form as any).reduce<Partial<TModel>>((a: unknown | any, b: any) => {\r\n if (!a[b[0]]) {\r\n a[b[0]] = b[1]\r\n } else if (Array.isArray(a[b[0]])) {\r\n a[b[0]].push(b[1])\r\n } else {\r\n a[b[0]] = [a[b[0]], b[1]]\r\n }\r\n return a\r\n }, {} as any) as any\r\n\r\n Object.keys(data).forEach((key) => {\r\n const value = data[key]\r\n if (typeof value === 'string' && (value.toString().toLocaleLowerCase() === 'true' || value.toString().toLocaleLowerCase() === 'false')) {\r\n data[key] = value.toString().toLocaleLowerCase() === 'true'\r\n }\r\n })\r\n return data\r\n}\r\n\r\nexport const SingleValidate = function <TModel, TPartial = TModel>(\r\n key: keyof TModel,\r\n modelState: TPartial,\r\n MessageErrors: IPartialError<TModel>,\r\n Validator: FormValidator<TPartial>\r\n) {\r\n const messageErrors = Validator.run(modelState) as { [key: string]: any }\r\n if (messageErrors) {\r\n let errors = (MessageErrors || {}) as { [key: string]: any }\r\n const keys = Object.keys(modelState as any)\r\n .filter((key) => !!(modelState as any)[key])\r\n .filter((key) => ((modelState as any)[key] instanceof File ? !!((modelState as any)[key] as File).size : false))\r\n keys.push(key as string)\r\n keys.forEach((key) => {\r\n if (messageErrors[key]) {\r\n errors[key] = messageErrors[key]\r\n } else {\r\n delete errors[key]\r\n }\r\n })\r\n return errors\r\n }\r\n return null\r\n}\r\n\r\nexport const getErrorFromResponse = function <TModel>(error: AxiosError, ModelRender: TModel) {\r\n const data = error.response?.data as any\r\n if (data) {\r\n const keys = Object.keys(ModelRender as any)\r\n const MessageErrors: IPartialError<TModel> | undefined = {}\r\n keys.forEach((key) => {\r\n const messages = data[key]\r\n if (Array.isArray(messages) && messages.length > 0) {\r\n ;(MessageErrors as any)[key] = [{ message: messages[0] }]\r\n }\r\n })\r\n return MessageErrors\r\n }\r\n}\r\n\r\nexport const clearFieldEmpty = <TModel>(model: Extract<TModel, IModelBase>) => {\r\n Object.keys(model).forEach((key: keyof Extract<TModel, IModelBase>) => {\r\n if (!model[key]) delete model[key]\r\n })\r\n}\r\n\r\nexport const validateMerge = <TModel>(...validateor: (FormValidator<TModel> | undefined)[]): FormValidator<TModel> => {\r\n const configs = validateor.map((x) => x?.configs).filter((x) => !!x)\r\n\r\n let temp: any = Object.assign({}, ...configs)\r\n\r\n for (let index = 0; index < Object.keys(temp).length; index++) {\r\n const key = Object.keys(temp)[index]\r\n //merge configs\r\n temp[key] = deepMerge({}, ...configs.map((x) => (x ? x[key] : { Rules: [] })))\r\n //merge rules\r\n temp[key].Rules = configs\r\n .map((x) => (x ? x[key] : { Rules: [] }))\r\n .reduce<IRuleOption<TModel>[]>((a, b) => {\r\n a.push(...(b?.Rules ?? []))\r\n return a\r\n }, [])\r\n }\r\n return new FormValidator(temp)\r\n}\r\n"],"names":["objectAssign","model","_len","arguments","length","sources","Array","_key","temps","filter","x","reduce","a","b","Object","assign","deepMerge","_len2","_key2","concat","_toConsumableArray","fieldObjects","fields","keys","_typeof","isArray","push","apply","target","slice","temp","temp2","_loop","element","index","map","getErrorMessage","MessageErrors","key","_objectSpread","error","message","convertFormDataToJson","form","data","from","forEach","value","toString","toLocaleLowerCase","SingleValidate","modelState","Validator","messageErrors","run","errors","File","size","getErrorFromResponse","ModelRender","_error$response","response","messages","validateMerge","_len3","validateor","_key3","configs","_loop2","Rules","_b$Rules","FormValidator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helper.js","sources":["../../src/form/helper.ts"],"sourcesContent":["import { AxiosError } from 'axios'\r\nimport FormValidator, { IModelError, IRuleOption, IPartialError } from './validator'\r\n\r\ntype IAnyObject = { [key: string]: any }\r\nconst objectAssign = <T extends IAnyObject>(model: T, ...sources: (Partial<T> | undefined)[]) => {\r\n if (sources.length < 1) {\r\n return model\r\n }\r\n const temps = sources.filter((x) => x) as T[]\r\n return temps.reduce((a, b) => {\r\n a = Object.assign(a, b)\r\n return a\r\n }, model)\r\n}\r\n\r\nconst deepMerge = <T extends IAnyObject>(model: T, ...sources: (Partial<T> | undefined)[]) => {\r\n sources = sources.filter((x) => !!x)\r\n if (sources.length < 1) {\r\n return model\r\n }\r\n const temps = [model, ...sources].filter((x) => x)\r\n const fieldObjects = temps.reduce<string[]>((a, b) => {\r\n if (!b) return a\r\n const fields = Object.keys(b).filter((x) => typeof b[x] === 'object' && !Array.isArray(b[x]))\r\n a.push(...fields)\r\n return a\r\n }, [])\r\n\r\n const target = objectAssign<T>(model, ...temps.slice(1))\r\n const temp = target as any\r\n const temp2 = temps.slice(1).filter((x) => !!x) as Partial<T>[]\r\n for (let index = 0; index < fieldObjects.length; index++) {\r\n const element = fieldObjects[index]\r\n temp[element] = deepMerge({}, temp[element], ...temp2.map((x) => x[element]))\r\n }\r\n return target\r\n}\r\n\r\nexport const getErrorMessage = function <TModel>(MessageErrors: IPartialError<TModel> | undefined, key?: keyof TModel): IModelError {\r\n return MessageErrors && (MessageErrors as any)[key] ? { ...(MessageErrors as any)[key][0], error: true } : { error: false, message: '' }\r\n}\r\n\r\ntype IModelBase = {\r\n [key: string]: any\r\n}\r\n\r\nexport const convertFormDataToJson = function <TModel>(form: FormData): Partial<TModel> {\r\n const data = Array.from(form as any).reduce<Partial<TModel>>((a: unknown | any, b: any) => {\r\n if (!a[b[0]]) {\r\n a[b[0]] = b[1]\r\n } else if (Array.isArray(a[b[0]])) {\r\n a[b[0]].push(b[1])\r\n } else {\r\n a[b[0]] = [a[b[0]], b[1]]\r\n }\r\n return a\r\n }, {} as any) as any\r\n\r\n Object.keys(data).forEach((key) => {\r\n const value = data[key]\r\n if (typeof value === 'string' && (value.toString().toLocaleLowerCase() === 'true' || value.toString().toLocaleLowerCase() === 'false')) {\r\n data[key] = value.toString().toLocaleLowerCase() === 'true'\r\n }\r\n })\r\n return data\r\n}\r\n\r\nexport const SingleValidate = function <TModel, TPartial = TModel>(\r\n key: keyof TModel,\r\n modelState: TPartial,\r\n MessageErrors: IPartialError<TModel>,\r\n Validator: FormValidator<TPartial>\r\n) {\r\n const messageErrors = Validator.run(modelState) as { [key: string]: any }\r\n if (messageErrors) {\r\n let errors = (MessageErrors || {}) as { [key: string]: any }\r\n const keys = Object.keys(modelState as any)\r\n .filter((key) => !!(modelState as any)[key])\r\n .filter((key) => ((modelState as any)[key] instanceof File ? !!((modelState as any)[key] as File).size : false))\r\n keys.push(key as string)\r\n keys.forEach((key) => {\r\n if (messageErrors[key]) {\r\n errors[key] = messageErrors[key]\r\n } else {\r\n delete errors[key]\r\n }\r\n })\r\n return errors\r\n }\r\n return null\r\n}\r\n\r\nexport const getErrorFromResponse = function <TModel>(error: AxiosError, ModelRender: TModel) {\r\n const data = error.response?.data as any\r\n if (data) {\r\n const keys = Object.keys(ModelRender as any)\r\n const MessageErrors: IPartialError<TModel> | undefined = {}\r\n keys.forEach((key) => {\r\n const messages = data[key]\r\n if (Array.isArray(messages) && messages.length > 0) {\r\n ;(MessageErrors as any)[key] = [{ message: messages[0] }]\r\n }\r\n })\r\n return MessageErrors\r\n }\r\n}\r\n\r\nexport const clearFieldEmpty = <TModel>(model: Extract<TModel, IModelBase>) => {\r\n Object.keys(model).forEach((key: keyof Extract<TModel, IModelBase>) => {\r\n if (!model[key]) delete model[key]\r\n })\r\n}\r\n\r\nexport const validateMerge = <TModel>(...validateor: (FormValidator<TModel> | undefined)[]): FormValidator<TModel> => {\r\n const configs = validateor.map((x) => x?.configs).filter((x) => !!x)\r\n\r\n let temp: any = Object.assign({}, ...configs)\r\n\r\n for (let index = 0; index < Object.keys(temp).length; index++) {\r\n const key = Object.keys(temp)[index]\r\n //merge configs\r\n temp[key] = deepMerge({}, ...configs.map((x) => (x ? x[key] : { Rules: [] })))\r\n //merge rules\r\n temp[key].Rules = configs\r\n .map((x) => (x ? x[key] : { Rules: [] }))\r\n .reduce<IRuleOption<TModel>[]>((a, b) => {\r\n a.push(...(b?.Rules ?? []))\r\n return a\r\n }, [])\r\n }\r\n return new FormValidator(temp)\r\n}\r\n"],"names":["objectAssign","model","_len","arguments","length","sources","Array","_key","filter","x","reduce","a","b","Object","assign","deepMerge","_len2","_key2","temps","concat","_toConsumableArray","fieldObjects","fields","keys","_typeof","isArray","push","apply","target","slice","temp","temp2","_loop","element","index","map","getErrorMessage","MessageErrors","key","_objectSpread","error","message","convertFormDataToJson","form","data","from","forEach","value","toString","toLocaleLowerCase","SingleValidate","modelState","Validator","messageErrors","run","errors","File","size","getErrorFromResponse","ModelRender","_error$response","response","messages","validateMerge","_len3","validateor","_key3","configs","_loop2","Rules","_b$Rules","FormValidator"],"mappings":"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"}
|
|
@@ -1,82 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
|
-
import { styled, Paper, IconButton, Box, Typography } from '@mui/material';
|
|
4
|
-
import CloseIcon from '@mui/icons-material/Close';
|
|
5
|
-
import 'react';
|
|
6
|
-
import '../api-context/alert-global.js';
|
|
7
|
-
import '../api-context/drawer-global.js';
|
|
8
|
-
import { MapGlobalModalContext } from '../api-context/global-modal.js';
|
|
9
|
-
|
|
10
|
-
var FormModalWrapper = function FormModalWrapper(props) {
|
|
11
|
-
return MapGlobalModalContext(function (context) {
|
|
12
|
-
var _props$slots, _props$slots2;
|
|
13
|
-
return jsxs(Wrap, {
|
|
14
|
-
size: props.size,
|
|
15
|
-
className: props.fullHeight ? 'full-height' : undefined,
|
|
16
|
-
children: [jsxs(TopBar, {
|
|
17
|
-
sx: (_props$slots = props.slots) === null || _props$slots === void 0 ? void 0 : _props$slots.sxTopbarProps,
|
|
18
|
-
children: [((_props$slots2 = props.slots) === null || _props$slots2 === void 0 ? void 0 : _props$slots2.beforeTitle) && jsxs(Fragment, {
|
|
19
|
-
children: [props.slots.beforeTitle, jsx(Box, {
|
|
20
|
-
flex: 1
|
|
21
|
-
})]
|
|
22
|
-
}), jsx(Typography, {
|
|
23
|
-
component: 'h3',
|
|
24
|
-
variant: 'subtitle1',
|
|
25
|
-
sx: {
|
|
26
|
-
mt: '2px',
|
|
27
|
-
ml: '8px',
|
|
28
|
-
fontWeight: 700
|
|
29
|
-
},
|
|
30
|
-
children: props.title
|
|
31
|
-
}), jsx(Box, {
|
|
32
|
-
flex: 1
|
|
33
|
-
}), jsx(BtnClose, {
|
|
34
|
-
onClick: function onClick() {
|
|
35
|
-
props.onCloseClick && props.onCloseClick();
|
|
36
|
-
context.close();
|
|
37
|
-
},
|
|
38
|
-
children: jsx(CloseIcon, {})
|
|
39
|
-
})]
|
|
40
|
-
}), props.children]
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
var Wrap = styled(Paper)(function (_ref) {
|
|
45
|
-
var theme = _ref.theme,
|
|
46
|
-
size = _ref.size;
|
|
47
|
-
return _defineProperty(_defineProperty({
|
|
48
|
-
maxHeight: 'calc(100vh - 24px)',
|
|
49
|
-
overflow: 'hidden',
|
|
50
|
-
display: 'flex',
|
|
51
|
-
flexDirection: 'column',
|
|
52
|
-
position: 'relative',
|
|
53
|
-
maxWidth: 'calc(100vw - 24px)',
|
|
54
|
-
width: theme.breakpoints.values[size !== null && size !== void 0 ? size : 'lg']
|
|
55
|
-
}, theme.breakpoints.down('sm'), {
|
|
56
|
-
width: 'calc(100vw - 24px)'
|
|
57
|
-
}), '&.full-height', {
|
|
58
|
-
height: 'calc(100vh - 24px)'
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
var BtnClose = styled(IconButton)({
|
|
62
|
-
flex: '0 0 auto',
|
|
63
|
-
color: '#3c3c3c',
|
|
64
|
-
'& svg': {
|
|
65
|
-
transition: 'all 0.2s'
|
|
66
|
-
},
|
|
67
|
-
'&:hover svg': {
|
|
68
|
-
color: '#ff200c'
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
var TopBar = styled(Box)({
|
|
72
|
-
display: 'flex',
|
|
73
|
-
alignItems: 'center',
|
|
74
|
-
padding: '0 8px 0 8px',
|
|
75
|
-
gap: '6px',
|
|
76
|
-
flex: '0 0 auto',
|
|
77
|
-
boxShadow: 'rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px',
|
|
78
|
-
height: '48px'
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
export { FormModalWrapper as default };
|
|
1
|
+
import{defineProperty as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as e,jsx as i,Fragment as o}from"react/jsx-runtime";import{styled as t,Paper as r,IconButton as a,Box as n,Typography as p}from"@mui/material";import s from"@mui/icons-material/Close";import"react";import"../api-context/alert-global.js";import"../api-context/drawer-global.js";import{MapGlobalModalContext as c}from"../api-context/global-modal.js";var x=function(l){return c((function(t){var r,a;return e(m,{size:l.size,className:l.fullHeight?"full-height":void 0,children:[e(h,{sx:null===(r=l.slots)||void 0===r?void 0:r.sxTopbarProps,children:[(null===(a=l.slots)||void 0===a?void 0:a.beforeTitle)&&e(o,{children:[l.slots.beforeTitle,i(n,{flex:1})]}),i(p,{component:"h3",variant:"subtitle1",sx:{mt:"2px",ml:"8px",fontWeight:700},children:l.title}),i(n,{flex:1}),i(f,{onClick:function(){l.onCloseClick&&l.onCloseClick(),t.close()},children:i(s,{})})]}),l.children]})}))},m=t(r)((function(e){var i=e.theme,o=e.size;return l(l({maxHeight:"calc(100vh - 24px)",overflow:"hidden",display:"flex",flexDirection:"column",position:"relative",maxWidth:"calc(100vw - 24px)",width:i.breakpoints.values[null!=o?o:"lg"]},i.breakpoints.down("sm"),{width:"calc(100vw - 24px)"}),"&.full-height",{height:"calc(100vh - 24px)"})})),f=t(a)({flex:"0 0 auto",color:"#3c3c3c","& svg":{transition:"all 0.2s"},"&:hover svg":{color:"#ff200c"}}),h=t(n)({display:"flex",alignItems:"center",padding:"0 8px 0 8px",gap:"6px",flex:"0 0 auto",boxShadow:"rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px",height:"48px"});export{x as default};
|
|
82
2
|
//# sourceMappingURL=modal-wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal-wrapper.js","sources":["../../src/form/modal-wrapper.tsx"],"sourcesContent":["import React, { FC, PropsWithChildren } from 'react'\r\nimport { Box, Breakpoint, IconButton, Paper, styled, SxProps, Theme, Typography } from '@mui/material'\r\nimport CloseIcon from '@mui/icons-material/Close'\r\nimport { MapGlobalModalContext } from '../api-context'\r\n\r\nexport interface IFormModalWrapperProps extends PropsWithChildren {\r\n title: string\r\n size?: Breakpoint\r\n fullHeight?: boolean\r\n onCloseClick?: () => void\r\n slots?: {\r\n sxTopbarProps?: SxProps<Theme>\r\n beforeTitle?: JSX.Element\r\n }\r\n}\r\n\r\nconst FormModalWrapper: FC<IFormModalWrapperProps> = (props) => {\r\n return MapGlobalModalContext((context) => (\r\n <Wrap size={props.size} className={props.fullHeight ? 'full-height' : undefined}>\r\n <TopBar sx={props.slots?.sxTopbarProps}>\r\n {props.slots?.beforeTitle && (\r\n <>\r\n {props.slots.beforeTitle}\r\n <Box flex={1} />\r\n </>\r\n )}\r\n <Typography component='h3' variant='subtitle1' sx={{ mt: '2px', ml: '8px', fontWeight: 700 }}>\r\n {props.title}\r\n </Typography>\r\n <Box flex={1} />\r\n <BtnClose\r\n onClick={() => {\r\n props.onCloseClick && props.onCloseClick()\r\n context.close()\r\n }}\r\n >\r\n <CloseIcon />\r\n </BtnClose>\r\n </TopBar>\r\n {props.children}\r\n </Wrap>\r\n ))\r\n}\r\nexport default FormModalWrapper\r\n\r\nconst Wrap = styled(Paper)<{ size?: Breakpoint }>(({ theme, size }) => ({\r\n maxHeight: 'calc(100vh - 24px)',\r\n overflow: 'hidden',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'relative',\r\n maxWidth: 'calc(100vw - 24px)',\r\n width: theme.breakpoints.values[size ?? 'lg'],\r\n [theme.breakpoints.down('sm')]: { width: 'calc(100vw - 24px)' },\r\n '&.full-height': {\r\n height: 'calc(100vh - 24px)'\r\n }\r\n}))\r\n\r\nconst BtnClose = styled(IconButton)({\r\n flex: '0 0 auto',\r\n color: '#3c3c3c',\r\n '& svg': { transition: 'all 0.2s' },\r\n '&:hover svg': { color: '#ff200c' }\r\n})\r\n\r\nconst TopBar = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: '0 8px 0 8px',\r\n gap: '6px',\r\n flex: '0 0 auto',\r\n boxShadow: 'rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px',\r\n height: '48px'\r\n})\r\n"],"names":["FormModalWrapper","props","MapGlobalModalContext","context","_props$slots","_props$slots2","_jsxs","Wrap","size","className","fullHeight","undefined","children","TopBar","sx","slots","sxTopbarProps","beforeTitle","_Fragment","_jsx","Box","flex","Typography","component","variant","mt","ml","fontWeight","title","BtnClose","onClick","onCloseClick","close","CloseIcon","styled","Paper","_ref","theme","_defineProperty","maxHeight","overflow","display","flexDirection","position","maxWidth","width","breakpoints","values","down","height","IconButton","color","transition","alignItems","padding","gap","boxShadow"],"mappings":"
|
|
1
|
+
{"version":3,"file":"modal-wrapper.js","sources":["../../src/form/modal-wrapper.tsx"],"sourcesContent":["import React, { FC, PropsWithChildren } from 'react'\r\nimport { Box, Breakpoint, IconButton, Paper, styled, SxProps, Theme, Typography } from '@mui/material'\r\nimport CloseIcon from '@mui/icons-material/Close'\r\nimport { MapGlobalModalContext } from '../api-context'\r\n\r\nexport interface IFormModalWrapperProps extends PropsWithChildren {\r\n title: string\r\n size?: Breakpoint\r\n fullHeight?: boolean\r\n onCloseClick?: () => void\r\n slots?: {\r\n sxTopbarProps?: SxProps<Theme>\r\n beforeTitle?: JSX.Element\r\n }\r\n}\r\n\r\nconst FormModalWrapper: FC<IFormModalWrapperProps> = (props) => {\r\n return MapGlobalModalContext((context) => (\r\n <Wrap size={props.size} className={props.fullHeight ? 'full-height' : undefined}>\r\n <TopBar sx={props.slots?.sxTopbarProps}>\r\n {props.slots?.beforeTitle && (\r\n <>\r\n {props.slots.beforeTitle}\r\n <Box flex={1} />\r\n </>\r\n )}\r\n <Typography component='h3' variant='subtitle1' sx={{ mt: '2px', ml: '8px', fontWeight: 700 }}>\r\n {props.title}\r\n </Typography>\r\n <Box flex={1} />\r\n <BtnClose\r\n onClick={() => {\r\n props.onCloseClick && props.onCloseClick()\r\n context.close()\r\n }}\r\n >\r\n <CloseIcon />\r\n </BtnClose>\r\n </TopBar>\r\n {props.children}\r\n </Wrap>\r\n ))\r\n}\r\nexport default FormModalWrapper\r\n\r\nconst Wrap = styled(Paper)<{ size?: Breakpoint }>(({ theme, size }) => ({\r\n maxHeight: 'calc(100vh - 24px)',\r\n overflow: 'hidden',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'relative',\r\n maxWidth: 'calc(100vw - 24px)',\r\n width: theme.breakpoints.values[size ?? 'lg'],\r\n [theme.breakpoints.down('sm')]: { width: 'calc(100vw - 24px)' },\r\n '&.full-height': {\r\n height: 'calc(100vh - 24px)'\r\n }\r\n}))\r\n\r\nconst BtnClose = styled(IconButton)({\r\n flex: '0 0 auto',\r\n color: '#3c3c3c',\r\n '& svg': { transition: 'all 0.2s' },\r\n '&:hover svg': { color: '#ff200c' }\r\n})\r\n\r\nconst TopBar = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: '0 8px 0 8px',\r\n gap: '6px',\r\n flex: '0 0 auto',\r\n boxShadow: 'rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px',\r\n height: '48px'\r\n})\r\n"],"names":["FormModalWrapper","props","MapGlobalModalContext","context","_props$slots","_props$slots2","_jsxs","Wrap","size","className","fullHeight","undefined","children","TopBar","sx","slots","sxTopbarProps","beforeTitle","_Fragment","_jsx","Box","flex","Typography","component","variant","mt","ml","fontWeight","title","BtnClose","onClick","onCloseClick","close","CloseIcon","styled","Paper","_ref","theme","_defineProperty","maxHeight","overflow","display","flexDirection","position","maxWidth","width","breakpoints","values","down","height","IconButton","color","transition","alignItems","padding","gap","boxShadow"],"mappings":"kbAgBA,IAAMA,EAA+C,SAACC,GACpD,OAAOC,GAAsB,SAACC,GAAO,IAAAC,EAAAC,EAAA,OACnCC,EAACC,EAAK,CAAAC,KAAMP,EAAMO,KAAMC,UAAWR,EAAMS,WAAa,mBAAgBC,EACpEC,SAAA,CAAAN,EAACO,EAAM,CAACC,GAAe,QAAbV,EAAEH,EAAMc,aAAK,IAAAX,OAAA,EAAXA,EAAaY,yBACX,QAAXX,EAAAJ,EAAMc,aAAK,IAAAV,OAAA,EAAXA,EAAaY,cACZX,EAAAY,EAAA,CAAAN,SAAA,CACGX,EAAMc,MAAME,YACbE,EAACC,EAAG,CAACC,KAAM,OAGfF,EAACG,EAAW,CAAAC,UAAU,KAAKC,QAAQ,YAAYV,GAAI,CAAEW,GAAI,MAAOC,GAAI,MAAOC,WAAY,cACpF1B,EAAM2B,QAETT,EAACC,EAAI,CAAAC,KAAM,IACXF,EAACU,EACC,CAAAC,QAAS,WACP7B,EAAM8B,cAAgB9B,EAAM8B,eAC5B5B,EAAQ6B,OACT,EAEDpB,SAAAO,EAACc,EAAS,CAAA,QAGbhC,EAAMW,WACF,GAEX,EAGML,EAAO2B,EAAOC,EAAPD,EAAqC,SAAAE,GAAA,IAAGC,EAAKD,EAALC,MAAO7B,EAAI4B,EAAJ5B,KAAI,OAAA8B,EAAAA,EAAA,CAC9DC,UAAW,qBACXC,SAAU,SACVC,QAAS,OACTC,cAAe,SACfC,SAAU,WACVC,SAAU,qBACVC,MAAOR,EAAMS,YAAYC,OAAOvC,QAAAA,EAAQ,OACvC6B,EAAMS,YAAYE,KAAK,MAAQ,CAAEH,MAAO,uBACzC,gBAAiB,CACfI,OAAQ,sBACT,IAGGpB,EAAWK,EAAOgB,EAAPhB,CAAmB,CAClCb,KAAM,WACN8B,MAAO,UACP,QAAS,CAAEC,WAAY,YACvB,cAAe,CAAED,MAAO,aAGpBtC,EAASqB,EAAOd,EAAPc,CAAY,CACzBO,QAAS,OACTY,WAAY,SACZC,QAAS,cACTC,IAAK,MACLlC,KAAM,WACNmC,UAAW,uFACXP,OAAQ"}
|
package/dist/form/validator.js
CHANGED
|
@@ -1,190 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { formatFileSize } from '../utils/helpers.js';
|
|
3
|
-
import '../utils/query-param.js';
|
|
4
|
-
import '../utils/dayjs-config.js';
|
|
5
|
-
|
|
6
|
-
var _FormValidator;
|
|
7
|
-
var SingleRuleValidate;
|
|
8
|
-
(function (SingleRuleValidate) {
|
|
9
|
-
SingleRuleValidate["Required"] = "Required";
|
|
10
|
-
SingleRuleValidate["Regex"] = "Regex";
|
|
11
|
-
SingleRuleValidate["RequiredValue"] = "RequiredValue";
|
|
12
|
-
SingleRuleValidate["Array"] = "Array";
|
|
13
|
-
SingleRuleValidate["Number"] = "Number";
|
|
14
|
-
SingleRuleValidate["Email"] = "Email";
|
|
15
|
-
SingleRuleValidate["PhoneNumber"] = "PhoneNumber";
|
|
16
|
-
SingleRuleValidate["Url"] = "Url";
|
|
17
|
-
SingleRuleValidate["File"] = "File";
|
|
18
|
-
SingleRuleValidate["FileRequired"] = "FileRequired";
|
|
19
|
-
SingleRuleValidate["Custom"] = "Custom";
|
|
20
|
-
})(SingleRuleValidate || (SingleRuleValidate = {}));
|
|
21
|
-
var MessageDefault = {
|
|
22
|
-
Required: 'The {0} is required',
|
|
23
|
-
Regex: 'The {0} is not match {1}',
|
|
24
|
-
RequiredValue: 'the {0} is not equal {1}',
|
|
25
|
-
Array: 'The {0} is not valid',
|
|
26
|
-
Number: '{0} must be a number',
|
|
27
|
-
Email: 'The {0} is not valid',
|
|
28
|
-
PhoneNumber: 'The {0} is not valid',
|
|
29
|
-
Url: 'The {0} is not valid',
|
|
30
|
-
File: 'File size must be less than {1}',
|
|
31
|
-
FileRequired: 'The {0} is required',
|
|
32
|
-
Custom: 'Error Custom'
|
|
33
|
-
};
|
|
34
|
-
var mapRuleOptions = function mapRuleOptions(key, options) {
|
|
35
|
-
return options;
|
|
36
|
-
};
|
|
37
|
-
var FormValidator = /*#__PURE__*/_createClass(function FormValidator(configs) {
|
|
38
|
-
var _this = this;
|
|
39
|
-
_classCallCheck(this, FormValidator);
|
|
40
|
-
_defineProperty(this, "AddRules", function (key) {
|
|
41
|
-
var _fieldConfig$Rules;
|
|
42
|
-
var fieldConfig = _this.configs[key];
|
|
43
|
-
if (!fieldConfig) {
|
|
44
|
-
fieldConfig = {
|
|
45
|
-
Rules: []
|
|
46
|
-
};
|
|
47
|
-
_this.configs[key] = fieldConfig;
|
|
48
|
-
}
|
|
49
|
-
for (var _len = arguments.length, rule = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
50
|
-
rule[_key - 1] = arguments[_key];
|
|
51
|
-
}
|
|
52
|
-
(_fieldConfig$Rules = fieldConfig.Rules).push.apply(_fieldConfig$Rules, rule);
|
|
53
|
-
return _this;
|
|
54
|
-
});
|
|
55
|
-
_defineProperty(this, "Required", function (RuleOption, value) {
|
|
56
|
-
return value === null || value === undefined || value === '';
|
|
57
|
-
});
|
|
58
|
-
_defineProperty(this, "Regex", function (RuleOption, value, Regex) {
|
|
59
|
-
if (!value) return false;
|
|
60
|
-
return !RuleOption.Value.test(value);
|
|
61
|
-
});
|
|
62
|
-
_defineProperty(this, "RequiredValue", function (RuleOption, value) {
|
|
63
|
-
if (!value) return false;
|
|
64
|
-
return value !== RuleOption.Value;
|
|
65
|
-
});
|
|
66
|
-
_defineProperty(this, "Custom", function (RuleOption, value, model) {
|
|
67
|
-
if (typeof RuleOption.Value === 'function') {
|
|
68
|
-
return RuleOption.Value(value, model);
|
|
69
|
-
}
|
|
70
|
-
return true;
|
|
71
|
-
});
|
|
72
|
-
_defineProperty(this, "Array", function (RuleOption, value) {
|
|
73
|
-
if (!value) return false;
|
|
74
|
-
if (typeof RuleOption.Value === 'number') {
|
|
75
|
-
return Array.isArray(value) ? value.length <= RuleOption.Value : true;
|
|
76
|
-
}
|
|
77
|
-
return true;
|
|
78
|
-
});
|
|
79
|
-
_defineProperty(this, "Number", function (RuleOption, value) {
|
|
80
|
-
if (!value) return false;
|
|
81
|
-
return isNaN(Number(value));
|
|
82
|
-
});
|
|
83
|
-
_defineProperty(this, "Email", function (RuleOption, value) {
|
|
84
|
-
if (!value) return false;
|
|
85
|
-
var regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
|
|
86
|
-
return !regex.test(value);
|
|
87
|
-
});
|
|
88
|
-
_defineProperty(this, "PhoneNumber", function (RuleOption, value) {
|
|
89
|
-
if (!value) return false;
|
|
90
|
-
var phoneRegex = /^(\+?\d{1,4}[\s-]?)?((\(\d{1,4}\))|\d{1,4})[\s-]?\d{1,4}[\s-]?\d{1,9}$/;
|
|
91
|
-
return !phoneRegex.test((value !== null && value !== void 0 ? value : '').trim());
|
|
92
|
-
});
|
|
93
|
-
_defineProperty(this, "Url", function (RuleOption, value) {
|
|
94
|
-
if (!value) return false;
|
|
95
|
-
try {
|
|
96
|
-
new URL(value);
|
|
97
|
-
return false;
|
|
98
|
-
} catch (err) {
|
|
99
|
-
return true;
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
_defineProperty(this, "File", function (RuleOption, value) {
|
|
103
|
-
if (!value) return false;
|
|
104
|
-
var options = mapRuleOptions('File', RuleOption.options);
|
|
105
|
-
var files = Array.isArray(value) ? value : [value];
|
|
106
|
-
if (!options) return false;
|
|
107
|
-
if (options.all === true) {
|
|
108
|
-
var size = files.reduce(function (a, b) {
|
|
109
|
-
a += b.size;
|
|
110
|
-
return a;
|
|
111
|
-
}, 0);
|
|
112
|
-
return size > options.maxSize;
|
|
113
|
-
} else {
|
|
114
|
-
return files.some(function (x) {
|
|
115
|
-
return x.size > options.maxSize;
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
_defineProperty(this, "FileRequired", function (RuleOption, value) {
|
|
120
|
-
var files = Array.isArray(value) ? value : [value];
|
|
121
|
-
return !!files.filter(function (x) {
|
|
122
|
-
return !!x;
|
|
123
|
-
}).some(function (x) {
|
|
124
|
-
return x.size <= 0;
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
_defineProperty(this, "RenderMessage", function (RuleOption, key, label) {
|
|
128
|
-
if (!RuleOption.message) {
|
|
129
|
-
RuleOption.message = MessageDefault[RuleOption.rule].replace('{0}', label !== null && label !== void 0 ? label : key);
|
|
130
|
-
switch (RuleOption.rule) {
|
|
131
|
-
case SingleRuleValidate.Regex:
|
|
132
|
-
{
|
|
133
|
-
RuleOption.message = RuleOption.message.replace('{1}', RuleOption.Value.source);
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
case SingleRuleValidate.RequiredValue:
|
|
137
|
-
{
|
|
138
|
-
var _RuleOption$Value$toS, _RuleOption$Value;
|
|
139
|
-
RuleOption.message = RuleOption.message.replace('{1}', (_RuleOption$Value$toS = (_RuleOption$Value = RuleOption.Value) === null || _RuleOption$Value === void 0 ? void 0 : _RuleOption$Value.toString()) !== null && _RuleOption$Value$toS !== void 0 ? _RuleOption$Value$toS : '');
|
|
140
|
-
break;
|
|
141
|
-
}
|
|
142
|
-
case SingleRuleValidate.File:
|
|
143
|
-
{
|
|
144
|
-
var options = mapRuleOptions('File', RuleOption.options);
|
|
145
|
-
if ((options === null || options === void 0 ? void 0 : options.all) === true) {
|
|
146
|
-
var _options$maxSize;
|
|
147
|
-
RuleOption.message = "Total file size must be less than ".concat(formatFileSize(((_options$maxSize = options === null || options === void 0 ? void 0 : options.maxSize) !== null && _options$maxSize !== void 0 ? _options$maxSize : 0) / 1024));
|
|
148
|
-
} else {
|
|
149
|
-
var _options$maxSize2;
|
|
150
|
-
RuleOption.message = RuleOption.message.replace('{1}', formatFileSize(((_options$maxSize2 = options === null || options === void 0 ? void 0 : options.maxSize) !== null && _options$maxSize2 !== void 0 ? _options$maxSize2 : 0) / 1024));
|
|
151
|
-
}
|
|
152
|
-
break;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
RuleOption.message = RuleOption.message.replace('{0}', key);
|
|
157
|
-
return RuleOption;
|
|
158
|
-
});
|
|
159
|
-
_defineProperty(this, "run", function (model) {
|
|
160
|
-
var keys = Object.keys(_this.configs);
|
|
161
|
-
var data = {};
|
|
162
|
-
keys.forEach(function (key) {
|
|
163
|
-
var config = _this.configs[key];
|
|
164
|
-
if (!config) return;
|
|
165
|
-
var tmp = _this.Executed(config, model[key], model);
|
|
166
|
-
if (tmp.length < 1) return;
|
|
167
|
-
data[key] = tmp.map(function (x) {
|
|
168
|
-
return _this.RenderMessage(x, key, config.label);
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
return data;
|
|
172
|
-
});
|
|
173
|
-
_defineProperty(this, "Executed", function (Config, valueField, model) {
|
|
174
|
-
return Config.Rules.filter(function (Value) {
|
|
175
|
-
var action = _this[Value.rule.toString()];
|
|
176
|
-
return action && action(Value, valueField, model);
|
|
177
|
-
});
|
|
178
|
-
});
|
|
179
|
-
this.configs = configs;
|
|
180
|
-
});
|
|
181
|
-
_FormValidator = FormValidator;
|
|
182
|
-
_defineProperty(FormValidator, "initial", function (configs) {
|
|
183
|
-
return new _FormValidator(configs);
|
|
184
|
-
});
|
|
185
|
-
var createFormValidator = function createFormValidator() {
|
|
186
|
-
return new FormValidator({});
|
|
187
|
-
};
|
|
188
|
-
|
|
189
|
-
export { SingleRuleValidate, createFormValidator, FormValidator as default, mapRuleOptions };
|
|
1
|
+
import{defineProperty as e,createClass as r,classCallCheck as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{formatFileSize as u}from"../utils/helpers.js";import"../utils/query-param.js";import"../utils/dayjs-config.js";var t,n;!function(e){e.Required="Required",e.Regex="Regex",e.RequiredValue="RequiredValue",e.Array="Array",e.Number="Number",e.Email="Email",e.PhoneNumber="PhoneNumber",e.Url="Url",e.File="File",e.FileRequired="FileRequired",e.Custom="Custom"}(n||(n={}));var s={Required:"The {0} is required",Regex:"The {0} is not match {1}",RequiredValue:"the {0} is not equal {1}",Array:"The {0} is not valid",Number:"{0} must be a number",Email:"The {0} is not valid",PhoneNumber:"The {0} is not valid",Url:"The {0} is not valid",File:"File size must be less than {1}",FileRequired:"The {0} is required",Custom:"Error Custom"},a=function(e,r){return r},l=r((function r(t){var l=this;i(this,r),e(this,"AddRules",(function(e){var r,i=l.configs[e];i||(i={Rules:[]},l.configs[e]=i);for(var u=arguments.length,t=new Array(u>1?u-1:0),n=1;n<u;n++)t[n-1]=arguments[n];return(r=i.Rules).push.apply(r,t),l})),e(this,"Required",(function(e,r){return null==r||""===r})),e(this,"Regex",(function(e,r,i){return!!r&&!e.Value.test(r)})),e(this,"RequiredValue",(function(e,r){return!!r&&r!==e.Value})),e(this,"Custom",(function(e,r,i){return"function"!=typeof e.Value||e.Value(r,i)})),e(this,"Array",(function(e,r){return!!r&&("number"!=typeof e.Value||(!Array.isArray(r)||r.length<=e.Value))})),e(this,"Number",(function(e,r){return!!r&&isNaN(Number(r))})),e(this,"Email",(function(e,r){if(!r)return!1;return!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(r)})),e(this,"PhoneNumber",(function(e,r){if(!r)return!1;return!/^(\+?\d{1,4}[\s-]?)?((\(\d{1,4}\))|\d{1,4})[\s-]?\d{1,4}[\s-]?\d{1,9}$/.test((null!=r?r:"").trim())})),e(this,"Url",(function(e,r){if(!r)return!1;try{return new URL(r),!1}catch(e){return!0}})),e(this,"File",(function(e,r){if(!r)return!1;var i=a(0,e.options),u=Array.isArray(r)?r:[r];return!!i&&(!0===i.all?u.reduce((function(e,r){return e+=r.size}),0)>i.maxSize:u.some((function(e){return e.size>i.maxSize})))})),e(this,"FileRequired",(function(e,r){return!!(Array.isArray(r)?r:[r]).filter((function(e){return!!e})).some((function(e){return e.size<=0}))})),e(this,"RenderMessage",(function(e,r,i){if(!e.message)switch(e.message=s[e.rule].replace("{0}",null!=i?i:r),e.rule){case n.Regex:e.message=e.message.replace("{1}",e.Value.source);break;case n.RequiredValue:var t,l;e.message=e.message.replace("{1}",null!==(t=null===(l=e.Value)||void 0===l?void 0:l.toString())&&void 0!==t?t:"");break;case n.File:var o,c,f=a(0,e.options);if(!0===(null==f?void 0:f.all))e.message="Total file size must be less than ".concat(u((null!==(o=null==f?void 0:f.maxSize)&&void 0!==o?o:0)/1024));else e.message=e.message.replace("{1}",u((null!==(c=null==f?void 0:f.maxSize)&&void 0!==c?c:0)/1024))}return e.message=e.message.replace("{0}",r),e})),e(this,"run",(function(e){var r=Object.keys(l.configs),i={};return r.forEach((function(r){var u=l.configs[r];if(u){var t=l.Executed(u,e[r],e);t.length<1||(i[r]=t.map((function(e){return l.RenderMessage(e,r,u.label)})))}})),i})),e(this,"Executed",(function(e,r,i){return e.Rules.filter((function(e){var u=l[e.rule.toString()];return u&&u(e,r,i)}))})),this.configs=t}));t=l,e(l,"initial",(function(e){return new t(e)}));var o=function(){return new l({})};export{n as SingleRuleValidate,o as createFormValidator,l as default,a as mapRuleOptions};
|
|
190
2
|
//# sourceMappingURL=validator.js.map
|