@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.
- package/dist/cjs/components/column-components/column-link/column-link-options.d.ts +1 -1
- package/dist/cjs/components/column-components/column-link/column-link.d.ts +3 -3
- package/dist/cjs/components/column-components/column-link/index.d.ts +3 -3
- package/dist/cjs/components/column-components/column-tag/column-tag.d.ts +1 -1
- package/dist/cjs/components/column-components/column-tag/index.d.ts +1 -1
- package/dist/cjs/layouts/components/dialogs/dialogs.d.ts +2 -0
- package/dist/cjs/layouts/components/dialogs/dialogs.js +66 -0
- package/dist/cjs/layouts/components/dialogs/dialogs.js.map +1 -0
- package/dist/cjs/layouts/components/dialogs/index.d.ts +2 -0
- package/dist/cjs/layouts/components/dialogs/index.js +11 -0
- package/dist/cjs/layouts/components/dialogs/index.js.map +1 -0
- package/dist/cjs/layouts/components/index.d.ts +1 -0
- package/dist/cjs/layouts/components/index.js +2 -0
- package/dist/cjs/layouts/components/index.js.map +1 -1
- package/dist/cjs/layouts/container/default.js +2 -1
- package/dist/cjs/layouts/container/default.js.map +1 -1
- package/dist/cjs/message-impl/DialogerImpl.d.ts +5 -1
- package/dist/cjs/message-impl/DialogerImpl.js +37 -0
- package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +1 -0
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +1 -0
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
- package/dist/esm/components/column-components/column-link/column-link-options.d.ts +1 -1
- package/dist/esm/components/column-components/column-link/column-link.d.ts +3 -3
- package/dist/esm/components/column-components/column-link/index.d.ts +3 -3
- package/dist/esm/components/column-components/column-tag/column-tag.d.ts +1 -1
- package/dist/esm/components/column-components/column-tag/index.d.ts +1 -1
- package/dist/esm/layouts/components/dialogs/dialogs.d.ts +2 -0
- package/dist/esm/layouts/components/dialogs/dialogs.js +64 -0
- package/dist/esm/layouts/components/dialogs/dialogs.js.map +1 -0
- package/dist/esm/layouts/components/dialogs/index.d.ts +2 -0
- package/dist/esm/layouts/components/dialogs/index.js +6 -0
- package/dist/esm/layouts/components/dialogs/index.js.map +1 -0
- package/dist/esm/layouts/components/index.d.ts +1 -0
- package/dist/esm/layouts/components/index.js +1 -0
- package/dist/esm/layouts/components/index.js.map +1 -1
- package/dist/esm/layouts/container/default.js +2 -1
- package/dist/esm/layouts/container/default.js.map +1 -1
- package/dist/esm/message-impl/DialogerImpl.d.ts +5 -1
- package/dist/esm/message-impl/DialogerImpl.js +37 -0
- package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +1 -0
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +1 -0
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
- package/package.json +4 -4
- package/src/layouts/components/dialogs/dialogs.tsx +100 -0
- package/src/layouts/components/dialogs/index.ts +5 -0
- package/src/layouts/components/index.ts +1 -0
- package/src/layouts/container/default.tsx +2 -1
- package/src/message-impl/DialogerImpl.ts +58 -1
- package/src/page/index/dv/default/single/list/dialog.vue +1 -0
- 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, "" | "
|
|
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, "" | "
|
|
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, "" | "
|
|
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, "" | "
|
|
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, "" | "
|
|
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, "" | "
|
|
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, "" | "
|
|
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 @@
|
|
|
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;;;;;"}
|
|
@@ -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":"
|
|
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 {
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,IAAA,MAAM,SAASA,mBAAU,EAAA,CAAA;AAEzB,IAAM,MAAA,YAAA,GAAeC,QAAI,KAAK,CAAA,CAAA;AAE9B,IAAM,MAAA,SAAA,GAAmCA,QAAI,IAAI,CAAA,CAAA;AACjD,IAAM,MAAA,QAAA,GAAiCA,QAAI,IAAI,CAAA,CAAA;AAE/C,IAAAC,SAAA;AAAA,MACEC,YAAA;AAAA,QACE,MACE;AAAA,UACE,KAAM,CAAA,SAAA;AAAA,UACN,KAAM,CAAA,QAAA;AAAA,UACNC,SAAM,CAAA,MAAA,CAAO,YAAY,CAAA,CAAE,IAAK,CAAA,IAAA;AAAA,SAClC;AAAA,OACJ;AAAA,MACA,CAAC,CAAC,UAAY,EAAA,SAAA,EAAW,IAAI,CAAM,KAAA;AACjC,QAAA,SAAA,CAAU,KACR,GAAA,UAAA,IAAcC,iCAAiB,CAAA,QAAA,CAAS,aAAa,IAAI,CAAA,CAAA;AAC3D,QAAA,QAAA,CAAS,KAAQ,GAAA,SAAA,IAAaA,iCAAiB,CAAA,QAAA,CAAS,YAAY,IAAI,CAAA,CAAA;AAAA,OAC1E;AAAA,MACA,EAAE,WAAW,IAAK,EAAA;AAAA,KACpB,CAAA;AAEA,IAAAH,SAAA;AAAA,MACE,SAAA;AAAA,MACA,CAACI,UAAW,EAAA,CAAA,EAAG,SAAc,KAAA;AAC3B,QAAA,IAAIA,UAAW,EAAA;AACb,UAAAA,UAAAA,CAAU,cAAe,CAAA,EAAA,CAAG,YAAY;AACtC,YAAM,MAAA,SAAA,GAAYF,UAAM,QAAQ,CAAA,CAAA;AAEhC,YAAA,IAAI,CAAC,SAAW,EAAA;AACd,cAAA,OAAA,CAAQ,IAAK,CAAA,CAAA,gCAAA,EAAUE,UAAU,CAAA,IAAI,CAAe,uBAAA,CAAA,CAAA,CAAA;AACpD,cAAA,OAAA;AAAA,aACF;AAEA,YAAA,YAAA,CAAa,KAAQ,GAAA,IAAA,CAAA;AAErB,YAAA,SAAA,CAAU,SAAU,EAAA,CAAA;AAAA,WACrB,CAAA,CAAA;AAED,UAAAA,WAAU,eAAgB,CAAA,EAAA,CAAG,OAAO,EAAE,MAAW,KAAA;AAC/C,YAAM,MAAA,SAAA,GAAYF,UAAM,QAAQ,CAAA,CAAA;AAEhC,YAAA,IAAI,CAAC,SAAW,EAAA;AACd,cAAA,OAAA,CAAQ,IAAK,CAAA,CAAA,gCAAA,EAAUE,UAAU,CAAA,IAAI,CAAe,uBAAA,CAAA,CAAA,CAAA;AACpD,cAAA,OAAA;AAAA,aACF;AAEA,YAAA,YAAA,CAAa,KAAQ,GAAA,IAAA,CAAA;AAErB,YAAI,IAAA;AACF,cAAM,MAAA,QAAA,GAAW,MAAM,SAAU,CAAA,UAAA;AAAA,gBAC/B,IAAA,CAAKA,WAAU,UAAU,CAAA;AAAA,eAC3B,CAAA;AAEA,cAAI,IAAA,QAAA,CAAS,IAAK,CAAA,IAAA,KAAS,GAAK,EAAA;AAC9B,gBAAUC,qBAAA,CAAA,KAAA,CAAM,QAAS,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AACjC,gBAAA,YAAA,CAAa,KAAQ,GAAA,KAAA,CAAA;AACrB,gBAAA,OAAA;AAAA,eACF;AAAA,qBACO,CAAG,EAAA;AACV,cAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AACf,cAAA,YAAA,CAAa,KAAQ,GAAA,KAAA,CAAA;AAAA,aACvB;AAAA,WACD,CAAA,CAAA;AAAA,SACH;AAEA,QAAA,SAAA,CAAU,MAAM;AACd,UAAAD,YAAW,cAAe,EAAA,CAAA;AAC1B,UAAAA,YAAW,OAAQ,EAAA,CAAA;AAAA,SACpB,CAAA,CAAA;AAAA,OACH;AAAA,MACA,EAAE,WAAW,IAAK,EAAA;AAAA,KACpB,CAAA;AAEA,IAAA,MAAM,eAAe,YAAY;AAC/B,MAAI,IAAA;AACF,QAAM,MAAA,SAAA,GAAYF,UAAM,QAAQ,CAAA,CAAA;AAEhC,QAAA,IAAI,CAAC,SAAW,EAAA;AACd,UAAA,OAAA;AAAA,SACF;AAEA,QAAA,IAAI,CAAE,MAAM,SAAU,CAAA,QAAA,EAAa,EAAA;AACjC,UAAA,OAAA;AAAA,SACF;AAEA,QAAM,MAAA,QAAA,GAAW,MAAM,SAAA,CAAU,MAAO,EAAA,CAAA;AAExC,QAAI,IAAA,QAAA,CAAS,IAAK,CAAA,IAAA,KAAS,GAAK,EAAA;AAC9B,UAAAG,qBAAA,CAAU,MAAM,EAAE,OAAA,EAAS,QAAS,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AAC9C,UAAA,OAAA;AAAA,SACF;AAEA,QAAMH,SAAA,CAAA,SAAS,GAAG,IAAK,EAAA,CAAA;AACvB,QAAAG,qBAAA,CAAU,OAAQ,CAAA;AAAA,UAChB,OAAS,EAAAC,WAAA,CAAK,QAAS,CAAA,SAAA,CAAU,wBAAwB,CAAA;AAAA,SAC1D,CAAA,CAAA;AAED,QAAA,YAAA,CAAa,KAAQ,GAAA,KAAA,CAAA;AAAA,eACd,CAAG,EAAA;AACV,QAAAD,qBAAA,CAAU,KAAM,CAAA;AAAA,UACd,OAAS,EAAAC,WAAA,CAAK,QAAS,CAAA,SAAA,CAAU,sBAAsB,CAAA;AAAA,SACxD,CAAA,CAAA;AAAA,OACH;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAMJ,SAAA,CAAA,QAAQ,GAAG,MAAO,EAAA,CAAA;AACxB,MAAA,YAAA,CAAa,KAAQ,GAAA,KAAA,CAAA;AAAA,KACvB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
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 {
|
|
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, "" | "
|
|
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, "" | "
|
|
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, "" | "
|
|
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, "" | "
|
|
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, "" | "
|
|
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, "" | "
|
|
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, "" | "
|
|
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 @@
|
|
|
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 +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":"
|
|
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 {
|
|
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 {
|
|
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.
|
|
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.
|
|
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
|
+
});
|
|
@@ -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 {
|
|
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);
|