dinocollab-core 1.0.0

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.
Files changed (214) hide show
  1. package/README.md +54 -0
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js +431 -0
  3. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  4. package/dist/assets/vector-404265a04f4f9c8be1f.webp +0 -0
  5. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js +46 -0
  6. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@1_d0d2002d9033600b6738d939bd598bc6/node_modules/tslib/tslib.es6.js.map +1 -0
  7. package/dist/src/api-context/alert-global.js +151 -0
  8. package/dist/src/api-context/alert-global.js.map +1 -0
  9. package/dist/src/api-context/drawer-global.js +105 -0
  10. package/dist/src/api-context/drawer-global.js.map +1 -0
  11. package/dist/src/api-context/global-modal.js +87 -0
  12. package/dist/src/api-context/global-modal.js.map +1 -0
  13. package/dist/src/api-context/popover-global.js +102 -0
  14. package/dist/src/api-context/popover-global.js.map +1 -0
  15. package/dist/src/api-context/popover.js +86 -0
  16. package/dist/src/api-context/popover.js.map +1 -0
  17. package/dist/src/api-context/ui.units.js +21 -0
  18. package/dist/src/api-context/ui.units.js.map +1 -0
  19. package/dist/src/components/copy-to-clipboard.js +105 -0
  20. package/dist/src/components/copy-to-clipboard.js.map +1 -0
  21. package/dist/src/components/custom.breadcrumbs.js +61 -0
  22. package/dist/src/components/custom.breadcrumbs.js.map +1 -0
  23. package/dist/src/components/help-tooltip.js +91 -0
  24. package/dist/src/components/help-tooltip.js.map +1 -0
  25. package/dist/src/components/image-with-fallback.js +48 -0
  26. package/dist/src/components/image-with-fallback.js.map +1 -0
  27. package/dist/src/components/text-editor.js +117 -0
  28. package/dist/src/components/text-editor.js.map +1 -0
  29. package/dist/src/form/create.autocomplete.chips.js +218 -0
  30. package/dist/src/form/create.autocomplete.chips.js.map +1 -0
  31. package/dist/src/form/create.date-expired.js +201 -0
  32. package/dist/src/form/create.date-expired.js.map +1 -0
  33. package/dist/src/form/create.date-picker.js +125 -0
  34. package/dist/src/form/create.date-picker.js.map +1 -0
  35. package/dist/src/form/create.form-base.js +135 -0
  36. package/dist/src/form/create.form-base.js.map +1 -0
  37. package/dist/src/form/create.form-comfirm.js +119 -0
  38. package/dist/src/form/create.form-comfirm.js.map +1 -0
  39. package/dist/src/form/create.form-grid-layout.js +177 -0
  40. package/dist/src/form/create.form-grid-layout.js.map +1 -0
  41. package/dist/src/form/create.form-grid-layout.units.js +39 -0
  42. package/dist/src/form/create.form-grid-layout.units.js.map +1 -0
  43. package/dist/src/form/create.input-base.js +260 -0
  44. package/dist/src/form/create.input-base.js.map +1 -0
  45. package/dist/src/form/create.input.file.js +74 -0
  46. package/dist/src/form/create.input.file.js.map +1 -0
  47. package/dist/src/form/create.select-simple.js +104 -0
  48. package/dist/src/form/create.select-simple.js.map +1 -0
  49. package/dist/src/form/create.select-with-api.js +271 -0
  50. package/dist/src/form/create.select-with-api.js.map +1 -0
  51. package/dist/src/form/create.text-editor.js +156 -0
  52. package/dist/src/form/create.text-editor.js.map +1 -0
  53. package/dist/src/form/dino-form.js +42 -0
  54. package/dist/src/form/dino-form.js.map +1 -0
  55. package/dist/src/form/helper.js +157 -0
  56. package/dist/src/form/helper.js.map +1 -0
  57. package/dist/src/form/modal-wrapper.js +75 -0
  58. package/dist/src/form/modal-wrapper.js.map +1 -0
  59. package/dist/src/form/validator.js +186 -0
  60. package/dist/src/form/validator.js.map +1 -0
  61. package/dist/src/hooks/index.js +48 -0
  62. package/dist/src/hooks/index.js.map +1 -0
  63. package/dist/src/index.js +26 -0
  64. package/dist/src/index.js.map +1 -0
  65. package/dist/src/redux/create.hoc-lazy.js +67 -0
  66. package/dist/src/redux/create.hoc-lazy.js.map +1 -0
  67. package/dist/src/redux/dino.js +11 -0
  68. package/dist/src/redux/dino.js.map +1 -0
  69. package/dist/src/redux/types.js +9 -0
  70. package/dist/src/redux/types.js.map +1 -0
  71. package/dist/src/redux/ui.error-page.js +80 -0
  72. package/dist/src/redux/ui.error-page.js.map +1 -0
  73. package/dist/src/redux/vector-404.webp.js +4 -0
  74. package/dist/src/redux/vector-404.webp.js.map +1 -0
  75. package/dist/src/table/context.js +12 -0
  76. package/dist/src/table/context.js.map +1 -0
  77. package/dist/src/table/create.action-row.js +135 -0
  78. package/dist/src/table/create.action-row.js.map +1 -0
  79. package/dist/src/table/create.status-cell.js +49 -0
  80. package/dist/src/table/create.status-cell.js.map +1 -0
  81. package/dist/src/table/create.table.js +233 -0
  82. package/dist/src/table/create.table.js.map +1 -0
  83. package/dist/src/table/custom.filter-operators.js +89 -0
  84. package/dist/src/table/custom.filter-operators.js.map +1 -0
  85. package/dist/src/table/dino.js +129 -0
  86. package/dist/src/table/dino.js.map +1 -0
  87. package/dist/src/table/helpers.js +116 -0
  88. package/dist/src/table/helpers.js.map +1 -0
  89. package/dist/src/table/model-filter.js +23 -0
  90. package/dist/src/table/model-filter.js.map +1 -0
  91. package/dist/src/table/toolbar-pannel.js +134 -0
  92. package/dist/src/table/toolbar-pannel.js.map +1 -0
  93. package/dist/src/table/ui.buttons.js +60 -0
  94. package/dist/src/table/ui.buttons.js.map +1 -0
  95. package/dist/src/table/ui.units.js +201 -0
  96. package/dist/src/table/ui.units.js.map +1 -0
  97. package/dist/src/utils/dayjs-config.js +12 -0
  98. package/dist/src/utils/dayjs-config.js.map +1 -0
  99. package/dist/src/utils/helpers.js +197 -0
  100. package/dist/src/utils/helpers.js.map +1 -0
  101. package/dist/src/utils/json-object.js +38 -0
  102. package/dist/src/utils/json-object.js.map +1 -0
  103. package/dist/src/utils/query-param.js +172 -0
  104. package/dist/src/utils/query-param.js.map +1 -0
  105. package/package.json +52 -0
  106. package/rollup.config.js +39 -0
  107. package/src/@types/global.d.ts +5 -0
  108. package/src/api-context/alert-global.tsx +174 -0
  109. package/src/api-context/drawer-global.tsx +116 -0
  110. package/src/api-context/global-modal.tsx +109 -0
  111. package/src/api-context/index.ts +13 -0
  112. package/src/api-context/popover-global.tsx +107 -0
  113. package/src/api-context/popover.tsx +89 -0
  114. package/src/api-context/ui.units.tsx +10 -0
  115. package/src/components/copy-to-clipboard.tsx +86 -0
  116. package/src/components/custom.breadcrumbs.tsx +67 -0
  117. package/src/components/help-tooltip.tsx +75 -0
  118. package/src/components/image-with-fallback.tsx +51 -0
  119. package/src/components/index.tsx +1 -0
  120. package/src/components/input-debounce-timer.tsx +138 -0
  121. package/src/components/loading-buttons.tsx +35 -0
  122. package/src/components/text-editor.preview.tsx +30 -0
  123. package/src/components/text-editor.tsx +125 -0
  124. package/src/form/README.md +55 -0
  125. package/src/form/create.autocomplete.chips.tsx +199 -0
  126. package/src/form/create.date-expired.tsx +195 -0
  127. package/src/form/create.date-picker.tsx +122 -0
  128. package/src/form/create.form-base.tsx +102 -0
  129. package/src/form/create.form-comfirm.tsx +83 -0
  130. package/src/form/create.form-grid-layout.tsx +170 -0
  131. package/src/form/create.form-grid-layout.units.tsx +37 -0
  132. package/src/form/create.input-base.tsx +222 -0
  133. package/src/form/create.input.file.tsx +76 -0
  134. package/src/form/create.select-simple.tsx +101 -0
  135. package/src/form/create.select-with-api.tsx +213 -0
  136. package/src/form/create.text-editor.tsx +161 -0
  137. package/src/form/dino-form.tsx +40 -0
  138. package/src/form/helper.ts +132 -0
  139. package/src/form/index.ts +12 -0
  140. package/src/form/modal-wrapper.tsx +75 -0
  141. package/src/form/types.ts +16 -0
  142. package/src/form/validator.ts +202 -0
  143. package/src/hooks/index.ts +44 -0
  144. package/src/index.ts +7 -0
  145. package/src/lab/create.autocomplete.simple.tsx +57 -0
  146. package/src/lab/create.dino-store.ts +59 -0
  147. package/src/lab/create.multi-select-dropdown.tsx +189 -0
  148. package/src/lab/create.select-mul-with-api/index.tsx +271 -0
  149. package/src/lab/create.select-mul-with-api/table-custom.tsx +194 -0
  150. package/src/lab/create.select-mul-with-api/types.ts +26 -0
  151. package/src/lab/create.select-mul-with-api/ui.units.tsx +163 -0
  152. package/src/lab/filter-bar/base.tsx +162 -0
  153. package/src/lab/filter-bar/create.filter-bar.tsx +190 -0
  154. package/src/lab/filter-bar/create.filter-menu.tsx +156 -0
  155. package/src/lab/filter-bar/create.filter-panel.tsx +95 -0
  156. package/src/lab/filter-bar/create.filtered.tsx +41 -0
  157. package/src/lab/filter-bar/create.sort-menu.tsx +43 -0
  158. package/src/lab/filter-bar/demo.tsx +50 -0
  159. package/src/lab/filter-bar/index.ts +6 -0
  160. package/src/lab/filter-bar/types.ts +105 -0
  161. package/src/lab/filter-bar/ui.units.tsx +70 -0
  162. package/src/lab/grafana-dashboard/configs.ts +43 -0
  163. package/src/lab/grafana-dashboard/date-time-range/absolute-time-rage.tsx +137 -0
  164. package/src/lab/grafana-dashboard/date-time-range/helpers.ts +126 -0
  165. package/src/lab/grafana-dashboard/date-time-range/index.tsx +62 -0
  166. package/src/lab/grafana-dashboard/date-time-range/menu-wrap.tsx +101 -0
  167. package/src/lab/grafana-dashboard/date-time-range/quick-ranges.tsx +161 -0
  168. package/src/lab/grafana-dashboard/date-time-range/types.ts +9 -0
  169. package/src/lab/grafana-dashboard/date-time-range/units.tsx +18 -0
  170. package/src/lab/grafana-dashboard/helper.ts +25 -0
  171. package/src/lab/grafana-dashboard/hooks.tsx +79 -0
  172. package/src/lab/grafana-dashboard/icons.tsx +67 -0
  173. package/src/lab/grafana-dashboard/index.tsx +120 -0
  174. package/src/lab/grafana-dashboard/top-bar.tsx +62 -0
  175. package/src/lab/grafana-dashboard/top-bar.types.ts +5 -0
  176. package/src/lab/grafana-dashboard/types.ts +8 -0
  177. package/src/lab/media-player.core1.tsx +273 -0
  178. package/src/lab/media-player.muted.tsx +62 -0
  179. package/src/lab/media-player.units.ts +80 -0
  180. package/src/lab/table-grid/create.table-grid.tsx +183 -0
  181. package/src/lab/table-grid/demo.tsx +53 -0
  182. package/src/lab/table-grid/dino.tsx +8 -0
  183. package/src/lab/table-grid/helpers.tsx +11 -0
  184. package/src/lab/table-grid/index.ts +3 -0
  185. package/src/lab/table-grid/item-actions.tsx +138 -0
  186. package/src/lab/table-grid/toolbar-pannel.tsx +98 -0
  187. package/src/lab/table-grid/types.ts +68 -0
  188. package/src/redux/create.hoc-lazy.tsx +80 -0
  189. package/src/redux/dino.ts +9 -0
  190. package/src/redux/index.ts +6 -0
  191. package/src/redux/types.ts +27 -0
  192. package/src/redux/ui.error-page.tsx +62 -0
  193. package/src/redux/ui.units.tsx +41 -0
  194. package/src/redux/vector-404.webp +0 -0
  195. package/src/table/context.tsx +16 -0
  196. package/src/table/create.action-row.tsx +91 -0
  197. package/src/table/create.status-cell.tsx +51 -0
  198. package/src/table/create.table.tsx +239 -0
  199. package/src/table/custom.filter-operators.ts +94 -0
  200. package/src/table/dino.tsx +120 -0
  201. package/src/table/helpers.ts +94 -0
  202. package/src/table/index.ts +13 -0
  203. package/src/table/model-filter.ts +43 -0
  204. package/src/table/toolbar-pannel.tsx +106 -0
  205. package/src/table/types.ts +50 -0
  206. package/src/table/ui.buttons.tsx +54 -0
  207. package/src/table/ui.units.tsx +189 -0
  208. package/src/utils/dayjs-config.ts +13 -0
  209. package/src/utils/helpers.ts +171 -0
  210. package/src/utils/index.ts +7 -0
  211. package/src/utils/json-object.ts +29 -0
  212. package/src/utils/mfe-events.tsx +34 -0
  213. package/src/utils/query-param.ts +129 -0
  214. package/tsconfig.json +20 -0
