@nocobase/client-v2 2.1.0-beta.27 → 2.1.0-beta.29

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 (45) hide show
  1. package/es/components/form/JsonTextArea.d.ts +18 -0
  2. package/es/components/index.d.ts +1 -0
  3. package/es/flow/actions/dateRangeLimit.d.ts +9 -0
  4. package/es/flow/actions/index.d.ts +1 -0
  5. package/es/flow/models/base/PageModel/PageModel.d.ts +4 -0
  6. package/es/flow/models/base/PageModel/RootPageModel.d.ts +9 -0
  7. package/es/flow/models/blocks/form/value-runtime/runtime.d.ts +7 -0
  8. package/es/flow/models/fields/AssociationFieldModel/SubTableFieldModel/SubTableColumnModel.d.ts +2 -0
  9. package/es/flow/models/fields/DateTimeFieldModel/dateLimit.d.ts +20 -0
  10. package/es/flow/models/fields/JSEditableFieldModel.d.ts +4 -0
  11. package/es/index.mjs +72 -65
  12. package/lib/index.js +61 -54
  13. package/package.json +6 -5
  14. package/src/components/form/JsonTextArea.tsx +129 -0
  15. package/src/components/index.ts +1 -0
  16. package/src/flow/actions/__tests__/fieldLinkageRules.scopeDepth.test.ts +478 -0
  17. package/src/flow/actions/__tests__/pattern.test.ts +190 -0
  18. package/src/flow/actions/dateRangeLimit.tsx +66 -0
  19. package/src/flow/actions/index.ts +1 -0
  20. package/src/flow/actions/linkageRules.tsx +117 -19
  21. package/src/flow/actions/openView.tsx +2 -1
  22. package/src/flow/actions/pattern.tsx +25 -2
  23. package/src/flow/admin-shell/AdminLayoutRouteCoordinator.ts +7 -1
  24. package/src/flow/admin-shell/__tests__/AdminLayoutRouteCoordinator.test.ts +117 -0
  25. package/src/flow/models/base/PageModel/PageModel.tsx +15 -3
  26. package/src/flow/models/base/PageModel/RootPageModel.tsx +37 -2
  27. package/src/flow/models/base/PageModel/__tests__/PageModel.test.ts +73 -0
  28. package/src/flow/models/base/PageModel/__tests__/RootPageModel.test.ts +116 -0
  29. package/src/flow/models/blocks/form/value-runtime/__tests__/runtime.test.ts +167 -1
  30. package/src/flow/models/blocks/form/value-runtime/runtime.ts +103 -11
  31. package/src/flow/models/fields/AssociationFieldModel/SubTableFieldModel/SubTableColumnModel.tsx +27 -3
  32. package/src/flow/models/fields/AssociationFieldModel/SubTableFieldModel/SubTableField.tsx +47 -0
  33. package/src/flow/models/fields/AssociationFieldModel/SubTableFieldModel/__tests__/SubTableColumnModel.rowRecord.test.ts +42 -0
  34. package/src/flow/models/fields/AssociationFieldModel/SubTableFieldModel/__tests__/SubTableField.refresh.test.tsx +122 -0
  35. package/src/flow/models/fields/AssociationFieldModel/SubTableFieldModel/index.tsx +2 -0
  36. package/src/flow/models/fields/ClickableFieldModel.tsx +21 -9
  37. package/src/flow/models/fields/DateTimeFieldModel/DateOnlyFieldModel.tsx +9 -0
  38. package/src/flow/models/fields/DateTimeFieldModel/DateTimeFieldModel.tsx +4 -0
  39. package/src/flow/models/fields/DateTimeFieldModel/DateTimeNoTzFieldModel.tsx +9 -0
  40. package/src/flow/models/fields/DateTimeFieldModel/DateTimeTzFieldModel.tsx +9 -0
  41. package/src/flow/models/fields/DateTimeFieldModel/__tests__/DateTimeNoTzFieldModel.dateLimit.test.tsx +242 -0
  42. package/src/flow/models/fields/DateTimeFieldModel/dateLimit.ts +152 -0
  43. package/src/flow/models/fields/JSEditableFieldModel.tsx +110 -14
  44. package/src/flow/models/fields/__tests__/ClickableFieldModel.test.ts +87 -0
  45. package/src/flow/models/fields/__tests__/JSEditableFieldModel.test.tsx +210 -0
@@ -0,0 +1,18 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import type { TextAreaProps } from 'antd/es/input';
10
+ import React from 'react';
11
+ export interface JsonTextAreaProps extends Omit<TextAreaProps, 'value' | 'onChange'> {
12
+ value?: unknown;
13
+ onChange?: (value: unknown) => void;
14
+ space?: number;
15
+ json5?: boolean;
16
+ showError?: boolean;
17
+ }
18
+ export declare const JsonTextArea: React.MemoExoticComponent<(props: JsonTextAreaProps) => React.JSX.Element>;
@@ -9,4 +9,5 @@
9
9
  export * from './AppComponents';
10
10
  export * from './BlankComponent';
11
11
  export * from './Icon';
