@nocobase/client-v2 2.1.0-alpha.32 → 2.1.0-alpha.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/es/flow/actions/index.d.ts +1 -1
  2. package/es/flow/actions/linkageRules.d.ts +2 -0
  3. package/es/flow/admin-shell/admin-layout/AdminLayoutMenuModels.d.ts +4 -0
  4. package/es/flow/admin-shell/admin-layout/AdminLayoutModel.d.ts +7 -0
  5. package/es/flow/admin-shell/admin-layout/resolveAdminRouteRuntimeTarget.d.ts +5 -0
  6. package/es/flow/models/fields/AssociationFieldModel/SubTableFieldModel/SubTableColumnModel.d.ts +3 -0
  7. package/es/index.mjs +78 -73
  8. package/lib/index.js +59 -54
  9. package/package.json +5 -5
  10. package/src/__tests__/nocobase-buildin-plugin-auth.test.tsx +67 -46
  11. package/src/__tests__/settings-center.test.tsx +30 -0
  12. package/src/flow/__tests__/FlowRoute.test.tsx +4 -5
  13. package/src/flow/actions/__tests__/actionLinkageRules.race.repro.test.ts +199 -0
  14. package/src/flow/actions/__tests__/linkageRules.formValueDrivenRefresh.test.ts +6 -1
  15. package/src/flow/actions/__tests__/linkageRules.menu.test.ts +90 -0
  16. package/src/flow/actions/index.ts +2 -0
  17. package/src/flow/actions/linkageRules.tsx +77 -23
  18. package/src/flow/actions/linkageRulesFormValueRefresh.ts +2 -8
  19. package/src/flow/admin-shell/admin-layout/AdminLayoutComponent.tsx +8 -1
  20. package/src/flow/admin-shell/admin-layout/AdminLayoutMenuModels.tsx +70 -12
  21. package/src/flow/admin-shell/admin-layout/AdminLayoutMenuUtils.tsx +26 -87
  22. package/src/flow/admin-shell/admin-layout/AdminLayoutModel.tsx +11 -0
  23. package/src/flow/admin-shell/admin-layout/AdminLayoutSlotModels.tsx +5 -1
  24. package/src/flow/admin-shell/admin-layout/__tests__/AdminLayoutMenuModels.test.ts +292 -31
  25. package/src/flow/admin-shell/admin-layout/resolveAdminRouteRuntimeTarget.test.ts +50 -12
  26. package/src/flow/admin-shell/admin-layout/resolveAdminRouteRuntimeTarget.ts +77 -56
  27. package/src/flow/components/AdminLayout.tsx +2 -2
  28. package/src/flow/components/FlowRoute.tsx +17 -4
  29. package/src/flow/models/fields/AssociationFieldModel/PopupSubTableFieldModel/PopupSubTableFieldModel.tsx +4 -0
  30. package/src/flow/models/fields/AssociationFieldModel/SubTableFieldModel/SubTableColumnModel.tsx +7 -0
  31. package/src/flow/models/fields/AssociationFieldModel/SubTableFieldModel/index.tsx +4 -1
  32. package/src/flow/system-settings/useSystemSettings.tsx +36 -1
@@ -35,7 +35,7 @@ export * from './formAssignRules';
35
35
  export * from './filterFormDefaultValues';
36
36
  export * from './linkageRulesRefresh';
37
37
  export * from './blockHeight';
38
- export { fieldLinkageRules, subFormFieldLinkageRules, detailsFieldLinkageRules, linkageSetDetailsFieldProps, actionLinkageRules, blockLinkageRules, linkageSetBlockProps, linkageSetActionProps, linkageSetFieldProps, subFormLinkageSetFieldProps, linkageAssignField, linkageRunjs, subFormLinkageAssignField, } from './linkageRules';
38
+ export { fieldLinkageRules, subFormFieldLinkageRules, detailsFieldLinkageRules, linkageSetDetailsFieldProps, actionLinkageRules, menuLinkageRules, blockLinkageRules, linkageSetBlockProps, linkageSetActionProps, linkageSetMenuItemProps, linkageSetFieldProps, subFormLinkageSetFieldProps, linkageAssignField, linkageRunjs, subFormLinkageAssignField, } from './linkageRules';
39
39
  export { displayFieldComponent } from './displayFieldComponent';
40
40
  export * from './overflowMode';
41
41
  export * from './numberFormat';
@@ -9,6 +9,7 @@
9
9
  import { FlowContext, FlowModel } from '@nocobase/flow-engine';
10
10
  export declare const linkageSetBlockProps: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
11
11
  export declare const linkageSetActionProps: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
12
+ export declare const linkageSetMenuItemProps: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
12
13
  export declare const linkageSetFieldProps: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
13
14
  export declare const subFormLinkageSetFieldProps: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
14
15
  export declare const linkageSetDetailsFieldProps: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
@@ -18,6 +19,7 @@ export declare const setFieldsDefaultValue: import("@nocobase/flow-engine").Acti
18
19
  export declare const linkageRunjs: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
19
20
  export declare const blockLinkageRules: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
20
21
  export declare const actionLinkageRules: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
22
+ export declare const menuLinkageRules: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
21
23
  export declare const fieldLinkageRules: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
22
24
  export declare const subFormFieldLinkageRules: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
