@maketribe/ms-app 3.0.25 → 3.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/cjs/components/column-components/column-link/column-link-options.d.ts +1 -1
  2. package/dist/cjs/components/column-components/column-link/column-link.d.ts +3 -3
  3. package/dist/cjs/components/column-components/column-link/index.d.ts +3 -3
  4. package/dist/cjs/components/column-components/column-tag/column-tag.d.ts +1 -1
  5. package/dist/cjs/components/column-components/column-tag/index.d.ts +1 -1
  6. package/dist/cjs/components/data-model/data-table/views/table-view/table-view.js +10 -2
  7. package/dist/cjs/components/data-model/data-table/views/table-view/table-view.js.map +1 -1
  8. package/dist/cjs/dataview/config/ConfigForm.js +5 -0
  9. package/dist/cjs/dataview/config/ConfigForm.js.map +1 -1
  10. package/dist/cjs/dataview/config/ConfigTable.js +1 -1
  11. package/dist/cjs/dataview/config/ConfigTable.js.map +1 -1
  12. package/dist/cjs/dataview/member/MemberForm.js +13 -1
  13. package/dist/cjs/dataview/member/MemberForm.js.map +1 -1
  14. package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +1 -0
  15. package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
  16. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +1 -0
  17. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
  18. package/dist/esm/components/column-components/column-link/column-link-options.d.ts +1 -1
  19. package/dist/esm/components/column-components/column-link/column-link.d.ts +3 -3
  20. package/dist/esm/components/column-components/column-link/index.d.ts +3 -3
  21. package/dist/esm/components/column-components/column-tag/column-tag.d.ts +1 -1
  22. package/dist/esm/components/column-components/column-tag/index.d.ts +1 -1
  23. package/dist/esm/components/data-model/data-table/views/table-view/table-view.js +11 -3
  24. package/dist/esm/components/data-model/data-table/views/table-view/table-view.js.map +1 -1
  25. package/dist/esm/dataview/config/ConfigForm.js +5 -0
  26. package/dist/esm/dataview/config/ConfigForm.js.map +1 -1
  27. package/dist/esm/dataview/config/ConfigTable.js +1 -1
  28. package/dist/esm/dataview/config/ConfigTable.js.map +1 -1
  29. package/dist/esm/dataview/member/MemberForm.js +13 -1
  30. package/dist/esm/dataview/member/MemberForm.js.map +1 -1
  31. package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +1 -0
  32. package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
  33. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +1 -0
  34. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
  35. package/package.json +2 -2
  36. package/src/components/data-model/data-table/views/table-view/table-view.tsx +20 -6
  37. package/src/dataview/config/ConfigForm.ts +5 -0
  38. package/src/dataview/config/ConfigTable.ts +1 -1
  39. package/src/dataview/member/MemberForm.ts +3 -1
  40. package/src/page/index/dv/default/single/list/dialog.vue +1 -0
  41. package/src/page/index/dv/default/single/list/normal.vue +1 -1
@@ -1,7 +1,7 @@
1
1
  import { ExtractPropTypes } from "vue";
2
2
  import { ColumnEventData } from "../../data-model/data-table/composables";
3
3
  export declare const columnLinkProps: {
4
- readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
4
+ readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
5
5
  readonly formatValue: {
6
6
  readonly type: import("vue").PropType<Function>;
7
7
  readonly required: false;
@@ -1,5 +1,5 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
- readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
2
+ readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
3
3
  readonly formatValue: {
4
4
  readonly type: import("vue").PropType<Function>;
5
5
  readonly required: false;
@@ -27,7 +27,7 @@ declare const _default: import("vue").DefineComponent<{
27
27
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
28
28
  click: (data: import("../../data-model/data-table/composables").ColumnEventData) => boolean;
29
29
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
30
- readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
30
+ readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
31
31
  readonly formatValue: {
32
32
  readonly type: import("vue").PropType<Function>;
33
33
  readonly required: false;
@@ -55,6 +55,6 @@ declare const _default: import("vue").DefineComponent<{
55
55
  }>> & {
56
56
  onClick?: ((data: import("../../data-model/data-table/composables").ColumnEventData) => any) | undefined;
57
57
  }, {
58
- readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown>;
58
+ readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>;
59
59
  }, {}>;
60
60
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import ColumnLink from "./column-link";
2
2
  export declare const MKColumnLink: import("vue").DefineComponent<{
3
- readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
3
+ readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
4
4
  readonly formatValue: {
5
5
  readonly type: import("vue").PropType<Function>;
6
6
  readonly required: false;
@@ -28,7 +28,7 @@ export declare const MKColumnLink: import("vue").DefineComponent<{
28
28
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
29
  click: (data: import("../../data-model/data-table/composables").ColumnEventData) => boolean;
30
30
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
31
- readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
31
+ readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
32
32
  readonly formatValue: {
33
33
  readonly type: import("vue").PropType<Function>;
34
34
  readonly required: false;
@@ -56,7 +56,7 @@ export declare const MKColumnLink: import("vue").DefineComponent<{
56
56
  }>> & {
57
57
  onClick?: ((data: import("../../data-model/data-table/composables").ColumnEventData) => any) | undefined;
58
58
  }, {
59
- readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown>;
59
+ readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>;
60
60
  }, {}>;
61
61
  export default ColumnLink;
62
62
  export * from "./column-link-options";
@@ -137,13 +137,13 @@ declare const _default: import("vue").DefineComponent<{
137
137
  __mkPropKey: true;
138
138
  };
139
139
  }>>, {
140
- readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "success" | "warning" | "info" | "danger", unknown>;
141
140
  readonly options: {
142
141
  label: string;
143
142
  value: any;
144
143
  color: string;
145
144
  type: "" | "success" | "warning" | "info" | "danger";
146
145
  }[];
146
+ readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "success" | "warning" | "info" | "danger", unknown>;
147
147
  readonly width: string;
148
148
  readonly color: string;
149
149
  readonly round: import("@maketribe/utils").PropMergeType<BooleanConstructor, unknown, unknown>;
@@ -137,13 +137,13 @@ export declare const MKColumnTag: import("vue").DefineComponent<{
137
137
  __mkPropKey: true;
138
138
  };
139
139
  }>>, {
140
- readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "success" | "warning" | "info" | "danger", unknown>;
141
140
  readonly options: {
142
141
  label: string;
143
142
  value: any;
144
143
  color: string;
145
144
  type: "" | "success" | "warning" | "info" | "danger";
146
145
  }[];
146
+ readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "success" | "warning" | "info" | "danger", unknown>;
147
147
  readonly width: string;
148
148
  readonly color: string;
149
149
  readonly round: import("@maketribe/utils").PropMergeType<BooleanConstructor, unknown, unknown>;
@@ -18,6 +18,14 @@ var TableView = /* @__PURE__ */ vue.defineComponent({
18
18
  }) {
19
19
  const dataTable = vue.computed(() => props.dataTable);
20
20
  const pageSizes = vue.computed(() => vue.unref(dataTable).pageSizes);
21
+ vue.watch(dataTable, (dataTable2) => {
22
+ const dataFilter = dataTable2.dataFilter;
23
+ if (dataFilter.getColumns().length === 0) {
24
+ dataFilter.setReady();
25
+ }
26
+ }, {
27
+ immediate: true
28
+ });
21
29
  return () => {
22
30
  const pagination = slots.pagination?.({
23
31
  dataTable: vue.unref(dataTable)
@@ -48,7 +56,7 @@ var TableView = /* @__PURE__ */ vue.defineComponent({
48
56
  "class": "header-box-main"
49
57
  }, null), vue.createVNode("div", {
50
58
  "class": "header-box-tools"
51
- }, [vue.createVNode(index$4.MKDataFilterPopover, {
59
+ }, [_dataTable.dataFilter.getColumns().length ? vue.createVNode(index$4.MKDataFilterPopover, {
52
60
  "dataTable": _dataTable
53
61
  }, {
54
62
  default: () => [vue.createVNode(elementPlus.ElButton, null, {
@@ -56,7 +64,7 @@ var TableView = /* @__PURE__ */ vue.defineComponent({
56
64
  "iconClass": "Filter"
57
65
  }, null)]
58
66
  })]
59
- }), buttons])]);
67
+ }) : null, buttons])]);
60
68
  } else {
61
69
  tools = vue.createVNode("div", {
62
70
  "class": "mk-table-view__selection-tip"
@@ -1 +1 @@
1
- {"version":3,"file":"table-view.js","sources":["../../../../../../../src/components/data-model/data-table/views/table-view/table-view.tsx"],"sourcesContent":["import { Fragment, VNode, computed, defineComponent, unref } from \"vue\";\nimport { ElButton, ElCard } from \"element-plus\";\n\nimport { MKButton } from \"../../../../button\";\nimport { MKTableClassifySearch } from \"./classify-search\";\nimport { MKDataTablePagination } from \"../../../data-table-pagination\";\nimport { MKDataFilterPopover } from \"../../../data-filter-popover\";\nimport { MKSvgIcon } from \"../../../../svg-icon\";\nimport { MKTable } from \"../table\";\nimport { tableViewProps } from \"./table-view-options\";\n\nexport default defineComponent({\n name: \"MKTableView\",\n props: tableViewProps,\n setup(props, { slots }) {\n const dataTable = computed(() => props.dataTable);\n\n const pageSizes = computed(() => unref(dataTable).pageSizes);\n\n return () => {\n const pagination =\n slots.pagination?.({ dataTable: unref(dataTable) }) ||\n (unref(pageSizes).length ? (\n <MKDataTablePagination dataTable={unref(dataTable)} />\n ) : null);\n\n return (\n <ElCard\n class=\"mk-table-view\"\n v-slots={{\n header: () => {\n const _dataTable = unref(dataTable);\n\n const buttons = _dataTable.buttonTools\n .filter((button) => button.predicate())\n .map((button) => (\n <MKButton button={button} onClick={() => button.handler()} />\n ));\n\n let classifySearch: any = slots[\"classify-search\"]?.() ?? null;\n if (\n !classifySearch &&\n _dataTable.classifySearch.getClassifySearchItems().length\n ) {\n classifySearch = <MKTableClassifySearch />;\n }\n\n let tools: VNode;\n\n if (!_dataTable.getSelection().length) {\n tools = (\n <Fragment>\n <div class=\"header-box-main\"></div>\n <div class=\"header-box-tools\">\n <MKDataFilterPopover dataTable={_dataTable}>\n <ElButton>\n <MKSvgIcon iconClass=\"Filter\" />\n </ElButton>\n </MKDataFilterPopover>\n {buttons}\n </div>\n </Fragment>\n );\n } else {\n tools = (\n <div class=\"mk-table-view__selection-tip\">\n <div class=\"mk-table-view__selection-tip-left\">\n <span>\n 已选中\n <span class=\"selection-count\">\n {_dataTable.getSelection().length}\n </span>\n 项\n </span>\n </div>\n <div class=\"mk-table-view__selection-tip-right\">\n {_dataTable.batchActionButtonTools.map((button) => (\n <MKButton\n link\n button={button}\n onClick={() => button.handler()}\n />\n ))}\n <ElButton\n link\n onClick={() => _dataTable.clearSelection()}\n >\n 取消选择\n </ElButton>\n </div>\n </div>\n );\n }\n\n return (\n <Fragment>\n {classifySearch}\n <div class=\"mk-table-view__header header-box\">{tools}</div>\n </Fragment>\n );\n },\n }}\n >\n {slots.default?.({ dataTable: unref(dataTable) }) || (\n <MKTable dataTable={unref(dataTable)} />\n )}\n {pagination}\n </ElCard>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","tableViewProps","setup","slots","dataTable","computed","pageSizes","unref","pagination","length","_createVNode","MKDataTablePagination","ElCard","default","MKTable","header","_dataTable","buttons","buttonTools","filter","button","predicate","map","MKButton","onClick","handler","classifySearch","getClassifySearchItems","MKTableClassifySearch","tools","getSelection","_Fragment","MKDataFilterPopover","ElButton","MKSvgIcon","_createTextVNode","batchActionButtonTools","clearSelection"],"mappings":"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"}
1
+ {"version":3,"file":"table-view.js","sources":["../../../../../../../src/components/data-model/data-table/views/table-view/table-view.tsx"],"sourcesContent":["import { Fragment, VNode, computed, defineComponent, unref, watch } from \"vue\";\nimport { ElButton, ElCard } from \"element-plus\";\n\nimport { MKButton } from \"../../../../button\";\nimport { MKTableClassifySearch } from \"./classify-search\";\nimport { MKDataTablePagination } from \"../../../data-table-pagination\";\nimport { MKDataFilterPopover } from \"../../../data-filter-popover\";\nimport { MKSvgIcon } from \"../../../../svg-icon\";\nimport { MKTable } from \"../table\";\nimport { tableViewProps } from \"./table-view-options\";\n\nexport default defineComponent({\n name: \"MKTableView\",\n props: tableViewProps,\n setup(props, { slots }) {\n const dataTable = computed(() => props.dataTable);\n\n const pageSizes = computed(() => unref(dataTable).pageSizes);\n\n watch(\n dataTable,\n (dataTable) => {\n const dataFilter = dataTable.dataFilter;\n\n if (dataFilter.getColumns().length === 0) {\n dataFilter.setReady();\n }\n },\n { immediate: true }\n );\n\n return () => {\n const pagination =\n slots.pagination?.({ dataTable: unref(dataTable) }) ||\n (unref(pageSizes).length ? (\n <MKDataTablePagination dataTable={unref(dataTable)} />\n ) : null);\n\n return (\n <ElCard\n class=\"mk-table-view\"\n v-slots={{\n header: () => {\n const _dataTable = unref(dataTable);\n\n const buttons = _dataTable.buttonTools\n .filter((button) => button.predicate())\n .map((button) => (\n <MKButton button={button} onClick={() => button.handler()} />\n ));\n\n let classifySearch: any = slots[\"classify-search\"]?.() ?? null;\n if (\n !classifySearch &&\n _dataTable.classifySearch.getClassifySearchItems().length\n ) {\n classifySearch = <MKTableClassifySearch />;\n }\n\n let tools: VNode;\n\n if (!_dataTable.getSelection().length) {\n tools = (\n <Fragment>\n <div class=\"header-box-main\"></div>\n <div class=\"header-box-tools\">\n {_dataTable.dataFilter.getColumns().length ? (\n <MKDataFilterPopover dataTable={_dataTable}>\n <ElButton>\n <MKSvgIcon iconClass=\"Filter\" />\n </ElButton>\n </MKDataFilterPopover>\n ) : null}\n {buttons}\n </div>\n </Fragment>\n );\n } else {\n tools = (\n <div class=\"mk-table-view__selection-tip\">\n <div class=\"mk-table-view__selection-tip-left\">\n <span>\n 已选中\n <span class=\"selection-count\">\n {_dataTable.getSelection().length}\n </span>\n 项\n </span>\n </div>\n <div class=\"mk-table-view__selection-tip-right\">\n {_dataTable.batchActionButtonTools.map((button) => (\n <MKButton\n link\n button={button}\n onClick={() => button.handler()}\n />\n ))}\n <ElButton\n link\n onClick={() => _dataTable.clearSelection()}\n >\n 取消选择\n </ElButton>\n </div>\n </div>\n );\n }\n\n return (\n <Fragment>\n {classifySearch}\n <div class=\"mk-table-view__header header-box\">{tools}</div>\n </Fragment>\n );\n },\n }}\n >\n {slots.default?.({ dataTable: unref(dataTable) }) || (\n <MKTable dataTable={unref(dataTable)} />\n )}\n {pagination}\n </ElCard>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","tableViewProps","setup","slots","dataTable","computed","pageSizes","unref","watch","dataFilter","getColumns","length","setReady","immediate","pagination","_createVNode","MKDataTablePagination","ElCard","default","MKTable","header","_dataTable","buttons","buttonTools","filter","button","predicate","map","MKButton","onClick","handler","classifySearch","getClassifySearchItems","MKTableClassifySearch","tools","getSelection","_Fragment","MKDataFilterPopover","ElButton","MKSvgIcon","_createTextVNode","batchActionButtonTools","clearSelection"],"mappings":"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"}
@@ -63,6 +63,11 @@ class ConfigForm extends dm.DataForm {
63
63
  }
64
64
  ],
65
65
  componentInfo: this.resolveType(defaultType)
66
+ }),
67
+ new dm.FormColumn({
68
+ name: "memo",
69
+ label: "\u5907\u6CE8",
70
+ defaultValue: ""
66
71
  })
67
72
  ]);
68
73
  this.dataChangeEvent.on(({ data }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigForm.js","sources":["../../../../src/dataview/config/ConfigForm.ts"],"sourcesContent":["import {\n DataForm,\n DataFormOptions,\n FormColumn,\n IComponents,\n} from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { ConfigComponents, ITypeResolver } from \"../../core\";\n\nexport type Config<T = any> = {\n id: string;\n key: string;\n type: string;\n value: T;\n};\n\nexport type ConfigFormOptions = DataFormOptions & {\n typeResolver?: ITypeResolver<Config>;\n configComponent?: IComponents;\n};\n\nexport class ConfigForm\n extends DataForm<Config>\n implements ITypeResolver<Config>\n{\n configComponent: IComponents;\n\n constructor(options: ConfigFormOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n\n this.configComponent = options.configComponent ?? new ConfigComponents();\n }\n\n protected async initialize() {\n await super.initialize();\n\n const defaultType = \"string\";\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"key\", label: \"配置键\", required: true }),\n new FormColumn({\n name: \"type\",\n label: \"类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: defaultType,\n required: true,\n componentProps: {\n options: [\n { value: \"string\", label: \"字符串\" },\n { value: \"int\", label: \"整数\" },\n { value: \"json\", label: \"JSON\" },\n ],\n onChange: () => {\n this.handleTypeChange(this.data);\n\n if (this.data) {\n this.data.value = null;\n }\n },\n },\n }),\n new FormColumn({\n name: \"value\",\n label: \"配置值\",\n required: true,\n defaultValue: null,\n rules: [\n {\n validator: (rule, value, callback) => {\n if (this.data?.type === \"json\") {\n try {\n JSON.parse(value);\n } catch (e) {\n callback(new Error(\"JSON格式错误\"));\n }\n }\n\n callback();\n },\n },\n ],\n componentInfo: this.resolveType(defaultType),\n }),\n ]);\n\n this.dataChangeEvent.on(({ data }) => {\n this.handleTypeChange(data);\n });\n }\n\n handleTypeChange(data: Config | null) {\n if (!data) {\n return;\n }\n\n const valueFormColumn = this.getColumn(\"value\")!;\n valueFormColumn.componentInfo =\n this.configComponent.resolveComponent(this.resolveItemType(data!)) ||\n this.configComponent.resolveComponent(\"MKFormInput\")!;\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n if (item.type !== \"json\") {\n try {\n value = JSON.parse(item.value);\n } catch (e) {}\n }\n\n return { ...item, value };\n }\n\n formatSubmitData(data: any) {\n return {\n ...data,\n value: data.type === \"json\" ? data.value : JSON.stringify(data.value),\n };\n }\n\n resolveType(type: string) {\n switch (type) {\n case \"int\":\n return \"MKConfigInputNumber\";\n case \"json\":\n return \"MKConfigJsonEditor\";\n default:\n return \"MKConfigInput\";\n }\n }\n\n resolveItemType(config: Config) {\n return this.resolveType(config.type);\n }\n}\n\ndefineDataForm(ConfigForm);\n"],"names":["DataForm","ConfigComponents","FormColumn","defineDataForm"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigForm.js","sources":["../../../../src/dataview/config/ConfigForm.ts"],"sourcesContent":["import {\n DataForm,\n DataFormOptions,\n FormColumn,\n IComponents,\n} from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { ConfigComponents, ITypeResolver } from \"../../core\";\n\nexport type Config<T = any> = {\n id: string;\n key: string;\n type: string;\n value: T;\n};\n\nexport type ConfigFormOptions = DataFormOptions & {\n typeResolver?: ITypeResolver<Config>;\n configComponent?: IComponents;\n};\n\nexport class ConfigForm\n extends DataForm<Config>\n implements ITypeResolver<Config>\n{\n configComponent: IComponents;\n\n constructor(options: ConfigFormOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n\n this.configComponent = options.configComponent ?? new ConfigComponents();\n }\n\n protected async initialize() {\n await super.initialize();\n\n const defaultType = \"string\";\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"key\", label: \"配置键\", required: true }),\n new FormColumn({\n name: \"type\",\n label: \"类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: defaultType,\n required: true,\n componentProps: {\n options: [\n { value: \"string\", label: \"字符串\" },\n { value: \"int\", label: \"整数\" },\n { value: \"json\", label: \"JSON\" },\n ],\n onChange: () => {\n this.handleTypeChange(this.data);\n\n if (this.data) {\n this.data.value = null;\n }\n },\n },\n }),\n new FormColumn({\n name: \"value\",\n label: \"配置值\",\n required: true,\n defaultValue: null,\n rules: [\n {\n validator: (rule, value, callback) => {\n if (this.data?.type === \"json\") {\n try {\n JSON.parse(value);\n } catch (e) {\n callback(new Error(\"JSON格式错误\"));\n }\n }\n\n callback();\n },\n },\n ],\n componentInfo: this.resolveType(defaultType),\n }),\n new FormColumn({\n name: \"memo\",\n label: \"备注\",\n defaultValue: \"\",\n }),\n ]);\n\n this.dataChangeEvent.on(({ data }) => {\n this.handleTypeChange(data);\n });\n }\n\n handleTypeChange(data: Config | null) {\n if (!data) {\n return;\n }\n\n const valueFormColumn = this.getColumn(\"value\")!;\n valueFormColumn.componentInfo =\n this.configComponent.resolveComponent(this.resolveItemType(data!)) ||\n this.configComponent.resolveComponent(\"MKFormInput\")!;\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n if (item.type !== \"json\") {\n try {\n value = JSON.parse(item.value);\n } catch (e) {}\n }\n\n return { ...item, value };\n }\n\n formatSubmitData(data: any) {\n return {\n ...data,\n value: data.type === \"json\" ? data.value : JSON.stringify(data.value),\n };\n }\n\n resolveType(type: string) {\n switch (type) {\n case \"int\":\n return \"MKConfigInputNumber\";\n case \"json\":\n return \"MKConfigJsonEditor\";\n default:\n return \"MKConfigInput\";\n }\n }\n\n resolveItemType(config: Config) {\n return this.resolveType(config.type);\n }\n}\n\ndefineDataForm(ConfigForm);\n"],"names":["DataForm","ConfigComponents","FormColumn","defineDataForm"],"mappings":"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"}
@@ -19,8 +19,8 @@ class ConfigTable extends dm.DataTable {
19
19
  async initialize() {
20
20
  await super.initialize();
21
21
  this.setColumns([
22
- new dm.TableColumn({ name: "id", label: "\u7F16\u53F7", visible: false }),
23
22
  new dm.TableColumn({ name: "key", label: "\u914D\u7F6E\u952E" }),
23
+ new dm.TableColumn({ name: "memo", label: "\u5907\u6CE8" }),
24
24
  new dm.TableActionColumn()
25
25
  ]);
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigTable.js","sources":["../../../../src/dataview/config/ConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\nimport {\n DataTable,\n DataTableOptions,\n TableColumn,\n TableActionColumn,\n} from \"@maketribe/dm\";\nimport { Config } from \"./ConfigForm\";\nimport { R, ResponseConfig } from \"@maketribe/request\";\nimport { defineDataTable } from \"../../define-data-table\";\n\nexport class ConfigTable extends DataTable<Config> {\n private static _instance: ConfigTable | null = null;\n\n static get instance(): ConfigTable {\n if (!ConfigTable._instance) {\n ConfigTable._instance = new ConfigTable();\n ConfigTable._instance.dataFilter.setReady();\n }\n\n return ConfigTable._instance;\n }\n\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\n new TableColumn({ name: \"key\", label: \"配置键\" }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n try {\n value = JSON.parse(value);\n } catch (e) {}\n\n return { ...item, value };\n }\n\n static async loadConfig<T = any>(\n key: string\n ): Promise<ResponseConfig<R<Config<T>>>> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = ConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.allList({\n data: { condition: where },\n });\n\n return {\n ...response,\n data: {\n ...response.data,\n data: response.data.data?.[0] ?? null,\n },\n };\n }\n}\n\n(window as any).ConfigTable = ConfigTable;\n\ndefineDataTable(ConfigTable);\n"],"names":["DataTable","TableColumn","TableActionColumn","Where","defineDataTable"],"mappings":";;;;;;AAWO,MAAM,oBAAoBA,YAAkB,CAAA;AAAA,EACjD,OAAe,SAAgC,GAAA,IAAA,CAAA;AAAA,EAE/C,WAAW,QAAwB,GAAA;AACjC,IAAI,IAAA,CAAC,YAAY,SAAW,EAAA;AAC1B,MAAY,WAAA,CAAA,SAAA,GAAY,IAAI,WAAY,EAAA,CAAA;AACxC,MAAY,WAAA,CAAA,SAAA,CAAU,WAAW,QAAS,EAAA,CAAA;AAAA,KAC5C;AAEA,IAAA,OAAO,WAAY,CAAA,SAAA,CAAA;AAAA,GACrB;AAAA,EAEA,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,QAAU,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACtC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAIC,eAAY,EAAE,IAAA,EAAM,MAAM,KAAO,EAAA,cAAA,EAAM,OAAS,EAAA,KAAA,EAAO,CAAA;AAAA,MAC3D,IAAIA,cAAY,CAAA,EAAE,MAAM,KAAO,EAAA,KAAA,EAAO,sBAAO,CAAA;AAAA,MAC7C,IAAIC,oBAAkB,EAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAAsB,EAAA;AAC/B,IAAA,IAAI,QAAQ,IAAK,CAAA,KAAA,CAAA;AAEjB,IAAI,IAAA;AACF,MAAQ,KAAA,GAAA,IAAA,CAAK,MAAM,KAAK,CAAA,CAAA;AAAA,aACjB,CAAG,EAAA;AAAA,KAAC;AAEb,IAAO,OAAA,EAAE,GAAG,IAAA,EAAM,KAAM,EAAA,CAAA;AAAA,GAC1B;AAAA,EAEA,aAAa,WACX,GACuC,EAAA;AACvC,IAAM,MAAA,KAAA,GAAQ,IAAIC,aAAM,EAAA,CAAA;AAExB,IAAM,KAAA,CAAA,YAAA,CAAa,KAAO,EAAA,GAAA,EAAK,GAAG,CAAA,CAAA;AAElC,IAAM,MAAA,eAAA,GAAkB,YAAY,QAAS,CAAA,eAAA,CAAA;AAC7C,IAAM,MAAA,QAAA,GAAW,MAAM,eAAA,CAAgB,OAAQ,CAAA;AAAA,MAC7C,IAAA,EAAM,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,KAC1B,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,GAAG,QAAA;AAAA,MACH,IAAM,EAAA;AAAA,QACJ,GAAG,QAAS,CAAA,IAAA;AAAA,QACZ,IAAM,EAAA,QAAA,CAAS,IAAK,CAAA,IAAA,GAAO,CAAC,CAAK,IAAA,IAAA;AAAA,OACnC;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAA;AAEC,MAAA,CAAe,WAAc,GAAA,WAAA,CAAA;AAE9BC,+BAAA,CAAgB,WAAW,CAAA;;;;"}
1
+ {"version":3,"file":"ConfigTable.js","sources":["../../../../src/dataview/config/ConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\nimport {\n DataTable,\n DataTableOptions,\n TableColumn,\n TableActionColumn,\n} from \"@maketribe/dm\";\nimport { Config } from \"./ConfigForm\";\nimport { R, ResponseConfig } from \"@maketribe/request\";\nimport { defineDataTable } from \"../../define-data-table\";\n\nexport class ConfigTable extends DataTable<Config> {\n private static _instance: ConfigTable | null = null;\n\n static get instance(): ConfigTable {\n if (!ConfigTable._instance) {\n ConfigTable._instance = new ConfigTable();\n ConfigTable._instance.dataFilter.setReady();\n }\n\n return ConfigTable._instance;\n }\n\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new TableColumn({ name: \"key\", label: \"配置键\" }),\n new TableColumn({ name: \"memo\", label: \"备注\" }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n try {\n value = JSON.parse(value);\n } catch (e) {}\n\n return { ...item, value };\n }\n\n static async loadConfig<T = any>(\n key: string\n ): Promise<ResponseConfig<R<Config<T>>>> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = ConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.allList({\n data: { condition: where },\n });\n\n return {\n ...response,\n data: {\n ...response.data,\n data: response.data.data?.[0] ?? null,\n },\n };\n }\n}\n\n(window as any).ConfigTable = ConfigTable;\n\ndefineDataTable(ConfigTable);\n"],"names":["DataTable","TableColumn","TableActionColumn","Where","defineDataTable"],"mappings":";;;;;;AAWO,MAAM,oBAAoBA,YAAkB,CAAA;AAAA,EACjD,OAAe,SAAgC,GAAA,IAAA,CAAA;AAAA,EAE/C,WAAW,QAAwB,GAAA;AACjC,IAAI,IAAA,CAAC,YAAY,SAAW,EAAA;AAC1B,MAAY,WAAA,CAAA,SAAA,GAAY,IAAI,WAAY,EAAA,CAAA;AACxC,MAAY,WAAA,CAAA,SAAA,CAAU,WAAW,QAAS,EAAA,CAAA;AAAA,KAC5C;AAEA,IAAA,OAAO,WAAY,CAAA,SAAA,CAAA;AAAA,GACrB;AAAA,EAEA,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,QAAU,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACtC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAIC,cAAY,CAAA,EAAE,MAAM,KAAO,EAAA,KAAA,EAAO,sBAAO,CAAA;AAAA,MAC7C,IAAIA,cAAY,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAO,gBAAM,CAAA;AAAA,MAC7C,IAAIC,oBAAkB,EAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAAsB,EAAA;AAC/B,IAAA,IAAI,QAAQ,IAAK,CAAA,KAAA,CAAA;AAEjB,IAAI,IAAA;AACF,MAAQ,KAAA,GAAA,IAAA,CAAK,MAAM,KAAK,CAAA,CAAA;AAAA,aACjB,CAAG,EAAA;AAAA,KAAC;AAEb,IAAO,OAAA,EAAE,GAAG,IAAA,EAAM,KAAM,EAAA,CAAA;AAAA,GAC1B;AAAA,EAEA,aAAa,WACX,GACuC,EAAA;AACvC,IAAM,MAAA,KAAA,GAAQ,IAAIC,aAAM,EAAA,CAAA;AAExB,IAAM,KAAA,CAAA,YAAA,CAAa,KAAO,EAAA,GAAA,EAAK,GAAG,CAAA,CAAA;AAElC,IAAM,MAAA,eAAA,GAAkB,YAAY,QAAS,CAAA,eAAA,CAAA;AAC7C,IAAM,MAAA,QAAA,GAAW,MAAM,eAAA,CAAgB,OAAQ,CAAA;AAAA,MAC7C,IAAA,EAAM,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,KAC1B,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,GAAG,QAAA;AAAA,MACH,IAAM,EAAA;AAAA,QACJ,GAAG,QAAS,CAAA,IAAA;AAAA,QACZ,IAAM,EAAA,QAAA,CAAS,IAAK,CAAA,IAAA,GAAO,CAAC,CAAK,IAAA,IAAA;AAAA,OACnC;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAA;AAEC,MAAA,CAAe,WAAc,GAAA,WAAA,CAAA;AAE9BC,+BAAA,CAAgB,WAAW,CAAA;;;;"}
@@ -15,6 +15,15 @@ require('../department/DepartmentForm.js');
15
15
  var DepartmentTable = require('../department/DepartmentTable.js');
16
16
  require('../department/DepartmentTree.js');
17
17
  var pattern = require('../../constants/pattern.js');
18
+ require('../../components/upload-file/upload-file.js');
19
+ var WebFileUploadContext = require('../../components/upload-file/context/WebFileUploadContext.js');
20
+ require('../../components/material-select/index.js');
21
+ require('../../components/upload-file/context/material-upload-context.js');
22
+ require('../../components/upload-file/context/material-upload-context-options.js');
23
+ require('../../components/upload-file/context/web-file-upload-context.js');
24
+ require('../../components/upload-file/context/web-file-upload-context-options.js');
25
+ require('../../components/upload-file/ui/upload-image/index.js');
26
+ require('../../components/upload-file/upload-file-options.js');
18
27
 
19
28
  class MemberForm extends dm.DataForm {
20
29
  constructor(options = {}) {
@@ -39,7 +48,10 @@ class MemberForm extends dm.DataForm {
39
48
  name: "avatar",
40
49
  label: "\u5934\u50CF",
41
50
  defaultValue: null,
42
- componentInfo: "MKFormImageUpload"
51
+ componentInfo: "MKFormImageUpload",
52
+ componentProps: {
53
+ uploadContext: new WebFileUploadContext.WebFileUploadContext()
54
+ }
43
55
  }),
44
56
  new dm.FormColumn({
45
57
  name: "roles",
@@ -1 +1 @@
1
- {"version":3,"file":"MemberForm.js","sources":["../../../../src/dataview/member/MemberForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { RoleTable } from \"../role\";\nimport { DepartmentTable } from \"../department\";\nimport { WebFileUpload } from \"@maketribe/request\";\nimport { EMAIL_PATTERN } from \"../../constants\";\nimport { WebFileUploadContext } from \"../../components/upload-file\";\nexport type MemberResult = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport type Member = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string | null;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport class MemberForm<\n T extends MemberResult = MemberResult,\n F extends Member = Member\n> extends DataForm<T, F> {\n constructor(options: DataFormOptions = {}) {\n super({ name: \"ms-member\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"姓名\", required: true }),\n new FormColumn({ name: \"wechatNo\", label: \"微信号\", defaultValue: null }),\n new FormColumn({ name: \"nickName\", label: \"昵称\", required: true }),\n new FormColumn({\n name: \"email\",\n label: \"邮箱\",\n required: true,\n rules: [{ message: \"邮箱格式有误\", pattern: EMAIL_PATTERN }],\n }),\n new FormColumn({ name: \"phone\", label: \"手机号\", defaultValue: null }),\n new FormColumn({ name: \"account\", label: \"账号\", required: true }),\n new FormColumn({\n name: \"avatar\",\n label: \"头像\",\n defaultValue: null,\n componentInfo: \"MKFormImageUpload\",\n }),\n new FormColumn({\n name: \"roles\",\n label: \"角色\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new RoleTable(),\n },\n }),\n new FormColumn({\n name: \"depts\",\n label: \"部门\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new DepartmentTable(),\n },\n }),\n new FormColumn({ name: \"memo\", label: \"备注\" }),\n ]);\n }\n\n formatSubmitData(data: any) {\n const { roles, depts, ...rest } = data;\n\n const rolesArr = roles?.map((item: any) => {\n return { roleId: item };\n });\n const deptsArr = depts?.map((item: any) => {\n return { deptId: item };\n });\n return { ...rest, roles: rolesArr, depts: deptsArr };\n }\n\n formatItem(item: T): F {\n return {\n id: item.id,\n name: item.name || \"\",\n wechatNo: item.wechatNo || \"\",\n nickName: item.nickName || \"\",\n email: item.email || \"\",\n phone: item.phone || \"\",\n account: item.account || \"\",\n avatar: item.avatar,\n roles: item.roles?.map((role) => role.roleId),\n depts: item.depts?.map((department) => department.deptId),\n valid: item.valid,\n } as F;\n }\n}\n\ndefineDataForm(MemberForm);\n"],"names":["DataForm","FormColumn","EMAIL_PATTERN","RoleTable","DepartmentTable","defineDataForm"],"mappings":"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"}
1
+ {"version":3,"file":"MemberForm.js","sources":["../../../../src/dataview/member/MemberForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { RoleTable } from \"../role\";\nimport { DepartmentTable } from \"../department\";\nimport { EMAIL_PATTERN } from \"../../constants\";\nimport { WebFileUploadContext } from \"../../components/upload-file\";\nexport type MemberResult = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport type Member = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string | null;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport class MemberForm<\n T extends MemberResult = MemberResult,\n F extends Member = Member\n> extends DataForm<T, F> {\n constructor(options: DataFormOptions = {}) {\n super({ name: \"ms-member\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"姓名\", required: true }),\n new FormColumn({ name: \"wechatNo\", label: \"微信号\", defaultValue: null }),\n new FormColumn({ name: \"nickName\", label: \"昵称\", required: true }),\n new FormColumn({\n name: \"email\",\n label: \"邮箱\",\n required: true,\n rules: [{ message: \"邮箱格式有误\", pattern: EMAIL_PATTERN }],\n }),\n new FormColumn({ name: \"phone\", label: \"手机号\", defaultValue: null }),\n new FormColumn({ name: \"account\", label: \"账号\", required: true }),\n new FormColumn({\n name: \"avatar\",\n label: \"头像\",\n defaultValue: null,\n componentInfo: \"MKFormImageUpload\",\n componentProps: {\n uploadContext: new WebFileUploadContext(),\n }\n }),\n new FormColumn({\n name: \"roles\",\n label: \"角色\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new RoleTable(),\n },\n }),\n new FormColumn({\n name: \"depts\",\n label: \"部门\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new DepartmentTable(),\n },\n }),\n new FormColumn({ name: \"memo\", label: \"备注\" }),\n ]);\n }\n\n formatSubmitData(data: any) {\n const { roles, depts, ...rest } = data;\n\n const rolesArr = roles?.map((item: any) => {\n return { roleId: item };\n });\n const deptsArr = depts?.map((item: any) => {\n return { deptId: item };\n });\n return { ...rest, roles: rolesArr, depts: deptsArr };\n }\n\n formatItem(item: T): F {\n return {\n id: item.id,\n name: item.name || \"\",\n wechatNo: item.wechatNo || \"\",\n nickName: item.nickName || \"\",\n email: item.email || \"\",\n phone: item.phone || \"\",\n account: item.account || \"\",\n avatar: item.avatar,\n roles: item.roles?.map((role) => role.roleId),\n depts: item.depts?.map((department) => department.deptId),\n valid: item.valid,\n } as F;\n }\n}\n\ndefineDataForm(MemberForm);\n"],"names":["DataForm","FormColumn","EMAIL_PATTERN","WebFileUploadContext","RoleTable","DepartmentTable","defineDataForm"],"mappings":"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"}
@@ -89,6 +89,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
89
89
  ]
90
90
  ),
91
91
  ([_dataTable, _dataForm, name]) => {
92
+ isShowDialog.value = false;
92
93
  dataTable.value = _dataTable || DataModelDefines.DataModelDefines.instance.getDataTable(name);
93
94
  dataForm.value = _dataForm || DataModelDefines.DataModelDefines.instance.getDataForm(name);
94
95
  },
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/dialog.vue"],"sourcesContent":["<template>\n <MKDataTablePage v-if=\"dataTable\" :data-table=\"dataTable\" selection />\n\n <ElDialog v-if=\"dataForm\" appendToBody v-model=\"isShowDialog\">\n <MKDataForm v-loading=\"dataForm.loading\" :dataForm=\"dataForm\">\n <MKForm :dataForm=\"dataForm\" />\n </MKDataForm>\n\n <template #footer>\n <ElButton\n type=\"primary\"\n :loading=\"dataForm.loading\"\n @click=\"handleSubmit\"\n >\n {{ I18n.instance.translate(\"mk.dataForm.saveButton\") }}\n </ElButton>\n <ElButton @click=\"handleCancel\">\n {{ I18n.instance.translate(\"mk.dataForm.cancelButton\") }}\n </ElButton>\n </template>\n </ElDialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { unref, computed, watch, ref, Ref, nextTick } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { ElMessage, ElDialog, ElButton } from \"element-plus\";\nimport { I18n } from \"@maketribe/locale\";\nimport { DataForm, DataTable, Dialoger, Messager } from \"@maketribe/dm\";\nimport {\n MKDataTablePage,\n MKDataForm,\n MKForm,\n} from \"../../../../../../components\";\nimport { DataModelDefines } from \"../../../../../../core\";\n\nconst props = defineProps({\n dataTable: { type: DataTable<any> },\n dataForm: { type: DataForm<any> },\n});\n\nconst router = useRouter();\n\nconst isShowDialog = ref(false);\n\nconst dataTable: Ref<DataTable | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nwatch(\n computed(\n () =>\n [\n props.dataTable,\n props.dataForm,\n unref(router.currentRoute).meta.name,\n ] as [DataTable, DataForm, string]\n ),\n ([_dataTable, _dataForm, name]) => {\n dataTable.value =\n _dataTable || DataModelDefines.instance.getDataTable(name);\n dataForm.value = _dataForm || DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nwatch(\n dataTable,\n (dataTable, _, onCleanup) => {\n if (dataTable) {\n dataTable.addRecordEvent.on(async () => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDialog.value = true;\n\n _dataForm.addRecord();\n });\n\n dataTable.editRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDialog.value = true;\n\n try {\n const response = await _dataForm.editRecord(\n item[dataTable.primaryKey]\n );\n\n if (response.data.code !== 200) {\n ElMessage.error(response.data.msg);\n isShowDialog.value = false;\n return;\n }\n } catch (e) {\n console.error(e);\n isShowDialog.value = false;\n }\n });\n }\n\n onCleanup(() => {\n dataTable?.clearSelection();\n dataTable?.dispose();\n });\n },\n { immediate: true }\n);\n\nconst handleSubmit = async () => {\n try {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n return;\n }\n\n if (!(await _dataForm.validate())) {\n return;\n }\n\n const response = await _dataForm.submit();\n\n if (response.data.code !== 200) {\n ElMessage.error({ message: response.data.msg });\n return;\n }\n\n unref(dataTable)?.load();\n ElMessage.success({\n message: I18n.instance.translate(\"mk.message.saveSuccess\"),\n });\n\n isShowDialog.value = false;\n } catch (e) {\n ElMessage.error({\n message: I18n.instance.translate(\"mk.message.saveError\"),\n });\n }\n};\n\nconst handleCancel = () => {\n unref(dataForm)?.cancel();\n isShowDialog.value = false;\n};\n</script>\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","dataTable","ElMessage","I18n"],"mappings":"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"}
1
+ {"version":3,"file":"dialog.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/dialog.vue"],"sourcesContent":["<template>\n <MKDataTablePage v-if=\"dataTable\" :data-table=\"dataTable\" selection />\n\n <ElDialog v-if=\"dataForm\" appendToBody v-model=\"isShowDialog\">\n <MKDataForm v-loading=\"dataForm.loading\" :dataForm=\"dataForm\">\n <MKForm :dataForm=\"dataForm\" />\n </MKDataForm>\n\n <template #footer>\n <ElButton\n type=\"primary\"\n :loading=\"dataForm.loading\"\n @click=\"handleSubmit\"\n >\n {{ I18n.instance.translate(\"mk.dataForm.saveButton\") }}\n </ElButton>\n <ElButton @click=\"handleCancel\">\n {{ I18n.instance.translate(\"mk.dataForm.cancelButton\") }}\n </ElButton>\n </template>\n </ElDialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { unref, computed, watch, ref, Ref, nextTick } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { ElMessage, ElDialog, ElButton } from \"element-plus\";\nimport { I18n } from \"@maketribe/locale\";\nimport { DataForm, DataTable, Dialoger, Messager } from \"@maketribe/dm\";\nimport {\n MKDataTablePage,\n MKDataForm,\n MKForm,\n} from \"../../../../../../components\";\nimport { DataModelDefines } from \"../../../../../../core\";\n\nconst props = defineProps({\n dataTable: { type: DataTable<any> },\n dataForm: { type: DataForm<any> },\n});\n\nconst router = useRouter();\n\nconst isShowDialog = ref(false);\n\nconst dataTable: Ref<DataTable | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nwatch(\n computed(\n () =>\n [\n props.dataTable,\n props.dataForm,\n unref(router.currentRoute).meta.name,\n ] as [DataTable, DataForm, string]\n ),\n ([_dataTable, _dataForm, name]) => {\n isShowDialog.value = false;\n dataTable.value =\n _dataTable || DataModelDefines.instance.getDataTable(name);\n dataForm.value = _dataForm || DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nwatch(\n dataTable,\n (dataTable, _, onCleanup) => {\n if (dataTable) {\n dataTable.addRecordEvent.on(async () => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDialog.value = true;\n\n _dataForm.addRecord();\n });\n\n dataTable.editRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDialog.value = true;\n\n try {\n const response = await _dataForm.editRecord(\n item[dataTable.primaryKey]\n );\n\n if (response.data.code !== 200) {\n ElMessage.error(response.data.msg);\n isShowDialog.value = false;\n return;\n }\n } catch (e) {\n console.error(e);\n isShowDialog.value = false;\n }\n });\n }\n\n onCleanup(() => {\n dataTable?.clearSelection();\n dataTable?.dispose();\n });\n },\n { immediate: true }\n);\n\nconst handleSubmit = async () => {\n try {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n return;\n }\n\n if (!(await _dataForm.validate())) {\n return;\n }\n\n const response = await _dataForm.submit();\n\n if (response.data.code !== 200) {\n ElMessage.error({ message: response.data.msg });\n return;\n }\n\n unref(dataTable)?.load();\n ElMessage.success({\n message: I18n.instance.translate(\"mk.message.saveSuccess\"),\n });\n\n isShowDialog.value = false;\n } catch (e) {\n ElMessage.error({\n message: I18n.instance.translate(\"mk.message.saveError\"),\n });\n }\n};\n\nconst handleCancel = () => {\n unref(dataForm)?.cancel();\n isShowDialog.value = false;\n};\n</script>\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","dataTable","ElMessage","I18n"],"mappings":"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"}
@@ -88,6 +88,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
88
88
  ]
89
89
  ),
90
90
  ([_dataTable, _dataForm, name]) => {
91
+ isShowDataForm.value = false;
91
92
  dataTable.value = _dataTable || DataModelDefines.DataModelDefines.instance.getDataTable(name);
92
93
  dataForm.value = _dataForm || DataModelDefines.DataModelDefines.instance.getDataForm(name);
93
94
  },
@@ -1 +1 @@
1
- {"version":3,"file":"normal.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/normal.vue"],"sourcesContent":["<template>\n <MKDataTablePage\n v-if=\"dataTable\"\n v-show=\"!isShowDataForm\"\n :data-table=\"dataTable\"\n selection\n />\n <MKDataFormPage\n v-if=\"dataForm\"\n v-show=\"isShowDataForm\"\n :data-form=\"dataForm\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { unref, computed, watch, ref, Ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { ElMessage } from \"element-plus\";\nimport { I18n } from \"@maketribe/locale\";\nimport { DataForm, DataTable, Dialoger, Messager } from \"@maketribe/dm\";\nimport { MKDataTablePage, MKDataFormPage } from \"../../../../../../components\";\nimport { DataModelDefines } from \"../../../../../../core\";\n\nconst props = defineProps({\n dataTable: { type: DataTable<any> },\n dataForm: { type: DataForm<any> },\n});\n\nconst router = useRouter();\n\nconst isShowDataForm = ref(false);\n\nconst dataTable: Ref<DataTable | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nwatch(\n computed(\n () =>\n [\n props.dataTable,\n props.dataForm,\n unref(router.currentRoute).meta.name,\n ] as [DataTable, DataForm, string]\n ),\n ([_dataTable, _dataForm, name]) => {\n dataTable.value =\n _dataTable || DataModelDefines.instance.getDataTable(name);\n dataForm.value = _dataForm || DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nwatch(\n dataTable,\n (dataTable, _, onCleanup) => {\n if (dataTable) {\n dataTable.addRecordEvent.on(() => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n _dataForm.addRecord();\n });\n\n dataTable.editRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n try {\n const response = await _dataForm.editRecord(\n item[dataTable.primaryKey]\n );\n\n if (response.data.code !== 200) {\n ElMessage.error(response.data.msg);\n isShowDataForm.value = false;\n return;\n }\n } catch (e) {\n console.error(e);\n isShowDataForm.value = false;\n }\n });\n }\n\n onCleanup(() => {\n dataTable?.clearSelection();\n dataTable?.dispose();\n });\n },\n { immediate: true }\n);\n\nwatch(\n dataForm,\n (dataForm, _, onCleanup) => {\n if (dataForm) {\n dataForm.submittedEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(dataTable)?.load();\n });\n\n dataForm.cancelEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(dataTable)?.load();\n });\n }\n\n onCleanup(() => {\n dataForm?.dispose();\n });\n },\n { immediate: true }\n);\n</script>\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","dataTable","ElMessage","dataForm"],"mappings":"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"}
1
+ {"version":3,"file":"normal.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/normal.vue"],"sourcesContent":["<template>\n <MKDataTablePage\n v-if=\"dataTable\"\n v-show=\"!isShowDataForm\"\n :data-table=\"dataTable\"\n selection\n />\n <MKDataFormPage\n v-if=\"dataForm\"\n v-show=\"isShowDataForm\"\n :data-form=\"dataForm\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { unref, computed, watch, ref, Ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { ElMessage } from \"element-plus\";\nimport { DataForm, DataTable, Dialoger, Messager } from \"@maketribe/dm\";\nimport { MKDataTablePage, MKDataFormPage } from \"../../../../../../components\";\nimport { DataModelDefines } from \"../../../../../../core\";\n\nconst props = defineProps({\n dataTable: { type: DataTable<any> },\n dataForm: { type: DataForm<any> },\n});\n\nconst router = useRouter();\n\nconst isShowDataForm = ref(false);\n\nconst dataTable: Ref<DataTable | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nwatch(\n computed(\n () =>\n [\n props.dataTable,\n props.dataForm,\n unref(router.currentRoute).meta.name,\n ] as [DataTable, DataForm, string]\n ),\n ([_dataTable, _dataForm, name]) => {\n isShowDataForm.value = false;\n dataTable.value =\n _dataTable || DataModelDefines.instance.getDataTable(name);\n dataForm.value = _dataForm || DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nwatch(\n dataTable,\n (dataTable, _, onCleanup) => {\n if (dataTable) {\n dataTable.addRecordEvent.on(() => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n _dataForm.addRecord();\n });\n\n dataTable.editRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n try {\n const response = await _dataForm.editRecord(\n item[dataTable.primaryKey]\n );\n\n if (response.data.code !== 200) {\n ElMessage.error(response.data.msg);\n isShowDataForm.value = false;\n return;\n }\n } catch (e) {\n console.error(e);\n isShowDataForm.value = false;\n }\n });\n }\n\n onCleanup(() => {\n dataTable?.clearSelection();\n dataTable?.dispose();\n });\n },\n { immediate: true }\n);\n\nwatch(\n dataForm,\n (dataForm, _, onCleanup) => {\n if (dataForm) {\n dataForm.submittedEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(dataTable)?.load();\n });\n\n dataForm.cancelEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(dataTable)?.load();\n });\n }\n\n onCleanup(() => {\n dataForm?.dispose();\n });\n },\n { immediate: true }\n);\n</script>\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","dataTable","ElMessage","dataForm"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ExtractPropTypes } from "vue";
2
2
  import { ColumnEventData } from "../../data-model/data-table/composables";
