@materialui-reactjs/admin 1.0.4 → 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.
@@ -1,10 +1,11 @@
1
1
  import { DateTimePickerProps } from '@mui/x-date-pickers/DateTimePicker';
2
- interface DateTimeProps extends Omit<DateTimePickerProps, "value" | "defaultValue" | "onChange"> {
2
+ interface DateTimeProps extends Omit<DateTimePickerProps, "value" | "defaultValue" | "onChange" | "debug"> {
3
3
  label: string;
4
4
  value?: string;
5
5
  defaultValue?: string | Date;
6
6
  cpnClass?: string;
7
7
  required?: boolean;
8
+ debug?: boolean;
8
9
  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
9
10
  }
10
11
  export declare const DateTimeInput: React.FC<DateTimeProps>;
@@ -7,7 +7,7 @@ interface UFileProps {
7
7
  required?: boolean;
8
8
  disabled?: boolean;
9
9
  readonly?: boolean;
10
- ext: string;
10
+ ext?: string;
11
11
  df?: string;
12
12
  onChange?: ((e: any) => void);
13
13
  }
@@ -12,4 +12,5 @@ interface UFileProps {
12
12
  onChange?: ((e: any) => void);
13
13
  }
14
14
  export declare const UFiles: React.FC<UFileProps>;
15
+ export declare const validateRequiredFiles: (formValue: any, fieldName: string, fieldLabel: string) => boolean;
15
16
  export {};
@@ -1,3 +1,3 @@
1
- import { C as e, E as t, S as n, T as r, _ as i, a, b as o, c as s, d as c, f as l, g as u, h as d, i as f, l as p, m, n as h, o as g, p as _, r as v, s as y, t as b, u as x, v as S, w as C, x as w, y as T } from "../../chunks/form-C8gzkYMW.js";
2
- import { t as E } from "../../chunks/UDragFile-CAiSfTsp.js";
3
- export { t as AdvancedMultiSelect, r as AsxhUImages, l as BoxAddRow, i as CheckBox, c as CheckTreeBox, x as DateInput, p as DateTimeInput, _ as Editor, s as EfFile, m as EfImage, y as EfImages, S as Email, T as NumberText, g as PImage, o as Password, w as PhoneVn, n as RatioKeyVal, a as SelectAddRowBox, f as SelectAddRowBoxAdvanced, d as SelectBox, u as SelectMBox, e as Text, C as Textarea, E as UDragFile, v as UFile, h as UFiles, b as UImages };
1
+ import { C as e, D as t, E as n, S as r, T as i, _ as a, a as o, b as s, c, d as l, f as u, g as d, h as f, i as p, l as m, m as h, n as g, o as _, p as v, r as y, s as b, t as x, u as S, v as C, w, x as T, y as E } from "../../chunks/form-DirVyglJ.js";
2
+ import { t as D } from "../../chunks/UDragFile-CAiSfTsp.js";
3
+ export { t as AdvancedMultiSelect, n as AsxhUImages, v as BoxAddRow, C as CheckBox, u as CheckTreeBox, l as DateInput, S as DateTimeInput, h as Editor, m as EfFile, f as EfImage, c as EfImages, E as Email, s as NumberText, b as PImage, T as Password, r as PhoneVn, e as RatioKeyVal, _ as SelectAddRowBox, o as SelectAddRowBoxAdvanced, d as SelectBox, a as SelectMBox, w as Text, i as Textarea, D as UDragFile, p as UFile, g as UFiles, x as UImages, y as validateRequiredFiles };
@@ -1,4 +1,4 @@
1
1
  import { t as e } from "../../chunks/SortableItem-B4-Zsso3.js";
2
- import { a as t, c as n, i as r, l as i, n as a, o, r as s, s as c, t as l } from "../../chunks/meta-k8MmuQjS.js";
3
- import { a as u, d, i as f, n as p, r as m, t as h, u as g } from "../../chunks/HeaderUpdate-lrSYWsKp.js";
2
+ import { a as t, c as n, i as r, l as i, n as a, o, r as s, s as c, t as l } from "../../chunks/meta-BkJxF49g.js";
3
+ import { a as u, d, i as f, n as p, r as m, t as h, u as g } from "../../chunks/HeaderUpdate-CYN7fndV.js";
4
4
  export { i as BtnGroup, t as CardTable, d as CusTooltip, r as ElfinderModal, u as Error403, f as Error404, s as Head, m as HeaderDetail, p as HeaderIndex, h as HeaderUpdate, n as ModalForm, a as NavTabs, l as PDFEmbed, g as Pagination, c as ScrollTable, o as SearchBox, e as SortableItem };
@@ -14,6 +14,7 @@ export declare class SingleDetail extends React.Component<PropsType, StateType>
14
14
  ctype: string;
15
15
  fluid: boolean;
16
16
  isBackUri: boolean;
17
+ debug: boolean;
17
18
  renderForm: () => React.JSX.Element;
18
19
  syncPermissionsAndState: () => Promise<void>;
19
20
  initDidMount(): Promise<void>;
@@ -17,6 +17,7 @@ export declare class SingleFields extends React.Component<PropsType, StateType>
17
17
  ctype: string;
18
18
  fluid: boolean;
19
19
  isBackUri: boolean;
20
+ debug: boolean;
20
21
  renderForm: () => React.JSX.Element;
21
22
  renderAfterForm: () => React.JSX.Element;
22
23
  handleChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>) => Promise<void>;
