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(),
},
],