@materialui-reactjs/admin 1.0.6 → 2.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 (116) hide show
  1. package/CHANGELOG.md +292 -0
  2. package/LICENSE +21 -0
  3. package/README.md +584 -453
  4. package/dist/Common-1GAoFU4L.js +261 -0
  5. package/dist/Common-BBYXssMH.cjs +11 -0
  6. package/dist/Env-DoS-iQjs.cjs +1 -0
  7. package/dist/Env-SHztUA3s.js +16 -0
  8. package/dist/HeaderUpdate-DIwc8EAA.cjs +1 -0
  9. package/dist/{chunks/HeaderUpdate-DuS-gHNR.js → HeaderUpdate-UXncZcAD.js} +8 -4
  10. package/dist/SortableItem-C3KzO8Xh.cjs +1 -0
  11. package/dist/SpinnerLoader-BujLjvC3.cjs +1 -0
  12. package/dist/{chunks/SpinnerLoader-h8RDIarB.js → SpinnerLoader-CyhOQC6d.js} +2 -2
  13. package/dist/UDragFile-BqGt1-gK.js +96 -0
  14. package/dist/UDragFile-oJ05zNLR.cjs +1 -0
  15. package/dist/Validator-BcydBvOg.cjs +1 -0
  16. package/dist/{chunks/Validator-CXYkI7vJ.js → Validator-aKlMgoxl.js} +50 -42
  17. package/dist/assets/css/form.css +1 -1
  18. package/dist/assets/css/index.css +1 -1
  19. package/dist/common-CHDJQ2Ca.cjs +1 -0
  20. package/dist/common-DVWX6AUQ.js +19 -0
  21. package/dist/components/echarts/index.cjs +1 -0
  22. package/dist/components/echarts/index.js +1 -1
  23. package/dist/components/form/AdvancedMultiSelect.d.ts +6 -3
  24. package/dist/components/form/AsxhUImages.d.ts +1 -1
  25. package/dist/components/form/BoxAddRow.d.ts +11 -1
  26. package/dist/components/form/CheckTreeBox.d.ts +12 -3
  27. package/dist/components/form/DateInput.d.ts +2 -1
  28. package/dist/components/form/EfFile.d.ts +2 -1
  29. package/dist/components/form/EfImage.d.ts +1 -1
  30. package/dist/components/form/EfImages.d.ts +1 -1
  31. package/dist/components/form/PImage.d.ts +1 -1
  32. package/dist/components/form/SelectAddRowBox.d.ts +9 -5
  33. package/dist/components/form/UDragFile.d.ts +1 -1
  34. package/dist/components/form/UFile.d.ts +1 -1
  35. package/dist/components/form/UFiles.d.ts +1 -1
  36. package/dist/components/form/UImages.d.ts +1 -1
  37. package/dist/components/form/index.cjs +1 -0
  38. package/dist/components/form/index.js +2 -2
  39. package/dist/components/loader/SpinnerLoader.d.ts +5 -1
  40. package/dist/components/loader/index.cjs +1 -0
  41. package/dist/components/loader/index.js +1 -2
  42. package/dist/components/meta/CardTable.d.ts +7 -3
  43. package/dist/components/meta/CardTable.types.d.ts +51 -0
  44. package/dist/components/meta/CusTooltip.d.ts +1 -1
  45. package/dist/components/meta/Head.d.ts +1 -1
  46. package/dist/components/meta/HeaderUpdate.d.ts +5 -1
  47. package/dist/components/meta/ModalForm.d.ts +41 -11
  48. package/dist/components/meta/Navtabs.d.ts +1 -1
  49. package/dist/components/meta/SearchBox.d.ts +6 -4
  50. package/dist/components/meta/SortableItem.d.ts +1 -1
  51. package/dist/components/meta/index.cjs +1 -0
  52. package/dist/components/meta/index.d.ts +1 -0
  53. package/dist/components/meta/index.js +3 -3
  54. package/dist/components/sidebar/Sidebar.types.d.ts +9 -7
  55. package/dist/components/sidebar/index.cjs +1 -0
  56. package/dist/components/sidebar/index.js +1 -1
  57. package/dist/components/single/Detail.d.ts +8 -3
  58. package/dist/components/single/Fields.d.ts +10 -4
  59. package/dist/components/single/Import.d.ts +8 -3
  60. package/dist/components/single/List.d.ts +18 -3
  61. package/dist/components/single/Update.d.ts +8 -3
  62. package/dist/components/single/UpdateDetail.d.ts +3 -2
  63. package/dist/components/single/UpdateTableDetail.d.ts +3 -3
  64. package/dist/components/single/index.cjs +1 -0
  65. package/dist/components/single/index.js +1 -1
  66. package/dist/components/top-navbar/index.cjs +1 -0
  67. package/dist/components/top-navbar/index.js +78 -2
  68. package/dist/echarts-Dla22xas.cjs +1 -0
  69. package/dist/{chunks/form-CPkpL5eA.js → form-BNAbGCXe.js} +6860 -6794
  70. package/dist/form-DUL_O4IY.cjs +65 -0
  71. package/dist/hook/common.d.ts +65 -0
  72. package/dist/hook/detail.cjs +1 -0
  73. package/dist/hook/detail.d.ts +9 -15
  74. package/dist/hook/detail.js +1 -11
  75. package/dist/hook/fields.cjs +1 -0
  76. package/dist/hook/fields.d.ts +6 -14
  77. package/dist/hook/fields.js +1 -11
  78. package/dist/hook/import.d.ts +6 -11
  79. package/dist/hook/index.cjs +1 -0
  80. package/dist/hook/index.d.ts +28 -20
  81. package/dist/hook/index.js +13 -10
  82. package/dist/hook/update.cjs +1 -0
  83. package/dist/hook/update.d.ts +9 -17
  84. package/dist/hook/update.js +2 -2
  85. package/dist/index.cjs +1 -0
  86. package/dist/index.d.ts +16 -0
  87. package/dist/index.js +14 -11
  88. package/dist/meta-CXHXSPbq.cjs +1 -0
  89. package/dist/{chunks/meta-4qPWijBT.js → meta-Dhll5zt9.js} +45 -39
  90. package/dist/rolldown-runtime-BocRIvOZ.cjs +1 -0
  91. package/dist/{chunks/sidebar-Dj4Xr9du.js → sidebar-CVORMKBY.js} +9 -12
  92. package/dist/sidebar-G5Ody16K.cjs +1 -0
  93. package/dist/{chunks/single-CRF61o_U.js → single-CqD5cgNi.js} +353 -259
  94. package/dist/single-CsUaxEjQ.cjs +1 -0
  95. package/dist/style.cjs +0 -0
  96. package/dist/style.d.ts +0 -0
  97. package/dist/style.js +0 -0
  98. package/dist/types/Menu.d.ts +25 -0
  99. package/dist/utils/Common.d.ts +124 -16
  100. package/dist/utils/CusRoute.d.ts +21 -1
  101. package/dist/utils/Env.d.ts +23 -2
  102. package/dist/utils/Group.d.ts +12 -1
  103. package/dist/utils/Validator.d.ts +34 -12
  104. package/dist/utils/index.cjs +11 -0
  105. package/dist/utils/index.d.ts +2 -1
  106. package/dist/utils/index.js +181 -149
  107. package/package.json +190 -163
  108. package/dist/chunks/Common-BURf0rBN.js +0 -222
  109. package/dist/chunks/Env-DRXhvUcb.js +0 -16
  110. package/dist/chunks/UDragFile-BnUR3riq.js +0 -92
  111. package/dist/chunks/loader-BUiOnhOH.js +0 -1
  112. package/dist/chunks/top-navbar-Bob0gMUh.js +0 -78
  113. package/scripts/postinstall.cjs +0 -80
  114. /package/dist/{chunks/SortableItem-B4-Zsso3.js → SortableItem-B4-Zsso3.js} +0 -0
  115. /package/dist/{chunks/echarts-CRmndsxC.js → echarts-CRmndsxC.js} +0 -0
  116. /package/dist/{components/meta/Pdfviewer.d.ts → hook/import.cjs} +0 -0