3
3
  export declare const columnLinkProps: {
4
- readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
4
+ readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
5
5
  readonly formatValue: {
6
6
  readonly type: import("vue").PropType<Function>;
7
7
  readonly required: false;
@@ -1,5 +1,5 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
- readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
2
+ readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
3
3
  readonly formatValue: {
4
4
  readonly type: import("vue").PropType<Function>;
5
5
  readonly required: false;
@@ -27,7 +27,7 @@ declare const _default: import("vue").DefineComponent<{
27
27
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
28
28
  click: (data: import("../../data-model/data-table/composables").ColumnEventData) => boolean;
29
29
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
30
- readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
30
+ readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
31
31
  readonly formatValue: {
32
32
  readonly type: import("vue").PropType<Function>;
33
33
  readonly required: false;
@@ -55,6 +55,6 @@ declare const _default: import("vue").DefineComponent<{
55
55
  }>> & {
56
56
  onClick?: ((data: import("../../data-model/data-table/composables").ColumnEventData) => any) | undefined;
57
57
  }, {
58
- readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown>;
58
+ readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>;
59
59
  }, {}>;
60
60
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import ColumnLink from "./column-link";
2
2
  export declare const MKColumnLink: import("vue").DefineComponent<{
3
- readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
3
+ readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
4
4
  readonly formatValue: {
5
5
  readonly type: import("vue").PropType<Function>;
6
6
  readonly required: false;
@@ -28,7 +28,7 @@ export declare const MKColumnLink: import("vue").DefineComponent<{
28
28
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
29
  click: (data: import("../../data-model/data-table/composables").ColumnEventData) => boolean;
30
30
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
31
- readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
31
+ readonly type: import("@maketribe/utils").PropFinalized<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown, "primary", boolean>;
32
32
  readonly formatValue: {
33
33
  readonly type: import("vue").PropType<Function>;
34
34
  readonly required: false;
@@ -56,7 +56,7 @@ export declare const MKColumnLink: import("vue").DefineComponent<{
56
56
  }>> & {
57
57
  onClick?: ((data: import("../../data-model/data-table/composables").ColumnEventData) => any) | undefined;
58
58
  }, {
59
- readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "default" | "text" | "success" | "warning" | "info" | "primary" | "danger", unknown>;
59
+ readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>;
60
60
  }, {}>;
61
61
  export default ColumnLink;
62
62
  export * from "./column-link-options";
@@ -137,13 +137,13 @@ declare const _default: import("vue").DefineComponent<{
137
137
  __mkPropKey: true;
138
138
  };
139
139
  }>>, {
140
- readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "success" | "warning" | "info" | "danger", unknown>;
141
140
  readonly options: {
142
141
  label: string;
143
142
  value: any;
144
143
  color: string;
145
144
  type: "" | "success" | "warning" | "info" | "danger";
146
145
  }[];
146
+ readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "success" | "warning" | "info" | "danger", unknown>;
147
147
  readonly width: string;
148
148
  readonly color: string;
149
149
  readonly round: import("@maketribe/utils").PropMergeType<BooleanConstructor, unknown, unknown>;
@@ -137,13 +137,13 @@ export declare const MKColumnTag: import("vue").DefineComponent<{
137
137
  __mkPropKey: true;
138
138
  };
139
139
  }>>, {
140
- readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "success" | "warning" | "info" | "danger", unknown>;
141
140
  readonly options: {
142
141
  label: string;
143
142
  value: any;
144
143
  color: string;
145
144
  type: "" | "success" | "warning" | "info" | "danger";
146
145
  }[];
146
+ readonly type: import("@maketribe/utils").PropMergeType<unknown, "" | "success" | "warning" | "info" | "danger", unknown>;
147
147
  readonly width: string;
148
148
  readonly color: string;
149
149
  readonly round: import("@maketribe/utils").PropMergeType<BooleanConstructor, unknown, unknown>;
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, unref, createVNode, Fragment, createTextVNode } from 'vue';
1
+ import { defineComponent, computed, unref, watch, createVNode, Fragment, createTextVNode } from 'vue';
2
2
  import { ElCard, ElButton } from 'element-plus';
3
3
  import { MKButton } from '../../../../button/index.js';
4
4
  import { MKTableClassifySearch } from './classify-search/index.js';
@@ -16,6 +16,14 @@ var TableView = /* @__PURE__ */ defineComponent({
16
16
  }) {
17
17
  const dataTable = computed(() => props.dataTable);
18
18
  const pageSizes = computed(() => unref(dataTable).pageSizes);
19
+ watch(dataTable, (dataTable2) => {
20
+ const dataFilter = dataTable2.dataFilter;
21
+ if (dataFilter.getColumns().length === 0) {
22
+ dataFilter.setReady();
23
+ }
24
+ }, {
25
+ immediate: true
26
+ });
19
27
  return () => {
20
28
  const pagination = slots.pagination?.({
21
29
  dataTable: unref(dataTable)
@@ -46,7 +54,7 @@ var TableView = /* @__PURE__ */ defineComponent({
46
54
  "class": "header-box-main"
47
55
  }, null), createVNode("div", {
48
56
  "class": "header-box-tools"
49
- }, [createVNode(MKDataFilterPopover, {
57
+ }, [_dataTable.dataFilter.getColumns().length ? createVNode(MKDataFilterPopover, {
50
58
  "dataTable": _dataTable
51
59
  }, {
52
60
  default: () => [createVNode(ElButton, null, {
@@ -54,7 +62,7 @@ var TableView = /* @__PURE__ */ defineComponent({
54
62
  "iconClass": "Filter"
55
63
  }, null)]
56
64
  })]
57
- }), buttons])]);
65
+ }) : null, buttons])]);
58
66
  } else {
59
67
  tools = createVNode("div", {
60
68
  "class": "mk-table-view__selection-tip"
@@ -1 +1 @@
1
- {"version":3,"file":"table-view.js","sources":["../../../../../../../src/components/data-model/data-table/views/table-view/table-view.tsx"],"sourcesContent":["import { Fragment, VNode, computed, defineComponent, unref } from \"vue\";\nimport { ElButton, ElCard } from \"element-plus\";\n\nimport { MKButton } from \"../../../../button\";\nimport { MKTableClassifySearch } from \"./classify-search\";\nimport { MKDataTablePagination } from \"../../../data-table-pagination\";\nimport { MKDataFilterPopover } from \"../../../data-filter-popover\";\nimport { MKSvgIcon } from \"../../../../svg-icon\";\nimport { MKTable } from \"../table\";\nimport { tableViewProps } from \"./table-view-options\";\n\nexport default defineComponent({\n name: \"MKTableView\",\n props: tableViewProps,\n setup(props, { slots }) {\n const dataTable = computed(() => props.dataTable);\n\n const pageSizes = computed(() => unref(dataTable).pageSizes);\n\n return () => {\n const pagination =\n slots.pagination?.({ dataTable: unref(dataTable) }) ||\n (unref(pageSizes).length ? (\n <MKDataTablePagination dataTable={unref(dataTable)} />\n ) : null);\n\n return (\n <ElCard\n class=\"mk-table-view\"\n v-slots={{\n header: () => {\n const _dataTable = unref(dataTable);\n\n const buttons = _dataTable.buttonTools\n .filter((button) => button.predicate())\n .map((button) => (\n <MKButton button={button} onClick={() => button.handler()} />\n ));\n\n let classifySearch: any = slots[\"classify-search\"]?.() ?? null;\n if (\n !classifySearch &&\n _dataTable.classifySearch.getClassifySearchItems().length\n ) {\n classifySearch = <MKTableClassifySearch />;\n }\n\n let tools: VNode;\n\n if (!_dataTable.getSelection().length) {\n tools = (\n <Fragment>\n <div class=\"header-box-main\"></div>\n <div class=\"header-box-tools\">\n <MKDataFilterPopover dataTable={_dataTable}>\n <ElButton>\n <MKSvgIcon iconClass=\"Filter\" />\n </ElButton>\n </MKDataFilterPopover>\n {buttons}\n </div>\n </Fragment>\n );\n } else {\n tools = (\n <div class=\"mk-table-view__selection-tip\">\n <div class=\"mk-table-view__selection-tip-left\">\n <span>\n 已选中\n <span class=\"selection-count\">\n {_dataTable.getSelection().length}\n </span>\n 项\n </span>\n </div>\n <div class=\"mk-table-view__selection-tip-right\">\n {_dataTable.batchActionButtonTools.map((button) => (\n <MKButton\n link\n button={button}\n onClick={() => button.handler()}\n />\n ))}\n <ElButton\n link\n onClick={() => _dataTable.clearSelection()}\n >\n 取消选择\n </ElButton>\n </div>\n </div>\n );\n }\n\n return (\n <Fragment>\n {classifySearch}\n <div class=\"mk-table-view__header header-box\">{tools}</div>\n </Fragment>\n );\n },\n }}\n >\n {slots.default?.({ dataTable: unref(dataTable) }) || (\n <MKTable dataTable={unref(dataTable)} />\n )}\n {pagination}\n </ElCard>\n );\n };\n },\n});\n"],"names":["name","props","tableViewProps","setup","slots","dataTable","computed","pageSizes","unref","pagination","length","_createVNode","MKDataTablePagination","ElCard","default","MKTable","header","_dataTable","buttons","buttonTools","filter","button","predicate","map","MKButton","onClick","handler","classifySearch","getClassifySearchItems","MKTableClassifySearch","tools","getSelection","_Fragment","MKDataFilterPopover","ElButton","MKSvgIcon","_createTextVNode","batchActionButtonTools","clearSelection"],"mappings":"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"}
1
+ {"version":3,"file":"table-view.js","sources":["../../../../../../../src/components/data-model/data-table/views/table-view/table-view.tsx"],"sourcesContent":["import { Fragment, VNode, computed, defineComponent, unref, watch } from \"vue\";\nimport { ElButton, ElCard } from \"element-plus\";\n\nimport { MKButton } from \"../../../../button\";\nimport { MKTableClassifySearch } from \"./classify-search\";\nimport { MKDataTablePagination } from \"../../../data-table-pagination\";\nimport { MKDataFilterPopover } from \"../../../data-filter-popover\";\nimport { MKSvgIcon } from \"../../../../svg-icon\";\nimport { MKTable } from \"../table\";\nimport { tableViewProps } from \"./table-view-options\";\n\nexport default defineComponent({\n name: \"MKTableView\",\n props: tableViewProps,\n setup(props, { slots }) {\n const dataTable = computed(() => props.dataTable);\n\n const pageSizes = computed(() => unref(dataTable).pageSizes);\n\n watch(\n dataTable,\n (dataTable) => {\n const dataFilter = dataTable.dataFilter;\n\n if (dataFilter.getColumns().length === 0) {\n dataFilter.setReady();\n }\n },\n { immediate: true }\n );\n\n return () => {\n const pagination =\n slots.pagination?.({ dataTable: unref(dataTable) }) ||\n (unref(pageSizes).length ? (\n <MKDataTablePagination dataTable={unref(dataTable)} />\n ) : null);\n\n return (\n <ElCard\n class=\"mk-table-view\"\n v-slots={{\n header: () => {\n const _dataTable = unref(dataTable);\n\n const buttons = _dataTable.buttonTools\n .filter((button) => button.predicate())\n .map((button) => (\n <MKButton button={button} onClick={() => button.handler()} />\n ));\n\n let classifySearch: any = slots[\"classify-search\"]?.() ?? null;\n if (\n !classifySearch &&\n _dataTable.classifySearch.getClassifySearchItems().length\n ) {\n classifySearch = <MKTableClassifySearch />;\n }\n\n let tools: VNode;\n\n if (!_dataTable.getSelection().length) {\n tools = (\n <Fragment>\n <div class=\"header-box-main\"></div>\n <div class=\"header-box-tools\">\n {_dataTable.dataFilter.getColumns().length ? (\n <MKDataFilterPopover dataTable={_dataTable}>\n <ElButton>\n <MKSvgIcon iconClass=\"Filter\" />\n </ElButton>\n </MKDataFilterPopover>\n ) : null}\n {buttons}\n </div>\n </Fragment>\n );\n } else {\n tools = (\n <div class=\"mk-table-view__selection-tip\">\n <div class=\"mk-table-view__selection-tip-left\">\n <span>\n 已选中\n <span class=\"selection-count\">\n {_dataTable.getSelection().length}\n </span>\n 项\n </span>\n </div>\n <div class=\"mk-table-view__selection-tip-right\">\n {_dataTable.batchActionButtonTools.map((button) => (\n <MKButton\n link\n button={button}\n onClick={() => button.handler()}\n />\n ))}\n <ElButton\n link\n onClick={() => _dataTable.clearSelection()}\n >\n 取消选择\n </ElButton>\n </div>\n </div>\n );\n }\n\n return (\n <Fragment>\n {classifySearch}\n <div class=\"mk-table-view__header header-box\">{tools}</div>\n </Fragment>\n );\n },\n }}\n >\n {slots.default?.({ dataTable: unref(dataTable) }) || (\n <MKTable dataTable={unref(dataTable)} />\n )}\n {pagination}\n </ElCard>\n );\n };\n },\n});\n"],"names":["name","props","tableViewProps","setup","slots","dataTable","computed","pageSizes","unref","watch","dataFilter","getColumns","length","setReady","immediate","pagination","_createVNode","MKDataTablePagination","ElCard","default","MKTable","header","_dataTable","buttons","buttonTools","filter","button","predicate","map","MKButton","onClick","handler","classifySearch","getClassifySearchItems","MKTableClassifySearch","tools","getSelection","_Fragment","MKDataFilterPopover","ElButton","MKSvgIcon","_createTextVNode","batchActionButtonTools","clearSelection"],"mappings":"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"}
@@ -61,6 +61,11 @@ class ConfigForm extends DataForm {
61
61
  }
62
62
  ],
63
63
  componentInfo: this.resolveType(defaultType)
64
+ }),
65
+ new FormColumn({
66
+ name: "memo",
67
+ label: "\u5907\u6CE8",
68
+ defaultValue: ""
64
69
  })
65
70
  ]);
66
71
  this.dataChangeEvent.on(({ data }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigForm.js","sources":["../../../../src/dataview/config/ConfigForm.ts"],"sourcesContent":["import {\n DataForm,\n DataFormOptions,\n FormColumn,\n IComponents,\n} from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { ConfigComponents, ITypeResolver } from \"../../core\";\n\nexport type Config<T = any> = {\n id: string;\n key: string;\n type: string;\n value: T;\n};\n\nexport type ConfigFormOptions = DataFormOptions & {\n typeResolver?: ITypeResolver<Config>;\n configComponent?: IComponents;\n};\n\nexport class ConfigForm\n extends DataForm<Config>\n implements ITypeResolver<Config>\n{\n configComponent: IComponents;\n\n constructor(options: ConfigFormOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n\n this.configComponent = options.configComponent ?? new ConfigComponents();\n }\n\n protected async initialize() {\n await super.initialize();\n\n const defaultType = \"string\";\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"key\", label: \"配置键\", required: true }),\n new FormColumn({\n name: \"type\",\n label: \"类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: defaultType,\n required: true,\n componentProps: {\n options: [\n { value: \"string\", label: \"字符串\" },\n { value: \"int\", label: \"整数\" },\n { value: \"json\", label: \"JSON\" },\n ],\n onChange: () => {\n this.handleTypeChange(this.data);\n\n if (this.data) {\n this.data.value = null;\n }\n },\n },\n }),\n new FormColumn({\n name: \"value\",\n label: \"配置值\",\n required: true,\n defaultValue: null,\n rules: [\n {\n validator: (rule, value, callback) => {\n if (this.data?.type === \"json\") {\n try {\n JSON.parse(value);\n } catch (e) {\n callback(new Error(\"JSON格式错误\"));\n }\n }\n\n callback();\n },\n },\n ],\n componentInfo: this.resolveType(defaultType),\n }),\n ]);\n\n this.dataChangeEvent.on(({ data }) => {\n this.handleTypeChange(data);\n });\n }\n\n handleTypeChange(data: Config | null) {\n if (!data) {\n return;\n }\n\n const valueFormColumn = this.getColumn(\"value\")!;\n valueFormColumn.componentInfo =\n this.configComponent.resolveComponent(this.resolveItemType(data!)) ||\n this.configComponent.resolveComponent(\"MKFormInput\")!;\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n if (item.type !== \"json\") {\n try {\n value = JSON.parse(item.value);\n } catch (e) {}\n }\n\n return { ...item, value };\n }\n\n formatSubmitData(data: any) {\n return {\n ...data,\n value: data.type === \"json\" ? data.value : JSON.stringify(data.value),\n };\n }\n\n resolveType(type: string) {\n switch (type) {\n case \"int\":\n return \"MKConfigInputNumber\";\n case \"json\":\n return \"MKConfigJsonEditor\";\n default:\n return \"MKConfigInput\";\n }\n }\n\n resolveItemType(config: Config) {\n return this.resolveType(config.type);\n }\n}\n\ndefineDataForm(ConfigForm);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigForm.js","sources":["../../../../src/dataview/config/ConfigForm.ts"],"sourcesContent":["import {\n DataForm,\n DataFormOptions,\n FormColumn,\n IComponents,\n} from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { ConfigComponents, ITypeResolver } from \"../../core\";\n\nexport type Config<T = any> = {\n id: string;\n key: string;\n type: string;\n value: T;\n};\n\nexport type ConfigFormOptions = DataFormOptions & {\n typeResolver?: ITypeResolver<Config>;\n configComponent?: IComponents;\n};\n\nexport class ConfigForm\n extends DataForm<Config>\n implements ITypeResolver<Config>\n{\n configComponent: IComponents;\n\n constructor(options: ConfigFormOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n\n this.configComponent = options.configComponent ?? new ConfigComponents();\n }\n\n protected async initialize() {\n await super.initialize();\n\n const defaultType = \"string\";\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"key\", label: \"配置键\", required: true }),\n new FormColumn({\n name: \"type\",\n label: \"类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: defaultType,\n required: true,\n componentProps: {\n options: [\n { value: \"string\", label: \"字符串\" },\n { value: \"int\", label: \"整数\" },\n { value: \"json\", label: \"JSON\" },\n ],\n onChange: () => {\n this.handleTypeChange(this.data);\n\n if (this.data) {\n this.data.value = null;\n }\n },\n },\n }),\n new FormColumn({\n name: \"value\",\n label: \"配置值\",\n required: true,\n defaultValue: null,\n rules: [\n {\n validator: (rule, value, callback) => {\n if (this.data?.type === \"json\") {\n try {\n JSON.parse(value);\n } catch (e) {\n callback(new Error(\"JSON格式错误\"));\n }\n }\n\n callback();\n },\n },\n ],\n componentInfo: this.resolveType(defaultType),\n }),\n new FormColumn({\n name: \"memo\",\n label: \"备注\",\n defaultValue: \"\",\n }),\n ]);\n\n this.dataChangeEvent.on(({ data }) => {\n this.handleTypeChange(data);\n });\n }\n\n handleTypeChange(data: Config | null) {\n if (!data) {\n return;\n }\n\n const valueFormColumn = this.getColumn(\"value\")!;\n valueFormColumn.componentInfo =\n this.configComponent.resolveComponent(this.resolveItemType(data!)) ||\n this.configComponent.resolveComponent(\"MKFormInput\")!;\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n if (item.type !== \"json\") {\n try {\n value = JSON.parse(item.value);\n } catch (e) {}\n }\n\n return { ...item, value };\n }\n\n formatSubmitData(data: any) {\n return {\n ...data,\n value: data.type === \"json\" ? data.value : JSON.stringify(data.value),\n };\n }\n\n resolveType(type: string) {\n switch (type) {\n case \"int\":\n return \"MKConfigInputNumber\";\n case \"json\":\n return \"MKConfigJsonEditor\";\n default:\n return \"MKConfigInput\";\n }\n }\n\n resolveItemType(config: Config) {\n return this.resolveType(config.type);\n }\n}\n\ndefineDataForm(ConfigForm);\n"],"names":[],"mappings":"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"}
@@ -17,8 +17,8 @@ class ConfigTable extends DataTable {
17
17
  async initialize() {
18
18
  await super.initialize();
19
19
  this.setColumns([
20
- new TableColumn({ name: "id", label: "\u7F16\u53F7", visible: false }),
21
20
  new TableColumn({ name: "key", label: "\u914D\u7F6E\u952E" }),
21
+ new TableColumn({ name: "memo", label: "\u5907\u6CE8" }),
22
22
  new TableActionColumn()
23
23
  ]);
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigTable.js","sources":["../../../../src/dataview/config/ConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\nimport {\n DataTable,\n DataTableOptions,\n TableColumn,\n TableActionColumn,\n} from \"@maketribe/dm\";\nimport { Config } from \"./ConfigForm\";\nimport { R, ResponseConfig } from \"@maketribe/request\";\nimport { defineDataTable } from \"../../define-data-table\";\n\nexport class ConfigTable extends DataTable<Config> {\n private static _instance: ConfigTable | null = null;\n\n static get instance(): ConfigTable {\n if (!ConfigTable._instance) {\n ConfigTable._instance = new ConfigTable();\n ConfigTable._instance.dataFilter.setReady();\n }\n\n return ConfigTable._instance;\n }\n\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\n new TableColumn({ name: \"key\", label: \"配置键\" }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n try {\n value = JSON.parse(value);\n } catch (e) {}\n\n return { ...item, value };\n }\n\n static async loadConfig<T = any>(\n key: string\n ): Promise<ResponseConfig<R<Config<T>>>> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = ConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.allList({\n data: { condition: where },\n });\n\n return {\n ...response,\n data: {\n ...response.data,\n data: response.data.data?.[0] ?? null,\n },\n };\n }\n}\n\n(window as any).ConfigTable = ConfigTable;\n\ndefineDataTable(ConfigTable);\n"],"names":[],"mappings":";;;;AAWO,MAAM,oBAAoB,SAAkB,CAAA;AAAA,EACjD,OAAe,SAAgC,GAAA,IAAA,CAAA;AAAA,EAE/C,WAAW,QAAwB,GAAA;AACjC,IAAI,IAAA,CAAC,YAAY,SAAW,EAAA;AAC1B,MAAY,WAAA,CAAA,SAAA,GAAY,IAAI,WAAY,EAAA,CAAA;AACxC,MAAY,WAAA,CAAA,SAAA,CAAU,WAAW,QAAS,EAAA,CAAA;AAAA,KAC5C;AAEA,IAAA,OAAO,WAAY,CAAA,SAAA,CAAA;AAAA,GACrB;AAAA,EAEA,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,QAAU,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACtC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAI,YAAY,EAAE,IAAA,EAAM,MAAM,KAAO,EAAA,cAAA,EAAM,OAAS,EAAA,KAAA,EAAO,CAAA;AAAA,MAC3D,IAAI,WAAY,CAAA,EAAE,MAAM,KAAO,EAAA,KAAA,EAAO,sBAAO,CAAA;AAAA,MAC7C,IAAI,iBAAkB,EAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAAsB,EAAA;AAC/B,IAAA,IAAI,QAAQ,IAAK,CAAA,KAAA,CAAA;AAEjB,IAAI,IAAA;AACF,MAAQ,KAAA,GAAA,IAAA,CAAK,MAAM,KAAK,CAAA,CAAA;AAAA,aACjB,CAAG,EAAA;AAAA,KAAC;AAEb,IAAO,OAAA,EAAE,GAAG,IAAA,EAAM,KAAM,EAAA,CAAA;AAAA,GAC1B;AAAA,EAEA,aAAa,WACX,GACuC,EAAA;AACvC,IAAM,MAAA,KAAA,GAAQ,IAAI,KAAM,EAAA,CAAA;AAExB,IAAM,KAAA,CAAA,YAAA,CAAa,KAAO,EAAA,GAAA,EAAK,GAAG,CAAA,CAAA;AAElC,IAAM,MAAA,eAAA,GAAkB,YAAY,QAAS,CAAA,eAAA,CAAA;AAC7C,IAAM,MAAA,QAAA,GAAW,MAAM,eAAA,CAAgB,OAAQ,CAAA;AAAA,MAC7C,IAAA,EAAM,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,KAC1B,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,GAAG,QAAA;AAAA,MACH,IAAM,EAAA;AAAA,QACJ,GAAG,QAAS,CAAA,IAAA;AAAA,QACZ,IAAM,EAAA,QAAA,CAAS,IAAK,CAAA,IAAA,GAAO,CAAC,CAAK,IAAA,IAAA;AAAA,OACnC;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAA;AAEC,MAAA,CAAe,WAAc,GAAA,WAAA,CAAA;AAE9B,eAAA,CAAgB,WAAW,CAAA;;;;"}
1
+ {"version":3,"file":"ConfigTable.js","sources":["../../../../src/dataview/config/ConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\nimport {\n DataTable,\n DataTableOptions,\n TableColumn,\n TableActionColumn,\n} from \"@maketribe/dm\";\nimport { Config } from \"./ConfigForm\";\nimport { R, ResponseConfig } from \"@maketribe/request\";\nimport { defineDataTable } from \"../../define-data-table\";\n\nexport class ConfigTable extends DataTable<Config> {\n private static _instance: ConfigTable | null = null;\n\n static get instance(): ConfigTable {\n if (!ConfigTable._instance) {\n ConfigTable._instance = new ConfigTable();\n ConfigTable._instance.dataFilter.setReady();\n }\n\n return ConfigTable._instance;\n }\n\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-cfg\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new TableColumn({ name: \"key\", label: \"配置键\" }),\n new TableColumn({ name: \"memo\", label: \"备注\" }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: Config): Config {\n let value = item.value;\n\n try {\n value = JSON.parse(value);\n } catch (e) {}\n\n return { ...item, value };\n }\n\n static async loadConfig<T = any>(\n key: string\n ): Promise<ResponseConfig<R<Config<T>>>> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = ConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.allList({\n data: { condition: where },\n });\n\n return {\n ...response,\n data: {\n ...response.data,\n data: response.data.data?.[0] ?? null,\n },\n };\n }\n}\n\n(window as any).ConfigTable = ConfigTable;\n\ndefineDataTable(ConfigTable);\n"],"names":[],"mappings":";;;;AAWO,MAAM,oBAAoB,SAAkB,CAAA;AAAA,EACjD,OAAe,SAAgC,GAAA,IAAA,CAAA;AAAA,EAE/C,WAAW,QAAwB,GAAA;AACjC,IAAI,IAAA,CAAC,YAAY,SAAW,EAAA;AAC1B,MAAY,WAAA,CAAA,SAAA,GAAY,IAAI,WAAY,EAAA,CAAA;AACxC,MAAY,WAAA,CAAA,SAAA,CAAU,WAAW,QAAS,EAAA,CAAA;AAAA,KAC5C;AAEA,IAAA,OAAO,WAAY,CAAA,SAAA,CAAA;AAAA,GACrB;AAAA,EAEA,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,QAAU,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACtC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAI,WAAY,CAAA,EAAE,MAAM,KAAO,EAAA,KAAA,EAAO,sBAAO,CAAA;AAAA,MAC7C,IAAI,WAAY,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAO,gBAAM,CAAA;AAAA,MAC7C,IAAI,iBAAkB,EAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAAsB,EAAA;AAC/B,IAAA,IAAI,QAAQ,IAAK,CAAA,KAAA,CAAA;AAEjB,IAAI,IAAA;AACF,MAAQ,KAAA,GAAA,IAAA,CAAK,MAAM,KAAK,CAAA,CAAA;AAAA,aACjB,CAAG,EAAA;AAAA,KAAC;AAEb,IAAO,OAAA,EAAE,GAAG,IAAA,EAAM,KAAM,EAAA,CAAA;AAAA,GAC1B;AAAA,EAEA,aAAa,WACX,GACuC,EAAA;AACvC,IAAM,MAAA,KAAA,GAAQ,IAAI,KAAM,EAAA,CAAA;AAExB,IAAM,KAAA,CAAA,YAAA,CAAa,KAAO,EAAA,GAAA,EAAK,GAAG,CAAA,CAAA;AAElC,IAAM,MAAA,eAAA,GAAkB,YAAY,QAAS,CAAA,eAAA,CAAA;AAC7C,IAAM,MAAA,QAAA,GAAW,MAAM,eAAA,CAAgB,OAAQ,CAAA;AAAA,MAC7C,IAAA,EAAM,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,KAC1B,CAAA,CAAA;AAED,IAAO,OAAA;AAAA,MACL,GAAG,QAAA;AAAA,MACH,IAAM,EAAA;AAAA,QACJ,GAAG,QAAS,CAAA,IAAA;AAAA,QACZ,IAAM,EAAA,QAAA,CAAS,IAAK,CAAA,IAAA,GAAO,CAAC,CAAK,IAAA,IAAA;AAAA,OACnC;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAA;AAEC,MAAA,CAAe,WAAc,GAAA,WAAA,CAAA;AAE9B,eAAA,CAAgB,WAAW,CAAA;;;;"}
@@ -13,6 +13,15 @@ import '../department/DepartmentForm.js';
13
13
  import { DepartmentTable } from '../department/DepartmentTable.js';
14
14
  import '../department/DepartmentTree.js';
15
15
  import { EMAIL_PATTERN } from '../../constants/pattern.js';
16
+ import '../../components/upload-file/upload-file.js';
17
+ import { WebFileUploadContext } from '../../components/upload-file/context/WebFileUploadContext.js';
18
+ import '../../components/material-select/index.js';
19
+ import '../../components/upload-file/context/material-upload-context.js';
20
+ import '../../components/upload-file/context/material-upload-context-options.js';
21
+ import '../../components/upload-file/context/web-file-upload-context.js';
22
+ import '../../components/upload-file/context/web-file-upload-context-options.js';
23
+ import '../../components/upload-file/ui/upload-image/index.js';
24
+ import '../../components/upload-file/upload-file-options.js';
16
25
 
17
26
  class MemberForm extends DataForm {
18
27
  constructor(options = {}) {
@@ -37,7 +46,10 @@ class MemberForm extends DataForm {
37
46
  name: "avatar",
38
47
  label: "\u5934\u50CF",
39
48
  defaultValue: null,
40
- componentInfo: "MKFormImageUpload"
49
+ componentInfo: "MKFormImageUpload",
50
+ componentProps: {
51
+ uploadContext: new WebFileUploadContext()
52
+ }
41
53
  }),
42
54
  new FormColumn({
43
55
  name: "roles",
@@ -1 +1 @@
1
- {"version":3,"file":"MemberForm.js","sources":["../../../../src/dataview/member/MemberForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { RoleTable } from \"../role\";\nimport { DepartmentTable } from \"../department\";\nimport { WebFileUpload } from \"@maketribe/request\";\nimport { EMAIL_PATTERN } from \"../../constants\";\nimport { WebFileUploadContext } from \"../../components/upload-file\";\nexport type MemberResult = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport type Member = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string | null;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport class MemberForm<\n T extends MemberResult = MemberResult,\n F extends Member = Member\n> extends DataForm<T, F> {\n constructor(options: DataFormOptions = {}) {\n super({ name: \"ms-member\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"姓名\", required: true }),\n new FormColumn({ name: \"wechatNo\", label: \"微信号\", defaultValue: null }),\n new FormColumn({ name: \"nickName\", label: \"昵称\", required: true }),\n new FormColumn({\n name: \"email\",\n label: \"邮箱\",\n required: true,\n rules: [{ message: \"邮箱格式有误\", pattern: EMAIL_PATTERN }],\n }),\n new FormColumn({ name: \"phone\", label: \"手机号\", defaultValue: null }),\n new FormColumn({ name: \"account\", label: \"账号\", required: true }),\n new FormColumn({\n name: \"avatar\",\n label: \"头像\",\n defaultValue: null,\n componentInfo: \"MKFormImageUpload\",\n }),\n new FormColumn({\n name: \"roles\",\n label: \"角色\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new RoleTable(),\n },\n }),\n new FormColumn({\n name: \"depts\",\n label: \"部门\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new DepartmentTable(),\n },\n }),\n new FormColumn({ name: \"memo\", label: \"备注\" }),\n ]);\n }\n\n formatSubmitData(data: any) {\n const { roles, depts, ...rest } = data;\n\n const rolesArr = roles?.map((item: any) => {\n return { roleId: item };\n });\n const deptsArr = depts?.map((item: any) => {\n return { deptId: item };\n });\n return { ...rest, roles: rolesArr, depts: deptsArr };\n }\n\n formatItem(item: T): F {\n return {\n id: item.id,\n name: item.name || \"\",\n wechatNo: item.wechatNo || \"\",\n nickName: item.nickName || \"\",\n email: item.email || \"\",\n phone: item.phone || \"\",\n account: item.account || \"\",\n avatar: item.avatar,\n roles: item.roles?.map((role) => role.roleId),\n depts: item.depts?.map((department) => department.deptId),\n valid: item.valid,\n } as F;\n }\n}\n\ndefineDataForm(MemberForm);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemberForm.js","sources":["../../../../src/dataview/member/MemberForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { RoleTable } from \"../role\";\nimport { DepartmentTable } from \"../department\";\nimport { EMAIL_PATTERN } from \"../../constants\";\nimport { WebFileUploadContext } from \"../../components/upload-file\";\nexport type MemberResult = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport type Member = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n phone: string;\n account: string;\n avatar: string | null;\n roles: any[];\n depts: any[];\n valid: number;\n};\n\nexport class MemberForm<\n T extends MemberResult = MemberResult,\n F extends Member = Member\n> extends DataForm<T, F> {\n constructor(options: DataFormOptions = {}) {\n super({ name: \"ms-member\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"姓名\", required: true }),\n new FormColumn({ name: \"wechatNo\", label: \"微信号\", defaultValue: null }),\n new FormColumn({ name: \"nickName\", label: \"昵称\", required: true }),\n new FormColumn({\n name: \"email\",\n label: \"邮箱\",\n required: true,\n rules: [{ message: \"邮箱格式有误\", pattern: EMAIL_PATTERN }],\n }),\n new FormColumn({ name: \"phone\", label: \"手机号\", defaultValue: null }),\n new FormColumn({ name: \"account\", label: \"账号\", required: true }),\n new FormColumn({\n name: \"avatar\",\n label: \"头像\",\n defaultValue: null,\n componentInfo: \"MKFormImageUpload\",\n componentProps: {\n uploadContext: new WebFileUploadContext(),\n }\n }),\n new FormColumn({\n name: \"roles\",\n label: \"角色\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new RoleTable(),\n },\n }),\n new FormColumn({\n name: \"depts\",\n label: \"部门\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n labelFieldName: \"name\",\n dataTable: new DepartmentTable(),\n },\n }),\n new FormColumn({ name: \"memo\", label: \"备注\" }),\n ]);\n }\n\n formatSubmitData(data: any) {\n const { roles, depts, ...rest } = data;\n\n const rolesArr = roles?.map((item: any) => {\n return { roleId: item };\n });\n const deptsArr = depts?.map((item: any) => {\n return { deptId: item };\n });\n return { ...rest, roles: rolesArr, depts: deptsArr };\n }\n\n formatItem(item: T): F {\n return {\n id: item.id,\n name: item.name || \"\",\n wechatNo: item.wechatNo || \"\",\n nickName: item.nickName || \"\",\n email: item.email || \"\",\n phone: item.phone || \"\",\n account: item.account || \"\",\n avatar: item.avatar,\n roles: item.roles?.map((role) => role.roleId),\n depts: item.depts?.map((department) => department.deptId),\n valid: item.valid,\n } as F;\n }\n}\n\ndefineDataForm(MemberForm);\n"],"names":[],"mappings":"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"}
@@ -87,6 +87,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
87
87
  ]
88
88
  ),
89
89
  ([_dataTable, _dataForm, name]) => {
90
+ isShowDialog.value = false;
90
91
  dataTable.value = _dataTable || DataModelDefines.instance.getDataTable(name);
91
92
  dataForm.value = _dataForm || DataModelDefines.instance.getDataForm(name);
92
93
  },
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/dialog.vue"],"sourcesContent":["<template>\n <MKDataTablePage v-if=\"dataTable\" :data-table=\"dataTable\" selection />\n\n <ElDialog v-if=\"dataForm\" appendToBody v-model=\"isShowDialog\">\n <MKDataForm v-loading=\"dataForm.loading\" :dataForm=\"dataForm\">\n <MKForm :dataForm=\"dataForm\" />\n </MKDataForm>\n\n <template #footer>\n <ElButton\n type=\"primary\"\n :loading=\"dataForm.loading\"\n @click=\"handleSubmit\"\n >\n {{ I18n.instance.translate(\"mk.dataForm.saveButton\") }}\n </ElButton>\n <ElButton @click=\"handleCancel\">\n {{ I18n.instance.translate(\"mk.dataForm.cancelButton\") }}\n </ElButton>\n </template>\n </ElDialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { unref, computed, watch, ref, Ref, nextTick } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { ElMessage, ElDialog, ElButton } from \"element-plus\";\nimport { I18n } from \"@maketribe/locale\";\nimport { DataForm, DataTable, Dialoger, Messager } from \"@maketribe/dm\";\nimport {\n MKDataTablePage,\n MKDataForm,\n MKForm,\n} from \"../../../../../../components\";\nimport { DataModelDefines } from \"../../../../../../core\";\n\nconst props = defineProps({\n dataTable: { type: DataTable<any> },\n dataForm: { type: DataForm<any> },\n});\n\nconst router = useRouter();\n\nconst isShowDialog = ref(false);\n\nconst dataTable: Ref<DataTable | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nwatch(\n computed(\n () =>\n [\n props.dataTable,\n props.dataForm,\n unref(router.currentRoute).meta.name,\n ] as [DataTable, DataForm, string]\n ),\n ([_dataTable, _dataForm, name]) => {\n dataTable.value =\n _dataTable || DataModelDefines.instance.getDataTable(name);\n dataForm.value = _dataForm || DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nwatch(\n dataTable,\n (dataTable, _, onCleanup) => {\n if (dataTable) {\n dataTable.addRecordEvent.on(async () => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDialog.value = true;\n\n _dataForm.addRecord();\n });\n\n dataTable.editRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDialog.value = true;\n\n try {\n const response = await _dataForm.editRecord(\n item[dataTable.primaryKey]\n );\n\n if (response.data.code !== 200) {\n ElMessage.error(response.data.msg);\n isShowDialog.value = false;\n return;\n }\n } catch (e) {\n console.error(e);\n isShowDialog.value = false;\n }\n });\n }\n\n onCleanup(() => {\n dataTable?.clearSelection();\n dataTable?.dispose();\n });\n },\n { immediate: true }\n);\n\nconst handleSubmit = async () => {\n try {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n return;\n }\n\n if (!(await _dataForm.validate())) {\n return;\n }\n\n const response = await _dataForm.submit();\n\n if (response.data.code !== 200) {\n ElMessage.error({ message: response.data.msg });\n return;\n }\n\n unref(dataTable)?.load();\n ElMessage.success({\n message: I18n.instance.translate(\"mk.message.saveSuccess\"),\n });\n\n isShowDialog.value = false;\n } catch (e) {\n ElMessage.error({\n message: I18n.instance.translate(\"mk.message.saveError\"),\n });\n }\n};\n\nconst handleCancel = () => {\n unref(dataForm)?.cancel();\n isShowDialog.value = false;\n};\n</script>\n"],"names":["dataTable"],"mappings":"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"}
1
+ {"version":3,"file":"dialog.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/dialog.vue"],"sourcesContent":["<template>\n <MKDataTablePage v-if=\"dataTable\" :data-table=\"dataTable\" selection />\n\n <ElDialog v-if=\"dataForm\" appendToBody v-model=\"isShowDialog\">\n <MKDataForm v-loading=\"dataForm.loading\" :dataForm=\"dataForm\">\n <MKForm :dataForm=\"dataForm\" />\n </MKDataForm>\n\n <template #footer>\n <ElButton\n type=\"primary\"\n :loading=\"dataForm.loading\"\n @click=\"handleSubmit\"\n >\n {{ I18n.instance.translate(\"mk.dataForm.saveButton\") }}\n </ElButton>\n <ElButton @click=\"handleCancel\">\n {{ I18n.instance.translate(\"mk.dataForm.cancelButton\") }}\n </ElButton>\n </template>\n </ElDialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { unref, computed, watch, ref, Ref, nextTick } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { ElMessage, ElDialog, ElButton } from \"element-plus\";\nimport { I18n } from \"@maketribe/locale\";\nimport { DataForm, DataTable, Dialoger, Messager } from \"@maketribe/dm\";\nimport {\n MKDataTablePage,\n MKDataForm,\n MKForm,\n} from \"../../../../../../components\";\nimport { DataModelDefines } from \"../../../../../../core\";\n\nconst props = defineProps({\n dataTable: { type: DataTable<any> },\n dataForm: { type: DataForm<any> },\n});\n\nconst router = useRouter();\n\nconst isShowDialog = ref(false);\n\nconst dataTable: Ref<DataTable | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nwatch(\n computed(\n () =>\n [\n props.dataTable,\n props.dataForm,\n unref(router.currentRoute).meta.name,\n ] as [DataTable, DataForm, string]\n ),\n ([_dataTable, _dataForm, name]) => {\n isShowDialog.value = false;\n dataTable.value =\n _dataTable || DataModelDefines.instance.getDataTable(name);\n dataForm.value = _dataForm || DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nwatch(\n dataTable,\n (dataTable, _, onCleanup) => {\n if (dataTable) {\n dataTable.addRecordEvent.on(async () => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDialog.value = true;\n\n _dataForm.addRecord();\n });\n\n dataTable.editRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDialog.value = true;\n\n try {\n const response = await _dataForm.editRecord(\n item[dataTable.primaryKey]\n );\n\n if (response.data.code !== 200) {\n ElMessage.error(response.data.msg);\n isShowDialog.value = false;\n return;\n }\n } catch (e) {\n console.error(e);\n isShowDialog.value = false;\n }\n });\n }\n\n onCleanup(() => {\n dataTable?.clearSelection();\n dataTable?.dispose();\n });\n },\n { immediate: true }\n);\n\nconst handleSubmit = async () => {\n try {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n return;\n }\n\n if (!(await _dataForm.validate())) {\n return;\n }\n\n const response = await _dataForm.submit();\n\n if (response.data.code !== 200) {\n ElMessage.error({ message: response.data.msg });\n return;\n }\n\n unref(dataTable)?.load();\n ElMessage.success({\n message: I18n.instance.translate(\"mk.message.saveSuccess\"),\n });\n\n isShowDialog.value = false;\n } catch (e) {\n ElMessage.error({\n message: I18n.instance.translate(\"mk.message.saveError\"),\n });\n }\n};\n\nconst handleCancel = () => {\n unref(dataForm)?.cancel();\n isShowDialog.value = false;\n};\n</script>\n"],"names":["dataTable"],"mappings":"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"}
@@ -86,6 +86,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
86
86
  ]
87
87
  ),