@@ -17,10 +17,11 @@ export declare class SingleUpdate extends React.Component<PropsType, StateType>
17
17
  formRef: React.RefObject<HTMLFormElement | null>;
18
18
  fluid: boolean;
19
19
  isBackUri: boolean;
20
+ debug: boolean;
20
21
  constructor(props: PropsType);
21
22
  renderForm: () => React.JSX.Element;
22
23
  renderAfterForm: () => React.JSX.Element;
23
- handleChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>) => Promise<void>;
24
+ handleChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>) => void;
24
25
  syncPermissionsAndState: () => Promise<void>;
25
26
  initDidMount(): Promise<void>;
26
27
  componentDidMount: () => void;
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../../chunks/single-DyPwG6ZR.js";
1
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../../chunks/single-DfnwtW2f.js";
2
2
  export { a as SingleDetail, r as SingleFields, e as SingleImport, t as SingleIndex, i as SingleUpdate, n as SingleUpdateDetail, o as SingleUpdateTableDetail };
@@ -11,4 +11,8 @@ export interface StateType {
11
11
  isDetail: boolean | undefined;
12
12
  [key: string]: any;
13
13
  }
14
- export declare const handleHookChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>, formValue: any) => any;
14
+ export declare const handleHookChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>) => {
15
+ [name]: File | null;
16
+ } | {
17
+ [name]: string;
18
+ };
@@ -1,12 +1,12 @@
1
1
  //#region src/hook/detail.ts
2
- var e = (e, t) => {
2
+ var e = (e) => {
3
3
  e.preventDefault();
4
- let { name: n, type: r, value: i } = e.target;
5
- if (r === "file") {
6
- let r = e.target.files;
7
- t[n] = r ? r[0] : null;
8
- } else t[n] = i;
9
- return t;
4
+ let { name: t, type: n, value: r } = e.target;
5
+ if (n === "file") {
6
+ let n = e.target.files;
7
+ return { [t]: n ? n[0] : null };
8
+ }
9
+ return { [t]: r };
10
10
  };
11
11
  //#endregion
12
12
  export { e as handleHookChange };
@@ -11,4 +11,8 @@ export interface StateType {
11
11
  isDetail: boolean;
12
12
  [key: string]: any;
13
13
  }
14
- export declare const handleHookChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>, formValue: any) => any;
14
+ export declare const handleHookChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>) => {
15
+ [name]: File | null;
16
+ } | {
17
+ [name]: string;
18
+ };
@@ -1,12 +1,12 @@
1
1
  //#region src/hook/fields.ts
