@maketribe/ms-app 3.2.15 → 3.2.17

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 (164) hide show
  1. package/dist/cjs/components/basic/data-table-select/data-table-select.js +3 -0
  2. package/dist/cjs/components/basic/data-table-select/data-table-select.js.map +1 -1
  3. package/dist/cjs/components/basic/doc-editor/editor.vue.js +16 -3
  4. package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
  5. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +40 -29
  6. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  7. package/dist/cjs/components/business/verify-dialog/index.js +4 -5
  8. package/dist/cjs/components/business/verify-dialog/index.js.map +1 -1
  9. package/dist/cjs/components/business/verify-dialog/verify-dialog-api.js +28 -0
  10. package/dist/cjs/components/business/verify-dialog/verify-dialog-api.js.map +1 -0
  11. package/dist/cjs/components/business/verify-dialog/verify-dialog-option.js +0 -4
  12. package/dist/cjs/components/business/verify-dialog/verify-dialog-option.js.map +1 -1
  13. package/dist/cjs/components/business/verify-dialog/{verify-dialog.js → verify-panel.js} +46 -55
  14. package/dist/cjs/components/business/verify-dialog/verify-panel.js.map +1 -0
  15. package/dist/cjs/components/data-model/data-form/components/form-detail/form-detail.js +5 -3
  16. package/dist/cjs/components/data-model/data-form/components/form-detail/form-detail.js.map +1 -1
  17. package/dist/cjs/components/data-model/data-form/views/form/form.js +1 -0
  18. package/dist/cjs/components/data-model/data-form/views/form/form.js.map +1 -1
  19. package/dist/cjs/composables/use-single-view.js +3 -5
  20. package/dist/cjs/composables/use-single-view.js.map +1 -1
  21. package/dist/cjs/index.js +1 -1
  22. package/dist/cjs/installer.js +28 -19
  23. package/dist/cjs/installer.js.map +1 -1
  24. package/dist/cjs/layouts/components/bar/index.js +4 -4
  25. package/dist/cjs/layouts/components/header/tools.js +15 -24
  26. package/dist/cjs/layouts/components/header/tools.js.map +1 -1
  27. package/dist/cjs/layouts/components/menu/menu-item.js +5 -5
  28. package/dist/cjs/layouts/container/default.js +6 -6
  29. package/dist/cjs/layouts/container/default.js.map +1 -1
  30. package/dist/cjs/message-impl/DialogerImpl.js +4 -2
  31. package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
  32. package/dist/cjs/modules/cms/components/part-tree/index.vue.js +2 -2
  33. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +1 -1
  34. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +1 -1
  35. package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +1 -1
  36. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +1 -1
  37. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +5 -5
  38. package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js +4 -1
  39. package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
  40. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +4 -4
  41. package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js +5 -2
  42. package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
  43. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +5 -5
  44. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +9 -6
  45. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  46. package/dist/cjs/modules/ms/components/material-list/material-list-options.js +1 -1
  47. package/dist/cjs/modules/ms/components/material-list/material-list.js +1 -1
  48. package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -1
  49. package/dist/cjs/modules/ms/dataviews/log/local-log/LocalLogTree.js +29 -38
  50. package/dist/cjs/modules/ms/dataviews/log/local-log/LocalLogTree.js.map +1 -1
  51. package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js +1 -1
  52. package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
  53. package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +5 -2
  54. package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
  55. package/dist/cjs/modules/ms/pages/icons/index.vue2.js +5 -2
  56. package/dist/cjs/modules/ms/pages/icons/index.vue2.js.map +1 -1
  57. package/dist/cjs/modules/ms/pages/local-log/index.vue2.js +1 -1
  58. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +5 -5
  59. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +2 -2
  60. package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js +4 -4
  61. package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +1 -1
  62. package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js +4 -4
  63. package/dist/cjs/page/index/dv/default/edit.vue2.js +1 -1
  64. package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +4 -4
  65. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +4 -4
  66. package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js +2 -2
  67. package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js +2 -2
  68. package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js +4 -4
  69. package/dist/cjs/page/index/dv/default/table.vue2.js +1 -1
  70. package/dist/cjs/page/login/index.vue2.js +123 -140
  71. package/dist/cjs/page/login/index.vue2.js.map +1 -1
  72. package/dist/cjs/page/signup/index.vue2.js +112 -139
  73. package/dist/cjs/page/signup/index.vue2.js.map +1 -1
  74. package/dist/esm/components/basic/data-table-select/data-table-select.js +3 -0
  75. package/dist/esm/components/basic/data-table-select/data-table-select.js.map +1 -1
  76. package/dist/esm/components/basic/doc-editor/editor.vue.js +16 -3
  77. package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
  78. package/dist/esm/components/business/resource-manager/resource-manager.vue.js +41 -30
  79. package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  80. package/dist/esm/components/business/verify-dialog/index.js +4 -5
  81. package/dist/esm/components/business/verify-dialog/index.js.map +1 -1
  82. package/dist/esm/components/business/verify-dialog/verify-dialog-api.js +29 -0
  83. package/dist/esm/components/business/verify-dialog/verify-dialog-api.js.map +1 -0
  84. package/dist/esm/components/business/verify-dialog/verify-dialog-option.js +0 -4
  85. package/dist/esm/components/business/verify-dialog/verify-dialog-option.js.map +1 -1
  86. package/dist/esm/components/business/verify-dialog/{verify-dialog.js → verify-panel.js} +47 -56
  87. package/dist/esm/components/business/verify-dialog/verify-panel.js.map +1 -0
  88. package/dist/esm/components/data-model/data-form/components/form-detail/form-detail.js +5 -3
  89. package/dist/esm/components/data-model/data-form/components/form-detail/form-detail.js.map +1 -1
  90. package/dist/esm/components/data-model/data-form/views/form/form.js +1 -0
  91. package/dist/esm/components/data-model/data-form/views/form/form.js.map +1 -1
  92. package/dist/esm/composables/use-single-view.js +3 -5
  93. package/dist/esm/composables/use-single-view.js.map +1 -1
  94. package/dist/esm/index.js +2 -2
  95. package/dist/esm/installer.js +12 -3
  96. package/dist/esm/installer.js.map +1 -1
  97. package/dist/esm/layouts/components/bar/index.js +4 -4
  98. package/dist/esm/layouts/components/header/tools.js +11 -20
  99. package/dist/esm/layouts/components/header/tools.js.map +1 -1
  100. package/dist/esm/layouts/components/menu/menu-item.js +5 -5
  101. package/dist/esm/layouts/container/default.js +6 -6
  102. package/dist/esm/layouts/container/default.js.map +1 -1
  103. package/dist/esm/message-impl/DialogerImpl.js +4 -2
  104. package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
  105. package/dist/esm/modules/cms/components/part-tree/index.vue.js +2 -2
  106. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +1 -1
  107. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +1 -1
  108. package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +1 -1
  109. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +1 -1
  110. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +5 -5
  111. package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js +4 -1
  112. package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
  113. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +4 -4
  114. package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js +5 -2
  115. package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
  116. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +5 -5
  117. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +9 -6
  118. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  119. package/dist/esm/modules/ms/components/material-list/material-list-options.js +1 -1
  120. package/dist/esm/modules/ms/components/material-list/material-list.js +1 -1
  121. package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -1
  122. package/dist/esm/modules/ms/dataviews/log/local-log/LocalLogTree.js +30 -39
  123. package/dist/esm/modules/ms/dataviews/log/local-log/LocalLogTree.js.map +1 -1
  124. package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js +1 -1
  125. package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
  126. package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +5 -2
  127. package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
  128. package/dist/esm/modules/ms/pages/icons/index.vue2.js +5 -2
  129. package/dist/esm/modules/ms/pages/icons/index.vue2.js.map +1 -1
  130. package/dist/esm/modules/ms/pages/local-log/index.vue2.js +1 -1
  131. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +5 -5
  132. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +2 -2
  133. package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js +4 -4
  134. package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +1 -1
  135. package/dist/esm/modules/ms/pages/ms-role/index.vue2.js +4 -4
  136. package/dist/esm/page/index/dv/default/edit.vue2.js +1 -1
  137. package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +4 -4
  138. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +4 -4
  139. package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js +2 -2
  140. package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js +2 -2
  141. package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js +4 -4
  142. package/dist/esm/page/index/dv/default/table.vue2.js +1 -1
  143. package/dist/esm/page/login/index.vue2.js +125 -142
  144. package/dist/esm/page/login/index.vue2.js.map +1 -1
  145. package/dist/esm/page/signup/index.vue2.js +114 -141
  146. package/dist/esm/page/signup/index.vue2.js.map +1 -1
  147. package/dist/style/index.css +1 -1
  148. package/dist/style/modules/cms/index.css +1 -1
  149. package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
  150. package/dist/style/modules/cms/resource-manager.css +1 -1
  151. package/dist/style/src/modules/cms/pages/cms-contents/index.scss +1 -1
  152. package/dist/style/src/modules/cms/resource-manager.scss +1 -1
  153. package/dist/types/components/basic/doc-editor/editor.vue.d.ts +18 -0
  154. package/dist/types/components/basic/doc-editor/index.d.ts +38 -0
  155. package/dist/types/components/business/resource-manager/index.d.ts +25 -3
  156. package/dist/types/components/business/resource-manager/resource-manager.vue.d.ts +11 -1
  157. package/dist/types/components/business/verify-dialog/index.d.ts +3 -38
  158. package/dist/types/components/business/verify-dialog/verify-dialog-api.d.ts +7 -0
  159. package/dist/types/components/business/verify-dialog/verify-dialog-option.d.ts +0 -6
  160. package/dist/types/components/business/verify-dialog/{verify-dialog.d.ts → verify-panel.d.ts} +0 -12
  161. package/dist/types/modules/ms/dataviews/log/local-log/LocalLogTree.d.ts +1 -2
  162. package/package.json +4 -4
  163. package/dist/cjs/components/business/verify-dialog/verify-dialog.js.map +0 -1
  164. package/dist/esm/components/business/verify-dialog/verify-dialog.js.map +0 -1
@@ -1,8 +1,7 @@
1
- import { withInstall } from "@maketribe/utils";
2
- import VerifyDialog from "./verify-dialog.js";
3
- const MKVerifyDialog = withInstall(VerifyDialog);
1
+ import OpenVerifyCode from "./verify-dialog-api.js";
2
+ const MKOpenVerifyCode = OpenVerifyCode;
4
3
  export {
5
- MKVerifyDialog,
6
- MKVerifyDialog as default
4
+ MKOpenVerifyCode,
5
+ MKOpenVerifyCode as default
7
6
  };
