diff --git a/packages/data-source/src/DataSourceManager.ts b/packages/data-source/src/DataSourceManager.ts index 03dfa39d..d5f2ec12 100644 --- a/packages/data-source/src/DataSourceManager.ts +++ b/packages/data-source/src/DataSourceManager.ts @@ -81,8 +81,24 @@ class DataSourceManager extends EventEmitter { this.data[ds.id] = ds.data; + ds.getMethods().forEach((method) => { + if (method.timing === 'beforeInit') { + if (typeof method.content === 'function') { + method.content({ params: {}, dataSource: ds }); + } + } + }); + ds.init().then(() => { this.data[ds.id] = ds.data; + + ds.getMethods().forEach((method) => { + if (method.timing === 'afterInit') { + if (typeof method.content === 'function') { + method.content({ params: {}, dataSource: ds }); + } + } + }); }); ds.on('change', () => { diff --git a/packages/editor/src/components/CodeBlockEditor.vue b/packages/editor/src/components/CodeBlockEditor.vue index c789efcf..c894ae2c 100644 --- a/packages/editor/src/components/CodeBlockEditor.vue +++ b/packages/editor/src/components/CodeBlockEditor.vue @@ -1,5 +1,6 @@ @@ -22,7 +23,7 @@ import { ref } from 'vue'; import { TMagicButton, tMagicMessageBox } from '@tmagic/design'; -import { FieldProps, FormConfig, FormState, MFormDialog } from '@tmagic/form'; +import { FieldProps, FormConfig, FormState, MFormDrawer } from '@tmagic/form'; import { MagicTable } from '@tmagic/table'; defineOptions({ @@ -42,7 +43,7 @@ const props = withDefaults( const emit = defineEmits(['change']); -const addDialog = ref>(); +const addDialog = ref>(); const fieldValues = ref>({}); const filedTitle = ref(''); @@ -77,6 +78,10 @@ const fieldColumns = [ label: '属性描述', prop: 'desc', }, + { + label: '默认值', + prop: 'defaultValue', + }, { label: '操作', fixed: 'right', @@ -154,6 +159,7 @@ const dataSourceFieldsConfig: FormConfig = [ { name: 'description', text: '描述', + type: 'textarea', }, { name: 'defaultValue', diff --git a/packages/editor/src/fields/DataSourceMethods.vue b/packages/editor/src/fields/DataSourceMethods.vue index cb3cdbc5..5c697b42 100644 --- a/packages/editor/src/fields/DataSourceMethods.vue +++ b/packages/editor/src/fields/DataSourceMethods.vue @@ -9,10 +9,11 @@ @@ -53,9 +54,13 @@ const methodColumns = [ prop: 'name', }, { - label: '注释', + label: '描述', prop: 'desc', }, + { + label: '执行时机', + prop: 'timing', + }, { label: '参数', prop: 'params', diff --git a/packages/editor/src/theme/code-block.scss b/packages/editor/src/theme/code-block.scss index bc289187..1e8b52db 100644 --- a/packages/editor/src/theme/code-block.scss +++ b/packages/editor/src/theme/code-block.scss @@ -24,3 +24,13 @@ display: none; } } + +.m-editor-code-block-editor { + .tmagic-design-table { + height: 180px; + } + + .el-drawer__body { + padding: 10px 20px; + } +} diff --git a/packages/form/src/containers/Table.vue b/packages/form/src/containers/Table.vue index c115dd0c..02c92e0d 100644 --- a/packages/form/src/containers/Table.vue +++ b/packages/form/src/containers/Table.vue @@ -1,162 +1,160 @@