@maketribe/ms-app 3.0.24 → 3.0.26

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 (54) 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/layouts/components/dialogs/dialogs.d.ts +2 -0
  7. package/dist/cjs/layouts/components/dialogs/dialogs.js +66 -0
  8. package/dist/cjs/layouts/components/dialogs/dialogs.js.map +1 -0
  9. package/dist/cjs/layouts/components/dialogs/index.d.ts +2 -0
  10. package/dist/cjs/layouts/components/dialogs/index.js +11 -0
  11. package/dist/cjs/layouts/components/dialogs/index.js.map +1 -0
  12. package/dist/cjs/layouts/components/index.d.ts +1 -0
  13. package/dist/cjs/layouts/components/index.js +2 -0
  14. package/dist/cjs/layouts/components/index.js.map +1 -1
  15. package/dist/cjs/layouts/container/default.js +2 -1
  16. package/dist/cjs/layouts/container/default.js.map +1 -1
  17. package/dist/cjs/message-impl/DialogerImpl.d.ts +5 -1
  18. package/dist/cjs/message-impl/DialogerImpl.js +37 -0
  19. package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
  20. package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +1 -0
  21. package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
  22. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +1 -0
  23. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
  24. package/dist/esm/components/column-components/column-link/column-link-options.d.ts +1 -1
  25. package/dist/esm/components/column-components/column-link/column-link.d.ts +3 -3
  26. package/dist/esm/components/column-components/column-link/index.d.ts +3 -3
  27. package/dist/esm/components/column-components/column-tag/column-tag.d.ts +1 -1
  28. package/dist/esm/components/column-components/column-tag/index.d.ts +1 -1
  29. package/dist/esm/layouts/components/dialogs/dialogs.d.ts +2 -0
  30. package/dist/esm/layouts/components/dialogs/dialogs.js +64 -0
  31. package/dist/esm/layouts/components/dialogs/dialogs.js.map +1 -0
  32. package/dist/esm/layouts/components/dialogs/index.d.ts +2 -0
  33. package/dist/esm/layouts/components/dialogs/index.js +6 -0
  34. package/dist/esm/layouts/components/dialogs/index.js.map +1 -0
  35. package/dist/esm/layouts/components/index.d.ts +1 -0
  36. package/dist/esm/layouts/components/index.js +1 -0
  37. package/dist/esm/layouts/components/index.js.map +1 -1
  38. package/dist/esm/layouts/container/default.js +2 -1
  39. package/dist/esm/layouts/container/default.js.map +1 -1
  40. package/dist/esm/message-impl/DialogerImpl.d.ts +5 -1
  41. package/dist/esm/message-impl/DialogerImpl.js +37 -0
  42. package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
  43. package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +1 -0
  44. package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
  45. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +1 -0
  46. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
  47. package/package.json +4 -4
  48. package/src/layouts/components/dialogs/dialogs.tsx +100 -0
  49. package/src/layouts/components/dialogs/index.ts +5 -0
  50. package/src/layouts/components/index.ts +1 -0
  51. package/src/layouts/container/default.tsx +2 -1
  52. package/src/message-impl/DialogerImpl.ts +58 -1
  53. package/src/page/index/dv/default/single/list/dialog.vue +1 -0
  54. 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>;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
2
+ export default _default;
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var dm = require('@maketribe/dm');
5
+ var lodashEs = require('lodash-es');
6
+ var elementPlus = require('element-plus');
7
+
8
+ var Dialogs = /* @__PURE__ */ vue.defineComponent({
9
+ name: "MKDialogs",
10
+ setup(props) {
11
+ const dialogInstances = vue.ref([]);
12
+ const dialogImplInstance = dm.Dialoger.implInstance;
13
+ if (dialogImplInstance?.dialogInstanceCreateEvent && lodashEs.isFunction(dialogImplInstance.dialogInstanceCreateEvent.on)) {
14
+ dialogImplInstance.dialogInstanceCreateEvent.on((dialogInstance) => {
15
+ dialogInstance.destroyEvent.on(() => {
16
+ const index = dialogInstances.value.findIndex((instance) => dialogInstance.id === instance.id);
17
+ if (index === -1) {
18
+ return;
19
+ }
20
+ dialogInstances.value.splice(index, 1);
21
+ });
22
+ dialogInstances.value.push(dialogInstance);
23
+ });
24
+ }
25
+ const handleCancel = async (dialogInstance) => {
26
+ if (lodashEs.isFunction(dialogInstance.onCancel) ? await dialogInstance.onCancel() === false : false) {
27
+ return;
28
+ }
29
+ dialogInstance.visible = false;
30
+ };
31
+ const handleConfirm = async (dialogInstance) => {
32
+ if (lodashEs.isFunction(dialogInstance.onConfirm) ? await dialogInstance.onConfirm() === false : false) {
33
+ return;
34
+ }
35
+ dialogInstance.visible = false;
36
+ };
37
+ return () => {
38
+ const dialogs = vue.unref(dialogInstances).map((dialogInstance) => {
39
+ return vue.createVNode(elementPlus.ElDialog, {
40
+ "modelValue": dialogInstance.visible,
41
+ "onUpdate:modelValue": (visible) => dialogInstance.visible = visible,
42
+ "appendToBody": true,
43
+ "destroyOnClose": true,
44
+ "width": dialogInstance.width
45
+ }, {
46
+ header: () => lodashEs.isFunction(dialogInstance.header) ? dialogInstance.header?.() : dialogInstance.title || "",
47
+ default: () => dialogInstance.body(),
48
+ footer: () => lodashEs.isFunction(dialogInstance.footer) ? dialogInstance.footer?.() : vue.createVNode(vue.Fragment, null, [vue.createVNode(elementPlus.ElButton, {
49
+ "onClick": () => handleCancel(dialogInstance)
50
+ }, {
51
+ default: () => [dialogInstance.cancelButtonText ?? "\u53D6\u6D88"]
52
+ }), vue.createVNode(elementPlus.ElButton, {
53
+ "type": "primary",
54
+ "onClick": () => handleConfirm(dialogInstance)
55
+ }, {
56
+ default: () => [dialogInstance.confirmButtonText ?? "\u786E\u8BA4"]
57
+ })])
58
+ });
59
+ });
60
+ return vue.createVNode(vue.Fragment, null, [dialogs]);
61
+ };
62
+ }
63
+ });
64
+
65
+ module.exports = Dialogs;
66
+ //# sourceMappingURL=dialogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialogs.js","sources":["../../../../../src/layouts/components/dialogs/dialogs.tsx"],"sourcesContent":["import { Fragment, Ref, defineComponent, ref, unref } from \"vue\";\nimport { DialogInstance, Dialoger } from \"@maketribe/dm\";\nimport { DialogerImpl } from \"../../../message-impl\";\nimport { isFunction } from \"lodash-es\";\nimport { ElButton, ElDialog } from \"element-plus\";\n\nexport default defineComponent({\n name: \"MKDialogs\",\n setup(props) {\n const dialogInstances: Ref<DialogInstance[]> = ref([]);\n\n const dialogImplInstance = Dialoger.implInstance as DialogerImpl | null;\n\n if (\n dialogImplInstance?.dialogInstanceCreateEvent &&\n isFunction(dialogImplInstance.dialogInstanceCreateEvent.on)\n ) {\n dialogImplInstance.dialogInstanceCreateEvent.on((dialogInstance) => {\n dialogInstance.destroyEvent.on(() => {\n const index = dialogInstances.value.findIndex(\n (instance) => dialogInstance.id === instance.id\n );\n\n if (index === -1) {\n return;\n }\n\n dialogInstances.value.splice(index, 1);\n });\n\n dialogInstances.value.push(dialogInstance);\n });\n }\n\n const handleCancel = async (dialogInstance: DialogInstance) => {\n if (\n isFunction(dialogInstance.onCancel)\n ? (await dialogInstance.onCancel()) === false\n : false\n ) {\n return;\n }\n\n dialogInstance.visible = false;\n };\n\n const handleConfirm = async (dialogInstance: DialogInstance) => {\n if (\n isFunction(dialogInstance.onConfirm)\n ? (await dialogInstance.onConfirm()) === false\n : false\n ) {\n return;\n }\n\n dialogInstance.visible = false;\n };\n\n return () => {\n const dialogs = unref(dialogInstances).map((dialogInstance) => {\n return (\n <ElDialog\n modelValue={dialogInstance.visible}\n onUpdate:modelValue={(visible: boolean) =>\n (dialogInstance.visible = visible)\n }\n appendToBody\n destroyOnClose={true}\n width={dialogInstance.width}\n v-slots={{\n header: () =>\n isFunction(dialogInstance.header)\n ? dialogInstance.header?.()\n : dialogInstance.title || \"\",\n default: () => dialogInstance.body(),\n footer: () =>\n isFunction(dialogInstance.footer) ? (\n dialogInstance.footer?.()\n ) : (\n <Fragment>\n <ElButton onClick={() => handleCancel(dialogInstance)}>\n {dialogInstance.cancelButtonText ?? \"取消\"}\n </ElButton>\n <ElButton\n type=\"primary\"\n onClick={() => handleConfirm(dialogInstance)}\n >\n {dialogInstance.confirmButtonText ?? \"确认\"}\n </ElButton>\n </Fragment>\n ),\n }}\n />\n );\n });\n\n return <Fragment>{dialogs}</Fragment>;\n };\n },\n});\n"],"names":["defineComponent","name","setup","props","dialogInstances","ref","dialogImplInstance","Dialoger","implInstance","dialogInstanceCreateEvent","isFunction","on","dialogInstance","destroyEvent","index","value","findIndex","instance","id","splice","push","handleCancel","onCancel","visible","handleConfirm","onConfirm","dialogs","unref","map","_createVNode","ElDialog","width","header","title","default","body","footer","_Fragment","ElButton","onClick","cancelButtonText","confirmButtonText"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const MKDialogs: import("vue").DefineComponent<{}, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
2
+ export default MKDialogs;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var dialogs = require('./dialogs.js');
6
+
7
+ const MKDialogs = dialogs;
8
+
9
+ exports.MKDialogs = MKDialogs;
10
+ exports.default = MKDialogs;
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/layouts/components/dialogs/index.ts"],"sourcesContent":["import Dialogs from \"./dialogs\";\n\nexport const MKDialogs = Dialogs;\n\nexport default MKDialogs;\n"],"names":["Dialogs"],"mappings":";;;;;;AAEO,MAAM,SAAY,GAAAA;;;;;"}
@@ -1,2 +1,3 @@
1
1
  export * from "./bar";
