diff --git a/package.json b/package.json index 02ea5f2..4e4fb68 100644 --- a/package.json +++ b/package.json @@ -43,5 +43,7 @@ "prettier": "^2.2.0", "typescript": "^4.7.4" }, - "license": "ISC" + "license": "ISC", + "packageManager": "pnpm@6.35.0" + } diff --git a/packages/playground/src/components/titleWithToolbar/index.less b/packages/playground/src/components/titleWithToolbar/index.less index 77a4bf2..3777335 100644 --- a/packages/playground/src/components/titleWithToolbar/index.less +++ b/packages/playground/src/components/titleWithToolbar/index.less @@ -10,10 +10,16 @@ font-weight: 500; } .toolbar-title-toolbar { - .anticon svg { + height: 100%; + & > span { + display: inline-flex; cursor: pointer; - font-size: 14px; - margin-left: 12px; + padding: 0 6px; + height: 100%; + align-items: center; + .anticon svg { + font-size: 14px; + } } } } diff --git a/packages/playground/src/components/titleWithToolbar/index.tsx b/packages/playground/src/components/titleWithToolbar/index.tsx index 032db96..8abcb1a 100644 --- a/packages/playground/src/components/titleWithToolbar/index.tsx +++ b/packages/playground/src/components/titleWithToolbar/index.tsx @@ -11,7 +11,7 @@ import dataSyncFormMeta from '../formSample/jsonSample/dataSync'; import './index.less'; import type { DefaultOptionType } from 'antd/lib/select'; -const options: DefaultOptionType[] = [ +export const templateOptions: DefaultOptionType[] = [ { label: '登录表单', value: JSON.stringify(loginFormMeta, null, 4), @@ -43,7 +43,7 @@ const TitleWithToolbar: React.FC = (props) => { style={{ width: 150, marginLeft: 12 }} placeholder="选择模板以导入" value={null} - options={options} + options={templateOptions} onSelect={(value) => { props.onImportTemplate(value); }} @@ -52,28 +52,32 @@ const TitleWithToolbar: React.FC = (props) => {

{props.onDownload ? ( - - props.onDownload?.()} - /> - + props.onDownload?.()}> + + + + ) : null} {props.onCopy ? ( - - props.onCopy?.()} /> - + props.onCopy?.()}> + + + + ) : null} {props.onFormat ? ( - - props.onFormat?.()} - /> - + props.onFormat?.()}> + + + + ) : null} {props.onReload ? ( - - props.onReload?.()} /> - + props.onReload?.()}> + + + + ) : null}

diff --git a/packages/playground/src/pages/playground/workbench/workbench.tsx b/packages/playground/src/pages/playground/workbench/workbench.tsx index 32b7676..537323c 100644 --- a/packages/playground/src/pages/playground/workbench/workbench.tsx +++ b/packages/playground/src/pages/playground/workbench/workbench.tsx @@ -28,6 +28,9 @@ const WorkBench: React.FC = () => { const file = files?.find((w) => w.name === workInProgress); setEditorValue(configEditorRef.current, file?.configContent ?? ''); setEditorValue(valueEditorRef.current, file?.valuesContent ?? ''); + if (file?.valuesContent) { + refreshForm(); + } }, [workInProgress]); const saveCurrentPage = debounceFunctionWrap(() => { diff --git a/packages/playground/src/store/reducers/workbenchSlice.ts b/packages/playground/src/store/reducers/workbenchSlice.ts index c5371ac..1886451 100644 --- a/packages/playground/src/store/reducers/workbenchSlice.ts +++ b/packages/playground/src/store/reducers/workbenchSlice.ts @@ -1,6 +1,8 @@ import { createSlice } from '@reduxjs/toolkit'; export const DefaultWip = 'untitled'; +import { templateOptions } from '@/components/titleWithToolbar'; + export interface FileMetaType { name: string; configContent: string; @@ -17,8 +19,8 @@ export const initialState: WorkbenchType = { files: [ { name: DefaultWip, - configContent: '', - valuesContent: '', + configContent: templateOptions[1].value as string, + valuesContent: '{}', gmtModified: Date.now(), }, ],