8
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/business/verify-dialog/index.ts"],"sourcesContent":["import { withInstall } from \"@maketribe/utils\";\r\nimport VerifyDialog from \"./verify-dialog\";\r\n\r\nexport const MKVerifyDialog = withInstall(VerifyDialog);\r\nexport default MKVerifyDialog;\r\n"],"names":[],"mappings":";;AAGa,MAAA,iBAAiB,YAAY,YAAY;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/business/verify-dialog/index.ts"],"sourcesContent":["import OpenVerifyCode from \"./verify-dialog-api\"\r\n\r\nexport const MKOpenVerifyCode = OpenVerifyCode;\r\nexport default MKOpenVerifyCode;\r\n"],"names":[],"mappings":";AAEO,MAAM,mBAAmB;"}
@@ -0,0 +1,29 @@
1
+ import { createVNode } from "vue";
2
+ import { Dialoger } from "@maketribe/dm";
3
+ import VerifyPanel from "./verify-panel.js";
4
+ async function OpenVerifyCode(options) {
5
+ return new Promise((resolve) => {
6
+ const dialogInstance = Dialoger.customRender({
7
+ width: options.width ?? "300px",
8
+ title: options.title ?? "选择文件",
9
+ class: "mk-verify-dialog",
10
+ body: () => createVNode(VerifyPanel, {
11
+ "scene": options.sence,
12
+ "onConfirm": (result) => {
13
+ dialogInstance.destroy();
14
+ resolve(result);
15
+ }
16
+ }, null),
17
+ footer: () => "",
18
+ onClose: () => {
19
+ setTimeout(() => {
20
+ dialogInstance.destroy();
21
+ }, 100);
22
+ }
23
+ });
24
+ });
25
+ }
26
+ export {
27
+ OpenVerifyCode as default
28
+ };
29
+ //# sourceMappingURL=verify-dialog-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-dialog-api.js","sources":["../../../../../src/components/business/verify-dialog/verify-dialog-api.tsx"],"sourcesContent":["import { Fragment, reactive } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport VerifyPanel from \"./verify-panel\";\r\nimport { ElButton } from \"element-plus\";\r\n\r\ntype VerifyCodeOptions = { sence:string,title:string,width:string }\r\n\r\nasync function OpenVerifyCode(options: VerifyCodeOptions): Promise<any> {\r\n return new Promise((resolve) => {\r\n \r\n const dialogInstance = Dialoger.customRender({\r\n width: options.width ?? \"300px\",\r\n title: options.title ?? \"选择文件\",\r\n class: \"mk-verify-dialog\",\r\n body: () => (\r\n <VerifyPanel scene={options.sence} onConfirm={\r\n result=>{\r\n dialogInstance.destroy();\r\n resolve(result)\r\n }\r\n }></VerifyPanel>\r\n ),\r\n footer: () => \"\",\r\n onClose: () => {\r\n setTimeout(() => {\r\n dialogInstance.destroy();\r\n }, 100);\r\n },\r\n });\r\n });\r\n}\r\n\r\nexport default OpenVerifyCode;\r\n"],"names":["OpenVerifyCode","options","Promise","resolve","dialogInstance","Dialoger","customRender","width","title","class","body","_createVNode","VerifyPanel","sence","result","destroy","footer","onClose","setTimeout"],"mappings":";;;AAOA,eAAeA,eAAeC,SAA0C;AACtE,SAAO,IAAIC,QAASC,aAAY;AAE9B,UAAMC,iBAAiBC,SAASC,aAAa;AAAA,MAC3CC,OAAON,QAAQM,SAAS;AAAA,MACxBC,OAAOP,QAAQO,SAAS;AAAA,MACxBC,OAAO;AAAA,MACPC,MAAMA,MAAAC,YAAAC,aAAA;AAAA,QAAA,SACgBX,QAAQY;AAAAA,QAAK,aAC/BC,YAAQ;AACNV,yBAAeW,QAAO;AACtBZ,kBAAQW,MAAM;AAAA,QAChB;AAAA,MAEH,GAAA,IAAA;AAAA,MACDE,QAAQA,MAAM;AAAA,MACdC,SAASA,MAAM;AACbC,mBAAW,MAAM;AACfd,yBAAeW,QAAO;AAAA,QACvB,GAAE,GAAG;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;"}
@@ -1,9 +1,5 @@
1
1
  import { buildProps } from "@maketribe/utils";