2
- var e = (e, t) => {
2
+ var e = (e) => {
3
3
  e.preventDefault();
4
- let { name: n, type: r, value: i } = e.target;
5
- if (r === "file") {
6
- let r = e.target.files;
7
- t[n] = r ? r[0] : null;
8
- } else t[n] = i;
9
- return t;
4
+ let { name: t, type: n, value: r } = e.target;
5
+ if (n === "file") {
6
+ let n = e.target.files;
7
+ return { [t]: n ? n[0] : null };
8
+ }
9
+ return { [t]: r };
10
10
  };
11
11
  //#endregion
12
12
  export { e as handleHookChange };
@@ -56,6 +56,6 @@ export declare const handleHookClickPage: (e: React.MouseEvent<HTMLAnchorElement
56
56
  export declare const handleHookSeachForm: (params: Record<string, any>, cUri: string, navigate: NavigateFunction) => Promise<{
57
57
  page: number;
58
58
  }>;
59
- export declare const handleHookChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement>, params: Record<string, any>) => Promise<{
59
+ export declare const handleParamChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement>, params: Record<string, any>) => Promise<{
60
60
  [x: string]: any;
61
61
  }>;
@@ -38,4 +38,4 @@ var n = (e) => {
38
38
  return n === "pageLen" ? (i.pageLen = Number(r), i.page = 1) : i[n] = r, i;
39
39
  };
40
40
  //#endregion
41
- export { n as convertQueryToSort, r as convertSortToQuery, i as fetchHookData, s as handleHookChange, a as handleHookClickPage, o as handleHookSeachForm };
41
+ export { n as convertQueryToSort, r as convertSortToQuery, i as fetchHookData, a as handleHookClickPage, o as handleHookSeachForm, s as handleParamChange };
@@ -16,9 +16,18 @@ export interface StateType {
16
16
  isDetail?: boolean;
17
17
  [key: string]: any;
18
18
  }
19
- export declare const handleHookChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>, formValue: Record<string, any>) => Promise<Record<string, any>>;
20
- export declare const handleObjChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>, data: Record<string, any>) => {
19
+ export declare const handleHookChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>) => {
20
+ [name]: File | null;
21
+ } | {
22
+ [name]: string | Record<string, any>;
23
+ };
24
+ export declare const handleObjChange: (e: React.ChangeEvent<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>) => {
25
+ name: string;
26
+ type: string;
27
+ value: string;
28
+ } | {
21
29
  name: string;
22
30
  type: string;
23
- value: any;
31
+ value: Record<string, any>;
24
32
  };
33
+ export declare const deepMerge: (target: Record<string, any>, source: Record<string, any>) => Record<string, any>;
@@ -1,29 +1,32 @@
1
1
  //#region src/hook/update.ts