@@ -0,0 +1,157 @@
1
+ import { toConsumableArray as _toConsumableArray, typeof as _typeof } from '../../_virtual/_rollupPluginBabelHelpers.js';
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] ? Object.assign(Object.assign({}, 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 _a;
106
+ var data = (_a = error.response) === null || _a === void 0 ? void 0 : _a.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 _a;
146
+ a.push.apply(a, _toConsumableArray((_a = b === null || b === void 0 ? void 0 : b.Rules) !== null && _a !== void 0 ? _a : []));
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 { GetErrorFromResponse, SingleValidate, ValidateMerge, convertFormDataToJson, getErrorMessage };
157
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sources":["../../../src/form/helper.ts"],"sourcesContent":["import { AxiosError } from 'axios'\r\nimport FormValidator, { IModelError, IRuleOption, PartialError } from './validator'\r\n\r\ntype AnyObject = { [key: string]: any }\r\nconst ObjectAssign = <T extends AnyObject>(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 AnyObject>(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: PartialError<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 ModelBase = {\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).reduce<Partial<TModel>>((a: 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: PartialError<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: PartialError<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, ModelBase>) => {\r\n Object.keys(model).forEach((key: keyof Extract<TModel, ModelBase>) => {\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","error","message","convertFormDataToJson","form","data","from","forEach","value","toString","toLocaleLowerCase","SingleValidate","modelState","Validator","messageErrors","run","errors","File","size","GetErrorFromResponse","ModelRender","_a","response","messages","ValidateMerge","_len3","validateor","_key3","configs","_loop2","Rules","FormValidator"],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { defineProperty as _defineProperty } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React from 'react';
3
+ import { styled, Paper, IconButton, Box, Typography } from '@mui/material';
4
+ import CloseIcon from '@mui/icons-material/Close';
5
+ import '../api-context/alert-global.js';
6
+ import '../api-context/drawer-global.js';
7
+ import { MapGlobalModalContext } from '../api-context/global-modal.js';
8
+
9
+ var FormModalWrapper = function FormModalWrapper(props) {
10
+ return MapGlobalModalContext(function (context) {
11
+ var _a, _b;
12
+ return /*#__PURE__*/React.createElement(Wrap, {
13
+ size: props.size,
14
+ className: props.fullHeight ? 'full-height' : undefined
15
+ }, /*#__PURE__*/React.createElement(TopBar, {
16
+ sx: (_a = props.slots) === null || _a === void 0 ? void 0 : _a.sxTopbarProps
17
+ }, ((_b = props.slots) === null || _b === void 0 ? void 0 : _b.beforeTitle) && /*#__PURE__*/React.createElement(React.Fragment, null, props.slots.beforeTitle, /*#__PURE__*/React.createElement(Box, {
18
+ flex: 1
19
+ })), /*#__PURE__*/React.createElement(Typography, {
20
+ component: "h3",
21
+ variant: "subtitle1",
22
+ sx: {
23
+ mt: '2px',
24
+ ml: '8px',
25
+ fontWeight: 700
26
+ }
27
+ }, props.title), /*#__PURE__*/React.createElement(Box, {
28
+ flex: 1
29
+ }), /*#__PURE__*/React.createElement(BtnClose, {
30
+ onClick: function onClick() {
31
+ props.onCloseClick && props.onCloseClick();
32
+ context.close();
33
+ }
34
+ }, /*#__PURE__*/React.createElement(CloseIcon, null))), props.children);
35
+ });
36
+ };
37
+ var Wrap = styled(Paper)(function (_ref) {
38
+ var theme = _ref.theme,
39
+ size = _ref.size;
40
+ return _defineProperty(_defineProperty({
41
+ maxHeight: 'calc(100vh - 24px)',
42
+ overflow: 'hidden',
43
+ display: 'flex',
44
+ flexDirection: 'column',
45
+ position: 'relative',
46
+ maxWidth: 'calc(100vw - 24px)',
47
+ width: theme.breakpoints.values[size !== null && size !== void 0 ? size : 'lg']
48
+ }, theme.breakpoints.down('sm'), {
49
+ width: 'calc(100vw - 24px)'
50
+ }), '&.full-height', {
51
+ height: 'calc(100vh - 24px)'
52
+ });
53
+ });
54
+ var BtnClose = styled(IconButton)({
55
+ flex: '0 0 auto',
56
+ color: '#3c3c3c',
57
+ '& svg': {
58
+ transition: 'all 0.2s'
59
+ },
60
+ '&:hover svg': {
61
+ color: '#ff200c'
62
+ }
63
+ });
64
+ var TopBar = styled(Box)({
65
+ display: 'flex',
66
+ alignItems: 'center',
67
+ padding: '0 8px 0 8px',
68
+ gap: '6px',
69
+ flex: '0 0 auto',
70
+ boxShadow: 'rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px',
71
+ height: '48px'
72
+ });
73
+
74
+ export { FormModalWrapper as default };
75
+ //# sourceMappingURL=modal-wrapper.js.map
@@ -0,0 +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\ninterface IProps 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\nconst FormModalWrapper: FC<IProps> = (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\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","React","createElement","Wrap","size","className","fullHeight","undefined","TopBar","sx","_a","slots","sxTopbarProps","_b","beforeTitle","Fragment","Box","flex","Typography","component","variant","mt","ml","fontWeight","title","BtnClose","onClick","onCloseClick","close","CloseIcon","children","styled","Paper","_ref","theme","_defineProperty","maxHeight","overflow","display","flexDirection","position","maxWidth","width","breakpoints","values","down","height","IconButton","color","transition","alignItems","padding","gap","boxShadow"],"mappings":";;;;;;;;AAeA,IAAMA,gBAAgB,GAAe,SAA/BA,gBAAgBA,CAAgBC,KAAK,EAAI;AAC7C,EAAA,OAAOC,qBAAqB,CAAC,UAACC,OAAO,EAAI;;AAAC,IAAA,oBACxCC,KAAA,CAAAC,aAAA,CAACC,IAAI,EAAA;MAACC,IAAI,EAAEN,KAAK,CAACM,IAAK;AAACC,MAAAA,SAAS,EAAEP,KAAK,CAACQ,UAAU,GAAG,aAAa,GAAGC;AAAU,KAAA,eAC9EN,KAAA,CAAAC,aAAA,CAACM,MAAM,EAAA;AAACC,MAAAA,EAAE,EAAE,CAAAC,EAAA,GAAAZ,KAAK,CAACa,KAAK,MAAA,IAAA,IAAAD,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAEE;AAAc,KAAA,EACpC,CAAA,MAAAd,KAAK,CAACa,KAAK,MAAE,IAAA,IAAAE,EAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAA,CAAAC,WAAW,kBACvBb,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAc,QAAA,EACGjB,IAAAA,EAAAA,KAAK,CAACa,KAAK,CAACG,WAAW,eACxBb,KAAA,CAAAC,aAAA,CAACc,GAAG,EAAA;AAACC,MAAAA,IAAI,EAAE;AAAE,KACf,CAAA,CACD,eACDhB,KAAA,CAAAC,aAAA,CAACgB,UAAU,EAAA;AAACC,MAAAA,SAAS,EAAC,IAAI;AAACC,MAAAA,OAAO,EAAC,WAAW;AAACX,MAAAA,EAAE,EAAE;AAAEY,QAAAA,EAAE,EAAE,KAAK;AAAEC,QAAAA,EAAE,EAAE,KAAK;AAAEC,QAAAA,UAAU,EAAE;AAAK;KACzFzB,EAAAA,KAAK,CAAC0B,KACG,CACZ,eAAAvB,KAAA,CAAAC,aAAA,CAACc,GAAG,EAAA;AAACC,MAAAA,IAAI,EAAE;AAAE,KACb,CAAA,eAAAhB,KAAA,CAAAC,aAAA,CAACuB,QAAQ,EAAA;AACPC,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;AACZ5B,QAAAA,KAAK,CAAC6B,YAAY,IAAI7B,KAAK,CAAC6B,YAAY,EAAE;QAC1C3B,OAAO,CAAC4B,KAAK,EAAE;AACjB;AAAE,KAAA,eAEF3B,KAAA,CAAAC,aAAA,CAAC2B,SAAS,EAAA,IACZ,CAAU,CACJ,CACR,EAAC/B,KAAK,CAACgC,QACH,CAAC;AACR,GAAA,CAAC;AACJ;AAIA,IAAM3B,IAAI,GAAG4B,MAAM,CAACC,KAAK,CAAC,CAAwB,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAE9B,IAAI,GAAA6B,IAAA,CAAJ7B,IAAI;EAAA,OAAA+B,eAAA,CAAAA,eAAA,CAAA;AAC9DC,IAAAA,SAAS,EAAE,oBAAoB;AAC/BC,IAAAA,QAAQ,EAAE,QAAQ;AAClBC,IAAAA,OAAO,EAAE,MAAM;AACfC,IAAAA,aAAa,EAAE,QAAQ;AACvBC,IAAAA,QAAQ,EAAE,UAAU;AACpBC,IAAAA,QAAQ,EAAE,oBAAoB;AAC9BC,IAAAA,KAAK,EAAER,KAAK,CAACS,WAAW,CAACC,MAAM,CAACxC,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAJA,IAAI,GAAI,IAAI;GAC3C8B,EAAAA,KAAK,CAACS,WAAW,CAACE,IAAI,CAAC,IAAI,CAAC,EAAG;AAAEH,IAAAA,KAAK,EAAE;GAAsB,CAAA,EAC/D,eAAe,EAAE;AACfI,IAAAA,MAAM,EAAE;GACT,CAAA;AAAA,CACD,CAAC;AAEH,IAAMrB,QAAQ,GAAGM,MAAM,CAACgB,UAAU,CAAC,CAAC;AAClC9B,EAAAA,IAAI,EAAE,UAAU;AAChB+B,EAAAA,KAAK,EAAE,SAAS;AAChB,EAAA,OAAO,EAAE;AAAEC,IAAAA,UAAU,EAAE;GAAY;AACnC,EAAA,aAAa,EAAE;AAAED,IAAAA,KAAK,EAAE;AAAW;AACpC,CAAA,CAAC;AAEF,IAAMxC,MAAM,GAAGuB,MAAM,CAACf,GAAG,CAAC,CAAC;AACzBsB,EAAAA,OAAO,EAAE,MAAM;AACfY,EAAAA,UAAU,EAAE,QAAQ;AACpBC,EAAAA,OAAO,EAAE,aAAa;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVnC,EAAAA,IAAI,EAAE,UAAU;AAChBoC,EAAAA,SAAS,EAAE,sFAAsF;AACjGP,EAAAA,MAAM,EAAE;AACT,CAAA,CAAC;;;;"}
@@ -0,0 +1,186 @@
1
+ import { createClass as _createClass, classCallCheck as _classCallCheck } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { formatFileSize } from '../utils/helpers.js';
3
+ import '../utils/query-param.js';
4
+ import '../utils/dayjs-config.js';
5
+
6
+ var SingleRuleValidate;
7
+ (function (SingleRuleValidate) {
8
+ SingleRuleValidate["Required"] = "Required";
9
+ SingleRuleValidate["Regex"] = "Regex";
10
+ SingleRuleValidate["RequiredValue"] = "RequiredValue";
11
+ SingleRuleValidate["Array"] = "Array";
12
+ SingleRuleValidate["Number"] = "Number";
13
+ SingleRuleValidate["Email"] = "Email";
14
+ SingleRuleValidate["PhoneNumber"] = "PhoneNumber";
15
+ SingleRuleValidate["Url"] = "Url";
16
+ SingleRuleValidate["File"] = "File";
17
+ SingleRuleValidate["FileRequired"] = "FileRequired";
18
+ SingleRuleValidate["Custom"] = "Custom";
19
+ })(SingleRuleValidate || (SingleRuleValidate = {}));
20
+ var MessageDefault = {
21
+ Required: 'The {0} is required',
22
+ Regex: 'The {0} is not match {1}',
23
+ RequiredValue: 'the {0} is not equal {1}',
24
+ Array: 'The {0} is not valid',
25
+ Number: '{0} must be a number',
26
+ Email: 'The {0} is not valid',
27
+ PhoneNumber: 'The {0} is not valid',
28
+ Url: 'The {0} is not valid',
29
+ File: 'File size must be less than {1}',
30
+ FileRequired: 'The {0} is required',
31
+ Custom: 'Error Custom'
32
+ };
33
+ var MapRuleOptions = function MapRuleOptions(key, options) {
34
+ return options;
35
+ };
36
+ var FormValidator = /*#__PURE__*/_createClass(function FormValidator(configs) {
37
+ var _this = this;
38
+ _classCallCheck(this, FormValidator);
39
+ this.AddRules = function (key) {
40
+ var _fieldConfig$Rules;
41
+ var fieldConfig = _this.configs[key];
42
+ if (!fieldConfig) {
43
+ fieldConfig = {
44
+ Rules: []
45
+ };
46
+ _this.configs[key] = fieldConfig;
47
+ }
48
+ for (var _len = arguments.length, rule = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
49
+ rule[_key - 1] = arguments[_key];
50
+ }
51
+ (_fieldConfig$Rules = fieldConfig.Rules).push.apply(_fieldConfig$Rules, rule);
52
+ return _this;
53
+ };
54
+ this.Required = function (RuleOption, value) {
55
+ return value === null || value === undefined || value === '';
56
+ };
57
+ this.Regex = function (RuleOption, value, Regex) {
58
+ if (!value) return false;
59
+ return !RuleOption.Value.test(value);
60
+ };
61
+ this.RequiredValue = function (RuleOption, value) {
62
+ if (!value) return false;
63
+ return value !== RuleOption.Value;
64
+ };
65
+ this.Custom = function (RuleOption, value, model) {
66
+ if (typeof RuleOption.Value === 'function') {
67
+ return RuleOption.Value(value, model);
68
+ }
69
+ return true;
70
+ };
71
+ this.Array = function (RuleOption, value) {
72
+ if (!value) return false;
73
+ if (typeof RuleOption.Value === 'number') {
74
+ return Array.isArray(value) ? value.length <= RuleOption.Value : true;
75
+ }
76
+ return true;
77
+ };
78
+ this.Number = function (RuleOption, value) {
79
+ if (!value) return false;
80
+ return isNaN(Number(value));
81
+ };
82
+ this.Email = function (RuleOption, value) {
83
+ if (!value) return false;
84
+ var regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
85
+ return !regex.test(value);
86
+ };
87
+ this.PhoneNumber = function (RuleOption, value) {
88
+ if (!value) return false;
89
+ var phoneRegex = /^(\+?\d{1,4}[\s-]?)?((\(\d{1,4}\))|\d{1,4})[\s-]?\d{1,4}[\s-]?\d{1,9}$/;
90
+ return !phoneRegex.test((value !== null && value !== void 0 ? value : '').trim());
91
+ };
92
+ this.Url = function (RuleOption, value) {
93
+ if (!value) return false;
94
+ try {
95
+ new URL(value);
96
+ return false;
97
+ } catch (err) {
98
+ return true;
99
+ }
100
+ };
101
+ this.File = function (RuleOption, value) {
102
+ if (!value) return false;
103
+ var options = MapRuleOptions('File', RuleOption.options);
104
+ var files = Array.isArray(value) ? value : [value];
105
+ if (!options) return false;
106
+ if (options.all === true) {
107
+ var size = files.reduce(function (a, b) {
108
+ a += b.size;
109
+ return a;
110
+ }, 0);
111
+ return size > options.maxSize;
112
+ } else {
113
+ return files.some(function (x) {
114
+ return x.size > options.maxSize;
115
+ });
116
+ }
117
+ };
118
+ this.FileRequired = function (RuleOption, value) {
119
+ var files = Array.isArray(value) ? value : [value];
120
+ return !!files.filter(function (x) {
121
+ return !!x;
122
+ }).some(function (x) {
123
+ return x.size <= 0;
124
+ });
125
+ };
126
+ this.RenderMessage = function (RuleOption, key, label) {
127
+ var _a, _b, _c, _d;
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
+ RuleOption.message = RuleOption.message.replace('{1}', (_b = (_a = RuleOption.Value) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '');
139
+ break;
140
+ }
141
+ case SingleRuleValidate.File:
142
+ {
143
+ var options = MapRuleOptions('File', RuleOption.options);
144
+ if ((options === null || options === void 0 ? void 0 : options.all) === true) {
145
+ RuleOption.message = "Total file size must be less than ".concat(formatFileSize(((_c = options === null || options === void 0 ? void 0 : options.maxSize) !== null && _c !== void 0 ? _c : 0) / 1024));
146
+ } else {
147
+ RuleOption.message = RuleOption.message.replace('{1}', formatFileSize(((_d = options === null || options === void 0 ? void 0 : options.maxSize) !== null && _d !== void 0 ? _d : 0) / 1024));
148
+ }
149
+ break;
150
+ }
151
+ }
152
+ }
153
+ RuleOption.message = RuleOption.message.replace('{0}', key);
154
+ return RuleOption;
155
+ };
156
+ this.run = function (model) {
157
+ var keys = Object.keys(_this.configs);
158
+ var data = {};
159
+ keys.forEach(function (key) {
160
+ var config = _this.configs[key];
161
+ if (!config) return;
162
+ var tmp = _this.Executed(config, model[key], model);
163
+ if (tmp.length < 1) return;
164
+ data[key] = tmp.map(function (x) {
165
+ return _this.RenderMessage(x, key, config.label);
166
+ });
167
+ });
168
+ return data;
169
+ };
170
+ this.Executed = function (Config, valueField, model) {
171
+ return Config.Rules.filter(function (Value) {
172
+ var action = _this[Value.rule.toString()];
173
+ return action && action(Value, valueField, model);
174
+ });
175
+ };
176
+ this.configs = configs;
177
+ });
178
+ FormValidator.initial = function (configs) {
179
+ return new FormValidator(configs);
180
+ };
181
+ var CreateFormValidator = function CreateFormValidator() {
182
+ return new FormValidator({});
183
+ };
184
+
185
+ export { CreateFormValidator, MapRuleOptions, SingleRuleValidate, FormValidator as default };
186
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sources":["../../../src/form/validator.ts"],"sourcesContent":["import { formatFileSize } from '../utils'\r\n\r\ndeclare type ModelBase = { [key: string]: any }\r\n\r\nexport enum SingleRuleValidate {\r\n Required = 'Required',\r\n Regex = 'Regex',\r\n RequiredValue = 'RequiredValue',\r\n Array = 'Array',\r\n Number = 'Number',\r\n Email = 'Email',\r\n PhoneNumber = 'PhoneNumber',\r\n Url = 'Url',\r\n File = 'File',\r\n FileRequired = 'FileRequired',\r\n Custom = 'Custom'\r\n}\r\n\r\nconst MessageDefault = {\r\n Required: 'The {0} is required',\r\n Regex: 'The {0} is not match {1}',\r\n RequiredValue: 'the {0} is not equal {1}',\r\n Array: 'The {0} is not valid',\r\n Number: '{0} must be a number',\r\n Email: 'The {0} is not valid',\r\n PhoneNumber: 'The {0} is not valid',\r\n Url: 'The {0} is not valid',\r\n File: 'File size must be less than {1}',\r\n FileRequired: 'The {0} is required',\r\n Custom: 'Error Custom'\r\n}\r\n\r\nexport interface RuleOptions {\r\n File: {\r\n maxSize: number\r\n // toal size of files\r\n all?: boolean\r\n }\r\n}\r\n\r\nexport const MapRuleOptions = <TK extends keyof RuleOptions>(key: TK, options?: RuleOptions[TK]) => options\r\n\r\nexport interface IRuleOption<TModel = any> {\r\n rule: SingleRuleValidate\r\n message?: string\r\n Value?: RegExp | ((value: any, model: TModel) => boolean) | number | Array<any> | boolean\r\n options?: any\r\n}\r\n\r\ninterface IConfigValue<TModel = any> {\r\n Rules: IRuleOption<TModel>[]\r\n label?: string\r\n}\r\n\r\nexport interface IModelError {\r\n message: string\r\n error: boolean\r\n}\r\n\r\nexport type IFormValidatorConfig<TModel> = {\r\n [key in keyof Extract<TModel, ModelBase>]?: IConfigValue<TModel>\r\n}\r\n\r\nexport type PartialError<TModel> = {\r\n [key in keyof TModel]?: IRuleOption<TModel>[]\r\n}\r\n\r\nexport default class FormValidator<TModel> {\r\n configs: IFormValidatorConfig<TModel>\r\n constructor(configs: IFormValidatorConfig<TModel>) {\r\n this.configs = configs\r\n }\r\n\r\n static initial = <T>(configs: IFormValidatorConfig<T>) => new FormValidator(configs)\r\n\r\n AddRules = (key: keyof TModel, ...rule: IRuleOption<TModel>[]) => {\r\n let fieldConfig = this.configs[key]\r\n if (!fieldConfig) {\r\n fieldConfig = { Rules: [] }\r\n this.configs[key] = fieldConfig\r\n }\r\n fieldConfig.Rules.push(...rule)\r\n return this\r\n }\r\n\r\n Required = (RuleOption: IRuleOption, value: any) => {\r\n return value === null || value === undefined || value === ''\r\n }\r\n Regex = (RuleOption: IRuleOption, value: string, Regex: RegExp) => {\r\n if (!value) return false\r\n return !(RuleOption.Value as RegExp).test(value)\r\n }\r\n RequiredValue = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n return value !== RuleOption.Value\r\n }\r\n Custom = (RuleOption: IRuleOption, value: any, model: any) => {\r\n if (typeof RuleOption.Value === 'function') {\r\n return RuleOption.Value(value, model)\r\n }\r\n return true\r\n }\r\n Array = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n if (typeof RuleOption.Value === 'number') {\r\n return Array.isArray(value) ? value.length <= RuleOption.Value : true\r\n }\r\n return true\r\n }\r\n Number = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n return isNaN(Number(value))\r\n }\r\n Email = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/\r\n return !regex.test(value)\r\n }\r\n PhoneNumber = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n const phoneRegex = /^(\\+?\\d{1,4}[\\s-]?)?((\\(\\d{1,4}\\))|\\d{1,4})[\\s-]?\\d{1,4}[\\s-]?\\d{1,9}$/\r\n return !phoneRegex.test((value ?? '').trim())\r\n }\r\n Url = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n try {\r\n new URL(value)\r\n return false\r\n } catch (err) {\r\n return true\r\n }\r\n }\r\n File = (RuleOption: IRuleOption, value: any) => {\r\n if (!value) return false\r\n const options = MapRuleOptions('File', RuleOption.options)\r\n const files: File[] = Array.isArray(value) ? value : [value]\r\n if (!options) return false\r\n if (options.all === true) {\r\n const size = files.reduce((a, b) => {\r\n a += b.size\r\n return a\r\n }, 0)\r\n return size > options.maxSize\r\n } else {\r\n return files.some((x) => x.size > options.maxSize)\r\n }\r\n }\r\n FileRequired = (RuleOption: IRuleOption, value: any) => {\r\n const files: File[] = Array.isArray(value) ? value : [value]\r\n return !!files.filter((x) => !!x).some((x) => x.size <= 0)\r\n }\r\n RenderMessage = (RuleOption: IRuleOption, key: string, label?: string) => {\r\n if (!RuleOption.message) {\r\n RuleOption.message = MessageDefault[RuleOption.rule].replace('{0}', label ?? key)\r\n switch (RuleOption.rule) {\r\n case SingleRuleValidate.Regex: {\r\n RuleOption.message = RuleOption.message.replace('{1}', (RuleOption.Value as RegExp).source)\r\n break\r\n }\r\n case SingleRuleValidate.RequiredValue: {\r\n RuleOption.message = RuleOption.message.replace('{1}', RuleOption.Value?.toString() ?? '')\r\n break\r\n }\r\n case SingleRuleValidate.File: {\r\n const options = MapRuleOptions('File', RuleOption.options)\r\n if (options?.all === true) {\r\n RuleOption.message = `Total file size must be less than ${formatFileSize((options?.maxSize ?? 0) / 1024)}`\r\n } else {\r\n RuleOption.message = RuleOption.message.replace('{1}', formatFileSize((options?.maxSize ?? 0) / 1024))\r\n }\r\n break\r\n }\r\n default:\r\n break\r\n }\r\n }\r\n RuleOption.message = RuleOption.message.replace('{0}', key)\r\n return RuleOption\r\n }\r\n run = (model: TModel) => {\r\n const keys = Object.keys(this.configs)\r\n const data: PartialError<TModel> = {}\r\n keys.forEach((key) => {\r\n const config = this.configs[key]\r\n if (!config) return\r\n const tmp = this.Executed(config, (model as any)[key], model)\r\n if (tmp.length < 1) return\r\n ;(data as any)[key] = tmp.map((x) => this.RenderMessage(x, key, config.label))\r\n })\r\n return data\r\n }\r\n Executed = (Config: IConfigValue, valueField: any, model: any) => {\r\n return Config.Rules.filter((Value) => {\r\n const action = (this as any)[Value.rule.toString()]\r\n return action && action(Value, valueField, model)\r\n })\r\n }\r\n}\r\n\r\nexport const CreateFormValidator = <TModel>() => {\r\n return new FormValidator<Partial<TModel>>({})\r\n}\r\n"],"names":["SingleRuleValidate","MessageDefault","Required","Regex","RequiredValue","Array","Number","Email","PhoneNumber","Url","File","FileRequired","Custom","MapRuleOptions","key","options","FormValidator","_createClass","configs","_this","_classCallCheck","AddRules","_fieldConfig$Rules","fieldConfig","Rules","_len","arguments","length","rule","_key","push","apply","RuleOption","value","undefined","Value","test","model","isArray","isNaN","regex","phoneRegex","trim","URL","err","files","all","size","reduce","a","b","maxSize","some","x","filter","RenderMessage","label","message","replace","source","_a","toString","_b","concat","formatFileSize","_c","_d","run","keys","Object","data","forEach","config","tmp","Executed","map","Config","valueField","action","initial","CreateFormValidator"],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { slicedToArray as _slicedToArray } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { useState, useEffect } from 'react';
3
+
4
+ var useCheckScrolled = function useCheckScrolled() {
5
+ var _useState = useState(false),
6
+ _useState2 = _slicedToArray(_useState, 2),
7
+ isScrolled = _useState2[0],
8
+ setIsScrolled = _useState2[1];
9
+ useEffect(function () {
10
+ var handleScroll = function handleScroll() {
11
+ var scrolled = window.scrollY > 0;
12
+ if (scrolled !== isScrolled) setIsScrolled(scrolled);
13
+ };
14
+ window.addEventListener('scroll', handleScroll);
15
+ return function () {
16
+ return window.removeEventListener('scroll', handleScroll);
17
+ };
18
+ }, [isScrolled]);
19
+ useEffect(function () {
20
+ var scrolled = window.scrollY > 0;
21
+ if (scrolled !== isScrolled) setIsScrolled(scrolled);
22
+ }, []);
23
+ return {
24
+ isScrolled: isScrolled
25
+ };
26
+ };
27
+ var useDebounce = function useDebounce(value, delay) {
28
+ var _useState3 = useState(value),
29
+ _useState4 = _slicedToArray(_useState3, 2),
30
+ debouncedValue = _useState4[0],
31
+ setDebouncedValue = _useState4[1];
32
+ useEffect(function () {
33
+ if (delay <= 0) {
34
+ setDebouncedValue(value);
35
+ return;
36
+ }
37
+ var handler = setTimeout(function () {
38
+ setDebouncedValue(value);
39
+ }, delay);
40
+ return function () {
41
+ clearTimeout(handler);
42
+ };
43
+ }, [value, delay]);
44
+ return debouncedValue;
45
+ };
46
+
47
+ export { useCheckScrolled, useDebounce };
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/hooks/index.ts"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps*/\r\nimport { useEffect, useState } from 'react'\r\n\r\nexport const useCheckScrolled = () => {\r\n const [isScrolled, setIsScrolled] = useState(false)\r\n\r\n useEffect(() => {\r\n const handleScroll = () => {\r\n const scrolled = window.scrollY > 0\r\n if (scrolled !== isScrolled) setIsScrolled(scrolled)\r\n }\r\n\r\n window.addEventListener('scroll', handleScroll)\r\n return () => window.removeEventListener('scroll', handleScroll)\r\n }, [isScrolled])\r\n\r\n useEffect(() => {\r\n const scrolled = window.scrollY > 0\r\n if (scrolled !== isScrolled) setIsScrolled(scrolled)\r\n }, [])\r\n\r\n return { isScrolled }\r\n}\r\n\r\nexport const useDebounce = <T>(value: T, delay: number): T => {\r\n const [debouncedValue, setDebouncedValue] = useState<T>(value)\r\n\r\n useEffect(() => {\r\n if (delay <= 0) {\r\n setDebouncedValue(value)\r\n return\r\n }\r\n\r\n const handler = setTimeout(() => {\r\n setDebouncedValue(value)\r\n }, delay)\r\n\r\n return () => {\r\n clearTimeout(handler)\r\n }\r\n }, [value, delay])\r\n\r\n return debouncedValue\r\n}\r\n"],"names":["useCheckScrolled","_useState","useState","_useState2","_slicedToArray","isScrolled","setIsScrolled","useEffect","handleScroll","scrolled","window","scrollY","addEventListener","removeEventListener","useDebounce","value","delay","_useState3","_useState4","debouncedValue","setDebouncedValue","handler","setTimeout","clearTimeout"],"mappings":";;;IAGaA,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAQ;AACnC,EAAA,IAAAC,SAAA,GAAoCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5CI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEhCI,EAAAA,SAAS,CAAC,YAAK;AACb,IAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAQ;AACxB,MAAA,IAAMC,QAAQ,GAAGC,MAAM,CAACC,OAAO,GAAG,CAAC;AACnC,MAAA,IAAIF,QAAQ,KAAKJ,UAAU,EAAEC,aAAa,CAACG,QAAQ,CAAC;KACrD;AAEDC,IAAAA,MAAM,CAACE,gBAAgB,CAAC,QAAQ,EAAEJ,YAAY,CAAC;IAC/C,OAAO,YAAA;AAAA,MAAA,OAAME,MAAM,CAACG,mBAAmB,CAAC,QAAQ,EAAEL,YAAY,CAAC;AAAA,KAAA;AACjE,GAAC,EAAE,CAACH,UAAU,CAAC,CAAC;AAEhBE,EAAAA,SAAS,CAAC,YAAK;AACb,IAAA,IAAME,QAAQ,GAAGC,MAAM,CAACC,OAAO,GAAG,CAAC;AACnC,IAAA,IAAIF,QAAQ,KAAKJ,UAAU,EAAEC,aAAa,CAACG,QAAQ,CAAC;GACrD,EAAE,EAAE,CAAC;EAEN,OAAO;AAAEJ,IAAAA,UAAU,EAAVA;GAAY;AACvB;AAEO,IAAMS,WAAW,GAAG,SAAdA,WAAWA,CAAOC,KAAQ,EAAEC,KAAa,EAAO;AAC3D,EAAA,IAAAC,UAAA,GAA4Cf,QAAQ,CAAIa,KAAK,CAAC;IAAAG,UAAA,GAAAd,cAAA,CAAAa,UAAA,EAAA,CAAA,CAAA;AAAvDE,IAAAA,cAAc,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAExCX,EAAAA,SAAS,CAAC,YAAK;IACb,IAAIS,KAAK,IAAI,CAAC,EAAE;MACdI,iBAAiB,CAACL,KAAK,CAAC;AACxB,MAAA;AACD;AAED,IAAA,IAAMM,OAAO,GAAGC,UAAU,CAAC,YAAK;MAC9BF,iBAAiB,CAACL,KAAK,CAAC;KACzB,EAAEC,KAAK,CAAC;AAET,IAAA,OAAO,YAAK;MACVO,YAAY,CAACF,OAAO,CAAC;KACtB;AACH,GAAC,EAAE,CAACN,KAAK,EAAEC,KAAK,CAAC,CAAC;AAElB,EAAA,OAAOG,cAAc;AACvB;;;;"}
@@ -0,0 +1,26 @@
1
+ export { default as ApiPopover, ApiPopoverContext, MapApiPopoverContext, withApiPopoverContext } from './api-context/popover.js';
2
+ export { AlertDialog, default as AlertGlobal, ApiAlertContext } from './api-context/alert-global.js';
3
+ export { default as DrawerGlobal } from './api-context/drawer-global.js';
4
+ export { default as GlobalModal, GlobalModalContext, MapGlobalModalContext, withApiGlobalModalConsumerContext, withApiGlobalModalContext } from './api-context/global-modal.js';
5
+ export { MapPopoverGlobalContext, default as PopoverGlobal, PopoverGlobalApi, PopoverGlobalContext, PopoverGlobalProvider, withPopoverGlobalContext } from './api-context/popover-global.js';
6
+ export { CreateFormValidator, default as FormValidator, MapRuleOptions, SingleRuleValidate } from './form/validator.js';
7
+ export { default as DinoForm } from './form/dino-form.js';
8
+ export { convertFormDataToJson, getErrorMessage } from './form/helper.js';
9
+ export { useCheckScrolled, useDebounce } from './hooks/index.js';
10
+ export { ELazyStatus } from './redux/types.js';
11
+ export { default as DinoRedux } from './redux/dino.js';
12
+ export { default as CreateHocLazy, EmptyComponent, OptionHocLazyDefault } from './redux/create.hoc-lazy.js';
13
+ export { ELogic, EOperator, EOrder } from './table/model-filter.js';
14
+ import 'react';
15
+ import '@mui/material';
16
+ import '@mui/icons-material/Edit';
17
+ import '@mui/icons-material/Delete';
18
+ export { decodeBase64, encodeBase64, fetchDelay, formatCapitalizeFirstText, formatCurrency, formatDatetime, formatFileSize, formatNumberWithCommas, mergeClasses, mergeObjects, sleep, tryParseArray, tryParseIntRequired, tryParseObject, windowScrollToTop } from './utils/helpers.js';
19
+ export { default as JObject } from './utils/json-object.js';
20
+ export { QueryParam } from './utils/query-param.js';
21
+ import './utils/dayjs-config.js';
22
+ export { default as CreateTable } from './table/create.table.js';
23
+ export { default as DinoTable } from './table/dino.js';
24
+ export { default as TableHelper, dinoTableClasses } from './table/helpers.js';
25
+ export { default as dayjsCustom } from 'dayjs';
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,67 @@
1
+ import { inherits as _inherits, createClass as _createClass, classCallCheck as _classCallCheck, callSuper as _callSuper } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React, { Component } from 'react';
3
+ import { ELazyStatus } from './types.js';
4
+ import UIErrorPage from './ui.error-page.js';
5
+
6
+ var EmptyComponent = function EmptyComponent(_ref) {
7
+ var children = _ref.children;
8
+ return /*#__PURE__*/React.createElement(React.Fragment, null, children);
9
+ };
10
+ var OptionHocLazyDefault = {
11
+ LazySpinner: EmptyComponent
12
+ };
13
+ var CreateHocLazy = function CreateHocLazy(ChildComponent, options) {
14
+ var HocComponent = /*#__PURE__*/function (_Component) {
15
+ function HocComponent(props) {
16
+ var _this;
17
+ _classCallCheck(this, HocComponent);
18
+ _this = _callSuper(this, HocComponent, [props]);
19
+ _this.initialParam = function () {
20
+ var _a, _b, _c;
21
+ var oData = (_a = options === null || options === void 0 ? void 0 : options.param) !== null && _a !== void 0 ? _a : {};
22
+ var pData = (_c = (_b = _this.props) === null || _b === void 0 ? void 0 : _b.param) !== null && _c !== void 0 ? _c : {};
23
+ return Object.assign({}, oData, pData);
24
+ };
25
+ _this.componentDidMount = function () {
26
+ var _a;
27
+ if (_this.props.fetchData) {
28
+ var param = _this.initialParam();
29
+ (_a = _this.tokenSources) === null || _a === void 0 ? void 0 : _a.abort();
30
+ _this.tokenSources = new AbortController();
31
+ _this.fetchSource = _this.props.fetchData(param, _this.tokenSources.signal);
32
+ }
33
+ };
34
+ _this.optionsMerge = Object.assign({}, OptionHocLazyDefault, options);
35
+ return _this;
36
+ }
37
+ _inherits(HocComponent, _Component);
38
+ return _createClass(HocComponent, [{
39
+ key: "render",
40
+ value: function render() {
41
+ var OptionsMerge = this.optionsMerge;
42
+ switch (this.props.status) {
43
+ case ELazyStatus.Loading:
44
+ case ELazyStatus.Loaded:
45
+ return /*#__PURE__*/React.createElement(OptionsMerge.LazySpinner, {
46
+ loading: this.props.status === ELazyStatus.Loading
47
+ }, /*#__PURE__*/React.createElement(ChildComponent, this.props));
48
+ case ELazyStatus.Error:
49
+ return /*#__PURE__*/React.createElement(UIErrorPage, null);
50
+ default:
51
+ return /*#__PURE__*/React.createElement("div", null);
52
+ }
53
+ }
54
+ }, {
55
+ key: "componentWillUnmount",
56
+ value: function componentWillUnmount() {
57
+ var _a, _b;
58
+ (_a = this.tokenSources) === null || _a === void 0 ? void 0 : _a.abort();
59
+ ((_b = this.fetchSource) === null || _b === void 0 ? void 0 : _b.abort) && this.fetchSource.abort();
60
+ }
61
+ }]);
62
+ }(Component);
63
+ return HocComponent;
64
+ };
65
+
66
+ export { EmptyComponent, OptionHocLazyDefault, CreateHocLazy as default };
67
+ //# sourceMappingURL=create.hoc-lazy.js.map