2
2
  const verifyDialogProps = buildProps({
3
- visible: {
4
- type: Boolean,
5
- required: true
6
- },
7
3
  scene: {
8
4
  type: String,
9
5
  required: true
@@ -1 +1 @@
1
- {"version":3,"file":"verify-dialog-option.js","sources":["../../../../../src/components/business/verify-dialog/verify-dialog-option.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\n\r\nexport const verifyDialogProps = buildProps({\r\n visible: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n scene: {\r\n type: String,\r\n required: true,\r\n },\r\n width: {\r\n type: String,\r\n default: \"300px\",\r\n },\r\n} as const);\r\n\r\nexport const verifyDialogEmits = {\r\n \"update:visible\": (modelValue: any) => true,\r\n\r\n confirm: (modelValue: any) => true,\r\n};\r\nexport type VerifyDialogProps = ExtractPropTypes<typeof verifyDialogEmits>;\r\n"],"names":[],"mappings":";AAGO,MAAM,oBAAoB,WAAW;AAAA,EAC1C,SAAS;AAAA,IACP,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF,CAAU;AAEH,MAAM,oBAAoB;AAAA,EAC/B,kBAAkB,CAAC,eAAoB;AAAA,EAEvC,SAAS,CAAC,eAAoB;AAChC;"}
1
+ {"version":3,"file":"verify-dialog-option.js","sources":["../../../../../src/components/business/verify-dialog/verify-dialog-option.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\n\r\nexport const verifyDialogProps = buildProps({\r\n scene: {\r\n type: String,\r\n required: true,\r\n },\r\n width: {\r\n type: String,\r\n default: \"300px\",\r\n },\r\n} as const);\r\n\r\nexport const verifyDialogEmits = {\r\n \"update:visible\": (modelValue: any) => true,\r\n\r\n confirm: (modelValue: any) => true,\r\n};\r\nexport type VerifyDialogProps = ExtractPropTypes<typeof verifyDialogEmits>;\r\n"],"names":[],"mappings":";AAGO,MAAM,oBAAoB,WAAW;AAAA,EAC1C,OAAO;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF,CAAU;AAEH,MAAM,oBAAoB;AAAA,EAC/B,kBAAkB,CAAC,eAAoB;AAAA,EAEvC,SAAS,CAAC,eAAoB;AAChC;"}
@@ -1,5 +1,4 @@
1
- import { defineComponent, ref, computed, unref, onMounted, watch, createVNode } from "vue";
2
- import { ElDialog } from "element-plus";
1
+ import { defineComponent, ref, computed, unref, onMounted, onUnmounted, createVNode, Fragment, withDirectives, resolveDirective } from "vue";
3
2
  import "@maketribe/dm";
4
3
  import "../../basic/config-provider/index.js";
5
4
  import "vue-router";
@@ -7,13 +6,13 @@ import "@maketribe/request";
7
6
  import "@maketribe/locale";
8
7
  import { Disposable, createDisposable } from "@maketribe/utils";
9
8
  import "../../../core/DataModelDefines.js";
9
+ import "element-plus";
10
10
  import { useHttpRequest } from "../../../composables/use-http-request.js";
11
11
  import { verifyDialogProps, verifyDialogEmits } from "./verify-dialog-option.js";
12
- const VerifyDialog = /* @__PURE__ */ defineComponent({
13
- name: "MKVerifyDialog",
12
+ const VerifyPanel = /* @__PURE__ */ defineComponent({
13
+ name: "VerifyPanel",
14
14
  props: verifyDialogProps,
15
15
  emits: verifyDialogEmits,
16
- // expose: ["fail"],
17
16
  setup(props, {
18
17
  emit,
19
18
  expose
@@ -24,26 +23,24 @@ const VerifyDialog = /* @__PURE__ */ defineComponent({
24
23
  let slideWidth = 48;
25
24
  const isError = ref(false);
26
25
  const deg = ref(0);
27
- const httpRequest = useHttpRequest();
28
26
  const imageUrl = ref("");
27
+ const loading = ref(false);
29
28
  const imageStyle = computed(() => {
30
29
  return {
31
30
  backgroundImage: `url(${unref(imageUrl)})`,
32
31
  transform: `rotate(-${unref(deg)}deg)`
33
32
  };
34
33
  });
35
- const visible = computed({
36
- get: () => props.visible,
37
- set: (v) => emit("update:visible", v)
38
- });
39
34
  const getImage = async () => {
35
+ loading.value = true;
40
36
  const params = {
41
37
  scene: props.scene
42
38
  };
43
- const response = await httpRequest.get("/ms/app/captcha/rotation/image", {
39
+ const response = await useHttpRequest().get("/ms/app/captcha/rotation/image", {
44
40
  params,
45
41
  responseType: "blob"
46
42
  });
43
+ loading.value = false;
47
44
  return response.data ?? null;
48
45
  };
49
46
  const handleSwitchConfirm = () => {
@@ -56,7 +53,9 @@ const VerifyDialog = /* @__PURE__ */ defineComponent({
56
53
  const disposable = new Disposable();
57
54
  const totalWidth = unref(wrapperEl).getBoundingClientRect().width;
58
55
  const handleMouseMove = (event) => {
59
- slideWidth = Math.min(Math.max(event.clientX - mouseDownEvent.clientX + 48, 48), totalWidth);
56
+ const x = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;
57
+ const y = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;
58
+ slideWidth = Math.min(Math.max(x - y + 48, 48), totalWidth);
60
59
  deg.value = Math.floor((slideWidth - 48) / (totalWidth - 48) * 360);
61
60
  unref(grandEl).style.width = `${slideWidth}px`;
62
61
  unref(buttonEl).style.transform = `translateX(${slideWidth - 48}px)`;
@@ -68,10 +67,16 @@ const VerifyDialog = /* @__PURE__ */ defineComponent({
68
67
  disposable.dispose();
69
68
  };
70
69
  document.addEventListener("mousemove", handleMouseMove);
70
+ document.addEventListener("touchmove", handleMouseMove);
71
71
  document.addEventListener("mouseup", handleMouseUp);
72
+ document.addEventListener("touchend", handleMouseUp);
73
+ document.addEventListener("touchcancel", handleMouseUp);
72
74
  disposable.register(createDisposable(() => {
73
75
  document.removeEventListener("mousemove", handleMouseMove);
76
+ document.removeEventListener("touchmove", handleMouseMove);
74
77
  document.removeEventListener("mouseup", handleMouseUp);
78
+ document.removeEventListener("touchend", handleMouseUp);
79
+ document.removeEventListener("touchcancel", handleMouseUp);
75
80
  }));
76
81
  };
77
82
  const reset = () => {
@@ -87,55 +92,41 @@ const VerifyDialog = /* @__PURE__ */ defineComponent({
87
92
  }, 1e3);
88
93
  }
89
94
  });
90
- onMounted(() => {
91
- watch(visible, async (visible2, _, onCleanup) => {
92
- if (visible2) {
93
- const blob = await getImage();
94
- const url = URL.createObjectURL(blob);
95
- imageUrl.value = url;
96
- onCleanup(() => {
97
- URL.revokeObjectURL(url);
98
- });
99
- }
100
- }, {
101
- immediate: true
95
+ onMounted(async () => {
96
+ const blob = await getImage();
97
+ const url = URL.createObjectURL(blob);
98
+ imageUrl.value = url;
99
+ onUnmounted(() => {
100
+ URL.revokeObjectURL(url);
102
101
  });
103
102
  });
104
103
  return () => {
105
- return createVNode(ElDialog, {
106
- "modelValue": visible.value,
107
- "onUpdate:modelValue": (v) => visible.value = v,
108
- "modal-class": "mk-verify-dialog",
109
- "width": props.width,
110
- "title": "请完成下方验证后继续操作",
111
- "appendToBody": true
112
- }, {
113
- default: () => [createVNode("div", {
114
- "class": "mk-verify-dialog__wrapper"
115
- }, [createVNode("div", {
116
- "class": "mk-verify-dialog__image",
117
- "ref": "imageEl",
118
- "style": imageStyle.value
119
- }, null), createVNode("div", {
120
- "class": "mk-verify-dialog__coordinate"
121
- }, null)]), createVNode("div", {
122
- "class": ["mk-verify-switch", unref(isError) ? "is-error" : ""]
123
- }, [createVNode("div", {
124
- "class": "mk-verify-switch__wrapper",
125
- "ref": (el) => wrapperEl.value = el
126
- }, [createVNode("div", {
127
- "class": "mk-verify-switch__button-grand",
128
- "ref": (el) => grandEl.value = el
129
- }, null), createVNode("div", {
130
- "class": "mk-verify-switch__button",
131
- "ref": (el) => buttonEl.value = el,
132
- "onMousedown": handleMouseDown
133
- }, null)])])]
134
- });
104
+ return createVNode(Fragment, null, [withDirectives(createVNode("div", {
105
+ "class": "mk-verify-dialog__wrapper"
106
+ }, [createVNode("div", {
107
+ "class": "mk-verify-dialog__image",
108
+ "ref": "imageEl",
109
+ "style": imageStyle.value
110
+ }, null), createVNode("div", {
111
+ "class": "mk-verify-dialog__coordinate"
112
+ }, null)]), [[resolveDirective("loading"), unref(loading)]]), createVNode("div", {
113
+ "class": ["mk-verify-switch", unref(isError) ? "is-error" : ""]
114
+ }, [createVNode("div", {
115
+ "class": "mk-verify-switch__wrapper",
116
+ "ref": (el) => wrapperEl.value = el
117
+ }, [createVNode("div", {
118
+ "class": "mk-verify-switch__button-grand",
119
+ "ref": (el) => grandEl.value = el
120
+ }, null), createVNode("div", {
121
+ "class": "mk-verify-switch__button",
122
+ "ref": (el) => buttonEl.value = el,
123
+ "onMousedown": handleMouseDown,
124
+ "onTouchstart": handleMouseDown
125
+ }, null)])])]);
135
126
  };
136
127
  }
137
128
  });
138
129
  export {
139
- VerifyDialog as default
130
+ VerifyPanel as default
140
131
  };
141
- //# sourceMappingURL=verify-dialog.js.map
132
+ //# sourceMappingURL=verify-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-panel.js","sources":["../../../../../src/components/business/verify-dialog/verify-panel.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n unref,\r\n ref,\r\n onMounted,\r\n onUnmounted,\r\n Ref,\r\n Fragment\r\n} from \"vue\";\r\nimport { useHttpRequest } from \"../../../composables\";\r\nimport { verifyDialogProps, verifyDialogEmits } from \"./verify-dialog-option\";\r\nimport { Disposable, createDisposable } from \"@maketribe/utils\";\r\n\r\nexport default defineComponent({\r\n name: \"VerifyPanel\",\r\n props: verifyDialogProps,\r\n emits: verifyDialogEmits,\r\n setup(props, { emit, expose }) {\r\n \r\n const wrapperEl: Ref<HTMLElement | null> = ref(null);\r\n const buttonEl: Ref<HTMLElement | null> = ref(null);\r\n const grandEl: Ref<HTMLElement | null> = ref(null);\r\n\r\n // 样式默认宽度是48px\r\n let slideWidth: number = 48;\r\n\r\n const isError = ref(false);\r\n\r\n const deg = ref(0);\r\n\r\n const imageUrl = ref(\"\");\r\n const loading = ref(false);\r\n const imageStyle = computed(() => {\r\n return {\r\n backgroundImage: `url(${unref(imageUrl)})`,\r\n transform: `rotate(-${unref(deg)}deg)`,\r\n };\r\n });\r\n\r\n const getImage = async () => {\r\n\r\n loading.value = true;\r\n\r\n const params = { scene: props.scene };\r\n\r\n const response = await useHttpRequest()!.get<Blob>(\"/ms/app/captcha/rotation/image\",{\r\n params,\r\n responseType: \"blob\",\r\n });\r\n\r\n loading.value = false;\r\n return response.data ?? null;\r\n };\r\n\r\n const handleSwitchConfirm = () => {\r\n emit(\"confirm\", unref(deg));\r\n };\r\n\r\n const handleMouseDown = (mouseDownEvent: MouseEvent|TouchEvent) => {\r\n if (unref(isError)) {\r\n return;\r\n }\r\n\r\n const disposable = new Disposable();\r\n\r\n const totalWidth = unref(wrapperEl)!.getBoundingClientRect().width;\r\n\r\n const handleMouseMove = (event: MouseEvent|TouchEvent) => {\r\n \r\n const x = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;\r\n const y = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;\r\n\r\n // 限定宽度范围\r\n slideWidth = Math.min(Math.max(x - y + 48, 48),totalWidth);\r\n\r\n deg.value = Math.floor(((slideWidth - 48) / (totalWidth - 48)) * 360);\r\n\r\n unref(grandEl)!.style.width = `${slideWidth}px`;\r\n unref(buttonEl)!.style.transform = `translateX(${slideWidth - 48}px)`;\r\n };\r\n\r\n const handleMouseUp = (event: MouseEvent|TouchEvent) => {\r\n if (deg.value !== 0) {\r\n handleSwitchConfirm();\r\n }\r\n\r\n disposable.dispose();\r\n };\r\n\r\n document.addEventListener(\"mousemove\", handleMouseMove);\r\n document.addEventListener(\"touchmove\", handleMouseMove);\r\n document.addEventListener(\"mouseup\", handleMouseUp);\r\n document.addEventListener(\"touchend\", handleMouseUp);\r\n document.addEventListener(\"touchcancel\", handleMouseUp);\r\n\r\n disposable.register(\r\n createDisposable(() => {\r\n document.removeEventListener(\"mousemove\", handleMouseMove);\r\n document.removeEventListener(\"touchmove\", handleMouseMove);\r\n document.removeEventListener(\"mouseup\", handleMouseUp);\r\n document.removeEventListener(\"touchend\", handleMouseUp);\r\n document.removeEventListener(\"touchcancel\", handleMouseUp);\r\n })\r\n );\r\n };\r\n\r\n const reset = () => {\r\n unref(grandEl)!.style.width = ``;\r\n unref(buttonEl)!.style.transform = ``;\r\n };\r\n\r\n expose({\r\n fail: () => {\r\n isError.value = true;\r\n\r\n setTimeout(() => {\r\n isError.value = false;\r\n\r\n reset();\r\n }, 1000);\r\n },\r\n });\r\n\r\n onMounted(async () => {\r\n\r\n const blob = await getImage();\r\n const url = URL.createObjectURL(blob);\r\n\r\n imageUrl.value = url;\r\n\r\n onUnmounted(()=>{\r\n URL.revokeObjectURL(url);\r\n })\r\n \r\n });\r\n return () => {\r\n return (\r\n <Fragment>\r\n <div class=\"mk-verify-dialog__wrapper\" v-loading={unref(loading)}>\r\n <div\r\n class=\"mk-verify-dialog__image\"\r\n ref=\"imageEl\"\r\n style={imageStyle.value}\r\n />\r\n <div class=\"mk-verify-dialog__coordinate\" />\r\n </div>\r\n <div class={[\"mk-verify-switch\", unref(isError) ? \"is-error\" : \"\"]}>\r\n <div\r\n class=\"mk-verify-switch__wrapper\"\r\n ref={((el: HTMLDivElement) => (wrapperEl.value = el)) as any}\r\n >\r\n <div\r\n class=\"mk-verify-switch__button-grand\"\r\n ref={((el: HTMLDivElement) => (grandEl.value = el)) as any}\r\n />\r\n <div\r\n class=\"mk-verify-switch__button\"\r\n ref={((el: HTMLDivElement) => (buttonEl.value = el)) as any}\r\n onMousedown={handleMouseDown}\r\n onTouchstart={handleMouseDown}\r\n />\r\n </div>\r\n </div>\r\n </Fragment>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["defineComponent","name","props","verifyDialogProps","emits","verifyDialogEmits","setup","emit","expose","wrapperEl","ref","buttonEl","grandEl","slideWidth","isError","deg","imageUrl","loading","imageStyle","computed","backgroundImage","unref","transform","getImage","value","params","scene","response","useHttpRequest","get","responseType","data","handleSwitchConfirm","handleMouseDown","mouseDownEvent","disposable","Disposable","totalWidth","getBoundingClientRect","width","handleMouseMove","event","x","MouseEvent","clientX","touches","y","clientY","Math","min","max","floor","style","handleMouseUp","dispose","document","addEventListener","register","createDisposable","removeEventListener","reset","fail","setTimeout","onMounted","blob","url","URL","createObjectURL","onUnmounted","revokeObjectURL","_createVNode","_Fragment","_withDirectives","_resolveDirective","el"],"mappings":";;;;;;;;;;;AAcA,MAAeA,8CAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,OAAOC;AAAAA,EACPC,MAAMJ,OAAO;AAAA,IAAEK;AAAAA,IAAMC;AAAAA,EAAO,GAAG;AAE7B,UAAMC,YAAqCC,IAAI,IAAI;AACnD,UAAMC,WAAoCD,IAAI,IAAI;AAClD,UAAME,UAAmCF,IAAI,IAAI;AAGjD,QAAIG,aAAqB;AAEzB,UAAMC,UAAUJ,IAAI,KAAK;AAEzB,UAAMK,MAAML,IAAI,CAAC;AAEjB,UAAMM,WAAWN,IAAI,EAAE;AACvB,UAAMO,UAAUP,IAAI,KAAK;AACzB,UAAMQ,aAAaC,SAAS,MAAM;AAChC,aAAO;AAAA,QACLC,iBAAiB,OAAOC,MAAML,QAAQ,CAAC;AAAA,QACvCM,WAAW,WAAWD,MAAMN,GAAG,CAAC;AAAA;IAEpC,CAAC;AAED,UAAMQ,WAAW,YAAY;AAE3BN,cAAQO,QAAQ;AAEhB,YAAMC,SAAS;AAAA,QAAEC,OAAOxB,MAAMwB;AAAAA;AAE9B,YAAMC,WAAW,MAAMC,iBAAkBC,IAAU,kCAAiC;AAAA,QAChFJ;AAAAA,QACAK,cAAc;AAAA,MAClB,CAAC;AAEDb,cAAQO,QAAQ;AAChB,aAAOG,SAASI,QAAQ;AAAA;AAG1B,UAAMC,sBAAsBA,MAAM;AAChCzB,WAAK,WAAWc,MAAMN,GAAG,CAAC;AAAA;AAG5B,UAAMkB,kBAAmBC,oBAA0C;AACjE,UAAIb,MAAMP,OAAO,GAAG;AAClB;AAAA,MACF;AAEA,YAAMqB,aAAa,IAAIC;AAEvB,YAAMC,aAAahB,MAAMZ,SAAS,EAAG6B,sBAAqB,EAAGC;AAE7D,YAAMC,kBAAmBC,WAAiC;AAExD,cAAMC,IAAID,iBAAiBE,aAAaF,MAAMG,UAAUH,MAAMI,QAAQ,CAAC,EAAED;AACzE,cAAME,IAAIL,iBAAiBE,aAAaF,MAAMM,UAAUN,MAAMI,QAAQ,CAAC,EAAEE;AAGzElC,qBAAamC,KAAKC,IAAID,KAAKE,IAAIR,IAAII,IAAI,IAAI,EAAE,GAAET,UAAU;AAEzDtB,YAAIS,QAAQwB,KAAKG,OAAQtC,aAAa,OAAOwB,aAAa,MAAO,GAAG;AAEpEhB,cAAMT,OAAO,EAAGwC,MAAMb,QAAQ,GAAG1B,UAAU;AAC3CQ,cAAMV,QAAQ,EAAGyC,MAAM9B,YAAY,cAAcT,aAAa,EAAE;AAAA;AAGlE,YAAMwC,gBAAiBZ,WAAiC;AACtD,YAAI1B,IAAIS,UAAU,GAAG;AACnBQ;QACF;AAEAG,mBAAWmB,QAAO;AAAA;AAGpBC,eAASC,iBAAiB,aAAahB,eAAe;AACtDe,eAASC,iBAAiB,aAAahB,eAAe;AACtDe,eAASC,iBAAiB,WAAWH,aAAa;AAClDE,eAASC,iBAAiB,YAAYH,aAAa;AACnDE,eAASC,iBAAiB,eAAeH,aAAa;AAEtDlB,iBAAWsB,SACTC,iBAAiB,MAAM;AACrBH,iBAASI,oBAAoB,aAAanB,eAAe;AACzDe,iBAASI,oBAAoB,aAAanB,eAAe;AACzDe,iBAASI,oBAAoB,WAAWN,aAAa;AACrDE,iBAASI,oBAAoB,YAAYN,aAAa;AACtDE,iBAASI,oBAAoB,eAAeN,aAAa;AAAA,MAC1D,CAAA,CACH;AAAA;AAGF,UAAMO,QAAQA,MAAM;AAClBvC,YAAMT,OAAO,EAAGwC,MAAMb,QAAQ;AAC9BlB,YAAMV,QAAQ,EAAGyC,MAAM9B,YAAY;AAAA;AAGrCd,WAAO;AAAA,MACLqD,MAAMA,MAAM;AACV/C,gBAAQU,QAAQ;AAEhBsC,mBAAW,MAAM;AACfhD,kBAAQU,QAAQ;AAEhBoC;QACD,GAAE,GAAI;AAAA,MACT;AAAA,IACF,CAAC;AAEDG,cAAU,YAAY;AAEpB,YAAMC,OAAO,MAAMzC;AACnB,YAAM0C,MAAMC,IAAIC,gBAAgBH,IAAI;AAEpChD,eAASQ,QAAQyC;AAEjBG,kBAAY,MAAI;AACdF,YAAIG,gBAAgBJ,GAAG;AAAA,MACzB,CAAC;AAAA,IAEH,CAAC;AACD,WAAO,MAAM;AACX,aAAAK,YAAAC,UAAAC,MAAAA,CAAAA,eAAAF,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,OAAA;AAAA,QAAA,SAMepD,WAAWM;AAAAA,MAAK,GAAA,IAAA,GAAA8C,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,IAAA,CAAA,CAAA,GAAA,CAAA,CAAAG,iBAJuBpD,SAAAA,GAAAA,MAAMJ,OAAO,CAAC,KAAAqD,YAAA,OAAA;AAAA,QAAA,SAQpD,CAAC,oBAAoBjD,MAAMP,OAAO,IAAI,aAAa,EAAE;AAAA,MAAC,GAAA,CAAAwD,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,OAGvDI,QAAwBjE,UAAUe,QAAQkD;AAAAA,MAAG,GAAA,CAAAJ,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,OAI3CI,QAAwB9D,QAAQY,QAAQkD;AAAAA,MAAG,GAAA,IAAA,GAAAJ,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,QAAA,OAI3CI,QAAwB/D,SAASa,QAAQkD;AAAAA,QAAG,eACtCzC;AAAAA,QAAe,gBACdA;AAAAA,MAAe,GAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA;EAO3C;AACF,CAAC;"}
@@ -26,14 +26,16 @@ const FormDetail = /* @__PURE__ */ defineComponent({
26
26
  });
27
27
  const isShowDataForm = ref(false);
28
28
  watch(detailTable, (dataTable, _, onCleanup) => {
29
- const addRecordDisposable = dataTable.addRecordEvent.on(async () => {
29
+ const addRecordDisposable = dataTable.addRecordEvent.on(async ({
30
+ item
31
+ }) => {
30
32
  const _dataForm = unref(detailForm);
31
33
  if (!_dataForm) {
32
34
  console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);
33
35
  return;
34
36
  }
35
37
  isShowDataForm.value = true;
36
- _dataForm.addRecord();
38
+ _dataForm.addRecord(item);
37
39
  });
38
40
  const editRecordDisposable = dataTable.editRecordEvent.on(async ({
39
41
  item
@@ -45,7 +47,7 @@ const FormDetail = /* @__PURE__ */ defineComponent({
45
47
  }
46
48
  isShowDataForm.value = true;
47
49
  try {
48
- const response = await _dataForm.editRecord(item[dataTable.primaryKey]);
50
+ const response = await _dataForm.editRecord(item);
49
51
  if (response.data.code !== 200) {
50
52
  Messager.error({
51
53
  message: response.data.msg
@@ -1 +1 @@
1
- {"version":3,"file":"form-detail.js","sources":["../../../../../../../src/components/data-model/data-form/components/form-detail/form-detail.tsx"],"sourcesContent":["import { computed, defineComponent, ref, unref, watch } from \"vue\";\nimport { MKPageContainer } from \"../../../../basic/page-container\";\nimport { MKDataTable } from \"../../../data-table\";\nimport DataForm from \"../../data-form\";\nimport { formDetailEmits, formDetailProps } from \"./form-detail-options\";\nimport { useFormItem } from \"../../composables\";\nimport { ElDrawer, ElEmpty } from \"element-plus\";\nimport { Messager } from \"@maketribe/dm\";\n\nexport default defineComponent({\n name: \"MKFormDetail\",\n props: formDetailProps,\n emits: formDetailEmits,\n setup(props) {\n const detailTable = computed(() => props.column.detailTable);\n const detailForm = computed(() => props.column.detailForm!);\n\n const { value } = useFormItem();\n\n watch(\n computed(() => unref(value)),\n (value) => {\n const _detailTable = unref(detailTable);\n\n value = Array.isArray(value) ? value : [];\n\n _detailTable.setList(\n value.map((item: any) => _detailTable.formatItem(item))\n );\n }\n );\n\n const isShowDataForm = ref(false);\n\n watch(\n detailTable,\n (dataTable, _, onCleanup) => {\n const addRecordDisposable = dataTable.addRecordEvent.on(async () => {\n const _dataForm = unref(detailForm);\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 const editRecordDisposable = dataTable.editRecordEvent.on(\n async ({ item }) => {\n const _dataForm = unref(detailForm);\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 as string]\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: 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 addRecordDisposable.dispose();\n editRecordDisposable.dispose();\n });\n },\n { immediate: true }\n );\n\n watch(\n detailForm,\n (dataForm, _, onCleanup) => {\n const submittedDisposable = dataForm.submittedEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(detailTable)?.load();\n });\n\n const cancelDisposable = dataForm.cancelEvent.on(() => {\n isShowDataForm.value = false;\n });\n\n onCleanup(() => {\n submittedDisposable.dispose();\n cancelDisposable.dispose();\n });\n },\n { immediate: true }\n );\n\n return () => {\n const dataForm = unref(isShowDataForm) ? (\n <MKPageContainer>\n <DataForm dataForm={unref(detailForm)} autoLoad={false} />\n </MKPageContainer>\n ) : null;\n\n return (\n <div class=\"mk-form-detail\">\n <MKDataTable\n dataTable={unref(detailTable)}\n autoLoad={false}\n v-slots={{ empty: () => <ElEmpty image-size={100} /> }}\n />\n <ElDrawer\n class=\"mk-form-detail__drawer\"\n modelValue={unref(isShowDataForm)}\n onUpdate:modelValue={(v) => (isShowDataForm.value = v)}\n appendToBody\n withHeader={false}\n width=\"50%\"\n >\n {dataForm}\n </ElDrawer>\n </div>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","formDetailProps","emits","formDetailEmits","setup","detailTable","computed","column","detailForm","value","useFormItem","watch","unref","_detailTable","Array","isArray","setList","map","item","formatItem","isShowDataForm","ref","dataTable","_","onCleanup","addRecordDisposable","addRecordEvent","on","_dataForm","console","warn","addRecord","editRecordDisposable","editRecordEvent","response","editRecord","primaryKey","data","code","Messager","error","message","msg","e","dispose","immediate","dataForm","submittedDisposable","submittedEvent","load","cancelDisposable","cancelEvent","_createVNode","MKPageContainer","default","DataForm","MKDataTable","empty","ElEmpty","ElDrawer","v"],"mappings":"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"}
1
+ {"version":3,"file":"form-detail.js","sources":["../../../../../../../src/components/data-model/data-form/components/form-detail/form-detail.tsx"],"sourcesContent":["import { computed, defineComponent, ref, unref, watch } from \"vue\";\nimport { MKPageContainer } from \"../../../../basic/page-container\";\nimport { MKDataTable } from \"../../../data-table\";\nimport DataForm from \"../../data-form\";\nimport { formDetailEmits, formDetailProps } from \"./form-detail-options\";\nimport { useFormItem } from \"../../composables\";\nimport { ElDrawer, ElEmpty } from \"element-plus\";\nimport { Messager } from \"@maketribe/dm\";\n\nexport default defineComponent({\n name: \"MKFormDetail\",\n props: formDetailProps,\n emits: formDetailEmits,\n setup(props) {\n const detailTable = computed(() => props.column.detailTable);\n const detailForm = computed(() => props.column.detailForm!);\n\n const { value } = useFormItem();\n\n watch(\n computed(() => unref(value)),\n (value) => {\n const _detailTable = unref(detailTable);\n\n value = Array.isArray(value) ? value : [];\n\n _detailTable.setList(\n value.map((item: any) => _detailTable.formatItem(item))\n );\n }\n );\n\n const isShowDataForm = ref(false);\n\n watch(\n detailTable,\n (dataTable, _, onCleanup) => {\n const addRecordDisposable = dataTable.addRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(detailForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n _dataForm.addRecord(item);\n });\n\n const editRecordDisposable = dataTable.editRecordEvent.on(\n async ({ item }) => {\n const _dataForm = unref(detailForm);\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(item);\n\n if (response.data.code !== 200) {\n Messager.error({ message: 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 addRecordDisposable.dispose();\n editRecordDisposable.dispose();\n });\n },\n { immediate: true }\n );\n\n watch(\n detailForm,\n (dataForm, _, onCleanup) => {\n const submittedDisposable = dataForm.submittedEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(detailTable)?.load();\n });\n\n const cancelDisposable = dataForm.cancelEvent.on(() => {\n isShowDataForm.value = false;\n });\n\n onCleanup(() => {\n submittedDisposable.dispose();\n cancelDisposable.dispose();\n });\n },\n { immediate: true }\n );\n\n return () => {\n const dataForm = unref(isShowDataForm) ? (\n <MKPageContainer>\n <DataForm dataForm={unref(detailForm)} autoLoad={false} />\n </MKPageContainer>\n ) : null;\n\n return (\n <div class=\"mk-form-detail\">\n <MKDataTable\n dataTable={unref(detailTable)}\n autoLoad={false}\n v-slots={{ empty: () => <ElEmpty image-size={100} /> }}\n />\n <ElDrawer\n class=\"mk-form-detail__drawer\"\n modelValue={unref(isShowDataForm)}\n onUpdate:modelValue={(v) => (isShowDataForm.value = v)}\n appendToBody\n withHeader={false}\n width=\"50%\"\n >\n {dataForm}\n </ElDrawer>\n </div>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","formDetailProps","emits","formDetailEmits","setup","detailTable","computed","column","detailForm","value","useFormItem","watch","unref","_detailTable","Array","isArray","setList","map","item","formatItem","isShowDataForm","ref","dataTable","_","onCleanup","addRecordDisposable","addRecordEvent","on","_dataForm","console","warn","addRecord","editRecordDisposable","editRecordEvent","response","editRecord","data","code","Messager","error","message","msg","e","dispose","immediate","dataForm","submittedDisposable","submittedEvent","load","cancelDisposable","cancelEvent","_createVNode","MKPageContainer","default","DataForm","MKDataTable","empty","ElEmpty","ElDrawer","v"],"mappings":"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"}
@@ -9,6 +9,7 @@ function _isSlot(s) {
9
9
  }
10
10
  let uid = 0;
11
11
  const Form = /* @__PURE__ */ defineComponent({
12
+ name: "MKForm",
12
13
  props: formProps,
13
14
  setup(props, {
14
15
  slots
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sources":["../../../../../../../src/components/data-model/data-form/views/form/form.tsx"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport {\n ElDivider,\n ElForm,\n FormItemRule,\n FormRules,\n FormContext,\n} from \"element-plus\";\nimport { formProps } from \"./form-options\";\nimport { DataFormType, FormColumn } from \"@maketribe/dm\";\nimport MKDataFormItem from \"../../data-form-item\";\nimport { DATA_FORM_CONTEXT_KEY } from \"../../token\";\n\nlet uid = 0;\n\nexport default defineComponent({\n props: formProps,\n setup(props, { slots }) {\n const formUID = uid++;\n\n const dataFormContext = inject(DATA_FORM_CONTEXT_KEY);\n\n const formEl = ref<FormContext | null>(null);\n\n const dataForm = computed(\n () => props.dataForm ?? dataFormContext!.dataForm\n );\n\n const data = computed(() => unref(dataForm).data as any);\n\n const columns = computed(() =>\n unref(dataForm)\n .getColumns()\n .filter((column) => column.visible)\n );\n\n const rules = computed(() => {\n const rules: FormRules = {};\n\n for (const column of unref(columns)) {\n if (column.required && !column.rules.find((rule) => rule.required)) {\n rules[column.name] = [\n {\n required: column.required,\n message: `请录入${column.label}.`,\n },\n ];\n }\n let componentRules: FormItemRule[] = props.rules?.[column.name] || [];\n\n if (!Array.isArray(componentRules)) {\n componentRules = [componentRules];\n }\n\n if (column.rules.length) {\n rules[column.name] = [\n ...((rules[column.name] as FormItemRule[]) || []),\n ...column.rules,\n ...componentRules,\n ];\n }\n }\n\n return rules;\n });\n\n const labelWidth = computed(() => {\n return (\n props.labelWidth ||\n Math.max.apply(\n null,\n columns.value\n .filter((column) => column.visible)\n .filter((column) => column.componentInfo !== \"MKFormDetail\")\n .map((item: FormColumn) => {\n // + 8 像素只是预留 必填 * 号的宽度位置 12 像素是label的padding\n return item.label.length * 16 + 8 + 12;\n })\n )\n );\n });\n\n const disabled = computed(() => unref(dataForm).disabled);\n\n onMounted(() => {\n watch(\n dataForm,\n (dataForm, _, onCleanup) => {\n unref(dataForm).formModels.push({\n id: formUID,\n validate: async () => {\n return unref(formEl)?.validateField() ?? false;\n },\n reset: () => {\n unref(formEl)?.resetFields();\n },\n clearValidate: () => {\n unref(formEl)?.clearValidate();\n },\n });\n\n const disposable = dataForm.dataFormTypeChangeEvent.on(\n async ({ dataFormType }) => {\n if (dataFormType !== DataFormType.NONE) {\n // 测试下来 需要两次nextTick才能清除验证\n await nextTick();\n await nextTick();\n\n dataForm.clearValidate();\n }\n }\n );\n\n onCleanup(() => {\n const index = dataForm.formModels.findIndex(\n (formModel) => formModel.id === formUID\n );\n\n if (index === -1) {\n return;\n }\n\n dataForm.formModels.splice(index, 1);\n\n disposable.dispose();\n });\n },\n { immediate: true }\n );\n });\n\n return () => {\n if (!unref(dataForm).initd) {\n return null;\n }\n\n let children: any = slots.default?.();\n\n const detailColumns = unref(columns).filter(\n (column) => column.componentInfo === \"MKFormDetail\"\n );\n\n if (!children) {\n children = unref(columns)\n .filter(\n (column) => !detailColumns.find((item) => item.name === column.name)\n )\n .map((column) => {\n if (!column.name) {\n return null;\n }\n\n return (\n slots[`col-${column.name}`]?.() || (\n <MKDataFormItem\n key={column.name}\n name={column.name}\n v-slots={{ default: slots[`col-${column.name}-content`] }}\n />\n )\n );\n });\n\n children.push(\n detailColumns.map((column) => {\n if (!column.name) {\n return null;\n }\n\n return (\n <Fragment>\n <ElDivider contentPosition=\"left\">{column.label}</ElDivider>\n <MKDataFormItem\n label=\"\"\n labelWidth=\"0px\"\n key={column.name}\n name={column.name}\n />\n </Fragment>\n );\n })\n );\n }\n\n if (!unref(data)) {\n return null;\n }\n\n return (\n <ElForm\n validateOnRuleChange={false}\n {...props}\n ref={formEl}\n model={unref(data)}\n rules={unref(rules)}\n disabled={unref(disabled)}\n labelWidth={unref(labelWidth)}\n >\n {children}\n </ElForm>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","uid","defineComponent","props","formProps","setup","slots","formUID","dataFormContext","inject","DATA_FORM_CONTEXT_KEY","formEl","ref","dataForm","computed","data","unref","columns","getColumns","filter","column","visible","rules","required","find","rule","name","message","label","componentRules","Array","isArray","length","labelWidth","Math","max","apply","value","componentInfo","map","item","disabled","onMounted","watch","_","onCleanup","formModels","push","id","validate","validateField","reset","resetFields","clearValidate","disposable","dataFormTypeChangeEvent","on","dataFormType","DataFormType","NONE","nextTick","index","findIndex","formModel","splice","dispose","immediate","initd","children","default","detailColumns","_createVNode","MKDataFormItem","_Fragment","ElDivider","ElForm","_mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"form.js","sources":["../../../../../../../src/components/data-model/data-form/views/form/form.tsx"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport {\n ElDivider,\n ElForm,\n FormItemRule,\n FormRules,\n FormContext,\n} from \"element-plus\";\nimport { formProps } from \"./form-options\";\nimport { DataFormType, FormColumn } from \"@maketribe/dm\";\nimport MKDataFormItem from \"../../data-form-item\";\nimport { DATA_FORM_CONTEXT_KEY } from \"../../token\";\n\nlet uid = 0;\n\nexport default defineComponent({\n name: \"MKForm\",\n props: formProps,\n setup(props, { slots }) {\n const formUID = uid++;\n\n const dataFormContext = inject(DATA_FORM_CONTEXT_KEY);\n\n const formEl = ref<FormContext | null>(null);\n\n const dataForm = computed(\n () => props.dataForm ?? dataFormContext!.dataForm\n );\n\n const data = computed(() => unref(dataForm).data as any);\n\n const columns = computed(() =>\n unref(dataForm)\n .getColumns()\n .filter((column) => column.visible)\n );\n\n const rules = computed(() => {\n const rules: FormRules = {};\n\n for (const column of unref(columns)) {\n if (column.required && !column.rules.find((rule) => rule.required)) {\n rules[column.name] = [\n {\n required: column.required,\n message: `请录入${column.label}.`,\n },\n ];\n }\n let componentRules: FormItemRule[] = props.rules?.[column.name] || [];\n\n if (!Array.isArray(componentRules)) {\n componentRules = [componentRules];\n }\n\n if (column.rules.length) {\n rules[column.name] = [\n ...((rules[column.name] as FormItemRule[]) || []),\n ...column.rules,\n ...componentRules,\n ];\n }\n }\n\n return rules;\n });\n\n const labelWidth = computed(() => {\n return (\n props.labelWidth ||\n Math.max.apply(\n null,\n columns.value\n .filter((column) => column.visible)\n .filter((column) => column.componentInfo !== \"MKFormDetail\")\n .map((item: FormColumn) => {\n // + 8 像素只是预留 必填 * 号的宽度位置 12 像素是label的padding\n return item.label.length * 16 + 8 + 12;\n })\n )\n );\n });\n\n const disabled = computed(() => unref(dataForm).disabled);\n\n onMounted(() => {\n watch(\n dataForm,\n (dataForm, _, onCleanup) => {\n unref(dataForm).formModels.push({\n id: formUID,\n validate: async () => {\n return unref(formEl)?.validateField() ?? false;\n },\n reset: () => {\n unref(formEl)?.resetFields();\n },\n clearValidate: () => {\n unref(formEl)?.clearValidate();\n },\n });\n\n const disposable = dataForm.dataFormTypeChangeEvent.on(\n async ({ dataFormType }) => {\n if (dataFormType !== DataFormType.NONE) {\n // 测试下来 需要两次nextTick才能清除验证\n await nextTick();\n await nextTick();\n\n dataForm.clearValidate();\n }\n }\n );\n\n onCleanup(() => {\n const index = dataForm.formModels.findIndex(\n (formModel) => formModel.id === formUID\n );\n\n if (index === -1) {\n return;\n }\n\n dataForm.formModels.splice(index, 1);\n\n disposable.dispose();\n });\n },\n { immediate: true }\n );\n });\n\n return () => {\n if (!unref(dataForm).initd) {\n return null;\n }\n\n let children: any = slots.default?.();\n\n const detailColumns = unref(columns).filter(\n (column) => column.componentInfo === \"MKFormDetail\"\n );\n\n if (!children) {\n children = unref(columns)\n .filter(\n (column) => !detailColumns.find((item) => item.name === column.name)\n )\n .map((column) => {\n if (!column.name) {\n return null;\n }\n\n return (\n slots[`col-${column.name}`]?.() || (\n <MKDataFormItem\n key={column.name}\n name={column.name}\n v-slots={{ default: slots[`col-${column.name}-content`] }}\n />\n )\n );\n });\n\n children.push(\n detailColumns.map((column) => {\n if (!column.name) {\n return null;\n }\n\n return (\n <Fragment>\n <ElDivider contentPosition=\"left\">{column.label}</ElDivider>\n <MKDataFormItem\n label=\"\"\n labelWidth=\"0px\"\n key={column.name}\n name={column.name}\n />\n </Fragment>\n );\n })\n );\n }\n\n if (!unref(data)) {\n return null;\n }\n\n return (\n <ElForm\n validateOnRuleChange={false}\n {...props}\n ref={formEl}\n model={unref(data)}\n rules={unref(rules)}\n disabled={unref(disabled)}\n labelWidth={unref(labelWidth)}\n >\n {children}\n </ElForm>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","uid","defineComponent","name","props","formProps","setup","slots","formUID","dataFormContext","inject","DATA_FORM_CONTEXT_KEY","formEl","ref","dataForm","computed","data","unref","columns","getColumns","filter","column","visible","rules","required","find","rule","message","label","componentRules","Array","isArray","length","labelWidth","Math","max","apply","value","componentInfo","map","item","disabled","onMounted","watch","_","onCleanup","formModels","push","id","validate","validateField","reset","resetFields","clearValidate","disposable","dataFormTypeChangeEvent","on","dataFormType","DataFormType","NONE","nextTick","index","findIndex","formModel","splice","dispose","immediate","initd","children","default","detailColumns","_createVNode","MKDataFormItem","_Fragment","ElDivider","ElForm","_mergeProps"],"mappings":"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"}
@@ -4,14 +4,14 @@ const useSingleView = (options) => {
4
4
  const isShowDataForm = ref(false);
5
5
  const handleDataTable = (dataTable) => {
6
6
  if (dataTable) {
7
- dataTable.addRecordEvent.on(async () => {
7
+ dataTable.addRecordEvent.on(async ({ item }) => {
8
8
  const _dataForm = unref(options.dataForm);
9
9
  if (!_dataForm) {
10
10
  console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);
11
11
  return;
12
12
  }
13
13
  isShowDataForm.value = true;
14
- _dataForm.addRecord();
14
+ _dataForm.addRecord(item);
15
15
  });
16
16
  dataTable.editRecordEvent.on(async ({ item }) => {
17
17
  const _dataForm = unref(options.dataForm);
@@ -21,9 +21,7 @@ const useSingleView = (options) => {
21
21
  }
22
22
  isShowDataForm.value = true;
23
23
  try {
24
- const response = await _dataForm.editRecord(
25
- item[dataTable.primaryKey]
26
- );
24
+ const response = await _dataForm.editRecord(item);
27
25
  if (response.data.code !== 200) {
28
26
  Messager.error({ message: response.data.msg });
29
27
  isShowDataForm.value = false;
@@ -1 +1 @@
1
- {"version":3,"file":"use-single-view.js","sources":["../../../src/composables/use-single-view.ts"],"sourcesContent":["import { DataForm, DataTable, Dialoger, Messager } from \"@maketribe/dm\";\nimport { isRef, onBeforeUnmount, Ref, ref, unref, watch } from \"vue\";\n\nexport type UseSingleViewOptions = {\n dataTable: Ref<DataTable | null> | DataTable;\n dataForm: Ref<DataForm | null> | DataForm;\n};\n\nexport const useSingleView = (options: UseSingleViewOptions) => {\n const isShowDataForm = ref(false);\n\n const handleDataTable = (dataTable: DataTable | null) => {\n if (dataTable) {\n dataTable.addRecordEvent.on(async () => {\n const _dataForm = unref(options.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(options.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 as string]\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: 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\n const handleDataForm = (dataForm: DataForm | null) => {\n if (dataForm) {\n dataForm.submittedEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(options.dataTable)?.load();\n });\n\n dataForm.cancelEvent.on(() => {\n isShowDataForm.value = false;\n });\n }\n };\n\n if (isRef(options.dataTable)) {\n watch(\n options.dataTable,\n (dataTable, _, onCleanup) => {\n isShowDataForm.value = false;\n\n handleDataTable(dataTable);\n\n onCleanup(() => {\n dataTable?.clearSelection();\n dataTable?.dispose();\n });\n },\n { immediate: true }\n );\n } else {\n const dataTable = options.dataTable;\n handleDataTable(dataTable);\n\n onBeforeUnmount(() => {\n dataTable.clearSelection();\n dataTable.dispose();\n });\n }\n\n if (isRef(options.dataForm)) {\n watch(\n options.dataForm,\n (dataForm, _, onCleanup) => {\n isShowDataForm.value = false;\n\n handleDataForm(dataForm);\n\n onCleanup(() => {\n dataForm?.dispose();\n });\n },\n { immediate: true }\n );\n } else {\n const dataForm = options.dataForm;\n handleDataForm(dataForm);\n\n onBeforeUnmount(() => {\n dataForm.dispose();\n });\n }\n\n return { isShowDataForm };\n};\n\nexport const useSingleViewWithDialog = (options: UseSingleViewOptions) => {\n const { isShowDataForm } = useSingleView(options);\n\n watch(isShowDataForm, async (isShowDataForm) => {\n if (isShowDataForm) {\n await Dialoger.dataFormDialog({\n dataForm: unref(options.dataForm)!,\n customDataFormStatus: true,\n });\n }\n });\n};\n"],"names":["isShowDataForm"],"mappings":";;AAQa,MAAA,gBAAgB,CAAC,YAAkC;AACxD,QAAA,iBAAiB,IAAI,KAAK;AAE1B,QAAA,kBAAkB,CAAC,cAAgC;AACvD,QAAI,WAAW;AACH,gBAAA,eAAe,GAAG,YAAY;AAChC,cAAA,YAAY,MAAM,QAAQ,QAAQ;AAExC,YAAI,CAAC,WAAW;AACd,kBAAQ,KAAK,UAAU,UAAU,IAAI,eAAe;AACpD;AAAA,QACF;AAEA,uBAAe,QAAQ;AAEvB,kBAAU,UAAU;AAAA,MAAA,CACrB;AAED,gBAAU,gBAAgB,GAAG,OAAO,EAAE,WAAW;AACzC,cAAA,YAAY,MAAM,QAAQ,QAAQ;AAExC,YAAI,CAAC,WAAW;AACd,kBAAQ,KAAK,UAAU,UAAU,IAAI,eAAe;AACpD;AAAA,QACF;AAEA,uBAAe,QAAQ;AAEnB,YAAA;AACI,gBAAA,WAAW,MAAM,UAAU;AAAA,YAC/B,KAAK,UAAU,UAAoB;AAAA,UAAA;AAGjC,cAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,qBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C,2BAAe,QAAQ;AACvB;AAAA,UACF;AAAA,iBACO,GAAG;AACV,kBAAQ,MAAM,CAAC;AACf,yBAAe,QAAQ;AAAA,QACzB;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EAAA;AAGI,QAAA,iBAAiB,CAAC,aAA8B;AACpD,QAAI,UAAU;AACH,eAAA,eAAe,GAAG,MAAM;;AAC/B,uBAAe,QAAQ;AAEjB,oBAAA,QAAQ,SAAS,MAAjB,mBAAoB;AAAA,MAAK,CAChC;AAEQ,eAAA,YAAY,GAAG,MAAM;AAC5B,uBAAe,QAAQ;AAAA,MAAA,CACxB;AAAA,IACH;AAAA,EAAA;AAGE,MAAA,MAAM,QAAQ,SAAS,GAAG;AAC5B;AAAA,MACE,QAAQ;AAAA,MACR,CAAC,WAAW,GAAG,cAAc;AAC3B,uBAAe,QAAQ;AAEvB,wBAAgB,SAAS;AAEzB,kBAAU,MAAM;AACd,iDAAW;AACX,iDAAW;AAAA,QAAQ,CACpB;AAAA,MACH;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAAA,EACpB,OACK;AACL,UAAM,YAAY,QAAQ;AAC1B,oBAAgB,SAAS;AAEzB,oBAAgB,MAAM;AACpB,gBAAU,eAAe;AACzB,gBAAU,QAAQ;AAAA,IAAA,CACnB;AAAA,EACH;AAEI,MAAA,MAAM,QAAQ,QAAQ,GAAG;AAC3B;AAAA,MACE,QAAQ;AAAA,MACR,CAAC,UAAU,GAAG,cAAc;AAC1B,uBAAe,QAAQ;AAEvB,uBAAe,QAAQ;AAEvB,kBAAU,MAAM;AACd,+CAAU;AAAA,QAAQ,CACnB;AAAA,MACH;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAAA,EACpB,OACK;AACL,UAAM,WAAW,QAAQ;AACzB,mBAAe,QAAQ;AAEvB,oBAAgB,MAAM;AACpB,eAAS,QAAQ;AAAA,IAAA,CAClB;AAAA,EACH;AAEA,SAAO,EAAE,eAAe;AAC1B;AAEa,MAAA,0BAA0B,CAAC,YAAkC;AACxE,QAAM,EAAE,eAAA,IAAmB,cAAc,OAAO;AAE1C,QAAA,gBAAgB,OAAOA,oBAAmB;AAC9C,QAAIA,iBAAgB;AAClB,YAAM,SAAS,eAAe;AAAA,QAC5B,UAAU,MAAM,QAAQ,QAAQ;AAAA,QAChC,sBAAsB;AAAA,MAAA,CACvB;AAAA,IACH;AAAA,EAAA,CACD;AACH;"}
1
+ {"version":3,"file":"use-single-view.js","sources":["../../../src/composables/use-single-view.ts"],"sourcesContent":["import { DataForm, DataTable, Dialoger, Messager } from \"@maketribe/dm\";\nimport { isRef, onBeforeUnmount, Ref, ref, unref, watch } from \"vue\";\n\nexport type UseSingleViewOptions = {\n dataTable: Ref<DataTable | null> | DataTable;\n dataForm: Ref<DataForm | null> | DataForm;\n};\n\nexport const useSingleView = (options: UseSingleViewOptions) => {\n const isShowDataForm = ref(false);\n\n const handleDataTable = (dataTable: DataTable | null) => {\n if (dataTable) {\n dataTable.addRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(options.dataForm);\n\n if (!_dataForm) {\n console.warn(`没有对应的 (${dataTable.name}) DataForm 实现`);\n return;\n }\n\n isShowDataForm.value = true;\n\n _dataForm.addRecord(item);\n });\n\n dataTable.editRecordEvent.on(async ({ item }) => {\n const _dataForm = unref(options.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(item);\n\n if (response.data.code !== 200) {\n Messager.error({ message: 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\n const handleDataForm = (dataForm: DataForm | null) => {\n if (dataForm) {\n dataForm.submittedEvent.on(() => {\n isShowDataForm.value = false;\n\n unref(options.dataTable)?.load();\n });\n\n dataForm.cancelEvent.on(() => {\n isShowDataForm.value = false;\n });\n }\n };\n\n if (isRef(options.dataTable)) {\n watch(\n options.dataTable,\n (dataTable, _, onCleanup) => {\n isShowDataForm.value = false;\n\n handleDataTable(dataTable);\n\n onCleanup(() => {\n dataTable?.clearSelection();\n dataTable?.dispose();\n });\n },\n { immediate: true }\n );\n } else {\n const dataTable = options.dataTable;\n handleDataTable(dataTable);\n\n onBeforeUnmount(() => {\n dataTable.clearSelection();\n dataTable.dispose();\n });\n }\n\n if (isRef(options.dataForm)) {\n watch(\n options.dataForm,\n (dataForm, _, onCleanup) => {\n isShowDataForm.value = false;\n\n handleDataForm(dataForm);\n\n onCleanup(() => {\n dataForm?.dispose();\n });\n },\n { immediate: true }\n );\n } else {\n const dataForm = options.dataForm;\n handleDataForm(dataForm);\n\n onBeforeUnmount(() => {\n dataForm.dispose();\n });\n }\n\n return { isShowDataForm };\n};\n\nexport const useSingleViewWithDialog = (options: UseSingleViewOptions) => {\n const { isShowDataForm } = useSingleView(options);\n\n watch(isShowDataForm, async (isShowDataForm) => {\n if (isShowDataForm) {\n await Dialoger.dataFormDialog({\n dataForm: unref(options.dataForm)!,\n customDataFormStatus: true,\n });\n }\n });\n};\n"],"names":["isShowDataForm"],"mappings":";;AAQa,MAAA,gBAAgB,CAAC,YAAkC;AACxD,QAAA,iBAAiB,IAAI,KAAK;AAE1B,QAAA,kBAAkB,CAAC,cAAgC;AACvD,QAAI,WAAW;AACb,gBAAU,eAAe,GAAG,OAAO,EAAE,WAAW;AACxC,cAAA,YAAY,MAAM,QAAQ,QAAQ;AAExC,YAAI,CAAC,WAAW;AACd,kBAAQ,KAAK,UAAU,UAAU,IAAI,eAAe;AACpD;AAAA,QACF;AAEA,uBAAe,QAAQ;AAEvB,kBAAU,UAAU,IAAI;AAAA,MAAA,CACzB;AAED,gBAAU,gBAAgB,GAAG,OAAO,EAAE,WAAW;AACzC,cAAA,YAAY,MAAM,QAAQ,QAAQ;AAExC,YAAI,CAAC,WAAW;AACd,kBAAQ,KAAK,UAAU,UAAU,IAAI,eAAe;AACpD;AAAA,QACF;AAEA,uBAAe,QAAQ;AAEnB,YAAA;AACF,gBAAM,WAAW,MAAM,UAAU,WAAW,IAAI;AAE5C,cAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,qBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C,2BAAe,QAAQ;AACvB;AAAA,UACF;AAAA,iBACO,GAAG;AACV,kBAAQ,MAAM,CAAC;AACf,yBAAe,QAAQ;AAAA,QACzB;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EAAA;AAGI,QAAA,iBAAiB,CAAC,aAA8B;AACpD,QAAI,UAAU;AACH,eAAA,eAAe,GAAG,MAAM;;AAC/B,uBAAe,QAAQ;AAEjB,oBAAA,QAAQ,SAAS,MAAjB,mBAAoB;AAAA,MAAK,CAChC;AAEQ,eAAA,YAAY,GAAG,MAAM;AAC5B,uBAAe,QAAQ;AAAA,MAAA,CACxB;AAAA,IACH;AAAA,EAAA;AAGE,MAAA,MAAM,QAAQ,SAAS,GAAG;AAC5B;AAAA,MACE,QAAQ;AAAA,MACR,CAAC,WAAW,GAAG,cAAc;AAC3B,uBAAe,QAAQ;AAEvB,wBAAgB,SAAS;AAEzB,kBAAU,MAAM;AACd,iDAAW;AACX,iDAAW;AAAA,QAAQ,CACpB;AAAA,MACH;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAAA,EACpB,OACK;AACL,UAAM,YAAY,QAAQ;AAC1B,oBAAgB,SAAS;AAEzB,oBAAgB,MAAM;AACpB,gBAAU,eAAe;AACzB,gBAAU,QAAQ;AAAA,IAAA,CACnB;AAAA,EACH;AAEI,MAAA,MAAM,QAAQ,QAAQ,GAAG;AAC3B;AAAA,MACE,QAAQ;AAAA,MACR,CAAC,UAAU,GAAG,cAAc;AAC1B,uBAAe,QAAQ;AAEvB,uBAAe,QAAQ;AAEvB,kBAAU,MAAM;AACd,+CAAU;AAAA,QAAQ,CACnB;AAAA,MACH;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAAA,EACpB,OACK;AACL,UAAM,WAAW,QAAQ;AACzB,mBAAe,QAAQ;AAEvB,oBAAgB,MAAM;AACpB,eAAS,QAAQ;AAAA,IAAA,CAClB;AAAA,EACH;AAEA,SAAO,EAAE,eAAe;AAC1B;AAEa,MAAA,0BAA0B,CAAC,YAAkC;AACxE,QAAM,EAAE,eAAA,IAAmB,cAAc,OAAO;AAE1C,QAAA,gBAAgB,OAAOA,oBAAmB;AAC9C,QAAIA,iBAAgB;AAClB,YAAM,SAAS,eAAe;AAAA,QAC5B,UAAU,MAAM,QAAQ,QAAQ;AAAA,QAChC,sBAAsB;AAAA,MAAA,CACvB;AAAA,IACH;AAAA,EAAA,CACD;AACH;"}
package/dist/esm/index.js CHANGED
@@ -63,7 +63,7 @@ import { MKImageCropperContent } from "./components/basic/image-cropper/index.js
63
63
  import { MKDataForm } from "./components/data-model/data-form/index.js";
64
64
  import { MKDataTable } from "./components/data-model/data-table/index.js";
65
65
  import { MKDataTablePagination } from "./components/data-model/data-table-pagination/index.js";
66
- import { MKVerifyDialog } from "./components/business/verify-dialog/index.js";
66
+ import { MKOpenVerifyCode } from "./components/business/verify-dialog/index.js";
67
67
  import { MKResourceList } from "./components/business/resource-list/index.js";
68
68
  import { MKResourceManager } from "./components/business/resource-manager/index.js";
69
69
  import { MKResourceSelect } from "./components/business/resource-select/index.js";
@@ -227,6 +227,7 @@ export {
227
227
  MKMaterialList,
228
228
  MKMaterialSelect,
229
229
  MKMaterialUploadContext,
230
+ MKOpenVerifyCode,
230
231
  MKPageContainer,
231
232
  MKPagination,
232
233
  MKResourceList,
@@ -246,7 +247,6 @@ export {
246
247
  MKTreeView,
247
248
  MKUploadFile,
248
249
  MKUploadImage,
249
- MKVerifyDialog,
250
250
  MKWebFileUploadContext,
251
251
  MSAPPCLIENT_CONTEXT_KEY,
252
252
  MSAppClient,
@@ -1,3 +1,4 @@
1
+ import { createVNode, render } from "vue";
1
2
  import { makeInstaller } from "@maketribe/utils";
2
3
  import { Messager, Dialoger, Notificationer } from "@maketribe/dm";
3
4
  import { MessagerImpl } from "./message-impl/MessagerImpl.js";
@@ -5,7 +6,6 @@ import { NotificationerImpl } from "./message-impl/NotificationerImpl.js";
5
6
  import { DialogerImpl } from "./message-impl/DialogerImpl.js";
6
7
  import "./components/abstract/abstract-select/abstract-select.js";
7
8
  import "./components/abstract/abstract-select/abstract-select-options.js";
8
- import "vue";
9
9
  import "element-plus";
10
10
  import { MKSvgIcon } from "./components/basic/svg-icon/index.js";
11
11
  import "./components/basic/button/button-options.js";
@@ -31,9 +31,13 @@ import { MKImageCropperContent } from "./components/basic/image-cropper/index.js
31
31
  import { MKDataForm } from "./components/data-model/data-form/index.js";
32
32
  import { MKDataTable } from "./components/data-model/data-table/index.js";
33
33
  import { MKDataTablePagination } from "./components/data-model/data-table-pagination/index.js";
34
- import { MKVerifyDialog } from "./components/business/verify-dialog/index.js";
34
+ import "vue-router";
35
+ import "@maketribe/locale";
36
+ import "./core/DataModelDefines.js";
37
+ import "./components/business/verify-dialog/verify-dialog-option.js";
35
38
  import "./components/business/resource-list/index.js";
36
39
  import "./components/business/resource-manager/index.js";
40
+ import { MKDialogs } from "./layouts/components/dialogs/index.js";
37
41
  import { provideGlobalConfig } from "./components/basic/config-provider/use-global-config.js";
38
42
  import { MKTableHeaderItem } from "./components/data-model/data-table/views/table-view/header/index.js";
39
43
  import { MKTable } from "./components/data-model/data-table/views/table/index.js";
@@ -49,7 +53,6 @@ const components = [
49
53
  MKPagination,
50
54
  MKDataTablePagination,
51
55
  MKSystemProvider,
52
- MKVerifyDialog,
53
56
  MKUploadFile,
54
57
  MKUploadImage,
55
58
  MKWebFileUploadContext,
@@ -71,6 +74,12 @@ const installer = makeInstaller(
71
74
  Messager.implInstance = new MessagerImpl();
72
75
  Dialoger.implInstance = new DialogerImpl();
73
76
  Notificationer.implInstance = new NotificationerImpl();
77
+ const dialogContainer = document.createElement("div");
78
+ const appContext = app._context;
79
+ const vnode = createVNode(MKDialogs);
80
+ vnode.appContext = appContext;
81
+ render(vnode, dialogContainer);
82
+ document.body.appendChild(dialogContainer);
74
83
  }
75
84
  );
76
85
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sources":["../../src/installer.ts"],"sourcesContent":["import { Plugin } from \"vue\";\nimport { makeInstaller } from \"@maketribe/utils\";\nimport { Dialoger, Messager, Notificationer } from \"@maketribe/dm\";\nimport { DialogerImpl, MessagerImpl, NotificationerImpl } from \"./message-impl\";\nimport {\n ConfigProviderContext,\n MKConfigProvider,\n MKDataForm,\n MKDataTable,\n MKSvgIcon,\n provideGlobalConfig,\n MKDataTableSelect,\n MKPagination,\n MKDataTablePagination,\n MKSystemProvider,\n MKVerifyDialog,\n MKUploadFile,\n MKUploadImage,\n MKWebFileUploadContext,\n MKPageContainer,\n MKTableHeaderItem,\n MKTable,\n MKTableView,\n MKForm,\n MKFormView,\n MKImageCropperContent\n} from \"./components\";\n\nconst components: Plugin[] = [\n MKConfigProvider,\n MKDataForm,\n MKDataTable,\n MKSvgIcon,\n MKDataTableSelect,\n MKPagination,\n MKDataTablePagination,\n MKSystemProvider,\n MKVerifyDialog,\n MKUploadFile,\n MKUploadImage,\n MKWebFileUploadContext,\n MKPageContainer,\n MKTableHeaderItem,\n MKTable,\n MKTableView,\n MKForm,\n MKFormView,\n MKImageCropperContent\n];\n\nexport const installer = makeInstaller<ConfigProviderContext>(\n components,\n \"1.0.0-dev\",\n (app, version, options) => {\n if (options) {\n provideGlobalConfig(options, app, true);\n }\n\n Messager.implInstance = new MessagerImpl();\n Dialoger.implInstance = new DialogerImpl();\n Notificationer.implInstance = new NotificationerImpl();\n }\n);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,aAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,YAAY;AAAA,EACvB;AAAA,EACA;AAAA,EACA,CAAC,KAAK,SAAS,YAAY;AACzB,QAAI,SAAS;AACS,0BAAA,SAAS,KAAK,IAAI;AAAA,IACxC;AAES,aAAA,eAAe,IAAI;AACnB,aAAA,eAAe,IAAI;AACb,mBAAA,eAAe,IAAI;EACpC;AACF;"}
1
+ {"version":3,"file":"installer.js","sources":["../../src/installer.ts"],"sourcesContent":["import { Plugin,createVNode,render } from \"vue\";\r\nimport { makeInstaller } from \"@maketribe/utils\";\r\nimport { Dialoger, Messager, Notificationer } from \"@maketribe/dm\";\r\nimport { DialogerImpl, MessagerImpl, NotificationerImpl } from \"./message-impl\";\r\nimport {\r\n ConfigProviderContext,\r\n MKConfigProvider,\r\n MKDataForm,\r\n MKDataTable,\r\n MKSvgIcon,\r\n provideGlobalConfig,\r\n MKDataTableSelect,\r\n MKPagination,\r\n MKDataTablePagination,\r\n MKSystemProvider,\r\n MKUploadFile,\r\n MKUploadImage,\r\n MKWebFileUploadContext,\r\n MKPageContainer,\r\n MKTableHeaderItem,\r\n MKTable,\r\n MKTableView,\r\n MKForm,\r\n MKFormView,\r\n MKImageCropperContent\r\n} from \"./components\";\r\n\r\nconst components: Plugin[] = [\r\n MKConfigProvider,\r\n MKDataForm,\r\n MKDataTable,\r\n MKSvgIcon,\r\n MKDataTableSelect,\r\n MKPagination,\r\n MKDataTablePagination,\r\n MKSystemProvider,\r\n MKUploadFile,\r\n MKUploadImage,\r\n MKWebFileUploadContext,\r\n MKPageContainer,\r\n MKTableHeaderItem,\r\n MKTable,\r\n MKTableView,\r\n MKForm,\r\n MKFormView,\r\n MKImageCropperContent\r\n];\r\n\r\nimport { MKDialogs } from \"./layouts/components\"\r\n\r\nexport const installer = makeInstaller<ConfigProviderContext>(\r\n components,\r\n \"1.0.0-dev\",\r\n (app, version, options) => {\r\n if (options) {\r\n provideGlobalConfig(options, app, true);\r\n }\r\n\r\n Messager.implInstance = new MessagerImpl();\r\n Dialoger.implInstance = new DialogerImpl();\r\n Notificationer.implInstance = new NotificationerImpl();\r\n\r\n // 注册通用的 dialog\r\n const dialogContainer = document.createElement('div');\r\n const appContext = app._context;\r\n const vnode = createVNode(MKDialogs);\r\n vnode.appContext = appContext;\r\n \r\n //渲染\r\n render(vnode, dialogContainer);\r\n document.body.appendChild(dialogContainer);\r\n }\r\n);\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,MAAM,aAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,YAAY;AAAA,EACvB;AAAA,EACA;AAAA,EACA,CAAC,KAAK,SAAS,YAAY;AACzB,QAAI,SAAS;AACS,0BAAA,SAAS,KAAK,IAAI;AAAA,IACxC;AAES,aAAA,eAAe,IAAI;AACnB,aAAA,eAAe,IAAI;AACb,mBAAA,eAAe,IAAI;AAG5B,UAAA,kBAAkB,SAAS,cAAc,KAAK;AACpD,UAAM,aAAa,IAAI;AACjB,UAAA,QAAQ,YAAY,SAAS;AACnC,UAAM,aAAa;AAGnB,WAAO,OAAO,eAAe;AACpB,aAAA,KAAK,YAAY,eAAe;AAAA,EAC3C;AACF;"}
@@ -27,14 +27,14 @@ import "../../../components/basic/image-cropper/index.js";
27
27
  import "../../../components/data-model/data-form/index.js";
28
28
  import "../../../components/data-model/data-table/index.js";
29
29
  import "../../../components/data-model/data-table-pagination/index.js";
30
- import "../../../components/business/verify-dialog/index.js";
31
- import "../../../components/business/resource-list/index.js";
32
- import "../../../components/business/resource-manager/index.js";
33
30
  import "@maketribe/dm";
31
+ import { MSAppClient } from "../../../core/MSAppClient.js";
34
32
  import { MenuNode } from "../../../core/menu/MenuNode.js";
35
33
  import "../../../core/DataModelDefines.js";
36
- import { MSAppClient } from "../../../core/MSAppClient.js";
37
34
  import { MenuType } from "../../../constants/menu.js";
35
+ import "../../../components/business/verify-dialog/verify-dialog-option.js";
36
+ import "../../../components/business/resource-list/index.js";
37
+ import "../../../components/business/resource-manager/index.js";
38
38
  const MKBar = /* @__PURE__ */ defineComponent({
39
39
  name: "MKBar",
40
40
  props: {