88
88
  ([_dataTable, _dataForm, name]) => {
89
+ isShowDataForm.value = false;
89
90
  dataTable.value = _dataTable || DataModelDefines.instance.getDataTable(name);
90
91
  dataForm.value = _dataForm || DataModelDefines.instance.getDataForm(name);
91
92
  },
@@ -1 +1 @@
1
- {"version":3,"file":"normal.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/normal.vue"],"sourcesContent":["<template>\n <MKDataTablePage\n v-if=\"dataTable\"\n v-show=\"!isShowDataForm\"\n :data-table=\"dataTable\"\n selection\n />\n <MKDataFormPage\n v-if=\"dataForm\"\n v-show=\"isShowDataForm\"\n :data-form=\"dataForm\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { unref, computed, watch, ref, Ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { ElMessage } from \"element-plus\";\nimport { I18n } from \"@maketribe/locale\";\nimport { DataForm, DataTable, Dialoger, Messager } from \"@maketribe/dm\";\nimport { MKDataTablePage, MKDataFormPage } from \"../../../../../../components\";\nimport { DataModelDefines } from \"../../../../../../core\";\n\nconst props = defineProps({\n dataTable: { type: DataTable<any> },\n dataForm: { type: DataForm<any> },\n});\n\nconst router = useRouter();\n\nconst isShowDataForm = ref(false);\n\nconst dataTable: Ref<DataTable | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nwatch(\n computed(\n () =>\n [\n props.dataTable,\n props.dataForm,\n unref(router.currentRoute).meta.name,\n ] as [DataTable, DataForm, string]\n ),\n ([_dataTable, _dataForm, name]) => {\n dataTable.value =\n _dataTable || DataModelDefines.instance.getDataTable(name);\n dataForm.value = _dataForm || DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nwatch(\n dataTable,\n (dataTable, _, onCleanup) => {\n if (dataTable) {\n dataTable.addRecordEvent.on(() => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n _dataForm.addRecord();\n });\n\n dataTable.editRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n try {\n const response = await _dataForm.editRecord(\n item[dataTable.primaryKey]\n );\n\n if (response.data.code !== 200) {\n ElMessage.error(response.data.msg);\n isShowDataForm.value = false;\n return;\n }\n } catch (e) {\n console.error(e);\n isShowDataForm.value = false;\n }\n });\n }\n\n onCleanup(() => {\n dataTable?.clearSelection();\n dataTable?.dispose();\n });\n },\n { immediate: true }\n);\n\nwatch(\n dataForm,\n (dataForm, _, onCleanup) => {\n if (dataForm) {\n dataForm.submittedEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(dataTable)?.load();\n });\n\n dataForm.cancelEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(dataTable)?.load();\n });\n }\n\n onCleanup(() => {\n dataForm?.dispose();\n });\n },\n { immediate: true }\n);\n</script>\n"],"names":["dataTable","dataForm"],"mappings":"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"}
1
+ {"version":3,"file":"normal.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/normal.vue"],"sourcesContent":["<template>\n <MKDataTablePage\n v-if=\"dataTable\"\n v-show=\"!isShowDataForm\"\n :data-table=\"dataTable\"\n selection\n />\n <MKDataFormPage\n v-if=\"dataForm\"\n v-show=\"isShowDataForm\"\n :data-form=\"dataForm\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { unref, computed, watch, ref, Ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { ElMessage } from \"element-plus\";\nimport { DataForm, DataTable, Dialoger, Messager } from \"@maketribe/dm\";\nimport { MKDataTablePage, MKDataFormPage } from \"../../../../../../components\";\nimport { DataModelDefines } from \"../../../../../../core\";\n\nconst props = defineProps({\n dataTable: { type: DataTable<any> },\n dataForm: { type: DataForm<any> },\n});\n\nconst router = useRouter();\n\nconst isShowDataForm = ref(false);\n\nconst dataTable: Ref<DataTable | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nwatch(\n computed(\n () =>\n [\n props.dataTable,\n props.dataForm,\n unref(router.currentRoute).meta.name,\n ] as [DataTable, DataForm, string]\n ),\n ([_dataTable, _dataForm, name]) => {\n isShowDataForm.value = false;\n dataTable.value =\n _dataTable || DataModelDefines.instance.getDataTable(name);\n dataForm.value = _dataForm || DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nwatch(\n dataTable,\n (dataTable, _, onCleanup) => {\n if (dataTable) {\n dataTable.addRecordEvent.on(() => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n _dataForm.addRecord();\n });\n\n dataTable.editRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n try {\n const response = await _dataForm.editRecord(\n item[dataTable.primaryKey]\n );\n\n if (response.data.code !== 200) {\n ElMessage.error(response.data.msg);\n isShowDataForm.value = false;\n return;\n }\n } catch (e) {\n console.error(e);\n isShowDataForm.value = false;\n }\n });\n }\n\n onCleanup(() => {\n dataTable?.clearSelection();\n dataTable?.dispose();\n });\n },\n { immediate: true }\n);\n\nwatch(\n dataForm,\n (dataForm, _, onCleanup) => {\n if (dataForm) {\n dataForm.submittedEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(dataTable)?.load();\n });\n\n dataForm.cancelEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(dataTable)?.load();\n });\n }\n\n onCleanup(() => {\n dataForm?.dispose();\n });\n },\n { immediate: true }\n);\n</script>\n"],"names":["dataTable","dataForm"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maketribe/ms-app",
3
- "version": "3.0.25",
3
+ "version": "3.0.27",
4
4
  "description": "",
5
5
  "main": "dist/cjs",
6
6
  "files": [
@@ -22,7 +22,7 @@
22
22
  "vue-router": "^4.2.4",
23
23
  "@maketribe/dm": "^3.0.11",
24
24
  "@maketribe/locale": "^1.0.5",
25
- "@maketribe/request": "^1.1.12",
25
+ "@maketribe/request": "^2.0.2",
26
26
  "@maketribe/utils": "^1.1.4"
27
27
  },
28
28
  "scripts": {
@@ -1,4 +1,4 @@
1
- import { Fragment, VNode, computed, defineComponent, unref } from "vue";
1
+ import { Fragment, VNode, computed, defineComponent, unref, watch } from "vue";
2
2
  import { ElButton, ElCard } from "element-plus";
3
3
 
4
4
  import { MKButton } from "../../../../button";
@@ -17,6 +17,18 @@ export default defineComponent({
17
17
 
18
18
  const pageSizes = computed(() => unref(dataTable).pageSizes);
19
19
 
20
+ watch(
21
+ dataTable,
22
+ (dataTable) => {
23
+ const dataFilter = dataTable.dataFilter;
24
+
25
+ if (dataFilter.getColumns().length === 0) {
26
+ dataFilter.setReady();
27
+ }
28
+ },
29
+ { immediate: true }
30
+ );
31
+
20
32
  return () => {
21
33
  const pagination =
22
34
  slots.pagination?.({ dataTable: unref(dataTable) }) ||
@@ -52,11 +64,13 @@ export default defineComponent({
52
64
  <Fragment>
53
65
  <div class="header-box-main"></div>
54
66
  <div class="header-box-tools">
55
- <MKDataFilterPopover dataTable={_dataTable}>
56
- <ElButton>
57
- <MKSvgIcon iconClass="Filter" />
58
- </ElButton>
59
- </MKDataFilterPopover>
67
+ {_dataTable.dataFilter.getColumns().length ? (
68
+ <MKDataFilterPopover dataTable={_dataTable}>
69
+ <ElButton>
70
+ <MKSvgIcon iconClass="Filter" />
71
+ </ElButton>
72
+ </MKDataFilterPopover>
73
+ ) : null}
60
74
  {buttons}
61
75
  </div>
62
76
  </Fragment>
@@ -81,6 +81,11 @@ export class ConfigForm
81
81
  ],
82
82
  componentInfo: this.resolveType(defaultType),
83
83
  }),
84
+ new FormColumn({
85
+ name: "memo",
86
+ label: "备注",
87
+ defaultValue: "",
88
+ }),
84
89
  ]);
85
90
 
86
91
  this.dataChangeEvent.on(({ data }) => {
@@ -29,8 +29,8 @@ export class ConfigTable extends DataTable<Config> {
29
29
  await super.initialize();
30
30
 
31
31
  this.setColumns([
32
- new TableColumn({ name: "id", label: "编号", visible: false }),
33
32
  new TableColumn({ name: "key", label: "配置键" }),
33
+ new TableColumn({ name: "memo", label: "备注" }),
34
34
  new TableActionColumn(),
35
35
  ]);
36
36
  }
@@ -2,7 +2,6 @@ import { DataForm, DataFormOptions, FormColumn } from "@maketribe/dm";
2
2
  import { defineDataForm } from "../../define-data-form";
3
3
  import { RoleTable } from "../role";
4
4
  import { DepartmentTable } from "../department";
5
- import { WebFileUpload } from "@maketribe/request";
6
5
  import { EMAIL_PATTERN } from "../../constants";
7
6
  import { WebFileUploadContext } from "../../components/upload-file";
8
7
  export type MemberResult = {
@@ -62,6 +61,9 @@ export class MemberForm<
62
61
  label: "头像",
63
62
  defaultValue: null,
64
63
  componentInfo: "MKFormImageUpload",
64
+ componentProps: {
65
+ uploadContext: new WebFileUploadContext(),
66
+ }
65
67
  }),
66
68
  new FormColumn({
67
69
  name: "roles",
@@ -56,6 +56,7 @@ watch(
56
56
  ] as [DataTable, DataForm, string]
57
57
  ),
58
58
  ([_dataTable, _dataForm, name]) => {
59
+ isShowDialog.value = false;
59
60
  dataTable.value =
60
61
  _dataTable || DataModelDefines.instance.getDataTable(name);
61
62
  dataForm.value = _dataForm || DataModelDefines.instance.getDataForm(name);
@@ -16,7 +16,6 @@
16
16
  import { unref, computed, watch, ref, Ref } from "vue";
17
17
  import { useRouter } from "vue-router";
18
18
  import { ElMessage } from "element-plus";
19
- import { I18n } from "@maketribe/locale";
20
19
  import { DataForm, DataTable, Dialoger, Messager } from "@maketribe/dm";
21
20
  import { MKDataTablePage, MKDataFormPage } from "../../../../../../components";
22
21
  import { DataModelDefines } from "../../../../../../core";
@@ -43,6 +42,7 @@ watch(
43
42
  ] as [DataTable, DataForm, string]
44
43
  ),
45
44
  ([_dataTable, _dataForm, name]) => {
45
+ isShowDataForm.value = false;
46
46
  dataTable.value =
47
47
  _dataTable || DataModelDefines.instance.getDataTable(name);
48
48
  dataForm.value = _dataForm || DataModelDefines.instance.getDataForm(name);