@orbe-agro/client-core 5.1.5 → 5.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@ecme/auth/AuthProvider.js +30 -24
- package/dist/@ecme/auth/AuthProvider.js.map +1 -1
- package/dist/@ecme/components/shared/DataTable.js +31 -35
- package/dist/@ecme/components/shared/DataTable.js.map +1 -1
- package/dist/@ecme/configs/firebase.config.js +8 -6
- package/dist/@ecme/configs/firebase.config.js.map +1 -1
- package/dist/@ecme/services/OAuthServices.js +4 -6
- package/dist/@ecme/services/OAuthServices.js.map +1 -1
- package/dist/@ecme/services/firebase/FirebaseApp.js +3 -4
- package/dist/@ecme/services/firebase/FirebaseApp.js.map +1 -1
- package/dist/@ecme/services/firebase/FirebaseAuth.js +3 -4
- package/dist/@ecme/services/firebase/FirebaseAuth.js.map +1 -1
- package/dist/@ecme/services/firebase/FirebaseDB.js +3 -4
- package/dist/@ecme/services/firebase/FirebaseDB.js.map +1 -1
- package/dist/@ecme/services/firebase/FirebaseGithubAuth.js +3 -13
- package/dist/@ecme/services/firebase/FirebaseGithubAuth.js.map +1 -1
- package/dist/@ecme/services/firebase/FirebaseGoogleAuth.js +3 -13
- package/dist/@ecme/services/firebase/FirebaseGoogleAuth.js.map +1 -1
- package/dist/@types/@ecme/@types/auth.d.ts +2 -0
- package/dist/@types/@ecme/@types/auth.d.ts.map +1 -1
- package/dist/@types/@ecme/auth/AuthProvider.d.ts.map +1 -1
- package/dist/@types/@ecme/components/shared/DataTable.d.ts.map +1 -1
- package/dist/@types/@ecme/configs/firebase.config.d.ts +12 -6
- package/dist/@types/@ecme/configs/firebase.config.d.ts.map +1 -1
- package/dist/@types/@ecme/services/OAuthServices.d.ts +6 -8
- package/dist/@types/@ecme/services/OAuthServices.d.ts.map +1 -1
- package/dist/@types/@ecme/services/firebase/FirebaseApp.d.ts +8 -1
- package/dist/@types/@ecme/services/firebase/FirebaseApp.d.ts.map +1 -1
- package/dist/@types/@ecme/services/firebase/FirebaseAuth.d.ts +8 -1
- package/dist/@types/@ecme/services/firebase/FirebaseAuth.d.ts.map +1 -1
- package/dist/@types/@ecme/services/firebase/FirebaseDB.d.ts +8 -1
- package/dist/@types/@ecme/services/firebase/FirebaseDB.d.ts.map +1 -1
- package/dist/@types/@ecme/services/firebase/FirebaseGithubAuth.d.ts +1 -4
- package/dist/@types/@ecme/services/firebase/FirebaseGithubAuth.d.ts.map +1 -1
- package/dist/@types/@ecme/services/firebase/FirebaseGoogleAuth.d.ts +1 -4
- package/dist/@types/@ecme/services/firebase/FirebaseGoogleAuth.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/adm/config/funcionalidades.d.ts +5 -0
- package/dist/@types/base/configs/endpoints.config/adm/config/funcionalidades.d.ts.map +1 -0
- package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts +8 -4
- package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/originacao/config/campos.d.ts +3 -3
- package/dist/@types/base/configs/endpoints.config/originacao/config/campos.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/originacao/config/contratos.d.ts +1 -1
- package/dist/@types/base/configs/endpoints.config/originacao/config/contratos.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/originacao/config/preContrato.d.ts +1 -0
- package/dist/@types/base/configs/endpoints.config/originacao/config/preContrato.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts +5 -4
- package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts.map +1 -1
- package/dist/@types/base/services/modules/DadosMestres/auth/authService.d.ts +6 -1
- package/dist/@types/base/services/modules/DadosMestres/auth/authService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/originacao/campo/campoService.d.ts +1 -1
- package/dist/@types/base/services/modules/originacao/campo/campoService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/originacao/contratoCompraGraos/contratoCompraGraosService.d.ts +2 -2
- package/dist/@types/base/services/modules/originacao/contratoCompraGraos/contratoCompraGraosService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/originacao/preContrato/preContratoService.d.ts +2 -0
- package/dist/@types/base/services/modules/originacao/preContrato/preContratoService.d.ts.map +1 -1
- package/dist/base/configs/endpoints.config/adm/config/funcionalidades.js +7 -0
- package/dist/base/configs/endpoints.config/adm/config/funcionalidades.js.map +1 -0
- package/dist/base/configs/endpoints.config/adm/config/roles.js +4 -4
- package/dist/base/configs/endpoints.config/adm/config/roles.js.map +1 -1
- package/dist/base/configs/endpoints.config/adm/config/users.js +1 -1
- package/dist/base/configs/endpoints.config/adm/config/users.js.map +1 -1
- package/dist/base/configs/endpoints.config/endpoints.navigation.js +11 -9
- package/dist/base/configs/endpoints.config/endpoints.navigation.js.map +1 -1
- package/dist/base/configs/endpoints.config/originacao/config/campos.js +3 -3
- package/dist/base/configs/endpoints.config/originacao/config/campos.js.map +1 -1
- package/dist/base/configs/endpoints.config/originacao/config/contratos.js +3 -3
- package/dist/base/configs/endpoints.config/originacao/config/contratos.js.map +1 -1
- package/dist/base/configs/endpoints.config/originacao/config/preContrato.js +4 -3
- package/dist/base/configs/endpoints.config/originacao/config/preContrato.js.map +1 -1
- package/dist/base/services/modules/DadosMestres/auth/authService.js +46 -7
- package/dist/base/services/modules/DadosMestres/auth/authService.js.map +1 -1
- package/dist/base/services/modules/originacao/campo/campoService.js +2 -2
- package/dist/base/services/modules/originacao/campo/campoService.js.map +1 -1
- package/dist/base/services/modules/originacao/contratoCompraGraos/contratoCompraGraosService.js +2 -2
- package/dist/base/services/modules/originacao/contratoCompraGraos/contratoCompraGraosService.js.map +1 -1
- package/dist/base/services/modules/originacao/preContrato/preContratoService.js +29 -22
- package/dist/base/services/modules/originacao/preContrato/preContratoService.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,35 +1,38 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
1
|
+
import { jsx as f, Fragment as w, jsxs as T } from "react/jsx-runtime";
|
|
2
|
+
import p from "../configs/app.config.js";
|
|
3
3
|
import { REDIRECT_URL_KEY as R } from "../constants/app.constant.js";
|
|
4
4
|
import { apiSignIn as E, apiSignUp as P, apiSignOut as j } from "../services/AuthService.js";
|
|
5
5
|
import { useSessionUser as r, useToken as x } from "../store/authStore.js";
|
|
6
|
-
import { useImperativeHandle as A, useRef as
|
|
7
|
-
import { useNavigate as
|
|
8
|
-
import
|
|
9
|
-
const
|
|
10
|
-
const a =
|
|
6
|
+
import { useImperativeHandle as A, useRef as N } from "react";
|
|
7
|
+
import { useNavigate as C } from "react-router-dom";
|
|
8
|
+
import O from "./AuthContext.js";
|
|
9
|
+
const b = ({ ref: o }) => {
|
|
10
|
+
const a = C();
|
|
11
11
|
return A(o, () => ({
|
|
12
12
|
navigate: a
|
|
13
|
-
}), [a]), /* @__PURE__ */
|
|
13
|
+
}), [a]), /* @__PURE__ */ f(w, {});
|
|
14
14
|
};
|
|
15
15
|
function q({ children: o }) {
|
|
16
|
-
const a = r((t) => t.session.signedIn),
|
|
16
|
+
const a = r((t) => t.session.signedIn), l = r((t) => t.user), i = r((t) => t.setUser), m = r(
|
|
17
17
|
(t) => t.setSessionSignedIn
|
|
18
|
-
), { token:
|
|
18
|
+
), { token: S, setToken: d } = x(), h = !!(S && a), c = N(null), u = () => {
|
|
19
19
|
var e;
|
|
20
20
|
const t = window.location.search, s = new URLSearchParams(t).get(R);
|
|
21
|
-
(e =
|
|
22
|
-
s ||
|
|
21
|
+
(e = c.current) == null || e.navigate(
|
|
22
|
+
s || p.authenticatedEntryPath
|
|
23
23
|
);
|
|
24
|
-
},
|
|
25
|
-
|
|
24
|
+
}, g = (t) => {
|
|
25
|
+
d(t.accessToken), m(!0);
|
|
26
26
|
}, I = () => {
|
|
27
|
-
|
|
27
|
+
d(""), i({}), m(!1);
|
|
28
28
|
}, v = async (t) => {
|
|
29
29
|
var n, s;
|
|
30
30
|
try {
|
|
31
31
|
const e = await E(t);
|
|
32
|
-
return e ? (
|
|
32
|
+
return e ? (g({ accessToken: e.jwtToken }), i({
|
|
33
|
+
userId: e.id.toString(),
|
|
34
|
+
userName: e.nome
|
|
35
|
+
}), u(), {
|
|
33
36
|
status: "success",
|
|
34
37
|
message: ""
|
|
35
38
|
}) : {
|
|
@@ -46,7 +49,10 @@ function q({ children: o }) {
|
|
|
46
49
|
var n, s;
|
|
47
50
|
try {
|
|
48
51
|
const e = await P(t);
|
|
49
|
-
return e ? (
|
|
52
|
+
return e ? (g({ accessToken: e.jwtToken }), i({
|
|
53
|
+
userId: e.id.toString(),
|
|
54
|
+
userName: e.nome
|
|
55
|
+
}), u(), {
|
|
50
56
|
status: "success",
|
|
51
57
|
message: ""
|
|
52
58
|
}) : {
|
|
@@ -64,20 +70,20 @@ function q({ children: o }) {
|
|
|
64
70
|
try {
|
|
65
71
|
await j();
|
|
66
72
|
} finally {
|
|
67
|
-
I(), (t =
|
|
73
|
+
I(), (t = c.current) == null || t.navigate(p.unAuthenticatedEntryPath);
|
|
68
74
|
}
|
|
69
75
|
}, k = (t) => {
|
|
70
76
|
t({
|
|
71
|
-
onSignIn:
|
|
72
|
-
redirect:
|
|
77
|
+
onSignIn: g,
|
|
78
|
+
redirect: u
|
|
73
79
|
});
|
|
74
80
|
};
|
|
75
81
|
return /* @__PURE__ */ T(
|
|
76
|
-
|
|
82
|
+
O.Provider,
|
|
77
83
|
{
|
|
78
84
|
value: {
|
|
79
|
-
authenticated:
|
|
80
|
-
user:
|
|
85
|
+
authenticated: h,
|
|
86
|
+
user: l,
|
|
81
87
|
signIn: v,
|
|
82
88
|
signUp: U,
|
|
83
89
|
signOut: y,
|
|
@@ -85,7 +91,7 @@ function q({ children: o }) {
|
|
|
85
91
|
},
|
|
86
92
|
children: [
|
|
87
93
|
o,
|
|
88
|
-
/* @__PURE__ */
|
|
94
|
+
/* @__PURE__ */ f(b, { ref: c })
|
|
89
95
|
]
|
|
90
96
|
}
|
|
91
97
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.js","sources":["../../../lib/@ecme/auth/AuthProvider.tsx"],"sourcesContent":["import type {\n AuthResult,\n OauthSignInCallbackPayload,\n SignInCredential,\n SignUpCredential,\n Token,\n} from '@/@types/auth'\nimport appConfig from '@/configs/app.config'\nimport { REDIRECT_URL_KEY } from '@/constants/app.constant'\nimport { apiSignIn, apiSignOut, apiSignUp } from '@/services/AuthService'\nimport { useSessionUser, useToken } from '@/store/authStore'\nimport { ReactNode, Ref, useImperativeHandle, useRef } from 'react'\nimport { NavigateFunction, useNavigate } from 'react-router-dom'\nimport AuthContext from './AuthContext'\n\ntype AuthProviderProps = { children: ReactNode }\n\nexport type IsolatedNavigatorRef = {\n navigate: NavigateFunction\n}\n\nconst IsolatedNavigator = ({ ref }: { ref: Ref<IsolatedNavigatorRef> }) => {\n const navigate = useNavigate()\n\n useImperativeHandle(ref, () => {\n return {\n navigate,\n }\n }, [navigate])\n\n return <></>\n}\n\nfunction AuthProvider({ children }: AuthProviderProps) {\n const signedIn = useSessionUser((state) => state.session.signedIn)\n const user = useSessionUser((state) => state.user)\n const setUser = useSessionUser((state) => state.setUser)\n const setSessionSignedIn = useSessionUser(\n (state) => state.setSessionSignedIn,\n )\n const { token, setToken } = useToken()\n\n const authenticated = Boolean(token && signedIn)\n\n const navigatorRef = useRef<IsolatedNavigatorRef>(null)\n\n const redirect = () => {\n const search = window.location.search\n const params = new URLSearchParams(search)\n const redirectUrl = params.get(REDIRECT_URL_KEY)\n\n navigatorRef.current?.navigate(\n redirectUrl ? redirectUrl : appConfig.authenticatedEntryPath,\n )\n }\n\n const handleSignIn = (tokens: Token) => {\n setToken(tokens.accessToken)\n setSessionSignedIn(true)\n }\n\n const handleSignOut = () => {\n setToken('')\n setUser({})\n setSessionSignedIn(false)\n }\n\n const signIn = async (values: SignInCredential): AuthResult => {\n try {\n const resp = await apiSignIn(values)\n if (resp) {\n handleSignIn({ accessToken: resp.jwtToken })\n redirect()\n return {\n status: 'success',\n message: '',\n }\n }\n return {\n status: 'failed',\n message: 'Unable to sign in',\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (errors: any) {\n return {\n status: 'failed',\n message: errors?.response?.data?.message || errors.toString(),\n }\n }\n }\n\n const signUp = async (values: SignUpCredential): AuthResult => {\n try {\n const resp = await apiSignUp(values)\n if (resp) {\n handleSignIn({ accessToken: resp.jwtToken })\n redirect()\n return {\n status: 'success',\n message: '',\n }\n }\n return {\n status: 'failed',\n message: 'Unable to sign up',\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (errors: any) {\n return {\n status: 'failed',\n message: errors?.response?.data?.message || errors.toString(),\n }\n }\n }\n\n const signOut = async () => {\n try {\n await apiSignOut()\n } finally {\n handleSignOut()\n navigatorRef.current?.navigate(appConfig.unAuthenticatedEntryPath)\n }\n }\n const oAuthSignIn = (\n callback: (payload: OauthSignInCallbackPayload) => void,\n ) => {\n callback({\n onSignIn: handleSignIn,\n redirect,\n })\n }\n\n return (\n <AuthContext.Provider\n value={{\n authenticated,\n user,\n signIn,\n signUp,\n signOut,\n oAuthSignIn,\n }}\n >\n {children}\n <IsolatedNavigator ref={navigatorRef} />\n </AuthContext.Provider>\n )\n}\n\nexport default AuthProvider\n"],"names":["IsolatedNavigator","ref","navigate","useNavigate","useImperativeHandle","jsx","Fragment","AuthProvider","children","signedIn","useSessionUser","state","user","setUser","setSessionSignedIn","token","setToken","useToken","authenticated","navigatorRef","useRef","redirect","search","redirectUrl","REDIRECT_URL_KEY","_a","appConfig","handleSignIn","tokens","handleSignOut","signIn","values","resp","apiSignIn","errors","_b","signUp","apiSignUp","signOut","apiSignOut","oAuthSignIn","callback","jsxs","AuthContext"],"mappings":";;;;;;;;AAqBA,MAAMA,IAAoB,CAAC,EAAE,KAAAC,QAA8C;AACvE,QAAMC,IAAWC,EAAA;AAEjB,SAAAC,EAAoBH,GAAK,OACd;AAAA,IACH,UAAAC;AAAA,EAAA,IAEL,CAACA,CAAQ,CAAC,GAEN,gBAAAG,EAAAC,GAAA,EAAE;AACb;AAEA,SAASC,EAAa,EAAE,UAAAC,KAA+B;AACnD,QAAMC,IAAWC,EAAe,CAACC,MAAUA,EAAM,QAAQ,QAAQ,GAC3DC,IAAOF,EAAe,CAACC,MAAUA,EAAM,IAAI,GAC3CE,IAAUH,EAAe,CAACC,MAAUA,EAAM,OAAO,GACjDG,IAAqBJ;AAAA,IACvB,CAACC,MAAUA,EAAM;AAAA,EAAA,GAEf,EAAE,OAAAI,GAAO,UAAAC,EAAA,IAAaC,EAAA,GAEtBC,IAAgB,GAAQH,KAASN,IAEjCU,IAAeC,EAA6B,IAAI,GAEhDC,IAAW,MAAM;;AACnB,UAAMC,IAAS,OAAO,SAAS,QAEzBC,IADS,IAAI,gBAAgBD,CAAM,EACd,IAAIE,CAAgB;AAE/C,KAAAC,IAAAN,EAAa,YAAb,QAAAM,EAAsB;AAAA,MAClBF,KAA4BG,EAAU;AAAA;AAAA,EAC1C,GAGEC,IAAe,CAACC,MAAkB;AACpC,IAAAZ,EAASY,EAAO,WAAW,GAC3Bd,EAAmB,EAAI;AAAA,EAAA,GAGrBe,IAAgB,MAAM;AACxB,IAAAb,EAAS,EAAE,GACXH,EAAQ,CAAA,CAAE,GACVC,EAAmB,EAAK;AAAA,EAAA,GAGtBgB,IAAS,OAAOC,MAAyC;;AAC3D,QAAI;AACA,YAAMC,IAAO,MAAMC,EAAUF,CAAM;AACnC,aAAIC,KACAL,EAAa,EAAE,aAAaK,EAAK,SAAA,CAAU,
|
|
1
|
+
{"version":3,"file":"AuthProvider.js","sources":["../../../lib/@ecme/auth/AuthProvider.tsx"],"sourcesContent":["import type {\n AuthResult,\n OauthSignInCallbackPayload,\n SignInCredential,\n SignUpCredential,\n Token,\n} from '@/@types/auth'\nimport appConfig from '@/configs/app.config'\nimport { REDIRECT_URL_KEY } from '@/constants/app.constant'\nimport { apiSignIn, apiSignOut, apiSignUp } from '@/services/AuthService'\nimport { useSessionUser, useToken } from '@/store/authStore'\nimport { ReactNode, Ref, useImperativeHandle, useRef } from 'react'\nimport { NavigateFunction, useNavigate } from 'react-router-dom'\nimport AuthContext from './AuthContext'\n\ntype AuthProviderProps = { children: ReactNode }\n\nexport type IsolatedNavigatorRef = {\n navigate: NavigateFunction\n}\n\nconst IsolatedNavigator = ({ ref }: { ref: Ref<IsolatedNavigatorRef> }) => {\n const navigate = useNavigate()\n\n useImperativeHandle(ref, () => {\n return {\n navigate,\n }\n }, [navigate])\n\n return <></>\n}\n\nfunction AuthProvider({ children }: AuthProviderProps) {\n const signedIn = useSessionUser((state) => state.session.signedIn)\n const user = useSessionUser((state) => state.user)\n const setUser = useSessionUser((state) => state.setUser)\n const setSessionSignedIn = useSessionUser(\n (state) => state.setSessionSignedIn,\n )\n const { token, setToken } = useToken()\n\n const authenticated = Boolean(token && signedIn)\n\n const navigatorRef = useRef<IsolatedNavigatorRef>(null)\n\n const redirect = () => {\n const search = window.location.search\n const params = new URLSearchParams(search)\n const redirectUrl = params.get(REDIRECT_URL_KEY)\n\n navigatorRef.current?.navigate(\n redirectUrl ? redirectUrl : appConfig.authenticatedEntryPath,\n )\n }\n\n const handleSignIn = (tokens: Token) => {\n setToken(tokens.accessToken)\n setSessionSignedIn(true)\n }\n\n const handleSignOut = () => {\n setToken('')\n setUser({})\n setSessionSignedIn(false)\n }\n\n const signIn = async (values: SignInCredential): AuthResult => {\n try {\n const resp = await apiSignIn(values)\n if (resp) {\n handleSignIn({ accessToken: resp.jwtToken })\n // Armazenar ID e nome do usuário no estado\n setUser({\n userId: resp.id.toString(),\n userName: resp.nome\n })\n redirect()\n return {\n status: 'success',\n message: '',\n }\n }\n return {\n status: 'failed',\n message: 'Unable to sign in',\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (errors: any) {\n return {\n status: 'failed',\n message: errors?.response?.data?.message || errors.toString(),\n }\n }\n }\n\n const signUp = async (values: SignUpCredential): AuthResult => {\n try {\n const resp = await apiSignUp(values)\n if (resp) {\n handleSignIn({ accessToken: resp.jwtToken })\n // Armazenar ID e nome do usuário no estado\n setUser({\n userId: resp.id.toString(),\n userName: resp.nome\n })\n redirect()\n return {\n status: 'success',\n message: '',\n }\n }\n return {\n status: 'failed',\n message: 'Unable to sign up',\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (errors: any) {\n return {\n status: 'failed',\n message: errors?.response?.data?.message || errors.toString(),\n }\n }\n }\n\n const signOut = async () => {\n try {\n await apiSignOut()\n } finally {\n handleSignOut()\n navigatorRef.current?.navigate(appConfig.unAuthenticatedEntryPath)\n }\n }\n const oAuthSignIn = (\n callback: (payload: OauthSignInCallbackPayload) => void,\n ) => {\n callback({\n onSignIn: handleSignIn,\n redirect,\n })\n }\n\n return (\n <AuthContext.Provider\n value={{\n authenticated,\n user,\n signIn,\n signUp,\n signOut,\n oAuthSignIn,\n }}\n >\n {children}\n <IsolatedNavigator ref={navigatorRef} />\n </AuthContext.Provider>\n )\n}\n\nexport default AuthProvider\n"],"names":["IsolatedNavigator","ref","navigate","useNavigate","useImperativeHandle","jsx","Fragment","AuthProvider","children","signedIn","useSessionUser","state","user","setUser","setSessionSignedIn","token","setToken","useToken","authenticated","navigatorRef","useRef","redirect","search","redirectUrl","REDIRECT_URL_KEY","_a","appConfig","handleSignIn","tokens","handleSignOut","signIn","values","resp","apiSignIn","errors","_b","signUp","apiSignUp","signOut","apiSignOut","oAuthSignIn","callback","jsxs","AuthContext"],"mappings":"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"}
|
|
@@ -6,13 +6,13 @@ import "../ui/Pagination/index.js";
|
|
|
6
6
|
import "../ui/Select/index.js";
|
|
7
7
|
import { Checkbox as ae } from "../ui/Checkbox/index.js";
|
|
8
8
|
import re from "./loaders/TableRowSkeleton.js";
|
|
9
|
-
import
|
|
10
|
-
import
|
|
9
|
+
import se from "./Loading.js";
|
|
10
|
+
import ie from "../../assets/svg/FileNotFound.js";
|
|
11
11
|
import { useReactTable as ce, getSortedRowModel as de, getPaginationRowModel as ge, getFilteredRowModel as me, getCoreRowModel as ue, flexRender as D } from "@tanstack/react-table";
|
|
12
12
|
import { useTranslation as he } from "react-i18next";
|
|
13
13
|
import pe from "../ui/Pagination/Pagination.js";
|
|
14
14
|
import fe from "../ui/Select/Select.js";
|
|
15
|
-
const { Tr: S, Th: Se, Td: I, THead: Ce, TBody:
|
|
15
|
+
const { Tr: S, Th: Se, Td: I, THead: Ce, TBody: be, Sorter: Re } = j, H = (p) => {
|
|
16
16
|
const {
|
|
17
17
|
indeterminate: m,
|
|
18
18
|
onChange: f,
|
|
@@ -48,7 +48,7 @@ function He(p) {
|
|
|
48
48
|
onIndeterminateCheckBoxChange: l,
|
|
49
49
|
onPaginationChange: h,
|
|
50
50
|
onSelectChange: C,
|
|
51
|
-
onSort:
|
|
51
|
+
onSort: b,
|
|
52
52
|
pageSizes: T = [10, 25, 50, 100],
|
|
53
53
|
selectable: N = !1,
|
|
54
54
|
skeletonAvatarProps: $,
|
|
@@ -57,15 +57,15 @@ function He(p) {
|
|
|
57
57
|
pageIndex: 1,
|
|
58
58
|
pageSize: 10
|
|
59
59
|
},
|
|
60
|
-
checkboxChecked:
|
|
60
|
+
checkboxChecked: R,
|
|
61
61
|
indeterminateCheckboxChecked: P,
|
|
62
62
|
instanceId: q = "data-table",
|
|
63
63
|
ref: B,
|
|
64
64
|
renderSubComponent: O = () => null,
|
|
65
65
|
getRowCanExpand: V = () => !1,
|
|
66
|
-
onSelectionChange:
|
|
66
|
+
onSelectionChange: x,
|
|
67
67
|
...L
|
|
68
|
-
} = p, { pageSize:
|
|
68
|
+
} = p, { pageSize: v, pageIndex: W, total: _ } = y, [r, G] = te(null), { t: J } = he(), z = F(
|
|
69
69
|
() => T.map((e) => ({
|
|
70
70
|
value: e,
|
|
71
71
|
label: `${e} / ${J("common.table.pageAbbr")}`
|
|
@@ -75,7 +75,7 @@ function He(p) {
|
|
|
75
75
|
M(() => {
|
|
76
76
|
if (Array.isArray(r)) {
|
|
77
77
|
const e = r.length > 0 ? r[0].desc ? "desc" : "asc" : "", t = r.length > 0 ? r[0].id : "";
|
|
78
|
-
|
|
78
|
+
b == null || b({ order: e, key: t });
|
|
79
79
|
}
|
|
80
80
|
}, [r]);
|
|
81
81
|
const K = (e, t) => {
|
|
@@ -96,9 +96,9 @@ function He(p) {
|
|
|
96
96
|
) : t.getIsAllRowsSelected(),
|
|
97
97
|
indeterminate: t.getIsSomeRowsSelected(),
|
|
98
98
|
onChange: t.getToggleAllRowsSelectedHandler(),
|
|
99
|
-
onIndeterminateCheckBoxChange: (
|
|
99
|
+
onIndeterminateCheckBoxChange: (i) => {
|
|
100
100
|
K(
|
|
101
|
-
|
|
101
|
+
i.target.checked,
|
|
102
102
|
t.getRowModel().rows
|
|
103
103
|
);
|
|
104
104
|
}
|
|
@@ -107,12 +107,12 @@ function He(p) {
|
|
|
107
107
|
cell: ({ row: t }) => /* @__PURE__ */ n(
|
|
108
108
|
H,
|
|
109
109
|
{
|
|
110
|
-
checked:
|
|
110
|
+
checked: R ? R(t.original) : t.getIsSelected(),
|
|
111
111
|
disabled: !t.getCanSelect(),
|
|
112
112
|
indeterminate: t.getIsSomeSelected(),
|
|
113
113
|
onChange: t.getToggleSelectedHandler(),
|
|
114
|
-
onCheckBoxChange: (
|
|
115
|
-
|
|
114
|
+
onCheckBoxChange: (i) => Q(
|
|
115
|
+
i.target.checked,
|
|
116
116
|
t.original
|
|
117
117
|
)
|
|
118
118
|
}
|
|
@@ -120,7 +120,7 @@ function He(p) {
|
|
|
120
120
|
},
|
|
121
121
|
...e
|
|
122
122
|
] : e;
|
|
123
|
-
}, [f, N, o,
|
|
123
|
+
}, [f, N, o, R]), s = ce({
|
|
124
124
|
data: a,
|
|
125
125
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
126
126
|
columns: w,
|
|
@@ -138,9 +138,9 @@ function He(p) {
|
|
|
138
138
|
},
|
|
139
139
|
getRowCanExpand: V
|
|
140
140
|
}), U = () => {
|
|
141
|
-
|
|
141
|
+
s.resetSorting();
|
|
142
142
|
}, A = () => {
|
|
143
|
-
|
|
143
|
+
s.resetRowSelection(!0);
|
|
144
144
|
};
|
|
145
145
|
ne(B, () => ({
|
|
146
146
|
resetSorting: U,
|
|
@@ -152,12 +152,12 @@ function He(p) {
|
|
|
152
152
|
o || C == null || C(Number(e));
|
|
153
153
|
}, k = E([]);
|
|
154
154
|
return M(() => {
|
|
155
|
-
if (!
|
|
156
|
-
const e =
|
|
157
|
-
e.length === k.current.length && e.every((
|
|
158
|
-
}, [
|
|
155
|
+
if (!x) return;
|
|
156
|
+
const e = s.getSelectedRowModel().rows.map((i) => i.original);
|
|
157
|
+
e.length === k.current.length && e.every((i, Z) => i === k.current[Z]) || (k.current = e, x(e));
|
|
158
|
+
}, [s.getState().rowSelection, x, s]), /* @__PURE__ */ g(se, { loading: !!(o && a.length !== 0), type: "cover", children: [
|
|
159
159
|
/* @__PURE__ */ g(j, { ...L, children: [
|
|
160
|
-
/* @__PURE__ */ n(Ce, { children:
|
|
160
|
+
/* @__PURE__ */ n(Ce, { children: s.getHeaderGroups().map((e) => /* @__PURE__ */ n(S, { children: e.headers.map((t) => /* @__PURE__ */ n(
|
|
161
161
|
Se,
|
|
162
162
|
{
|
|
163
163
|
colSpan: t.colSpan,
|
|
@@ -165,21 +165,17 @@ function He(p) {
|
|
|
165
165
|
"div",
|
|
166
166
|
{
|
|
167
167
|
className: le(
|
|
168
|
-
|
|
168
|
+
"flex items-center justify-between gap-1",
|
|
169
|
+
t.column.getCanSort() && "cursor-pointer select-none",
|
|
169
170
|
o && "pointer-events-none"
|
|
170
171
|
),
|
|
171
172
|
onClick: t.column.getToggleSortingHandler(),
|
|
172
173
|
children: [
|
|
173
|
-
D(
|
|
174
|
+
/* @__PURE__ */ n("span", { className: "truncate", children: D(
|
|
174
175
|
t.column.columnDef.header,
|
|
175
176
|
t.getContext()
|
|
176
|
-
),
|
|
177
|
-
t.column.getCanSort() && /* @__PURE__ */ n(
|
|
178
|
-
be,
|
|
179
|
-
{
|
|
180
|
-
sort: t.column.getIsSorted()
|
|
181
|
-
}
|
|
182
|
-
)
|
|
177
|
+
) }),
|
|
178
|
+
t.column.getCanSort() && /* @__PURE__ */ n(Re, { sort: t.column.getIsSorted() })
|
|
183
179
|
]
|
|
184
180
|
}
|
|
185
181
|
)
|
|
@@ -194,17 +190,17 @@ function He(p) {
|
|
|
194
190
|
avatarInColumns: m,
|
|
195
191
|
avatarProps: $
|
|
196
192
|
}
|
|
197
|
-
) : /* @__PURE__ */ n(
|
|
193
|
+
) : /* @__PURE__ */ n(be, { children: d ? /* @__PURE__ */ n(S, { children: /* @__PURE__ */ n(
|
|
198
194
|
I,
|
|
199
195
|
{
|
|
200
196
|
className: "hover:bg-transparent",
|
|
201
197
|
colSpan: w.length,
|
|
202
198
|
children: /* @__PURE__ */ n("div", { className: "flex flex-col items-center gap-4", children: c || /* @__PURE__ */ g(ee, { children: [
|
|
203
|
-
/* @__PURE__ */ n(
|
|
199
|
+
/* @__PURE__ */ n(ie, {}),
|
|
204
200
|
/* @__PURE__ */ n("span", { className: "font-semibold", children: "No data found!" })
|
|
205
201
|
] }) })
|
|
206
202
|
}
|
|
207
|
-
) }) :
|
|
203
|
+
) }) : s.getRowModel().rows.slice(0, v).map((e) => /* @__PURE__ */ g(oe, { children: [
|
|
208
204
|
/* @__PURE__ */ n(S, { children: e.getVisibleCells().map((t) => /* @__PURE__ */ n(
|
|
209
205
|
I,
|
|
210
206
|
{
|
|
@@ -225,7 +221,7 @@ function He(p) {
|
|
|
225
221
|
/* @__PURE__ */ n(
|
|
226
222
|
pe,
|
|
227
223
|
{
|
|
228
|
-
pageSize:
|
|
224
|
+
pageSize: v,
|
|
229
225
|
currentPage: W,
|
|
230
226
|
total: _,
|
|
231
227
|
onChange: X
|
|
@@ -239,7 +235,7 @@ function He(p) {
|
|
|
239
235
|
menuPlacement: "top",
|
|
240
236
|
isSearchable: !1,
|
|
241
237
|
value: z.filter(
|
|
242
|
-
(e) => e.value ===
|
|
238
|
+
(e) => e.value === v
|
|
243
239
|
),
|
|
244
240
|
options: z,
|
|
245
241
|
onChange: (e) => Y(e == null ? void 0 : e.value)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.js","sources":["../../../../lib/@ecme/components/shared/DataTable.tsx"],"sourcesContent":["import {\n useMemo,\n useRef,\n useEffect,\n useState,\n useImperativeHandle,\n Fragment\n} from 'react'\nimport classNames from 'classnames'\nimport Table from '@/components/ui/Table'\nimport Pagination from '@/components/ui/Pagination'\nimport Select from '@/components/ui/Select'\nimport Checkbox from '@/components/ui/Checkbox'\nimport TableRowSkeleton from './loaders/TableRowSkeleton'\nimport Loading from './Loading'\nimport FileNotFound from '@/assets/svg/FileNotFound'\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n flexRender,\n ColumnDef,\n ColumnSort,\n Row,\n CellContext,\n} from '@tanstack/react-table'\nimport type { TableProps } from '@/components/ui/Table'\nimport type { SkeletonProps } from '@/components/ui/Skeleton'\nimport type { Ref, ChangeEvent, ReactNode } from 'react'\nimport type { CheckboxProps } from '@/components/ui/Checkbox'\nimport { useTranslation } from 'react-i18next'\n\nexport type OnSortParam = { order: 'asc' | 'desc' | ''; key: string | number }\n\ntype DataTableProps<T> = {\n columns: ColumnDef<T>[]\n customNoDataIcon?: ReactNode\n data?: T[]\n loading?: boolean\n noData?: boolean\n instanceId?: string\n onCheckBoxChange?: (checked: boolean, row: T) => void\n onIndeterminateCheckBoxChange?: (checked: boolean, rows: Row<T>[]) => void\n onPaginationChange?: (page: number) => void\n onSelectChange?: (num: number) => void\n onSort?: (sort: OnSortParam) => void\n pageSizes?: number[]\n manualSorting?: boolean\n selectable?: boolean\n skeletonAvatarColumns?: number[]\n skeletonAvatarProps?: SkeletonProps\n pagingData?: {\n total: number\n pageIndex: number\n pageSize: number\n }\n checkboxChecked?: (row: T) => boolean\n indeterminateCheckboxChecked?: (row: Row<T>[]) => boolean\n ref?: Ref<DataTableResetHandle | HTMLTableElement>\n onSelectionChange?: (selected: T[]) => void\n renderSubComponent?: (row: Row<T>) => React.ReactNode\n getRowCanExpand?: (row: Row<T>) => boolean\n} & TableProps\n\ntype CheckBoxChangeEvent = ChangeEvent<HTMLInputElement>\n\ninterface IndeterminateCheckboxProps extends Omit<CheckboxProps, 'onChange'> {\n onChange: (event: CheckBoxChangeEvent) => void\n indeterminate: boolean\n onCheckBoxChange?: (event: CheckBoxChangeEvent) => void\n onIndeterminateCheckBoxChange?: (event: CheckBoxChangeEvent) => void\n}\n\nconst { Tr, Th, Td, THead, TBody, Sorter } = Table\n\nconst IndeterminateCheckbox = (props: IndeterminateCheckboxProps) => {\n const {\n indeterminate,\n onChange,\n onCheckBoxChange,\n onIndeterminateCheckBoxChange,\n ...rest\n } = props\n\n const ref = useRef<HTMLInputElement>(null)\n\n useEffect(() => {\n if (typeof indeterminate === 'boolean' && ref.current) {\n ref.current.indeterminate = !rest.checked && indeterminate\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ref, indeterminate])\n\n const handleChange = (e: CheckBoxChangeEvent) => {\n onChange(e)\n onCheckBoxChange?.(e)\n onIndeterminateCheckBoxChange?.(e)\n }\n\n return (\n <Checkbox\n ref={ref}\n className=\"mb-0\"\n onChange={(_, e) => handleChange(e)}\n {...rest}\n />\n )\n}\n\nexport type DataTableResetHandle = {\n resetSorting: () => void\n resetSelected: () => void\n}\n\nfunction DataTable<T>(props: DataTableProps<T>) {\n const {\n skeletonAvatarColumns,\n columns: columnsProp = [],\n data = [],\n customNoDataIcon,\n loading,\n noData,\n onCheckBoxChange,\n onIndeterminateCheckBoxChange,\n onPaginationChange,\n onSelectChange,\n onSort,\n pageSizes = [10, 25, 50, 100],\n selectable = false,\n skeletonAvatarProps,\n pagingData = {\n total: 0,\n pageIndex: 1,\n pageSize: 10,\n },\n checkboxChecked,\n indeterminateCheckboxChecked,\n instanceId = 'data-table',\n ref,\n renderSubComponent = () => null,\n getRowCanExpand = () => false,\n onSelectionChange,\n ...rest\n } = props\n\n const { pageSize, pageIndex, total } = pagingData\n\n const [sorting, setSorting] = useState<ColumnSort[] | null>(null)\n\n const {t} = useTranslation()\n\n const pageSizeOption = useMemo(\n () =>\n pageSizes.map((number) => ({\n value: number,\n label: `${number} / ${t('common.table.pageAbbr')}`,\n })),\n [pageSizes],\n )\n\n useEffect(() => {\n if (Array.isArray(sorting)) {\n const sortOrder =\n sorting.length > 0 ? (sorting[0].desc ? 'desc' : 'asc') : ''\n const id = sorting.length > 0 ? sorting[0].id : ''\n onSort?.({ order: sortOrder, key: id })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sorting])\n\n const handleIndeterminateCheckBoxChange = (\n checked: boolean,\n rows: Row<T>[],\n ) => {\n if (!loading) {\n onIndeterminateCheckBoxChange?.(checked, rows)\n }\n }\n\n const handleCheckBoxChange = (checked: boolean, row: T) => {\n if (!loading) {\n onCheckBoxChange?.(checked, row)\n }\n }\n\n const finalColumns: ColumnDef<T>[] = useMemo(() => {\n const columns = columnsProp\n\n if (selectable) {\n return [\n {\n id: 'select',\n maxSize: 50,\n header: ({ table }) => (\n <IndeterminateCheckbox\n checked={\n indeterminateCheckboxChecked\n ? indeterminateCheckboxChecked(\n table.getRowModel().rows,\n )\n : table.getIsAllRowsSelected()\n }\n indeterminate={table.getIsSomeRowsSelected()}\n onChange={table.getToggleAllRowsSelectedHandler()}\n onIndeterminateCheckBoxChange={(e) => {\n handleIndeterminateCheckBoxChange(\n e.target.checked,\n table.getRowModel().rows,\n )\n }}\n />\n ),\n cell: ({ row }) => (\n <IndeterminateCheckbox\n checked={\n checkboxChecked\n ? checkboxChecked(row.original)\n : row.getIsSelected()\n }\n disabled={!row.getCanSelect()}\n indeterminate={row.getIsSomeSelected()}\n onChange={row.getToggleSelectedHandler()}\n onCheckBoxChange={(e) =>\n handleCheckBoxChange(\n e.target.checked,\n row.original,\n )\n }\n />\n ),\n },\n ...columns,\n ]\n }\n return columns\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [columnsProp, selectable, loading, checkboxChecked])\n\n const table = useReactTable({\n data,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n columns: finalColumns,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getSortedRowModel: getSortedRowModel(),\n manualPagination: true,\n manualSorting: props.manualSorting ?? false,\n onSortingChange: (sorter) => {\n setSorting(sorter as ColumnSort[])\n },\n state: {\n sorting: sorting as ColumnSort[],\n },\n getRowCanExpand\n })\n\n const resetSorting = () => {\n table.resetSorting()\n }\n\n const resetSelected = () => {\n table.resetRowSelection(true)\n }\n\n useImperativeHandle(ref, () => ({\n resetSorting,\n resetSelected,\n }))\n\n const handlePaginationChange = (page: number) => {\n if (!loading) {\n resetSelected()\n onPaginationChange?.(page)\n }\n }\n\n const handleSelectChange = (value?: number) => {\n if (!loading) {\n onSelectChange?.(Number(value))\n }\n }\n\n const prevSelectedRef = useRef<T[]>([])\n\n useEffect(() => {\n if (!onSelectionChange) return;\n\n const selectedRows = table.getSelectedRowModel().rows.map(r => r.original as T);\n\n const isEqual = selectedRows.length === prevSelectedRef.current.length &&\n selectedRows.every((item, idx) => item === prevSelectedRef.current[idx]);\n\n if (!isEqual) {\n prevSelectedRef.current = selectedRows;\n onSelectionChange(selectedRows);\n }\n }, [table.getState().rowSelection, onSelectionChange, table]);\n\n return (\n <Loading loading={Boolean(loading && data.length !== 0)} type=\"cover\">\n <Table {...rest}>\n <THead>\n {table.getHeaderGroups().map((headerGroup) => (\n <Tr key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n return (\n <Th\n key={header.id}\n colSpan={header.colSpan}\n >\n {header.isPlaceholder ? null : (\n <div\n className={classNames(\n header.column.getCanSort() &&\n 'cursor-pointer select-none point',\n loading &&\n 'pointer-events-none',\n )}\n onClick={header.column.getToggleSortingHandler()}\n >\n {flexRender(\n header.column.columnDef\n .header,\n header.getContext(),\n )}\n {header.column.getCanSort() && (\n <Sorter\n sort={header.column.getIsSorted()}\n />\n )}\n </div>\n )}\n </Th>\n )\n })}\n </Tr>\n ))}\n </THead>\n {loading && data.length === 0 ? (\n <TableRowSkeleton\n columns={(finalColumns as Array<T>).length}\n rows={pagingData.pageSize}\n avatarInColumns={skeletonAvatarColumns}\n avatarProps={skeletonAvatarProps}\n />\n ) : (\n <TBody>\n {noData ? (\n <Tr>\n <Td\n className=\"hover:bg-transparent\"\n colSpan={finalColumns.length}\n >\n <div className=\"flex flex-col items-center gap-4\">\n {customNoDataIcon ? (\n customNoDataIcon\n ) : (\n <>\n <FileNotFound />\n <span className=\"font-semibold\">\n No data found!\n </span>\n </>\n )}\n </div>\n </Td>\n </Tr>\n ) : (\n table\n .getRowModel()\n .rows.slice(0, pageSize)\n .map((row) => {\n return (\n <Fragment key={row.id}>\n <Tr key={row.id}>\n {row\n .getVisibleCells()\n .map((cell) => {\n return (\n <Td\n key={cell.id}\n style={{\n width: cell.column.getSize(),\n }}\n >\n {flexRender(\n cell.column\n .columnDef\n .cell,\n cell.getContext(),\n )}\n </Td>\n )\n })}\n </Tr>\n {row.getIsExpanded() && (\n <Tr>\n <Td colSpan={row.getVisibleCells().length}>{renderSubComponent(row)}</Td>\n </Tr>\n )}\n </Fragment>\n )\n })\n )}\n </TBody>\n )}\n </Table>\n <div className=\"flex items-center justify-between mt-4\">\n <Pagination\n pageSize={pageSize}\n currentPage={pageIndex}\n total={total}\n onChange={handlePaginationChange}\n />\n <div style={{ minWidth: 130 }}>\n <Select\n instanceId={instanceId}\n size=\"sm\"\n menuPlacement=\"top\"\n isSearchable={false}\n value={pageSizeOption.filter(\n (option) => option.value === pageSize,\n )}\n options={pageSizeOption}\n onChange={(option) => handleSelectChange(option?.value)}\n />\n </div>\n </div>\n </Loading>\n )\n}\n\nexport type { ColumnDef, Row, CellContext }\nexport default DataTable\n"],"names":["Tr","Th","Td","THead","TBody","Sorter","Table","IndeterminateCheckbox","props","indeterminate","onChange","onCheckBoxChange","onIndeterminateCheckBoxChange","rest","ref","useRef","useEffect","handleChange","e","jsx","Checkbox","_","DataTable","skeletonAvatarColumns","columnsProp","data","customNoDataIcon","loading","noData","onPaginationChange","onSelectChange","onSort","pageSizes","selectable","skeletonAvatarProps","pagingData","checkboxChecked","indeterminateCheckboxChecked","instanceId","renderSubComponent","getRowCanExpand","onSelectionChange","pageSize","pageIndex","total","sorting","setSorting","useState","t","useTranslation","pageSizeOption","useMemo","number","sortOrder","id","handleIndeterminateCheckBoxChange","checked","rows","handleCheckBoxChange","row","finalColumns","columns","table","useReactTable","getCoreRowModel","getFilteredRowModel","getPaginationRowModel","getSortedRowModel","sorter","resetSorting","resetSelected","useImperativeHandle","handlePaginationChange","page","handleSelectChange","value","prevSelectedRef","selectedRows","r","item","idx","jsxs","Loading","headerGroup","header","classNames","flexRender","TableRowSkeleton","Fragment","FileNotFound","cell","Pagination","Select","option"],"mappings":";;;;;;;;;;;;;;AA2EA,MAAM,EAAE,IAAAA,GAAI,IAAAC,IAAI,IAAAC,GAAI,OAAAC,IAAO,OAAAC,IAAO,QAAAC,OAAWC,GAEvCC,IAAwB,CAACC,MAAsC;AACjE,QAAM;AAAA,IACF,eAAAC;AAAA,IACA,UAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,+BAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACHL,GAEEM,IAAMC,EAAyB,IAAI;AAEzC,EAAAC,EAAU,MAAM;AACZ,IAAI,OAAOP,KAAkB,aAAaK,EAAI,YAC1CA,EAAI,QAAQ,gBAAgB,CAACD,EAAK,WAAWJ;AAAA,EACjD,GAED,CAACK,GAAKL,CAAa,CAAC;AAEvB,QAAMQ,IAAe,CAACC,MAA2B;AAC7C,IAAAR,EAASQ,CAAC,GACVP,KAAA,QAAAA,EAAmBO,IACnBN,KAAA,QAAAA,EAAgCM;AAAA,EAAC;AAGrC,SACI,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,KAAAN;AAAA,MACA,WAAU;AAAA,MACV,UAAU,CAACO,GAAGH,MAAMD,EAAaC,CAAC;AAAA,MACjC,GAAGL;AAAA,IAAA;AAAA,EAAA;AAGhB;AAOA,SAASS,GAAad,GAA0B;AAC5C,QAAM;AAAA,IACF,uBAAAe;AAAA,IACA,SAASC,IAAc,CAAA;AAAA,IACvB,MAAAC,IAAO,CAAA;AAAA,IACP,kBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,kBAAAjB;AAAA,IACA,+BAAAC;AAAA,IACA,oBAAAiB;AAAA,IACA,gBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC,IAAY,CAAC,IAAI,IAAI,IAAI,GAAG;AAAA,IAC5B,YAAAC,IAAa;AAAA,IACb,qBAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,MACT,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAU;AAAA,IAAA;AAAA,IAEd,iBAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,IACb,KAAAxB;AAAA,IACA,oBAAAyB,IAAqB,MAAM;AAAA,IAC3B,iBAAAC,IAAkB,MAAM;AAAA,IACxB,mBAAAC;AAAA,IACA,GAAG5B;AAAA,EAAA,IACHL,GAEE,EAAE,UAAAkC,GAAU,WAAAC,GAAW,OAAAC,EAAA,IAAUT,GAEjC,CAACU,GAASC,CAAU,IAAIC,GAA8B,IAAI,GAE1D,EAAC,GAAAC,EAAA,IAAKC,GAAA,GAENC,IAAiBC;AAAA,IACnB,MACInB,EAAU,IAAI,CAACoB,OAAY;AAAA,MACvB,OAAOA;AAAA,MACP,OAAO,GAAGA,CAAM,MAAMJ,EAAE,uBAAuB,CAAC;AAAA,IAAA,EAClD;AAAA,IACN,CAAChB,CAAS;AAAA,EAAA;AAGd,EAAAhB,EAAU,MAAM;AACZ,QAAI,MAAM,QAAQ6B,CAAO,GAAG;AACxB,YAAMQ,IACFR,EAAQ,SAAS,IAAKA,EAAQ,CAAC,EAAE,OAAO,SAAS,QAAS,IACxDS,IAAKT,EAAQ,SAAS,IAAIA,EAAQ,CAAC,EAAE,KAAK;AAChD,MAAAd,KAAA,QAAAA,EAAS,EAAE,OAAOsB,GAAW,KAAKC;IAAI;AAAA,EAC1C,GAED,CAACT,CAAO,CAAC;AAEZ,QAAMU,IAAoC,CACtCC,GACAC,MACC;AACD,IAAK9B,KACDf,KAAA,QAAAA,EAAgC4C,GAASC;AAAA,EAC7C,GAGEC,IAAuB,CAACF,GAAkBG,MAAW;AACvD,IAAKhC,KACDhB,KAAA,QAAAA,EAAmB6C,GAASG;AAAA,EAChC,GAGEC,IAA+BT,EAAQ,MAAM;AAC/C,UAAMU,IAAUrC;AAEhB,WAAIS,IACO;AAAA,MACH;AAAA,QACI,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ,CAAC,EAAE,OAAA6B,QACP,gBAAA3C;AAAA,UAACZ;AAAA,UAAA;AAAA,YACG,SACI8B,IACMA;AAAA,cACIyB,EAAM,cAAc;AAAA,YAAA,IAExBA,EAAM,qBAAA;AAAA,YAEhB,eAAeA,EAAM,sBAAA;AAAA,YACrB,UAAUA,EAAM,gCAAA;AAAA,YAChB,+BAA+B,CAAC5C,MAAM;AAClC,cAAAqC;AAAA,gBACIrC,EAAE,OAAO;AAAA,gBACT4C,EAAM,cAAc;AAAA,cAAA;AAAA,YACxB;AAAA,UACJ;AAAA,QAAA;AAAA,QAGR,MAAM,CAAC,EAAE,KAAAH,EAAA,MACL,gBAAAxC;AAAA,UAACZ;AAAA,UAAA;AAAA,YACG,SACI6B,IACMA,EAAgBuB,EAAI,QAAQ,IAC5BA,EAAI,cAAA;AAAA,YAEd,UAAU,CAACA,EAAI,aAAA;AAAA,YACf,eAAeA,EAAI,kBAAA;AAAA,YACnB,UAAUA,EAAI,yBAAA;AAAA,YACd,kBAAkB,CAACzC,MACfwC;AAAA,cACIxC,EAAE,OAAO;AAAA,cACTyC,EAAI;AAAA,YAAA;AAAA,UACR;AAAA,QAAA;AAAA,MAER;AAAA,MAGR,GAAGE;AAAA,IAAA,IAGJA;AAAA,EAAA,GAER,CAACrC,GAAaS,GAAYN,GAASS,CAAe,CAAC,GAEhD0B,IAAQC,GAAc;AAAA,IACxB,MAAAtC;AAAA;AAAA,IAEA,SAASmC;AAAA,IACT,iBAAiBI,GAAA;AAAA,IACjB,qBAAqBC,GAAA;AAAA,IACrB,uBAAuBC,GAAA;AAAA,IACvB,mBAAmBC,GAAA;AAAA,IACnB,kBAAkB;AAAA,IAClB,eAAe3D,EAAM,iBAAiB;AAAA,IACtC,iBAAiB,CAAC4D,MAAW;AACzB,MAAAtB,EAAWsB,CAAsB;AAAA,IAAA;AAAA,IAErC,OAAO;AAAA,MACH,SAAAvB;AAAA,IAAA;AAAA,IAEJ,iBAAAL;AAAA,EAAA,CACH,GAEK6B,IAAe,MAAM;AACvB,IAAAP,EAAM,aAAA;AAAA,EAAa,GAGjBQ,IAAgB,MAAM;AACxB,IAAAR,EAAM,kBAAkB,EAAI;AAAA,EAAA;AAGhC,EAAAS,GAAoBzD,GAAK,OAAO;AAAA,IAC5B,cAAAuD;AAAA,IACA,eAAAC;AAAA,EAAA,EACF;AAEF,QAAME,IAAyB,CAACC,MAAiB;AAC7C,IAAK9C,MACD2C,EAAA,GACAzC,KAAA,QAAAA,EAAqB4C;AAAA,EACzB,GAGEC,IAAqB,CAACC,MAAmB;AAC3C,IAAKhD,KACDG,KAAA,QAAAA,EAAiB,OAAO6C,CAAK;AAAA,EACjC,GAGEC,IAAkB7D,EAAY,EAAE;AAEtC,SAAAC,EAAU,MAAM;AACZ,QAAI,CAACyB,EAAmB;AAExB,UAAMoC,IAAef,EAAM,sBAAsB,KAAK,IAAI,CAAAgB,MAAKA,EAAE,QAAa;AAK9E,IAHgBD,EAAa,WAAWD,EAAgB,QAAQ,UAC5DC,EAAa,MAAM,CAACE,GAAMC,MAAQD,MAASH,EAAgB,QAAQI,CAAG,CAAC,MAGvEJ,EAAgB,UAAUC,GAC1BpC,EAAkBoC,CAAY;AAAA,EAClC,GACD,CAACf,EAAM,SAAA,EAAW,cAAcrB,GAAmBqB,CAAK,CAAC,GAGxD,gBAAAmB,EAACC,IAAA,EAAQ,SAAS,GAAQvD,KAAWF,EAAK,WAAW,IAAI,MAAK,SAC1D,UAAA;AAAA,IAAA,gBAAAwD,EAAC3E,GAAA,EAAO,GAAGO,GACP,UAAA;AAAA,MAAA,gBAAAM,EAAChB,IAAA,EACI,UAAA2D,EAAM,gBAAA,EAAkB,IAAI,CAACqB,MAC1B,gBAAAhE,EAACnB,GAAA,EACI,UAAAmF,EAAY,QAAQ,IAAI,CAACC,MAElB,gBAAAjE;AAAA,QAAClB;AAAA,QAAA;AAAA,UAEG,SAASmF,EAAO;AAAA,UAEf,UAAAA,EAAO,gBAAgB,OACpB,gBAAAH;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,WAAWI;AAAA,gBACPD,EAAO,OAAO,WAAA,KACV;AAAA,gBACJzD,KACI;AAAA,cAAA;AAAA,cAER,SAASyD,EAAO,OAAO,wBAAA;AAAA,cAEtB,UAAA;AAAA,gBAAAE;AAAA,kBACGF,EAAO,OAAO,UACT;AAAA,kBACLA,EAAO,WAAA;AAAA,gBAAW;AAAA,gBAErBA,EAAO,OAAO,WAAA,KACX,gBAAAjE;AAAA,kBAACd;AAAA,kBAAA;AAAA,oBACG,MAAM+E,EAAO,OAAO,YAAA;AAAA,kBAAY;AAAA,gBAAA;AAAA,cACpC;AAAA,YAAA;AAAA,UAAA;AAAA,QAER;AAAA,QAvBCA,EAAO;AAAA,MAAA,CA2BvB,KA/BID,EAAY,EAgCrB,CACH,EAAA,CACL;AAAA,MACCxD,KAAWF,EAAK,WAAW,IACxB,gBAAAN;AAAA,QAACoE;AAAA,QAAA;AAAA,UACG,SAAU3B,EAA0B;AAAA,UACpC,MAAMzB,EAAW;AAAA,UACjB,iBAAiBZ;AAAA,UACjB,aAAaW;AAAA,QAAA;AAAA,MAAA,IAGjB,gBAAAf,EAACf,IAAA,EACI,UAAAwB,sBACI5B,GAAA,EACG,UAAA,gBAAAmB;AAAA,QAACjB;AAAA,QAAA;AAAA,UACG,WAAU;AAAA,UACV,SAAS0D,EAAa;AAAA,UAEtB,4BAAC,OAAA,EAAI,WAAU,oCACV,UAAAlC,KAGG,gBAAAuD,EAAAO,IAAA,EACI,UAAA;AAAA,YAAA,gBAAArE,EAACsE,IAAA,EAAa;AAAA,YACd,gBAAAtE,EAAC,QAAA,EAAK,WAAU,iBAAgB,UAAA,iBAAA,CAEhC;AAAA,UAAA,EAAA,CACJ,EAAA,CAER;AAAA,QAAA;AAAA,MAAA,EACJ,CACJ,IAEA2C,EACK,YAAA,EACA,KAAK,MAAM,GAAGpB,CAAQ,EACtB,IAAI,CAACiB,MAEE,gBAAAsB,EAACO,IAAA,EACG,UAAA;AAAA,QAAA,gBAAArE,EAACnB,KACI,UAAA2D,EACI,kBACA,IAAI,CAAC+B,MAEE,gBAAAvE;AAAA,UAACjB;AAAA,UAAA;AAAA,YAEG,OAAO;AAAA,cACH,OAAOwF,EAAK,OAAO,QAAA;AAAA,YAAQ;AAAA,YAG9B,UAAAJ;AAAA,cACGI,EAAK,OACA,UACA;AAAA,cACLA,EAAK,WAAA;AAAA,YAAW;AAAA,UACpB;AAAA,UAVKA,EAAK;AAAA,QAAA,CAarB,EAAA,GAnBA/B,EAAI,EAoBb;AAAA,QACCA,EAAI,cAAA,KACD,gBAAAxC,EAACnB,KACG,UAAA,gBAAAmB,EAACjB,GAAA,EAAG,SAASyD,EAAI,kBAAkB,QAAS,UAAApB,EAAmBoB,CAAG,GAAE,EAAA,CACxE;AAAA,MAAA,EAAA,GAzBOA,EAAI,EA2BnB,CAEP,EAAA,CAEb;AAAA,IAAA,GAER;AAAA,IACA,gBAAAsB,EAAC,OAAA,EAAI,WAAU,0CACX,UAAA;AAAA,MAAA,gBAAA9D;AAAA,QAACwE;AAAA,QAAA;AAAA,UACG,UAAAjD;AAAA,UACA,aAAaC;AAAA,UACb,OAAAC;AAAA,UACA,UAAU4B;AAAA,QAAA;AAAA,MAAA;AAAA,wBAEb,OAAA,EAAI,OAAO,EAAE,UAAU,OACpB,UAAA,gBAAArD;AAAA,QAACyE;AAAA,QAAA;AAAA,UACG,YAAAtD;AAAA,UACA,MAAK;AAAA,UACL,eAAc;AAAA,UACd,cAAc;AAAA,UACd,OAAOY,EAAe;AAAA,YAClB,CAAC2C,MAAWA,EAAO,UAAUnD;AAAA,UAAA;AAAA,UAEjC,SAASQ;AAAA,UACT,UAAU,CAAC2C,MAAWnB,EAAmBmB,KAAA,gBAAAA,EAAQ,KAAK;AAAA,QAAA;AAAA,MAAA,EAC1D,CACJ;AAAA,IAAA,EAAA,CACJ;AAAA,EAAA,GACJ;AAER;"}
|
|
1
|
+
{"version":3,"file":"DataTable.js","sources":["../../../../lib/@ecme/components/shared/DataTable.tsx"],"sourcesContent":["import {\n useMemo,\n useRef,\n useEffect,\n useState,\n useImperativeHandle,\n Fragment\n} from 'react'\nimport classNames from 'classnames'\nimport Table from '@/components/ui/Table'\nimport Pagination from '@/components/ui/Pagination'\nimport Select from '@/components/ui/Select'\nimport Checkbox from '@/components/ui/Checkbox'\nimport TableRowSkeleton from './loaders/TableRowSkeleton'\nimport Loading from './Loading'\nimport FileNotFound from '@/assets/svg/FileNotFound'\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n flexRender,\n ColumnDef,\n ColumnSort,\n Row,\n CellContext,\n} from '@tanstack/react-table'\nimport type { TableProps } from '@/components/ui/Table'\nimport type { SkeletonProps } from '@/components/ui/Skeleton'\nimport type { Ref, ChangeEvent, ReactNode } from 'react'\nimport type { CheckboxProps } from '@/components/ui/Checkbox'\nimport { useTranslation } from 'react-i18next'\n\nexport type OnSortParam = { order: 'asc' | 'desc' | ''; key: string | number }\n\ntype DataTableProps<T> = {\n columns: ColumnDef<T>[]\n customNoDataIcon?: ReactNode\n data?: T[]\n loading?: boolean\n noData?: boolean\n instanceId?: string\n onCheckBoxChange?: (checked: boolean, row: T) => void\n onIndeterminateCheckBoxChange?: (checked: boolean, rows: Row<T>[]) => void\n onPaginationChange?: (page: number) => void\n onSelectChange?: (num: number) => void\n onSort?: (sort: OnSortParam) => void\n pageSizes?: number[]\n manualSorting?: boolean\n selectable?: boolean\n skeletonAvatarColumns?: number[]\n skeletonAvatarProps?: SkeletonProps\n pagingData?: {\n total: number\n pageIndex: number\n pageSize: number\n }\n checkboxChecked?: (row: T) => boolean\n indeterminateCheckboxChecked?: (row: Row<T>[]) => boolean\n ref?: Ref<DataTableResetHandle | HTMLTableElement>\n onSelectionChange?: (selected: T[]) => void\n renderSubComponent?: (row: Row<T>) => React.ReactNode\n getRowCanExpand?: (row: Row<T>) => boolean\n} & TableProps\n\ntype CheckBoxChangeEvent = ChangeEvent<HTMLInputElement>\n\ninterface IndeterminateCheckboxProps extends Omit<CheckboxProps, 'onChange'> {\n onChange: (event: CheckBoxChangeEvent) => void\n indeterminate: boolean\n onCheckBoxChange?: (event: CheckBoxChangeEvent) => void\n onIndeterminateCheckBoxChange?: (event: CheckBoxChangeEvent) => void\n}\n\nconst { Tr, Th, Td, THead, TBody, Sorter } = Table\n\nconst IndeterminateCheckbox = (props: IndeterminateCheckboxProps) => {\n const {\n indeterminate,\n onChange,\n onCheckBoxChange,\n onIndeterminateCheckBoxChange,\n ...rest\n } = props\n\n const ref = useRef<HTMLInputElement>(null)\n\n useEffect(() => {\n if (typeof indeterminate === 'boolean' && ref.current) {\n ref.current.indeterminate = !rest.checked && indeterminate\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ref, indeterminate])\n\n const handleChange = (e: CheckBoxChangeEvent) => {\n onChange(e)\n onCheckBoxChange?.(e)\n onIndeterminateCheckBoxChange?.(e)\n }\n\n return (\n <Checkbox\n ref={ref}\n className=\"mb-0\"\n onChange={(_, e) => handleChange(e)}\n {...rest}\n />\n )\n}\n\nexport type DataTableResetHandle = {\n resetSorting: () => void\n resetSelected: () => void\n}\n\nfunction DataTable<T>(props: DataTableProps<T>) {\n const {\n skeletonAvatarColumns,\n columns: columnsProp = [],\n data = [],\n customNoDataIcon,\n loading,\n noData,\n onCheckBoxChange,\n onIndeterminateCheckBoxChange,\n onPaginationChange,\n onSelectChange,\n onSort,\n pageSizes = [10, 25, 50, 100],\n selectable = false,\n skeletonAvatarProps,\n pagingData = {\n total: 0,\n pageIndex: 1,\n pageSize: 10,\n },\n checkboxChecked,\n indeterminateCheckboxChecked,\n instanceId = 'data-table',\n ref,\n renderSubComponent = () => null,\n getRowCanExpand = () => false,\n onSelectionChange,\n ...rest\n } = props\n\n const { pageSize, pageIndex, total } = pagingData\n\n const [sorting, setSorting] = useState<ColumnSort[] | null>(null)\n\n const {t} = useTranslation()\n\n const pageSizeOption = useMemo(\n () =>\n pageSizes.map((number) => ({\n value: number,\n label: `${number} / ${t('common.table.pageAbbr')}`,\n })),\n [pageSizes],\n )\n\n useEffect(() => {\n if (Array.isArray(sorting)) {\n const sortOrder =\n sorting.length > 0 ? (sorting[0].desc ? 'desc' : 'asc') : ''\n const id = sorting.length > 0 ? sorting[0].id : ''\n onSort?.({ order: sortOrder, key: id })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sorting])\n\n const handleIndeterminateCheckBoxChange = (\n checked: boolean,\n rows: Row<T>[],\n ) => {\n if (!loading) {\n onIndeterminateCheckBoxChange?.(checked, rows)\n }\n }\n\n const handleCheckBoxChange = (checked: boolean, row: T) => {\n if (!loading) {\n onCheckBoxChange?.(checked, row)\n }\n }\n\n const finalColumns: ColumnDef<T>[] = useMemo(() => {\n const columns = columnsProp\n\n if (selectable) {\n return [\n {\n id: 'select',\n maxSize: 50,\n header: ({ table }) => (\n <IndeterminateCheckbox\n checked={\n indeterminateCheckboxChecked\n ? indeterminateCheckboxChecked(\n table.getRowModel().rows,\n )\n : table.getIsAllRowsSelected()\n }\n indeterminate={table.getIsSomeRowsSelected()}\n onChange={table.getToggleAllRowsSelectedHandler()}\n onIndeterminateCheckBoxChange={(e) => {\n handleIndeterminateCheckBoxChange(\n e.target.checked,\n table.getRowModel().rows,\n )\n }}\n />\n ),\n cell: ({ row }) => (\n <IndeterminateCheckbox\n checked={\n checkboxChecked\n ? checkboxChecked(row.original)\n : row.getIsSelected()\n }\n disabled={!row.getCanSelect()}\n indeterminate={row.getIsSomeSelected()}\n onChange={row.getToggleSelectedHandler()}\n onCheckBoxChange={(e) =>\n handleCheckBoxChange(\n e.target.checked,\n row.original,\n )\n }\n />\n ),\n },\n ...columns,\n ]\n }\n return columns\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [columnsProp, selectable, loading, checkboxChecked])\n\n const table = useReactTable({\n data,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n columns: finalColumns,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getSortedRowModel: getSortedRowModel(),\n manualPagination: true,\n manualSorting: props.manualSorting ?? false,\n onSortingChange: (sorter) => {\n setSorting(sorter as ColumnSort[])\n },\n state: {\n sorting: sorting as ColumnSort[],\n },\n getRowCanExpand\n })\n\n const resetSorting = () => {\n table.resetSorting()\n }\n\n const resetSelected = () => {\n table.resetRowSelection(true)\n }\n\n useImperativeHandle(ref, () => ({\n resetSorting,\n resetSelected,\n }))\n\n const handlePaginationChange = (page: number) => {\n if (!loading) {\n resetSelected()\n onPaginationChange?.(page)\n }\n }\n\n const handleSelectChange = (value?: number) => {\n if (!loading) {\n onSelectChange?.(Number(value))\n }\n }\n\n const prevSelectedRef = useRef<T[]>([])\n\n useEffect(() => {\n if (!onSelectionChange) return;\n\n const selectedRows = table.getSelectedRowModel().rows.map(r => r.original as T);\n\n const isEqual = selectedRows.length === prevSelectedRef.current.length &&\n selectedRows.every((item, idx) => item === prevSelectedRef.current[idx]);\n\n if (!isEqual) {\n prevSelectedRef.current = selectedRows;\n onSelectionChange(selectedRows);\n }\n }, [table.getState().rowSelection, onSelectionChange, table]);\n\n return (\n <Loading loading={Boolean(loading && data.length !== 0)} type=\"cover\">\n <Table {...rest}>\n <THead>\n {table.getHeaderGroups().map((headerGroup) => (\n <Tr key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n return (\n <Th\n key={header.id}\n colSpan={header.colSpan}\n >\n {header.isPlaceholder ? null : (\n <div\n className={classNames(\n 'flex items-center justify-between gap-1',\n header.column.getCanSort() && 'cursor-pointer select-none',\n loading && 'pointer-events-none',\n )}\n onClick={header.column.getToggleSortingHandler()}\n >\n <span className=\"truncate\">\n {flexRender(\n header.column.columnDef.header,\n header.getContext(),\n )}\n </span>\n {header.column.getCanSort() && (\n <Sorter sort={header.column.getIsSorted()} />\n )}\n </div>\n )}\n </Th>\n )\n })}\n </Tr>\n ))}\n </THead>\n {loading && data.length === 0 ? (\n <TableRowSkeleton\n columns={(finalColumns as Array<T>).length}\n rows={pagingData.pageSize}\n avatarInColumns={skeletonAvatarColumns}\n avatarProps={skeletonAvatarProps}\n />\n ) : (\n <TBody>\n {noData ? (\n <Tr>\n <Td\n className=\"hover:bg-transparent\"\n colSpan={finalColumns.length}\n >\n <div className=\"flex flex-col items-center gap-4\">\n {customNoDataIcon ? (\n customNoDataIcon\n ) : (\n <>\n <FileNotFound />\n <span className=\"font-semibold\">\n No data found!\n </span>\n </>\n )}\n </div>\n </Td>\n </Tr>\n ) : (\n table\n .getRowModel()\n .rows.slice(0, pageSize)\n .map((row) => {\n return (\n <Fragment key={row.id}>\n <Tr key={row.id}>\n {row\n .getVisibleCells()\n .map((cell) => {\n return (\n <Td\n key={cell.id}\n style={{\n width: cell.column.getSize(),\n }}\n >\n {flexRender(\n cell.column\n .columnDef\n .cell,\n cell.getContext(),\n )}\n </Td>\n )\n })}\n </Tr>\n {row.getIsExpanded() && (\n <Tr>\n <Td colSpan={row.getVisibleCells().length}>{renderSubComponent(row)}</Td>\n </Tr>\n )}\n </Fragment>\n )\n })\n )}\n </TBody>\n )}\n </Table>\n <div className=\"flex items-center justify-between mt-4\">\n <Pagination\n pageSize={pageSize}\n currentPage={pageIndex}\n total={total}\n onChange={handlePaginationChange}\n />\n <div style={{ minWidth: 130 }}>\n <Select\n instanceId={instanceId}\n size=\"sm\"\n menuPlacement=\"top\"\n isSearchable={false}\n value={pageSizeOption.filter(\n (option) => option.value === pageSize,\n )}\n options={pageSizeOption}\n onChange={(option) => handleSelectChange(option?.value)}\n />\n </div>\n </div>\n </Loading>\n )\n}\n\nexport type { ColumnDef, Row, CellContext }\nexport default DataTable\n"],"names":["Tr","Th","Td","THead","TBody","Sorter","Table","IndeterminateCheckbox","props","indeterminate","onChange","onCheckBoxChange","onIndeterminateCheckBoxChange","rest","ref","useRef","useEffect","handleChange","e","jsx","Checkbox","_","DataTable","skeletonAvatarColumns","columnsProp","data","customNoDataIcon","loading","noData","onPaginationChange","onSelectChange","onSort","pageSizes","selectable","skeletonAvatarProps","pagingData","checkboxChecked","indeterminateCheckboxChecked","instanceId","renderSubComponent","getRowCanExpand","onSelectionChange","pageSize","pageIndex","total","sorting","setSorting","useState","t","useTranslation","pageSizeOption","useMemo","number","sortOrder","id","handleIndeterminateCheckBoxChange","checked","rows","handleCheckBoxChange","row","finalColumns","columns","table","useReactTable","getCoreRowModel","getFilteredRowModel","getPaginationRowModel","getSortedRowModel","sorter","resetSorting","resetSelected","useImperativeHandle","handlePaginationChange","page","handleSelectChange","value","prevSelectedRef","selectedRows","r","item","idx","jsxs","Loading","headerGroup","header","classNames","flexRender","TableRowSkeleton","Fragment","FileNotFound","cell","Pagination","Select","option"],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
const e = {
|
|
2
|
-
apiKey:
|
|
3
|
-
authDomain:
|
|
4
|
-
projectId:
|
|
5
|
-
storageBucket:
|
|
6
|
-
messagingSenderId:
|
|
7
|
-
appId:
|
|
2
|
+
apiKey: "",
|
|
3
|
+
authDomain: "",
|
|
4
|
+
projectId: "",
|
|
5
|
+
storageBucket: "",
|
|
6
|
+
messagingSenderId: "",
|
|
7
|
+
appId: "",
|
|
8
|
+
removed: !0
|
|
9
|
+
// Indica que o Firebase foi removido intencionalmente
|
|
8
10
|
};
|
|
9
11
|
export {
|
|
10
12
|
e as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.config.js","sources":["../../../lib/@ecme/configs/firebase.config.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"firebase.config.js","sources":["../../../lib/@ecme/configs/firebase.config.ts"],"sourcesContent":["/**\n * Configuração vazia do Firebase\n * O Firebase foi removido da aplicação, mas mantemos este arquivo para compatibilidade\n * com código existente que possa fazer referência a ele.\n */\nconst FirebaseConfig = {\n apiKey: '',\n authDomain: '',\n projectId: '',\n storageBucket: '',\n messagingSenderId: '',\n appId: '',\n removed: true // Indica que o Firebase foi removido intencionalmente\n}\n\nexport default FirebaseConfig\n"],"names":["FirebaseConfig"],"mappings":"AAKA,MAAMA,IAAiB;AAAA,EACnB,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,SAAS;AAAA;AACb;"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { signInWithFirebaseGoogle as i } from "./firebase/FirebaseGoogleAuth.js";
|
|
2
|
-
import { signInWithFirebaseGithub as n } from "./firebase/FirebaseGithubAuth.js";
|
|
3
1
|
async function o() {
|
|
4
|
-
return
|
|
2
|
+
return console.warn("Autenticação com Google OAuth não está disponível - Firebase foi removido."), Promise.reject(new Error("Autenticação com Google OAuth não está disponível - Firebase foi removido."));
|
|
5
3
|
}
|
|
6
|
-
async function
|
|
7
|
-
return
|
|
4
|
+
async function e() {
|
|
5
|
+
return console.warn("Autenticação com GitHub OAuth não está disponível - Firebase foi removido."), Promise.reject(new Error("Autenticação com GitHub OAuth não está disponível - Firebase foi removido."));
|
|
8
6
|
}
|
|
9
7
|
export {
|
|
10
|
-
|
|
8
|
+
e as apiGithubOauthSignIn,
|
|
11
9
|
o as apiGoogleOauthSignIn
|
|
12
10
|
};
|
|
13
11
|
//# sourceMappingURL=OAuthServices.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OAuthServices.js","sources":["../../../lib/@ecme/services/OAuthServices.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"OAuthServices.js","sources":["../../../lib/@ecme/services/OAuthServices.ts"],"sourcesContent":["/**\n * Serviço de autenticação OAuth sem dependência do Firebase\n * Este serviço foi modificado para não depender mais do Firebase\n */\n\nexport async function apiGoogleOauthSignIn() {\n console.warn('Autenticação com Google OAuth não está disponível - Firebase foi removido.')\n return Promise.reject(new Error('Autenticação com Google OAuth não está disponível - Firebase foi removido.'))\n}\n\nexport async function apiGithubOauthSignIn() {\n console.warn('Autenticação com GitHub OAuth não está disponível - Firebase foi removido.')\n return Promise.reject(new Error('Autenticação com GitHub OAuth não está disponível - Firebase foi removido.'))\n}\n"],"names":["apiGoogleOauthSignIn","apiGithubOauthSignIn"],"mappings":"AAKA,eAAsBA,IAAuB;AACzC,iBAAQ,KAAK,4EAA4E,GAClF,QAAQ,OAAO,IAAI,MAAM,4EAA4E,CAAC;AACjH;AAEA,eAAsBC,IAAuB;AACzC,iBAAQ,KAAK,4EAA4E,GAClF,QAAQ,OAAO,IAAI,MAAM,4EAA4E,CAAC;AACjH;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const r = i(e);
|
|
1
|
+
const e = null;
|
|
2
|
+
console.info("Firebase foi removido da aplicação. Funcionalidades que dependem do Firebase não estarão disponíveis.");
|
|
4
3
|
export {
|
|
5
|
-
|
|
4
|
+
e as default
|
|
6
5
|
};
|
|
7
6
|
//# sourceMappingURL=FirebaseApp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirebaseApp.js","sources":["../../../../lib/@ecme/services/firebase/FirebaseApp.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"FirebaseApp.js","sources":["../../../../lib/@ecme/services/firebase/FirebaseApp.ts"],"sourcesContent":["/**\n * FirebaseApp.ts\n * \n * Este arquivo foi modificado para não inicializar o Firebase.\n * O Firebase foi removido da aplicação conforme solicitado.\n */\nimport type { FirebaseApp as FirebaseAppType } from 'firebase/app'\nimport firebaseConfig from '@/configs/firebase.config'\n\n// Firebase foi removido intencionalmente\nconst FirebaseApp: FirebaseAppType | null = null\n\n// Aviso sobre a remoção do Firebase\nconsole.info('Firebase foi removido da aplicação. Funcionalidades que dependem do Firebase não estarão disponíveis.')\n\n\nexport default FirebaseApp\n"],"names":["FirebaseApp"],"mappings":"AAUA,MAAMA,IAAsC;AAG5C,QAAQ,KAAK,uGAAuG;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const p = t(e);
|
|
1
|
+
const e = null;
|
|
2
|
+
console.info("Firebase Auth foi removido da aplicação. Funcionalidades de autenticação que dependem do Firebase não estarão disponíveis.");
|
|
4
3
|
export {
|
|
5
|
-
|
|
4
|
+
e as default
|
|
6
5
|
};
|
|
7
6
|
//# sourceMappingURL=FirebaseAuth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirebaseAuth.js","sources":["../../../../lib/@ecme/services/firebase/FirebaseAuth.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"FirebaseAuth.js","sources":["../../../../lib/@ecme/services/firebase/FirebaseAuth.ts"],"sourcesContent":["/**\n * FirebaseAuth.ts\n * \n * Este arquivo foi modificado para não inicializar o Firebase Auth.\n * O Firebase foi removido da aplicação conforme solicitado.\n */\nimport type { Auth } from 'firebase/auth'\n\n// Firebase Auth foi removido intencionalmente\nconst FirebaseAuth: Auth | null = null\n\n// Aviso sobre a remoção do Firebase\nconsole.info('Firebase Auth foi removido da aplicação. Funcionalidades de autenticação que dependem do Firebase não estarão disponíveis.')\n\nexport default FirebaseAuth\n"],"names":["FirebaseAuth"],"mappings":"AASA,MAAMA,IAA4B;AAGlC,QAAQ,KAAK,4HAA4H;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const i = e(r);
|
|
1
|
+
const e = null;
|
|
2
|
+
console.info("Firebase Firestore foi removido da aplicação. Funcionalidades que dependem do Firestore não estarão disponíveis.");
|
|
4
3
|
export {
|
|
5
|
-
|
|
4
|
+
e as default
|
|
6
5
|
};
|
|
7
6
|
//# sourceMappingURL=FirebaseDB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirebaseDB.js","sources":["../../../../lib/@ecme/services/firebase/FirebaseDB.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"FirebaseDB.js","sources":["../../../../lib/@ecme/services/firebase/FirebaseDB.ts"],"sourcesContent":["/**\n * FirebaseDB.ts\n * \n * Este arquivo foi modificado para não utilizar o Firebase Firestore.\n * O Firebase foi removido da aplicação conforme solicitado.\n */\nimport type { Firestore } from 'firebase/firestore'\n\n// Firebase Firestore foi removido intencionalmente\nconst FirebaseDB: Firestore | null = null\n\n// Aviso sobre a remoção do Firebase\nconsole.info('Firebase Firestore foi removido da aplicação. Funcionalidades que dependem do Firestore não estarão disponíveis.')\n\nexport default FirebaseDB\n"],"names":["FirebaseDB"],"mappings":"AASA,MAAMA,IAA+B;AAGrC,QAAQ,KAAK,kHAAkH;"}
|
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const o = new t(), h = async () => {
|
|
4
|
-
try {
|
|
5
|
-
const r = await e(i, o);
|
|
6
|
-
return {
|
|
7
|
-
token: await r.user.getIdToken(),
|
|
8
|
-
user: r.user
|
|
9
|
-
};
|
|
10
|
-
} catch (r) {
|
|
11
|
-
throw new Error(`GitHub sign-in failed: ${r}`);
|
|
12
|
-
}
|
|
1
|
+
const o = async () => {
|
|
2
|
+
throw console.warn("Autenticação com GitHub OAuth não está disponível - Firebase foi removido."), new Error("Autenticação com GitHub OAuth não está disponível - Firebase foi removido.");
|
|
13
3
|
};
|
|
14
4
|
export {
|
|
15
|
-
|
|
5
|
+
o as signInWithFirebaseGithub
|
|
16
6
|
};
|
|
17
7
|
//# sourceMappingURL=FirebaseGithubAuth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirebaseGithubAuth.js","sources":["../../../../lib/@ecme/services/firebase/FirebaseGithubAuth.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"FirebaseGithubAuth.js","sources":["../../../../lib/@ecme/services/firebase/FirebaseGithubAuth.ts"],"sourcesContent":["/**\n * FirebaseGithubAuth.ts\n * \n * Este arquivo foi modificado para não utilizar o Firebase.\n * O Firebase foi removido da aplicação conforme solicitado.\n */\nimport type { User } from 'firebase/auth'\n\nexport const signInWithFirebaseGithub = async () => {\n // Firebase foi removido da aplicação\n console.warn('Autenticação com GitHub OAuth não está disponível - Firebase foi removido.')\n throw new Error('Autenticação com GitHub OAuth não está disponível - Firebase foi removido.')\n}\n"],"names":["signInWithFirebaseGithub"],"mappings":"AAQO,MAAMA,IAA2B,YAAY;AAEhD,gBAAQ,KAAK,4EAA4E,GACnF,IAAI,MAAM,4EAA4E;AAChG;"}
|
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const n = new r(), g = async () => {
|
|
4
|
-
try {
|
|
5
|
-
const o = await e(t, n);
|
|
6
|
-
return {
|
|
7
|
-
token: await o.user.getIdToken(),
|
|
8
|
-
user: o.user
|
|
9
|
-
};
|
|
10
|
-
} catch (o) {
|
|
11
|
-
throw new Error(`Google sign-in failed: ${o}`);
|
|
12
|
-
}
|
|
1
|
+
const o = async () => {
|
|
2
|
+
throw console.warn("Autenticação com Google OAuth não está disponível - Firebase foi removido."), new Error("Autenticação com Google OAuth não está disponível - Firebase foi removido.");
|
|
13
3
|
};
|
|
14
4
|
export {
|
|
15
|
-
|
|
5
|
+
o as signInWithFirebaseGoogle
|
|
16
6
|
};
|
|
17
7
|
//# sourceMappingURL=FirebaseGoogleAuth.js.map
|