diff --git a/designable/next/playground/main.tsx b/designable/next/playground/main.tsx index 3cad50b5072..551373ecc53 100644 --- a/designable/next/playground/main.tsx +++ b/designable/next/playground/main.tsx @@ -1,13 +1,13 @@ -import React, { useMemo } from 'react' +import React from 'react' import ReactDOM from 'react-dom' import { Designer, - IconWidget, DesignerToolsWidget, ViewToolsWidget, Workspace, OutlineTreeWidget, DragSourceWidget, + HistoryWidget, MainPanel, CompositePanel, WorkspacePanel, @@ -18,7 +18,12 @@ import { ComponentTreeWidget, } from '@designable/react' import { SettingsForm } from '@designable/react-settings-form' -import { createDesigner, GlobalRegistry } from '@designable/core' +import { + createDesigner, + GlobalRegistry, + Shortcut, + KeyCode, +} from '@designable/core' import { createDesignableField, createDesignableForm } from '../src' import { LogoWidget, @@ -27,6 +32,7 @@ import { SchemaEditorWidget, MarkupSchemaWidget, } from './widgets' +import { saveSchema } from './service' import 'antd/dist/antd.less' import '@alifd/next/dist/next.css' @@ -55,27 +61,36 @@ const DesignableField = createDesignableField({ registryName: 'DesignableField', }) -const App = () => { - const engine = useMemo(() => createDesigner(), []) +const SaveShortCut = new Shortcut({ + codes: [ + [KeyCode.Meta, KeyCode.S], + [KeyCode.Control, KeyCode.S], + ], + handler(ctx) { + saveSchema(ctx.engine) + }, +}) +const engine = createDesigner({ + shortcuts: [SaveShortCut], +}) + +const App = () => { return ( } actions={}> - } - > + - } - > + + + + diff --git a/designable/next/src/components/DesignableArrayCards/index.tsx b/designable/next/src/components/DesignableArrayCards/index.tsx index c4695fc26c6..d6ee438f3fd 100644 --- a/designable/next/src/components/DesignableArrayCards/index.tsx +++ b/designable/next/src/components/DesignableArrayCards/index.tsx @@ -102,6 +102,7 @@ export const DesignableArrayCards: React.FC = observer((props) => { diff --git a/designable/next/src/components/LoadTemplate/index.tsx b/designable/next/src/components/LoadTemplate/index.tsx index 52bac42dc95..3bd2e9fa764 100644 --- a/designable/next/src/components/LoadTemplate/index.tsx +++ b/designable/next/src/components/LoadTemplate/index.tsx @@ -1,5 +1,6 @@ import React from 'react' -import { Box, Button } from '@alifd/next' +import { Button } from '@alifd/next' +import { Space, Divider } from 'antd' import { usePrefix, TextWidget } from '@designable/react' import cls from 'classnames' import './styles.scss' @@ -22,7 +23,7 @@ export const LoadTemplate: React.FC = (props) => { return (
- + }> {props.actions?.map((action, key) => { return ( ) })} - +
) diff --git a/designable/next/src/schemas/Card.ts b/designable/next/src/schemas/Card.ts index 72a1fdc4b3d..590db764f5f 100644 --- a/designable/next/src/schemas/Card.ts +++ b/designable/next/src/schemas/Card.ts @@ -30,9 +30,11 @@ export const Card: ISchema & { Addition?: ISchema } = { }, }, contentHeight: { - type: 'number', 'x-decorator': 'FormItem', - 'x-component': 'NumberPicker', + 'x-component': 'ValueInput', + 'x-component-props': { + include: ['NUMBER', 'TEXT'], + }, }, extra: { type: 'string',