@nocobase/client 1.6.31 → 1.6.33
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.
|
@@ -18,6 +18,11 @@ export declare const CurrentPageUidContext: React.Context<string>;
|
|
|
18
18
|
* @internal
|
|
19
19
|
*/
|
|
20
20
|
export declare const CurrentTabUidContext: React.Context<string>;
|
|
21
|
+
export declare const IsSubPageClosedByPageMenuContext: React.Context<{
|
|
22
|
+
isSubPageClosedByPageMenu: () => boolean;
|
|
23
|
+
setFieldSchema: React.Dispatch<React.SetStateAction<Schema>>;
|
|
24
|
+
reset: () => void;
|
|
25
|
+
}>;
|
|
21
26
|
export declare const IsSubPageClosedByPageMenuProvider: FC;
|
|
22
27
|
export declare const CurrentPageUidProvider: FC;
|
|
23
28
|
export declare const CurrentTabUidProvider: FC;
|
|
@@ -34,8 +39,6 @@ export declare const useLocationNoUpdate: () => Location<any>;
|
|
|
34
39
|
export declare const useLocationSearch: () => string;
|
|
35
40
|
export declare const useIsAdminPage: () => boolean;
|
|
36
41
|
export declare const useCurrentPageUid: () => string;
|
|
37
|
-
export declare const useMatchAdmin: () => boolean;
|
|
38
|
-
export declare const useMatchAdminName: () => boolean;
|
|
39
42
|
export declare const useIsInSettingsPage: () => boolean;
|
|
40
43
|
/**
|
|
41
44
|
* @internal
|
package/es/index.mjs
CHANGED
|
@@ -62,7 +62,7 @@ import _, { filter, capitalize, cloneDeep as cloneDeep$1, isArray, every, some,
|
|
|
62
62
|
import template from "lodash/template";
|
|
63
63
|
import React, { createContext, useContext, useMemo, Fragment, useCallback, useEffect, memo, useState, useRef, Suspense, useDeferredValue, createElement, isValidElement, lazy as lazy$1, startTransition, useLayoutEffect, forwardRef, useImperativeHandle, createRef } from "react";
|
|
64
64
|
import * as ReactRouterDom from "react-router-dom";
|
|
65
|
-
import { useParams, useHref, useSearchParams, useLocation,
|
|
65
|
+
import { useParams, useHref, useSearchParams, useLocation, useNavigate, UNSAFE_LocationContext, UNSAFE_RouteContext, UNSAFE_DataRouterContext, UNSAFE_DataRouterStateContext, Outlet, createHashRouter, createBrowserRouter, createMemoryRouter, useRouteError, RouterProvider, Link as Link$1, Navigate, NavLink, Router, useOutletContext } from "react-router-dom";
|
|
66
66
|
import * as formilyShared from "@formily/shared";
|
|
67
67
|
import { merge, uid, isArr, isFn, applyMiddleware, isNum as isNum$1, isStr, isBool, toArr as toArr$3, isReactElement, isValid, FormPath, each, isEmpty as isEmpty$2 } from "@formily/shared";
|
|
68
68
|
import * as formilyJsonReactive from "@formily/reactive";
|
|
@@ -107,7 +107,7 @@ import { observer } from "@formily/reactive-react";
|
|
|
107
107
|
import cronstrue from "cronstrue";
|
|
108
108
|
import * as antdStyle from "antd-style";
|
|
109
109
|
import { createGlobalStyle, useAntdToken, createStyles } from "antd-style";
|
|
110
|
-
import { createStyles as
|
|
110
|
+
import { createStyles as vn } from "antd-style";
|
|
111
111
|
import JSON5 from "json5";
|
|
112
112
|
import { usePrefixCls as usePrefixCls$1, dayjsable, formatDayjsValue } from "@formily/antd-v5/esm/__builtins__";
|
|
113
113
|
import * as dndKitAccessibility from "@dnd-kit/accessibility";
|
|
@@ -129,7 +129,8 @@ import { useHotkeys } from "react-hotkeys-hook";
|
|
|
129
129
|
import { loadableResource } from "react-imported-component";
|
|
130
130
|
import LRUCache from "lru-cache";
|
|
131
131
|
import ignore from "ignore";
|
|
132
|
-
import ProLayout, {
|
|
132
|
+
import ProLayout, { RouteContext, PageHeader } from "@ant-design/pro-layout";
|
|
133
|
+
import { Context } from "rc-motion/es/context";
|
|
133
134
|
import { spliceArrayState, exchangeArrayState } from "@formily/core/esm/shared/internals";
|
|
134
135
|
import relativeTime from "dayjs/plugin/relativeTime";
|
|
135
136
|
import { useSchemaInitializer as useSchemaInitializer$1, SchemaInitializerItem as SchemaInitializerItem$1, ActionContextProvider as ActionContextProvider$1, SchemaComponent as SchemaComponent$1, Action as Action$2 } from "@nocobase/client";
|
|
@@ -1866,6 +1867,9 @@ const bp = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
1866
1867
|
get IsInNocoBaseRecursionFieldContext() {
|
|
1867
1868
|
return IsInNocoBaseRecursionFieldContext;
|
|
1868
1869
|
},
|
|
1870
|
+
get IsSubPageClosedByPageMenuContext() {
|
|
1871
|
+
return IsSubPageClosedByPageMenuContext;
|
|
1872
|
+
},
|
|
1869
1873
|
get IsSubPageClosedByPageMenuProvider() {
|
|
1870
1874
|
return IsSubPageClosedByPageMenuProvider;
|
|
1871
1875
|
},
|
|
@@ -3789,6 +3793,9 @@ const bp = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
3789
3793
|
get useIsSubPageClosedByPageMenu() {
|
|
3790
3794
|
return useIsSubPageClosedByPageMenu;
|
|
3791
3795
|
},
|
|
3796
|
+
get useKeepAlive() {
|
|
3797
|
+
return useKeepAlive;
|
|
3798
|
+
},
|
|
3792
3799
|
get useLabelUiSchema() {
|
|
3793
3800
|
return useLabelUiSchema;
|
|
3794
3801
|
},
|
|
@@ -3813,12 +3820,6 @@ const bp = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
3813
3820
|
get useLocationSearch() {
|
|
3814
3821
|
return useLocationSearch;
|
|
3815
3822
|
},
|
|
3816
|
-
get useMatchAdmin() {
|
|
3817
|
-
return useMatchAdmin;
|
|
3818
|
-
},
|
|
3819
|
-
get useMatchAdminName() {
|
|
3820
|
-
return useMatchAdminName;
|
|
3821
|
-
},
|
|
3822
3823
|
get useMenuDragEnd() {
|
|
3823
3824
|
return useMenuDragEnd;
|
|
3824
3825
|
},
|
|
@@ -6203,10 +6204,6 @@ const IsAdminPageContext = React.createContext(!1);
|
|
|
6203
6204
|
IsAdminPageContext.displayName = "IsAdminPageContext";
|
|
6204
6205
|
const CurrentPageUidContext = React.createContext("");
|
|
6205
6206
|
CurrentPageUidContext.displayName = "CurrentPageUidContext";
|
|
6206
|
-
const MatchAdminContext = React.createContext(!1);
|
|
6207
|
-
MatchAdminContext.displayName = "MatchAdminContext";
|
|
6208
|
-
const MatchAdminNameContext = React.createContext(!1);
|
|
6209
|
-
MatchAdminNameContext.displayName = "MatchAdminNameContext";
|
|
6210
6207
|
const IsInSettingsPageContext = React.createContext(!1);
|
|
6211
6208
|
IsInSettingsPageContext.displayName = "IsInSettingsPageContext";
|
|
6212
6209
|
const CurrentTabUidContext = React.createContext("");
|
|
@@ -6244,12 +6241,6 @@ const IsSubPageClosedByPageMenuProvider = ({ children: e }) => {
|
|
|
6244
6241
|
}, IsInSettingsPageProvider = ({ children: e }) => {
|
|
6245
6242
|
const t = useLocation().pathname.includes("/settings");
|
|
6246
6243
|
return /* @__PURE__ */ jsx(IsInSettingsPageContext.Provider, { value: t, children: e });
|
|
6247
|
-
}, MatchAdminProvider = ({ children: e }) => {
|
|
6248
|
-
const t = !!useMatch("/admin");
|
|
6249
|
-
return /* @__PURE__ */ jsx(MatchAdminContext.Provider, { value: t, children: e });
|
|
6250
|
-
}, MatchAdminNameProvider = ({ children: e }) => {
|
|
6251
|
-
const t = !!useMatch("/admin/:name");
|
|
6252
|
-
return /* @__PURE__ */ jsx(MatchAdminNameContext.Provider, { value: t, children: e });
|
|
6253
6244
|
}, IsAdminPageProvider = ({ children: e }) => {
|
|
6254
6245
|
const n = useLocation().pathname.startsWith("/admin");
|
|
6255
6246
|
return /* @__PURE__ */ jsx(IsAdminPageContext.Provider, { value: n, children: e });
|
|
@@ -6274,12 +6265,12 @@ const IsSubPageClosedByPageMenuProvider = ({ children: e }) => {
|
|
|
6274
6265
|
}, LocationSearchProvider = ({ children: e }) => {
|
|
6275
6266
|
const t = useLocation();
|
|
6276
6267
|
return /* @__PURE__ */ jsx(LocationSearchContext.Provider, { value: t.search, children: e });
|
|
6277
|
-
}, useNavigateNoUpdate = () => React.useContext(NavigateNoUpdateContext), useLocationNoUpdate = () => React.useContext(LocationNoUpdateContext), useLocationSearch = () => React.useContext(LocationSearchContext), useIsAdminPage = () => React.useContext(IsAdminPageContext), useCurrentPageUid = () => React.useContext(CurrentPageUidContext),
|
|
6268
|
+
}, useNavigateNoUpdate = () => React.useContext(NavigateNoUpdateContext), useLocationNoUpdate = () => React.useContext(LocationNoUpdateContext), useLocationSearch = () => React.useContext(LocationSearchContext), useIsAdminPage = () => React.useContext(IsAdminPageContext), useCurrentPageUid = () => React.useContext(CurrentPageUidContext), useIsInSettingsPage = () => React.useContext(IsInSettingsPageContext), useCurrentTabUid = () => React.useContext(CurrentTabUidContext), useCurrentSearchParams = () => React.useContext(SearchParamsContext), useRouterBasename = () => React.useContext(RouterBasenameContext), useIsSubPageClosedByPageMenu = (e) => {
|
|
6278
6269
|
const { isSubPageClosedByPageMenu: t, setFieldSchema: n, reset: o } = React.useContext(IsSubPageClosedByPageMenuContext);
|
|
6279
6270
|
return useEffect(() => {
|
|
6280
6271
|
n(e);
|
|
6281
6272
|
}, [e, n]), { isSubPageClosedByPageMenu: t, reset: o };
|
|
6282
|
-
}, CustomRouterContextProvider = ({ children: e }) => /* @__PURE__ */ jsx(NavigateNoUpdateProvider, { children: /* @__PURE__ */ jsx(LocationNoUpdateProvider, { children: /* @__PURE__ */ jsx(IsAdminPageProvider, { children: /* @__PURE__ */ jsx(LocationSearchProvider, { children: /* @__PURE__ */ jsx(
|
|
6273
|
+
}, CustomRouterContextProvider = ({ children: e }) => /* @__PURE__ */ jsx(NavigateNoUpdateProvider, { children: /* @__PURE__ */ jsx(LocationNoUpdateProvider, { children: /* @__PURE__ */ jsx(IsAdminPageProvider, { children: /* @__PURE__ */ jsx(LocationSearchProvider, { children: /* @__PURE__ */ jsx(SearchParamsProvider, { children: /* @__PURE__ */ jsx(RouterBasenameProvider, { children: /* @__PURE__ */ jsx(IsInSettingsPageProvider, { children: e }) }) }) }) }) }) }), useDefaultDynamicComponentProps = () => {
|
|
6283
6274
|
}, getHook = (e, t, n) => {
|
|
6284
6275
|
let o;
|
|
6285
6276
|
return _.isFunction(e) ? o = e : (o = t[e], o || console.error(`${n} is not registered`)), o || useDefaultDynamicComponentProps;
|
|
@@ -6471,11 +6462,15 @@ function SetDataLoadingMode() {
|
|
|
6471
6462
|
const useSourceKey = (e) => useCollectionManager().getSourceKeyByAssociation(e), KeepAliveContext = createContext(!0), DesignableInterceptor = ({ children: e, active: t }) => {
|
|
6472
6463
|
const n = useContext(SchemaComponentContext), o = useContext(SchemaOptionsContext), r = useContext(SchemaComponentsContext), i = useContext(SchemaExpressionScopeContext), a = useContext(ACLContext), l = useRef(n), c = useRef(o), u = useRef(r), d = useRef(i), p = useRef(a);
|
|
6473
6464
|
return t && (l.current = n, c.current = o, u.current = r, d.current = i, p.current = a), /* @__PURE__ */ jsx(SchemaComponentContext.Provider, { value: l.current, children: /* @__PURE__ */ jsx(SchemaOptionsContext.Provider, { value: c.current, children: /* @__PURE__ */ jsx(SchemaComponentsContext.Provider, { value: u.current, children: /* @__PURE__ */ jsx(SchemaExpressionScopeContext.Provider, { value: d.current, children: /* @__PURE__ */ jsx(ACLContext.Provider, { value: p.current, children: e }) }) }) }) });
|
|
6474
|
-
},
|
|
6475
|
-
|
|
6476
|
-
|
|
6477
|
-
|
|
6478
|
-
|
|
6465
|
+
}, hidden = { display: "none" }, KeepAliveProvider = memo(
|
|
6466
|
+
({ children: e, active: t, parentActive: n }) => {
|
|
6467
|
+
const o = useContext(UNSAFE_LocationContext), r = useContext(UNSAFE_RouteContext), i = useContext(UNSAFE_DataRouterContext), a = useContext(UNSAFE_DataRouterStateContext), l = useContext(IsSubPageClosedByPageMenuContext), c = useContext(Context), u = useContext(RouteContext), d = useRef(o), p = useRef(r), m = useRef(i), h = useRef(a), g = useRef(l), f = useRef(c), C = useRef(u);
|
|
6468
|
+
t && (m.current = i, h.current = a, g.current = l, f.current = c, C.current = u), t && // Skip comparing location key to improve LocationContext rendering performance
|
|
6469
|
+
!_.isEqual(_.omit(d.current.location, "key"), _.omit(o.location, "key")) && (d.current = o), t && !_.isEqual(p.current, r) && (p.current = r);
|
|
6470
|
+
const b = /* @__PURE__ */ jsx(RouteContext.Provider, { value: C.current, children: /* @__PURE__ */ jsx(Context.Provider, { value: f.current, children: /* @__PURE__ */ jsx(UNSAFE_DataRouterContext.Provider, { value: m.current, children: /* @__PURE__ */ jsx(UNSAFE_DataRouterStateContext.Provider, { value: h.current, children: /* @__PURE__ */ jsx(UNSAFE_LocationContext.Provider, { value: d.current, children: /* @__PURE__ */ jsx(UNSAFE_RouteContext.Provider, { value: p.current, children: /* @__PURE__ */ jsx(KeepAliveContext.Provider, { value: n === !1 ? !1 : t, children: /* @__PURE__ */ jsx(DesignableInterceptor, { active: t, children: /* @__PURE__ */ jsx(IsSubPageClosedByPageMenuContext.Provider, { value: g.current, children: e }) }) }) }) }) }) }) }) });
|
|
6471
|
+
return /* @__PURE__ */ jsx("div", { style: t ? null : hidden, children: b });
|
|
6472
|
+
}
|
|
6473
|
+
), useKeepAlive = () => ({ active: useContext(KeepAliveContext) }), getMaxPageCount = () => {
|
|
6479
6474
|
let t = 5;
|
|
6480
6475
|
try {
|
|
6481
6476
|
const n = navigator.deviceMemory;
|
|
@@ -6495,8 +6490,8 @@ const useSourceKey = (e) => useCollectionManager().getSourceKeyByAssociation(e),
|
|
|
6495
6490
|
return 5;
|
|
6496
6491
|
}
|
|
6497
6492
|
}, MAX_RENDERED_PAGE_COUNT = getMaxPageCount(), KeepAlive = React.memo(({ children: e, uid: t }) => {
|
|
6498
|
-
const n = useRef([]);
|
|
6499
|
-
return
|
|
6493
|
+
const { active: n } = useKeepAlive(), o = useRef([]);
|
|
6494
|
+
return o.current.includes(t) || (o.current.push(t), o.current.length > MAX_RENDERED_PAGE_COUNT && (o.current = o.current.slice(-MAX_RENDERED_PAGE_COUNT))), /* @__PURE__ */ jsx(Fragment$1, { children: o.current.map((r) => /* @__PURE__ */ jsx(KeepAliveProvider, { active: r === t, parentActive: n, children: e(r) }, r)) });
|
|
6500
6495
|
});
|
|
6501
6496
|
KeepAlive.displayName = "KeepAlive";
|
|
6502
6497
|
const DEBOUNCE_WAIT = 100, LOADING_DELAY = void 0, EMPTY_OBJECT = Object.freeze({});
|
|
@@ -9218,7 +9213,7 @@ function addAppVersion(e, t) {
|
|
|
9218
9213
|
addAppVersion((o = e.properties) == null ? void 0 : o[n], t);
|
|
9219
9214
|
}), e;
|
|
9220
9215
|
}
|
|
9221
|
-
const name = "@nocobase/client", version = "1.6.
|
|
9216
|
+
const name = "@nocobase/client", version = "1.6.33", license = "AGPL-3.0", main = "lib/index.js", module = "es/index.mjs", types = "es/index.d.ts", dependencies = {
|
|
9222
9217
|
"@ahooksjs/use-url-state": "3.5.1",
|
|
9223
9218
|
"@ant-design/cssinjs": "^1.11.1",
|
|
9224
9219
|
"@ant-design/icons": "^5.6.1",
|
|
@@ -9240,9 +9235,9 @@ const name = "@nocobase/client", version = "1.6.31", license = "AGPL-3.0", main
|
|
|
9240
9235
|
"@formily/reactive-react": "^2.2.27",
|
|
9241
9236
|
"@formily/shared": "^2.2.27",
|
|
9242
9237
|
"@formily/validator": "^2.2.27",
|
|
9243
|
-
"@nocobase/evaluators": "1.6.
|
|
9244
|
-
"@nocobase/sdk": "1.6.
|
|
9245
|
-
"@nocobase/utils": "1.6.
|
|
9238
|
+
"@nocobase/evaluators": "1.6.33",
|
|
9239
|
+
"@nocobase/sdk": "1.6.33",
|
|
9240
|
+
"@nocobase/utils": "1.6.33",
|
|
9246
9241
|
ahooks: "^3.7.2",
|
|
9247
9242
|
antd: "5.12.8",
|
|
9248
9243
|
"antd-style": "3.7.1",
|
|
@@ -10035,10 +10030,10 @@ const opacityStyle = {
|
|
|
10035
10030
|
height: "100%",
|
|
10036
10031
|
maxHeight: 400,
|
|
10037
10032
|
zIndex: 1e3
|
|
10038
|
-
}, displayNone$
|
|
10033
|
+
}, displayNone$3 = {
|
|
10039
10034
|
display: "none"
|
|
10040
10035
|
}, HighPerformanceSpin = React.memo((e) => /* @__PURE__ */ jsxs("div", { style: containerStyle, children: [
|
|
10041
|
-
/* @__PURE__ */ jsx(Spin, P(x({}, _.omit(e, "children")), { style: e.spinning ? spinStyle : displayNone$
|
|
10036
|
+
/* @__PURE__ */ jsx(Spin, P(x({}, _.omit(e, "children")), { style: e.spinning ? spinStyle : displayNone$3 })),
|
|
10042
10037
|
/* @__PURE__ */ jsx("div", { style: e.spinning ? opacityStyle : null, children: e.children })
|
|
10043
10038
|
] })), AssociationFieldContext = createContext({});
|
|
10044
10039
|
AssociationFieldContext.displayName = "AssociationFieldContext";
|
|
@@ -10526,9 +10521,9 @@ const InternalBodyCellComponent$1 = React.memo((e) => {
|
|
|
10526
10521
|
] });
|
|
10527
10522
|
});
|
|
10528
10523
|
InternalBodyCellComponent$1.displayName = "InternalBodyCellComponent";
|
|
10529
|
-
const displayNone$
|
|
10524
|
+
const displayNone$2 = { display: "none" }, BodyCellComponent$1 = React.memo((e) => {
|
|
10530
10525
|
const { designable: t } = useDesignable();
|
|
10531
|
-
return e.columnHidden ? /* @__PURE__ */ jsx("td", { style: t ? columnOpacityStyle$1 : columnHiddenStyle$1, children: t ? e.children : /* @__PURE__ */ jsx("span", { style: displayNone$
|
|
10526
|
+
return e.columnHidden ? /* @__PURE__ */ jsx("td", { style: t ? columnOpacityStyle$1 : columnHiddenStyle$1, children: t ? e.children : /* @__PURE__ */ jsx("span", { style: displayNone$2, children: e.children }) }) : /* @__PURE__ */ jsx(InternalBodyCellComponent$1, x({}, _.omit(e, "columnHidden")));
|
|
10532
10527
|
});
|
|
10533
10528
|
BodyCellComponent$1.displayName = "BodyCellComponent";
|
|
10534
10529
|
const TableElementRefContext = createContext(null), useTableElementRef = () => useContext(TableElementRefContext), InternalNocoBaseTable$1 = React.memo(
|
|
@@ -11631,7 +11626,7 @@ const VisibleProvider = React.memo(({ children: e, popupuid: t }) => {
|
|
|
11631
11626
|
[n]
|
|
11632
11627
|
), { isPopupVisibleControlledByURL: r } = usePopupSettings();
|
|
11633
11628
|
return r() ? /* @__PURE__ */ jsx(TabsContextProvider, { activeKey: t == null ? void 0 : t.tab, onChange: o, children: e }) : /* @__PURE__ */ jsx(Fragment$1, { children: e });
|
|
11634
|
-
}, displayNone$
|
|
11629
|
+
}, displayNone$1 = { display: "none" }, PagePopupsItemProvider = ({ params: e, context: t, currentLevel: n, children: o }) => {
|
|
11635
11630
|
const r = x({}, getStoredPopupContext(e.popupuid));
|
|
11636
11631
|
return useEffect(() => (setPopupLayerState(n, !0), () => {
|
|
11637
11632
|
removePopupLayerState(n);
|
|
@@ -11642,7 +11637,7 @@ const VisibleProvider = React.memo(({ children: e, popupuid: t }) => {
|
|
|
11642
11637
|
association: r.association
|
|
11643
11638
|
},
|
|
11644
11639
|
_.isNil
|
|
11645
|
-
)), _.isEmpty(t) ? /* @__PURE__ */ jsx(PopupParamsProvider, { params: e, context: t, currentLevel: n, children: /* @__PURE__ */ jsx(VisibleProvider, { popupuid: e.popupuid, children: /* @__PURE__ */ jsx("div", { style: displayNone$
|
|
11640
|
+
)), _.isEmpty(t) ? /* @__PURE__ */ jsx(PopupParamsProvider, { params: e, context: t, currentLevel: n, children: /* @__PURE__ */ jsx(VisibleProvider, { popupuid: e.popupuid, children: /* @__PURE__ */ jsx("div", { style: displayNone$1, children: o }) }) }) : /* @__PURE__ */ jsx(PopupParamsProvider, { params: e, context: t, currentLevel: n, children: /* @__PURE__ */ jsx(
|
|
11646
11641
|
DataBlockProvider,
|
|
11647
11642
|
{
|
|
11648
11643
|
dataSource: t.dataSource,
|
|
@@ -11653,7 +11648,7 @@ const VisibleProvider = React.memo(({ children: e, popupuid: t }) => {
|
|
|
11653
11648
|
record: r.record,
|
|
11654
11649
|
parentRecord: r.parentRecord,
|
|
11655
11650
|
action: "get",
|
|
11656
|
-
children: /* @__PURE__ */ jsx(BlockRequestContextProvider, { recordRequest: r.service, children: /* @__PURE__ */ jsx(PopupTabsPropsProvider, { children: /* @__PURE__ */ jsx(VisibleProvider, { popupuid: e.popupuid, children: /* @__PURE__ */ jsx("div", { style: displayNone$
|
|
11651
|
+
children: /* @__PURE__ */ jsx(BlockRequestContextProvider, { recordRequest: r.service, children: /* @__PURE__ */ jsx(PopupTabsPropsProvider, { children: /* @__PURE__ */ jsx(VisibleProvider, { popupuid: e.popupuid, children: /* @__PURE__ */ jsx("div", { style: displayNone$1, children: o }) }) }) })
|
|
11657
11652
|
}
|
|
11658
11653
|
) });
|
|
11659
11654
|
}, insertChildToParentSchema = ({
|
|
@@ -13807,7 +13802,7 @@ function getOperators() {
|
|
|
13807
13802
|
return n.truthy(r);
|
|
13808
13803
|
},
|
|
13809
13804
|
$empty: function(r) {
|
|
13810
|
-
return Array.isArray(r) ? r.
|
|
13805
|
+
return Array.isArray(r) ? r.length === 0 : !n.truthy(r);
|
|
13811
13806
|
},
|
|
13812
13807
|
$notExists: function(r) {
|
|
13813
13808
|
return !n.truthy(r);
|
|
@@ -27019,10 +27014,10 @@ const LanguageSettings = () => {
|
|
|
27019
27014
|
]
|
|
27020
27015
|
}), NocoBaseRouteContext = createContext(null);
|
|
27021
27016
|
NocoBaseRouteContext.displayName = "NocoBaseRouteContext";
|
|
27022
|
-
const CurrentRouteProvider = ({ children: e, uid: t }) => {
|
|
27017
|
+
const CurrentRouteProvider = memo(({ children: e, uid: t }) => {
|
|
27023
27018
|
const { allAccessRoutes: n } = useAllAccessDesktopRoutes(), o = useMemo(() => findRouteBySchemaUid(t, n), [t, n]);
|
|
27024
27019
|
return /* @__PURE__ */ jsx(NocoBaseRouteContext.Provider, { value: o, children: e });
|
|
27025
|
-
}, useCurrentRoute = () => useContext(NocoBaseRouteContext) || {}, emptyArray = [], AllAccessDesktopRoutesContext = createContext({
|
|
27020
|
+
}), useCurrentRoute = () => useContext(NocoBaseRouteContext) || {}, emptyArray = [], AllAccessDesktopRoutesContext = createContext({
|
|
27026
27021
|
allAccessRoutes: emptyArray,
|
|
27027
27022
|
refresh: () => {
|
|
27028
27023
|
}
|
|
@@ -27039,7 +27034,7 @@ const useAllAccessDesktopRoutes = () => useContext(AllAccessDesktopRoutesContext
|
|
|
27039
27034
|
return r && !t.current ? null : (t.current = !0, /* @__PURE__ */ jsx(AllAccessDesktopRoutesContext.Provider, { value: i, children: e }));
|
|
27040
27035
|
}, noAccessPermission = (e, t) => e ? !findRouteBySchemaUid(e, t) : !1, AdminDynamicPage = () => {
|
|
27041
27036
|
const e = useCurrentPageUid(), { allAccessRoutes: t } = useAllAccessDesktopRoutes();
|
|
27042
|
-
return isGroup(e, t) ? null : noAccessPermission(e, t) ? /* @__PURE__ */ jsx(AppNotFound$1, {}) : /* @__PURE__ */ jsx(KeepAlive, { uid: e, children: (n) => /* @__PURE__ */ jsx(CurrentRouteProvider, { uid: n, children: /* @__PURE__ */ jsx(RemoteSchemaComponent, { uid: n }) }) });
|
|
27037
|
+
return isGroup(e, t) ? null : noAccessPermission(e, t) ? /* @__PURE__ */ jsx(AppNotFound$1, {}) : /* @__PURE__ */ jsx(KeepAlive, { uid: e, children: (n) => /* @__PURE__ */ jsx(CurrentPageUidContext.Provider, { value: n, children: /* @__PURE__ */ jsx(CurrentRouteProvider, { uid: n, children: /* @__PURE__ */ jsx(RemoteSchemaComponent, { uid: n }) }) }) });
|
|
27043
27038
|
}, layoutContentClass = css`
|
|
27044
27039
|
display: flex;
|
|
27045
27040
|
flex-direction: column;
|
|
@@ -27915,17 +27910,19 @@ const useCreateActionProps = () => {
|
|
|
27915
27910
|
return {
|
|
27916
27911
|
onClick(d, p) {
|
|
27917
27912
|
return V(this, null, function* () {
|
|
27918
|
-
var C, b, S, y, v;
|
|
27913
|
+
var C, b, S, y, v, F, I;
|
|
27919
27914
|
const { triggerWorkflows: m } = (C = c == null ? void 0 : c["x-action-settings"]) != null ? C : {};
|
|
27920
27915
|
yield t.destroy(x({
|
|
27921
27916
|
filterByTk: e,
|
|
27922
27917
|
// TODO(refactor): should change to inject by plugin
|
|
27923
|
-
triggerWorkflows: m != null && m.length ? m.map((
|
|
27918
|
+
triggerWorkflows: m != null && m.length ? m.map((R) => [R.workflowKey, R.context].filter(Boolean).join("!")).join(",") : void 0
|
|
27924
27919
|
}, l));
|
|
27925
27920
|
const { count: h = 0, page: g = 0, pageSize: f = 0 } = ((b = n == null ? void 0 : n.data) == null ? void 0 : b.meta) || {};
|
|
27926
|
-
h % f === 1 && g !== 1
|
|
27927
|
-
page:
|
|
27928
|
-
|
|
27921
|
+
if (h % f === 1 && g !== 1) {
|
|
27922
|
+
const R = (S = n.params[0]) == null ? void 0 : S.page, T = (v = (y = n.data) == null ? void 0 : y.meta) == null ? void 0 : v.totalPage;
|
|
27923
|
+
R === T && n.params[0] && R !== 1 && (n.params[0].page = R - 1);
|
|
27924
|
+
}
|
|
27925
|
+
p && (p == null || p()), a == null || a(!0), o && o !== "TableField" && ((I = (F = r == null ? void 0 : r.service) == null ? void 0 : F.refresh) == null || I.call(F), i == null || i(!1), a == null || a(!0));
|
|
27929
27926
|
});
|
|
27930
27927
|
}
|
|
27931
27928
|
};
|
|
@@ -38103,7 +38100,7 @@ const getValues = (e, t) => castArray(e).filter((n) => n != null).map((n) => typ
|
|
|
38103
38100
|
return (j == null ? void 0 : j.type) === "date" && (X = dayjs(X).format("YYYY-MM-DD")), c ? c({
|
|
38104
38101
|
[t.label]: X || EMPTY$1,
|
|
38105
38102
|
[t.value]: W[t.value]
|
|
38106
|
-
}) : P(x({}, W), {
|
|
38103
|
+
}) : P(x({}, omit(W, "style")), {
|
|
38107
38104
|
[t.label]: X || EMPTY$1,
|
|
38108
38105
|
[t.value]: W[t.value]
|
|
38109
38106
|
});
|
|
@@ -38119,7 +38116,7 @@ const getValues = (e, t) => castArray(e).filter((n) => n != null).map((n) => typ
|
|
|
38119
38116
|
}, n), {
|
|
38120
38117
|
headers: b,
|
|
38121
38118
|
params: P(x({
|
|
38122
|
-
|
|
38119
|
+
paginate: !1
|
|
38123
38120
|
}, n == null ? void 0 : n.params), {
|
|
38124
38121
|
filter: (J = n == null ? void 0 : n.params) == null ? void 0 : J.filter
|
|
38125
38122
|
})
|
|
@@ -40121,14 +40118,9 @@ const useRouteTranslation = () => useTranslation("lm-desktop-routes"), InternalP
|
|
|
40121
40118
|
/* @__PURE__ */ jsx(Outlet, {})
|
|
40122
40119
|
] }) }) })
|
|
40123
40120
|
] });
|
|
40124
|
-
}),
|
|
40125
|
-
// Visually hide the element while keeping it in document flow to prevent reflow/repaint
|
|
40126
|
-
transform: "scale(0)",
|
|
40127
|
-
// Prevent element from receiving any pointer events (clicks, hovers etc) to avoid interfering with other elements
|
|
40128
|
-
pointerEvents: "none"
|
|
40129
|
-
}, Page = React.memo((e) => {
|
|
40121
|
+
}), Page = React.memo((e) => {
|
|
40130
40122
|
const { hashId: t, componentCls: n } = useStyles$7(), { active: o } = useKeepAlive(), r = useCurrentTabUid(), i = useRef(r);
|
|
40131
|
-
return o && (i.current = r), /* @__PURE__ */ jsx("div", { className: `${n} ${t} ${antTableCell}`,
|
|
40123
|
+
return o && (i.current = r), /* @__PURE__ */ jsx("div", { className: `${n} ${t} ${antTableCell}`, children: /* @__PURE__ */ jsx(CurrentTabUidContext.Provider, { value: "", children: /* @__PURE__ */ jsx(InternalPage, { currentTabUid: i.current, className: e.className }) }) });
|
|
40132
40124
|
});
|
|
40133
40125
|
Page.displayName = "NocoBasePage";
|
|
40134
40126
|
const PageTabs = () => {
|
|
@@ -40153,26 +40145,22 @@ const className1 = css`
|
|
|
40153
40145
|
display: none;
|
|
40154
40146
|
}
|
|
40155
40147
|
}
|
|
40156
|
-
`,
|
|
40157
|
-
|
|
40158
|
-
},
|
|
40159
|
-
display: "none"
|
|
40160
|
-
}, TabPane = React.memo(({ active: e, uid: t }) => {
|
|
40161
|
-
const n = useRef(!1), { active: o } = useKeepAlive();
|
|
40162
|
-
return e && !n.current && (n.current = !0), n.current ? /* @__PURE__ */ jsx("div", { style: e ? displayBlock : displayNone$1, children: /* @__PURE__ */ jsx(KeepAliveProvider, { active: o && e, children: /* @__PURE__ */ jsx(RemoteSchemaComponent, { uid: t }) }) }) : null;
|
|
40163
|
-
}), InternalPageContent = (e) => {
|
|
40164
|
-
var p, m, h, g;
|
|
40165
|
-
const { loading: t, disablePageHeader: n, enablePageTabs: o, activeKey: r } = e, i = useCurrentRoute(), a = useNavigateNoUpdate(), l = useLocationNoUpdate(), u = ((i == null ? void 0 : i.children) || []).every((f) => f.schemaUid !== r && f.tabSchemaName !== r);
|
|
40148
|
+
`, InternalPageContent = (e) => {
|
|
40149
|
+
var p, m, h;
|
|
40150
|
+
const { loading: t, disablePageHeader: n, enablePageTabs: o, activeKey: r } = e, i = useCurrentRoute(), a = useNavigateNoUpdate(), l = useLocationNoUpdate(), u = ((i == null ? void 0 : i.children) || []).every((g) => g.schemaUid !== r && g.tabSchemaName !== r);
|
|
40166
40151
|
if (r && u)
|
|
40167
40152
|
return /* @__PURE__ */ jsx(AppNotFound$1, {});
|
|
40168
|
-
const d = (p = i == null ? void 0 : i.children) == null ? void 0 : p.find((
|
|
40153
|
+
const d = (p = i == null ? void 0 : i.children) == null ? void 0 : p.find((g) => g.tabSchemaName === r);
|
|
40169
40154
|
if (d) {
|
|
40170
|
-
const
|
|
40171
|
-
|
|
40172
|
-
const
|
|
40173
|
-
return a(
|
|
40155
|
+
const g = new URLSearchParams(l.search);
|
|
40156
|
+
g.has("tab") && g.get("tab") === r && g.delete("tab");
|
|
40157
|
+
const f = g.toString() ? `?${g.toString()}` : "", C = l.pathname + (l.pathname.endsWith("/") ? `tabs/${d.schemaUid}` : `/tabs/${d.schemaUid}`);
|
|
40158
|
+
return a(C + f), null;
|
|
40174
40159
|
}
|
|
40175
|
-
return !n && o ? /* @__PURE__ */ jsx(
|
|
40160
|
+
return !n && o ? /* @__PURE__ */ jsx(KeepAlive, { uid: r, children: (g) => {
|
|
40161
|
+
var f;
|
|
40162
|
+
return /* @__PURE__ */ jsx(NocoBaseRouteContext.Provider, { value: (f = i.children) == null ? void 0 : f.find((C) => C.schemaUid === g), children: /* @__PURE__ */ jsx(RemoteSchemaComponent, { uid: g }) });
|
|
40163
|
+
} }) : /* @__PURE__ */ jsx("div", { className: className1, children: /* @__PURE__ */ jsx(NocoBaseRouteContext.Provider, { value: (m = i == null ? void 0 : i.children) == null ? void 0 : m[0], children: /* @__PURE__ */ jsx(RemoteSchemaComponent, { uid: (h = i == null ? void 0 : i.children) == null ? void 0 : h[0].schemaUid }) }) });
|
|
40176
40164
|
}, PageContent = memo((e) => /* @__PURE__ */ jsx(PopupRouteContextResetter, { children: /* @__PURE__ */ jsx(InternalPageContent, x({}, e)) })), NocoBasePageHeaderTabs = ({ className: e, activeKey: t }) => {
|
|
40177
40165
|
const n = useFieldSchema(), { t: o } = useTranslation(), { t: r } = useRouteTranslation(), { token: i } = useToken$1(), a = useRouterBasename(), l = useNavigateNoUpdate(), c = useCallback(
|
|
40178
40166
|
(F) => {
|
|
@@ -40803,7 +40791,7 @@ const InternalAssociationSelect$1 = observer$1(
|
|
|
40803
40791
|
service: a,
|
|
40804
40792
|
onChange: (j) => {
|
|
40805
40793
|
var B;
|
|
40806
|
-
const N = (j
|
|
40794
|
+
const N = Array.isArray(j) && j.length === 0 ? null : j;
|
|
40807
40795
|
(B = e.onChange) == null || B.call(e, N);
|
|
40808
40796
|
},
|
|
40809
40797
|
CustomDropdownRender: m === "quickAdd" && T
|
|
@@ -41941,8 +41929,10 @@ const InternalFileManager = (e) => {
|
|
|
41941
41929
|
}) });
|
|
41942
41930
|
}), AssociationCascadeSelect = connect((e) => /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(CascadeSelect, x({}, e)) })), InternalCascadeSelect = observer$1(
|
|
41943
41931
|
(e) => {
|
|
41944
|
-
|
|
41945
|
-
|
|
41932
|
+
const { options: t } = useAssociationFieldContext(), n = useMemo(() => createForm(), []), { t: o } = useTranslation(), r = useField(), i = useFieldSchema(), { loading: a, data: l } = useDataBlockRequest() || {}, c = useMemo(() => {
|
|
41933
|
+
var g;
|
|
41934
|
+
return (g = l == null ? void 0 : l.data) == null ? void 0 : g[i.name];
|
|
41935
|
+
}, [a]), u = !l || i.name in ((l == null ? void 0 : l.data) || {}), d = debounce((g) => {
|
|
41946
41936
|
var f, C;
|
|
41947
41937
|
if (t.interface === "m2o") {
|
|
41948
41938
|
const b = extractLastNonNullValueObjects((f = g.values) == null ? void 0 : f[i.name]);
|
|
@@ -41962,13 +41952,13 @@ const InternalFileManager = (e) => {
|
|
|
41962
41952
|
const g = uid();
|
|
41963
41953
|
return n.addEffects(g, () => {
|
|
41964
41954
|
onFormValuesChange((f) => {
|
|
41965
|
-
|
|
41955
|
+
d(f);
|
|
41966
41956
|
});
|
|
41967
41957
|
}), () => {
|
|
41968
|
-
n.removeEffects(g),
|
|
41958
|
+
n.removeEffects(g), d.cancel();
|
|
41969
41959
|
};
|
|
41970
41960
|
}, []);
|
|
41971
|
-
const
|
|
41961
|
+
const h = {
|
|
41972
41962
|
type: "object",
|
|
41973
41963
|
properties: {
|
|
41974
41964
|
select_array: {
|
|
@@ -42026,7 +42016,7 @@ const InternalFileManager = (e) => {
|
|
|
42026
42016
|
}
|
|
42027
42017
|
}
|
|
42028
42018
|
};
|
|
42029
|
-
return !a && /* @__PURE__ */ jsx(FormProvider$1, { form: n, children: t.interface === "m2o" ? /* @__PURE__ */ jsx(
|
|
42019
|
+
return !a && u && /* @__PURE__ */ jsx(FormProvider$1, { form: n, children: t.interface === "m2o" ? /* @__PURE__ */ jsx(
|
|
42030
42020
|
SchemaComponent,
|
|
42031
42021
|
{
|
|
42032
42022
|
components: { FormItem: FormItem$1 },
|
|
@@ -42037,7 +42027,7 @@ const InternalFileManager = (e) => {
|
|
|
42037
42027
|
"x-component-props": x({}, e)
|
|
42038
42028
|
})
|
|
42039
42029
|
}
|
|
42040
|
-
) : /* @__PURE__ */ jsx(SchemaField, { schema:
|
|
42030
|
+
) : /* @__PURE__ */ jsx(SchemaField, { schema: h }) });
|
|
42041
42031
|
},
|
|
42042
42032
|
{ displayName: "InternalCascadeSelect" }
|
|
42043
42033
|
);
|
|
@@ -65068,6 +65058,7 @@ export {
|
|
|
65068
65058
|
IntegerFieldInterface,
|
|
65069
65059
|
InternalAdminLayout,
|
|
65070
65060
|
IsInNocoBaseRecursionFieldContext,
|
|
65061
|
+
IsSubPageClosedByPageMenuContext,
|
|
65071
65062
|
IsSubPageClosedByPageMenuProvider,
|
|
65072
65063
|
Json,
|
|
65073
65064
|
JsonFieldInterface,
|
|
@@ -65368,7 +65359,7 @@ export {
|
|
|
65368
65359
|
createReadPrettyFormBlockSchema,
|
|
65369
65360
|
createRouterManager,
|
|
65370
65361
|
createSelectSchemaSettingsItem,
|
|
65371
|
-
|
|
65362
|
+
vn as createStyles,
|
|
65372
65363
|
createSwitchSettingsItem,
|
|
65373
65364
|
createTableBlockSchema,
|
|
65374
65365
|
createTableBlockUISchema,
|
|
@@ -65709,6 +65700,7 @@ export {
|
|
|
65709
65700
|
useIsLoggedIn,
|
|
65710
65701
|
useIsSelectFieldMode,
|
|
65711
65702
|
useIsSubPageClosedByPageMenu,
|
|
65703
|
+
useKeepAlive,
|
|
65712
65704
|
useLabelUiSchema,
|
|
65713
65705
|
useLazy,
|
|
65714
65706
|
useLinkActionProps,
|
|
@@ -65717,8 +65709,6 @@ export {
|
|
|
65717
65709
|
useLocalVariables$1 as useLocalVariables,
|
|
65718
65710
|
useLocationNoUpdate,
|
|
65719
65711
|
useLocationSearch,
|
|
65720
|
-
useMatchAdmin,
|
|
65721
|
-
useMatchAdminName,
|
|
65722
65712
|
useMenuDragEnd,
|
|
65723
65713
|
useMenuSearch,
|
|
65724
65714
|
useMenuTranslation,
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import React, { FC } from 'react';
|
|
10
10
|
import { Plugin } from '../../../application/Plugin';
|
|
11
|
-
import { KeepAlive } from './KeepAlive';
|
|
11
|
+
import { KeepAlive, useKeepAlive } from './KeepAlive';
|
|
12
12
|
import { NocoBaseDesktopRoute, NocoBaseDesktopRouteType } from './convertRoutesToSchema';
|
|
13
|
-
export { KeepAlive, NocoBaseDesktopRouteType };
|
|
13
|
+
export { KeepAlive, NocoBaseDesktopRouteType, useKeepAlive };
|
|
14
14
|
export declare const NocoBaseRouteContext: React.Context<NocoBaseDesktopRoute>;
|
|
15
15
|
export declare const CurrentRouteProvider: FC<{
|
|
16
16
|
uid: string;
|