2
2
  export * from "./menu";
3
+ export * from "./dialogs";
@@ -2,9 +2,11 @@
2
2
 
3
3
  var index = require('./bar/index.js');
4
4
  var index$1 = require('./menu/index.js');
5
+ var index$2 = require('./dialogs/index.js');
5
6
 
6
7
 
7
8
 
8
9
  exports.MKBar = index.MKBar;
9
10
  exports.MKMenu = index$1.MKMenu;
11
+ exports.MKDialogs = index$2.MKDialogs;
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -68,6 +68,7 @@ require('../../components/upload-file/ui/upload-image/index.js');
68
68
  require('../../components/upload-file/upload-file-options.js');
69
69
  var index$1 = require('../components/bar/index.js');
70
70
  var index$3 = require('../components/menu/index.js');
71
+ var index$4 = require('../components/dialogs/index.js');
71
72
  var index$2 = require('../components/header/index.js');
72
73
 
73
74
  function includeMenuNode(rootMenuNode, menuNode) {
@@ -133,7 +134,7 @@ const MKLayoutDefault = /* @__PURE__ */ vue.defineComponent({
133
134
  })]
134
135
  })]
135
136
  })]
136
- })]
137
+ }), vue.createVNode(index$4.MKDialogs, null, null)]
137
138
  });
138
139
  };
139
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sources":["../../../../src/layouts/container/default.tsx"],"sourcesContent":["import { Ref, defineComponent, ref, unref } from \"vue\";\nimport { RouterView, useRouter } from \"vue-router\";\nimport { ElAside, ElContainer, ElHeader, ElMain } from \"element-plus\";\nimport { MKSystemProvider } from \"../../components\";\nimport { MKBar, MKMenu } from \"../components\";\nimport { MenuNode } from \"../../core\";\nimport { MSAppClient } from \"../../core\";\nimport { MKHeader } from \"../components/header\";\nimport { createDisposable } from \"@maketribe/utils\";\n\nfunction includeMenuNode(rootMenuNode: MenuNode, menuNode: MenuNode) {\n let list = [rootMenuNode];\n\n for (let i = 0; i < list.length; i++) {\n const item = list[i];\n\n if (item.id === menuNode.id) {\n return true;\n }\n\n list = list.concat(item.children);\n }\n\n return false;\n}\n\nexport const MKLayoutDefault = defineComponent({\n name: \"MKLayoutDefault\",\n setup() {\n const msAppClient = MSAppClient.instance!;\n const userSession = msAppClient.userSession!;\n const menu = userSession.menu;\n const vueRouter = useRouter();\n\n const currentBarItem: Ref<MenuNode | null> = ref(null);\n\n handleCurrentMenuChange();\n menu.currentMenuChangeEvent.on(handleCurrentMenuChange);\n\n function handleCurrentMenuChange() {\n currentBarItem.value = menu.getCurrentMenuNode()\n ? menu.rootMenus.find((item) =>\n includeMenuNode(item, menu.getCurrentMenuNode()!)\n ) ?? null\n : null;\n }\n\n // 用户会话销毁就前往登录页面。\n userSession.register(\n createDisposable(() => {\n vueRouter.push({ name: \"login\" });\n })\n );\n\n return () => {\n return (\n <MKSystemProvider>\n <ElContainer class=\"mk-layout-default\">\n <ElAside>\n <MKBar barItem={unref(currentBarItem) as MenuNode} />\n </ElAside>\n <ElMain>\n <ElContainer class=\"mk-layout-default__body\">\n <ElHeader class=\"mk-layout-default__header\">\n <MKHeader />\n </ElHeader>\n <ElMain>\n <ElContainer class=\"mk-layout-default__main\">\n <ElAside class=\"mk-layout-default__menu\">\n <MKMenu barItem={unref(currentBarItem) as MenuNode} />\n </ElAside>\n <ElMain>\n <RouterView />\n </ElMain>\n </ElContainer>\n </ElMain>\n </ElContainer>\n </ElMain>\n </ElContainer>\n </MKSystemProvider>\n );\n };\n },\n});\n"],"names":["includeMenuNode","rootMenuNode","menuNode","list","i","length","item","id","concat","children","MKLayoutDefault","defineComponent","name","setup","msAppClient","MSAppClient","instance","userSession","menu","vueRouter","useRouter","currentBarItem","ref","handleCurrentMenuChange","currentMenuChangeEvent","on","value","getCurrentMenuNode","rootMenus","find","register","createDisposable","push","_createVNode","MKSystemProvider","default","ElContainer","ElAside","MKBar","unref","ElMain","ElHeader","MKHeader","MKMenu","RouterView"],"mappings":"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"}
1
+ {"version":3,"file":"default.js","sources":["../../../../src/layouts/container/default.tsx"],"sourcesContent":["import { Ref, defineComponent, ref, unref } from \"vue\";\nimport { RouterView, useRouter } from \"vue-router\";\nimport { ElAside, ElContainer, ElHeader, ElMain } from \"element-plus\";\nimport { MKSystemProvider } from \"../../components\";\nimport { MKBar, MKMenu, MKDialogs } from \"../components\";\nimport { MenuNode } from \"../../core\";\nimport { MSAppClient } from \"../../core\";\nimport { MKHeader } from \"../components/header\";\nimport { createDisposable } from \"@maketribe/utils\";\n\nfunction includeMenuNode(rootMenuNode: MenuNode, menuNode: MenuNode) {\n let list = [rootMenuNode];\n\n for (let i = 0; i < list.length; i++) {\n const item = list[i];\n\n if (item.id === menuNode.id) {\n return true;\n }\n\n list = list.concat(item.children);\n }\n\n return false;\n}\n\nexport const MKLayoutDefault = defineComponent({\n name: \"MKLayoutDefault\",\n setup() {\n const msAppClient = MSAppClient.instance!;\n const userSession = msAppClient.userSession!;\n const menu = userSession.menu;\n const vueRouter = useRouter();\n\n const currentBarItem: Ref<MenuNode | null> = ref(null);\n\n handleCurrentMenuChange();\n menu.currentMenuChangeEvent.on(handleCurrentMenuChange);\n\n function handleCurrentMenuChange() {\n currentBarItem.value = menu.getCurrentMenuNode()\n ? menu.rootMenus.find((item) =>\n includeMenuNode(item, menu.getCurrentMenuNode()!)\n ) ?? null\n : null;\n }\n\n // 用户会话销毁就前往登录页面。\n userSession.register(\n createDisposable(() => {\n vueRouter.push({ name: \"login\" });\n })\n );\n\n return () => {\n return (\n <MKSystemProvider>\n <ElContainer class=\"mk-layout-default\">\n <ElAside>\n <MKBar barItem={unref(currentBarItem) as MenuNode} />\n </ElAside>\n <ElMain>\n <ElContainer class=\"mk-layout-default__body\">\n <ElHeader class=\"mk-layout-default__header\">\n <MKHeader />\n </ElHeader>\n <ElMain>\n <ElContainer class=\"mk-layout-default__main\">\n <ElAside class=\"mk-layout-default__menu\">\n <MKMenu barItem={unref(currentBarItem) as MenuNode} />\n </ElAside>\n <ElMain>\n <RouterView />\n </ElMain>\n </ElContainer>\n </ElMain>\n </ElContainer>\n </ElMain>\n </ElContainer>\n <MKDialogs />\n </MKSystemProvider>\n );\n };\n },\n});\n"],"names":["includeMenuNode","rootMenuNode","menuNode","list","i","length","item","id","concat","children","MKLayoutDefault","defineComponent","name","setup","msAppClient","MSAppClient","instance","userSession","menu","vueRouter","useRouter","currentBarItem","ref","handleCurrentMenuChange","currentMenuChangeEvent","on","value","getCurrentMenuNode","rootMenus","find","register","createDisposable","push","_createVNode","MKSystemProvider","default","ElContainer","ElAside","MKBar","unref","ElMain","ElHeader","MKHeader","MKMenu","RouterView","MKDialogs"],"mappings":"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"}
@@ -1,6 +1,10 @@
1
- import { IDialogMessage, SkeletonDialoger } from "@maketribe/dm";
1
+ import { DialogInstance, IDialogMessage, IDialogRenderOptions, SkeletonDialoger } from "@maketribe/dm";
2
+ import { Event } from "@maketribe/utils";
2
3
  export declare class DialogerImpl extends SkeletonDialoger {
4
+ dialogInstanceCreateEvent: Event<DialogInstance>;
3
5
  prompt(options: IDialogMessage): Promise<string>;
4
6
  confirm(options: IDialogMessage): Promise<boolean>;
5
7
  alert(options: IDialogMessage): Promise<void>;
8
+ customRender(options: IDialogRenderOptions): DialogInstance;
9
+ custom(options: IDialogRenderOptions): Promise<boolean>;
6
10
  }
