1
0
mirror of synced 2025-12-16 16:07:55 +08:00

Compare commits

...

5 Commits

Author SHA1 Message Date
roymondchen
72efc13716 v1.0.0-beta.2 2022-03-08 20:14:19 +08:00
roymondchen
8bd89c7c90 fix(editor): 更新根节点出错 2022-03-08 20:08:29 +08:00
roymondchen
2fd1b55151 fix(form): 表单配置没有变化,初始值变化时,表单发生重绘 2022-03-08 20:07:47 +08:00
roymondchen
13a50b799e fix: 构建的文件名与package.json中的不匹配 2022-03-03 10:21:05 +08:00
roymondchen
ceae04006b fix: 更新elemnt-plus2.0.2后,size的值变了,去掉Form下size prop的默认值,增加Formdialog size prop 2022-03-02 20:35:31 +08:00
29 changed files with 109 additions and 97 deletions

View File

@@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"npmClient": "npm", "npmClient": "npm",
"packages": [ "packages": [
"packages/*", "packages/*",

View File

@@ -1,13 +1,13 @@
{ {
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"name": "@tmagic/core", "name": "@tmagic/core",
"main": "dist/magic-core.umd.js", "main": "dist/tmagic-core.umd.js",
"module": "dist/magic-core.es.js", "module": "dist/tmagic-core.es.js",
"types": "dist/types/src/index.d.ts", "types": "dist/types/src/index.d.ts",
"exports": { "exports": {
".": { ".": {
"import": "./dist/magic-core.es.js", "import": "./dist/tmagic-core.es.js",
"require": "./dist/magic-core.umd.js" "require": "./dist/tmagic-core.umd.js"
}, },
"./dist/style.css": { "./dist/style.css": {
"import": "./dist/style.css", "import": "./dist/style.css",
@@ -25,7 +25,7 @@
"url": "https://github.com/Tencent/tmagic-editor.git" "url": "https://github.com/Tencent/tmagic-editor.git"
}, },
"dependencies": { "dependencies": {
"@tmagic/schema": "^1.0.0-beta.1", "@tmagic/schema": "^1.0.0-beta.2",
"events": "^3.3.0" "events": "^3.3.0"
}, },
"devDependencies": { "devDependencies": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "@tmagic/editor", "name": "@tmagic/editor",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@@ -1,14 +1,14 @@
{ {
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"name": "@tmagic/editor", "name": "@tmagic/editor",
"main": "dist/magic-editor.umd.js", "main": "dist/tmagic-editor.umd.js",
"module": "dist/magic-editor.es.js", "module": "dist/tmagic-editor.es.js",
"style": "dist/style.css", "style": "dist/style.css",
"types": "dist/types/src/index.d.ts", "types": "dist/types/src/index.d.ts",
"exports": { "exports": {
".": { ".": {
"import": "./dist/magic-editor.es.js", "import": "./dist/tmagic-editor.es.js",
"require": "./dist/magic-editor.umd.js" "require": "./dist/tmagic-editor.umd.js"
}, },
"./dist/style.css": { "./dist/style.css": {
"import": "./dist/style.css", "import": "./dist/style.css",
@@ -27,11 +27,11 @@
}, },
"dependencies": { "dependencies": {
"@element-plus/icons": "0.0.11", "@element-plus/icons": "0.0.11",
"@tmagic/core": "^1.0.0-beta.1", "@tmagic/core": "^1.0.0-beta.2",
"@tmagic/form": "^1.0.0-beta.1", "@tmagic/form": "^1.0.0-beta.2",
"@tmagic/schema": "^1.0.0-beta.1", "@tmagic/schema": "^1.0.0-beta.2",
"@tmagic/stage": "^1.0.0-beta.1", "@tmagic/stage": "^1.0.0-beta.2",
"@tmagic/utils": "^1.0.0-beta.1", "@tmagic/utils": "^1.0.0-beta.2",
"color": "^3.1.3", "color": "^3.1.3",
"element-plus": "^2.0.2", "element-plus": "^2.0.2",
"events": "^3.3.0", "events": "^3.3.0",

View File

@@ -289,8 +289,6 @@ class Editor extends BaseService {
if (!info.node) throw new Error(`获取不到id为${config.id}的节点`); if (!info.node) throw new Error(`获取不到id为${config.id}的节点`);
const node = cloneDeep(toRaw(info.node)); const node = cloneDeep(toRaw(info.node));
const { parent } = info;
if (!parent) throw new Error('获取不到父级节点');
let newConfig = await this.toggleFixedPosition(toRaw(config), node, this.get<MApp>('root')); let newConfig = await this.toggleFixedPosition(toRaw(config), node, this.get<MApp>('root'));
@@ -303,6 +301,9 @@ class Editor extends BaseService {
return newConfig; return newConfig;
} }
const { parent } = info;
if (!parent) throw new Error('获取不到父级节点');
const parentNodeItems = parent.items; const parentNodeItems = parent.items;
const index = getNodeIndex(newConfig, parent); const index = getNodeIndex(newConfig, parent);

View File

@@ -1,6 +1,6 @@
{ {
"name": "@tmagic/form", "name": "@tmagic/form",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@@ -1,14 +1,14 @@
{ {
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"name": "@tmagic/form", "name": "@tmagic/form",
"main": "dist/magic-form.umd.js", "main": "dist/tmagic-form.umd.js",
"module": "dist/magic-form.es.js", "module": "dist/tmagic-form.es.js",
"style": "dist/style.css", "style": "dist/style.css",
"types": "dist/types/src/index.d.ts", "types": "dist/types/src/index.d.ts",
"exports": { "exports": {
".": { ".": {
"import": "./dist/magic-form.es.js", "import": "./dist/tmagic-form.es.js",
"require": "./dist/magic-form.umd.js" "require": "./dist/tmagic-form.umd.js"
}, },
"./dist/style.css": { "./dist/style.css": {
"import": "./dist/style.css", "import": "./dist/style.css",
@@ -27,7 +27,7 @@
}, },
"dependencies": { "dependencies": {
"@element-plus/icons": "0.0.11", "@element-plus/icons": "0.0.11",
"@tmagic/utils": "^1.0.0-beta.1", "@tmagic/utils": "^1.0.0-beta.2",
"element-plus": "^2.0.2", "element-plus": "^2.0.2",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"moment": "^2.29.1", "moment": "^2.29.1",

View File

@@ -1,6 +1,5 @@
<template> <template>
<ElForm <el-form
v-if="initialized && Array.isArray(config)"
class="m-form" class="m-form"
ref="elForm" ref="elForm"
:model="values" :model="values"
@@ -10,25 +9,26 @@
:inline="inline" :inline="inline"
:label-position="labelPosition" :label-position="labelPosition"
> >
<MContainer <template v-if="initialized && Array.isArray(config)">
v-for="(item, index) in config" <m-form-container
:key="item[keyProp] ?? index" v-for="(item, index) in config"
:config="item" :key="item[keyProp] ?? index"
:model="values" :config="item"
:label-width="item.labelWidth || labelWidth" :model="values"
:step-active="stepActive" :label-width="item.labelWidth || labelWidth"
:size="size" :step-active="stepActive"
@change="changeHandler" :size="size"
></MContainer> @change="changeHandler"
</ElForm> ></m-form-container>
</template>
</el-form>
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent, PropType, provide, reactive, ref, watchEffect } from 'vue'; import { defineComponent, PropType, provide, reactive, ref, toRaw, watch } from 'vue';
import { ElForm } from 'element-plus'; import { ElForm } from 'element-plus';
import { cloneDeep } from 'lodash-es'; import { cloneDeep, isEqual } from 'lodash-es';
import MContainer from './containers/Container.vue';
import { getConfig } from './utils/config'; import { getConfig } from './utils/config';
import { initValue } from './utils/form'; import { initValue } from './utils/form';
import { FormConfig, FormState, FormValue } from './schema'; import { FormConfig, FormState, FormValue } from './schema';
@@ -45,8 +45,6 @@ export interface FieldErrorList {
export default defineComponent({ export default defineComponent({
name: 'm-form', name: 'm-form',
components: { ElForm, MContainer },
props: { props: {
// 表单初始化值 // 表单初始化值
initValues: { initValues: {
@@ -89,7 +87,6 @@ export default defineComponent({
size: { size: {
type: String, type: String,
default: 'small',
}, },
inline: { inline: {
@@ -141,16 +138,23 @@ export default defineComponent({
provide('mForm', formState); provide('mForm', formState);
watchEffect(() => { watch(
initialized.value = false; [() => props.config, () => props.initValues],
initValue(formState, { ([config], [preConfig]) => {
initValues: props.initValues, if (!isEqual(toRaw(config), toRaw(preConfig))) {
config: props.config, initialized.value = false;
}).then((value) => { }
values.value = value;
initialized.value = true; initValue(formState, {
}); initValues: props.initValues,
}); config: props.config,
}).then((value) => {
values.value = value;
initialized.value = true;
});
},
{ immediate: true },
);
return { return {
initialized, initialized,

View File

@@ -15,6 +15,7 @@
<m-form <m-form
v-model="stepActive" v-model="stepActive"
ref="form" ref="form"
:size="size"
:config="config" :config="config"
:init-values="values" :init-values="values"
:label-width="labelWidth" :label-width="labelWidth"
@@ -77,6 +78,8 @@ export default defineComponent({
labelWidth: [Number, String], labelWidth: [Number, String],
size: String as PropType<'mini' | 'small' | 'medium'>,
confirmText: { confirmText: {
type: String, type: String,
default: '确定', default: '确定',

View File

@@ -54,6 +54,10 @@ const getActive = (mForm: FormState | undefined, props: any, activeTabName: stri
const tabClickHandler = (mForm: FormState | undefined, tab: any, props: any) => { const tabClickHandler = (mForm: FormState | undefined, tab: any, props: any) => {
const { config, model, prop } = props; const { config, model, prop } = props;
// 兼容vue2的element-ui
tab.name = tab.paneName;
if (typeof config.onTabClick === 'function') { if (typeof config.onTabClick === 'function') {
config.onTabClick(mForm, tab, { model, formValue: mForm?.values, prop }); config.onTabClick(mForm, tab, { model, formValue: mForm?.values, prop });
} }

View File

@@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"name": "@tmagic/schema", "name": "@tmagic/schema",
"main": "src/index.ts", "main": "src/index.ts",
"engines": { "engines": {

View File

@@ -1,13 +1,13 @@
{ {
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"name": "@tmagic/stage", "name": "@tmagic/stage",
"main": "dist/magic-stage.umd.js", "main": "dist/tmagic-stage.umd.js",
"module": "dist/magic-stage.es.js", "module": "dist/tmagic-stage.es.js",
"types": "dist/types/src/index.d.ts", "types": "dist/types/src/index.d.ts",
"exports": { "exports": {
".": { ".": {
"import": "./dist/magic-stage.es.js", "import": "./dist/tmagic-stage.es.js",
"require": "./dist/magic-stage.umd.js" "require": "./dist/tmagic-stage.umd.js"
} }
}, },
"scripts": { "scripts": {
@@ -22,8 +22,8 @@
}, },
"dependencies": { "dependencies": {
"@scena/guides": "^0.17.0", "@scena/guides": "^0.17.0",
"@tmagic/schema": "^1.0.0-beta.1", "@tmagic/schema": "^1.0.0-beta.2",
"@tmagic/utils": "^1.0.0-beta.1", "@tmagic/utils": "^1.0.0-beta.2",
"events": "^3.3.0", "events": "^3.3.0",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"moveable": "^0.25.3" "moveable": "^0.25.3"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@tmagic/table", "name": "@tmagic/table",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@@ -1,13 +1,13 @@
{ {
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"name": "@tmagic/table", "name": "@tmagic/table",
"main": "dist/magic-table.umd.js", "main": "dist/tmagic-table.umd.js",
"module": "dist/magic-table.es.js", "module": "dist/tmagic-table.es.js",
"types": "dist/types/src/index.d.ts", "types": "dist/types/src/index.d.ts",
"exports": { "exports": {
".": { ".": {
"import": "./dist/magic-table.es.js", "import": "./dist/tmagic-table.es.js",
"require": "./dist/magic-table.umd.js" "require": "./dist/tmagic-table.umd.js"
}, },
"./dist/style.css": { "./dist/style.css": {
"import": "./dist/style.css", "import": "./dist/style.css",
@@ -25,7 +25,7 @@
"url": "https://github.com/Tencent/tmagic-editor.git" "url": "https://github.com/Tencent/tmagic-editor.git"
}, },
"dependencies": { "dependencies": {
"@tmagic/form": "^1.0.0-beta.1", "@tmagic/form": "^1.0.0-beta.2",
"element-plus": "^2.0.2", "element-plus": "^2.0.2",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"vue": "^3.2.0" "vue": "^3.2.0"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@tmagic/ui-react", "name": "@tmagic/ui-react",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "@tmagic/ui-react", "name": "@tmagic/ui-react",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"main": "src/index.ts", "main": "src/index.ts",
"engines": { "engines": {
"node": ">=14" "node": ">=14"
@@ -13,7 +13,7 @@
"react:build": "tsc && vite build" "react:build": "tsc && vite build"
}, },
"dependencies": { "dependencies": {
"@tmagic/schema": "^1.0.0-beta.1", "@tmagic/schema": "^1.0.0-beta.2",
"react": "^17.0.0", "react": "^17.0.0",
"react-dom": "^17.0.0" "react-dom": "^17.0.0"
}, },

View File

@@ -1,6 +1,6 @@
{ {
"name": "@tmagic/ui-vue2", "name": "@tmagic/ui-vue2",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"name": "@tmagic/ui-vue2", "name": "@tmagic/ui-vue2",
"main": "src/index.ts", "main": "src/index.ts",
"scripts": { "scripts": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "@tmagic/ui", "name": "@tmagic/ui",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@@ -1,5 +1,5 @@
{ {
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"name": "@tmagic/ui", "name": "@tmagic/ui",
"main": "src/index.ts", "main": "src/index.ts",
"engines": { "engines": {
@@ -10,7 +10,7 @@
"url": "https://github.com/Tencent/tmagic-editor.git" "url": "https://github.com/Tencent/tmagic-editor.git"
}, },
"dependencies": { "dependencies": {
"@tmagic/schema": "^1.0.0-beta.1", "@tmagic/schema": "^1.0.0-beta.2",
"delegate": "^3.2.0", "delegate": "^3.2.0",
"tiny-emitter": "^2.1.0", "tiny-emitter": "^2.1.0",
"vue": "^3.2.0" "vue": "^3.2.0"

View File

@@ -1,13 +1,13 @@
{ {
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"name": "@tmagic/utils", "name": "@tmagic/utils",
"main": "dist/magic-utils.umd.js", "main": "dist/tmagic-utils.umd.js",
"module": "dist/magic-utils.es.js", "module": "dist/tmagic-utils.es.js",
"types": "dist/types/src/index.d.ts", "types": "dist/types/src/index.d.ts",
"exports": { "exports": {
".": { ".": {
"import": "./dist/magic-utils.es.js", "import": "./dist/tmagic-utils.es.js",
"require": "./dist/magic-utils.umd.js" "require": "./dist/tmagic-utils.umd.js"
} }
}, },
"scripts": { "scripts": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "tmagic-playground", "name": "tmagic-playground",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "tmagic-playground", "name": "tmagic-playground",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
@@ -9,11 +9,11 @@
}, },
"dependencies": { "dependencies": {
"@element-plus/icons": "0.0.11", "@element-plus/icons": "0.0.11",
"@tmagic/editor": "^1.0.0-beta.1", "@tmagic/editor": "^1.0.0-beta.2",
"@tmagic/form": "^1.0.0-beta.1", "@tmagic/form": "^1.0.0-beta.2",
"@tmagic/schema": "^1.0.0-beta.1", "@tmagic/schema": "^1.0.0-beta.2",
"@tmagic/stage": "^1.0.0-beta.1", "@tmagic/stage": "^1.0.0-beta.2",
"@tmagic/utils": "^1.0.0-beta.1", "@tmagic/utils": "^1.0.0-beta.2",
"element-plus": "^2.0.2", "element-plus": "^2.0.2",
"serialize-javascript": "^6.0.0", "serialize-javascript": "^6.0.0",
"vue": "^3.2.0", "vue": "^3.2.0",

View File

@@ -1,6 +1,6 @@
{ {
"name": "runtime-react", "name": "runtime-react",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "runtime-react", "name": "runtime-react",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "npm run build && npm run serve", "dev": "npm run build && npm run serve",

View File

@@ -1,6 +1,6 @@
{ {
"name": "runtime-vue2", "name": "runtime-vue2",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "runtime-vue2", "name": "runtime-vue2",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "npm run build && npm run serve", "dev": "npm run build && npm run serve",

View File

@@ -1,6 +1,6 @@
{ {
"name": "runtime-vue3", "name": "runtime-vue3",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "runtime-vue3", "name": "runtime-vue3",
"version": "1.0.0-beta.1", "version": "1.0.0-beta.2",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "npm run build && npm run serve", "dev": "npm run build && npm run serve",