@famgia/omnify-react-sso 2.2.5 → 2.2.7
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/ant/index.cjs +644 -495
- package/dist/ant/index.cjs.map +1 -1
- package/dist/ant/index.d.cts +43 -1
- package/dist/ant/index.d.ts +43 -1
- package/dist/ant/index.js +502 -354
- package/dist/ant/index.js.map +1 -1
- package/dist/index.cjs +680 -505
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +40 -1
- package/dist/index.d.ts +40 -1
- package/dist/index.js +526 -356
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -38,6 +38,7 @@ __export(src_exports, {
|
|
|
38
38
|
I18nProvider: () => I18nProvider,
|
|
39
39
|
LocaleSwitcher: () => LocaleSwitcher,
|
|
40
40
|
OrgBranchSelectorModal: () => OrgBranchSelectorModal,
|
|
41
|
+
OrgGate: () => OrgGate,
|
|
41
42
|
OrganizationSwitcher: () => OrganizationSwitcher,
|
|
42
43
|
PROTABLE_DEFAULT_TEXTS: () => DEFAULT_TEXTS,
|
|
43
44
|
PageContainer: () => PageContainer,
|
|
@@ -60,6 +61,7 @@ __export(src_exports, {
|
|
|
60
61
|
branchCacheSchemas: () => branchCacheSchemas,
|
|
61
62
|
branchCacheUpdateSchema: () => branchCacheUpdateSchema,
|
|
62
63
|
changeLanguage: () => changeLanguage,
|
|
64
|
+
clearOrgIdForApi: () => clearOrgIdForApi,
|
|
63
65
|
createAuthService: () => createAuthService,
|
|
64
66
|
createBranchHeaderSetter: () => createBranchHeaderSetter,
|
|
65
67
|
createBranchService: () => createBranchService,
|
|
@@ -71,7 +73,7 @@ __export(src_exports, {
|
|
|
71
73
|
createUserRoleService: () => createUserRoleService,
|
|
72
74
|
createUserService: () => createUserService,
|
|
73
75
|
defaultLocale: () => defaultLocale2,
|
|
74
|
-
defaultTranslations: () =>
|
|
76
|
+
defaultTranslations: () => defaultTranslations2,
|
|
75
77
|
fallbackLocale: () => fallbackLocale,
|
|
76
78
|
getBranchCacheFieldLabel: () => getBranchCacheFieldLabel,
|
|
77
79
|
getBranchCacheFieldPlaceholder: () => getBranchCacheFieldPlaceholder,
|
|
@@ -80,6 +82,7 @@ __export(src_exports, {
|
|
|
80
82
|
getEffectivePermissions: () => getEffectivePermissions,
|
|
81
83
|
getMessage: () => getMessage,
|
|
82
84
|
getMessages: () => getMessages,
|
|
85
|
+
getOrgIdForApi: () => getOrgIdForApi,
|
|
83
86
|
getOrganizationCacheFieldLabel: () => getOrganizationCacheFieldLabel,
|
|
84
87
|
getOrganizationCacheFieldPlaceholder: () => getOrganizationCacheFieldPlaceholder,
|
|
85
88
|
getOrganizationCacheLabel: () => getOrganizationCacheLabel,
|
|
@@ -104,6 +107,7 @@ __export(src_exports, {
|
|
|
104
107
|
getUserCacheFieldLabel: () => getUserCacheFieldLabel,
|
|
105
108
|
getUserCacheFieldPlaceholder: () => getUserCacheFieldPlaceholder,
|
|
106
109
|
getUserCacheLabel: () => getUserCacheLabel,
|
|
110
|
+
hasOrgIdForApi: () => hasOrgIdForApi,
|
|
107
111
|
localeNames: () => localeNames,
|
|
108
112
|
locales: () => locales,
|
|
109
113
|
organizationCacheCreateSchema: () => organizationCacheCreateSchema,
|
|
@@ -123,6 +127,7 @@ __export(src_exports, {
|
|
|
123
127
|
roleSchemas: () => roleSchemas,
|
|
124
128
|
roleUpdateSchema: () => roleUpdateSchema,
|
|
125
129
|
setBranchHeaders: () => setBranchHeaders,
|
|
130
|
+
setOrgIdForApi: () => setOrgIdForApi,
|
|
126
131
|
ssoNamespace: () => ssoNamespace,
|
|
127
132
|
ssoQueryKeys: () => ssoQueryKeys,
|
|
128
133
|
supportedLocales: () => supportedLocales,
|
|
@@ -1850,13 +1855,178 @@ function OrgBranchSelectorModal({
|
|
|
1850
1855
|
);
|
|
1851
1856
|
}
|
|
1852
1857
|
|
|
1853
|
-
// src/ant/components/
|
|
1854
|
-
var import_react12 = __toESM(require("react"), 1);
|
|
1858
|
+
// src/ant/components/OrgGate/OrgGate.tsx
|
|
1855
1859
|
var import_antd3 = require("antd");
|
|
1860
|
+
var import_react12 = require("react");
|
|
1861
|
+
|
|
1862
|
+
// src/core/utils/orgSync.ts
|
|
1863
|
+
var _currentOrgId = null;
|
|
1864
|
+
var ORG_ID_STORAGE_KEY = "api_current_org_id";
|
|
1865
|
+
var SSO_SELECTED_ORG_KEY = "sso_selected_org";
|
|
1866
|
+
var BRANCH_GATE_SELECTION_KEY = "omnify_branch_gate_selection";
|
|
1867
|
+
function setOrgIdForApi(orgId) {
|
|
1868
|
+
_currentOrgId = orgId;
|
|
1869
|
+
if (typeof window === "undefined") return;
|
|
1870
|
+
if (orgId) {
|
|
1871
|
+
localStorage.setItem(ORG_ID_STORAGE_KEY, orgId);
|
|
1872
|
+
} else {
|
|
1873
|
+
localStorage.removeItem(ORG_ID_STORAGE_KEY);
|
|
1874
|
+
}
|
|
1875
|
+
}
|
|
1876
|
+
function getOrgIdForApi() {
|
|
1877
|
+
if (_currentOrgId) {
|
|
1878
|
+
return _currentOrgId;
|
|
1879
|
+
}
|
|
1880
|
+
if (typeof window === "undefined") {
|
|
1881
|
+
return null;
|
|
1882
|
+
}
|
|
1883
|
+
const stored = localStorage.getItem(ORG_ID_STORAGE_KEY);
|
|
1884
|
+
if (stored) {
|
|
1885
|
+
_currentOrgId = stored;
|
|
1886
|
+
return stored;
|
|
1887
|
+
}
|
|
1888
|
+
try {
|
|
1889
|
+
const ssoOrg = localStorage.getItem(SSO_SELECTED_ORG_KEY);
|
|
1890
|
+
if (ssoOrg) {
|
|
1891
|
+
const org = JSON.parse(ssoOrg);
|
|
1892
|
+
if (org?.slug) {
|
|
1893
|
+
return org.slug;
|
|
1894
|
+
}
|
|
1895
|
+
}
|
|
1896
|
+
} catch {
|
|
1897
|
+
}
|
|
1898
|
+
try {
|
|
1899
|
+
const branchGate = localStorage.getItem(BRANCH_GATE_SELECTION_KEY);
|
|
1900
|
+
if (branchGate) {
|
|
1901
|
+
const selection = JSON.parse(branchGate);
|
|
1902
|
+
if (selection?.orgId) {
|
|
1903
|
+
return selection.orgId;
|
|
1904
|
+
}
|
|
1905
|
+
}
|
|
1906
|
+
} catch {
|
|
1907
|
+
}
|
|
1908
|
+
return null;
|
|
1909
|
+
}
|
|
1910
|
+
function clearOrgIdForApi() {
|
|
1911
|
+
_currentOrgId = null;
|
|
1912
|
+
if (typeof window !== "undefined") {
|
|
1913
|
+
localStorage.removeItem(ORG_ID_STORAGE_KEY);
|
|
1914
|
+
}
|
|
1915
|
+
}
|
|
1916
|
+
function hasOrgIdForApi() {
|
|
1917
|
+
return getOrgIdForApi() !== null;
|
|
1918
|
+
}
|
|
1919
|
+
|
|
1920
|
+
// src/ant/components/OrgGate/OrgGate.tsx
|
|
1921
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
1922
|
+
var { Text: Text3 } = import_antd3.Typography;
|
|
1923
|
+
var defaultTranslations = {
|
|
1924
|
+
selectOrgTitle: "\u7D44\u7E54\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
1925
|
+
confirmText: "\u9078\u629E",
|
|
1926
|
+
selectPlaceholder: "\u7D44\u7E54\u3092\u9078\u629E",
|
|
1927
|
+
noOrgsMessage: "\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD\u306A\u7D44\u7E54\u304C\u3042\u308A\u307E\u305B\u3093"
|
|
1928
|
+
};
|
|
1929
|
+
function OrgGate({
|
|
1930
|
+
children,
|
|
1931
|
+
translations: customTranslations,
|
|
1932
|
+
loadingComponent,
|
|
1933
|
+
onOrgChange
|
|
1934
|
+
}) {
|
|
1935
|
+
const t = { ...defaultTranslations, ...customTranslations };
|
|
1936
|
+
const { isLoading: ssoLoading, isAuthenticated } = useSso();
|
|
1937
|
+
const { organizations, currentOrg, switchOrg } = useOrganization();
|
|
1938
|
+
const [selectedOrgSlug, setSelectedOrgSlug] = (0, import_react12.useState)(void 0);
|
|
1939
|
+
(0, import_react12.useEffect)(() => {
|
|
1940
|
+
if (!ssoLoading && isAuthenticated && organizations.length === 1 && !currentOrg) {
|
|
1941
|
+
switchOrg(organizations[0].slug);
|
|
1942
|
+
}
|
|
1943
|
+
}, [ssoLoading, isAuthenticated, organizations, currentOrg, switchOrg]);
|
|
1944
|
+
if (currentOrg?.slug) {
|
|
1945
|
+
setOrgIdForApi(currentOrg.slug);
|
|
1946
|
+
if (onOrgChange) {
|
|
1947
|
+
onOrgChange(currentOrg.slug);
|
|
1948
|
+
}
|
|
1949
|
+
}
|
|
1950
|
+
if (ssoLoading) {
|
|
1951
|
+
if (loadingComponent) {
|
|
1952
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children: loadingComponent });
|
|
1953
|
+
}
|
|
1954
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
1955
|
+
"div",
|
|
1956
|
+
{
|
|
1957
|
+
style: {
|
|
1958
|
+
display: "flex",
|
|
1959
|
+
justifyContent: "center",
|
|
1960
|
+
alignItems: "center",
|
|
1961
|
+
minHeight: "100vh"
|
|
1962
|
+
},
|
|
1963
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_antd3.Spin, { size: "large" })
|
|
1964
|
+
}
|
|
1965
|
+
);
|
|
1966
|
+
}
|
|
1967
|
+
if (!isAuthenticated) {
|
|
1968
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children });
|
|
1969
|
+
}
|
|
1970
|
+
if (organizations.length === 0) {
|
|
1971
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
1972
|
+
"div",
|
|
1973
|
+
{
|
|
1974
|
+
style: {
|
|
1975
|
+
display: "flex",
|
|
1976
|
+
justifyContent: "center",
|
|
1977
|
+
alignItems: "center",
|
|
1978
|
+
minHeight: "100vh",
|
|
1979
|
+
flexDirection: "column",
|
|
1980
|
+
gap: 16
|
|
1981
|
+
},
|
|
1982
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Text3, { type: "secondary", children: t.noOrgsMessage })
|
|
1983
|
+
}
|
|
1984
|
+
);
|
|
1985
|
+
}
|
|
1986
|
+
if (currentOrg) {
|
|
1987
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children });
|
|
1988
|
+
}
|
|
1989
|
+
const handleConfirm = () => {
|
|
1990
|
+
if (selectedOrgSlug) {
|
|
1991
|
+
switchOrg(selectedOrgSlug);
|
|
1992
|
+
}
|
|
1993
|
+
};
|
|
1994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
1995
|
+
import_antd3.Modal,
|
|
1996
|
+
{
|
|
1997
|
+
open: true,
|
|
1998
|
+
closable: false,
|
|
1999
|
+
maskClosable: false,
|
|
2000
|
+
title: t.selectOrgTitle,
|
|
2001
|
+
okText: t.confirmText,
|
|
2002
|
+
okButtonProps: { disabled: !selectedOrgSlug },
|
|
2003
|
+
onOk: handleConfirm,
|
|
2004
|
+
cancelButtonProps: { style: { display: "none" } },
|
|
2005
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { style: { marginTop: 16 }, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
2006
|
+
import_antd3.Select,
|
|
2007
|
+
{
|
|
2008
|
+
placeholder: t.selectPlaceholder,
|
|
2009
|
+
style: { width: "100%" },
|
|
2010
|
+
value: selectedOrgSlug,
|
|
2011
|
+
onChange: setSelectedOrgSlug,
|
|
2012
|
+
options: organizations.map((org) => ({
|
|
2013
|
+
value: org.slug,
|
|
2014
|
+
label: org.name
|
|
2015
|
+
})),
|
|
2016
|
+
size: "large"
|
|
2017
|
+
}
|
|
2018
|
+
) })
|
|
2019
|
+
}
|
|
2020
|
+
);
|
|
2021
|
+
}
|
|
2022
|
+
|
|
2023
|
+
// src/ant/components/BranchGate/BranchGate.tsx
|
|
2024
|
+
var import_react13 = __toESM(require("react"), 1);
|
|
2025
|
+
var import_antd4 = require("antd");
|
|
1856
2026
|
var import_icons3 = require("@ant-design/icons");
|
|
1857
2027
|
var import_react_query3 = require("@tanstack/react-query");
|
|
1858
|
-
var
|
|
1859
|
-
var { Text:
|
|
2028
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
2029
|
+
var { Text: Text4, Title: Title2 } = import_antd4.Typography;
|
|
1860
2030
|
var DEFAULT_STORAGE_KEY2 = "omnify_branch_gate_selection";
|
|
1861
2031
|
function BranchGate({
|
|
1862
2032
|
children,
|
|
@@ -1868,15 +2038,15 @@ function BranchGate({
|
|
|
1868
2038
|
}) {
|
|
1869
2039
|
const { config, isAuthenticated } = useSsoContext();
|
|
1870
2040
|
const { organizations, currentOrg, hasMultipleOrgs } = useOrganization();
|
|
1871
|
-
const [storedSelection, setStoredSelection] = (0,
|
|
1872
|
-
const [isInitialized, setIsInitialized] = (0,
|
|
1873
|
-
const [tempOrgId, setTempOrgId] = (0,
|
|
1874
|
-
const [tempBranchId, setTempBranchId] = (0,
|
|
1875
|
-
const branchService =
|
|
2041
|
+
const [storedSelection, setStoredSelection] = (0, import_react13.useState)(null);
|
|
2042
|
+
const [isInitialized, setIsInitialized] = (0, import_react13.useState)(false);
|
|
2043
|
+
const [tempOrgId, setTempOrgId] = (0, import_react13.useState)(null);
|
|
2044
|
+
const [tempBranchId, setTempBranchId] = (0, import_react13.useState)(null);
|
|
2045
|
+
const branchService = import_react13.default.useMemo(
|
|
1876
2046
|
() => createBranchService({ apiUrl: config.apiUrl }),
|
|
1877
2047
|
[config.apiUrl]
|
|
1878
2048
|
);
|
|
1879
|
-
const activeOrgSlug =
|
|
2049
|
+
const activeOrgSlug = import_react13.default.useMemo(() => {
|
|
1880
2050
|
if (tempOrgId) {
|
|
1881
2051
|
return organizations.find((o) => String(o.id) === tempOrgId)?.slug;
|
|
1882
2052
|
}
|
|
@@ -1889,7 +2059,7 @@ function BranchGate({
|
|
|
1889
2059
|
});
|
|
1890
2060
|
const branches = branchesData?.branches ?? [];
|
|
1891
2061
|
const hasMultipleBranches = branches.length > 1;
|
|
1892
|
-
(0,
|
|
2062
|
+
(0, import_react13.useEffect)(() => {
|
|
1893
2063
|
if (typeof window === "undefined") return;
|
|
1894
2064
|
const saved = localStorage.getItem(storageKey);
|
|
1895
2065
|
if (saved) {
|
|
@@ -1903,13 +2073,13 @@ function BranchGate({
|
|
|
1903
2073
|
}
|
|
1904
2074
|
setIsInitialized(true);
|
|
1905
2075
|
}, [storageKey, onSelectionChange]);
|
|
1906
|
-
(0,
|
|
2076
|
+
(0, import_react13.useEffect)(() => {
|
|
1907
2077
|
if (!isAuthenticated || !isInitialized || storedSelection) return;
|
|
1908
2078
|
if (organizations.length === 1 && !tempOrgId) {
|
|
1909
2079
|
setTempOrgId(String(organizations[0].id));
|
|
1910
2080
|
}
|
|
1911
2081
|
}, [isAuthenticated, isInitialized, organizations, storedSelection, tempOrgId]);
|
|
1912
|
-
(0,
|
|
2082
|
+
(0, import_react13.useEffect)(() => {
|
|
1913
2083
|
if (!tempOrgId || branchesLoading || storedSelection) return;
|
|
1914
2084
|
if (branches.length === 1 && !tempBranchId) {
|
|
1915
2085
|
setTempBranchId(String(branches[0].id));
|
|
@@ -1925,14 +2095,14 @@ function BranchGate({
|
|
|
1925
2095
|
}
|
|
1926
2096
|
}
|
|
1927
2097
|
}, [tempOrgId, branches, branchesLoading, branchesData, storedSelection, tempBranchId]);
|
|
1928
|
-
(0,
|
|
2098
|
+
(0, import_react13.useEffect)(() => {
|
|
1929
2099
|
if (storedSelection || !isInitialized) return;
|
|
1930
2100
|
if (!tempOrgId || !tempBranchId || branchesLoading) return;
|
|
1931
2101
|
if (!hasMultipleOrgs && !hasMultipleBranches) {
|
|
1932
2102
|
confirmSelection();
|
|
1933
2103
|
}
|
|
1934
2104
|
}, [tempOrgId, tempBranchId, branchesLoading, hasMultipleOrgs, hasMultipleBranches, storedSelection, isInitialized]);
|
|
1935
|
-
const confirmSelection =
|
|
2105
|
+
const confirmSelection = import_react13.default.useCallback(() => {
|
|
1936
2106
|
if (!tempOrgId || !tempBranchId) return;
|
|
1937
2107
|
const org = organizations.find((o) => String(o.id) === tempOrgId);
|
|
1938
2108
|
const branch = branches.find((b) => String(b.id) === tempBranchId);
|
|
@@ -1950,7 +2120,7 @@ function BranchGate({
|
|
|
1950
2120
|
setTempOrgId(null);
|
|
1951
2121
|
setTempBranchId(null);
|
|
1952
2122
|
}, [tempOrgId, tempBranchId, organizations, branches, storageKey, onSelectionChange]);
|
|
1953
|
-
const clearSelection =
|
|
2123
|
+
const clearSelection = import_react13.default.useCallback(() => {
|
|
1954
2124
|
localStorage.removeItem(storageKey);
|
|
1955
2125
|
setStoredSelection(null);
|
|
1956
2126
|
onSelectionChange?.(null);
|
|
@@ -1959,26 +2129,26 @@ function BranchGate({
|
|
|
1959
2129
|
const isLoading = !isAuthenticated || !isInitialized || !!activeOrgSlug && branchesLoading && !storedSelection;
|
|
1960
2130
|
if (isLoading && !needsSelection) {
|
|
1961
2131
|
if (loadingComponent) {
|
|
1962
|
-
return /* @__PURE__ */ (0,
|
|
2132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, { children: loadingComponent });
|
|
1963
2133
|
}
|
|
1964
|
-
return /* @__PURE__ */ (0,
|
|
2134
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: {
|
|
1965
2135
|
display: "flex",
|
|
1966
2136
|
justifyContent: "center",
|
|
1967
2137
|
alignItems: "center",
|
|
1968
2138
|
minHeight: "100vh",
|
|
1969
2139
|
background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
|
|
1970
|
-
}, children: /* @__PURE__ */ (0,
|
|
2140
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_antd4.Spin, { size: "large" }) });
|
|
1971
2141
|
}
|
|
1972
2142
|
if (needsSelection) {
|
|
1973
2143
|
const canConfirm = tempOrgId && tempBranchId;
|
|
1974
|
-
return /* @__PURE__ */ (0,
|
|
2144
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: {
|
|
1975
2145
|
minHeight: "100vh",
|
|
1976
2146
|
background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
|
|
1977
2147
|
display: "flex",
|
|
1978
2148
|
alignItems: "center",
|
|
1979
2149
|
justifyContent: "center",
|
|
1980
2150
|
padding: 24
|
|
1981
|
-
}, children: /* @__PURE__ */ (0,
|
|
2151
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: {
|
|
1982
2152
|
background: "#fff",
|
|
1983
2153
|
borderRadius: 16,
|
|
1984
2154
|
padding: 32,
|
|
@@ -1986,8 +2156,8 @@ function BranchGate({
|
|
|
1986
2156
|
width: "100%",
|
|
1987
2157
|
boxShadow: "0 20px 60px rgba(0,0,0,0.3)"
|
|
1988
2158
|
}, children: [
|
|
1989
|
-
/* @__PURE__ */ (0,
|
|
1990
|
-
/* @__PURE__ */ (0,
|
|
2159
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { textAlign: "center", marginBottom: 24 }, children: [
|
|
2160
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: {
|
|
1991
2161
|
width: 64,
|
|
1992
2162
|
height: 64,
|
|
1993
2163
|
borderRadius: "50%",
|
|
@@ -1996,18 +2166,18 @@ function BranchGate({
|
|
|
1996
2166
|
alignItems: "center",
|
|
1997
2167
|
justifyContent: "center",
|
|
1998
2168
|
margin: "0 auto 16px"
|
|
1999
|
-
}, children: /* @__PURE__ */ (0,
|
|
2000
|
-
/* @__PURE__ */ (0,
|
|
2001
|
-
/* @__PURE__ */ (0,
|
|
2169
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_icons3.BankOutlined, { style: { fontSize: 28, color: "#fff" } }) }),
|
|
2170
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Title2, { level: 3, style: { margin: 0 }, children: title ?? "Select Organization" }),
|
|
2171
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text4, { type: "secondary", children: description ?? "Please select your organization and branch to continue" })
|
|
2002
2172
|
] }),
|
|
2003
|
-
/* @__PURE__ */ (0,
|
|
2004
|
-
/* @__PURE__ */ (0,
|
|
2005
|
-
/* @__PURE__ */ (0,
|
|
2006
|
-
/* @__PURE__ */ (0,
|
|
2007
|
-
!hasMultipleOrgs && /* @__PURE__ */ (0,
|
|
2173
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { marginBottom: 20 }, children: [
|
|
2174
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text4, { strong: true, style: { display: "block", marginBottom: 8 }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_antd4.Space, { children: [
|
|
2175
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_icons3.BankOutlined, {}),
|
|
2176
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "Organization" }),
|
|
2177
|
+
!hasMultipleOrgs && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_antd4.Badge, { status: "success", text: "Auto-selected" })
|
|
2008
2178
|
] }) }),
|
|
2009
|
-
hasMultipleOrgs ? /* @__PURE__ */ (0,
|
|
2010
|
-
|
|
2179
|
+
hasMultipleOrgs ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2180
|
+
import_antd4.Select,
|
|
2011
2181
|
{
|
|
2012
2182
|
value: tempOrgId,
|
|
2013
2183
|
onChange: (value) => {
|
|
@@ -2018,36 +2188,36 @@ function BranchGate({
|
|
|
2018
2188
|
size: "large",
|
|
2019
2189
|
style: { width: "100%" },
|
|
2020
2190
|
optionLabelProp: "label",
|
|
2021
|
-
children: organizations.map((org) => /* @__PURE__ */ (0,
|
|
2022
|
-
/* @__PURE__ */ (0,
|
|
2023
|
-
org.serviceRole && /* @__PURE__ */ (0,
|
|
2191
|
+
children: organizations.map((org) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_antd4.Select.Option, { value: String(org.id), label: org.name, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_antd4.Space, { style: { width: "100%", justifyContent: "space-between" }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
|
|
2192
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text4, { strong: true, children: org.name }),
|
|
2193
|
+
org.serviceRole && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Text4, { type: "secondary", style: { marginLeft: 8, fontSize: 12 }, children: [
|
|
2024
2194
|
"(",
|
|
2025
2195
|
org.serviceRole,
|
|
2026
2196
|
")"
|
|
2027
2197
|
] })
|
|
2028
2198
|
] }) }) }, org.id))
|
|
2029
2199
|
}
|
|
2030
|
-
) : /* @__PURE__ */ (0,
|
|
2200
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: {
|
|
2031
2201
|
padding: "8px 12px",
|
|
2032
2202
|
background: "#f5f5f5",
|
|
2033
2203
|
borderRadius: 6,
|
|
2034
2204
|
border: "1px solid #d9d9d9"
|
|
2035
|
-
}, children: /* @__PURE__ */ (0,
|
|
2036
|
-
/* @__PURE__ */ (0,
|
|
2037
|
-
/* @__PURE__ */ (0,
|
|
2205
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_antd4.Space, { children: [
|
|
2206
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_icons3.BankOutlined, { style: { color: "#1677ff" } }),
|
|
2207
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text4, { strong: true, children: organizations[0]?.name })
|
|
2038
2208
|
] }) })
|
|
2039
2209
|
] }),
|
|
2040
|
-
tempOrgId && /* @__PURE__ */ (0,
|
|
2041
|
-
/* @__PURE__ */ (0,
|
|
2042
|
-
/* @__PURE__ */ (0,
|
|
2043
|
-
/* @__PURE__ */ (0,
|
|
2044
|
-
!hasMultipleBranches && branches.length === 1 && /* @__PURE__ */ (0,
|
|
2210
|
+
tempOrgId && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { marginBottom: 24 }, children: [
|
|
2211
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text4, { strong: true, style: { display: "block", marginBottom: 8 }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_antd4.Space, { children: [
|
|
2212
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_icons3.ApartmentOutlined, {}),
|
|
2213
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "Branch" }),
|
|
2214
|
+
!hasMultipleBranches && branches.length === 1 && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_antd4.Badge, { status: "success", text: "Auto-selected" })
|
|
2045
2215
|
] }) }),
|
|
2046
|
-
branchesLoading ? /* @__PURE__ */ (0,
|
|
2047
|
-
/* @__PURE__ */ (0,
|
|
2048
|
-
/* @__PURE__ */ (0,
|
|
2049
|
-
] }) : hasMultipleBranches ? /* @__PURE__ */ (0,
|
|
2050
|
-
|
|
2216
|
+
branchesLoading ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { style: { padding: "12px", textAlign: "center" }, children: [
|
|
2217
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_antd4.Spin, { size: "small" }),
|
|
2218
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text4, { type: "secondary", style: { marginLeft: 8 }, children: "Loading..." })
|
|
2219
|
+
] }) : hasMultipleBranches ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2220
|
+
import_antd4.Select,
|
|
2051
2221
|
{
|
|
2052
2222
|
value: tempBranchId,
|
|
2053
2223
|
onChange: (value) => setTempBranchId(String(value)),
|
|
@@ -2055,32 +2225,32 @@ function BranchGate({
|
|
|
2055
2225
|
size: "large",
|
|
2056
2226
|
style: { width: "100%" },
|
|
2057
2227
|
optionLabelProp: "label",
|
|
2058
|
-
children: branches.map((branch) => /* @__PURE__ */ (0,
|
|
2059
|
-
/* @__PURE__ */ (0,
|
|
2060
|
-
/* @__PURE__ */ (0,
|
|
2061
|
-
/* @__PURE__ */ (0,
|
|
2228
|
+
children: branches.map((branch) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_antd4.Select.Option, { value: String(branch.id), label: branch.name, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_antd4.Space, { style: { width: "100%", justifyContent: "space-between" }, children: [
|
|
2229
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
|
|
2230
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text4, { strong: true, children: branch.name }),
|
|
2231
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text4, { type: "secondary", style: { marginLeft: 8, fontSize: 12 }, children: branch.code })
|
|
2062
2232
|
] }),
|
|
2063
|
-
/* @__PURE__ */ (0,
|
|
2064
|
-
branch.is_headquarters && /* @__PURE__ */ (0,
|
|
2065
|
-
branch.is_primary && /* @__PURE__ */ (0,
|
|
2233
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_antd4.Space, { size: 4, children: [
|
|
2234
|
+
branch.is_headquarters && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_antd4.Badge, { color: "blue", text: "HQ" }),
|
|
2235
|
+
branch.is_primary && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_antd4.Badge, { color: "green", text: "Primary" })
|
|
2066
2236
|
] })
|
|
2067
2237
|
] }) }, branch.id))
|
|
2068
2238
|
}
|
|
2069
|
-
) : branches.length === 1 ? /* @__PURE__ */ (0,
|
|
2239
|
+
) : branches.length === 1 ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { style: {
|
|
2070
2240
|
padding: "8px 12px",
|
|
2071
2241
|
background: "#f5f5f5",
|
|
2072
2242
|
borderRadius: 6,
|
|
2073
2243
|
border: "1px solid #d9d9d9"
|
|
2074
|
-
}, children: /* @__PURE__ */ (0,
|
|
2075
|
-
/* @__PURE__ */ (0,
|
|
2076
|
-
/* @__PURE__ */ (0,
|
|
2077
|
-
/* @__PURE__ */ (0,
|
|
2244
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_antd4.Space, { children: [
|
|
2245
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_icons3.ApartmentOutlined, { style: { color: "#1677ff" } }),
|
|
2246
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text4, { strong: true, children: branches[0].name }),
|
|
2247
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Text4, { type: "secondary", children: [
|
|
2078
2248
|
"(",
|
|
2079
2249
|
branches[0].code,
|
|
2080
2250
|
")"
|
|
2081
2251
|
] })
|
|
2082
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
2083
|
-
|
|
2252
|
+
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2253
|
+
import_antd4.Alert,
|
|
2084
2254
|
{
|
|
2085
2255
|
type: "warning",
|
|
2086
2256
|
message: "No branches available",
|
|
@@ -2088,15 +2258,15 @@ function BranchGate({
|
|
|
2088
2258
|
}
|
|
2089
2259
|
)
|
|
2090
2260
|
] }),
|
|
2091
|
-
/* @__PURE__ */ (0,
|
|
2092
|
-
|
|
2261
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2262
|
+
import_antd4.Button,
|
|
2093
2263
|
{
|
|
2094
2264
|
type: "primary",
|
|
2095
2265
|
size: "large",
|
|
2096
2266
|
block: true,
|
|
2097
2267
|
disabled: !canConfirm,
|
|
2098
2268
|
onClick: confirmSelection,
|
|
2099
|
-
icon: /* @__PURE__ */ (0,
|
|
2269
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_icons3.CheckCircleFilled, {}),
|
|
2100
2270
|
style: {
|
|
2101
2271
|
height: 48,
|
|
2102
2272
|
fontSize: 16,
|
|
@@ -2108,11 +2278,11 @@ function BranchGate({
|
|
|
2108
2278
|
)
|
|
2109
2279
|
] }) });
|
|
2110
2280
|
}
|
|
2111
|
-
return /* @__PURE__ */ (0,
|
|
2281
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_jsx_runtime8.Fragment, { children });
|
|
2112
2282
|
}
|
|
2113
2283
|
function useBranchGate(storageKey = DEFAULT_STORAGE_KEY2) {
|
|
2114
|
-
const [selection, setSelection] = (0,
|
|
2115
|
-
(0,
|
|
2284
|
+
const [selection, setSelection] = (0, import_react13.useState)(null);
|
|
2285
|
+
(0, import_react13.useEffect)(() => {
|
|
2116
2286
|
if (typeof window === "undefined") return;
|
|
2117
2287
|
const saved = localStorage.getItem(storageKey);
|
|
2118
2288
|
if (saved) {
|
|
@@ -2137,7 +2307,7 @@ function useBranchGate(storageKey = DEFAULT_STORAGE_KEY2) {
|
|
|
2137
2307
|
window.addEventListener("storage", handleStorage);
|
|
2138
2308
|
return () => window.removeEventListener("storage", handleStorage);
|
|
2139
2309
|
}, [storageKey]);
|
|
2140
|
-
const clearSelection =
|
|
2310
|
+
const clearSelection = import_react13.default.useCallback(() => {
|
|
2141
2311
|
localStorage.removeItem(storageKey);
|
|
2142
2312
|
setSelection(null);
|
|
2143
2313
|
}, [storageKey]);
|
|
@@ -2152,11 +2322,11 @@ function useBranchGate(storageKey = DEFAULT_STORAGE_KEY2) {
|
|
|
2152
2322
|
// src/ant/components/ProTable/ProTable.tsx
|
|
2153
2323
|
var import_icons4 = require("@ant-design/icons");
|
|
2154
2324
|
var import_react_query4 = require("@tanstack/react-query");
|
|
2155
|
-
var
|
|
2156
|
-
var
|
|
2157
|
-
var
|
|
2158
|
-
var { Link } =
|
|
2159
|
-
var { RangePicker } =
|
|
2325
|
+
var import_antd5 = require("antd");
|
|
2326
|
+
var import_react14 = require("react");
|
|
2327
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
2328
|
+
var { Link } = import_antd5.Typography;
|
|
2329
|
+
var { RangePicker } = import_antd5.DatePicker;
|
|
2160
2330
|
var InertiaLink = null;
|
|
2161
2331
|
try {
|
|
2162
2332
|
InertiaLink = require("@inertiajs/react").Link;
|
|
@@ -2195,8 +2365,8 @@ var DEFAULT_STATUS_CONFIG = {
|
|
|
2195
2365
|
function renderSearchField(field, texts) {
|
|
2196
2366
|
switch (field.type) {
|
|
2197
2367
|
case "select":
|
|
2198
|
-
return /* @__PURE__ */ (0,
|
|
2199
|
-
|
|
2368
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2369
|
+
import_antd5.Select,
|
|
2200
2370
|
{
|
|
2201
2371
|
allowClear: true,
|
|
2202
2372
|
placeholder: field.placeholder || texts.selectPlaceholder,
|
|
@@ -2205,15 +2375,15 @@ function renderSearchField(field, texts) {
|
|
|
2205
2375
|
}
|
|
2206
2376
|
);
|
|
2207
2377
|
case "date":
|
|
2208
|
-
return /* @__PURE__ */ (0,
|
|
2209
|
-
|
|
2378
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2379
|
+
import_antd5.DatePicker,
|
|
2210
2380
|
{
|
|
2211
2381
|
placeholder: field.placeholder,
|
|
2212
2382
|
style: { width: "100%" }
|
|
2213
2383
|
}
|
|
2214
2384
|
);
|
|
2215
2385
|
case "dateRange":
|
|
2216
|
-
return /* @__PURE__ */ (0,
|
|
2386
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2217
2387
|
RangePicker,
|
|
2218
2388
|
{
|
|
2219
2389
|
placeholder: [texts.startDate, texts.endDate],
|
|
@@ -2221,16 +2391,16 @@ function renderSearchField(field, texts) {
|
|
|
2221
2391
|
}
|
|
2222
2392
|
);
|
|
2223
2393
|
case "number":
|
|
2224
|
-
return /* @__PURE__ */ (0,
|
|
2225
|
-
|
|
2394
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2395
|
+
import_antd5.InputNumber,
|
|
2226
2396
|
{
|
|
2227
2397
|
placeholder: field.placeholder,
|
|
2228
2398
|
style: { width: "100%" }
|
|
2229
2399
|
}
|
|
2230
2400
|
);
|
|
2231
2401
|
default:
|
|
2232
|
-
return /* @__PURE__ */ (0,
|
|
2233
|
-
|
|
2402
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2403
|
+
import_antd5.Input,
|
|
2234
2404
|
{
|
|
2235
2405
|
allowClear: true,
|
|
2236
2406
|
placeholder: field.placeholder || texts.inputPlaceholder
|
|
@@ -2240,9 +2410,9 @@ function renderSearchField(field, texts) {
|
|
|
2240
2410
|
}
|
|
2241
2411
|
function SmartLink({ href, children }) {
|
|
2242
2412
|
if (InertiaLink) {
|
|
2243
|
-
return /* @__PURE__ */ (0,
|
|
2413
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(InertiaLink, { href, children });
|
|
2244
2414
|
}
|
|
2245
|
-
return /* @__PURE__ */ (0,
|
|
2415
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("a", { href, children });
|
|
2246
2416
|
}
|
|
2247
2417
|
function renderValue(value, valueType, statusConfig) {
|
|
2248
2418
|
if (value === null || value === void 0) {
|
|
@@ -2253,8 +2423,8 @@ function renderValue(value, valueType, statusConfig) {
|
|
|
2253
2423
|
const config = { ...DEFAULT_STATUS_CONFIG, ...statusConfig };
|
|
2254
2424
|
const statusValue = String(value);
|
|
2255
2425
|
const status = config[statusValue] || { color: "#d9d9d9", text: statusValue };
|
|
2256
|
-
return /* @__PURE__ */ (0,
|
|
2257
|
-
/* @__PURE__ */ (0,
|
|
2426
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_antd5.Space, { children: [
|
|
2427
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2258
2428
|
"span",
|
|
2259
2429
|
{
|
|
2260
2430
|
style: {
|
|
@@ -2326,11 +2496,11 @@ function ProTable({
|
|
|
2326
2496
|
// i18n
|
|
2327
2497
|
texts: customTexts
|
|
2328
2498
|
}) {
|
|
2329
|
-
const { token } =
|
|
2499
|
+
const { token } = import_antd5.theme.useToken();
|
|
2330
2500
|
const texts = { ...DEFAULT_TEXTS, ...customTexts };
|
|
2331
|
-
const [searchForm] =
|
|
2332
|
-
const [expanded, setExpanded] = (0,
|
|
2333
|
-
const [queryParams, setQueryParams] = (0,
|
|
2501
|
+
const [searchForm] = import_antd5.Form.useForm();
|
|
2502
|
+
const [expanded, setExpanded] = (0, import_react14.useState)(false);
|
|
2503
|
+
const [queryParams, setQueryParams] = (0, import_react14.useState)({
|
|
2334
2504
|
page: 1,
|
|
2335
2505
|
per_page: defaultPageSize,
|
|
2336
2506
|
...defaultSearchValues
|
|
@@ -2347,7 +2517,7 @@ function ProTable({
|
|
|
2347
2517
|
const dataSource = externalDataSource || queryResult.data?.data || [];
|
|
2348
2518
|
const loading = externalLoading ?? queryResult.isLoading;
|
|
2349
2519
|
const meta = queryResult.data?.meta;
|
|
2350
|
-
const handleSearch = (0,
|
|
2520
|
+
const handleSearch = (0, import_react14.useCallback)((values) => {
|
|
2351
2521
|
const newParams = {
|
|
2352
2522
|
...queryParams,
|
|
2353
2523
|
...values,
|
|
@@ -2356,7 +2526,7 @@ function ProTable({
|
|
|
2356
2526
|
setQueryParams(newParams);
|
|
2357
2527
|
onSearch?.(values);
|
|
2358
2528
|
}, [queryParams, onSearch]);
|
|
2359
|
-
const handleReset = (0,
|
|
2529
|
+
const handleReset = (0, import_react14.useCallback)(() => {
|
|
2360
2530
|
searchForm.resetFields();
|
|
2361
2531
|
const newParams = {
|
|
2362
2532
|
page: 1,
|
|
@@ -2365,7 +2535,7 @@ function ProTable({
|
|
|
2365
2535
|
setQueryParams(newParams);
|
|
2366
2536
|
onReset?.();
|
|
2367
2537
|
}, [searchForm, defaultPageSize, onReset]);
|
|
2368
|
-
const handleTableChange = (0,
|
|
2538
|
+
const handleTableChange = (0, import_react14.useCallback)(
|
|
2369
2539
|
(pag, _filters, sorter, _extra) => {
|
|
2370
2540
|
const sortInfo = Array.isArray(sorter) ? sorter[0] : sorter;
|
|
2371
2541
|
const newParams = {
|
|
@@ -2385,7 +2555,7 @@ function ProTable({
|
|
|
2385
2555
|
},
|
|
2386
2556
|
[queryParams, defaultPageSize, onChange]
|
|
2387
2557
|
);
|
|
2388
|
-
const tableColumns = (0,
|
|
2558
|
+
const tableColumns = (0, import_react14.useMemo)(() => {
|
|
2389
2559
|
const cols = columns.filter((col) => !col.hidden).map((col) => ({
|
|
2390
2560
|
...col,
|
|
2391
2561
|
key: col.key || (Array.isArray(col.dataIndex) ? col.dataIndex.join(".") : col.dataIndex),
|
|
@@ -2401,13 +2571,13 @@ function ProTable({
|
|
|
2401
2571
|
const actions = rowActions(record).filter(
|
|
2402
2572
|
(a) => !a.hidden?.(record)
|
|
2403
2573
|
);
|
|
2404
|
-
return /* @__PURE__ */ (0,
|
|
2574
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Space, { size: 0, children: actions.map((action, idx) => {
|
|
2405
2575
|
const isLast = idx === actions.length - 1;
|
|
2406
2576
|
let actionElement;
|
|
2407
2577
|
if (action.href) {
|
|
2408
|
-
actionElement = /* @__PURE__ */ (0,
|
|
2578
|
+
actionElement = /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SmartLink, { href: action.href, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Link, { style: action.danger ? { color: token.colorError } : void 0, children: action.label }) });
|
|
2409
2579
|
} else {
|
|
2410
|
-
const linkElement = /* @__PURE__ */ (0,
|
|
2580
|
+
const linkElement = /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2411
2581
|
Link,
|
|
2412
2582
|
{
|
|
2413
2583
|
style: action.danger ? { color: token.colorError } : void 0,
|
|
@@ -2416,8 +2586,8 @@ function ProTable({
|
|
|
2416
2586
|
}
|
|
2417
2587
|
);
|
|
2418
2588
|
if (action.confirm) {
|
|
2419
|
-
actionElement = /* @__PURE__ */ (0,
|
|
2420
|
-
|
|
2589
|
+
actionElement = /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2590
|
+
import_antd5.Popconfirm,
|
|
2421
2591
|
{
|
|
2422
2592
|
title: typeof action.confirm === "string" ? action.confirm : `${action.label}\u3057\u307E\u3059\u304B\uFF1F`,
|
|
2423
2593
|
onConfirm: () => action.onClick?.(record),
|
|
@@ -2431,9 +2601,9 @@ function ProTable({
|
|
|
2431
2601
|
actionElement = linkElement;
|
|
2432
2602
|
}
|
|
2433
2603
|
}
|
|
2434
|
-
return /* @__PURE__ */ (0,
|
|
2604
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("span", { children: [
|
|
2435
2605
|
actionElement,
|
|
2436
|
-
!isLast && /* @__PURE__ */ (0,
|
|
2606
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Divider, { type: "vertical" })
|
|
2437
2607
|
] }, idx);
|
|
2438
2608
|
}) });
|
|
2439
2609
|
}
|
|
@@ -2441,7 +2611,7 @@ function ProTable({
|
|
|
2441
2611
|
}
|
|
2442
2612
|
return cols;
|
|
2443
2613
|
}, [columns, rowActions, texts]);
|
|
2444
|
-
const paginationConfig = (0,
|
|
2614
|
+
const paginationConfig = (0, import_react14.useMemo)(() => {
|
|
2445
2615
|
if (pagination === false) return false;
|
|
2446
2616
|
return {
|
|
2447
2617
|
current: meta?.current_page || queryParams.page,
|
|
@@ -2452,9 +2622,9 @@ function ProTable({
|
|
|
2452
2622
|
...typeof pagination === "object" ? pagination : {}
|
|
2453
2623
|
};
|
|
2454
2624
|
}, [pagination, meta, queryParams, texts]);
|
|
2455
|
-
return /* @__PURE__ */ (0,
|
|
2456
|
-
searchFields.length > 0 && /* @__PURE__ */ (0,
|
|
2457
|
-
|
|
2625
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className, style, children: [
|
|
2626
|
+
searchFields.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Card, { style: { marginBottom: 24, ...cardStyle }, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
2627
|
+
import_antd5.Form,
|
|
2458
2628
|
{
|
|
2459
2629
|
form: searchForm,
|
|
2460
2630
|
layout: "horizontal",
|
|
@@ -2463,57 +2633,57 @@ function ProTable({
|
|
|
2463
2633
|
wrapperCol: { flex: 1 },
|
|
2464
2634
|
initialValues: defaultSearchValues,
|
|
2465
2635
|
children: [
|
|
2466
|
-
/* @__PURE__ */ (0,
|
|
2467
|
-
visibleFields.map((field) => /* @__PURE__ */ (0,
|
|
2468
|
-
/* @__PURE__ */ (0,
|
|
2469
|
-
/* @__PURE__ */ (0,
|
|
2470
|
-
/* @__PURE__ */ (0,
|
|
2471
|
-
hasHiddenFields && /* @__PURE__ */ (0,
|
|
2472
|
-
|
|
2636
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_antd5.Row, { gutter: 24, children: [
|
|
2637
|
+
visibleFields.map((field) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Col, { span: 8, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Form.Item, { name: field.name, label: field.label, children: renderSearchField(field, texts) }) }, field.name)),
|
|
2638
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Col, { span: visibleFields.length === 1 ? 16 : 8, style: { textAlign: "right" }, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_antd5.Space, { children: [
|
|
2639
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Button, { onClick: handleReset, children: texts.reset }),
|
|
2640
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Button, { type: "primary", htmlType: "submit", children: texts.search }),
|
|
2641
|
+
hasHiddenFields && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
2642
|
+
import_antd5.Button,
|
|
2473
2643
|
{
|
|
2474
2644
|
type: "link",
|
|
2475
2645
|
onClick: () => setExpanded(!expanded),
|
|
2476
2646
|
children: [
|
|
2477
2647
|
expanded ? texts.collapse : texts.expand,
|
|
2478
|
-
expanded ? /* @__PURE__ */ (0,
|
|
2648
|
+
expanded ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_icons4.UpOutlined, {}) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_icons4.DownOutlined, {})
|
|
2479
2649
|
]
|
|
2480
2650
|
}
|
|
2481
2651
|
)
|
|
2482
2652
|
] }) })
|
|
2483
2653
|
] }),
|
|
2484
|
-
expanded && hiddenFields.length > 0 && /* @__PURE__ */ (0,
|
|
2654
|
+
expanded && hiddenFields.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Row, { gutter: 24, style: { marginTop: 16 }, children: hiddenFields.map((field) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Col, { span: 8, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Form.Item, { name: field.name, label: field.label, children: renderSearchField(field, texts) }) }, field.name)) })
|
|
2485
2655
|
]
|
|
2486
2656
|
}
|
|
2487
2657
|
) }),
|
|
2488
|
-
/* @__PURE__ */ (0,
|
|
2489
|
-
|
|
2658
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2659
|
+
import_antd5.Card,
|
|
2490
2660
|
{
|
|
2491
|
-
title: /* @__PURE__ */ (0,
|
|
2661
|
+
title: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_antd5.Space, { children: [
|
|
2492
2662
|
icon,
|
|
2493
2663
|
title,
|
|
2494
|
-
subTitle && /* @__PURE__ */ (0,
|
|
2664
|
+
subTitle && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { style: {
|
|
2495
2665
|
fontWeight: "normal",
|
|
2496
2666
|
fontSize: 14,
|
|
2497
2667
|
color: token.colorTextSecondary
|
|
2498
2668
|
}, children: subTitle })
|
|
2499
2669
|
] }),
|
|
2500
|
-
extra: /* @__PURE__ */ (0,
|
|
2670
|
+
extra: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_antd5.Space, { size: "small", children: [
|
|
2501
2671
|
toolbarExtra,
|
|
2502
|
-
addButtonLink && /* @__PURE__ */ (0,
|
|
2503
|
-
onAdd && !addButtonLink && /* @__PURE__ */ (0,
|
|
2504
|
-
showRefresh && /* @__PURE__ */ (0,
|
|
2505
|
-
|
|
2672
|
+
addButtonLink && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SmartLink, { href: addButtonLink, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Button, { type: "primary", icon: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_icons4.PlusOutlined, {}), children: addLabel || texts.add }) }),
|
|
2673
|
+
onAdd && !addButtonLink && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Button, { type: "primary", icon: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_icons4.PlusOutlined, {}), onClick: onAdd, children: addLabel || texts.add }),
|
|
2674
|
+
showRefresh && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Tooltip, { title: texts.refresh, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2675
|
+
import_antd5.Button,
|
|
2506
2676
|
{
|
|
2507
|
-
icon: /* @__PURE__ */ (0,
|
|
2677
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_icons4.ReloadOutlined, {}),
|
|
2508
2678
|
onClick: () => queryResult.refetch?.(),
|
|
2509
2679
|
loading: queryResult.isFetching
|
|
2510
2680
|
}
|
|
2511
2681
|
) }),
|
|
2512
|
-
showColumnSettings && /* @__PURE__ */ (0,
|
|
2682
|
+
showColumnSettings && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Tooltip, { title: texts.columnSettings, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_antd5.Button, { icon: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_icons4.SettingOutlined, {}) }) })
|
|
2513
2683
|
] }),
|
|
2514
2684
|
style: cardStyle,
|
|
2515
|
-
children: /* @__PURE__ */ (0,
|
|
2516
|
-
|
|
2685
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
2686
|
+
import_antd5.Table,
|
|
2517
2687
|
{
|
|
2518
2688
|
...tableProps,
|
|
2519
2689
|
columns: tableColumns,
|
|
@@ -2530,8 +2700,8 @@ function ProTable({
|
|
|
2530
2700
|
}
|
|
2531
2701
|
|
|
2532
2702
|
// src/ant/components/PageContainer/PageContainer.tsx
|
|
2533
|
-
var
|
|
2534
|
-
var
|
|
2703
|
+
var import_antd6 = require("antd");
|
|
2704
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
2535
2705
|
function PageContainer({
|
|
2536
2706
|
title,
|
|
2537
2707
|
subTitle,
|
|
@@ -2543,19 +2713,19 @@ function PageContainer({
|
|
|
2543
2713
|
className,
|
|
2544
2714
|
style
|
|
2545
2715
|
}) {
|
|
2546
|
-
const { token } =
|
|
2716
|
+
const { token } = import_antd6.theme.useToken();
|
|
2547
2717
|
const breadcrumbProps = breadcrumb ? Array.isArray(breadcrumb) ? { items: breadcrumb } : breadcrumb : void 0;
|
|
2548
2718
|
const hasHeader = showHeader && (title || subTitle || breadcrumb);
|
|
2549
|
-
return /* @__PURE__ */ (0,
|
|
2550
|
-
hasHeader && /* @__PURE__ */ (0,
|
|
2719
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className, style, children: [
|
|
2720
|
+
hasHeader && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2551
2721
|
"div",
|
|
2552
2722
|
{
|
|
2553
2723
|
style: {
|
|
2554
2724
|
marginBottom: 24
|
|
2555
2725
|
},
|
|
2556
2726
|
children: [
|
|
2557
|
-
breadcrumbProps && /* @__PURE__ */ (0,
|
|
2558
|
-
|
|
2727
|
+
breadcrumbProps && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2728
|
+
import_antd6.Breadcrumb,
|
|
2559
2729
|
{
|
|
2560
2730
|
...breadcrumbProps,
|
|
2561
2731
|
style: {
|
|
@@ -2564,7 +2734,7 @@ function PageContainer({
|
|
|
2564
2734
|
}
|
|
2565
2735
|
}
|
|
2566
2736
|
),
|
|
2567
|
-
(title || extra) && /* @__PURE__ */ (0,
|
|
2737
|
+
(title || extra) && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2568
2738
|
"div",
|
|
2569
2739
|
{
|
|
2570
2740
|
style: {
|
|
@@ -2573,8 +2743,8 @@ function PageContainer({
|
|
|
2573
2743
|
alignItems: "flex-start"
|
|
2574
2744
|
},
|
|
2575
2745
|
children: [
|
|
2576
|
-
/* @__PURE__ */ (0,
|
|
2577
|
-
title && /* @__PURE__ */ (0,
|
|
2746
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { children: [
|
|
2747
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
2578
2748
|
"h1",
|
|
2579
2749
|
{
|
|
2580
2750
|
style: {
|
|
@@ -2588,12 +2758,12 @@ function PageContainer({
|
|
|
2588
2758
|
gap: 8
|
|
2589
2759
|
},
|
|
2590
2760
|
children: [
|
|
2591
|
-
icon && /* @__PURE__ */ (0,
|
|
2761
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { style: { fontSize: 20 }, children: icon }),
|
|
2592
2762
|
title
|
|
2593
2763
|
]
|
|
2594
2764
|
}
|
|
2595
2765
|
),
|
|
2596
|
-
subTitle && /* @__PURE__ */ (0,
|
|
2766
|
+
subTitle && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
2597
2767
|
"div",
|
|
2598
2768
|
{
|
|
2599
2769
|
style: {
|
|
@@ -2605,7 +2775,7 @@ function PageContainer({
|
|
|
2605
2775
|
}
|
|
2606
2776
|
)
|
|
2607
2777
|
] }),
|
|
2608
|
-
extra && /* @__PURE__ */ (0,
|
|
2778
|
+
extra && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { style: { flexShrink: 0 }, children: extra })
|
|
2609
2779
|
]
|
|
2610
2780
|
}
|
|
2611
2781
|
)
|
|
@@ -2618,14 +2788,14 @@ function PageContainer({
|
|
|
2618
2788
|
|
|
2619
2789
|
// src/ant/components/LocaleSwitcher/LocaleSwitcher.tsx
|
|
2620
2790
|
var import_icons5 = require("@ant-design/icons");
|
|
2621
|
-
var
|
|
2791
|
+
var import_antd7 = require("antd");
|
|
2622
2792
|
var import_react_i18next2 = require("react-i18next");
|
|
2623
2793
|
|
|
2624
2794
|
// src/core/i18n/index.tsx
|
|
2625
|
-
var
|
|
2795
|
+
var import_react15 = require("react");
|
|
2626
2796
|
var import_react_i18next = require("react-i18next");
|
|
2627
2797
|
var import_i18next = __toESM(require("i18next"), 1);
|
|
2628
|
-
var
|
|
2798
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
2629
2799
|
var locales = ["ja", "en", "vi"];
|
|
2630
2800
|
var localeNames = {
|
|
2631
2801
|
ja: "\u65E5\u672C\u8A9E",
|
|
@@ -2633,7 +2803,7 @@ var localeNames = {
|
|
|
2633
2803
|
vi: "Ti\u1EBFng Vi\u1EC7t"
|
|
2634
2804
|
};
|
|
2635
2805
|
var defaultLocale2 = "ja";
|
|
2636
|
-
var I18nContext = (0,
|
|
2806
|
+
var I18nContext = (0, import_react15.createContext)(null);
|
|
2637
2807
|
var i18nInitialized = false;
|
|
2638
2808
|
function initializeI18n(initialLocale, fallbackLocale2, translations) {
|
|
2639
2809
|
if (i18nInitialized) {
|
|
@@ -2643,7 +2813,7 @@ function initializeI18n(initialLocale, fallbackLocale2, translations) {
|
|
|
2643
2813
|
for (const locale of locales) {
|
|
2644
2814
|
resources[locale] = {
|
|
2645
2815
|
translation: {
|
|
2646
|
-
...
|
|
2816
|
+
...defaultTranslations2[locale],
|
|
2647
2817
|
...translations?.[locale] || {}
|
|
2648
2818
|
}
|
|
2649
2819
|
};
|
|
@@ -2668,29 +2838,29 @@ function I18nProvider({
|
|
|
2668
2838
|
fallbackLocale: fallbackLocale2 = "ja",
|
|
2669
2839
|
translations
|
|
2670
2840
|
}) {
|
|
2671
|
-
const i18nInstance = (0,
|
|
2841
|
+
const i18nInstance = (0, import_react15.useMemo)(
|
|
2672
2842
|
() => initializeI18n(initialLocale, fallbackLocale2, translations),
|
|
2673
2843
|
[initialLocale, fallbackLocale2, translations]
|
|
2674
2844
|
);
|
|
2675
|
-
return /* @__PURE__ */ (0,
|
|
2845
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_i18next.I18nextProvider, { i18n: i18nInstance, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(I18nProviderInner, { initialLocale, children }) });
|
|
2676
2846
|
}
|
|
2677
2847
|
function I18nProviderInner({
|
|
2678
2848
|
children,
|
|
2679
2849
|
initialLocale
|
|
2680
2850
|
}) {
|
|
2681
|
-
const [locale, setLocaleState] = (0,
|
|
2851
|
+
const [locale, setLocaleState] = (0, import_react15.useState)(initialLocale);
|
|
2682
2852
|
const { t: translate, i18n: i18nInstance } = (0, import_react_i18next.useTranslation)();
|
|
2683
|
-
const setLocale = (0,
|
|
2853
|
+
const setLocale = (0, import_react15.useCallback)((newLocale) => {
|
|
2684
2854
|
setLocaleState(newLocale);
|
|
2685
2855
|
i18nInstance?.changeLanguage(newLocale);
|
|
2686
2856
|
if (typeof document !== "undefined") {
|
|
2687
2857
|
document.cookie = `locale=${newLocale};path=/;max-age=31536000`;
|
|
2688
2858
|
}
|
|
2689
2859
|
}, [i18nInstance]);
|
|
2690
|
-
const t = (0,
|
|
2860
|
+
const t = (0, import_react15.useCallback)((key, options) => {
|
|
2691
2861
|
return String(translate(key, options));
|
|
2692
2862
|
}, [translate]);
|
|
2693
|
-
(0,
|
|
2863
|
+
(0, import_react15.useEffect)(() => {
|
|
2694
2864
|
if (typeof document !== "undefined") {
|
|
2695
2865
|
const cookieLocale = document.cookie.split("; ").find((row) => row.startsWith("locale="))?.split("=")[1];
|
|
2696
2866
|
if (cookieLocale && locales.includes(cookieLocale)) {
|
|
@@ -2698,10 +2868,10 @@ function I18nProviderInner({
|
|
|
2698
2868
|
}
|
|
2699
2869
|
}
|
|
2700
2870
|
}, [setLocale]);
|
|
2701
|
-
return /* @__PURE__ */ (0,
|
|
2871
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(I18nContext.Provider, { value: { locale, setLocale, t }, children });
|
|
2702
2872
|
}
|
|
2703
2873
|
function useLocale() {
|
|
2704
|
-
const context = (0,
|
|
2874
|
+
const context = (0, import_react15.useContext)(I18nContext);
|
|
2705
2875
|
const { i18n: i18nInstance } = (0, import_react_i18next.useTranslation)();
|
|
2706
2876
|
if (context) {
|
|
2707
2877
|
return context.locale;
|
|
@@ -2731,7 +2901,7 @@ function changeLanguage(locale) {
|
|
|
2731
2901
|
}
|
|
2732
2902
|
}
|
|
2733
2903
|
var ssoNamespace = "sso";
|
|
2734
|
-
var
|
|
2904
|
+
var defaultTranslations2 = {
|
|
2735
2905
|
ja: {
|
|
2736
2906
|
login: "\u30ED\u30B0\u30A4\u30F3",
|
|
2737
2907
|
logout: "\u30ED\u30B0\u30A2\u30A6\u30C8",
|
|
@@ -2783,7 +2953,7 @@ var defaultTranslations = {
|
|
|
2783
2953
|
};
|
|
2784
2954
|
|
|
2785
2955
|
// src/ant/components/LocaleSwitcher/LocaleSwitcher.tsx
|
|
2786
|
-
var
|
|
2956
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
2787
2957
|
function LocaleSwitcher() {
|
|
2788
2958
|
const { i18n: i18n2 } = (0, import_react_i18next2.useTranslation)();
|
|
2789
2959
|
const locale = i18n2.language || "ja";
|
|
@@ -2791,14 +2961,14 @@ function LocaleSwitcher() {
|
|
|
2791
2961
|
i18n2.changeLanguage(newLocale);
|
|
2792
2962
|
document.cookie = `locale=${newLocale};path=/;max-age=31536000`;
|
|
2793
2963
|
};
|
|
2794
|
-
return /* @__PURE__ */ (0,
|
|
2795
|
-
|
|
2964
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2965
|
+
import_antd7.Select,
|
|
2796
2966
|
{
|
|
2797
2967
|
value: locale,
|
|
2798
2968
|
onChange: handleChange,
|
|
2799
2969
|
style: { width: 100 },
|
|
2800
2970
|
size: "small",
|
|
2801
|
-
suffixIcon: /* @__PURE__ */ (0,
|
|
2971
|
+
suffixIcon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_icons5.GlobalOutlined, {}),
|
|
2802
2972
|
options: locales.map((l) => ({
|
|
2803
2973
|
value: l,
|
|
2804
2974
|
label: localeNames[l]
|
|
@@ -2809,21 +2979,21 @@ function LocaleSwitcher() {
|
|
|
2809
2979
|
|
|
2810
2980
|
// src/ant/components/UserRoleAssignModal/UserRoleAssignModal.tsx
|
|
2811
2981
|
var import_icons7 = require("@ant-design/icons");
|
|
2812
|
-
var
|
|
2813
|
-
var
|
|
2982
|
+
var import_antd9 = require("antd");
|
|
2983
|
+
var import_react16 = require("react");
|
|
2814
2984
|
|
|
2815
2985
|
// src/ant/components/ScopeUtils/ScopeUtils.tsx
|
|
2816
2986
|
var import_icons6 = require("@ant-design/icons");
|
|
2817
|
-
var
|
|
2818
|
-
var
|
|
2987
|
+
var import_antd8 = require("antd");
|
|
2988
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
2819
2989
|
function getScopeIcon(scope) {
|
|
2820
2990
|
switch (scope) {
|
|
2821
2991
|
case "global":
|
|
2822
|
-
return /* @__PURE__ */ (0,
|
|
2992
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_icons6.GlobalOutlined, {});
|
|
2823
2993
|
case "org-wide":
|
|
2824
|
-
return /* @__PURE__ */ (0,
|
|
2994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_icons6.BankOutlined, {});
|
|
2825
2995
|
case "branch":
|
|
2826
|
-
return /* @__PURE__ */ (0,
|
|
2996
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_icons6.BranchesOutlined, {});
|
|
2827
2997
|
default:
|
|
2828
2998
|
return null;
|
|
2829
2999
|
}
|
|
@@ -2841,19 +3011,19 @@ function getScopeColor(scope) {
|
|
|
2841
3011
|
}
|
|
2842
3012
|
}
|
|
2843
3013
|
function ScopeTag({ scope, label, showIcon = true }) {
|
|
2844
|
-
return /* @__PURE__ */ (0,
|
|
3014
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_antd8.Tag, { color: getScopeColor(scope), icon: showIcon ? getScopeIcon(scope) : void 0, children: label || scope });
|
|
2845
3015
|
}
|
|
2846
3016
|
function ScopeLabel({ scope, label }) {
|
|
2847
|
-
return /* @__PURE__ */ (0,
|
|
3017
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_antd8.Space, { children: [
|
|
2848
3018
|
getScopeIcon(scope),
|
|
2849
3019
|
label
|
|
2850
3020
|
] });
|
|
2851
3021
|
}
|
|
2852
3022
|
|
|
2853
3023
|
// src/ant/components/UserRoleAssignModal/UserRoleAssignModal.tsx
|
|
2854
|
-
var
|
|
2855
|
-
var { Text:
|
|
2856
|
-
var
|
|
3024
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
3025
|
+
var { Text: Text5 } = import_antd9.Typography;
|
|
3026
|
+
var defaultTranslations3 = {
|
|
2857
3027
|
title: "\u30ED\u30FC\u30EB\u5272\u308A\u5F53\u3066",
|
|
2858
3028
|
selectRole: "\u30ED\u30FC\u30EB\u3092\u9078\u629E",
|
|
2859
3029
|
scope: "\u30B9\u30B3\u30FC\u30D7",
|
|
@@ -2879,9 +3049,9 @@ function UserRoleAssignModal({
|
|
|
2879
3049
|
onCancel,
|
|
2880
3050
|
translations: t = {}
|
|
2881
3051
|
}) {
|
|
2882
|
-
const [form] =
|
|
2883
|
-
const [isSubmitting, setIsSubmitting] = (0,
|
|
2884
|
-
const labels = { ...
|
|
3052
|
+
const [form] = import_antd9.Form.useForm();
|
|
3053
|
+
const [isSubmitting, setIsSubmitting] = (0, import_react16.useState)(false);
|
|
3054
|
+
const labels = { ...defaultTranslations3, ...t };
|
|
2885
3055
|
const handleFinish = async (values) => {
|
|
2886
3056
|
setIsSubmitting(true);
|
|
2887
3057
|
try {
|
|
@@ -2895,11 +3065,11 @@ function UserRoleAssignModal({
|
|
|
2895
3065
|
form.resetFields();
|
|
2896
3066
|
onCancel();
|
|
2897
3067
|
};
|
|
2898
|
-
return /* @__PURE__ */ (0,
|
|
2899
|
-
|
|
3068
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3069
|
+
import_antd9.Modal,
|
|
2900
3070
|
{
|
|
2901
|
-
title: /* @__PURE__ */ (0,
|
|
2902
|
-
/* @__PURE__ */ (0,
|
|
3071
|
+
title: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_antd9.Space, { children: [
|
|
3072
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_icons7.SafetyOutlined, {}),
|
|
2903
3073
|
labels.title,
|
|
2904
3074
|
" ",
|
|
2905
3075
|
userName ? `- ${userName}` : ""
|
|
@@ -2908,50 +3078,50 @@ function UserRoleAssignModal({
|
|
|
2908
3078
|
onCancel: handleCancel,
|
|
2909
3079
|
footer: null,
|
|
2910
3080
|
destroyOnHidden: true,
|
|
2911
|
-
children: /* @__PURE__ */ (0,
|
|
2912
|
-
|
|
3081
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
3082
|
+
import_antd9.Form,
|
|
2913
3083
|
{
|
|
2914
3084
|
form,
|
|
2915
3085
|
layout: "vertical",
|
|
2916
3086
|
onFinish: handleFinish,
|
|
2917
3087
|
initialValues: { scope: "org-wide", org_id: currentOrgId },
|
|
2918
3088
|
children: [
|
|
2919
|
-
/* @__PURE__ */ (0,
|
|
2920
|
-
|
|
3089
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3090
|
+
import_antd9.Form.Item,
|
|
2921
3091
|
{
|
|
2922
3092
|
name: "role_id",
|
|
2923
3093
|
label: labels.selectRole,
|
|
2924
3094
|
rules: [{ required: true, message: labels.required }],
|
|
2925
|
-
children: /* @__PURE__ */ (0,
|
|
3095
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Select, { placeholder: labels.selectRole, children: roles.map((role) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Select.Option, { value: role.id, children: role.name }, role.id)) })
|
|
2926
3096
|
}
|
|
2927
3097
|
),
|
|
2928
|
-
/* @__PURE__ */ (0,
|
|
2929
|
-
/* @__PURE__ */ (0,
|
|
2930
|
-
/* @__PURE__ */ (0,
|
|
2931
|
-
/* @__PURE__ */ (0,
|
|
3098
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Form.Item, { name: "scope", label: labels.scope, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_antd9.Radio.Group, { children: [
|
|
3099
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Radio, { value: "global", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ScopeLabel, { scope: "global", label: labels.global }) }),
|
|
3100
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Radio, { value: "org-wide", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ScopeLabel, { scope: "org-wide", label: labels.orgWide }) }),
|
|
3101
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Radio, { value: "branch", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ScopeLabel, { scope: "branch", label: labels.branchSpecific }) })
|
|
2932
3102
|
] }) }),
|
|
2933
|
-
/* @__PURE__ */ (0,
|
|
2934
|
-
|
|
3103
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Form.Item, { noStyle: true, shouldUpdate: (prev, curr) => prev.scope !== curr.scope, children: ({ getFieldValue }) => (getFieldValue("scope") === "org-wide" || getFieldValue("scope") === "branch") && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3104
|
+
import_antd9.Form.Item,
|
|
2935
3105
|
{
|
|
2936
3106
|
name: "org_id",
|
|
2937
3107
|
label: labels.organization,
|
|
2938
3108
|
rules: [{ required: true, message: labels.required }],
|
|
2939
|
-
children: /* @__PURE__ */ (0,
|
|
2940
|
-
/* @__PURE__ */ (0,
|
|
3109
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Select, { placeholder: labels.organization, children: organizations.map((org) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Select.Option, { value: String(org.id), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_antd9.Space, { children: [
|
|
3110
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_icons7.BankOutlined, {}),
|
|
2941
3111
|
org.name
|
|
2942
3112
|
] }) }, org.id)) })
|
|
2943
3113
|
}
|
|
2944
3114
|
) }),
|
|
2945
|
-
/* @__PURE__ */ (0,
|
|
2946
|
-
|
|
3115
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Form.Item, { noStyle: true, shouldUpdate: (prev, curr) => prev.scope !== curr.scope, children: ({ getFieldValue }) => getFieldValue("scope") === "branch" && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3116
|
+
import_antd9.Form.Item,
|
|
2947
3117
|
{
|
|
2948
3118
|
name: "branch_ids",
|
|
2949
3119
|
label: labels.selectBranches,
|
|
2950
3120
|
rules: [{ required: true, message: labels.required }],
|
|
2951
|
-
children: /* @__PURE__ */ (0,
|
|
3121
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Select, { mode: "multiple", placeholder: labels.selectBranches, children: branches?.map((branch) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Select.Option, { value: String(branch.id), children: branch.name }, branch.id)) })
|
|
2952
3122
|
}
|
|
2953
3123
|
) }),
|
|
2954
|
-
/* @__PURE__ */ (0,
|
|
3124
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Form.Item, { noStyle: true, shouldUpdate: true, children: ({ getFieldValue }) => {
|
|
2955
3125
|
const scope = getFieldValue("scope");
|
|
2956
3126
|
const selectedOrgId = getFieldValue("org_id");
|
|
2957
3127
|
const selectedBranchIds = getFieldValue("branch_ids") || [];
|
|
@@ -2967,7 +3137,7 @@ function UserRoleAssignModal({
|
|
|
2967
3137
|
} else if (scope === "branch" && selectedBranches.length > 0) {
|
|
2968
3138
|
scopeText = selectedBranches.map((b) => b.name).join(", ");
|
|
2969
3139
|
}
|
|
2970
|
-
return scopeText ? /* @__PURE__ */ (0,
|
|
3140
|
+
return scopeText ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
2971
3141
|
"div",
|
|
2972
3142
|
{
|
|
2973
3143
|
style: {
|
|
@@ -2976,19 +3146,19 @@ function UserRoleAssignModal({
|
|
|
2976
3146
|
borderRadius: 4,
|
|
2977
3147
|
marginBottom: 16
|
|
2978
3148
|
},
|
|
2979
|
-
children: /* @__PURE__ */ (0,
|
|
3149
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Text5, { type: "secondary", children: [
|
|
2980
3150
|
labels.assignRole,
|
|
2981
3151
|
": ",
|
|
2982
|
-
/* @__PURE__ */ (0,
|
|
3152
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text5, { strong: true, children: selectedRole.name }),
|
|
2983
3153
|
" \u2192 ",
|
|
2984
|
-
/* @__PURE__ */ (0,
|
|
3154
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Tag, { color: getScopeColor(scope), children: scopeText })
|
|
2985
3155
|
] })
|
|
2986
3156
|
}
|
|
2987
3157
|
) : null;
|
|
2988
3158
|
} }),
|
|
2989
|
-
/* @__PURE__ */ (0,
|
|
2990
|
-
/* @__PURE__ */ (0,
|
|
2991
|
-
/* @__PURE__ */ (0,
|
|
3159
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Form.Item, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_antd9.Space, { children: [
|
|
3160
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Button, { type: "primary", htmlType: "submit", loading: loading || isSubmitting, children: labels.assign }),
|
|
3161
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_antd9.Button, { onClick: handleCancel, children: labels.cancel })
|
|
2992
3162
|
] }) })
|
|
2993
3163
|
]
|
|
2994
3164
|
}
|
|
@@ -2999,10 +3169,10 @@ function UserRoleAssignModal({
|
|
|
2999
3169
|
|
|
3000
3170
|
// src/ant/components/UserPermissionsModal/UserPermissionsModal.tsx
|
|
3001
3171
|
var import_icons8 = require("@ant-design/icons");
|
|
3002
|
-
var
|
|
3003
|
-
var
|
|
3004
|
-
var { Text:
|
|
3005
|
-
var
|
|
3172
|
+
var import_antd10 = require("antd");
|
|
3173
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
3174
|
+
var { Text: Text6 } = import_antd10.Typography;
|
|
3175
|
+
var defaultTranslations4 = {
|
|
3006
3176
|
permissionBreakdown: "\u6A29\u9650\u30D6\u30EC\u30FC\u30AF\u30C0\u30A6\u30F3",
|
|
3007
3177
|
userInfo: "\u30E6\u30FC\u30B6\u30FC\u60C5\u5831",
|
|
3008
3178
|
email: "\u30E1\u30FC\u30EB",
|
|
@@ -3037,17 +3207,17 @@ function UserPermissionsModal({
|
|
|
3037
3207
|
onRemoveRole,
|
|
3038
3208
|
translations: t = {}
|
|
3039
3209
|
}) {
|
|
3040
|
-
const labels = { ...
|
|
3210
|
+
const labels = { ...defaultTranslations4, ...t };
|
|
3041
3211
|
const getBranchName = (branchId) => {
|
|
3042
3212
|
if (!branchId || !branches) return "";
|
|
3043
3213
|
const branch = branches.find((b) => String(b.id) === branchId);
|
|
3044
3214
|
return branch?.name || branchId;
|
|
3045
3215
|
};
|
|
3046
|
-
return /* @__PURE__ */ (0,
|
|
3047
|
-
|
|
3216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3217
|
+
import_antd10.Modal,
|
|
3048
3218
|
{
|
|
3049
|
-
title: /* @__PURE__ */ (0,
|
|
3050
|
-
/* @__PURE__ */ (0,
|
|
3219
|
+
title: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_antd10.Space, { children: [
|
|
3220
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.UserOutlined, {}),
|
|
3051
3221
|
userName,
|
|
3052
3222
|
" - ",
|
|
3053
3223
|
labels.permissionBreakdown
|
|
@@ -3057,54 +3227,54 @@ function UserPermissionsModal({
|
|
|
3057
3227
|
footer: null,
|
|
3058
3228
|
width: 800,
|
|
3059
3229
|
destroyOnHidden: true,
|
|
3060
|
-
children: loading ? /* @__PURE__ */ (0,
|
|
3061
|
-
/* @__PURE__ */ (0,
|
|
3062
|
-
/* @__PURE__ */ (0,
|
|
3063
|
-
/* @__PURE__ */ (0,
|
|
3230
|
+
children: loading ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Spin, { size: "large" }) }) : permissions ? /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: 16 }, children: [
|
|
3231
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Card, { size: "small", title: labels.userInfo, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
|
|
3232
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { children: [
|
|
3233
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Text6, { type: "secondary", children: [
|
|
3064
3234
|
labels.email,
|
|
3065
3235
|
": "
|
|
3066
3236
|
] }),
|
|
3067
|
-
/* @__PURE__ */ (0,
|
|
3237
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text6, { children: permissions.user?.email })
|
|
3068
3238
|
] }),
|
|
3069
|
-
/* @__PURE__ */ (0,
|
|
3070
|
-
/* @__PURE__ */ (0,
|
|
3239
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { children: [
|
|
3240
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Text6, { type: "secondary", children: [
|
|
3071
3241
|
labels.primaryOrganization,
|
|
3072
3242
|
": "
|
|
3073
3243
|
] }),
|
|
3074
|
-
permissions.user?.organization ? /* @__PURE__ */ (0,
|
|
3244
|
+
permissions.user?.organization ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Tag, { icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.BankOutlined, {}), color: "blue", children: permissions.user.organization.name }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Tag, { icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.GlobalOutlined, {}), color: "purple", children: labels.global })
|
|
3075
3245
|
] })
|
|
3076
3246
|
] }) }),
|
|
3077
|
-
/* @__PURE__ */ (0,
|
|
3078
|
-
currentOrg && /* @__PURE__ */ (0,
|
|
3079
|
-
currentBranch && /* @__PURE__ */ (0,
|
|
3247
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Card, { size: "small", title: labels.currentContext, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_antd10.Space, { wrap: true, children: [
|
|
3248
|
+
currentOrg && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Tag, { icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.BankOutlined, {}), color: "blue", children: currentOrg.name }),
|
|
3249
|
+
currentBranch && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Tag, { icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.BranchesOutlined, {}), color: "green", children: currentBranch.name })
|
|
3080
3250
|
] }) }),
|
|
3081
|
-
/* @__PURE__ */ (0,
|
|
3082
|
-
|
|
3251
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3252
|
+
import_antd10.Card,
|
|
3083
3253
|
{
|
|
3084
3254
|
size: "small",
|
|
3085
|
-
title: /* @__PURE__ */ (0,
|
|
3086
|
-
/* @__PURE__ */ (0,
|
|
3255
|
+
title: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_antd10.Space, { children: [
|
|
3256
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.SafetyOutlined, {}),
|
|
3087
3257
|
labels.roleAssignments,
|
|
3088
3258
|
" (",
|
|
3089
3259
|
permissions.role_assignments.length,
|
|
3090
3260
|
")"
|
|
3091
3261
|
] }),
|
|
3092
|
-
extra: onAddRole && /* @__PURE__ */ (0,
|
|
3093
|
-
children: permissions.role_assignments.length === 0 ? /* @__PURE__ */ (0,
|
|
3094
|
-
|
|
3262
|
+
extra: onAddRole && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Button, { type: "primary", size: "small", icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.PlusOutlined, {}), onClick: onAddRole, children: labels.add }),
|
|
3263
|
+
children: permissions.role_assignments.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Empty, { description: labels.noRolesAssigned }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Collapse, { ghost: true, children: permissions.role_assignments.map((assignment, index) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3264
|
+
import_antd10.Collapse.Panel,
|
|
3095
3265
|
{
|
|
3096
|
-
header: /* @__PURE__ */ (0,
|
|
3266
|
+
header: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_antd10.Space, { wrap: true, children: [
|
|
3097
3267
|
getScopeIcon(assignment.scope),
|
|
3098
|
-
/* @__PURE__ */ (0,
|
|
3099
|
-
/* @__PURE__ */ (0,
|
|
3100
|
-
assignment.scope === "branch" && assignment.org_name && /* @__PURE__ */ (0,
|
|
3101
|
-
/* @__PURE__ */ (0,
|
|
3268
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text6, { strong: true, children: assignment.role.name }),
|
|
3269
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Tag, { color: getScopeColor(assignment.scope), children: assignment.scope === "global" ? labels.global : assignment.scope === "org-wide" ? assignment.org_name || labels.orgWide : assignment.branch_name || getBranchName(assignment.console_branch_id) }),
|
|
3270
|
+
assignment.scope === "branch" && assignment.org_name && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Tag, { color: "blue", icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.BankOutlined, {}), children: assignment.org_name }),
|
|
3271
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_antd10.Tag, { children: [
|
|
3102
3272
|
assignment.permissions.length,
|
|
3103
3273
|
" ",
|
|
3104
3274
|
labels.permissions
|
|
3105
3275
|
] }),
|
|
3106
|
-
onRemoveRole && /* @__PURE__ */ (0,
|
|
3107
|
-
|
|
3276
|
+
onRemoveRole && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3277
|
+
import_antd10.Popconfirm,
|
|
3108
3278
|
{
|
|
3109
3279
|
title: labels.confirmRemoveRole,
|
|
3110
3280
|
onConfirm: () => {
|
|
@@ -3114,12 +3284,12 @@ function UserPermissionsModal({
|
|
|
3114
3284
|
assignment.console_branch_id
|
|
3115
3285
|
);
|
|
3116
3286
|
},
|
|
3117
|
-
children: /* @__PURE__ */ (0,
|
|
3118
|
-
|
|
3287
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3288
|
+
import_antd10.Button,
|
|
3119
3289
|
{
|
|
3120
3290
|
size: "small",
|
|
3121
3291
|
danger: true,
|
|
3122
|
-
icon: /* @__PURE__ */ (0,
|
|
3292
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.DeleteOutlined, {}),
|
|
3123
3293
|
onClick: (e) => e.stopPropagation()
|
|
3124
3294
|
}
|
|
3125
3295
|
)
|
|
@@ -3136,35 +3306,35 @@ function UserPermissionsModal({
|
|
|
3136
3306
|
},
|
|
3137
3307
|
{}
|
|
3138
3308
|
)
|
|
3139
|
-
).map(([group, perms]) => /* @__PURE__ */ (0,
|
|
3140
|
-
/* @__PURE__ */ (0,
|
|
3141
|
-
/* @__PURE__ */ (0,
|
|
3309
|
+
).map(([group, perms]) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { style: { marginBottom: 8 }, children: [
|
|
3310
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text6, { type: "secondary", style: { fontSize: 12 }, children: group }),
|
|
3311
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { style: { display: "flex", flexWrap: "wrap", gap: 4, marginTop: 4 }, children: perms.map((perm) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Tag, { color: "blue", children: perm.name }, perm.slug)) })
|
|
3142
3312
|
] }, group))
|
|
3143
3313
|
},
|
|
3144
3314
|
index
|
|
3145
3315
|
)) })
|
|
3146
3316
|
}
|
|
3147
3317
|
),
|
|
3148
|
-
/* @__PURE__ */ (0,
|
|
3149
|
-
|
|
3318
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3319
|
+
import_antd10.Card,
|
|
3150
3320
|
{
|
|
3151
3321
|
size: "small",
|
|
3152
|
-
title: /* @__PURE__ */ (0,
|
|
3153
|
-
/* @__PURE__ */ (0,
|
|
3322
|
+
title: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_antd10.Space, { children: [
|
|
3323
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.TeamOutlined, {}),
|
|
3154
3324
|
labels.teamMemberships,
|
|
3155
3325
|
" (",
|
|
3156
3326
|
permissions.team_memberships.length,
|
|
3157
3327
|
")"
|
|
3158
3328
|
] }),
|
|
3159
|
-
extra: onAddTeam && /* @__PURE__ */ (0,
|
|
3160
|
-
children: permissions.team_memberships.length === 0 ? /* @__PURE__ */ (0,
|
|
3161
|
-
|
|
3329
|
+
extra: onAddTeam && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Button, { size: "small", icon: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.PlusOutlined, {}), onClick: onAddTeam, children: labels.add }),
|
|
3330
|
+
children: permissions.team_memberships.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Empty, { description: labels.noTeamMemberships }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Collapse, { ghost: true, children: permissions.team_memberships.map((membership, index) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3331
|
+
import_antd10.Collapse.Panel,
|
|
3162
3332
|
{
|
|
3163
|
-
header: /* @__PURE__ */ (0,
|
|
3164
|
-
/* @__PURE__ */ (0,
|
|
3165
|
-
/* @__PURE__ */ (0,
|
|
3166
|
-
membership.is_leader && /* @__PURE__ */ (0,
|
|
3167
|
-
/* @__PURE__ */ (0,
|
|
3333
|
+
header: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_antd10.Space, { children: [
|
|
3334
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.TeamOutlined, {}),
|
|
3335
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text6, { strong: true, children: membership.team.name }),
|
|
3336
|
+
membership.is_leader && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Tag, { color: "gold", children: labels.teamLeader }),
|
|
3337
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_antd10.Tag, { children: [
|
|
3168
3338
|
membership.permissions.length,
|
|
3169
3339
|
" ",
|
|
3170
3340
|
labels.permissions
|
|
@@ -3180,27 +3350,27 @@ function UserPermissionsModal({
|
|
|
3180
3350
|
},
|
|
3181
3351
|
{}
|
|
3182
3352
|
)
|
|
3183
|
-
).map(([group, perms]) => /* @__PURE__ */ (0,
|
|
3184
|
-
/* @__PURE__ */ (0,
|
|
3185
|
-
/* @__PURE__ */ (0,
|
|
3353
|
+
).map(([group, perms]) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { style: { marginBottom: 8 }, children: [
|
|
3354
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text6, { type: "secondary", style: { fontSize: 12 }, children: group }),
|
|
3355
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { style: { display: "flex", flexWrap: "wrap", gap: 4, marginTop: 4 }, children: perms.map((perm) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Tag, { color: "cyan", children: perm.name }, perm.slug)) })
|
|
3186
3356
|
] }, group))
|
|
3187
3357
|
},
|
|
3188
3358
|
index
|
|
3189
3359
|
)) })
|
|
3190
3360
|
}
|
|
3191
3361
|
),
|
|
3192
|
-
/* @__PURE__ */ (0,
|
|
3193
|
-
|
|
3362
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3363
|
+
import_antd10.Card,
|
|
3194
3364
|
{
|
|
3195
3365
|
size: "small",
|
|
3196
|
-
title: /* @__PURE__ */ (0,
|
|
3197
|
-
/* @__PURE__ */ (0,
|
|
3366
|
+
title: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_antd10.Space, { children: [
|
|
3367
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.SafetyOutlined, {}),
|
|
3198
3368
|
labels.aggregatedPermissions,
|
|
3199
3369
|
" (",
|
|
3200
3370
|
permissions.aggregated_permissions.length,
|
|
3201
3371
|
")"
|
|
3202
3372
|
] }),
|
|
3203
|
-
children: permissions.aggregated_permissions.length === 0 ? /* @__PURE__ */ (0,
|
|
3373
|
+
children: permissions.aggregated_permissions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Empty, { description: labels.noData }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Collapse, { ghost: true, children: Object.entries(
|
|
3204
3374
|
permissions.aggregated_permissions.reduce(
|
|
3205
3375
|
(groups, perm) => {
|
|
3206
3376
|
const parts = perm.split(".");
|
|
@@ -3211,15 +3381,15 @@ function UserPermissionsModal({
|
|
|
3211
3381
|
},
|
|
3212
3382
|
{}
|
|
3213
3383
|
)
|
|
3214
|
-
).map(([group, perms]) => /* @__PURE__ */ (0,
|
|
3215
|
-
|
|
3384
|
+
).map(([group, perms]) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3385
|
+
import_antd10.Collapse.Panel,
|
|
3216
3386
|
{
|
|
3217
|
-
header: /* @__PURE__ */ (0,
|
|
3218
|
-
/* @__PURE__ */ (0,
|
|
3219
|
-
/* @__PURE__ */ (0,
|
|
3220
|
-
/* @__PURE__ */ (0,
|
|
3387
|
+
header: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_antd10.Space, { children: [
|
|
3388
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.SafetyOutlined, {}),
|
|
3389
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text6, { strong: true, children: group }),
|
|
3390
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Tag, { color: "green", children: perms.length })
|
|
3221
3391
|
] }),
|
|
3222
|
-
children: /* @__PURE__ */ (0,
|
|
3392
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { style: { display: "flex", flexWrap: "wrap", gap: 4 }, children: perms.map((perm) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_antd10.Tag, { color: "green", children: perm.split(".").pop() }, perm)) })
|
|
3223
3393
|
},
|
|
3224
3394
|
group
|
|
3225
3395
|
)) })
|
|
@@ -3232,11 +3402,11 @@ function UserPermissionsModal({
|
|
|
3232
3402
|
|
|
3233
3403
|
// src/ant/components/UserDetailCard/UserDetailCard.tsx
|
|
3234
3404
|
var import_icons9 = require("@ant-design/icons");
|
|
3235
|
-
var
|
|
3236
|
-
var
|
|
3237
|
-
var
|
|
3238
|
-
var { Title: Title3, Text:
|
|
3239
|
-
var
|
|
3405
|
+
var import_antd11 = require("antd");
|
|
3406
|
+
var import_react17 = require("react");
|
|
3407
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
3408
|
+
var { Title: Title3, Text: Text7, Link: AntLink } = import_antd11.Typography;
|
|
3409
|
+
var defaultTranslations5 = {
|
|
3240
3410
|
email: "\u30E1\u30FC\u30EB",
|
|
3241
3411
|
primaryOrganization: "\u6240\u5C5E\u7D44\u7E54",
|
|
3242
3412
|
currentContext: "\u73FE\u5728\u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8",
|
|
@@ -3283,9 +3453,9 @@ function UserDetailCard({
|
|
|
3283
3453
|
removeLoading = false,
|
|
3284
3454
|
translations: t = {}
|
|
3285
3455
|
}) {
|
|
3286
|
-
const labels = { ...
|
|
3287
|
-
const [permissionSearch, setPermissionSearch] = (0,
|
|
3288
|
-
const [permissionTypeFilter, setPermissionTypeFilter] = (0,
|
|
3456
|
+
const labels = { ...defaultTranslations5, ...t };
|
|
3457
|
+
const [permissionSearch, setPermissionSearch] = (0, import_react17.useState)("");
|
|
3458
|
+
const [permissionTypeFilter, setPermissionTypeFilter] = (0, import_react17.useState)("all");
|
|
3289
3459
|
const getScopeLabel2 = (assignment) => {
|
|
3290
3460
|
if (assignment.scope === "global") return labels.global;
|
|
3291
3461
|
if (assignment.scope === "org-wide") return assignment.org_name || labels.global;
|
|
@@ -3322,7 +3492,7 @@ function UserDetailCard({
|
|
|
3322
3492
|
const matchesType = permissionTypeFilter === "all" || p.type === permissionTypeFilter;
|
|
3323
3493
|
return matchesSearch && matchesType;
|
|
3324
3494
|
});
|
|
3325
|
-
const groupedAggregatedPermissions = (0,
|
|
3495
|
+
const groupedAggregatedPermissions = (0, import_react17.useMemo)(
|
|
3326
3496
|
() => aggregatedPermissions.reduce((acc, perm) => {
|
|
3327
3497
|
const group = perm.split(".").slice(0, -1).join(".") || "other";
|
|
3328
3498
|
if (!acc[group]) acc[group] = [];
|
|
@@ -3334,13 +3504,13 @@ function UserDetailCard({
|
|
|
3334
3504
|
const tabItems = [
|
|
3335
3505
|
{
|
|
3336
3506
|
key: "permissions",
|
|
3337
|
-
label: /* @__PURE__ */ (0,
|
|
3338
|
-
/* @__PURE__ */ (0,
|
|
3507
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { children: [
|
|
3508
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.KeyOutlined, {}),
|
|
3339
3509
|
" ",
|
|
3340
3510
|
labels.permissions
|
|
3341
3511
|
] }),
|
|
3342
|
-
children: /* @__PURE__ */ (0,
|
|
3343
|
-
/* @__PURE__ */ (0,
|
|
3512
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
3513
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
3344
3514
|
"div",
|
|
3345
3515
|
{
|
|
3346
3516
|
style: {
|
|
@@ -3350,36 +3520,36 @@ function UserDetailCard({
|
|
|
3350
3520
|
marginBottom: 16
|
|
3351
3521
|
},
|
|
3352
3522
|
children: [
|
|
3353
|
-
/* @__PURE__ */ (0,
|
|
3354
|
-
/* @__PURE__ */ (0,
|
|
3523
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
3524
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Title3, { level: 5, style: { margin: 0 }, children: [
|
|
3355
3525
|
labels.permissionPolicies,
|
|
3356
3526
|
" (",
|
|
3357
3527
|
allPermissionsData.length,
|
|
3358
3528
|
")"
|
|
3359
3529
|
] }),
|
|
3360
|
-
/* @__PURE__ */ (0,
|
|
3530
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { type: "secondary", style: { fontSize: 12 }, children: labels.permissionsDescription })
|
|
3361
3531
|
] }),
|
|
3362
|
-
/* @__PURE__ */ (0,
|
|
3363
|
-
onRefresh && /* @__PURE__ */ (0,
|
|
3364
|
-
/* @__PURE__ */ (0,
|
|
3365
|
-
/* @__PURE__ */ (0,
|
|
3532
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_antd11.Space, { children: [
|
|
3533
|
+
onRefresh && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Button, { icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.ReloadOutlined, {}), onClick: onRefresh }),
|
|
3534
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Button, { type: "default", children: labels.remove }),
|
|
3535
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Button, { type: "primary", icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.PlusOutlined, {}), children: labels.addPermissions })
|
|
3366
3536
|
] })
|
|
3367
3537
|
]
|
|
3368
3538
|
}
|
|
3369
3539
|
),
|
|
3370
|
-
/* @__PURE__ */ (0,
|
|
3371
|
-
/* @__PURE__ */ (0,
|
|
3372
|
-
|
|
3540
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { style: { display: "flex", gap: 16, marginBottom: 16 }, children: [
|
|
3541
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3542
|
+
import_antd11.Input,
|
|
3373
3543
|
{
|
|
3374
3544
|
placeholder: labels.searchPermissions,
|
|
3375
|
-
prefix: /* @__PURE__ */ (0,
|
|
3545
|
+
prefix: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.KeyOutlined, {}),
|
|
3376
3546
|
value: permissionSearch,
|
|
3377
3547
|
onChange: (e) => setPermissionSearch(e.target.value),
|
|
3378
3548
|
style: { width: 300 }
|
|
3379
3549
|
}
|
|
3380
3550
|
),
|
|
3381
|
-
/* @__PURE__ */ (0,
|
|
3382
|
-
|
|
3551
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3552
|
+
import_antd11.Select,
|
|
3383
3553
|
{
|
|
3384
3554
|
value: permissionTypeFilter,
|
|
3385
3555
|
onChange: setPermissionTypeFilter,
|
|
@@ -3392,8 +3562,8 @@ function UserDetailCard({
|
|
|
3392
3562
|
}
|
|
3393
3563
|
)
|
|
3394
3564
|
] }),
|
|
3395
|
-
/* @__PURE__ */ (0,
|
|
3396
|
-
|
|
3565
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3566
|
+
import_antd11.Table,
|
|
3397
3567
|
{
|
|
3398
3568
|
dataSource: filteredPermissions,
|
|
3399
3569
|
pagination: { pageSize: 10 },
|
|
@@ -3402,9 +3572,9 @@ function UserDetailCard({
|
|
|
3402
3572
|
title: labels.permissions,
|
|
3403
3573
|
dataIndex: "permission",
|
|
3404
3574
|
key: "permission",
|
|
3405
|
-
render: (perm) => /* @__PURE__ */ (0,
|
|
3406
|
-
/* @__PURE__ */ (0,
|
|
3407
|
-
/* @__PURE__ */ (0,
|
|
3575
|
+
render: (perm) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_antd11.Space, { children: [
|
|
3576
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.KeyOutlined, { style: { color: "#faad14" } }),
|
|
3577
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AntLink, { children: perm })
|
|
3408
3578
|
] })
|
|
3409
3579
|
},
|
|
3410
3580
|
{
|
|
@@ -3412,17 +3582,17 @@ function UserDetailCard({
|
|
|
3412
3582
|
dataIndex: "type",
|
|
3413
3583
|
key: "type",
|
|
3414
3584
|
width: 150,
|
|
3415
|
-
render: (type) => /* @__PURE__ */ (0,
|
|
3585
|
+
render: (type) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Tag, { color: type === "role" ? "blue" : "green", children: type === "role" ? labels.viaRole : labels.viaTeam })
|
|
3416
3586
|
},
|
|
3417
3587
|
{
|
|
3418
3588
|
title: labels.attachedVia,
|
|
3419
3589
|
dataIndex: "attachedVia",
|
|
3420
3590
|
key: "attachedVia",
|
|
3421
3591
|
width: 200,
|
|
3422
|
-
render: (via, record) => /* @__PURE__ */ (0,
|
|
3423
|
-
record.type === "role" ? /* @__PURE__ */ (0,
|
|
3424
|
-
/* @__PURE__ */ (0,
|
|
3425
|
-
record.scope && record.scope !== "team" && /* @__PURE__ */ (0,
|
|
3592
|
+
render: (via, record) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_antd11.Space, { children: [
|
|
3593
|
+
record.type === "role" ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.SafetyOutlined, {}) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.TeamOutlined, {}),
|
|
3594
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { children: via }),
|
|
3595
|
+
record.scope && record.scope !== "team" && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Tag, { color: getScopeColor(record.scope), style: { fontSize: 12 }, children: record.scope })
|
|
3426
3596
|
] })
|
|
3427
3597
|
}
|
|
3428
3598
|
]
|
|
@@ -3432,16 +3602,16 @@ function UserDetailCard({
|
|
|
3432
3602
|
},
|
|
3433
3603
|
{
|
|
3434
3604
|
key: "roles",
|
|
3435
|
-
label: /* @__PURE__ */ (0,
|
|
3436
|
-
/* @__PURE__ */ (0,
|
|
3605
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { children: [
|
|
3606
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.SafetyOutlined, {}),
|
|
3437
3607
|
" ",
|
|
3438
3608
|
labels.roles,
|
|
3439
3609
|
" (",
|
|
3440
3610
|
roleAssignments.length,
|
|
3441
3611
|
")"
|
|
3442
3612
|
] }),
|
|
3443
|
-
children: /* @__PURE__ */ (0,
|
|
3444
|
-
/* @__PURE__ */ (0,
|
|
3613
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
3614
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
3445
3615
|
"div",
|
|
3446
3616
|
{
|
|
3447
3617
|
style: {
|
|
@@ -3451,13 +3621,13 @@ function UserDetailCard({
|
|
|
3451
3621
|
marginBottom: 16
|
|
3452
3622
|
},
|
|
3453
3623
|
children: [
|
|
3454
|
-
/* @__PURE__ */ (0,
|
|
3455
|
-
onAssignRole && /* @__PURE__ */ (0,
|
|
3624
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Title3, { level: 5, style: { margin: 0 }, children: labels.roleAssignments }),
|
|
3625
|
+
onAssignRole && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Button, { type: "primary", icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.PlusOutlined, {}), onClick: onAssignRole, children: labels.assignRole })
|
|
3456
3626
|
]
|
|
3457
3627
|
}
|
|
3458
3628
|
),
|
|
3459
|
-
roleAssignments.length === 0 ? /* @__PURE__ */ (0,
|
|
3460
|
-
|
|
3629
|
+
roleAssignments.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Empty, { description: labels.noRolesAssigned }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3630
|
+
import_antd11.Table,
|
|
3461
3631
|
{
|
|
3462
3632
|
dataSource: roleAssignments,
|
|
3463
3633
|
rowKey: (r) => `${r.role.id}-${r.console_org_id}-${r.console_branch_id}`,
|
|
@@ -3465,10 +3635,10 @@ function UserDetailCard({
|
|
|
3465
3635
|
{
|
|
3466
3636
|
title: labels.roles,
|
|
3467
3637
|
key: "role",
|
|
3468
|
-
render: (_, record) => /* @__PURE__ */ (0,
|
|
3469
|
-
/* @__PURE__ */ (0,
|
|
3470
|
-
/* @__PURE__ */ (0,
|
|
3471
|
-
|
|
3638
|
+
render: (_, record) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_antd11.Space, { children: [
|
|
3639
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.SafetyOutlined, { style: { color: "#1890ff" } }),
|
|
3640
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3641
|
+
Text7,
|
|
3472
3642
|
{
|
|
3473
3643
|
strong: true,
|
|
3474
3644
|
style: { color: "#1890ff", cursor: onRoleClick ? "pointer" : "default" },
|
|
@@ -3476,14 +3646,14 @@ function UserDetailCard({
|
|
|
3476
3646
|
children: record.role.name
|
|
3477
3647
|
}
|
|
3478
3648
|
),
|
|
3479
|
-
/* @__PURE__ */ (0,
|
|
3649
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Tag, { color: "default", children: record.role.slug })
|
|
3480
3650
|
] })
|
|
3481
3651
|
},
|
|
3482
3652
|
{
|
|
3483
3653
|
title: labels.global,
|
|
3484
3654
|
key: "scope",
|
|
3485
3655
|
width: 200,
|
|
3486
|
-
render: (_, record) => /* @__PURE__ */ (0,
|
|
3656
|
+
render: (_, record) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Tag, { color: getScopeColor(record.scope), children: getScopeLabel2(record) })
|
|
3487
3657
|
},
|
|
3488
3658
|
{
|
|
3489
3659
|
title: labels.level,
|
|
@@ -3495,7 +3665,7 @@ function UserDetailCard({
|
|
|
3495
3665
|
title: labels.permissions,
|
|
3496
3666
|
key: "permissions",
|
|
3497
3667
|
width: 150,
|
|
3498
|
-
render: (_, record) => /* @__PURE__ */ (0,
|
|
3668
|
+
render: (_, record) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Text7, { children: [
|
|
3499
3669
|
record.permissions.length,
|
|
3500
3670
|
" ",
|
|
3501
3671
|
labels.permissions.toLowerCase()
|
|
@@ -3505,8 +3675,8 @@ function UserDetailCard({
|
|
|
3505
3675
|
title: labels.actions,
|
|
3506
3676
|
key: "actions",
|
|
3507
3677
|
width: 100,
|
|
3508
|
-
render: (_, record) => onRemoveRole && /* @__PURE__ */ (0,
|
|
3509
|
-
|
|
3678
|
+
render: (_, record) => onRemoveRole && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3679
|
+
import_antd11.Popconfirm,
|
|
3510
3680
|
{
|
|
3511
3681
|
title: labels.confirmRemoveRole,
|
|
3512
3682
|
onConfirm: () => onRemoveRole(
|
|
@@ -3514,12 +3684,12 @@ function UserDetailCard({
|
|
|
3514
3684
|
record.console_org_id,
|
|
3515
3685
|
record.console_branch_id
|
|
3516
3686
|
),
|
|
3517
|
-
children: /* @__PURE__ */ (0,
|
|
3518
|
-
|
|
3687
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3688
|
+
import_antd11.Button,
|
|
3519
3689
|
{
|
|
3520
3690
|
type: "text",
|
|
3521
3691
|
danger: true,
|
|
3522
|
-
icon: /* @__PURE__ */ (0,
|
|
3692
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.DeleteOutlined, {}),
|
|
3523
3693
|
loading: removeLoading
|
|
3524
3694
|
}
|
|
3525
3695
|
)
|
|
@@ -3533,18 +3703,18 @@ function UserDetailCard({
|
|
|
3533
3703
|
},
|
|
3534
3704
|
{
|
|
3535
3705
|
key: "teams",
|
|
3536
|
-
label: /* @__PURE__ */ (0,
|
|
3537
|
-
/* @__PURE__ */ (0,
|
|
3706
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { children: [
|
|
3707
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.TeamOutlined, {}),
|
|
3538
3708
|
" ",
|
|
3539
3709
|
labels.teams,
|
|
3540
3710
|
" (",
|
|
3541
3711
|
teamMemberships.length,
|
|
3542
3712
|
")"
|
|
3543
3713
|
] }),
|
|
3544
|
-
children: /* @__PURE__ */ (0,
|
|
3545
|
-
/* @__PURE__ */ (0,
|
|
3546
|
-
teamMemberships.length === 0 ? /* @__PURE__ */ (0,
|
|
3547
|
-
|
|
3714
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
3715
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Title3, { level: 5, style: { marginBottom: 16 }, children: labels.teamMemberships }),
|
|
3716
|
+
teamMemberships.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Empty, { description: labels.noTeamMemberships }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3717
|
+
import_antd11.Table,
|
|
3548
3718
|
{
|
|
3549
3719
|
dataSource: teamMemberships,
|
|
3550
3720
|
rowKey: (m) => m.team.id,
|
|
@@ -3552,10 +3722,10 @@ function UserDetailCard({
|
|
|
3552
3722
|
{
|
|
3553
3723
|
title: labels.teams,
|
|
3554
3724
|
key: "team",
|
|
3555
|
-
render: (_, record) => /* @__PURE__ */ (0,
|
|
3556
|
-
/* @__PURE__ */ (0,
|
|
3557
|
-
/* @__PURE__ */ (0,
|
|
3558
|
-
record.team.path && /* @__PURE__ */ (0,
|
|
3725
|
+
render: (_, record) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_antd11.Space, { children: [
|
|
3726
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.TeamOutlined, { style: { color: "#52c41a" } }),
|
|
3727
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { strong: true, children: record.team.name }),
|
|
3728
|
+
record.team.path && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Text7, { type: "secondary", children: [
|
|
3559
3729
|
"(",
|
|
3560
3730
|
record.team.path,
|
|
3561
3731
|
")"
|
|
@@ -3566,13 +3736,13 @@ function UserDetailCard({
|
|
|
3566
3736
|
title: labels.teamLeader,
|
|
3567
3737
|
key: "leader",
|
|
3568
3738
|
width: 150,
|
|
3569
|
-
render: (_, record) => record.is_leader ? /* @__PURE__ */ (0,
|
|
3739
|
+
render: (_, record) => record.is_leader ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Tag, { color: "gold", children: labels.teamLeader }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { type: "secondary", children: "-" })
|
|
3570
3740
|
},
|
|
3571
3741
|
{
|
|
3572
3742
|
title: labels.permissions,
|
|
3573
3743
|
key: "permissions",
|
|
3574
3744
|
width: 150,
|
|
3575
|
-
render: (_, record) => /* @__PURE__ */ (0,
|
|
3745
|
+
render: (_, record) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Text7, { children: [
|
|
3576
3746
|
record.permissions.length,
|
|
3577
3747
|
" ",
|
|
3578
3748
|
labels.permissions.toLowerCase()
|
|
@@ -3585,19 +3755,19 @@ function UserDetailCard({
|
|
|
3585
3755
|
},
|
|
3586
3756
|
{
|
|
3587
3757
|
key: "aggregated",
|
|
3588
|
-
label: /* @__PURE__ */ (0,
|
|
3589
|
-
/* @__PURE__ */ (0,
|
|
3758
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { children: [
|
|
3759
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.SafetyOutlined, {}),
|
|
3590
3760
|
" ",
|
|
3591
3761
|
labels.aggregatedPermissions,
|
|
3592
3762
|
" (",
|
|
3593
3763
|
aggregatedPermissions.length,
|
|
3594
3764
|
")"
|
|
3595
3765
|
] }),
|
|
3596
|
-
children: /* @__PURE__ */ (0,
|
|
3597
|
-
/* @__PURE__ */ (0,
|
|
3598
|
-
/* @__PURE__ */ (0,
|
|
3599
|
-
aggregatedPermissions.length === 0 ? /* @__PURE__ */ (0,
|
|
3600
|
-
|
|
3766
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
3767
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Title3, { level: 5, style: { marginBottom: 16 }, children: labels.aggregatedPermissions }),
|
|
3768
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { type: "secondary", style: { display: "block", marginBottom: 16 }, children: "\u3059\u3079\u3066\u306E\u30ED\u30FC\u30EB\u3068\u30C1\u30FC\u30E0\u304B\u3089\u96C6\u7D04\u3055\u308C\u305F\u6A29\u9650\u306E\u4E00\u89A7\u3067\u3059\u3002" }),
|
|
3769
|
+
aggregatedPermissions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Empty, { description: labels.noPermissions }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
3770
|
+
import_antd11.Table,
|
|
3601
3771
|
{
|
|
3602
3772
|
dataSource: aggregatedPermissions.map((perm) => ({
|
|
3603
3773
|
key: perm,
|
|
@@ -3618,15 +3788,15 @@ function UserDetailCard({
|
|
|
3618
3788
|
value: g
|
|
3619
3789
|
})),
|
|
3620
3790
|
onFilter: (value, record) => record.group === value,
|
|
3621
|
-
render: (group) => /* @__PURE__ */ (0,
|
|
3791
|
+
render: (group) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Tag, { icon: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.SafetyOutlined, {}), color: "blue", children: group })
|
|
3622
3792
|
},
|
|
3623
3793
|
{
|
|
3624
3794
|
title: labels.permissions,
|
|
3625
3795
|
dataIndex: "permission",
|
|
3626
3796
|
key: "permission",
|
|
3627
|
-
render: (perm) => /* @__PURE__ */ (0,
|
|
3628
|
-
/* @__PURE__ */ (0,
|
|
3629
|
-
/* @__PURE__ */ (0,
|
|
3797
|
+
render: (perm) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_antd11.Space, { children: [
|
|
3798
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.KeyOutlined, { style: { color: "#faad14" } }),
|
|
3799
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { children: perm })
|
|
3630
3800
|
] })
|
|
3631
3801
|
},
|
|
3632
3802
|
{
|
|
@@ -3634,7 +3804,7 @@ function UserDetailCard({
|
|
|
3634
3804
|
dataIndex: "action",
|
|
3635
3805
|
key: "action",
|
|
3636
3806
|
width: 150,
|
|
3637
|
-
render: (action) => /* @__PURE__ */ (0,
|
|
3807
|
+
render: (action) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Tag, { color: "green", children: action })
|
|
3638
3808
|
}
|
|
3639
3809
|
]
|
|
3640
3810
|
}
|
|
@@ -3642,8 +3812,8 @@ function UserDetailCard({
|
|
|
3642
3812
|
] })
|
|
3643
3813
|
}
|
|
3644
3814
|
];
|
|
3645
|
-
return /* @__PURE__ */ (0,
|
|
3646
|
-
/* @__PURE__ */ (0,
|
|
3815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
3816
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Card, { size: "small", style: { marginBottom: 24 }, styles: { body: { padding: "16px 24px" } }, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
3647
3817
|
"div",
|
|
3648
3818
|
{
|
|
3649
3819
|
style: {
|
|
@@ -3652,45 +3822,45 @@ function UserDetailCard({
|
|
|
3652
3822
|
gap: "20px 48px"
|
|
3653
3823
|
},
|
|
3654
3824
|
children: [
|
|
3655
|
-
/* @__PURE__ */ (0,
|
|
3656
|
-
/* @__PURE__ */ (0,
|
|
3657
|
-
/* @__PURE__ */ (0,
|
|
3825
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
3826
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { type: "secondary", style: { fontSize: 12, display: "block", marginBottom: 4 }, children: labels.email }),
|
|
3827
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { copyable: true, style: { fontSize: 14 }, children: user?.email || "-" })
|
|
3658
3828
|
] }),
|
|
3659
|
-
/* @__PURE__ */ (0,
|
|
3660
|
-
/* @__PURE__ */ (0,
|
|
3661
|
-
user?.organization ? /* @__PURE__ */ (0,
|
|
3662
|
-
/* @__PURE__ */ (0,
|
|
3663
|
-
/* @__PURE__ */ (0,
|
|
3664
|
-
] }) : /* @__PURE__ */ (0,
|
|
3665
|
-
/* @__PURE__ */ (0,
|
|
3666
|
-
/* @__PURE__ */ (0,
|
|
3829
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
3830
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { type: "secondary", style: { fontSize: 12, display: "block", marginBottom: 4 }, children: labels.primaryOrganization }),
|
|
3831
|
+
user?.organization ? /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_antd11.Space, { size: 4, children: [
|
|
3832
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.BankOutlined, { style: { color: "#1890ff" } }),
|
|
3833
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { style: { fontSize: 14 }, children: user.organization.name })
|
|
3834
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_antd11.Space, { size: 4, children: [
|
|
3835
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.GlobalOutlined, { style: { color: "#722ed1" } }),
|
|
3836
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { style: { fontSize: 14 }, children: labels.global })
|
|
3667
3837
|
] })
|
|
3668
3838
|
] }),
|
|
3669
|
-
/* @__PURE__ */ (0,
|
|
3670
|
-
/* @__PURE__ */ (0,
|
|
3671
|
-
/* @__PURE__ */ (0,
|
|
3672
|
-
currentOrg && /* @__PURE__ */ (0,
|
|
3673
|
-
/* @__PURE__ */ (0,
|
|
3674
|
-
/* @__PURE__ */ (0,
|
|
3839
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
3840
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { type: "secondary", style: { fontSize: 12, display: "block", marginBottom: 4 }, children: labels.currentContext }),
|
|
3841
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_antd11.Space, { size: 16, wrap: true, children: [
|
|
3842
|
+
currentOrg && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_antd11.Space, { size: 4, children: [
|
|
3843
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.BankOutlined, { style: { color: "#1890ff" } }),
|
|
3844
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { style: { fontSize: 14 }, children: currentOrg.name })
|
|
3675
3845
|
] }),
|
|
3676
|
-
currentBranch && /* @__PURE__ */ (0,
|
|
3677
|
-
/* @__PURE__ */ (0,
|
|
3678
|
-
/* @__PURE__ */ (0,
|
|
3846
|
+
currentBranch && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_antd11.Space, { size: 4, children: [
|
|
3847
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons9.BranchesOutlined, { style: { color: "#52c41a" } }),
|
|
3848
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { style: { fontSize: 14 }, children: currentBranch.name })
|
|
3679
3849
|
] })
|
|
3680
3850
|
] })
|
|
3681
3851
|
] }),
|
|
3682
|
-
/* @__PURE__ */ (0,
|
|
3683
|
-
/* @__PURE__ */ (0,
|
|
3684
|
-
/* @__PURE__ */ (0,
|
|
3852
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
3853
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { type: "secondary", style: { fontSize: 12, display: "block", marginBottom: 4 }, children: labels.created }),
|
|
3854
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { style: { fontSize: 14 }, children: user?.created_at ? new Date(user.created_at).toLocaleDateString() : "-" })
|
|
3685
3855
|
] }),
|
|
3686
|
-
/* @__PURE__ */ (0,
|
|
3687
|
-
/* @__PURE__ */ (0,
|
|
3688
|
-
/* @__PURE__ */ (0,
|
|
3856
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
3857
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { type: "secondary", style: { fontSize: 12, display: "block", marginBottom: 4 }, children: labels.lastSignIn }),
|
|
3858
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { style: { fontSize: 14 }, children: "-" })
|
|
3689
3859
|
] }),
|
|
3690
|
-
/* @__PURE__ */ (0,
|
|
3691
|
-
/* @__PURE__ */ (0,
|
|
3692
|
-
/* @__PURE__ */ (0,
|
|
3693
|
-
/* @__PURE__ */ (0,
|
|
3860
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
|
|
3861
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { type: "secondary", style: { fontSize: 12, display: "block", marginBottom: 4 }, children: labels.roleAssignments }),
|
|
3862
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Text7, { style: { fontSize: 14 }, children: [
|
|
3863
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text7, { strong: true, children: roleAssignments.length }),
|
|
3694
3864
|
" ",
|
|
3695
3865
|
labels.roles.toLowerCase()
|
|
3696
3866
|
] })
|
|
@@ -3698,15 +3868,15 @@ function UserDetailCard({
|
|
|
3698
3868
|
]
|
|
3699
3869
|
}
|
|
3700
3870
|
) }),
|
|
3701
|
-
/* @__PURE__ */ (0,
|
|
3871
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Card, { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_antd11.Tabs, { defaultActiveKey: "permissions", items: tabItems }) })
|
|
3702
3872
|
] });
|
|
3703
3873
|
}
|
|
3704
3874
|
|
|
3705
3875
|
// src/ant/components/RoleCreateModal/RoleCreateModal.tsx
|
|
3706
3876
|
var import_icons10 = require("@ant-design/icons");
|
|
3707
|
-
var
|
|
3708
|
-
var
|
|
3709
|
-
var
|
|
3877
|
+
var import_antd12 = require("antd");
|
|
3878
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
3879
|
+
var defaultTranslations6 = {
|
|
3710
3880
|
title: "\u30ED\u30FC\u30EB\u4F5C\u6210",
|
|
3711
3881
|
name: "\u540D\u524D",
|
|
3712
3882
|
slug: "\u30B9\u30E9\u30C3\u30B0",
|
|
@@ -3729,8 +3899,8 @@ function RoleCreateModal({
|
|
|
3729
3899
|
onCancel,
|
|
3730
3900
|
translations: t = {}
|
|
3731
3901
|
}) {
|
|
3732
|
-
const [form] =
|
|
3733
|
-
const labels = { ...
|
|
3902
|
+
const [form] = import_antd12.Form.useForm();
|
|
3903
|
+
const labels = { ...defaultTranslations6, ...t };
|
|
3734
3904
|
const handleFinish = async (values) => {
|
|
3735
3905
|
await onSubmit(values);
|
|
3736
3906
|
form.resetFields();
|
|
@@ -3739,86 +3909,86 @@ function RoleCreateModal({
|
|
|
3739
3909
|
form.resetFields();
|
|
3740
3910
|
onCancel();
|
|
3741
3911
|
};
|
|
3742
|
-
return /* @__PURE__ */ (0,
|
|
3743
|
-
|
|
3912
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3913
|
+
import_antd12.Modal,
|
|
3744
3914
|
{
|
|
3745
|
-
title: /* @__PURE__ */ (0,
|
|
3746
|
-
/* @__PURE__ */ (0,
|
|
3915
|
+
title: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_antd12.Space, { children: [
|
|
3916
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_icons10.PlusOutlined, {}),
|
|
3747
3917
|
labels.title
|
|
3748
3918
|
] }),
|
|
3749
3919
|
open,
|
|
3750
3920
|
onCancel: handleCancel,
|
|
3751
3921
|
footer: null,
|
|
3752
3922
|
destroyOnHidden: true,
|
|
3753
|
-
children: /* @__PURE__ */ (0,
|
|
3754
|
-
|
|
3923
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
3924
|
+
import_antd12.Form,
|
|
3755
3925
|
{
|
|
3756
3926
|
form,
|
|
3757
3927
|
layout: "vertical",
|
|
3758
3928
|
onFinish: handleFinish,
|
|
3759
3929
|
initialValues: { level: 50, scope: "org", org_id: currentOrgId },
|
|
3760
3930
|
children: [
|
|
3761
|
-
/* @__PURE__ */ (0,
|
|
3762
|
-
|
|
3931
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3932
|
+
import_antd12.Form.Item,
|
|
3763
3933
|
{
|
|
3764
3934
|
name: "scope",
|
|
3765
3935
|
label: labels.scope,
|
|
3766
3936
|
rules: [{ required: true, message: labels.required }],
|
|
3767
|
-
children: /* @__PURE__ */ (0,
|
|
3768
|
-
/* @__PURE__ */ (0,
|
|
3769
|
-
/* @__PURE__ */ (0,
|
|
3937
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_antd12.Radio.Group, { children: [
|
|
3938
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.Radio, { value: "global", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_antd12.Space, { children: [
|
|
3939
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_icons10.GlobalOutlined, {}),
|
|
3770
3940
|
labels.global
|
|
3771
3941
|
] }) }),
|
|
3772
|
-
/* @__PURE__ */ (0,
|
|
3773
|
-
/* @__PURE__ */ (0,
|
|
3942
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.Radio, { value: "org", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_antd12.Space, { children: [
|
|
3943
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_icons10.BankOutlined, {}),
|
|
3774
3944
|
labels.orgRole
|
|
3775
3945
|
] }) })
|
|
3776
3946
|
] })
|
|
3777
3947
|
}
|
|
3778
3948
|
),
|
|
3779
|
-
/* @__PURE__ */ (0,
|
|
3780
|
-
|
|
3949
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.Form.Item, { noStyle: true, shouldUpdate: (prev, curr) => prev.scope !== curr.scope, children: ({ getFieldValue }) => getFieldValue("scope") === "org" && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3950
|
+
import_antd12.Form.Item,
|
|
3781
3951
|
{
|
|
3782
3952
|
name: "org_id",
|
|
3783
3953
|
label: labels.organization,
|
|
3784
3954
|
rules: [{ required: true, message: labels.required }],
|
|
3785
|
-
children: /* @__PURE__ */ (0,
|
|
3786
|
-
/* @__PURE__ */ (0,
|
|
3955
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.Select, { placeholder: labels.organization, children: organizations.map((org) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.Select.Option, { value: String(org.id), children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_antd12.Space, { children: [
|
|
3956
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_icons10.BankOutlined, {}),
|
|
3787
3957
|
org.name
|
|
3788
3958
|
] }) }, org.id)) })
|
|
3789
3959
|
}
|
|
3790
3960
|
) }),
|
|
3791
|
-
/* @__PURE__ */ (0,
|
|
3792
|
-
|
|
3961
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3962
|
+
import_antd12.Form.Item,
|
|
3793
3963
|
{
|
|
3794
3964
|
name: "name",
|
|
3795
3965
|
label: labels.name,
|
|
3796
3966
|
rules: [{ required: true, message: labels.required }],
|
|
3797
|
-
children: /* @__PURE__ */ (0,
|
|
3967
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.Input, {})
|
|
3798
3968
|
}
|
|
3799
3969
|
),
|
|
3800
|
-
/* @__PURE__ */ (0,
|
|
3801
|
-
|
|
3970
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3971
|
+
import_antd12.Form.Item,
|
|
3802
3972
|
{
|
|
3803
3973
|
name: "slug",
|
|
3804
3974
|
label: labels.slug,
|
|
3805
3975
|
rules: [{ required: true, message: labels.required }],
|
|
3806
|
-
children: /* @__PURE__ */ (0,
|
|
3976
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.Input, {})
|
|
3807
3977
|
}
|
|
3808
3978
|
),
|
|
3809
|
-
/* @__PURE__ */ (0,
|
|
3810
|
-
/* @__PURE__ */ (0,
|
|
3811
|
-
|
|
3979
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.Form.Item, { name: "description", label: labels.description, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.Input.TextArea, { rows: 3 }) }),
|
|
3980
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3981
|
+
import_antd12.Form.Item,
|
|
3812
3982
|
{
|
|
3813
3983
|
name: "level",
|
|
3814
3984
|
label: labels.level,
|
|
3815
3985
|
rules: [{ required: true, message: labels.required }],
|
|
3816
|
-
children: /* @__PURE__ */ (0,
|
|
3986
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.InputNumber, { min: 1, max: 100, style: { width: "100%" } })
|
|
3817
3987
|
}
|
|
3818
3988
|
),
|
|
3819
|
-
/* @__PURE__ */ (0,
|
|
3820
|
-
/* @__PURE__ */ (0,
|
|
3821
|
-
/* @__PURE__ */ (0,
|
|
3989
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.Form.Item, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_antd12.Space, { children: [
|
|
3990
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.Button, { type: "primary", htmlType: "submit", loading, children: labels.create }),
|
|
3991
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_antd12.Button, { onClick: handleCancel, children: labels.cancel })
|
|
3822
3992
|
] }) })
|
|
3823
3993
|
]
|
|
3824
3994
|
}
|
|
@@ -3829,10 +3999,10 @@ function RoleCreateModal({
|
|
|
3829
3999
|
|
|
3830
4000
|
// src/ant/components/RolesListCard/RolesListCard.tsx
|
|
3831
4001
|
var import_icons11 = require("@ant-design/icons");
|
|
3832
|
-
var
|
|
3833
|
-
var
|
|
3834
|
-
var { Text:
|
|
3835
|
-
var
|
|
4002
|
+
var import_antd13 = require("antd");
|
|
4003
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
4004
|
+
var { Text: Text8 } = import_antd13.Typography;
|
|
4005
|
+
var defaultTranslations7 = {
|
|
3836
4006
|
name: "\u540D\u524D",
|
|
3837
4007
|
scope: "\u30B9\u30B3\u30FC\u30D7",
|
|
3838
4008
|
level: "\u30EC\u30D9\u30EB",
|
|
@@ -3854,16 +4024,16 @@ function RolesListCard({
|
|
|
3854
4024
|
onDeleteClick,
|
|
3855
4025
|
translations: t = {}
|
|
3856
4026
|
}) {
|
|
3857
|
-
const labels = { ...
|
|
4027
|
+
const labels = { ...defaultTranslations7, ...t };
|
|
3858
4028
|
const columns = [
|
|
3859
4029
|
{
|
|
3860
4030
|
title: labels.name,
|
|
3861
4031
|
dataIndex: "name",
|
|
3862
4032
|
key: "name",
|
|
3863
|
-
render: (name, record) => /* @__PURE__ */ (0,
|
|
3864
|
-
/* @__PURE__ */ (0,
|
|
3865
|
-
/* @__PURE__ */ (0,
|
|
3866
|
-
/* @__PURE__ */ (0,
|
|
4033
|
+
render: (name, record) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_antd13.Space, { children: [
|
|
4034
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_icons11.SafetyOutlined, { style: { color: "#1890ff" } }),
|
|
4035
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text8, { strong: true, children: name }),
|
|
4036
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_antd13.Tag, { children: record.slug })
|
|
3867
4037
|
] })
|
|
3868
4038
|
},
|
|
3869
4039
|
{
|
|
@@ -3871,14 +4041,14 @@ function RolesListCard({
|
|
|
3871
4041
|
dataIndex: "console_org_id",
|
|
3872
4042
|
key: "scope",
|
|
3873
4043
|
width: 180,
|
|
3874
|
-
render: (_, record) => record.console_org_id ? /* @__PURE__ */ (0,
|
|
4044
|
+
render: (_, record) => record.console_org_id ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_antd13.Tag, { icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_icons11.BankOutlined, {}), color: "blue", children: record.organization?.name || record.console_org_id }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_antd13.Tag, { icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_icons11.GlobalOutlined, {}), color: "purple", children: labels.global })
|
|
3875
4045
|
},
|
|
3876
4046
|
{
|
|
3877
4047
|
title: labels.level,
|
|
3878
4048
|
dataIndex: "level",
|
|
3879
4049
|
key: "level",
|
|
3880
4050
|
width: 100,
|
|
3881
|
-
render: (level) => /* @__PURE__ */ (0,
|
|
4051
|
+
render: (level) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_antd13.Tag, { color: "blue", children: level })
|
|
3882
4052
|
},
|
|
3883
4053
|
{
|
|
3884
4054
|
title: labels.description,
|
|
@@ -3890,45 +4060,45 @@ function RolesListCard({
|
|
|
3890
4060
|
title: labels.actions,
|
|
3891
4061
|
key: "actions",
|
|
3892
4062
|
width: 180,
|
|
3893
|
-
render: (_, record) => /* @__PURE__ */ (0,
|
|
3894
|
-
/* @__PURE__ */ (0,
|
|
3895
|
-
/* @__PURE__ */ (0,
|
|
4063
|
+
render: (_, record) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_antd13.Space, { children: [
|
|
4064
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_antd13.Button, { size: "small", icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_icons11.EyeOutlined, {}), onClick: () => onViewClick(record), children: labels.detail }),
|
|
4065
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_antd13.Popconfirm, { title: labels.confirmDeleteRole, onConfirm: () => onDeleteClick(record), children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_antd13.Button, { size: "small", danger: true, icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_icons11.DeleteOutlined, {}) }) })
|
|
3896
4066
|
] })
|
|
3897
4067
|
}
|
|
3898
4068
|
];
|
|
3899
|
-
return /* @__PURE__ */ (0,
|
|
3900
|
-
|
|
4069
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
4070
|
+
import_antd13.Card,
|
|
3901
4071
|
{
|
|
3902
|
-
title: /* @__PURE__ */ (0,
|
|
3903
|
-
/* @__PURE__ */ (0,
|
|
4072
|
+
title: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_antd13.Space, { children: [
|
|
4073
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_icons11.SafetyOutlined, {}),
|
|
3904
4074
|
"Roles"
|
|
3905
4075
|
] }),
|
|
3906
|
-
extra: /* @__PURE__ */ (0,
|
|
4076
|
+
extra: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_antd13.Button, { type: "primary", icon: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_icons11.PlusOutlined, {}), onClick: onCreateClick, children: "Create" }),
|
|
3907
4077
|
children: [
|
|
3908
|
-
/* @__PURE__ */ (0,
|
|
3909
|
-
|
|
4078
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { style: { marginBottom: 16, display: "flex", gap: 16 }, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
4079
|
+
import_antd13.Select,
|
|
3910
4080
|
{
|
|
3911
4081
|
value: scopeFilter,
|
|
3912
4082
|
onChange: onScopeFilterChange,
|
|
3913
4083
|
style: { minWidth: 200 },
|
|
3914
4084
|
children: [
|
|
3915
|
-
/* @__PURE__ */ (0,
|
|
3916
|
-
/* @__PURE__ */ (0,
|
|
4085
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_antd13.Select.Option, { value: "all", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_antd13.Space, { children: [
|
|
4086
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_icons11.SafetyOutlined, {}),
|
|
3917
4087
|
labels.all
|
|
3918
4088
|
] }) }),
|
|
3919
|
-
/* @__PURE__ */ (0,
|
|
3920
|
-
/* @__PURE__ */ (0,
|
|
4089
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_antd13.Select.Option, { value: "global", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_antd13.Space, { children: [
|
|
4090
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_icons11.GlobalOutlined, {}),
|
|
3921
4091
|
labels.global
|
|
3922
4092
|
] }) }),
|
|
3923
|
-
/* @__PURE__ */ (0,
|
|
3924
|
-
/* @__PURE__ */ (0,
|
|
4093
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_antd13.Select.Option, { value: "org", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_antd13.Space, { children: [
|
|
4094
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_icons11.BankOutlined, {}),
|
|
3925
4095
|
labels.orgRole
|
|
3926
4096
|
] }) })
|
|
3927
4097
|
]
|
|
3928
4098
|
}
|
|
3929
4099
|
) }),
|
|
3930
|
-
/* @__PURE__ */ (0,
|
|
3931
|
-
|
|
4100
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
4101
|
+
import_antd13.Table,
|
|
3932
4102
|
{
|
|
3933
4103
|
columns,
|
|
3934
4104
|
dataSource: roles,
|
|
@@ -3944,11 +4114,11 @@ function RolesListCard({
|
|
|
3944
4114
|
|
|
3945
4115
|
// src/ant/components/PermissionsListCard/PermissionsListCard.tsx
|
|
3946
4116
|
var import_icons12 = require("@ant-design/icons");
|
|
3947
|
-
var
|
|
3948
|
-
var
|
|
3949
|
-
var
|
|
3950
|
-
var { Text:
|
|
3951
|
-
var
|
|
4117
|
+
var import_antd14 = require("antd");
|
|
4118
|
+
var import_react18 = require("react");
|
|
4119
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
4120
|
+
var { Text: Text9 } = import_antd14.Typography;
|
|
4121
|
+
var defaultTranslations8 = {
|
|
3952
4122
|
searchPermissions: "\u6A29\u9650\u3092\u691C\u7D22",
|
|
3953
4123
|
name: "\u540D\u524D",
|
|
3954
4124
|
slug: "\u30B9\u30E9\u30C3\u30B0",
|
|
@@ -3962,16 +4132,16 @@ function PermissionsListCard({
|
|
|
3962
4132
|
translations: t = {},
|
|
3963
4133
|
onGroupLabelRender
|
|
3964
4134
|
}) {
|
|
3965
|
-
const [search, setSearch] = (0,
|
|
3966
|
-
const labels = { ...
|
|
3967
|
-
const filteredPermissions = (0,
|
|
4135
|
+
const [search, setSearch] = (0, import_react18.useState)("");
|
|
4136
|
+
const labels = { ...defaultTranslations8, ...t };
|
|
4137
|
+
const filteredPermissions = (0, import_react18.useMemo)(() => {
|
|
3968
4138
|
if (!search) return permissions;
|
|
3969
4139
|
const lowerSearch = search.toLowerCase();
|
|
3970
4140
|
return permissions.filter(
|
|
3971
4141
|
(p) => p.name.toLowerCase().includes(lowerSearch) || p.slug.toLowerCase().includes(lowerSearch) || (p.group || "").toLowerCase().includes(lowerSearch)
|
|
3972
4142
|
);
|
|
3973
4143
|
}, [permissions, search]);
|
|
3974
|
-
const groupedPermissions = (0,
|
|
4144
|
+
const groupedPermissions = (0, import_react18.useMemo)(() => {
|
|
3975
4145
|
const grouped = {};
|
|
3976
4146
|
filteredPermissions.forEach((perm) => {
|
|
3977
4147
|
const group = perm.group || "other";
|
|
@@ -3989,27 +4159,27 @@ function PermissionsListCard({
|
|
|
3989
4159
|
title: labels.name,
|
|
3990
4160
|
dataIndex: "name",
|
|
3991
4161
|
key: "name",
|
|
3992
|
-
render: (name) => /* @__PURE__ */ (0,
|
|
3993
|
-
/* @__PURE__ */ (0,
|
|
3994
|
-
/* @__PURE__ */ (0,
|
|
4162
|
+
render: (name) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_antd14.Space, { children: [
|
|
4163
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons12.KeyOutlined, { style: { color: "#52c41a" } }),
|
|
4164
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text9, { strong: true, children: name })
|
|
3995
4165
|
] })
|
|
3996
4166
|
},
|
|
3997
4167
|
{
|
|
3998
4168
|
title: labels.slug,
|
|
3999
4169
|
dataIndex: "slug",
|
|
4000
4170
|
key: "slug",
|
|
4001
|
-
render: (slug) => /* @__PURE__ */ (0,
|
|
4171
|
+
render: (slug) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_antd14.Tag, { color: "blue", children: slug })
|
|
4002
4172
|
},
|
|
4003
4173
|
{
|
|
4004
4174
|
title: labels.group,
|
|
4005
4175
|
dataIndex: "group",
|
|
4006
4176
|
key: "group",
|
|
4007
|
-
render: (group) => /* @__PURE__ */ (0,
|
|
4177
|
+
render: (group) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_antd14.Tag, { icon: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons12.AppstoreOutlined, {}), color: "purple", children: getGroupLabel(group || "other") })
|
|
4008
4178
|
}
|
|
4009
4179
|
];
|
|
4010
|
-
return /* @__PURE__ */ (0,
|
|
4011
|
-
/* @__PURE__ */ (0,
|
|
4012
|
-
|
|
4180
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_antd14.Card, { children: [
|
|
4181
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { style: { marginBottom: 16 }, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
4182
|
+
import_antd14.Input.Search,
|
|
4013
4183
|
{
|
|
4014
4184
|
placeholder: labels.searchPermissions,
|
|
4015
4185
|
allowClear: true,
|
|
@@ -4018,16 +4188,16 @@ function PermissionsListCard({
|
|
|
4018
4188
|
style: { maxWidth: 300 }
|
|
4019
4189
|
}
|
|
4020
4190
|
) }),
|
|
4021
|
-
/* @__PURE__ */ (0,
|
|
4022
|
-
|
|
4191
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_antd14.Collapse, { defaultActiveKey: groups, ghost: true, children: Object.entries(groupedPermissions).map(([group, perms]) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
4192
|
+
import_antd14.Collapse.Panel,
|
|
4023
4193
|
{
|
|
4024
|
-
header: /* @__PURE__ */ (0,
|
|
4025
|
-
/* @__PURE__ */ (0,
|
|
4026
|
-
/* @__PURE__ */ (0,
|
|
4027
|
-
/* @__PURE__ */ (0,
|
|
4194
|
+
header: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_antd14.Space, { children: [
|
|
4195
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons12.AppstoreOutlined, { style: { color: "#722ed1" } }),
|
|
4196
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text9, { strong: true, children: getGroupLabel(group) }),
|
|
4197
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_antd14.Tag, { children: perms.length })
|
|
4028
4198
|
] }),
|
|
4029
|
-
children: /* @__PURE__ */ (0,
|
|
4030
|
-
|
|
4199
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
4200
|
+
import_antd14.Table,
|
|
4031
4201
|
{
|
|
4032
4202
|
columns,
|
|
4033
4203
|
dataSource: perms,
|
|
@@ -4040,16 +4210,16 @@ function PermissionsListCard({
|
|
|
4040
4210
|
},
|
|
4041
4211
|
group
|
|
4042
4212
|
)) }),
|
|
4043
|
-
filteredPermissions.length === 0 && !loading && /* @__PURE__ */ (0,
|
|
4213
|
+
filteredPermissions.length === 0 && !loading && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text9, { type: "secondary", children: labels.noData }) })
|
|
4044
4214
|
] });
|
|
4045
4215
|
}
|
|
4046
4216
|
|
|
4047
4217
|
// src/ant/components/TeamsListCard/TeamsListCard.tsx
|
|
4048
4218
|
var import_icons13 = require("@ant-design/icons");
|
|
4049
|
-
var
|
|
4050
|
-
var
|
|
4051
|
-
var { Text:
|
|
4052
|
-
var
|
|
4219
|
+
var import_antd15 = require("antd");
|
|
4220
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
4221
|
+
var { Text: Text10 } = import_antd15.Typography;
|
|
4222
|
+
var defaultTranslations9 = {
|
|
4053
4223
|
name: "\u540D\u524D",
|
|
4054
4224
|
memberCount: "\u30E1\u30F3\u30D0\u30FC\u6570",
|
|
4055
4225
|
permissions: "\u6A29\u9650",
|
|
@@ -4063,15 +4233,15 @@ function TeamsListCard({
|
|
|
4063
4233
|
loading = false,
|
|
4064
4234
|
translations: t = {}
|
|
4065
4235
|
}) {
|
|
4066
|
-
const labels = { ...
|
|
4236
|
+
const labels = { ...defaultTranslations9, ...t };
|
|
4067
4237
|
const columns = [
|
|
4068
4238
|
{
|
|
4069
4239
|
title: labels.name,
|
|
4070
4240
|
dataIndex: "name",
|
|
4071
4241
|
key: "name",
|
|
4072
|
-
render: (name) => /* @__PURE__ */ (0,
|
|
4073
|
-
/* @__PURE__ */ (0,
|
|
4074
|
-
/* @__PURE__ */ (0,
|
|
4242
|
+
render: (name) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("span", { children: [
|
|
4243
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons13.TeamOutlined, { style: { marginRight: 8, color: "#1890ff" } }),
|
|
4244
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Text10, { strong: true, children: name })
|
|
4075
4245
|
] })
|
|
4076
4246
|
},
|
|
4077
4247
|
{
|
|
@@ -4079,33 +4249,33 @@ function TeamsListCard({
|
|
|
4079
4249
|
dataIndex: "member_count",
|
|
4080
4250
|
key: "member_count",
|
|
4081
4251
|
width: 120,
|
|
4082
|
-
render: (count) => /* @__PURE__ */ (0,
|
|
4252
|
+
render: (count) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_antd15.Tag, { icon: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons13.UserOutlined, {}), children: count })
|
|
4083
4253
|
},
|
|
4084
4254
|
{
|
|
4085
4255
|
title: labels.permissions,
|
|
4086
4256
|
dataIndex: "permissions",
|
|
4087
4257
|
key: "permissions",
|
|
4088
|
-
render: (permissions) => /* @__PURE__ */ (0,
|
|
4258
|
+
render: (permissions) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { children: permissions.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_antd15.Tag, { color: "blue", children: [
|
|
4089
4259
|
permissions.length,
|
|
4090
4260
|
" ",
|
|
4091
4261
|
labels.permissions
|
|
4092
|
-
] }) : /* @__PURE__ */ (0,
|
|
4262
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_antd15.Tag, { children: [
|
|
4093
4263
|
"0 ",
|
|
4094
4264
|
labels.permissions
|
|
4095
4265
|
] }) })
|
|
4096
4266
|
}
|
|
4097
4267
|
];
|
|
4098
|
-
return /* @__PURE__ */ (0,
|
|
4099
|
-
|
|
4268
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_antd15.Card, { children: teams.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4269
|
+
import_antd15.Empty,
|
|
4100
4270
|
{
|
|
4101
|
-
description: /* @__PURE__ */ (0,
|
|
4271
|
+
description: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("span", { children: [
|
|
4102
4272
|
labels.noTeams,
|
|
4103
|
-
/* @__PURE__ */ (0,
|
|
4104
|
-
/* @__PURE__ */ (0,
|
|
4273
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("br", {}),
|
|
4274
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Text10, { type: "secondary", style: { fontSize: 12 }, children: labels.teamsFromConsole })
|
|
4105
4275
|
] })
|
|
4106
4276
|
}
|
|
4107
|
-
) : /* @__PURE__ */ (0,
|
|
4108
|
-
|
|
4277
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
4278
|
+
import_antd15.Table,
|
|
4109
4279
|
{
|
|
4110
4280
|
columns,
|
|
4111
4281
|
dataSource: teams,
|
|
@@ -4113,13 +4283,13 @@ function TeamsListCard({
|
|
|
4113
4283
|
loading,
|
|
4114
4284
|
pagination: { pageSize: 10 },
|
|
4115
4285
|
expandable: {
|
|
4116
|
-
expandedRowRender: (record) => /* @__PURE__ */ (0,
|
|
4117
|
-
/* @__PURE__ */ (0,
|
|
4118
|
-
/* @__PURE__ */ (0,
|
|
4286
|
+
expandedRowRender: (record) => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { style: { padding: "8px 0" }, children: [
|
|
4287
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Text10, { strong: true, style: { marginBottom: 8, display: "block" }, children: [
|
|
4288
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons13.KeyOutlined, { style: { marginRight: 4 } }),
|
|
4119
4289
|
labels.teamPermissions,
|
|
4120
4290
|
":"
|
|
4121
4291
|
] }),
|
|
4122
|
-
record.permissions.length === 0 ? /* @__PURE__ */ (0,
|
|
4292
|
+
record.permissions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Text10, { type: "secondary", children: labels.noData }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { style: { display: "flex", flexWrap: "wrap", gap: 4 }, children: record.permissions.map((perm) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_antd15.Tag, { color: "cyan", children: perm }, perm)) })
|
|
4123
4293
|
] })
|
|
4124
4294
|
}
|
|
4125
4295
|
}
|
|
@@ -4127,12 +4297,12 @@ function TeamsListCard({
|
|
|
4127
4297
|
}
|
|
4128
4298
|
|
|
4129
4299
|
// src/ant/theme/AntdThemeProvider.tsx
|
|
4130
|
-
var
|
|
4300
|
+
var import_antd16 = require("antd");
|
|
4131
4301
|
var import_en_US = __toESM(require("antd/locale/en_US"), 1);
|
|
4132
4302
|
var import_ja_JP = __toESM(require("antd/locale/ja_JP"), 1);
|
|
4133
4303
|
var import_vi_VN = __toESM(require("antd/locale/vi_VN"), 1);
|
|
4134
|
-
var
|
|
4135
|
-
var
|
|
4304
|
+
var import_react19 = require("react");
|
|
4305
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
4136
4306
|
var antdLocales = {
|
|
4137
4307
|
ja: import_ja_JP.default,
|
|
4138
4308
|
en: import_en_US.default,
|
|
@@ -4171,15 +4341,15 @@ function AntdThemeProvider({ children, variant = "dashboard", setDayjsLocale })
|
|
|
4171
4341
|
const antdLocale = antdLocales[locale] ?? import_ja_JP.default;
|
|
4172
4342
|
const fontFamily = fontFamilies[locale] ?? fontFamilies.ja;
|
|
4173
4343
|
const colors = themeColors[variant];
|
|
4174
|
-
(0,
|
|
4344
|
+
(0, import_react19.useEffect)(() => {
|
|
4175
4345
|
setDayjsLocale?.(locale);
|
|
4176
4346
|
}, [locale, setDayjsLocale]);
|
|
4177
|
-
return /* @__PURE__ */ (0,
|
|
4178
|
-
|
|
4347
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4348
|
+
import_antd16.ConfigProvider,
|
|
4179
4349
|
{
|
|
4180
4350
|
locale: antdLocale,
|
|
4181
4351
|
theme: {
|
|
4182
|
-
algorithm:
|
|
4352
|
+
algorithm: import_antd16.theme.defaultAlgorithm,
|
|
4183
4353
|
token: {
|
|
4184
4354
|
// ===========================================
|
|
4185
4355
|
// Tempofast Design System (HSL-based harmony)
|
|
@@ -4303,7 +4473,7 @@ function AntdThemeProvider({ children, variant = "dashboard", setDayjsLocale })
|
|
|
4303
4473
|
}
|
|
4304
4474
|
}
|
|
4305
4475
|
},
|
|
4306
|
-
children: /* @__PURE__ */ (0,
|
|
4476
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_antd16.App, { children })
|
|
4307
4477
|
}
|
|
4308
4478
|
);
|
|
4309
4479
|
}
|
|
@@ -5248,6 +5418,7 @@ function createSsoService(config) {
|
|
|
5248
5418
|
I18nProvider,
|
|
5249
5419
|
LocaleSwitcher,
|
|
5250
5420
|
OrgBranchSelectorModal,
|
|
5421
|
+
OrgGate,
|
|
5251
5422
|
OrganizationSwitcher,
|
|
5252
5423
|
PROTABLE_DEFAULT_TEXTS,
|
|
5253
5424
|
PageContainer,
|
|
@@ -5270,6 +5441,7 @@ function createSsoService(config) {
|
|
|
5270
5441
|
branchCacheSchemas,
|
|
5271
5442
|
branchCacheUpdateSchema,
|
|
5272
5443
|
changeLanguage,
|
|
5444
|
+
clearOrgIdForApi,
|
|
5273
5445
|
createAuthService,
|
|
5274
5446
|
createBranchHeaderSetter,
|
|
5275
5447
|
createBranchService,
|
|
@@ -5290,6 +5462,7 @@ function createSsoService(config) {
|
|
|
5290
5462
|
getEffectivePermissions,
|
|
5291
5463
|
getMessage,
|
|
5292
5464
|
getMessages,
|
|
5465
|
+
getOrgIdForApi,
|
|
5293
5466
|
getOrganizationCacheFieldLabel,
|
|
5294
5467
|
getOrganizationCacheFieldPlaceholder,
|
|
5295
5468
|
getOrganizationCacheLabel,
|
|
@@ -5314,6 +5487,7 @@ function createSsoService(config) {
|
|
|
5314
5487
|
getUserCacheFieldLabel,
|
|
5315
5488
|
getUserCacheFieldPlaceholder,
|
|
5316
5489
|
getUserCacheLabel,
|
|
5490
|
+
hasOrgIdForApi,
|
|
5317
5491
|
localeNames,
|
|
5318
5492
|
locales,
|
|
5319
5493
|
organizationCacheCreateSchema,
|
|
@@ -5333,6 +5507,7 @@ function createSsoService(config) {
|
|
|
5333
5507
|
roleSchemas,
|
|
5334
5508
|
roleUpdateSchema,
|
|
5335
5509
|
setBranchHeaders,
|
|
5510
|
+
setOrgIdForApi,
|
|
5336
5511
|
ssoNamespace,
|
|
5337
5512
|
ssoQueryKeys,
|
|
5338
5513
|
supportedLocales,
|