@@ -1,9 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var dm = require('@maketribe/dm');
4
+ var utils = require('@maketribe/utils');
4
5
  var elementPlus = require('element-plus');
6
+ var lodashEs = require('lodash-es');
5
7
 
8
+ let uid = 0;
6
9
  class DialogerImpl extends dm.SkeletonDialoger {
10
+ dialogInstanceCreateEvent = new utils.Event();
7
11
  async prompt(options) {
8
12
  const promptResult = await elementPlus.ElMessageBox.prompt(
9
13
  options.message,
@@ -23,6 +27,39 @@ class DialogerImpl extends dm.SkeletonDialoger {
23
27
  async alert(options) {
24
28
  await elementPlus.ElMessageBox.alert(options.message, options.title, options);
25
29
  }
30
+ customRender(options) {
31
+ const dialogInstance = {
32
+ ...options,
33
+ id: uid++,
34
+ visible: true,
35
+ destroyEvent: new utils.Event(),
36
+ destroy: () => {
37
+ dialogInstance.visible = false;
38
+ dialogInstance.destroyEvent.emit();
39
+ }
40
+ };
41
+ this.dialogInstanceCreateEvent.emit(dialogInstance);
42
+ return dialogInstance;
43
+ }
44
+ async custom(options) {
45
+ return new Promise((resolve) => {
46
+ this.customRender({
47
+ ...options,
48
+ onConfirm: async () => {
49
+ if (lodashEs.isFunction(options.onConfirm) ? await options.onConfirm() === false : false) {
50
+ return false;
51
+ }
52
+ resolve(true);
53
+ },
54
+ onCancel: async () => {
55
+ if (lodashEs.isFunction(options.onCancel) ? await options.onCancel() === false : false) {
56
+ return false;
57
+ }
58
+ resolve(false);
59
+ }
60
+ });
61
+ });
62
+ }
26
63
  }
27
64
 
28
65
  exports.DialogerImpl = DialogerImpl;
@@ -1 +1 @@
1
- {"version":3,"file":"DialogerImpl.js","sources":["../../../src/message-impl/DialogerImpl.ts"],"sourcesContent":["import { IDialogMessage, SkeletonDialoger } from \"@maketribe/dm\";\nimport { ElMessageBox } from \"element-plus\";\n\nexport class DialogerImpl extends SkeletonDialoger {\n async prompt(options: IDialogMessage): Promise<string> {\n const promptResult = await ElMessageBox.prompt(\n options.message,\n options.title,\n options\n );\n\n return promptResult.value;\n }\n\n async confirm(options: IDialogMessage): Promise<boolean> {\n try {\n await ElMessageBox.confirm(options.message, options.title, options);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n async alert(options: IDialogMessage): Promise<void> {\n await ElMessageBox.alert(options.message, options.title, options);\n }\n}\n"],"names":["SkeletonDialoger","ElMessageBox"],"mappings":";;;;;AAGO,MAAM,qBAAqBA,mBAAiB,CAAA;AAAA,EACjD,MAAM,OAAO,OAA0C,EAAA;AACrD,IAAM,MAAA,YAAA,GAAe,MAAMC,wBAAa,CAAA,MAAA;AAAA,MACtC,OAAQ,CAAA,OAAA;AAAA,MACR,OAAQ,CAAA,KAAA;AAAA,MACR,OAAA;AAAA,KACF,CAAA;AAEA,IAAA,OAAO,YAAa,CAAA,KAAA,CAAA;AAAA,GACtB;AAAA,EAEA,MAAM,QAAQ,OAA2C,EAAA;AACvD,IAAI,IAAA;AACF,MAAA,MAAMA,yBAAa,OAAQ,CAAA,OAAA,CAAQ,OAAS,EAAA,OAAA,CAAQ,OAAO,OAAO,CAAA,CAAA;AAClE,MAAO,OAAA,IAAA,CAAA;AAAA,aACA,CAAG,EAAA;AACV,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACF;AAAA,EAEA,MAAM,MAAM,OAAwC,EAAA;AAClD,IAAA,MAAMA,yBAAa,KAAM,CAAA,OAAA,CAAQ,OAAS,EAAA,OAAA,CAAQ,OAAO,OAAO,CAAA,CAAA;AAAA,GAClE;AACF;;;;"}
1
+ {"version":3,"file":"DialogerImpl.js","sources":["../../../src/message-impl/DialogerImpl.ts"],"sourcesContent":["import {\n DialogInstance,\n IDialogMessage,\n IDialogRenderOptions,\n SkeletonDialoger,\n} from \"@maketribe/dm\";\nimport { Event } from \"@maketribe/utils\";\nimport { ElMessageBox } from \"element-plus\";\nimport { isFunction } from \"lodash-es\";\n\nlet uid = 0;\n\nexport class DialogerImpl extends SkeletonDialoger {\n dialogInstanceCreateEvent: Event<DialogInstance> = new Event();\n\n async prompt(options: IDialogMessage): Promise<string> {\n const promptResult = await ElMessageBox.prompt(\n options.message,\n options.title,\n options\n );\n\n return promptResult.value;\n }\n\n async confirm(options: IDialogMessage): Promise<boolean> {\n try {\n await ElMessageBox.confirm(options.message, options.title, options);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n async alert(options: IDialogMessage): Promise<void> {\n await ElMessageBox.alert(options.message, options.title, options);\n }\n\n customRender(options: IDialogRenderOptions): DialogInstance {\n const dialogInstance: DialogInstance = {\n ...options,\n id: uid++,\n visible: true,\n destroyEvent: new Event(),\n destroy: () => {\n dialogInstance.visible = false;\n dialogInstance.destroyEvent.emit();\n },\n };\n this.dialogInstanceCreateEvent.emit(dialogInstance);\n\n return dialogInstance;\n }\n\n async custom(options: IDialogRenderOptions): Promise<boolean> {\n return new Promise<boolean>((resolve) => {\n this.customRender({\n ...options,\n onConfirm: async () => {\n if (\n isFunction(options.onConfirm)\n ? (await options.onConfirm()) === false\n : false\n ) {\n return false;\n }\n\n resolve(true);\n },\n onCancel: async () => {\n if (\n isFunction(options.onCancel)\n ? (await options.onCancel()) === false\n : false\n ) {\n return false;\n }\n\n resolve(false);\n },\n });\n });\n }\n}\n"],"names":["SkeletonDialoger","Event","ElMessageBox","isFunction"],"mappings":";;;;;;;AAUA,IAAI,GAAM,GAAA,CAAA,CAAA;AAEH,MAAM,qBAAqBA,mBAAiB,CAAA;AAAA,EACjD,yBAAA,GAAmD,IAAIC,WAAM,EAAA,CAAA;AAAA,EAE7D,MAAM,OAAO,OAA0C,EAAA;AACrD,IAAM,MAAA,YAAA,GAAe,MAAMC,wBAAa,CAAA,MAAA;AAAA,MACtC,OAAQ,CAAA,OAAA;AAAA,MACR,OAAQ,CAAA,KAAA;AAAA,MACR,OAAA;AAAA,KACF,CAAA;AAEA,IAAA,OAAO,YAAa,CAAA,KAAA,CAAA;AAAA,GACtB;AAAA,EAEA,MAAM,QAAQ,OAA2C,EAAA;AACvD,IAAI,IAAA;AACF,MAAA,MAAMA,yBAAa,OAAQ,CAAA,OAAA,CAAQ,OAAS,EAAA,OAAA,CAAQ,OAAO,OAAO,CAAA,CAAA;AAClE,MAAO,OAAA,IAAA,CAAA;AAAA,aACA,CAAG,EAAA;AACV,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACF;AAAA,EAEA,MAAM,MAAM,OAAwC,EAAA;AAClD,IAAA,MAAMA,yBAAa,KAAM,CAAA,OAAA,CAAQ,OAAS,EAAA,OAAA,CAAQ,OAAO,OAAO,CAAA,CAAA;AAAA,GAClE;AAAA,EAEA,aAAa,OAA+C,EAAA;AAC1D,IAAA,MAAM,cAAiC,GAAA;AAAA,MACrC,GAAG,OAAA;AAAA,MACH,EAAI,EAAA,GAAA,EAAA;AAAA,MACJ,OAAS,EAAA,IAAA;AAAA,MACT,YAAA,EAAc,IAAID,WAAM,EAAA;AAAA,MACxB,SAAS,MAAM;AACb,QAAA,cAAA,CAAe,OAAU,GAAA,KAAA,CAAA;AACzB,QAAA,cAAA,CAAe,aAAa,IAAK,EAAA,CAAA;AAAA,OACnC;AAAA,KACF,CAAA;AACA,IAAK,IAAA,CAAA,yBAAA,CAA0B,KAAK,cAAc,CAAA,CAAA;AAElD,IAAO,OAAA,cAAA,CAAA;AAAA,GACT;AAAA,EAEA,MAAM,OAAO,OAAiD,EAAA;AAC5D,IAAO,OAAA,IAAI,OAAiB,CAAA,CAAC,OAAY,KAAA;AACvC,MAAA,IAAA,CAAK,YAAa,CAAA;AAAA,QAChB,GAAG,OAAA;AAAA,QACH,WAAW,YAAY;AACrB,UACE,IAAAE,mBAAA,CAAW,QAAQ,SAAS,CAAA,GACvB,MAAM,OAAQ,CAAA,SAAA,EAAiB,KAAA,KAAA,GAChC,KACJ,EAAA;AACA,YAAO,OAAA,KAAA,CAAA;AAAA,WACT;AAEA,UAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,SACd;AAAA,QACA,UAAU,YAAY;AACpB,UACE,IAAAA,mBAAA,CAAW,QAAQ,QAAQ,CAAA,GACtB,MAAM,OAAQ,CAAA,QAAA,EAAgB,KAAA,KAAA,GAC/B,KACJ,EAAA;AACA,YAAO,OAAA,KAAA,CAAA;AAAA,WACT;AAEA,UAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AAAA,SACf;AAAA,OACD,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACH;AACF;;;;"}
@@ -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>;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
2
+ export default _default;
@@ -0,0 +1,64 @@
1
+ import { defineComponent, ref, unref, createVNode, Fragment } from 'vue';
2
+ import { Dialoger } from '@maketribe/dm';
3
+ import { isFunction } from 'lodash-es';
4
+ import { ElDialog, ElButton } from 'element-plus';
5
+
6
+ var Dialogs = /* @__PURE__ */ defineComponent({
7
+ name: "MKDialogs",
8
+ setup(props) {
9
+ const dialogInstances = ref([]);
10
+ const dialogImplInstance = Dialoger.implInstance;
11
+ if (dialogImplInstance?.dialogInstanceCreateEvent && isFunction(dialogImplInstance.dialogInstanceCreateEvent.on)) {
12
+ dialogImplInstance.dialogInstanceCreateEvent.on((dialogInstance) => {
13
+ dialogInstance.destroyEvent.on(() => {
14
+ const index = dialogInstances.value.findIndex((instance) => dialogInstance.id === instance.id);
15
+ if (index === -1) {
16
+ return;
17
+ }
18
+ dialogInstances.value.splice(index, 1);
19
+ });
20
+ dialogInstances.value.push(dialogInstance);
21
+ });
22
+ }
23
+ const handleCancel = async (dialogInstance) => {
24
+ if (isFunction(dialogInstance.onCancel) ? await dialogInstance.onCancel() === false : false) {
25
+ return;
26
+ }
27
+ dialogInstance.visible = false;
28
+ };
29
+ const handleConfirm = async (dialogInstance) => {
30
+ if (isFunction(dialogInstance.onConfirm) ? await dialogInstance.onConfirm() === false : false) {
31
+ return;
32
+ }
33
+ dialogInstance.visible = false;
34
+ };
35
+ return () => {
36
+ const dialogs = unref(dialogInstances).map((dialogInstance) => {
37
+ return createVNode(ElDialog, {
38
+ "modelValue": dialogInstance.visible,
39
+ "onUpdate:modelValue": (visible) => dialogInstance.visible = visible,
40
+ "appendToBody": true,
41
+ "destroyOnClose": true,
42
+ "width": dialogInstance.width
43
+ }, {
44
+ header: () => isFunction(dialogInstance.header) ? dialogInstance.header?.() : dialogInstance.title || "",
45
+ default: () => dialogInstance.body(),
46
+ footer: () => isFunction(dialogInstance.footer) ? dialogInstance.footer?.() : createVNode(Fragment, null, [createVNode(ElButton, {
47
+ "onClick": () => handleCancel(dialogInstance)
48
+ }, {
49
+ default: () => [dialogInstance.cancelButtonText ?? "\u53D6\u6D88"]
50
+ }), createVNode(ElButton, {
51
+ "type": "primary",
52
+ "onClick": () => handleConfirm(dialogInstance)
53
+ }, {
54
+ default: () => [dialogInstance.confirmButtonText ?? "\u786E\u8BA4"]
55
+ })])
56
+ });
57
+ });
58
+ return createVNode(Fragment, null, [dialogs]);
59
+ };
60
+ }
61
+ });
62
+
63
+ export { Dialogs as default };
64
+ //# sourceMappingURL=dialogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialogs.js","sources":["../../../../../src/layouts/components/dialogs/dialogs.tsx"],"sourcesContent":["import { Fragment, Ref, defineComponent, ref, unref } from \"vue\";\nimport { DialogInstance, Dialoger } from \"@maketribe/dm\";\nimport { DialogerImpl } from \"../../../message-impl\";\nimport { isFunction } from \"lodash-es\";\nimport { ElButton, ElDialog } from \"element-plus\";\n\nexport default defineComponent({\n name: \"MKDialogs\",\n setup(props) {\n const dialogInstances: Ref<DialogInstance[]> = ref([]);\n\n const dialogImplInstance = Dialoger.implInstance as DialogerImpl | null;\n\n if (\n dialogImplInstance?.dialogInstanceCreateEvent &&\n isFunction(dialogImplInstance.dialogInstanceCreateEvent.on)\n ) {\n dialogImplInstance.dialogInstanceCreateEvent.on((dialogInstance) => {\n dialogInstance.destroyEvent.on(() => {\n const index = dialogInstances.value.findIndex(\n (instance) => dialogInstance.id === instance.id\n );\n\n if (index === -1) {\n return;\n }\n\n dialogInstances.value.splice(index, 1);\n });\n\n dialogInstances.value.push(dialogInstance);\n });\n }\n\n const handleCancel = async (dialogInstance: DialogInstance) => {\n if (\n isFunction(dialogInstance.onCancel)\n ? (await dialogInstance.onCancel()) === false\n : false\n ) {\n return;\n }\n\n dialogInstance.visible = false;\n };\n\n const handleConfirm = async (dialogInstance: DialogInstance) => {\n if (\n isFunction(dialogInstance.onConfirm)\n ? (await dialogInstance.onConfirm()) === false\n : false\n ) {\n return;\n }\n\n dialogInstance.visible = false;\n };\n\n return () => {\n const dialogs = unref(dialogInstances).map((dialogInstance) => {\n return (\n <ElDialog\n modelValue={dialogInstance.visible}\n onUpdate:modelValue={(visible: boolean) =>\n (dialogInstance.visible = visible)\n }\n appendToBody\n destroyOnClose={true}\n width={dialogInstance.width}\n v-slots={{\n header: () =>\n isFunction(dialogInstance.header)\n ? dialogInstance.header?.()\n : dialogInstance.title || \"\",\n default: () => dialogInstance.body(),\n footer: () =>\n isFunction(dialogInstance.footer) ? (\n dialogInstance.footer?.()\n ) : (\n <Fragment>\n <ElButton onClick={() => handleCancel(dialogInstance)}>\n {dialogInstance.cancelButtonText ?? \"取消\"}\n </ElButton>\n <ElButton\n type=\"primary\"\n onClick={() => handleConfirm(dialogInstance)}\n >\n {dialogInstance.confirmButtonText ?? \"确认\"}\n </ElButton>\n </Fragment>\n ),\n }}\n />\n );\n });\n\n return <Fragment>{dialogs}</Fragment>;\n };\n },\n});\n"],"names":["name","setup","props","dialogInstances","ref","dialogImplInstance","Dialoger","implInstance","dialogInstanceCreateEvent","isFunction","on","dialogInstance","destroyEvent","index","value","findIndex","instance","id","splice","push","handleCancel","onCancel","visible","handleConfirm","onConfirm","dialogs","unref","map","_createVNode","ElDialog","width","header","title","default","body","footer","_Fragment","ElButton","onClick","cancelButtonText","confirmButtonText"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const MKDialogs: import("vue").DefineComponent<{}, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
2
+ export default MKDialogs;
@@ -0,0 +1,6 @@
1
+ import Dialogs from './dialogs.js';
2
+
3
+ const MKDialogs = Dialogs;
4
+
5
+ export { MKDialogs, MKDialogs as default };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/layouts/components/dialogs/index.ts"],"sourcesContent":["import Dialogs from \"./dialogs\";\n\nexport const MKDialogs = Dialogs;\n\nexport default MKDialogs;\n"],"names":[],"mappings":";;AAEO,MAAM,SAAY,GAAA;;;;"}
@@ -1,2 +1,3 @@
1
1
  export * from "./bar";
2
2
  export * from "./menu";
3
+ export * from "./dialogs";
@@ -1,3 +1,4 @@
1
1
  export { MKBar } from './bar/index.js';
2
2
  export { MKMenu } from './menu/index.js';
3
+ export { MKDialogs } from './dialogs/index.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -66,6 +66,7 @@ import '../../components/upload-file/ui/upload-image/index.js';
66
66
  import '../../components/upload-file/upload-file-options.js';
67
67
  import { MKBar } from '../components/bar/index.js';
68
68
  import { MKMenu } from '../components/menu/index.js';
69
+ import { MKDialogs } from '../components/dialogs/index.js';
69
70
  import { MKHeader } from '../components/header/index.js';
70
71
 
71
72
  function includeMenuNode(rootMenuNode, menuNode) {
@@ -131,7 +132,7 @@ const MKLayoutDefault = /* @__PURE__ */ defineComponent({
131
132
  })]
132
133
  })]
133
134
  })]
134
- })]
135
+ }), createVNode(MKDialogs, null, null)]
135
136
  });
136
137
  };
137
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sources":["../../../../src/layouts/container/default.tsx"],"sourcesContent":["import { Ref, defineComponent, ref, unref } from \"vue\";\nimport { RouterView, useRouter } from \"vue-router\";\nimport { ElAside, ElContainer, ElHeader, ElMain } from \"element-plus\";\nimport { MKSystemProvider } from \"../../components\";\nimport { MKBar, MKMenu } from \"../components\";\nimport { MenuNode } from \"../../core\";\nimport { MSAppClient } from \"../../core\";\nimport { MKHeader } from \"../components/header\";\nimport { createDisposable } from \"@maketribe/utils\";\n\nfunction includeMenuNode(rootMenuNode: MenuNode, menuNode: MenuNode) {\n let list = [rootMenuNode];\n\n for (let i = 0; i < list.length; i++) {\n const item = list[i];\n\n if (item.id === menuNode.id) {\n return true;\n }\n\n list = list.concat(item.children);\n }\n\n return false;\n}\n\nexport const MKLayoutDefault = defineComponent({\n name: \"MKLayoutDefault\",\n setup() {\n const msAppClient = MSAppClient.instance!;\n const userSession = msAppClient.userSession!;\n const menu = userSession.menu;\n const vueRouter = useRouter();\n\n const currentBarItem: Ref<MenuNode | null> = ref(null);\n\n handleCurrentMenuChange();\n menu.currentMenuChangeEvent.on(handleCurrentMenuChange);\n\n function handleCurrentMenuChange() {\n currentBarItem.value = menu.getCurrentMenuNode()\n ? menu.rootMenus.find((item) =>\n includeMenuNode(item, menu.getCurrentMenuNode()!)\n ) ?? null\n : null;\n }\n\n // 用户会话销毁就前往登录页面。\n userSession.register(\n createDisposable(() => {\n vueRouter.push({ name: \"login\" });\n })\n );\n\n return () => {\n return (\n <MKSystemProvider>\n <ElContainer class=\"mk-layout-default\">\n <ElAside>\n <MKBar barItem={unref(currentBarItem) as MenuNode} />\n </ElAside>\n <ElMain>\n <ElContainer class=\"mk-layout-default__body\">\n <ElHeader class=\"mk-layout-default__header\">\n <MKHeader />\n </ElHeader>\n <ElMain>\n <ElContainer class=\"mk-layout-default__main\">\n <ElAside class=\"mk-layout-default__menu\">\n <MKMenu barItem={unref(currentBarItem) as MenuNode} />\n </ElAside>\n <ElMain>\n <RouterView />\n </ElMain>\n </ElContainer>\n </ElMain>\n </ElContainer>\n </ElMain>\n </ElContainer>\n </MKSystemProvider>\n );\n };\n },\n});\n"],"names":["includeMenuNode","rootMenuNode","menuNode","list","i","length","item","id","concat","children","MKLayoutDefault","name","setup","msAppClient","MSAppClient","instance","userSession","menu","vueRouter","useRouter","currentBarItem","ref","handleCurrentMenuChange","currentMenuChangeEvent","on","value","getCurrentMenuNode","rootMenus","find","register","createDisposable","push","_createVNode","MKSystemProvider","default","ElContainer","ElAside","MKBar","unref","ElMain","ElHeader","MKHeader","MKMenu","RouterView"],"mappings":"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"}
1
+ {"version":3,"file":"default.js","sources":["../../../../src/layouts/container/default.tsx"],"sourcesContent":["import { Ref, defineComponent, ref, unref } from \"vue\";\nimport { RouterView, useRouter } from \"vue-router\";\nimport { ElAside, ElContainer, ElHeader, ElMain } from \"element-plus\";\nimport { MKSystemProvider } from \"../../components\";\nimport { MKBar, MKMenu, MKDialogs } from \"../components\";\nimport { MenuNode } from \"../../core\";\nimport { MSAppClient } from \"../../core\";\nimport { MKHeader } from \"../components/header\";\nimport { createDisposable } from \"@maketribe/utils\";\n\nfunction includeMenuNode(rootMenuNode: MenuNode, menuNode: MenuNode) {\n let list = [rootMenuNode];\n\n for (let i = 0; i < list.length; i++) {\n const item = list[i];\n\n if (item.id === menuNode.id) {\n return true;\n }\n\n list = list.concat(item.children);\n }\n\n return false;\n}\n\nexport const MKLayoutDefault = defineComponent({\n name: \"MKLayoutDefault\",\n setup() {\n const msAppClient = MSAppClient.instance!;\n const userSession = msAppClient.userSession!;\n const menu = userSession.menu;\n const vueRouter = useRouter();\n\n const currentBarItem: Ref<MenuNode | null> = ref(null);\n\n handleCurrentMenuChange();\n menu.currentMenuChangeEvent.on(handleCurrentMenuChange);\n\n function handleCurrentMenuChange() {\n currentBarItem.value = menu.getCurrentMenuNode()\n ? menu.rootMenus.find((item) =>\n includeMenuNode(item, menu.getCurrentMenuNode()!)\n ) ?? null\n : null;\n }\n\n // 用户会话销毁就前往登录页面。\n userSession.register(\n createDisposable(() => {\n vueRouter.push({ name: \"login\" });\n })\n );\n\n return () => {\n return (\n <MKSystemProvider>\n <ElContainer class=\"mk-layout-default\">\n <ElAside>\n <MKBar barItem={unref(currentBarItem) as MenuNode} />\n </ElAside>\n <ElMain>\n <ElContainer class=\"mk-layout-default__body\">\n <ElHeader class=\"mk-layout-default__header\">\n <MKHeader />\n </ElHeader>\n <ElMain>\n <ElContainer class=\"mk-layout-default__main\">\n <ElAside class=\"mk-layout-default__menu\">\n <MKMenu barItem={unref(currentBarItem) as MenuNode} />\n </ElAside>\n <ElMain>\n <RouterView />\n </ElMain>\n </ElContainer>\n </ElMain>\n </ElContainer>\n </ElMain>\n </ElContainer>\n <MKDialogs />\n </MKSystemProvider>\n );\n };\n },\n});\n"],"names":["includeMenuNode","rootMenuNode","menuNode","list","i","length","item","id","concat","children","MKLayoutDefault","name","setup","msAppClient","MSAppClient","instance","userSession","menu","vueRouter","useRouter","currentBarItem","ref","handleCurrentMenuChange","currentMenuChangeEvent","on","value","getCurrentMenuNode","rootMenus","find","register","createDisposable","push","_createVNode","MKSystemProvider","default","ElContainer","ElAside","MKBar","unref","ElMain","ElHeader","MKHeader","MKMenu","RouterView","MKDialogs"],"mappings":"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"}
@@ -1,6 +1,10 @@
1
- import { IDialogMessage, SkeletonDialoger } from "@maketribe/dm";
1
+ import { DialogInstance, IDialogMessage, IDialogRenderOptions, SkeletonDialoger } from "@maketribe/dm";
2
+ import { Event } from "@maketribe/utils";
2
3
  export declare class DialogerImpl extends SkeletonDialoger {
4
+ dialogInstanceCreateEvent: Event<DialogInstance>;
3
5
  prompt(options: IDialogMessage): Promise<string>;
4
6
  confirm(options: IDialogMessage): Promise<boolean>;
5
7
  alert(options: IDialogMessage): Promise<void>;
8
+ customRender(options: IDialogRenderOptions): DialogInstance;
9
+ custom(options: IDialogRenderOptions): Promise<boolean>;
6
10
  }
@@ -1,7 +1,11 @@
1
1
  import { SkeletonDialoger } from '@maketribe/dm';
2
+ import { Event } from '@maketribe/utils';
2
3
  import { ElMessageBox } from 'element-plus';
4
+ import { isFunction } from 'lodash-es';
3
5
 
6
+ let uid = 0;
4
7
  class DialogerImpl extends SkeletonDialoger {
8
+ dialogInstanceCreateEvent = new Event();
5
9
  async prompt(options) {
6
10
  const promptResult = await ElMessageBox.prompt(
7
11
  options.message,
@@ -21,6 +25,39 @@ class DialogerImpl extends SkeletonDialoger {
21
25
  async alert(options) {
22
26
  await ElMessageBox.alert(options.message, options.title, options);
23
27
  }
28
+ customRender(options) {
29
+ const dialogInstance = {
30
+ ...options,
31
+ id: uid++,
32
+ visible: true,
33
+ destroyEvent: new Event(),
34
+ destroy: () => {
35
+ dialogInstance.visible = false;
36
+ dialogInstance.destroyEvent.emit();
37
+ }
38
+ };
39
+ this.dialogInstanceCreateEvent.emit(dialogInstance);
40
+ return dialogInstance;
41
+ }
42
+ async custom(options) {
43
+ return new Promise((resolve) => {
44
+ this.customRender({
45
+ ...options,
46
+ onConfirm: async () => {
47
+ if (isFunction(options.onConfirm) ? await options.onConfirm() === false : false) {
48
+ return false;
49
+ }
50
+ resolve(true);
51
+ },
52
+ onCancel: async () => {
53
+ if (isFunction(options.onCancel) ? await options.onCancel() === false : false) {
54
+ return false;
55
+ }
56
+ resolve(false);
57
+ }
58
+ });
59
+ });
60
+ }
24
61
  }
25
62
 
26
63
  export { DialogerImpl };
@@ -1 +1 @@
1
- {"version":3,"file":"DialogerImpl.js","sources":["../../../src/message-impl/DialogerImpl.ts"],"sourcesContent":["import { IDialogMessage, SkeletonDialoger } from \"@maketribe/dm\";\nimport { ElMessageBox } from \"element-plus\";\n\nexport class DialogerImpl extends SkeletonDialoger {\n async prompt(options: IDialogMessage): Promise<string> {\n const promptResult = await ElMessageBox.prompt(\n options.message,\n options.title,\n options\n );\n\n return promptResult.value;\n }\n\n async confirm(options: IDialogMessage): Promise<boolean> {\n try {\n await ElMessageBox.confirm(options.message, options.title, options);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n async alert(options: IDialogMessage): Promise<void> {\n await ElMessageBox.alert(options.message, options.title, options);\n }\n}\n"],"names":[],"mappings":";;;AAGO,MAAM,qBAAqB,gBAAiB,CAAA;AAAA,EACjD,MAAM,OAAO,OAA0C,EAAA;AACrD,IAAM,MAAA,YAAA,GAAe,MAAM,YAAa,CAAA,MAAA;AAAA,MACtC,OAAQ,CAAA,OAAA;AAAA,MACR,OAAQ,CAAA,KAAA;AAAA,MACR,OAAA;AAAA,KACF,CAAA;AAEA,IAAA,OAAO,YAAa,CAAA,KAAA,CAAA;AAAA,GACtB;AAAA,EAEA,MAAM,QAAQ,OAA2C,EAAA;AACvD,IAAI,IAAA;AACF,MAAA,MAAM,aAAa,OAAQ,CAAA,OAAA,CAAQ,OAAS,EAAA,OAAA,CAAQ,OAAO,OAAO,CAAA,CAAA;AAClE,MAAO,OAAA,IAAA,CAAA;AAAA,aACA,CAAG,EAAA;AACV,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACF;AAAA,EAEA,MAAM,MAAM,OAAwC,EAAA;AAClD,IAAA,MAAM,aAAa,KAAM,CAAA,OAAA,CAAQ,OAAS,EAAA,OAAA,CAAQ,OAAO,OAAO,CAAA,CAAA;AAAA,GAClE;AACF;;;;"}
1
+ {"version":3,"file":"DialogerImpl.js","sources":["../../../src/message-impl/DialogerImpl.ts"],"sourcesContent":["import {\n DialogInstance,\n IDialogMessage,\n IDialogRenderOptions,\n SkeletonDialoger,\n} from \"@maketribe/dm\";\nimport { Event } from \"@maketribe/utils\";\nimport { ElMessageBox } from \"element-plus\";\nimport { isFunction } from \"lodash-es\";\n\nlet uid = 0;\n\nexport class DialogerImpl extends SkeletonDialoger {\n dialogInstanceCreateEvent: Event<DialogInstance> = new Event();\n\n async prompt(options: IDialogMessage): Promise<string> {\n const promptResult = await ElMessageBox.prompt(\n options.message,\n options.title,\n options\n );\n\n return promptResult.value;\n }\n\n async confirm(options: IDialogMessage): Promise<boolean> {\n try {\n await ElMessageBox.confirm(options.message, options.title, options);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n async alert(options: IDialogMessage): Promise<void> {\n await ElMessageBox.alert(options.message, options.title, options);\n }\n\n customRender(options: IDialogRenderOptions): DialogInstance {\n const dialogInstance: DialogInstance = {\n ...options,\n id: uid++,\n visible: true,\n destroyEvent: new Event(),\n destroy: () => {\n dialogInstance.visible = false;\n dialogInstance.destroyEvent.emit();\n },\n };\n this.dialogInstanceCreateEvent.emit(dialogInstance);\n\n return dialogInstance;\n }\n\n async custom(options: IDialogRenderOptions): Promise<boolean> {\n return new Promise<boolean>((resolve) => {\n this.customRender({\n ...options,\n onConfirm: async () => {\n if (\n isFunction(options.onConfirm)\n ? (await options.onConfirm()) === false\n : false\n ) {\n return false;\n }\n\n resolve(true);\n },\n onCancel: async () => {\n if (\n isFunction(options.onCancel)\n ? (await options.onCancel()) === false\n : false\n ) {\n return false;\n }\n\n resolve(false);\n },\n });\n });\n }\n}\n"],"names":[],"mappings":";;;;;AAUA,IAAI,GAAM,GAAA,CAAA,CAAA;AAEH,MAAM,qBAAqB,gBAAiB,CAAA;AAAA,EACjD,yBAAA,GAAmD,IAAI,KAAM,EAAA,CAAA;AAAA,EAE7D,MAAM,OAAO,OAA0C,EAAA;AACrD,IAAM,MAAA,YAAA,GAAe,MAAM,YAAa,CAAA,MAAA;AAAA,MACtC,OAAQ,CAAA,OAAA;AAAA,MACR,OAAQ,CAAA,KAAA;AAAA,MACR,OAAA;AAAA,KACF,CAAA;AAEA,IAAA,OAAO,YAAa,CAAA,KAAA,CAAA;AAAA,GACtB;AAAA,EAEA,MAAM,QAAQ,OAA2C,EAAA;AACvD,IAAI,IAAA;AACF,MAAA,MAAM,aAAa,OAAQ,CAAA,OAAA,CAAQ,OAAS,EAAA,OAAA,CAAQ,OAAO,OAAO,CAAA,CAAA;AAClE,MAAO,OAAA,IAAA,CAAA;AAAA,aACA,CAAG,EAAA;AACV,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACF;AAAA,EAEA,MAAM,MAAM,OAAwC,EAAA;AAClD,IAAA,MAAM,aAAa,KAAM,CAAA,OAAA,CAAQ,OAAS,EAAA,OAAA,CAAQ,OAAO,OAAO,CAAA,CAAA;AAAA,GAClE;AAAA,EAEA,aAAa,OAA+C,EAAA;AAC1D,IAAA,MAAM,cAAiC,GAAA;AAAA,MACrC,GAAG,OAAA;AAAA,MACH,EAAI,EAAA,GAAA,EAAA;AAAA,MACJ,OAAS,EAAA,IAAA;AAAA,MACT,YAAA,EAAc,IAAI,KAAM,EAAA;AAAA,MACxB,SAAS,MAAM;AACb,QAAA,cAAA,CAAe,OAAU,GAAA,KAAA,CAAA;AACzB,QAAA,cAAA,CAAe,aAAa,IAAK,EAAA,CAAA;AAAA,OACnC;AAAA,KACF,CAAA;AACA,IAAK,IAAA,CAAA,yBAAA,CAA0B,KAAK,cAAc,CAAA,CAAA;AAElD,IAAO,OAAA,cAAA,CAAA;AAAA,GACT;AAAA,EAEA,MAAM,OAAO,OAAiD,EAAA;AAC5D,IAAO,OAAA,IAAI,OAAiB,CAAA,CAAC,OAAY,KAAA;AACvC,MAAA,IAAA,CAAK,YAAa,CAAA;AAAA,QAChB,GAAG,OAAA;AAAA,QACH,WAAW,YAAY;AACrB,UACE,IAAA,UAAA,CAAW,QAAQ,SAAS,CAAA,GACvB,MAAM,OAAQ,CAAA,SAAA,EAAiB,KAAA,KAAA,GAChC,KACJ,EAAA;AACA,YAAO,OAAA,KAAA,CAAA;AAAA,WACT;AAEA,UAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,SACd;AAAA,QACA,UAAU,YAAY;AACpB,UACE,IAAA,UAAA,CAAW,QAAQ,QAAQ,CAAA,GACtB,MAAM,OAAQ,CAAA,QAAA,EAAgB,KAAA,KAAA,GAC/B,KACJ,EAAA;AACA,YAAO,OAAA,KAAA,CAAA;AAAA,WACT;AAEA,UAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AAAA,SACf;AAAA,OACD,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACH;AACF;;;;"}
@@ -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.24",
3
+ "version": "3.0.26",
4
4
  "description": "",
5
5
  "main": "dist/cjs",
6
6
  "files": [
@@ -20,10 +20,10 @@
20
20
  "vue": "^3.3.4",
21
21
  "vue-codemirror": "^6.1.1",
22
22
  "vue-router": "^4.2.4",
23
- "@maketribe/dm": "^3.0.10",
24
- "@maketribe/utils": "^1.1.4",
23
+ "@maketribe/dm": "^3.0.11",
25
24
  "@maketribe/request": "^1.1.12",
26
- "@maketribe/locale": "^1.0.5"
25
+ "@maketribe/locale": "^1.0.5",
26
+ "@maketribe/utils": "^1.1.4"
27
27
  },
28
28
  "scripts": {
29
29
  "build": "npm run clean && npm run build:js && npm run build:type && npm run build:style",
@@ -0,0 +1,100 @@
1
+ import { Fragment, Ref, defineComponent, ref, unref } from "vue";
2
+ import { DialogInstance, Dialoger } from "@maketribe/dm";
3
+ import { DialogerImpl } from "../../../message-impl";
4
+ import { isFunction } from "lodash-es";
5
+ import { ElButton, ElDialog } from "element-plus";
6
+
7
+ export default defineComponent({
8
+ name: "MKDialogs",
9
+ setup(props) {
10
+ const dialogInstances: Ref<DialogInstance[]> = ref([]);
11
+
12
+ const dialogImplInstance = Dialoger.implInstance as DialogerImpl | null;
13
+
14
+ if (
15
+ dialogImplInstance?.dialogInstanceCreateEvent &&
16
+ isFunction(dialogImplInstance.dialogInstanceCreateEvent.on)
17
+ ) {
18
+ dialogImplInstance.dialogInstanceCreateEvent.on((dialogInstance) => {
19
+ dialogInstance.destroyEvent.on(() => {
20
+ const index = dialogInstances.value.findIndex(
21
+ (instance) => dialogInstance.id === instance.id
22
+ );
23
+
24
+ if (index === -1) {
25
+ return;
26
+ }
27
+
28
+ dialogInstances.value.splice(index, 1);
29
+ });
30
+
31
+ dialogInstances.value.push(dialogInstance);
32
+ });
33
+ }
34
+
35
+ const handleCancel = async (dialogInstance: DialogInstance) => {
36
+ if (
37
+ isFunction(dialogInstance.onCancel)
38
+ ? (await dialogInstance.onCancel()) === false
39
+ : false
40
+ ) {
41
+ return;
42
+ }
43
+
44
+ dialogInstance.visible = false;
45
+ };
46
+
47
+ const handleConfirm = async (dialogInstance: DialogInstance) => {
48
+ if (
49
+ isFunction(dialogInstance.onConfirm)
50
+ ? (await dialogInstance.onConfirm()) === false
51
+ : false
52
+ ) {
53
+ return;
54
+ }
55
+
56
+ dialogInstance.visible = false;
57
+ };
58
+
59
+ return () => {
60
+ const dialogs = unref(dialogInstances).map((dialogInstance) => {
61
+ return (
62
+ <ElDialog
63
+ modelValue={dialogInstance.visible}
64
+ onUpdate:modelValue={(visible: boolean) =>
65
+ (dialogInstance.visible = visible)
66
+ }
67
+ appendToBody
68
+ destroyOnClose={true}
69
+ width={dialogInstance.width}
70
+ v-slots={{
71
+ header: () =>
72
+ isFunction(dialogInstance.header)
73
+ ? dialogInstance.header?.()
74
+ : dialogInstance.title || "",
75
+ default: () => dialogInstance.body(),
76
+ footer: () =>
77
+ isFunction(dialogInstance.footer) ? (
78
+ dialogInstance.footer?.()
79
+ ) : (
80
+ <Fragment>
81
+ <ElButton onClick={() => handleCancel(dialogInstance)}>
82
+ {dialogInstance.cancelButtonText ?? "取消"}
83
+ </ElButton>
84
+ <ElButton
85
+ type="primary"
86
+ onClick={() => handleConfirm(dialogInstance)}
87
+ >
88
+ {dialogInstance.confirmButtonText ?? "确认"}
89
+ </ElButton>
90
+ </Fragment>
91
+ ),
92
+ }}
93
+ />
94
+ );
95
+ });
96
+
97
+ return <Fragment>{dialogs}</Fragment>;
98
+ };
99
+ },
100
+ });
@@ -0,0 +1,5 @@
1
+ import Dialogs from "./dialogs";
2
+
3
+ export const MKDialogs = Dialogs;
4
+
5
+ export default MKDialogs;
@@ -1,2 +1,3 @@
1
1
  export * from "./bar";
2
2
  export * from "./menu";
3
+ export * from "./dialogs";
@@ -2,7 +2,7 @@ import { Ref, defineComponent, ref, unref } from "vue";
2
2
  import { RouterView, useRouter } from "vue-router";
3
3
  import { ElAside, ElContainer, ElHeader, ElMain } from "element-plus";
4
4
  import { MKSystemProvider } from "../../components";
5
- import { MKBar, MKMenu } from "../components";
5
+ import { MKBar, MKMenu, MKDialogs } from "../components";
6
6
  import { MenuNode } from "../../core";
7
7
  import { MSAppClient } from "../../core";
8
8
  import { MKHeader } from "../components/header";
@@ -77,6 +77,7 @@ export const MKLayoutDefault = defineComponent({
77
77
  </ElContainer>
78
78
  </ElMain>
79
79
  </ElContainer>
80
+ <MKDialogs />
80
81
  </MKSystemProvider>
81
82
  );
82
83
  };
@@ -1,7 +1,18 @@
1
- import { IDialogMessage, SkeletonDialoger } from "@maketribe/dm";
1
+ import {
2
+ DialogInstance,
3
+ IDialogMessage,
4
+ IDialogRenderOptions,
5
+ SkeletonDialoger,
6
+ } from "@maketribe/dm";
7
+ import { Event } from "@maketribe/utils";
2
8
  import { ElMessageBox } from "element-plus";
9
+ import { isFunction } from "lodash-es";
10
+
11
+ let uid = 0;
3
12
 
4
13
  export class DialogerImpl extends SkeletonDialoger {
14
+ dialogInstanceCreateEvent: Event<DialogInstance> = new Event();
15
+
5
16
  async prompt(options: IDialogMessage): Promise<string> {
6
17
  const promptResult = await ElMessageBox.prompt(
7
18
  options.message,
@@ -24,4 +35,50 @@ export class DialogerImpl extends SkeletonDialoger {
24
35
  async alert(options: IDialogMessage): Promise<void> {
25
36
  await ElMessageBox.alert(options.message, options.title, options);
26
37
  }
38
+
39
+ customRender(options: IDialogRenderOptions): DialogInstance {
40
+ const dialogInstance: DialogInstance = {
41
+ ...options,
42
+ id: uid++,
43
+ visible: true,
44
+ destroyEvent: new Event(),
45
+ destroy: () => {
46
+ dialogInstance.visible = false;
47
+ dialogInstance.destroyEvent.emit();
48
+ },
49
+ };
50
+ this.dialogInstanceCreateEvent.emit(dialogInstance);
51
+
52
+ return dialogInstance;
53
+ }
54
+
55
+ async custom(options: IDialogRenderOptions): Promise<boolean> {
56
+ return new Promise<boolean>((resolve) => {
57
+ this.customRender({
58
+ ...options,
59
+ onConfirm: async () => {
60
+ if (
61
+ isFunction(options.onConfirm)
62
+ ? (await options.onConfirm()) === false
63
+ : false
64
+ ) {
65
+ return false;
66
+ }
67
+
68
+ resolve(true);
69
+ },
70
+ onCancel: async () => {
71
+ if (
72
+ isFunction(options.onCancel)
73
+ ? (await options.onCancel()) === false
74
+ : false
75
+ ) {
76
+ return false;
77
+ }
78
+
79
+ resolve(false);
80
+ },
81
+ });
82
+ });
83
+ }
27
84
  }
@@ -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);