23
25
  export declare const detailsFieldLinkageRules: import("@nocobase/flow-engine").ActionDefinition<FlowModel<import("@nocobase/flow-engine").DefaultStructure>, FlowContext>;
@@ -25,6 +25,8 @@ export declare class AdminLayoutMenuItemModel extends FlowModel<AdminLayoutMenuI
25
25
  getRouteRepository(): any;
26
26
  hasPersistedMenuInstanceFlowFlag(route?: NocoBaseDesktopRoute): boolean;
27
27
  getCurrentPersistedInstanceFlowCount(): number;
28
+ hasPersistableMenuLinkageRules(): boolean;
29
+ hasCurrentPersistedMenuState(): boolean;
28
30
  buildRouteOptionsWithPersistedFlowFlag(hasPersistedMenuInstanceFlow: boolean): {
29
31
  [x: string]: any;
30
32
  hasPersistedMenuInstanceFlow?: boolean;
@@ -43,6 +45,8 @@ export declare class AdminLayoutMenuItemModel extends FlowModel<AdminLayoutMenuI
43
45
  * @returns {boolean} 是否需要走 FlowModel 默认保存链路
44
46
  */
45
47
  hasPersistableInstanceFlows(): boolean;
48
+ setHidden(value: boolean): void;
49
+ protected renderHiddenInConfig(): React.ReactNode | undefined;
46
50
  createMenuRoute(route: NocoBaseDesktopRoute, options?: {
47
51
  parentId?: string | number;
48
52
  refreshAfterMutation?: boolean;
@@ -37,12 +37,19 @@ type GetAdminLayoutModelOptions<TModel extends FlowModel = AdminLayoutModel> = {
37
37
  */
38
38
  export declare class AdminLayoutModel extends FlowModel<AdminLayoutStructure> {
39
39
  isMobileLayout: boolean;
40
+ menuRouteRefreshVersion: number;
40
41
  private routeCoordinator?;
41
42
  private routeDisposer?;
42
43
  private activePageUid;
43
44
  private layoutContentElement;
44
45
  private readonly routePageMetaMap;
45
46
  constructor(options: any);
47
+ /**
48
+ * 通知 Layout 重新生成 ProLayout 菜单路由。
49
+ *
50
+ * @returns {void}
51
+ */
52
+ refreshMenuRouteTree(): void;
46
53
  /**
47
54
  * 注册页面运行时信息。
48
55
  *
@@ -9,10 +9,12 @@
9
9
  import type { BaseApplication } from '../../../BaseApplication';
10
10
  import { type NocoBaseDesktopRoute } from '../../../flow-compat';
11
11
  export type AdminRouteNavigationMode = 'spa' | 'document';
12
+ export type AdminRouteRuntimeTargetReason = 'ok' | 'missingSchemaUid' | 'unsupportedV2Runtime' | 'emptyGroup' | 'unsupportedRouteType';
12
13
  export type AdminRouteRuntimeTarget = {
13
14
  runtimePath: string | null;
14
15
  navigationMode: AdminRouteNavigationMode;
15
16
  isLegacy: boolean;
17
+ reason: AdminRouteRuntimeTargetReason;
16
18
  };
17
19
  type LocationLike = {
18
20
  pathname: string;
@@ -30,7 +32,10 @@ type ResolveAdminRouteRuntimeTargetOptions = {
30
32
  preserveLocationState?: boolean;
31
33
  log?: (message?: any, ...optionalParams: any[]) => void;
32
34
  };
35
+ export declare function isV2AdminRuntime(app?: ResolveAdminRouteRuntimeTargetOptions['app']): boolean;
33
36
  export declare function toRouterNavigationPath(pathname: string, basename?: string): string;
37
+ export declare function isV2MenuRoute(route: NocoBaseDesktopRoute | undefined): boolean;
38
+ export declare function findFirstV2LandingRoute(routes: NocoBaseDesktopRoute[] | undefined): NocoBaseDesktopRoute | undefined;
34
39
  export declare function findFirstAccessiblePageRoute(routes: NocoBaseDesktopRoute[] | undefined): NocoBaseDesktopRoute | undefined;
35
40
  /**
36
41
  * 将 desktop route 解析为实际运行时跳转目标。
@@ -11,6 +11,8 @@ import { TableColumnProps } from 'antd';
11
11
  import React from 'react';
12
12
  import { SubTableFieldModel } from '.';
13
13
  import { FieldModel } from '../../../base/FieldModel';
14
+ export declare const SUB_TABLE_COLUMN_FIELD_COMPONENT_CONTEXT = "subTableColumn";
15
+ export declare function isSubTableColumnFieldComponentContext(ctx: any): boolean;
14
16
  export declare function FieldWithoutPermissionPlaceholder({ targetModel }: {
15
17
  targetModel: any;
16
18
  }): React.JSX.Element;
@@ -24,6 +26,7 @@ export interface SubTableColumnModelStructure {
24
26
  }
25
27
  export declare class SubTableColumnModel<T extends SubTableColumnModelStructure = SubTableColumnModelStructure> extends EditableItemModel<T> {
26
28
  static renderMode: ModelRenderMode;
29
+ static fieldComponentContext: string;
27
30
  renderHiddenInConfig(): React.JSX.Element;
28
31
  static defineChildren(ctx: FlowModelContext): any;
29
32
  get collection(): any;