@sparqjs/schema-designer 0.1.0
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/README.md +40 -0
- package/dist/app/root.d.ts +63 -0
- package/dist/app/root.d.ts.map +1 -0
- package/dist/app/toolbar.d.ts +36 -0
- package/dist/app/toolbar.d.ts.map +1 -0
- package/dist/canvas/adapter.d.ts +47 -0
- package/dist/canvas/adapter.d.ts.map +1 -0
- package/dist/canvas/canvas.d.ts +20 -0
- package/dist/canvas/canvas.d.ts.map +1 -0
- package/dist/canvas/node-frame.d.ts +121 -0
- package/dist/canvas/node-frame.d.ts.map +1 -0
- package/dist/canvas/sortable-list.d.ts +44 -0
- package/dist/canvas/sortable-list.d.ts.map +1 -0
- package/dist/dialogs/dialogs.d.ts +58 -0
- package/dist/dialogs/dialogs.d.ts.map +1 -0
- package/dist/dialogs/resource-tree-model.d.ts +62 -0
- package/dist/dialogs/resource-tree-model.d.ts.map +1 -0
- package/dist/extensions/context.d.ts +76 -0
- package/dist/extensions/context.d.ts.map +1 -0
- package/dist/extensions/instance.d.ts +56 -0
- package/dist/extensions/instance.d.ts.map +1 -0
- package/dist/extensions/material.d.ts +49 -0
- package/dist/extensions/material.d.ts.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10190 -0
- package/dist/index.js.map +1 -0
- package/dist/inspector/boolean-checkbox.d.ts +26 -0
- package/dist/inspector/boolean-checkbox.d.ts.map +1 -0
- package/dist/inspector/capabilities/adapters.d.ts +16 -0
- package/dist/inspector/capabilities/adapters.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/color-palette.d.ts +4 -0
- package/dist/inspector/capabilities/cards/color-palette.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/component-settings.d.ts +8 -0
- package/dist/inspector/capabilities/cards/component-settings.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/input-slots.d.ts +4 -0
- package/dist/inspector/capabilities/cards/input-slots.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/interaction-rules.d.ts +4 -0
- package/dist/inspector/capabilities/cards/interaction-rules.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/option-source.d.ts +4 -0
- package/dist/inspector/capabilities/cards/option-source.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/validation-rules.d.ts +4 -0
- package/dist/inspector/capabilities/cards/validation-rules.d.ts.map +1 -0
- package/dist/inspector/capabilities/cards/value-strategy.d.ts +4 -0
- package/dist/inspector/capabilities/cards/value-strategy.d.ts.map +1 -0
- package/dist/inspector/capabilities/index.d.ts +5 -0
- package/dist/inspector/capabilities/index.d.ts.map +1 -0
- package/dist/inspector/capabilities/keys.d.ts +20 -0
- package/dist/inspector/capabilities/keys.d.ts.map +1 -0
- package/dist/inspector/capabilities/register-built-ins.d.ts +4 -0
- package/dist/inspector/capabilities/register-built-ins.d.ts.map +1 -0
- package/dist/inspector/capabilities/registry.d.ts +7 -0
- package/dist/inspector/capabilities/registry.d.ts.map +1 -0
- package/dist/inspector/capabilities/types.d.ts +44 -0
- package/dist/inspector/capabilities/types.d.ts.map +1 -0
- package/dist/inspector/color-palette-editor.d.ts +10 -0
- package/dist/inspector/color-palette-editor.d.ts.map +1 -0
- package/dist/inspector/commands/component-migration.d.ts +25 -0
- package/dist/inspector/commands/component-migration.d.ts.map +1 -0
- package/dist/inspector/commands/field-property.d.ts +51 -0
- package/dist/inspector/commands/field-property.d.ts.map +1 -0
- package/dist/inspector/commands/form-property.d.ts +25 -0
- package/dist/inspector/commands/form-property.d.ts.map +1 -0
- package/dist/inspector/component-settings-editor.d.ts +37 -0
- package/dist/inspector/component-settings-editor.d.ts.map +1 -0
- package/dist/inspector/computed-expression-editor.d.ts +20 -0
- package/dist/inspector/computed-expression-editor.d.ts.map +1 -0
- package/dist/inspector/condition-editor-model.d.ts +63 -0
- package/dist/inspector/condition-editor-model.d.ts.map +1 -0
- package/dist/inspector/condition-visual-editor.d.ts +30 -0
- package/dist/inspector/condition-visual-editor.d.ts.map +1 -0
- package/dist/inspector/container-items-editor.d.ts +42 -0
- package/dist/inspector/container-items-editor.d.ts.map +1 -0
- package/dist/inspector/date-time-format-editor.d.ts +30 -0
- package/dist/inspector/date-time-format-editor.d.ts.map +1 -0
- package/dist/inspector/default-value-editor.d.ts +30 -0
- package/dist/inspector/default-value-editor.d.ts.map +1 -0
- package/dist/inspector/field-property-view.d.ts +44 -0
- package/dist/inspector/field-property-view.d.ts.map +1 -0
- package/dist/inspector/field-schema/build-sections.d.ts +9 -0
- package/dist/inspector/field-schema/build-sections.d.ts.map +1 -0
- package/dist/inspector/field-schema/component-options.d.ts +14 -0
- package/dist/inspector/field-schema/component-options.d.ts.map +1 -0
- package/dist/inspector/field-schema/fields.d.ts +21 -0
- package/dist/inspector/field-schema/fields.d.ts.map +1 -0
- package/dist/inspector/field-schema/index.d.ts +5 -0
- package/dist/inspector/field-schema/index.d.ts.map +1 -0
- package/dist/inspector/field-schema/keys.d.ts +15 -0
- package/dist/inspector/field-schema/keys.d.ts.map +1 -0
- package/dist/inspector/field-schema/registry.d.ts +99 -0
- package/dist/inspector/field-schema/registry.d.ts.map +1 -0
- package/dist/inspector/field-schema/types.d.ts +113 -0
- package/dist/inspector/field-schema/types.d.ts.map +1 -0
- package/dist/inspector/form-property-view.d.ts +14 -0
- package/dist/inspector/form-property-view.d.ts.map +1 -0
- package/dist/inspector/form-schema.d.ts +64 -0
- package/dist/inspector/form-schema.d.ts.map +1 -0
- package/dist/inspector/input-slots-editor.d.ts +11 -0
- package/dist/inspector/input-slots-editor.d.ts.map +1 -0
- package/dist/inspector/inspector.d.ts +34 -0
- package/dist/inspector/inspector.d.ts.map +1 -0
- package/dist/inspector/interaction-rules-editor.d.ts +24 -0
- package/dist/inspector/interaction-rules-editor.d.ts.map +1 -0
- package/dist/inspector/option-source-editor.d.ts +35 -0
- package/dist/inspector/option-source-editor.d.ts.map +1 -0
- package/dist/inspector/option-source-summary.d.ts +4 -0
- package/dist/inspector/option-source-summary.d.ts.map +1 -0
- package/dist/inspector/property-commit.d.ts +23 -0
- package/dist/inspector/property-commit.d.ts.map +1 -0
- package/dist/inspector/property-section.d.ts +4 -0
- package/dist/inspector/property-section.d.ts.map +1 -0
- package/dist/inspector/property-ui-adapter.d.ts +4 -0
- package/dist/inspector/property-ui-adapter.d.ts.map +1 -0
- package/dist/inspector/required-validation.d.ts +16 -0
- package/dist/inspector/required-validation.d.ts.map +1 -0
- package/dist/inspector/validation-rule-editor.d.ts +25 -0
- package/dist/inspector/validation-rule-editor.d.ts.map +1 -0
- package/dist/inspector/value-strategy-editor.d.ts +31 -0
- package/dist/inspector/value-strategy-editor.d.ts.map +1 -0
- package/dist/services/registry.d.ts +68 -0
- package/dist/services/registry.d.ts.map +1 -0
- package/dist/shared/clone.d.ts +8 -0
- package/dist/shared/clone.d.ts.map +1 -0
- package/dist/shared/component-registry.d.ts +10 -0
- package/dist/shared/component-registry.d.ts.map +1 -0
- package/dist/shared/icons.d.ts +8 -0
- package/dist/shared/icons.d.ts.map +1 -0
- package/dist/shared/object-path.d.ts +14 -0
- package/dist/shared/object-path.d.ts.map +1 -0
- package/dist/shared/ui-adapter.d.ts +12 -0
- package/dist/shared/ui-adapter.d.ts.map +1 -0
- package/dist/shared/view-node.d.ts +9 -0
- package/dist/shared/view-node.d.ts.map +1 -0
- package/dist/sidebar/components.d.ts +24 -0
- package/dist/sidebar/components.d.ts.map +1 -0
- package/dist/sidebar/sidebar.d.ts +25 -0
- package/dist/sidebar/sidebar.d.ts.map +1 -0
- package/dist/state/component-config.d.ts +41 -0
- package/dist/state/component-config.d.ts.map +1 -0
- package/dist/state/create-state.d.ts +8 -0
- package/dist/state/create-state.d.ts.map +1 -0
- package/dist/state/draft.d.ts +12 -0
- package/dist/state/draft.d.ts.map +1 -0
- package/dist/state/field.d.ts +10 -0
- package/dist/state/field.d.ts.map +1 -0
- package/dist/state/form-actions.d.ts +17 -0
- package/dist/state/form-actions.d.ts.map +1 -0
- package/dist/state/form-view.d.ts +6 -0
- package/dist/state/form-view.d.ts.map +1 -0
- package/dist/state/history.d.ts +16 -0
- package/dist/state/history.d.ts.map +1 -0
- package/dist/state/node-actions.d.ts +66 -0
- package/dist/state/node-actions.d.ts.map +1 -0
- package/dist/state/node-permissions.d.ts +17 -0
- package/dist/state/node-permissions.d.ts.map +1 -0
- package/dist/state/output.d.ts +5 -0
- package/dist/state/output.d.ts.map +1 -0
- package/dist/state/schema.d.ts +10 -0
- package/dist/state/schema.d.ts.map +1 -0
- package/dist/state/tree.d.ts +28 -0
- package/dist/state/tree.d.ts.map +1 -0
- package/dist/state/types.d.ts +81 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/state/visibility.d.ts +17 -0
- package/dist/state/visibility.d.ts.map +1 -0
- package/package.json +46 -0
- package/src/style.css +2129 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
export interface DateTimeFormatPreset {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
}
|
|
6
|
+
interface DateTimeFormatEditorProps {
|
|
7
|
+
presets?: DateTimeFormatPreset[];
|
|
8
|
+
defaultLabel?: string;
|
|
9
|
+
}
|
|
10
|
+
/** 日期时间格式的渐进式编辑器:常用格式直接选择,其他格式进入高级输入。 */
|
|
11
|
+
export declare const DateTimeFormatEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
12
|
+
value: StringConstructor;
|
|
13
|
+
disabled: BooleanConstructor;
|
|
14
|
+
readonly: BooleanConstructor;
|
|
15
|
+
onChange: PropType<(value: string | undefined) => void>;
|
|
16
|
+
onBlur: PropType<() => void>;
|
|
17
|
+
props: PropType<DateTimeFormatEditorProps>;
|
|
18
|
+
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
19
|
+
value: StringConstructor;
|
|
20
|
+
disabled: BooleanConstructor;
|
|
21
|
+
readonly: BooleanConstructor;
|
|
22
|
+
onChange: PropType<(value: string | undefined) => void>;
|
|
23
|
+
onBlur: PropType<() => void>;
|
|
24
|
+
props: PropType<DateTimeFormatEditorProps>;
|
|
25
|
+
}>> & Readonly<{}>, {
|
|
26
|
+
readonly: boolean;
|
|
27
|
+
disabled: boolean;
|
|
28
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=date-time-format-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-time-format-editor.d.ts","sourceRoot":"","sources":["../../src/inspector/date-time-format-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAG7E,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,yBAAyB;IAC/B,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAID,yCAAyC;AACzC,eAAO,MAAM,oBAAoB;;;;cAMH,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;YAC/C,QAAQ,CAAC,MAAM,IAAI,CAAC;WACvB,QAAQ,CAAC,yBAAyB,CAAC;;;;;cAF9B,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;YAC/C,QAAQ,CAAC,MAAM,IAAI,CAAC;WACvB,QAAQ,CAAC,yBAAyB,CAAC;;;;4EAyE1D,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { ResourceField } from '@sparqjs/schema-protocol';
|
|
3
|
+
import { type SparqAssetService, type SparqRichTextRegistry } from '@sparqjs/schema-vue';
|
|
4
|
+
interface DefaultValueEditorConfig {
|
|
5
|
+
mode?: 'dialog';
|
|
6
|
+
component?: string;
|
|
7
|
+
nodeProps?: Record<string, unknown>;
|
|
8
|
+
field?: ResourceField;
|
|
9
|
+
configured?: boolean;
|
|
10
|
+
upload?: boolean;
|
|
11
|
+
}
|
|
12
|
+
interface DefaultValueEditorProps {
|
|
13
|
+
defaultValueEditor?: DefaultValueEditorConfig;
|
|
14
|
+
}
|
|
15
|
+
/** 复杂默认值只在用户打开弹层后挂载完整 Runtime,避免增加 Inspector 首屏选择成本。 */
|
|
16
|
+
export declare const DefaultValueEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
17
|
+
value: PropType<unknown>;
|
|
18
|
+
onChange: PropType<(value: unknown) => void>;
|
|
19
|
+
props: PropType<DefaultValueEditorProps>;
|
|
20
|
+
assetService: PropType<SparqAssetService>;
|
|
21
|
+
richTextEditors: PropType<SparqRichTextRegistry>;
|
|
22
|
+
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
23
|
+
value: PropType<unknown>;
|
|
24
|
+
onChange: PropType<(value: unknown) => void>;
|
|
25
|
+
props: PropType<DefaultValueEditorProps>;
|
|
26
|
+
assetService: PropType<SparqAssetService>;
|
|
27
|
+
richTextEditors: PropType<SparqRichTextRegistry>;
|
|
28
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=default-value-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-value-editor.d.ts","sourceRoot":"","sources":["../../src/inspector/default-value-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AACtE,OAAO,KAAK,EAAE,aAAa,EAA4B,MAAM,0BAA0B,CAAA;AAEvF,OAAO,EAAa,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAInG,UAAU,wBAAwB;IAC9B,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACnC,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,UAAU,uBAAuB;IAC7B,kBAAkB,CAAC,EAAE,wBAAwB,CAAA;CAChD;AAED,wDAAwD;AACxD,eAAO,MAAM,kBAAkB;WAGG,QAAQ,CAAC,OAAO,CAAC;cACrB,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;WACvC,QAAQ,CAAC,uBAAuB,CAAC;kBAC1B,QAAQ,CAAC,iBAAiB,CAAC;qBACxB,QAAQ,CAAC,qBAAqB,CAAC;;WAJhC,QAAQ,CAAC,OAAO,CAAC;cACrB,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;WACvC,QAAQ,CAAC,uBAAuB,CAAC;kBAC1B,QAAQ,CAAC,iBAAiB,CAAC;qBACxB,QAAQ,CAAC,qBAAqB,CAAC;iGA2HhE,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type ResourceField, type SchemaResource, type ViewNode } from '@sparqjs/schema-protocol';
|
|
2
|
+
import { type FieldPropertyField, type FieldSchemaContext, type FieldSchemaSection } from './field-schema';
|
|
3
|
+
import { type DesignerServiceOption, type DesignerServiceRegistry } from '../services/registry';
|
|
4
|
+
/** Inspector 字段表单的扁平值映射,key 对应 FieldPropertyField.key。 */
|
|
5
|
+
export type FieldPropertyValues = Record<string, unknown>;
|
|
6
|
+
/** 异步数据源加载后的属性选项映射。 */
|
|
7
|
+
export type FieldPropertyOptionState = Record<string, DesignerServiceOption[]>;
|
|
8
|
+
/** 已确认的一项属性写回请求。 */
|
|
9
|
+
export interface FieldPropertyChange {
|
|
10
|
+
property: FieldPropertyField;
|
|
11
|
+
value: unknown;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 把字段属性声明转换为 SqRender 可渲染的临时 SchemaResource。
|
|
15
|
+
*
|
|
16
|
+
* 该 schema 只服务 Inspector,不会写入用户业务 schema。
|
|
17
|
+
*/
|
|
18
|
+
export declare function createFieldPropertySchema(context: FieldSchemaContext, options?: FieldPropertyOptionState, serviceRegistry?: DesignerServiceRegistry, sections?: readonly FieldSchemaSection[]): SchemaResource;
|
|
19
|
+
/** 生成反映当前属性结构的稳定 key,Inspector 用它判断是否需要重建属性表单。 */
|
|
20
|
+
export declare function createFieldPropertySchemaKey(context: FieldSchemaContext, sections?: readonly FieldSchemaSection[]): string;
|
|
21
|
+
/**
|
|
22
|
+
* 加载字段属性声明中的设计期选项数据源。
|
|
23
|
+
*
|
|
24
|
+
* 属性 schema 本身保持同步生成,异步结果由 Inspector 注入后重建 schema。这样请求取消、
|
|
25
|
+
* 节点切换和后续缓存策略都留在设计器状态层,不进入纯 schema 组装函数。
|
|
26
|
+
*/
|
|
27
|
+
export declare function loadFieldPropertyDataSourceOptions(context: FieldSchemaContext, values: FieldPropertyValues, signal?: AbortSignal, registry?: DesignerServiceRegistry, sections?: readonly FieldSchemaSection[]): Promise<FieldPropertyOptionState>;
|
|
28
|
+
/** 从当前节点和字段读取属性表单初始值,JSON 字段会转换为可编辑文本。 */
|
|
29
|
+
export declare function createFieldPropertyValues(context: FieldSchemaContext, sections?: readonly FieldSchemaSection[]): FieldPropertyValues;
|
|
30
|
+
/**
|
|
31
|
+
* 批量应用完整属性表单值。
|
|
32
|
+
*
|
|
33
|
+
* 该兼容入口会执行组件切换归一化;命令式更新优先使用 applyFieldPropertyChanges。
|
|
34
|
+
*/
|
|
35
|
+
export declare function applyFieldPropertyValues(context: FieldSchemaContext, values: FieldPropertyValues): {
|
|
36
|
+
node: ViewNode;
|
|
37
|
+
field?: ResourceField;
|
|
38
|
+
};
|
|
39
|
+
/** 只应用已确认的属性变更,保留未涉及的扩展字段和节点协议。 */
|
|
40
|
+
export declare function applyFieldPropertyChanges(context: FieldSchemaContext, changes: FieldPropertyChange[]): {
|
|
41
|
+
node: ViewNode;
|
|
42
|
+
field?: ResourceField;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=field-property-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-property-view.d.ts","sourceRoot":"","sources":["../../src/inspector/field-property-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAGjG,OAAO,EAIH,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAC1B,MAAM,gBAAgB,CAAA;AAKvB,OAAO,EAAuB,KAAK,qBAAqB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAEpH,0DAA0D;AAC1D,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACzD,uBAAuB;AACvB,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAA;AAE9E,oBAAoB;AACpB,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,KAAK,EAAE,OAAO,CAAA;CACjB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,wBAA6B,EACtC,eAAe,CAAC,EAAE,uBAAuB,EACzC,QAAQ,GAAE,SAAS,kBAAkB,EAAuC,GAC7E,cAAc,CAyChB;AAED,kDAAkD;AAClD,wBAAgB,4BAA4B,CACxC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,GAAE,SAAS,kBAAkB,EAAuC,GAC7E,MAAM,CAyBR;AAED;;;;;GAKG;AACH,wBAAsB,kCAAkC,CACpD,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,uBAAuB,EAClC,QAAQ,GAAE,SAAS,kBAAkB,EAAuC,GAC7E,OAAO,CAAC,wBAAwB,CAAC,CAiCnC;AAwBD,0CAA0C;AAC1C,wBAAgB,yBAAyB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,GAAE,SAAS,kBAAkB,EAAuC,GAC7E,mBAAmB,CAarB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,mBAAmB,GAC5B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,CAuC3C;AAED,mCAAmC;AACnC,wBAAgB,yBAAyB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,mBAAmB,EAAE,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,CA2B3C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type FieldSchemaContext, type FieldSchemaSection } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* 根据当前选中节点生成右侧字段属性分组。
|
|
4
|
+
*
|
|
5
|
+
* 本层只负责“哪些分组在当前上下文出现”,具体属性定义来自 fields,组件和能力卡由
|
|
6
|
+
* DesignerExtensionContext 解析。插件新增组件时只提供扩展声明,不需要修改核心组装流程。
|
|
7
|
+
*/
|
|
8
|
+
export declare function createFieldSchemaSections(context: FieldSchemaContext): FieldSchemaSection[];
|
|
9
|
+
//# sourceMappingURL=build-sections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-sections.d.ts","sourceRoot":"","sources":["../../../src/inspector/field-schema/build-sections.ts"],"names":[],"mappings":"AAMA,OAAO,EAA2B,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAA;AA0BnG;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,CA6E3F"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ResourceField, ViewNode } from '@sparqjs/schema-protocol';
|
|
2
|
+
import type { DesignerExtensionContext } from '../../extensions/context';
|
|
3
|
+
import { textInputComponents } from './registry';
|
|
4
|
+
export { textInputComponents };
|
|
5
|
+
/** 根据组件兼容分组返回当前节点可安全切换的展示组件。 */
|
|
6
|
+
export declare function componentOptionsForNode(node: ViewNode, field?: ResourceField, extensionContext?: DesignerExtensionContext): Array<{
|
|
7
|
+
label: string;
|
|
8
|
+
value: string;
|
|
9
|
+
}>;
|
|
10
|
+
/** 解析节点实际组件;字段节点未声明 component 时使用 text。 */
|
|
11
|
+
export declare function resolveNodeComponent(node: ViewNode): string;
|
|
12
|
+
/** 只有布局与容器节点显示协议 name,字段和 view 使用各自业务标识。 */
|
|
13
|
+
export declare function shouldShowNodeName(node: ViewNode): boolean;
|
|
14
|
+
//# sourceMappingURL=component-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-options.d.ts","sourceRoot":"","sources":["../../../src/inspector/field-schema/component-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAExE,OAAO,EAAoE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAIlH,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B,gCAAgC;AAChC,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,QAAQ,EACd,KAAK,CAAC,EAAE,aAAa,EACrB,gBAAgB,CAAC,EAAE,wBAAwB,GAC5C,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BzC;AAED,2CAA2C;AAC3C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAM3D;AAED,4CAA4C;AAC5C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAE1D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { FieldPropertyField } from './types';
|
|
2
|
+
import type { DesignerComponentPropertyConfig } from './registry';
|
|
3
|
+
/** ViewNode 级通用属性,不随展示组件切换迁移。 */
|
|
4
|
+
export declare const nodeCommonFields: FieldPropertyField[];
|
|
5
|
+
/** 节点基础分组允许直接编辑的字段 key。 */
|
|
6
|
+
export declare const nodeBasicFieldKeys: string[];
|
|
7
|
+
/** 布局分组使用的节点属性 key,复杂 JSON 配置会由能力卡接管。 */
|
|
8
|
+
export declare const nodeLayoutFieldKeys: string[];
|
|
9
|
+
/** 标签页和手风琴外层容器的专用项目管理属性。 */
|
|
10
|
+
export declare const nodeItemsFieldKeys: string[];
|
|
11
|
+
/** has-many 关系列表节点的设计器属性。 */
|
|
12
|
+
export declare const relationListFields: FieldPropertyField[];
|
|
13
|
+
/** ResourceField 级通用属性声明,组件能力会进一步限制其可见范围。 */
|
|
14
|
+
export declare const fieldCommonFields: FieldPropertyField[];
|
|
15
|
+
/** 字段基础信息分组的稳定 key。 */
|
|
16
|
+
export declare const fieldBasicFieldKeys: string[];
|
|
17
|
+
/** 字段状态分组的稳定 key。 */
|
|
18
|
+
export declare const fieldStateFieldKeys: string[];
|
|
19
|
+
/** 返回每个 Designer 实例安装到 builtin 层的组件属性贡献。 */
|
|
20
|
+
export declare function createBuiltInDesignerComponentProperties(): DesignerComponentPropertyConfig[];
|
|
21
|
+
//# sourceMappingURL=fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/inspector/field-schema/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGR,kBAAkB,EAGrB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,EAER,+BAA+B,EAGlC,MAAM,YAAY,CAAA;AAsEnB,iCAAiC;AACjC,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,EAuGhD,CAAA;AAED,2BAA2B;AAC3B,eAAO,MAAM,kBAAkB,UAAkC,CAAA;AACjE,yCAAyC;AACzC,eAAO,MAAM,mBAAmB,UAS/B,CAAA;AACD,4BAA4B;AAC5B,eAAO,MAAM,kBAAkB,UAAiB,CAAA;AAQhD,6BAA6B;AAC7B,eAAO,MAAM,kBAAkB,EAAE,kBAAkB,EAoHlD,CAAA;AAmLD,6CAA6C;AAC7C,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,EAkEjD,CAAA;AAED,uBAAuB;AACvB,eAAO,MAAM,mBAAmB,UAA8C,CAAA;AAC9E,qBAAqB;AACrB,eAAO,MAAM,mBAAmB,UAAyD,CAAA;AAyVzF,4CAA4C;AAC5C,wBAAgB,wCAAwC,IAAI,+BAA+B,EAAE,CAwP5F"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './keys';
|
|
3
|
+
export { createFieldSchemaSections } from './build-sections';
|
|
4
|
+
export { getDesignerComponentPropertyConfig, listDesignerComponentOptions, listDesignerComponentPropertyConfigs, type DesignerComponentMigrationChange, type DesignerComponentMigrationContext, type DesignerComponentMigrationResult, type DesignerComponentMigrator, type DesignerComponentCapabilityProfile, type DesignerComponentOption, type DesignerComponentPropertyConfig, type DesignerComponentValidationConfig, type DesignerDefaultValueEditor, type DesignerMultiplePolicy, type DesignerOptionSourceMode, type DesignerValueStrategyMode, } from './registry';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/inspector/field-schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EACH,kCAAkC,EAClC,4BAA4B,EAC5B,oCAAoC,EACpC,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACrC,KAAK,yBAAyB,EAC9B,KAAK,kCAAkC,EACvC,KAAK,uBAAuB,EAC5B,KAAK,+BAA+B,EACpC,KAAK,iCAAiC,EACtC,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,GACjC,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 字段快捷能力 key。
|
|
3
|
+
*
|
|
4
|
+
* 这些 key 只控制右侧“字段能力”里的布尔快捷开关,最终写回 ResourceField
|
|
5
|
+
* 上的同名字段。复杂能力入口应使用 designerCapabilityCardKeys,避免把快捷开关
|
|
6
|
+
* 和弹层能力混在同一个配置字段里。
|
|
7
|
+
*/
|
|
8
|
+
export declare const designerFieldCapabilityKeys: {
|
|
9
|
+
readonly multiple: "multiple";
|
|
10
|
+
readonly listable: "listable";
|
|
11
|
+
readonly searchable: "searchable";
|
|
12
|
+
};
|
|
13
|
+
/** 组件允许在字段属性面板暴露的布尔字段能力。 */
|
|
14
|
+
export type DesignerComponentFieldCapability = (typeof designerFieldCapabilityKeys)[keyof typeof designerFieldCapabilityKeys];
|
|
15
|
+
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/inspector/field-schema/keys.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B;;;;CAI9B,CAAA;AAEV,4BAA4B;AAC5B,MAAM,MAAM,gCAAgC,GACxC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAA"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { ResourceField, ViewNode } from '@sparqjs/schema-protocol';
|
|
2
|
+
import type { DesignerComponentFieldTypeConfig, DesignerMultiplePolicy } from '../../state/component-config';
|
|
3
|
+
import type { FieldPropertyField } from './types';
|
|
4
|
+
import type { DesignerComponentFieldCapability } from './keys';
|
|
5
|
+
import type { DesignerCapabilityCardKey } from '../capabilities';
|
|
6
|
+
/**
|
|
7
|
+
* 设计器组件在右侧“展示组件”下拉中的描述。
|
|
8
|
+
*
|
|
9
|
+
* group 用于控制哪些组件可以在同一个字段节点上互相切换。切换组不是组件分类展示,
|
|
10
|
+
* 而是数据结构兼容边界,例如 text/password/textarea 都能共享 string 字段。
|
|
11
|
+
*/
|
|
12
|
+
export interface DesignerComponentOption {
|
|
13
|
+
label: string;
|
|
14
|
+
value: string;
|
|
15
|
+
group?: string;
|
|
16
|
+
}
|
|
17
|
+
/** 组件支持的校验规则类型及可选私有编辑器。 */
|
|
18
|
+
export interface DesignerComponentValidationConfig {
|
|
19
|
+
supported: string[];
|
|
20
|
+
editor?: string;
|
|
21
|
+
}
|
|
22
|
+
/** 默认值在 Inspector 中的编辑方式。 */
|
|
23
|
+
export type DesignerDefaultValueEditor = 'inline' | 'dialog' | 'none';
|
|
24
|
+
/** 复杂取值逻辑编辑器允许用户选择的模式。 */
|
|
25
|
+
export type DesignerValueStrategyMode = 'dynamic' | 'computed';
|
|
26
|
+
/** 数据选项编辑器允许用户选择的候选来源。 */
|
|
27
|
+
export type DesignerOptionSourceMode = 'static' | 'dictionary' | 'reference';
|
|
28
|
+
export type { DesignerMultiplePolicy } from '../../state/component-config';
|
|
29
|
+
/**
|
|
30
|
+
* 组件字段能力的单一声明来源。
|
|
31
|
+
*
|
|
32
|
+
* Profile 只约束 Designer 可编辑能力,不写入业务 schema。组件迁移、属性面板和能力编辑器
|
|
33
|
+
* 必须读取同一个 Profile,不能再按组件名称分别推导类型、基数或允许模式。
|
|
34
|
+
*/
|
|
35
|
+
export interface DesignerComponentCapabilityProfile {
|
|
36
|
+
fieldTypes: DesignerComponentFieldTypeConfig;
|
|
37
|
+
multiple: DesignerMultiplePolicy;
|
|
38
|
+
fieldCapabilities: DesignerComponentFieldCapability[];
|
|
39
|
+
defaultValue: DesignerDefaultValueEditor;
|
|
40
|
+
valueStrategies: DesignerValueStrategyMode[];
|
|
41
|
+
optionSources: DesignerOptionSourceMode[];
|
|
42
|
+
validation?: DesignerComponentValidationConfig;
|
|
43
|
+
capabilities: DesignerCapabilityCardKey[];
|
|
44
|
+
}
|
|
45
|
+
/** 迁移摘要中的单项协议变化,用于确认弹层而不是直接执行。 */
|
|
46
|
+
export interface DesignerComponentMigrationChange {
|
|
47
|
+
action: 'add' | 'change' | 'remove' | 'preserve';
|
|
48
|
+
target: 'node' | 'field';
|
|
49
|
+
path: string;
|
|
50
|
+
label: string;
|
|
51
|
+
before?: unknown;
|
|
52
|
+
after?: unknown;
|
|
53
|
+
}
|
|
54
|
+
/** 组件迁移器获得的源数据、当前计划副本和已检测变化。 */
|
|
55
|
+
export interface DesignerComponentMigrationContext {
|
|
56
|
+
sourceComponent: string;
|
|
57
|
+
targetComponent: string;
|
|
58
|
+
sourceNode: ViewNode;
|
|
59
|
+
sourceField?: ResourceField;
|
|
60
|
+
node: ViewNode;
|
|
61
|
+
field?: ResourceField;
|
|
62
|
+
fields: ResourceField[];
|
|
63
|
+
changes: DesignerComponentMigrationChange[];
|
|
64
|
+
}
|
|
65
|
+
/** 扩展迁移器返回的新节点、字段和额外确认信息。 */
|
|
66
|
+
export interface DesignerComponentMigrationResult {
|
|
67
|
+
node: ViewNode;
|
|
68
|
+
field?: ResourceField;
|
|
69
|
+
changes?: DesignerComponentMigrationChange[];
|
|
70
|
+
requiresConfirmation?: boolean;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 目标组件拥有迁入规则。迁移器只返回新的计划数据,不直接修改设计器状态或 history。
|
|
74
|
+
*/
|
|
75
|
+
export type DesignerComponentMigrator = (context: DesignerComponentMigrationContext) => DesignerComponentMigrationResult;
|
|
76
|
+
/**
|
|
77
|
+
* 单个设计器组件的属性能力声明。
|
|
78
|
+
*
|
|
79
|
+
* props 声明轻量属性和组件级 capability 配置,capabilities 引用复合能力卡。
|
|
80
|
+
* migration 只处理迁入当前组件时的特殊协议转换。
|
|
81
|
+
*/
|
|
82
|
+
export interface DesignerComponentPropertyConfig {
|
|
83
|
+
component: string;
|
|
84
|
+
option?: DesignerComponentOption;
|
|
85
|
+
props?: FieldPropertyField[];
|
|
86
|
+
profile?: DesignerComponentCapabilityProfile;
|
|
87
|
+
dataSource?: FieldPropertyField[];
|
|
88
|
+
advanced?: FieldPropertyField[];
|
|
89
|
+
migration?: DesignerComponentMigrator;
|
|
90
|
+
}
|
|
91
|
+
/** 文本输入类组件共享少量迁移规则,不能泛化到所有 string 组件。 */
|
|
92
|
+
export declare const textInputComponents: Set<string>;
|
|
93
|
+
/** 读取设计器内置组件属性;插件组件必须通过当前实例的 DesignerExtensionContext 查询。 */
|
|
94
|
+
export declare function getDesignerComponentPropertyConfig(component: string | undefined): DesignerComponentPropertyConfig | undefined;
|
|
95
|
+
/** 返回每个设计器实例安装到 builtin 层的完整组件属性定义。 */
|
|
96
|
+
export declare function listDesignerComponentPropertyConfigs(): DesignerComponentPropertyConfig[];
|
|
97
|
+
/** 按兼容分组列出内置组件切换选项,不包含任何实例扩展。 */
|
|
98
|
+
export declare function listDesignerComponentOptions(group?: string): DesignerComponentOption[];
|
|
99
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/inspector/field-schema/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { OptionValue, ResourceField, ViewNode } from '@sparqjs/schema-protocol';
|
|
2
|
+
import type { DesignerCapabilityCardKey } from '../capabilities';
|
|
3
|
+
import type { DesignerExtensionContext } from '../../extensions/context';
|
|
4
|
+
/**
|
|
5
|
+
* 字段属性控件的设计期数据源声明。
|
|
6
|
+
*
|
|
7
|
+
* 它只用于设计器加载右侧属性控件的候选项,不会写入业务 schema。provider 对应
|
|
8
|
+
* DesignerServiceProvider 的 key,paramsFromValues 用于表达“当前属性值变化后重新加载选项”的依赖关系。
|
|
9
|
+
*/
|
|
10
|
+
export interface FieldPropertyDataSource {
|
|
11
|
+
provider: string;
|
|
12
|
+
params?: Record<string, unknown>;
|
|
13
|
+
paramsFromValues?: Record<string, string>;
|
|
14
|
+
}
|
|
15
|
+
/** 属性值的持久化目标;能力卡通过自身 read/write 处理一个或多个协议路径。 */
|
|
16
|
+
export type FieldPropertyStorage = {
|
|
17
|
+
target: 'node' | 'field';
|
|
18
|
+
path: string;
|
|
19
|
+
} | {
|
|
20
|
+
target: 'capability';
|
|
21
|
+
};
|
|
22
|
+
/** 属性编辑边界:直接编辑、能力弹层、扩展私有编辑器或只读状态。 */
|
|
23
|
+
export type FieldPropertyEditLevel = 'inline' | 'capability' | 'extension' | 'readonly';
|
|
24
|
+
/** 一次用户编辑何时形成属性命令;Inspector 不再根据控件类型猜测提交边界。 */
|
|
25
|
+
export type FieldPropertyCommitMode = 'immediate' | 'blur' | 'confirm' | 'command';
|
|
26
|
+
/** 组件切换时谁拥有配置的迁移决定权。 */
|
|
27
|
+
export type FieldPropertyMigrationOwner = 'schema' | 'component' | 'extension';
|
|
28
|
+
/** Inspector 临时 schema 支持的属性控件联合类型。 */
|
|
29
|
+
export type FieldPropertyField = FieldTextField | FieldTextareaField | FieldNumberField | FieldSwitchField | FieldCheckboxField | FieldSelectField | FieldJsonField;
|
|
30
|
+
/** 构建字段 Inspector 时共享的节点、字段和实例扩展上下文。 */
|
|
31
|
+
export interface FieldSchemaContext {
|
|
32
|
+
node: ViewNode;
|
|
33
|
+
field?: ResourceField;
|
|
34
|
+
fields?: ResourceField[];
|
|
35
|
+
extensionContext?: DesignerExtensionContext;
|
|
36
|
+
/** 节点权限产生的整体只读投影,不改变各属性原有 editLevel 声明。 */
|
|
37
|
+
readonly?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/** 字段属性面板中的语义分组。 */
|
|
40
|
+
export interface FieldSchemaSection {
|
|
41
|
+
key: string;
|
|
42
|
+
title: string;
|
|
43
|
+
fields: FieldPropertyField[];
|
|
44
|
+
}
|
|
45
|
+
interface BaseFieldProperty {
|
|
46
|
+
key: string;
|
|
47
|
+
storage: FieldPropertyStorage;
|
|
48
|
+
editLevel: FieldPropertyEditLevel;
|
|
49
|
+
commitMode: FieldPropertyCommitMode;
|
|
50
|
+
migrationOwner: FieldPropertyMigrationOwner;
|
|
51
|
+
capability?: DesignerCapabilityCardKey;
|
|
52
|
+
label: string;
|
|
53
|
+
/** 属性标题旁的设计期说明,只进入 Inspector 临时 Schema。 */
|
|
54
|
+
tip?: string;
|
|
55
|
+
/** 复杂编辑器已经在内部表达各项语义时,隐藏外层表单标签。 */
|
|
56
|
+
hideLabel?: boolean;
|
|
57
|
+
span?: number;
|
|
58
|
+
clearable?: boolean;
|
|
59
|
+
component?: string;
|
|
60
|
+
/** 自定义结构编辑器直接读写协议值,不转换为 JSON 文本。 */
|
|
61
|
+
rawValue?: boolean;
|
|
62
|
+
/** 自定义编辑器是否需要当前 Designer 实例的服务注册表。 */
|
|
63
|
+
usesServiceRegistry?: boolean;
|
|
64
|
+
props?: Record<string, unknown>;
|
|
65
|
+
placeholder?: string;
|
|
66
|
+
/**
|
|
67
|
+
* 设计期候选项来源。
|
|
68
|
+
*
|
|
69
|
+
* 第一阶段只服务 select 属性控件,例如从 schema.fields、resources.list 或 dicts.list 读取选项;
|
|
70
|
+
* 普通业务表单字段仍通过 schema 协议自身的 options/dataSource 表达。
|
|
71
|
+
*/
|
|
72
|
+
dataSource?: FieldPropertyDataSource;
|
|
73
|
+
visible?: (context: FieldSchemaContext) => boolean;
|
|
74
|
+
}
|
|
75
|
+
/** 单行文本属性控件。 */
|
|
76
|
+
export interface FieldTextField extends BaseFieldProperty {
|
|
77
|
+
kind: 'text';
|
|
78
|
+
}
|
|
79
|
+
/** 多行文本属性控件。 */
|
|
80
|
+
export interface FieldTextareaField extends BaseFieldProperty {
|
|
81
|
+
kind: 'textarea';
|
|
82
|
+
rows?: number;
|
|
83
|
+
}
|
|
84
|
+
/** 数值属性控件及其步进边界。 */
|
|
85
|
+
export interface FieldNumberField extends BaseFieldProperty {
|
|
86
|
+
kind: 'number';
|
|
87
|
+
min?: number;
|
|
88
|
+
max?: number;
|
|
89
|
+
step?: number;
|
|
90
|
+
}
|
|
91
|
+
/** 开关属性控件。 */
|
|
92
|
+
export interface FieldSwitchField extends BaseFieldProperty {
|
|
93
|
+
kind: 'switch';
|
|
94
|
+
}
|
|
95
|
+
/** 复选框属性控件。 */
|
|
96
|
+
export interface FieldCheckboxField extends BaseFieldProperty {
|
|
97
|
+
kind: 'checkbox';
|
|
98
|
+
}
|
|
99
|
+
/** 静态或服务驱动的单选属性控件。 */
|
|
100
|
+
export interface FieldSelectField extends BaseFieldProperty {
|
|
101
|
+
kind: 'select';
|
|
102
|
+
options: Array<{
|
|
103
|
+
label: string;
|
|
104
|
+
value: OptionValue;
|
|
105
|
+
}>;
|
|
106
|
+
}
|
|
107
|
+
/** JSON 或复合配置属性控件,可指定插件私有编辑器。 */
|
|
108
|
+
export interface FieldJsonField extends BaseFieldProperty {
|
|
109
|
+
kind: 'json';
|
|
110
|
+
rows?: number;
|
|
111
|
+
}
|
|
112
|
+
export {};
|
|
113
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/inspector/field-schema/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { FormView, SchemaResource } from '@sparqjs/schema-protocol';
|
|
2
|
+
/** 表单级 Inspector 的扁平值映射。 */
|
|
3
|
+
export type FormPropertyValues = Record<string, unknown>;
|
|
4
|
+
/** 把可见的 FormView 属性声明转换为 Inspector 使用的临时 SchemaResource。 */
|
|
5
|
+
export declare function createFormPropertySchema(form: FormView): SchemaResource;
|
|
6
|
+
/** 根据当前可见属性生成结构 key,footer 状态变化时可触发表单重建。 */
|
|
7
|
+
export declare function createFormPropertySchemaKey(form: FormView): string;
|
|
8
|
+
/** 从 FormView 读取当前可见属性值,供 Inspector 表单初始化。 */
|
|
9
|
+
export declare function createFormPropertyValues(form: FormView): FormPropertyValues;
|
|
10
|
+
/** 将 Inspector 表单值写回 FormView 副本,不直接修改当前草稿对象。 */
|
|
11
|
+
export declare function applyFormPropertyValues(form: FormView, values: FormPropertyValues): FormView;
|
|
12
|
+
/** 只写入本次命令携带的表单属性,未包含的草稿值不会被清空。 */
|
|
13
|
+
export declare function applyFormPropertyChanges(form: FormView, values: FormPropertyValues): FormView;
|
|
14
|
+
//# sourceMappingURL=form-property-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-property-view.d.ts","sourceRoot":"","sources":["../../src/inspector/form-property-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,QAAQ,EAAiB,cAAc,EAAY,MAAM,0BAA0B,CAAA;AAM/G,4BAA4B;AAC5B,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAExD,4DAA4D;AAC5D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,CA6CvE;AAED,4CAA4C;AAC5C,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAclE;AAED,8CAA8C;AAC9C,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB,CAiB3E;AAED,iDAAiD;AACjD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,GAAG,QAAQ,CAE5F;AAED,mCAAmC;AACnC,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,GAAG,QAAQ,CAa7F"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { FormView } from '@sparqjs/schema-protocol';
|
|
2
|
+
import type { FieldPropertyCommitMode } from './field-schema';
|
|
3
|
+
/** 表单级 Inspector 支持的属性控件联合类型。 */
|
|
4
|
+
export type FormPropertyField = FormTextField | FormTextareaField | FormNumberField | FormSwitchField | FormSelectField | FormDividerField;
|
|
5
|
+
/** FormView 属性面板中的语义分组。 */
|
|
6
|
+
export interface FormSchemaSection {
|
|
7
|
+
key: string;
|
|
8
|
+
title: string;
|
|
9
|
+
fields: FormPropertyField[];
|
|
10
|
+
}
|
|
11
|
+
interface BaseFormField {
|
|
12
|
+
key: string;
|
|
13
|
+
label: string;
|
|
14
|
+
commitMode: FieldPropertyCommitMode;
|
|
15
|
+
/** 属性标题旁的设计期说明,只进入 Inspector 临时 Schema。 */
|
|
16
|
+
tip?: string;
|
|
17
|
+
path?: string;
|
|
18
|
+
visible?: (form: FormView) => boolean;
|
|
19
|
+
}
|
|
20
|
+
/** 表单单行文本属性。 */
|
|
21
|
+
export interface FormTextField extends BaseFormField {
|
|
22
|
+
kind: 'text';
|
|
23
|
+
placeholder?: string;
|
|
24
|
+
}
|
|
25
|
+
/** 表单多行文本属性。 */
|
|
26
|
+
export interface FormTextareaField extends BaseFormField {
|
|
27
|
+
kind: 'textarea';
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
rows?: number;
|
|
30
|
+
}
|
|
31
|
+
/** 表单数值属性及步进约束。 */
|
|
32
|
+
export interface FormNumberField extends BaseFormField {
|
|
33
|
+
kind: 'number';
|
|
34
|
+
min?: number;
|
|
35
|
+
max?: number;
|
|
36
|
+
step?: number;
|
|
37
|
+
placeholder?: string;
|
|
38
|
+
}
|
|
39
|
+
/** 表单开关属性。 */
|
|
40
|
+
export interface FormSwitchField extends BaseFormField {
|
|
41
|
+
kind: 'switch';
|
|
42
|
+
}
|
|
43
|
+
/** 表单静态选项属性。 */
|
|
44
|
+
export interface FormSelectField extends BaseFormField {
|
|
45
|
+
kind: 'select';
|
|
46
|
+
options: Array<{
|
|
47
|
+
label: string;
|
|
48
|
+
value: string;
|
|
49
|
+
}>;
|
|
50
|
+
}
|
|
51
|
+
/** 只参与布局分组、不生成业务字段的分隔项。 */
|
|
52
|
+
export interface FormDividerField extends BaseFormField {
|
|
53
|
+
kind: 'divider';
|
|
54
|
+
}
|
|
55
|
+
/** 表单级 Inspector 的属性分组,字段可见性由当前 FormView 动态判断。 */
|
|
56
|
+
export declare const formSchemaSections: FormSchemaSection[];
|
|
57
|
+
/** 返回当前表单状态允许的分组,供投影、命令校验和提交策略查询复用。 */
|
|
58
|
+
export declare function listVisibleFormSchemaSections(form: FormView): FormSchemaSection[];
|
|
59
|
+
/** 返回当前 FormView 实际可编辑的属性声明。 */
|
|
60
|
+
export declare function listVisibleFormProperties(form: FormView): Exclude<FormPropertyField, FormDividerField>[];
|
|
61
|
+
/** 读取 FormView 属性值,并为 footer 的派生字段解析有效默认动作。 */
|
|
62
|
+
export declare function getFormFieldValue(form: FormView, field: FormPropertyField): unknown;
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=form-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-schema.d.ts","sourceRoot":"","sources":["../../src/inspector/form-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAGxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAE7D,iCAAiC;AACjC,MAAM,MAAM,iBAAiB,GACvB,aAAa,GACb,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,eAAe,GACf,gBAAgB,CAAA;AAEtB,2BAA2B;AAC3B,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC9B;AAED,UAAU,aAAa;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,uBAAuB,CAAA;IACnC,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAA;CACxC;AAED,gBAAgB;AAChB,MAAM,WAAW,aAAc,SAAQ,aAAa;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,gBAAgB;AAChB,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACpD,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,mBAAmB;AACnB,MAAM,WAAW,eAAgB,SAAQ,aAAa;IAClD,IAAI,EAAE,QAAQ,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,cAAc;AACd,MAAM,WAAW,eAAgB,SAAQ,aAAa;IAClD,IAAI,EAAE,QAAQ,CAAA;CACjB;AAED,gBAAgB;AAChB,MAAM,WAAW,eAAgB,SAAQ,aAAa;IAClD,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACnD;AAED,2BAA2B;AAC3B,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACnD,IAAI,EAAE,SAAS,CAAA;CAClB;AAED,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,EAgNjD,CAAA;AAED,uCAAuC;AACvC,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,EAAE,CAOjF;AAED,gCAAgC;AAChC,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,CAMxG;AAED,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAkCnF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { ViewNodeSlots } from '@sparqjs/schema-protocol';
|
|
3
|
+
/** 编辑输入框四个稳定静态插槽,输出正式 ViewNode.slots 协议。 */
|
|
4
|
+
export declare const InputSlotsEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
5
|
+
value: PropType<ViewNodeSlots>;
|
|
6
|
+
onChange: PropType<(value: ViewNodeSlots) => void>;
|
|
7
|
+
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
8
|
+
value: PropType<ViewNodeSlots>;
|
|
9
|
+
onChange: PropType<(value: ViewNodeSlots) => void>;
|
|
10
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
11
|
+
//# sourceMappingURL=input-slots-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-slots-editor.d.ts","sourceRoot":"","sources":["../../src/inspector/input-slots-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAE7E,OAAO,KAAK,EAA2C,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAetG,4CAA4C;AAC5C,eAAO,MAAM,gBAAgB;WAGJ,QAAQ,CAAC,aAAa,CAAC;cAClB,QAAQ,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;;WAD7C,QAAQ,CAAC,aAAa,CAAC;cAClB,QAAQ,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;iGAkGpE,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import { type SchemaComponentRegistry, type SparqRichTextRegistry } from '@sparqjs/schema-vue';
|
|
3
|
+
import type { DraftState } from '../state/types';
|
|
4
|
+
/**
|
|
5
|
+
* 右侧属性面板入口。
|
|
6
|
+
*
|
|
7
|
+
* 它根据选区切换字段或表单属性 schema,并把确认后的命令提交给 DraftState。
|
|
8
|
+
*/
|
|
9
|
+
export declare const Inspector: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
10
|
+
state: {
|
|
11
|
+
type: PropType<DraftState>;
|
|
12
|
+
required: true;
|
|
13
|
+
};
|
|
14
|
+
components: PropType<SchemaComponentRegistry>;
|
|
15
|
+
richTextEditors: PropType<SparqRichTextRegistry>;
|
|
16
|
+
showFormProperties: {
|
|
17
|
+
type: BooleanConstructor;
|
|
18
|
+
default: boolean;
|
|
19
|
+
};
|
|
20
|
+
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
21
|
+
state: {
|
|
22
|
+
type: PropType<DraftState>;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
components: PropType<SchemaComponentRegistry>;
|
|
26
|
+
richTextEditors: PropType<SparqRichTextRegistry>;
|
|
27
|
+
showFormProperties: {
|
|
28
|
+
type: BooleanConstructor;
|
|
29
|
+
default: boolean;
|
|
30
|
+
};
|
|
31
|
+
}>> & Readonly<{}>, {
|
|
32
|
+
showFormProperties: boolean;
|
|
33
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
34
|
+
//# sourceMappingURL=inspector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/inspector/inspector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6D,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAG9F,OAAO,EAIH,KAAK,uBAAuB,EAE5B,KAAK,qBAAqB,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AA2ChD;;;;GAIG;AACH,eAAO,MAAM,SAAS;;cAIM,QAAQ,CAAC,UAAU,CAAC;;;gBAGlB,QAAQ,CAAC,uBAAuB,CAAC;qBAC5B,QAAQ,CAAC,qBAAqB,CAAC;;;;;;;cAJtC,QAAQ,CAAC,UAAU,CAAC;;;gBAGlB,QAAQ,CAAC,uBAAuB,CAAC;qBAC5B,QAAQ,CAAC,qBAAqB,CAAC;;;;;;;4EAihBhE,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import type { Condition, ResourceField, ViewNode } from '@sparqjs/schema-protocol';
|
|
3
|
+
interface InteractionRulesEditorProps {
|
|
4
|
+
node?: ViewNode;
|
|
5
|
+
fields?: ResourceField[];
|
|
6
|
+
}
|
|
7
|
+
/** 交互规则能力编辑器一次读写的三个节点条件。 */
|
|
8
|
+
export interface InteractionRulesValue {
|
|
9
|
+
show_when?: Condition;
|
|
10
|
+
disabled_when?: Condition;
|
|
11
|
+
readonly_when?: Condition;
|
|
12
|
+
}
|
|
13
|
+
/** 聚合 show_when、disabled_when 和 readonly_when,并作为一个能力值统一写回节点。 */
|
|
14
|
+
export declare const InteractionRulesEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
15
|
+
value: PropType<InteractionRulesValue>;
|
|
16
|
+
onChange: PropType<(value: InteractionRulesValue) => void>;
|
|
17
|
+
props: PropType<InteractionRulesEditorProps>;
|
|
18
|
+
}>, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
19
|
+
value: PropType<InteractionRulesValue>;
|
|
20
|
+
onChange: PropType<(value: InteractionRulesValue) => void>;
|
|
21
|
+
props: PropType<InteractionRulesEditorProps>;
|
|
22
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=interaction-rules-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interaction-rules-editor.d.ts","sourceRoot":"","sources":["../../src/inspector/interaction-rules-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAWlF,UAAU,2BAA2B;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;CAC3B;AAED,4BAA4B;AAC5B,MAAM,WAAW,qBAAqB;IAClC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,aAAa,CAAC,EAAE,SAAS,CAAA;CAC5B;AAED,iEAAiE;AACjE,eAAO,MAAM,sBAAsB;WAGV,QAAQ,CAAC,qBAAqB,CAAC;cAC1B,QAAQ,CAAC,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;WACrD,QAAQ,CAAC,2BAA2B,CAAC;;WAFrC,QAAQ,CAAC,qBAAqB,CAAC;cAC1B,QAAQ,CAAC,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;WACrD,QAAQ,CAAC,2BAA2B,CAAC;iGA4I5D,CAAA"}
|