@@ -4,11 +4,11 @@ var e = (e) => {
4
4
  let { name: n, type: r, value: i } = t(e);
5
5
  if (r === "file") {
6
6
  let t = e.target.files;
7
- return { [n]: t ? t[0] : null };
7
+ return { [n]: t?.[0] ?? null };
8
8
  }
9
9
  return { [n]: i };
10
10
  }, t = (e) => {
11
- let { name: t, type: n, value: r } = e.target, i = t.split(/[\{\}]+/).filter(Boolean), a = i.shift();
11
+ let { name: t, type: n, value: r } = e.target, i = t.split(/[{}]+/).filter(Boolean), a = i.shift();
12
12
  if (!a || i.length === 0) return {
13
13
  name: t,
14
14
  type: n,
@@ -27,7 +27,15 @@ var e = (e) => {
27
27
  let i = t[e], a = r[e];
28
28
  i && typeof i == "object" && !Array.isArray(i) && a && typeof a == "object" && !Array.isArray(a) ? r[e] = n(a, i) : r[e] = i;
29
29
  }), r;
30
- }, r = window.jQuery, i = class e {
30
+ }, r = null, i = () => {
31
+ if (r) return r;
32
+ let e = typeof window < "u" ? window.jQuery ?? window.$ : void 0;
33
+ if (typeof e != "function") throw Error("[@materialui-reactjs/admin] Validator cần jQuery. Hãy thêm \"jquery\" vào dependencies và nạp nó TRƯỚC khi dùng Validator.");
34
+ return r = e, r;
35
+ }, a = new Proxy((() => {}), {
36
+ apply: (e, t, n) => i()(...n),
37
+ get: (e, t) => i()[t]
38
+ }), o = class e {
31
39
  options;
32
40
  validators;
33
41
  $element;
@@ -59,7 +67,7 @@ var e = (e) => {
59
67
  },
60
68
  match: function(t) {
61
69
  let n = t.attr("data-match");
62
- return n && t.val() !== r(n).val() && e.DEFAULTS.errors.match;
70
+ return n && t.val() !== a(n).val() && e.DEFAULTS.errors.match;
63
71
  },
64
72
  minlength: function(t) {
65
73
  let n = Number(t.attr("data-minlength"));
@@ -87,93 +95,93 @@ var e = (e) => {
87
95
  }
88
96
  };
89
97
  constructor(t, n = !1) {
90
- this.options = n || e.DEFAULTS, this.validators = r.extend({}, e.VALIDATORS), this.$element = r(t), this.$btn = this.$element.find("button[type=\"submit\"], input[type=\"submit\"], .submitAjax"), this.$inputs = this.$element.find(e.INPUT_SELECTOR).add(this.$element.find("[data-validate=\"true\"]")).not(this.$element.find("[data-validate=\"false\"]").each((e, t) => {
91
- this.clearErrors(r(t));
98
+ this.options = n || e.DEFAULTS, this.validators = a.extend({}, e.VALIDATORS), this.$element = a(t), this.$btn = this.$element.find("button[type=\"submit\"], input[type=\"submit\"], .submitAjax"), this.$inputs = this.$element.find(e.INPUT_SELECTOR).add(this.$element.find("[data-validate=\"true\"]")).not(this.$element.find("[data-validate=\"false\"]").each((e, t) => {
99
+ this.clearErrors(a(t));
92
100
  }));
93
101
  }
94
102
  static getValue(e) {
95
- return e.is("[type=\"checkbox\"]") ? !!e.prop("checked") : e.is("[type=\"radio\"]") ? r(`[name="${e.attr("name")}"]:checked`).length > 0 : e.is("select[multiple]") ? (e.val() ?? []).length : e.val() ?? "";
103
+ return e.is("[type=\"checkbox\"]") ? !!e.prop("checked") : e.is("[type=\"radio\"]") ? a(`[name="${e.attr("name")}"]:checked`).length > 0 : e.is("select[multiple]") ? (e.val() ?? []).length : e.val() ?? "";
96
104
  }
97
105
  update = () => {
98
106
  let t = this;
99
107
  return this.$inputs = this.$element.find(e.INPUT_SELECTOR).add(this.$element.find("[data-validate=\"true\"]")).not(this.$element.find("[data-validate=\"false\"]").each((e, n) => {
100
- t.clearErrors(r(n));
108
+ t.clearErrors(a(n));
101
109
  })), this.toggleSubmit(), this;
102
110
  };
103
111
  onInput = (e) => {
104
- let t = this, n = r(e.target), i = e.type !== "focusout";
105
- this.$inputs.is(n) && this.validateInput(n, i)?.done(function() {
112
+ let t = this, n = a(e.target), r = e.type !== "focusout";
113
+ this.$inputs.is(n) && this.validateInput(n, r)?.done(function() {
106
114
  t.toggleSubmit();
107
115
  });
108
116
  };
109
117
  validateInput = (e, t) => {
110
118
  let n = e.data("bs.validator.errors");
111
119
  e.is("[type=\"radio\"]") && (e = this.$element.find("input[name=\"" + e.attr("name") + "\"]"));
112
- let i = r.Event("validate.bs.validator", { relatedTarget: e[0] });
113
- if (this.$element.trigger(i), i.isDefaultPrevented()) return;
114
- let a = this;
120
+ let r = a.Event("validate.bs.validator", { relatedTarget: e[0] });
121
+ if (this.$element.trigger(r), r.isDefaultPrevented()) return;
122
+ let i = this;
115
123
  return this.runValidators(e).done(function(o) {
116
- e.data("bs.validator.errors", o), o.length ? t ? a.defer(e, a.showErrors) : a.showErrors(e) : a.clearErrors(e), (!n || o.toString() !== n.toString()) && (i = o.length ? r.Event("invalid.bs.validator", {
124
+ e.data("bs.validator.errors", o), o.length ? t ? i.defer(e, i.showErrors) : i.showErrors(e) : i.clearErrors(e), (!n || o.toString() !== n.toString()) && (r = o.length ? a.Event("invalid.bs.validator", {
117
125
  relatedTarget: e[0],
118
126
  detail: o
119
- }) : r.Event("valid.bs.validator", {
127
+ }) : a.Event("valid.bs.validator", {
120
128
  relatedTarget: e[0],
121
129
  detail: n
122
- }), a.$element.trigger(i)), a.toggleSubmit(), a.$element.trigger(r.Event("validated.bs.validator", { relatedTarget: e[0] }));
130
+ }), i.$element.trigger(r)), i.toggleSubmit(), i.$element.trigger(a.Event("validated.bs.validator", { relatedTarget: e[0] }));
123
131
  });
124
132
  };
125
133
  runValidators = (t) => {
126
- let n = [], i = r.Deferred();
127
- t.data("bs.validator.deferred") && t.data("bs.validator.deferred").reject(), t.data("bs.validator.deferred", i);
128
- function a(e) {
134
+ let n = [], r = a.Deferred(), i = t.data("bs.validator.deferred");
135
+ i && i.reject(), t.data("bs.validator.deferred", r);
136
+ function o(e) {
129
137
  return t.attr("data-" + e + "-error");
130
138
  }
131
- function o() {
139
+ function s() {
132
140
  let e = t[0];
133
141
  if (!(e instanceof HTMLInputElement) && !(e instanceof HTMLSelectElement) && !(e instanceof HTMLTextAreaElement)) return null;
134
142
  let n = e.validity;
135
143
  return n.typeMismatch ? t.attr("data-type-error") ?? null : n.patternMismatch ? t.attr("data-pattern-error") ?? null : n.stepMismatch ? t.attr("data-step-error") ?? null : n.rangeOverflow ? t.attr("data-max-error") ?? null : n.rangeUnderflow ? t.attr("data-min-error") ?? null : n.valueMissing ? t.attr("data-required-error") ?? null : null;
136
144
  }
137
- function s() {
145
+ function c() {
138
146
  return t.attr("data-error");
139
147
  }
140
- function c(e) {
141
- return a(e) || o() || s();
148
+ function l(e) {
149
+ return o(e) || s() || c();
142
150
  }
143
- return r.each(this.validators, r.proxy(function(r, i) {
144
- let a = null;
145
- (e.getValue(t) || t.attr("required")) && (t.attr("data-" + r) !== void 0 || r == "native") && (a = i.call(this, t)) && (a = c(r) || a, !~n.indexOf(a) && n.push(a));
146
- }, this)), i.resolve(n), i.promise();
151
+ return a.each(this.validators, a.proxy(function(r, i) {
152
+ let a;
153
+ (e.getValue(t) || t.attr("required")) && (t.attr("data-" + r) !== void 0 || r == "native") && (a = i.call(this, t)) && (a = l(r) || a, n.indexOf(a) === -1 && n.push(a));
154
+ }, this)), r.resolve(n), r.promise();
147
155
  };
148
156
  validate = () => {
149
157
  let e = this;
150
- return r.when(this.$inputs.map((t, n) => e.validateInput(r(n), !1))).then(function() {
158
+ return a.when(this.$inputs.map((t, n) => e.validateInput(a(n), !1))).then(function() {
151
159
  e.toggleSubmit(), e.focusError();
152
160
  }), this;
153
161
  };
154
162
  focusError = () => {
155
163
  if (!this.options.focus) return;
156
164
  let t = this.$element.find(".has-error:first :input");
157
- t.length !== 0 && (r("html, body").animate({ scrollTop: t.offset().top - e.FOCUS_OFFSET }, 250), t.focus());
165
+ t.length !== 0 && (a("html, body").animate({ scrollTop: t.offset().top - e.FOCUS_OFFSET }, 250), t.focus());
158
166
  };
159
167
  showErrors = (e) => {
160
168
  this.options.html;
161
- let t = e.data("bs.validator.errors"), n = e.closest(".form-group"), i = n.find(".form-control-feedback");
162
- t.length && (t = r("<ul/>").addClass("list-unstyled").append(r.map(t, (e) => {
163
- let t = r("<li/>");
169
+ let t = e.data("bs.validator.errors"), n = e.closest(".form-group"), r = n.find(".form-control-feedback");
170
+ t.length && (t = a("<ul/>").addClass("list-unstyled").append(a.map(t, (e) => {
171
+ let t = a("<li/>");
164
172
  return this.options.html ? t.html(e) : t.text(e);
165
- })), n.addClass("has-error has-danger"), n.find(".invalid-tooltip, .invalid-feedback").remove(), n.find(".select2,.form-control").removeClass("is-valid").addClass("is-invalid"), n.append(`<div class="invalid-feedback"><ul class="list-unstyled">${t.html()}<ul/></div>`), n.removeClass("has-success"), n.hasClass("has-feedback"), i.removeClass(this.options.feedback?.success), i.addClass(this.options.feedback?.error));
173
+ })), n.addClass("has-error has-danger"), n.find(".invalid-tooltip, .invalid-feedback").remove(), n.find(".select2,.form-control").removeClass("is-valid").addClass("is-invalid"), n.append(`<div class="invalid-feedback"><ul class="list-unstyled">${t.html()}<ul/></div>`), n.removeClass("has-success"), n.hasClass("has-feedback"), r.removeClass(this.options.feedback?.success), r.addClass(this.options.feedback?.error));
166
174
  };
167
175
  clearErrors = (e) => {
168
176
  let t = e.closest(".form-group"), n = t.find(".form-control-feedback");
169
177
  t.removeClass("has-error has-danger has-success"), t.find(".invalid-tooltip, .invalid-feedback").remove(), t.find(".select2,.form-control").addClass("is-valid").removeClass("is-invalid"), t.addClass("has-success"), t.hasClass("has-feedback"), n.removeClass(this.options.feedback?.error), n.removeClass(this.options.feedback?.success), n.addClass(this.options.feedback?.success);
170
178
  };
171
179
  hasErrors = () => !!this.$inputs.filter(function() {
172
- return !!(r(this).data("bs.validator.errors") || []).length;
180
+ return !!(a(this).data("bs.validator.errors") || []).length;
173
181
  }).length;
174
182
  isIncomplete = () => !!this.$inputs.filter("[required]").filter((t, n) => {
175
- let i = e.getValue(r(n));
176
- return !(typeof i == "string" ? i.trim() : i);
183
+ let r = e.getValue(a(n));
184
+ return !(typeof r == "string" ? r.trim() : r);
177
185
  }).length;
178
186
  onSubmit = (e) => {
179
187
  this.validate(), (this.isIncomplete() || this.hasErrors()) && e.preventDefault();
@@ -186,21 +194,21 @@ var e = (e) => {
186
194
  window.clearTimeout(e.data("bs.validator.timeout")), e.data("bs.validator.timeout", window.setTimeout(t, this.options.delay));
187
195
  };
188
196
  reset = () => (this.$element.find(".form-control-feedback").removeClass(this.options?.feedback.error).removeClass(this.options.feedback.success), this.$inputs.removeData(["bs.validator.errors", "bs.validator.deferred"]).each(() => {
189
- let e = r(this), t = e.data("bs.validator.timeout");
197
+ let e = a(this), t = e.data("bs.validator.timeout");
190
198
  window.clearTimeout(t), e.removeData("bs.validator.timeout");
191
199
  }), this.$element.find(".invalid-tooltip, .invalid-feedback").each(() => {
192
- let e = r(this), t = e.data("bs.validator.originalContent");
200
+ let e = a(this), t = e.data("bs.validator.originalContent");
193
201
  e.removeData("bs.validator.originalContent").html(t);
194
202
  }), this.$btn.removeClass("disabled"), this.$element.find(".has-error, .has-danger, .has-success, .is-invalid, .is-valid").removeClass("has-error has-danger has-success is-invalid is-valid"), this);
195
203
  destroy = () => (this.reset(), this.$element.removeAttr("novalidate").removeData("bs.validator").off(".bs.validator"), this.$inputs.off(".bs.validator"), this.options = null, this.validators = null, this.$element = null, this.$btn = null, this.$inputs = null, this);
196
204
  run = () => {
197
205
  this.update(), this.$element.on("input.bs.validator change.bs.validator focusout.bs.validator", this.onInput.bind(this)), this.$element.on("submit.bs.validator", this.onSubmit.bind(this)), this.$element.on("reset.bs.validator", this.reset.bind(this)), this.$element.find("[data-match]").each(function() {
198
- let t = r(this), n = t.attr("data-match");
199
- n && r(n).on("input.bs.validator", function() {
206
+ let t = a(this), n = t.attr("data-match");
207
+ n && a(n).on("input.bs.validator", function() {
200
208
  e.getValue(t) && t.trigger("input.bs.validator");
201
209
  });
202
- }), this.$inputs.filter((t, n) => e.getValue(r(n)) && !r(this).closest(".has-error").length).trigger("focusout"), this.$element.attr("novalidate", !0);
210
+ }), this.$inputs.filter((t, n) => e.getValue(a(n)) && !a(this).closest(".has-error").length).trigger("focusout"), this.$element.attr("novalidate", !0);
203
211
  };
204
212
  };
205
213
  //#endregion
206
- export { t as i, n, e as r, i as t };
214
+ export { t as i, n, e as r, o as t };