12
+ export * from './form/JsonTextArea';
12
13
  export * from './RouterContextCleaner';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export declare const dateRangeLimit: import("@nocobase/flow-engine").ActionDefinition<import("@nocobase/flow-engine").FlowModel<import("@nocobase/flow-engine").DefaultStructure>, import("@nocobase/flow-engine").FlowContext>;
@@ -19,6 +19,7 @@ export * from './refreshTargetBlocks';
19
19
  export * from './setTargetDataScope';
20
20
  export { titleField } from './titleField';
21
21
  export * from './dateTimeFormat';
22
+ export * from './dateRangeLimit';
22
23
  export * from './sortingRules';
23
24
  export * from './dataLoadingMode';
24
25
  export * from './renderMode';
@@ -26,6 +26,10 @@ export declare class PageModel extends FlowModel<PageModelStructure> {
26
26
  private dirtyRefreshScheduled;
27
27
  private unmounted;
28
28
  private documentTitleUpdateVersion;
29
+ /**
30
+ * 根页面标签页开关以路由表为准,避免 flow model 里的旧配置覆盖路由管理设置。
31
+ */
32
+ private getEnableTabs;
29
33
  private getActiveTabKey;
30
34
  private scheduleActiveLifecycleRefresh;
31
35
  onMount(): void;
@@ -10,6 +10,14 @@ import { DragEndEvent } from '@dnd-kit/core';
10
10
  import { PageModel } from './PageModel';
11
11
  export declare class RootPageModel extends PageModel {
12
12
  mounted: boolean;
13
+ /**
14
+ * 打开页面设置前,把标签页开关表单值同步为路由表中的当前状态。
15
+ */
16
+ private syncPageSettingsEnableTabsFromRoute;
17
+ /**
18
+ * 保存页面设置后立即同步当前页面状态,让标签页显隐无需等路由列表刷新或页面重载。
19
+ */
20
+ private syncEnableTabsToCurrentPage;
13
21
  /**
14
22
  * 新建 tab 在首次保存完成前,前端 route 里可能还没有数据库 id。
15
23
  * 拖拽前兜底触发一次保存,确保 move 接口拿到真实主键。
@@ -19,6 +27,7 @@ export declare class RootPageModel extends PageModel {
19
27
  */
20
28
  private ensurePersistedRouteId;
21
29
  onMount(): void;
30
+ openFlowSettings(options?: Parameters<PageModel['openFlowSettings']>[0]): Promise<boolean>;
22
31
  saveStepParams(): Promise<void>;
23
32
  handleDragEnd(event: DragEndEvent): Promise<void>;
24
33
  }
@@ -46,6 +46,8 @@ export declare class FormValueRuntime {
46
46
  syncAssignRules(items: FormAssignRuleItem[]): void;
47
47
  get formValues(): any;
48
48
  getFormValuesSnapshot(): any;
49
+ canApplyDefaultValuePatch(namePath: NamePath, resolved: any): boolean;
50
+ recordDefaultValuePatch(namePath: NamePath, value?: any): void;
49
51
  private getFormValueAtPath;
50
52
  mount(options?: {
51
53
  sync?: boolean;
@@ -82,6 +84,11 @@ export declare class FormValueRuntime {
82
84
  private bumpChangeTick;
83
85
  private emitFormValuesChange;
84
86
  private markExplicit;
87
+ private normalizeObservedNamePath;
88
+ private clearExplicitForDefaultPatch;
89
+ private shouldPreserveDescendantDefaultsOnExplicit;
90
+ private shouldKeepDefaultPathEnabled;
91
+ private shouldKeepDefaultPathValueEnabled;
85
92
  private isExplicit;
86
93
  private findExplicitHit;
87
94
  }
@@ -14,6 +14,8 @@ import { FieldModel } from '../../../base/FieldModel';
14
14
  export declare function FieldWithoutPermissionPlaceholder({ targetModel }: {
15
15
  targetModel: any;
16
16
  }): React.JSX.Element;
17
+ export declare function buildRowPathFromFieldIndex(fieldIndex: unknown): Array<string | number> | null;
18
+ export declare function getLatestSubTableRowRecord(form: any, fieldIndex: unknown, fallbackRecord: any): any;
17
19
  export interface SubTableColumnModelStructure {
18
20
  parent: SubTableFieldModel;
19
21
  subModels: {
@@ -0,0 +1,20 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ type DateLimitProps = {
10
+ _minDate?: any;
11
+ _maxDate?: any;
12
+ currentForm?: any;
13
+ };
14
+ export declare function useDateLimit(props: DateLimitProps): {
15
+ minDate: any;
16
+ maxDate: any;
17
+ disabledDate: any;
18
+ disabledTime: any;
19
+ };
20
+ export {};
@@ -16,6 +16,10 @@ import { FieldModel } from '../base/FieldModel';
16
16
  */
17
17
  export declare class JSEditableFieldModel extends FieldModel {
18
18
  private _mountedOnce;
19
+ private _pendingJsSettingsApply;
20
+ private _lastAppliedJsSettings?;
21
+ scheduleApplyJsSettings(): void;
22
+ useHooksBeforeRender(): void;
19
23
  render(): React.JSX.Element;
20
24
  /**
21
25
  * 在 CreateForm / 提交后重置等场景下,字段可能被卸载并重新挂载。