2
- var e = async (e, n) => {
2
+ var e = (e) => {
3
3
  e.preventDefault();
4
- let { name: r, type: i, value: a } = t(e, n);
5
- if (i === "file") {
4
+ let { name: n, type: r, value: i } = t(e);
5
+ if (r === "file") {
6
6
  let t = e.target.files;
7
- n[r] = t ? t[0] : null;
8
- } else n[r] = a;
9
- return n;
10
- }, t = (e, t) => {
11
- let { name: n, type: r, value: i } = e.target, a = n.split(/[\{\}]+/).filter(Boolean), o = a.shift();
12
- if (!o || a.length === 0) return {
13
- name: n,
14
- type: r,
15
- value: i
16
- };
17
- let s = JSON.parse(JSON.stringify(t?.[o] || {})), c = s;
18
- for (let e = 0; e < a.length - 1; e++) {
19
- let t = a[e];
20
- c[t] = { ...c[t] || {} }, c = c[t];
7
+ return { [n]: t ? t[0] : null };
21
8
  }
22
- return c[a[a.length - 1]] = i, {
23
- name: o,
24
- type: r,
25
- value: s
9
+ return { [n]: i };
10
+ }, t = (e) => {
11
+ let { name: t, type: n, value: r } = e.target, i = t.split(/[\{\}]+/).filter(Boolean), a = i.shift();
12
+ if (!a || i.length === 0) return {
13
+ name: t,
14
+ type: n,
15
+ value: r
16
+ };
17
+ let o = {}, s = o;
18
+ for (let e = 0; e < i.length - 1; e++) s[i[e]] = {}, s = s[i[e]];
19
+ return s[i[i.length - 1]] = r, {
20
+ name: a,
21
+ type: n,
22
+ value: o
26
23
  };
24
+ }, n = (e, t) => {
25
+ let r = { ...e };
26
+ return Object.keys(t).forEach((e) => {
27
+ let i = t[e], a = r[e];
28
+ i && typeof i == "object" && !Array.isArray(i) && a && typeof a == "object" && !Array.isArray(a) ? r[e] = n(a, i) : r[e] = i;
29
+ }), r;
27
30
  };
28
31
  //#endregion
29
- export { e as handleHookChange, t as handleObjChange };
32
+ export { n as deepMerge, e as handleHookChange, t as handleObjChange };
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
- import { C as e, E as t, S as n, T as r, _ as i, a, b as o, c as s, d as c, f as l, g as u, h as d, i as f, l as p, m, n as h, o as g, p as _, r as v, s as y, t as b, u as x, v as S, w as C, x as w, y as T } from "./chunks/form-C8gzkYMW.js";
2
- import { t as E } from "./chunks/SortableItem-B4-Zsso3.js";
3
- import { t as D } from "./chunks/UDragFile-CAiSfTsp.js";
4
- import { a as O, i as k, n as A, r as j, t as M } from "./chunks/echarts-CRmndsxC.js";
5
- import { t as N } from "./chunks/SpinnerLoader-h8RDIarB.js";
6
- import { a as P, c as F, i as I, l as L, n as R, o as z, r as B, s as V, t as H } from "./chunks/meta-k8MmuQjS.js";
7
- import { a as U, d as W, i as G, n as K, r as q, t as J, u as Y } from "./chunks/HeaderUpdate-lrSYWsKp.js";
8
- import { t as X } from "./chunks/sidebar-Dj4Xr9du.js";
9
- import { a as Z, i as Q, n as $, o as ee, r as te, s as ne, t as re } from "./chunks/single-DyPwG6ZR.js";
10
- import { t as ie } from "./chunks/top-navbar-FBw88y_o.js";
11
- export { t as AdvancedMultiSelect, r as AsxhUImages, O as BarChart, l as BoxAddRow, L as BtnGroup, P as CardTable, i as CheckBox, c as CheckTreeBox, W as CusTooltip, x as DateInput, p as DateTimeInput, _ as Editor, s as EfFile, m as EfImage, y as EfImages, I as ElfinderModal, S as Email, U as Error403, G as Error404, B as Head, q as HeaderDetail, K as HeaderIndex, J as HeaderUpdate, k as LineChart, F as ModalForm, j as MultiBarChart, A as MultiLineChart, R as NavTabs, T as NumberText, H as PDFEmbed, g as PImage, Y as Pagination, o as Password, w as PhoneVn, M as PieChart, n as RatioKeyVal, V as ScrollTable, z as SearchBox, a as SelectAddRowBox, f as SelectAddRowBoxAdvanced, d as SelectBox, u as SelectMBox, X as Sidebar, ne as SingleDetail, ee as SingleFields, Z as SingleImport, Q as SingleIndex, te as SingleUpdate, $ as SingleUpdateDetail, re as SingleUpdateTableDetail, E as SortableItem, N as SpinnerLoader, e as Text, C as Textarea, ie as TopNavbar, D as UDragFile, v as UFile, h as UFiles, b as UImages };
1
+ import { C as e, D as t, E as n, S as r, T as i, _ as a, a as o, b as s, c, d as l, f as u, g as d, h as f, i as p, l as m, m as h, n as g, o as _, p as v, r as y, s as b, t as x, u as S, v as C, w, x as T, y as E } from "./chunks/form-DirVyglJ.js";
2
+ import { t as D } from "./chunks/SortableItem-B4-Zsso3.js";
3
+ import { t as O } from "./chunks/UDragFile-CAiSfTsp.js";
4
+ import { a as k, i as A, n as j, r as M, t as N } from "./chunks/echarts-CRmndsxC.js";
5
+ import { t as P } from "./chunks/SpinnerLoader-h8RDIarB.js";
6
+ import { a as F, c as I, i as L, l as R, n as z, o as B, r as V, s as H, t as U } from "./chunks/meta-BkJxF49g.js";
7
+ import { a as W, d as G, i as K, n as q, r as J, t as Y, u as X } from "./chunks/HeaderUpdate-CYN7fndV.js";
8
+ import { t as Z } from "./chunks/sidebar-Dj4Xr9du.js";
9
+ import { a as Q, i as $, n as ee, o as te, r as ne, s as re, t as ie } from "./chunks/single-DfnwtW2f.js";
10
+ import { t as ae } from "./chunks/top-navbar-FBw88y_o.js";
11
+ export { t as AdvancedMultiSelect, n as AsxhUImages, k as BarChart, v as BoxAddRow, R as BtnGroup, F as CardTable, C as CheckBox, u as CheckTreeBox, G as CusTooltip, l as DateInput, S as DateTimeInput, h as Editor, m as EfFile, f as EfImage, c as EfImages, L as ElfinderModal, E as Email, W as Error403, K as Error404, V as Head, J as HeaderDetail, q as HeaderIndex, Y as HeaderUpdate, A as LineChart, I as ModalForm, M as MultiBarChart, j as MultiLineChart, z as NavTabs, s as NumberText, U as PDFEmbed, b as PImage, X as Pagination, T as Password, r as PhoneVn, N as PieChart, e as RatioKeyVal, H as ScrollTable, B as SearchBox, _ as SelectAddRowBox, o as SelectAddRowBoxAdvanced, d as SelectBox, a as SelectMBox, Z as Sidebar, re as SingleDetail, te as SingleFields, Q as SingleImport, $ as SingleIndex, ne as SingleUpdate, ee as SingleUpdateDetail, ie as SingleUpdateTableDetail, D as SortableItem, P as SpinnerLoader, w as Text, i as Textarea, ae as TopNavbar, O as UDragFile, p as UFile, g as UFiles, x as UImages, y as validateRequiredFiles };
@@ -623,14 +623,14 @@ var de = (e) => {
623
623
  };
624
624
  showErrors = (e) => {
625
625
  this.options.html;
626
- let t = e.data("bs.validator.errors"), n = e.closest(".form-group, .boxUFile"), r = n.find(".form-control-feedback");
626
+ let t = e.data("bs.validator.errors"), n = e.closest(".form-group"), r = n.find(".form-control-feedback");
627
627
  t.length && (t = $("<ul/>").addClass("list-unstyled").append($.map(t, (e) => {
628
628
  let t = $("<li/>");
629
629
  return this.options.html ? t.html(e) : t.text(e);
630
630
  })), 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));
631
631
  };
632
632
  clearErrors = (e) => {
633
- let t = e.closest(".form-group, .boxUFile"), n = t.find(".form-control-feedback");
633
+ let t = e.closest(".form-group"), n = t.find(".form-control-feedback");
634
634
  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);
635
635
  };
636
636
  hasErrors = () => !!this.$inputs.filter(function() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@materialui-reactjs/admin",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },