@maketribe/ms-app 3.2.4 → 3.2.6

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 (224) hide show
  1. package/dist/cjs/assets/iconfonts/iconfont.js +1 -1
  2. package/dist/cjs/assets/iconfonts/iconfont.js.map +1 -1
  3. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +4 -0
  4. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
  5. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +108 -0
  6. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
  7. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
  8. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
  9. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +24 -18
  10. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
  11. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +93 -0
  12. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
  13. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
  14. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
  15. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +51 -0
  16. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
  17. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +4 -0
  18. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
  19. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js +26 -46
  20. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js.map +1 -1
  21. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +14 -5
  22. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
  23. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.js +0 -1
  24. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.js.map +1 -1
  25. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +2 -0
  26. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  27. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
  28. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
  29. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +1 -1
  30. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
  31. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/{HtmlCodeTool.vue.js → PreviewToolbar.vue.js} +56 -43
  32. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
  33. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +4 -0
  34. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
  35. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +2 -2
  36. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  37. package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js +3 -1
  38. package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
  39. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +3 -1
  40. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  41. package/dist/cjs/components/business/resource-list/ResourceManager.js +0 -24
  42. package/dist/cjs/components/business/resource-list/ResourceManager.js.map +1 -1
  43. package/dist/cjs/components/business/resource-list/resource-list.vue.js +38 -15
  44. package/dist/cjs/components/business/resource-list/resource-list.vue.js.map +1 -1
  45. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +1 -12
  46. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  47. package/dist/cjs/components/data-model/data-table/views/table/table.js +0 -1
  48. package/dist/cjs/components/data-model/data-table/views/table/table.js.map +1 -1
  49. package/dist/cjs/components/data-model/data-table/views/table-view/header/header.js +12 -9
  50. package/dist/cjs/components/data-model/data-table/views/table-view/header/header.js.map +1 -1
  51. package/dist/cjs/components/data-model/data-table/views/tree/tree-options.js +1 -0
  52. package/dist/cjs/components/data-model/data-table/views/tree/tree-options.js.map +1 -1
  53. package/dist/cjs/components/data-model/data-table/views/tree/tree.js +14 -2
  54. package/dist/cjs/components/data-model/data-table/views/tree/tree.js.map +1 -1
  55. package/dist/cjs/composables/use-single-view.js +2 -0
  56. package/dist/cjs/composables/use-single-view.js.map +1 -1
  57. package/dist/cjs/core/MSAppClient.js +8 -6
  58. package/dist/cjs/core/MSAppClient.js.map +1 -1
  59. package/dist/cjs/core/PageManager.js.map +1 -1
  60. package/dist/cjs/index.js +2 -2
  61. package/dist/cjs/modules/cms/components/part-tree/index.vue.js +24 -9
  62. package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
  63. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
  64. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
  65. package/dist/cjs/modules/cms/index.js +2 -1
  66. package/dist/cjs/modules/cms/index.js.map +1 -1
  67. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +44 -22
  68. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  69. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
  70. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  71. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +99 -87
  72. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  73. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +45 -5
  74. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  75. package/dist/cjs/modules/ms/components/material-list/material-item.vue.js +0 -1
  76. package/dist/cjs/modules/ms/components/material-list/material-item.vue.js.map +1 -1
  77. package/dist/cjs/modules/ms/components/material-list/material-list-options.js +1 -1
  78. package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
  79. package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -1
  80. package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
  81. package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
  82. package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
  83. package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
  84. package/dist/cjs/modules/ms/index.js +2 -2
  85. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +13 -16
  86. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  87. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +49 -7
  88. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
  89. package/dist/esm/assets/iconfonts/iconfont.js +1 -1
  90. package/dist/esm/assets/iconfonts/iconfont.js.map +1 -1
  91. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +5 -0
  92. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
  93. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +109 -0
  94. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
  95. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
  96. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
  97. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +25 -19
  98. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
  99. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +94 -0
  100. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
  101. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
  102. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
  103. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +52 -0
  104. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
  105. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +5 -0
  106. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
  107. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js +27 -47
  108. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js.map +1 -1
  109. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +14 -5
  110. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
  111. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.js +0 -1
  112. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.js.map +1 -1
  113. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +2 -0
  114. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  115. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
  116. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
  117. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +1 -1
  118. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
  119. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +117 -0
  120. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
  121. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +5 -0
  122. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
  123. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +1 -1
  124. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  125. package/dist/esm/components/basic/doc-editor/plugins/index.vue.js +3 -1
  126. package/dist/esm/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
  127. package/dist/esm/components/basic/doc-editor/plugins/nodes.js +3 -1
  128. package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  129. package/dist/esm/components/business/resource-list/ResourceManager.js +1 -25
  130. package/dist/esm/components/business/resource-list/ResourceManager.js.map +1 -1
  131. package/dist/esm/components/business/resource-list/resource-list.vue.js +39 -16
  132. package/dist/esm/components/business/resource-list/resource-list.vue.js.map +1 -1
  133. package/dist/esm/components/business/resource-manager/resource-manager.vue.js +2 -13
  134. package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  135. package/dist/esm/components/data-model/data-table/views/table/table.js +0 -1
  136. package/dist/esm/components/data-model/data-table/views/table/table.js.map +1 -1
  137. package/dist/esm/components/data-model/data-table/views/table-view/header/header.js +12 -9
  138. package/dist/esm/components/data-model/data-table/views/table-view/header/header.js.map +1 -1
  139. package/dist/esm/components/data-model/data-table/views/tree/tree-options.js +1 -0
  140. package/dist/esm/components/data-model/data-table/views/tree/tree-options.js.map +1 -1
  141. package/dist/esm/components/data-model/data-table/views/tree/tree.js +15 -3
  142. package/dist/esm/components/data-model/data-table/views/tree/tree.js.map +1 -1
  143. package/dist/esm/composables/use-single-view.js +2 -0
  144. package/dist/esm/composables/use-single-view.js.map +1 -1
  145. package/dist/esm/core/MSAppClient.js +8 -6
  146. package/dist/esm/core/MSAppClient.js.map +1 -1
  147. package/dist/esm/core/PageManager.js.map +1 -1
  148. package/dist/esm/index.js +2 -2
  149. package/dist/esm/modules/cms/components/part-tree/index.vue.js +25 -10
  150. package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
  151. package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
  152. package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
  153. package/dist/esm/modules/cms/index.js +2 -1
  154. package/dist/esm/modules/cms/index.js.map +1 -1
  155. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +46 -24
  156. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  157. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
  158. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  159. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +101 -89
  160. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  161. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +46 -6
  162. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  163. package/dist/esm/modules/ms/components/material-list/material-item.vue.js +0 -1
  164. package/dist/esm/modules/ms/components/material-list/material-item.vue.js.map +1 -1
  165. package/dist/esm/modules/ms/components/material-list/material-list-options.js +1 -1
  166. package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
  167. package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -1
  168. package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
  169. package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
  170. package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
  171. package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
  172. package/dist/esm/modules/ms/index.js +2 -2
  173. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +14 -17
  174. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  175. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +50 -8
  176. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
  177. package/dist/style/components/basic/doc-editor/index.css +1 -1
  178. package/dist/style/components/index.css +2 -2
  179. package/dist/style/components/material-item.css +1 -1
  180. package/dist/style/index.css +2 -2
  181. package/dist/style/modules/cms/index.css +1 -1
  182. package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
  183. package/dist/style/modules/cms/resource-manager.css +1 -1
  184. package/dist/style/src/components/basic/doc-editor/index.scss +22 -2
  185. package/dist/style/src/components/material-item.scss +66 -63
  186. package/dist/style/src/modules/cms/pages/cms-contents/index.scss +1 -2
  187. package/dist/style/src/modules/cms/resource-manager.scss +63 -0
  188. package/dist/style/src/theme/theme.scss +310 -303
  189. package/dist/style/theme/theme.css +1 -1
  190. package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.d.ts +20 -0
  191. package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.d.ts +57 -0
  192. package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/index.d.ts +1 -0
  193. package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.d.ts +2 -0
  194. package/dist/types/components/business/resource-list/ResourceManager.d.ts +0 -1
  195. package/dist/types/components/business/resource-manager/index.d.ts +32 -6
  196. package/dist/types/components/business/resource-manager/resource-manager.vue.d.ts +10 -1
  197. package/dist/types/components/data-model/data-table/views/table/index.d.ts +1 -1
  198. package/dist/types/components/data-model/data-table/views/table/table.d.ts +1 -1
  199. package/dist/types/components/data-model/data-table/views/tree/index.d.ts +3 -0
  200. package/dist/types/components/data-model/data-table/views/tree/tree-options.d.ts +1 -0
  201. package/dist/types/components/data-model/data-table/views/tree/tree.d.ts +3 -0
  202. package/dist/types/modules/cms/components/part-tree/index.d.ts +5 -9
  203. package/dist/types/modules/cms/components/part-tree/index.vue.d.ts +16 -15
  204. package/dist/types/modules/cms/dataviews/cms-parts/CmsContentManPartForm.d.ts +8 -0
  205. package/dist/types/modules/cms/dataviews/cms-parts/index.d.ts +1 -0
  206. package/dist/types/modules/ms/dataviews/ms-material/index.d.ts +0 -1
  207. package/dist/types/modules/ms/dataviews/ms-menu/MsMenuTree.d.ts +1 -0
  208. package/package.json +5 -5
  209. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
  210. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -4
  211. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
  212. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -131
  213. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
  214. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js +0 -104
  215. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
  216. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -5
  217. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
  218. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -131
  219. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
  220. package/dist/style/modules/cms/pages/cms-contents/part-edit-add-page.css +0 -1
  221. package/dist/style/src/modules/cms/pages/cms-contents/part-edit-add-page.scss +0 -127
  222. package/dist/types/modules/ms/dataviews/ms-material/MsMaterialMan.d.ts +0 -31
  223. /package/dist/types/components/basic/doc-editor/plugins/{ToolbarPlugin/HtmlCodeTool.vue.d.ts → HtmlBlockPlugin/index.vue.d.ts} +0 -0
  224. /package/dist/types/{modules/cms/pages/cms-contents/part-edit-add-page.vue.d.ts → components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolba-back.vue.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -3,6 +3,7 @@ import { ListNode, ListItemNode } from "@lexical/list";
3
3
  import { AutoLinkNode, LinkNode } from "@lexical/link";
4
4
  import { ImageNode } from "./ImagePlugin/index.js";
5
5
  import { ImageTextNode } from "./ImageTextPlugin/index.js";
6
+ import { HtmlBlockNode } from "./HtmlBlockPlugin/index.js";
6
7
  const Nodes = [
7
8
  HeadingNode,
8
9
  ListNode,
@@ -17,7 +18,8 @@ const Nodes = [
17
18
  LinkNode,
18
19
  // HashtagNode,
19
20
  ImageNode,
20
- ImageTextNode
21
+ ImageTextNode,
22
+ HtmlBlockNode
21
23
  ];
22
24
  export {
23
25
  Nodes as default
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.js","sources":["../../../../../../src/components/basic/doc-editor/plugins/nodes.ts"],"sourcesContent":["import type { Klass, LexicalNode } from 'lexical'\r\nimport { HeadingNode, QuoteNode } from '@lexical/rich-text'\r\nimport { TableCellNode, TableNode, TableRowNode } from '@lexical/table'\r\nimport { ListItemNode, ListNode } from '@lexical/list'\r\nimport { CodeHighlightNode, CodeNode } from '@lexical/code'\r\nimport { AutoLinkNode, LinkNode } from '@lexical/link'\r\nimport { HashtagNode } from '@lexical/hashtag'\r\nimport { ImageNode } from \"./ImagePlugin\"\r\nimport { ImageTextNode } from \"./ImageTextPlugin\"\r\n\r\nconst Nodes: Array<Klass<LexicalNode>> = [\r\n HeadingNode,\r\n ListNode,\r\n ListItemNode,\r\n // QuoteNode,\r\n // CodeNode,\r\n // CodeHighlightNode,\r\n // TableNode,\r\n // TableCellNode,\r\n // TableRowNode,\r\n AutoLinkNode,\r\n LinkNode,\r\n // HashtagNode,\r\n ImageNode,\r\n ImageTextNode\r\n]\r\n\r\nexport default Nodes\r\n"],"names":[],"mappings":";;;;;AAUA,MAAM,QAAmC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AACF;"}
1
+ {"version":3,"file":"nodes.js","sources":["../../../../../../src/components/basic/doc-editor/plugins/nodes.ts"],"sourcesContent":["import type { Klass, LexicalNode } from 'lexical'\r\nimport { HeadingNode, QuoteNode } from '@lexical/rich-text'\r\nimport { TableCellNode, TableNode, TableRowNode } from '@lexical/table'\r\nimport { ListItemNode, ListNode } from '@lexical/list'\r\nimport { CodeHighlightNode, CodeNode } from '@lexical/code'\r\nimport { AutoLinkNode, LinkNode } from '@lexical/link'\r\nimport { HashtagNode } from '@lexical/hashtag'\r\nimport { ImageNode } from \"./ImagePlugin\"\r\nimport { ImageTextNode } from \"./ImageTextPlugin\"\r\nimport { HtmlBlockNode } from \"./HtmlBlockPlugin\"\r\n\r\nconst Nodes: Array<Klass<LexicalNode>> = [\r\n HeadingNode,\r\n ListNode,\r\n ListItemNode,\r\n // QuoteNode,\r\n // CodeNode,\r\n // CodeHighlightNode,\r\n // TableNode,\r\n // TableCellNode,\r\n // TableRowNode,\r\n AutoLinkNode,\r\n LinkNode,\r\n // HashtagNode,\r\n ImageNode,\r\n ImageTextNode,\r\n HtmlBlockNode\r\n]\r\n\r\nexport default Nodes\r\n"],"names":[],"mappings":";;;;;;AAWA,MAAM,QAAmC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AACF;"}
@@ -3,7 +3,7 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { Disposable } from "@maketribe/utils";
5
5
  import "vue";
6
- import { LoadingManager, Messager, Dialoger } from "@maketribe/dm";
6
+ import { LoadingManager, Messager } from "@maketribe/dm";
7
7
  import "element-plus";
8
8
  import "../../../core/DataModelDefines.js";
9
9
  import { MSAppClient } from "../../../core/MSAppClient.js";
@@ -190,30 +190,6 @@ class ResourceManager extends Disposable {
190
190
  }
191
191
  item.isSelected = !item.isSelected;
192
192
  }
193
- async publishAssets() {
194
- const httpRequest = MSAppClient.instance.httpRequest;
195
- try {
196
- const isConfirm = await Dialoger.confirm({
197
- title: "发布资源",
198
- message: "是否发布资源?",
199
- type: "warning"
200
- });
201
- if (!isConfirm) {
202
- return;
203
- }
204
- this.loadingManager.startLoading();
205
- const response = await httpRequest.post(
206
- `${this.baseURL}/content/publish/assets`
207
- );
208
- if (response.data.code !== 200) {
209
- Messager.error({ message: response.data.msg });
210
- return;
211
- }
212
- Messager.success({ message: "发布成功" });
213
- } finally {
214
- this.loadingManager.completeLoading();
215
- }
216
- }
217
193
  }
218
194
  export {
219
195
  ResourceManager
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceManager.js","sources":["../../../../../src/components/business/resource-list/ResourceManager.ts"],"sourcesContent":["import { Disposable } from \"@maketribe/utils\";\nimport { MSAppClient } from \"../../../core\";\nimport { Dialoger, LoadingManager, Messager } from \"@maketribe/dm\";\nimport { R } from \"@maketribe/request\";\n\nexport type ResourceInfo = {\n name: string;\n path: string;\n isDirectory: boolean;\n extension: string;\n isSelected: boolean;\n};\n\nexport type ResourceManagerOptions = {\n extensions?: string[];\n baseURL: string;\n};\n\nexport class ResourceManager extends Disposable {\n directories: string[];\n\n resourceInfoList: ResourceInfo[];\n\n loadingManager: LoadingManager;\n\n isShowEditDialog: boolean = false;\n\n currentEditText: string = \"\";\n\n filterExtensions: string[] = [];\n\n baseURL: string = \"\";\n\n get selectResourceList() {\n return this.resourceInfoList.filter((item) => item.isSelected);\n }\n\n get loading() {\n return this.loadingManager.loading;\n }\n\n constructor(options: ResourceManagerOptions) {\n super();\n\n this.directories = [];\n\n this.resourceInfoList = [];\n\n this.loadingManager = new LoadingManager();\n\n this.filterExtensions = options.extensions ?? [];\n this.baseURL = options.baseURL;\n }\n\n async loadResourceInfoList(\n toPath: string = this.directories.length\n ? `/${this.directories.join(\"/\")}`\n : \"\"\n ) {\n const httpRequest = MSAppClient.instance!.httpRequest;\n\n try {\n this.loadingManager.startLoading();\n\n const response = await httpRequest.post<R<ResourceInfo[]>>(\n `${this.baseURL}/resource/resource-list`,\n {\n directoryPath: toPath,\n extensions: this.filterExtensions,\n }\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: response.data.msg });\n this.resourceInfoList = [];\n return;\n }\n\n this.resourceInfoList = response.data.data.map((item) => ({\n ...item,\n isSelected: false,\n }));\n\n var directorySegments = toPath.startsWith(\"/\")\n ? toPath.slice(1).split(\"/\")\n : toPath.split(\"/\");\n\n this.directories = directorySegments.filter(Boolean);\n } catch (e) {\n console.error(e);\n\n Messager.error({ message: \"网络异常\" });\n } finally {\n this.loadingManager.completeLoading();\n }\n }\n\n async deleteSelectResourceList() {\n const httpRequest = MSAppClient.instance!.httpRequest;\n\n try {\n this.loadingManager.startLoading();\n\n const response = await httpRequest.post(\n `${this.baseURL}/resource/delete-resource-list`,\n { paths: this.selectResourceList.map((item) => item.path) }\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: response.data.msg });\n this.loadResourceInfoList();\n return;\n }\n\n await this.loadResourceInfoList();\n } catch (e) {\n console.error(e);\n\n Messager.error({ message: \"网络异常\" });\n } finally {\n this.loadingManager.completeLoading();\n }\n }\n\n async getExistPathList(pathList: string[]) {\n const httpRequest = MSAppClient.instance!.httpRequest;\n\n try {\n this.loadingManager.startLoading();\n\n return await httpRequest.post(\n `${this.baseURL}/resource/get-exist-path-list`,\n { pathList }\n );\n } catch (e) {\n console.error(e);\n\n Messager.error({ message: \"网络异常\" });\n\n throw e;\n } finally {\n this.loadingManager.completeLoading();\n }\n }\n\n async uploadResourceList(files: File[]) {\n const httpRequest = MSAppClient.instance!.httpRequest;\n\n try {\n this.loadingManager.startLoading();\n\n var directory = this.directories.length\n ? `/${this.directories.join(\"/\")}`\n : \"\";\n\n var formData = new FormData();\n for (var i = 0; i < files.length; i++) {\n formData.append(files[i].name, files[i]);\n }\n formData.append(\"directory\", directory);\n\n const response = await httpRequest.post(\n `${this.baseURL}/resource/update-resource-list`,\n formData\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: response.data.msg });\n this.loadResourceInfoList();\n return;\n }\n\n await this.loadResourceInfoList();\n } catch (e) {\n console.error(e);\n\n Messager.error({ message: \"网络异常\" });\n } finally {\n this.loadingManager.completeLoading();\n }\n }\n\n async downloadSelectResource() {\n const httpRequest = MSAppClient.instance!.httpRequest;\n\n const response = await httpRequest.post(\n `${this.baseURL}/resource/get-download-resource-url`,\n { filePath: this.selectResourceList[0].path }\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: response.data.msg });\n return;\n }\n\n var aElement = document.createElement(\"a\");\n aElement.href = response.data.data;\n aElement.target = \"_blank\";\n\n aElement.click();\n }\n\n async editSelectFile() {\n const httpRequest = MSAppClient.instance!.httpRequest;\n\n try {\n this.loadingManager.startLoading();\n\n var resourceInfo = this.selectResourceList[0];\n\n const response = await httpRequest.post(\n `${this.baseURL}/resource/get-text`,\n {\n path: resourceInfo.path,\n }\n );\n\n this.isShowEditDialog = true;\n this.currentEditText = response.data.data;\n } finally {\n this.loadingManager.completeLoading();\n }\n }\n\n async saveEditFile() {\n const httpRequest = MSAppClient.instance!.httpRequest;\n\n try {\n this.loadingManager.startLoading();\n\n var resourceInfo = this.selectResourceList[0];\n\n const response = await httpRequest.post(\n `${this.baseURL}/resource/set-text`,\n {\n path: resourceInfo.path,\n content: this.currentEditText,\n }\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: response.data.msg });\n return;\n }\n\n this.isShowEditDialog = false;\n this.currentEditText = \"\";\n } finally {\n this.loadingManager.completeLoading();\n }\n }\n\n clearAllSelect() {\n for (var resourceInfo of this.selectResourceList) {\n resourceInfo.isSelected = false;\n }\n }\n\n handleSelectClick(event: MouseEvent, item: ResourceInfo) {\n if (!event.ctrlKey) {\n this.clearAllSelect();\n\n item.isSelected = true;\n return;\n }\n\n item.isSelected = !item.isSelected;\n }\n\n async publishAssets() {\n const httpRequest = MSAppClient.instance!.httpRequest;\n\n try {\n const isConfirm = await Dialoger.confirm({\n title: \"发布资源\",\n message: \"是否发布资源?\",\n type: \"warning\",\n });\n\n if (!isConfirm) {\n return;\n }\n\n this.loadingManager.startLoading();\n\n const response = await httpRequest.post(\n `${this.baseURL}/content/publish/assets`\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: response.data.msg });\n return;\n }\n\n Messager.success({ message: \"发布成功\" });\n } finally {\n this.loadingManager.completeLoading();\n }\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;AAkBO,MAAM,wBAAwB,WAAW;AAAA,EAuB9C,YAAY,SAAiC;AACrC;AAvBR;AAEA;AAEA;AAEA,4CAA4B;AAE5B,2CAA0B;AAE1B,4CAA6B,CAAA;AAE7B,mCAAkB;AAahB,SAAK,cAAc;AAEnB,SAAK,mBAAmB;AAEnB,SAAA,iBAAiB,IAAI;AAErB,SAAA,mBAAmB,QAAQ,cAAc,CAAA;AAC9C,SAAK,UAAU,QAAQ;AAAA,EACzB;AAAA,EAnBA,IAAI,qBAAqB;AACvB,WAAO,KAAK,iBAAiB,OAAO,CAAC,SAAS,KAAK,UAAU;AAAA,EAC/D;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,eAAe;AAAA,EAC7B;AAAA,EAeA,MAAM,qBACJ,SAAiB,KAAK,YAAY,SAC9B,IAAI,KAAK,YAAY,KAAK,GAAG,CAAC,KAC9B,IACJ;AACM,UAAA,cAAc,YAAY,SAAU;AAEtC,QAAA;AACF,WAAK,eAAe;AAEd,YAAA,WAAW,MAAM,YAAY;AAAA,QACjC,GAAG,KAAK,OAAO;AAAA,QACf;AAAA,UACE,eAAe;AAAA,UACf,YAAY,KAAK;AAAA,QACnB;AAAA,MAAA;AAGE,UAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,iBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C,aAAK,mBAAmB;AACxB;AAAA,MACF;AAEA,WAAK,mBAAmB,SAAS,KAAK,KAAK,IAAI,CAAC,UAAU;AAAA,QACxD,GAAG;AAAA,QACH,YAAY;AAAA,MACZ,EAAA;AAEF,UAAI,oBAAoB,OAAO,WAAW,GAAG,IACzC,OAAO,MAAM,CAAC,EAAE,MAAM,GAAG,IACzB,OAAO,MAAM,GAAG;AAEf,WAAA,cAAc,kBAAkB,OAAO,OAAO;AAAA,aAC5C,GAAG;AACV,cAAQ,MAAM,CAAC;AAEf,eAAS,MAAM,EAAE,SAAS,OAAQ,CAAA;AAAA,IAAA,UAClC;AACA,WAAK,eAAe;IACtB;AAAA,EACF;AAAA,EAEA,MAAM,2BAA2B;AACzB,UAAA,cAAc,YAAY,SAAU;AAEtC,QAAA;AACF,WAAK,eAAe;AAEd,YAAA,WAAW,MAAM,YAAY;AAAA,QACjC,GAAG,KAAK,OAAO;AAAA,QACf,EAAE,OAAO,KAAK,mBAAmB,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAAA,MAAA;AAGxD,UAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,iBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C,aAAK,qBAAqB;AAC1B;AAAA,MACF;AAEA,YAAM,KAAK;aACJ,GAAG;AACV,cAAQ,MAAM,CAAC;AAEf,eAAS,MAAM,EAAE,SAAS,OAAQ,CAAA;AAAA,IAAA,UAClC;AACA,WAAK,eAAe;IACtB;AAAA,EACF;AAAA,EAEA,MAAM,iBAAiB,UAAoB;AACnC,UAAA,cAAc,YAAY,SAAU;AAEtC,QAAA;AACF,WAAK,eAAe;AAEpB,aAAO,MAAM,YAAY;AAAA,QACvB,GAAG,KAAK,OAAO;AAAA,QACf,EAAE,SAAS;AAAA,MAAA;AAAA,aAEN,GAAG;AACV,cAAQ,MAAM,CAAC;AAEf,eAAS,MAAM,EAAE,SAAS,OAAQ,CAAA;AAE5B,YAAA;AAAA,IAAA,UACN;AACA,WAAK,eAAe;IACtB;AAAA,EACF;AAAA,EAEA,MAAM,mBAAmB,OAAe;AAChC,UAAA,cAAc,YAAY,SAAU;AAEtC,QAAA;AACF,WAAK,eAAe;AAEhB,UAAA,YAAY,KAAK,YAAY,SAC7B,IAAI,KAAK,YAAY,KAAK,GAAG,CAAC,KAC9B;AAEA,UAAA,WAAW,IAAI;AACnB,eAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,iBAAS,OAAO,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,CAAC;AAAA,MACzC;AACS,eAAA,OAAO,aAAa,SAAS;AAEhC,YAAA,WAAW,MAAM,YAAY;AAAA,QACjC,GAAG,KAAK,OAAO;AAAA,QACf;AAAA,MAAA;AAGE,UAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,iBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C,aAAK,qBAAqB;AAC1B;AAAA,MACF;AAEA,YAAM,KAAK;aACJ,GAAG;AACV,cAAQ,MAAM,CAAC;AAEf,eAAS,MAAM,EAAE,SAAS,OAAQ,CAAA;AAAA,IAAA,UAClC;AACA,WAAK,eAAe;IACtB;AAAA,EACF;AAAA,EAEA,MAAM,yBAAyB;AACvB,UAAA,cAAc,YAAY,SAAU;AAEpC,UAAA,WAAW,MAAM,YAAY;AAAA,MACjC,GAAG,KAAK,OAAO;AAAA,MACf,EAAE,UAAU,KAAK,mBAAmB,CAAC,EAAE,KAAK;AAAA,IAAA;AAG1C,QAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,eAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,IACF;AAEI,QAAA,WAAW,SAAS,cAAc,GAAG;AAChC,aAAA,OAAO,SAAS,KAAK;AAC9B,aAAS,SAAS;AAElB,aAAS,MAAM;AAAA,EACjB;AAAA,EAEA,MAAM,iBAAiB;AACf,UAAA,cAAc,YAAY,SAAU;AAEtC,QAAA;AACF,WAAK,eAAe;AAEhB,UAAA,eAAe,KAAK,mBAAmB,CAAC;AAEtC,YAAA,WAAW,MAAM,YAAY;AAAA,QACjC,GAAG,KAAK,OAAO;AAAA,QACf;AAAA,UACE,MAAM,aAAa;AAAA,QACrB;AAAA,MAAA;AAGF,WAAK,mBAAmB;AACnB,WAAA,kBAAkB,SAAS,KAAK;AAAA,IAAA,UACrC;AACA,WAAK,eAAe;IACtB;AAAA,EACF;AAAA,EAEA,MAAM,eAAe;AACb,UAAA,cAAc,YAAY,SAAU;AAEtC,QAAA;AACF,WAAK,eAAe;AAEhB,UAAA,eAAe,KAAK,mBAAmB,CAAC;AAEtC,YAAA,WAAW,MAAM,YAAY;AAAA,QACjC,GAAG,KAAK,OAAO;AAAA,QACf;AAAA,UACE,MAAM,aAAa;AAAA,UACnB,SAAS,KAAK;AAAA,QAChB;AAAA,MAAA;AAGE,UAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,iBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,MACF;AAEA,WAAK,mBAAmB;AACxB,WAAK,kBAAkB;AAAA,IAAA,UACvB;AACA,WAAK,eAAe;IACtB;AAAA,EACF;AAAA,EAEA,iBAAiB;AACN,aAAA,gBAAgB,KAAK,oBAAoB;AAChD,mBAAa,aAAa;AAAA,IAC5B;AAAA,EACF;AAAA,EAEA,kBAAkB,OAAmB,MAAoB;AACnD,QAAA,CAAC,MAAM,SAAS;AAClB,WAAK,eAAe;AAEpB,WAAK,aAAa;AAClB;AAAA,IACF;AAEK,SAAA,aAAa,CAAC,KAAK;AAAA,EAC1B;AAAA,EAEA,MAAM,gBAAgB;AACd,UAAA,cAAc,YAAY,SAAU;AAEtC,QAAA;AACI,YAAA,YAAY,MAAM,SAAS,QAAQ;AAAA,QACvC,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MAAA,CACP;AAED,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AAEA,WAAK,eAAe;AAEd,YAAA,WAAW,MAAM,YAAY;AAAA,QACjC,GAAG,KAAK,OAAO;AAAA,MAAA;AAGb,UAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,iBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,MACF;AAEA,eAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,IAAA,UACpC;AACA,WAAK,eAAe;IACtB;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"ResourceManager.js","sources":["../../../../../src/components/business/resource-list/ResourceManager.ts"],"sourcesContent":["import { Disposable } from \"@maketribe/utils\";\r\nimport { MSAppClient } from \"../../../core\";\r\nimport { Dialoger, LoadingManager, Messager } from \"@maketribe/dm\";\r\nimport { R } from \"@maketribe/request\";\r\n\r\nexport type ResourceInfo = {\r\n name: string;\r\n path: string;\r\n isDirectory: boolean;\r\n extension: string;\r\n isSelected: boolean;\r\n};\r\n\r\nexport type ResourceManagerOptions = {\r\n extensions?: string[];\r\n baseURL: string;\r\n};\r\n\r\nexport class ResourceManager extends Disposable {\r\n directories: string[];\r\n\r\n resourceInfoList: ResourceInfo[];\r\n\r\n loadingManager: LoadingManager;\r\n\r\n isShowEditDialog: boolean = false;\r\n\r\n currentEditText: string = \"\";\r\n\r\n filterExtensions: string[] = [];\r\n\r\n baseURL: string = \"\";\r\n\r\n get selectResourceList() {\r\n return this.resourceInfoList.filter((item) => item.isSelected);\r\n }\r\n\r\n get loading() {\r\n return this.loadingManager.loading;\r\n }\r\n\r\n constructor(options: ResourceManagerOptions) {\r\n super();\r\n\r\n this.directories = [];\r\n\r\n this.resourceInfoList = [];\r\n\r\n this.loadingManager = new LoadingManager();\r\n\r\n this.filterExtensions = options.extensions ?? [];\r\n this.baseURL = options.baseURL;\r\n }\r\n\r\n async loadResourceInfoList(\r\n toPath: string = this.directories.length\r\n ? `/${this.directories.join(\"/\")}`\r\n : \"\"\r\n ) {\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\n try {\r\n this.loadingManager.startLoading();\r\n\r\n const response = await httpRequest.post<R<ResourceInfo[]>>(\r\n `${this.baseURL}/resource/resource-list`,\r\n {\r\n directoryPath: toPath,\r\n extensions: this.filterExtensions,\r\n }\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n this.resourceInfoList = [];\r\n return;\r\n }\r\n\r\n this.resourceInfoList = response.data.data.map((item) => ({\r\n ...item,\r\n isSelected: false,\r\n }));\r\n\r\n var directorySegments = toPath.startsWith(\"/\")\r\n ? toPath.slice(1).split(\"/\")\r\n : toPath.split(\"/\");\r\n\r\n this.directories = directorySegments.filter(Boolean);\r\n } catch (e) {\r\n console.error(e);\r\n\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n this.loadingManager.completeLoading();\r\n }\r\n }\r\n\r\n async deleteSelectResourceList() {\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\n try {\r\n this.loadingManager.startLoading();\r\n\r\n const response = await httpRequest.post(\r\n `${this.baseURL}/resource/delete-resource-list`,\r\n { paths: this.selectResourceList.map((item) => item.path) }\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n this.loadResourceInfoList();\r\n return;\r\n }\r\n\r\n await this.loadResourceInfoList();\r\n } catch (e) {\r\n console.error(e);\r\n\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n this.loadingManager.completeLoading();\r\n }\r\n }\r\n\r\n async getExistPathList(pathList: string[]) {\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\n try {\r\n this.loadingManager.startLoading();\r\n\r\n return await httpRequest.post(\r\n `${this.baseURL}/resource/get-exist-path-list`,\r\n { pathList }\r\n );\r\n } catch (e) {\r\n console.error(e);\r\n\r\n Messager.error({ message: \"网络异常\" });\r\n\r\n throw e;\r\n } finally {\r\n this.loadingManager.completeLoading();\r\n }\r\n }\r\n\r\n async uploadResourceList(files: File[]) {\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\n try {\r\n this.loadingManager.startLoading();\r\n\r\n var directory = this.directories.length\r\n ? `/${this.directories.join(\"/\")}`\r\n : \"\";\r\n\r\n var formData = new FormData();\r\n for (var i = 0; i < files.length; i++) {\r\n formData.append(files[i].name, files[i]);\r\n }\r\n formData.append(\"directory\", directory);\r\n\r\n const response = await httpRequest.post(\r\n `${this.baseURL}/resource/update-resource-list`,\r\n formData\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n this.loadResourceInfoList();\r\n return;\r\n }\r\n\r\n await this.loadResourceInfoList();\r\n } catch (e) {\r\n console.error(e);\r\n\r\n Messager.error({ message: \"网络异常\" });\r\n } finally {\r\n this.loadingManager.completeLoading();\r\n }\r\n }\r\n\r\n async downloadSelectResource() {\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\n const response = await httpRequest.post(\r\n `${this.baseURL}/resource/get-download-resource-url`,\r\n { filePath: this.selectResourceList[0].path }\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n var aElement = document.createElement(\"a\");\r\n aElement.href = response.data.data;\r\n aElement.target = \"_blank\";\r\n\r\n aElement.click();\r\n }\r\n\r\n async editSelectFile() {\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\n try {\r\n this.loadingManager.startLoading();\r\n\r\n var resourceInfo = this.selectResourceList[0];\r\n\r\n const response = await httpRequest.post(\r\n `${this.baseURL}/resource/get-text`,\r\n {\r\n path: resourceInfo.path,\r\n }\r\n );\r\n\r\n this.isShowEditDialog = true;\r\n this.currentEditText = response.data.data;\r\n } finally {\r\n this.loadingManager.completeLoading();\r\n }\r\n }\r\n\r\n async saveEditFile() {\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\n try {\r\n this.loadingManager.startLoading();\r\n\r\n var resourceInfo = this.selectResourceList[0];\r\n\r\n const response = await httpRequest.post(\r\n `${this.baseURL}/resource/set-text`,\r\n {\r\n path: resourceInfo.path,\r\n content: this.currentEditText,\r\n }\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n this.isShowEditDialog = false;\r\n this.currentEditText = \"\";\r\n } finally {\r\n this.loadingManager.completeLoading();\r\n }\r\n }\r\n\r\n clearAllSelect() {\r\n for (var resourceInfo of this.selectResourceList) {\r\n resourceInfo.isSelected = false;\r\n }\r\n }\r\n\r\n handleSelectClick(event: MouseEvent, item: ResourceInfo) {\r\n if (!event.ctrlKey) {\r\n this.clearAllSelect();\r\n\r\n item.isSelected = true;\r\n return;\r\n }\r\n\r\n item.isSelected = !item.isSelected;\r\n }\r\n\r\n \r\n}\r\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
- import { defineComponent, onMounted, resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, withCtx, Fragment, renderList, createBlock, toDisplayString, withModifiers, unref } from "vue";
1
+ import { defineComponent, ref, onMounted, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, withCtx, createTextVNode, createCommentVNode, Fragment, renderList, createBlock, toDisplayString, withModifiers, unref } from "vue";
2
2
  import { ElScrollbar } from "element-plus";
3
3
  import { ResourceManager } from "./ResourceManager.js";
4
4
  import _sfc_main$1 from "./components/resource-item/index.vue.js";
5
- const _hoisted_1 = { class: "resource-list" };
6
- const _hoisted_2 = { class: "resource-list-header" };
7
- const _hoisted_3 = ["onClick"];
8
- const _hoisted_4 = { class: "resource-list-list" };
9
- const _hoisted_5 = ["onClick", "onDblclick"];
5
+ const _hoisted_1 = { class: "resource-list-header" };
6
+ const _hoisted_2 = ["onClick"];
7
+ const _hoisted_3 = { class: "resource-list-list" };
8
+ const _hoisted_4 = ["onClick", "onDblclick"];
10
9
  const _sfc_main = /* @__PURE__ */ defineComponent({
11
10
  __name: "resource-list",
12
11
  props: {
@@ -19,6 +18,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
19
18
  setup(__props, { emit: __emit }) {
20
19
  const props = __props;
21
20
  const emit = __emit;
21
+ const listMode = ref("row");
22
22
  const handleBreadcrumbClick = (index) => {
23
23
  if (typeof index !== "number") {
24
24
  props.resourceManager.loadResourceInfoList("/");
@@ -50,17 +50,28 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
50
50
  const _component_MKSvgIcon = resolveComponent("MKSvgIcon");
51
51
  const _component_ElBreadcrumbItem = resolveComponent("ElBreadcrumbItem");
52
52
  const _component_ElBreadcrumb = resolveComponent("ElBreadcrumb");
53
- return openBlock(), createElementBlock("div", _hoisted_1, [
54
- createElementVNode("div", _hoisted_2, [
53
+ return openBlock(), createElementBlock("div", {
54
+ class: normalizeClass(["resource-list", { row: listMode.value == "row" }])
55
+ }, [
56
+ createElementVNode("div", _hoisted_1, [
55
57
  createVNode(_component_ElBreadcrumb, null, {
56
58
  default: withCtx(() => [
57
59
  createVNode(_component_ElBreadcrumbItem, null, {
58
60
  default: withCtx(() => [
61
+ __props.resourceManager.directories.length >= 1 ? (openBlock(), createElementBlock("span", {
62
+ key: 0,
63
+ class: "resource-list-breadcrumb-item",
64
+ onClick: _cache[0] || (_cache[0] = ($event) => handleBreadcrumbClick(__props.resourceManager.directories.length - 2))
65
+ }, [
66
+ createVNode(_component_MKSvgIcon, { iconClass: "ArrowLeftBold" }),
67
+ createTextVNode(" 返回 ")
68
+ ])) : createCommentVNode("", true),
59
69
  createElementVNode("span", {
60
70
  class: "resource-list-breadcrumb-item",
61
- onClick: _cache[0] || (_cache[0] = ($event) => handleBreadcrumbClick())
71
+ onClick: _cache[1] || (_cache[1] = ($event) => handleBreadcrumbClick())
62
72
  }, [
63
- createVNode(_component_MKSvgIcon, { iconClass: "HomeFilled" })
73
+ createVNode(_component_MKSvgIcon, { iconClass: "HomeFilled" }),
74
+ createTextVNode(" 根目录 ")
64
75
  ])
65
76
  ]),
66
77
  _: 1
@@ -71,25 +82,37 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
71
82
  createElementVNode("span", {
72
83
  class: "resource-list-breadcrumb-item",
73
84
  onClick: ($event) => handleBreadcrumbClick(i)
74
- }, toDisplayString(item), 9, _hoisted_3)
85
+ }, toDisplayString(item), 9, _hoisted_2)
75
86
  ]),
76
87
  _: 2
77
88
  }, 1024);
78
89
  }), 128))
79
90
  ]),
80
91
  _: 1
81
- })
92
+ }),
93
+ createElementVNode("div", {
94
+ class: "resource-list-mode",
95
+ onClick: _cache[2] || (_cache[2] = ($event) => listMode.value = listMode.value == "row" ? "col" : "row")
96
+ }, [
97
+ listMode.value == "row" ? (openBlock(), createBlock(_component_MKSvgIcon, {
98
+ key: 0,
99
+ iconClass: "Grid"
100
+ })) : (openBlock(), createBlock(_component_MKSvgIcon, {
101
+ key: 1,
102
+ iconClass: "Fold"
103
+ }))
104
+ ])
82
105
  ]),
83
106
  createElementVNode("div", {
84
107
  class: "resource-list-main",
85
108
  onClick: handleMainClick,
86
- onDragover: _cache[1] || (_cache[1] = withModifiers(() => {
109
+ onDragover: _cache[3] || (_cache[3] = withModifiers(() => {
87
110
  }, ["prevent"])),
88
111
  onDrop: withModifiers(handleDrop, ["prevent"])
89
112
  }, [
90
113
  createVNode(unref(ElScrollbar), { height: "100%" }, {
91
114
  default: withCtx(() => [
92
- createElementVNode("div", _hoisted_4, [
115
+ createElementVNode("div", _hoisted_3, [
93
116
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.resourceManager.resourceInfoList, (item) => {
94
117
  return openBlock(), createElementBlock("div", {
95
118
  class: "resource-list__item",
@@ -100,14 +123,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
100
123
  key: item.path,
101
124
  resourceItem: item
102
125
  }, null, 8, ["resourceItem"]))
103
- ], 40, _hoisted_5);
126
+ ], 40, _hoisted_4);
104
127
  }), 256))
105
128
  ])
106
129
  ]),
107
130
  _: 1
108
131
  })
109
132
  ], 32)
110
- ]);
133
+ ], 2);
111
134
  };
112
135
  }
113
136
  });
@@ -1 +1 @@
1
- {"version":3,"file":"resource-list.vue.js","sources":["../../../../../src/components/business/resource-list/resource-list.vue"],"sourcesContent":["<template>\n <div class=\"resource-list\">\n <div class=\"resource-list-header\">\n <ElBreadcrumb>\n <ElBreadcrumbItem>\n <span\n class=\"resource-list-breadcrumb-item\"\n @click=\"handleBreadcrumbClick()\"\n >\n <MKSvgIcon iconClass=\"HomeFilled\" />\n </span>\n </ElBreadcrumbItem>\n <ElBreadcrumbItem\n v-for=\"(item, i) in resourceManager.directories\"\n :key=\"item\"\n >\n <span\n class=\"resource-list-breadcrumb-item\"\n @click=\"handleBreadcrumbClick(i)\"\n >\n {{ item }}\n </span>\n </ElBreadcrumbItem>\n </ElBreadcrumb>\n </div>\n\n <div\n class=\"resource-list-main\"\n @click=\"handleMainClick\"\n @dragover.prevent\n @drop.prevent=\"handleDrop\"\n >\n <ElScrollbar height=\"100%\">\n <div class=\"resource-list-list\">\n <div\n v-for=\"item in resourceManager.resourceInfoList\"\n class=\"resource-list__item\"\n @click.stop=\"handleClick($event, item)\"\n @dblclick=\"handleDbClick(item)\"\n >\n <ResourceItem :key=\"item.path\" :resourceItem=\"item\" />\n </div>\n </div>\n </ElScrollbar>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted } from \"vue\";\nimport { ElScrollbar } from \"element-plus\";\nimport { ResourceManager, ResourceInfo } from \"./ResourceManager\";\nimport ResourceItem from \"./components/resource-item/index.vue\";\n\nconst props = defineProps({\n resourceManager: {\n type: ResourceManager,\n required: true,\n },\n});\n\nconst emit = defineEmits([\"drop\"]);\n\nconst handleBreadcrumbClick = (index?: number) => {\n if (typeof index !== \"number\") {\n props.resourceManager.loadResourceInfoList(\"/\");\n\n return;\n }\n\n props.resourceManager.loadResourceInfoList(\n props.resourceManager.directories.splice(0, index + 1).join(\"/\")\n );\n};\n\nconst handleMainClick = () => {\n props.resourceManager.clearAllSelect();\n};\n\nconst handleClick = (event: MouseEvent, item: ResourceInfo) => {\n props.resourceManager.handleSelectClick(event, item);\n};\n\nconst handleDbClick = (item: ResourceInfo) => {\n if (!item.isDirectory) {\n return;\n }\n\n props.resourceManager.loadResourceInfoList(item.path);\n};\n\nconst handleDrop = async (event: DragEvent) => {\n emit(\"drop\", event);\n};\n\nonMounted(() => {\n props.resourceManager.loadResourceInfoList();\n});\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAsDA,UAAM,QAAQ;AAOd,UAAM,OAAO;AAEP,UAAA,wBAAwB,CAAC,UAAmB;AAC5C,UAAA,OAAO,UAAU,UAAU;AACvB,cAAA,gBAAgB,qBAAqB,GAAG;AAE9C;AAAA,MACF;AAEA,YAAM,gBAAgB;AAAA,QACpB,MAAM,gBAAgB,YAAY,OAAO,GAAG,QAAQ,CAAC,EAAE,KAAK,GAAG;AAAA,MAAA;AAAA,IACjE;AAGF,UAAM,kBAAkB,MAAM;AAC5B,YAAM,gBAAgB;IAAe;AAGjC,UAAA,cAAc,CAAC,OAAmB,SAAuB;AACvD,YAAA,gBAAgB,kBAAkB,OAAO,IAAI;AAAA,IAAA;AAG/C,UAAA,gBAAgB,CAAC,SAAuB;AACxC,UAAA,CAAC,KAAK,aAAa;AACrB;AAAA,MACF;AAEM,YAAA,gBAAgB,qBAAqB,KAAK,IAAI;AAAA,IAAA;AAGhD,UAAA,aAAa,OAAO,UAAqB;AAC7C,WAAK,QAAQ,KAAK;AAAA,IAAA;AAGpB,cAAU,MAAM;AACd,YAAM,gBAAgB;IAAqB,CAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"resource-list.vue.js","sources":["../../../../../src/components/business/resource-list/resource-list.vue"],"sourcesContent":["<template>\r\n <div class=\"resource-list\" :class=\"{row:listMode=='row'}\">\r\n <div class=\"resource-list-header\">\r\n <ElBreadcrumb>\r\n <ElBreadcrumbItem>\r\n <span class=\"resource-list-breadcrumb-item\" v-if=\"resourceManager.directories.length>=1\"\r\n @click=\"handleBreadcrumbClick(resourceManager.directories.length-2)\"\r\n >\r\n <MKSvgIcon iconClass=\"ArrowLeftBold\" />\r\n 返回\r\n </span>\r\n <span\r\n class=\"resource-list-breadcrumb-item\"\r\n @click=\"handleBreadcrumbClick()\"\r\n >\r\n <MKSvgIcon iconClass=\"HomeFilled\" />\r\n 根目录\r\n </span>\r\n </ElBreadcrumbItem>\r\n <ElBreadcrumbItem\r\n v-for=\"(item, i) in resourceManager.directories\"\r\n :key=\"item\"\r\n >\r\n <span\r\n class=\"resource-list-breadcrumb-item\"\r\n @click=\"handleBreadcrumbClick(i)\"\r\n >\r\n {{ item }}\r\n </span>\r\n </ElBreadcrumbItem>\r\n </ElBreadcrumb>\r\n <div class=\"resource-list-mode\" @click=\"listMode = listMode=='row' ? 'col':'row'\">\r\n <MKSvgIcon v-if=\"listMode=='row'\" iconClass=\"Grid\" />\r\n <MKSvgIcon v-else iconClass=\"Fold\" />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"resource-list-main\"\r\n @click=\"handleMainClick\"\r\n @dragover.prevent\r\n @drop.prevent=\"handleDrop\"\r\n >\r\n <ElScrollbar height=\"100%\">\r\n <div class=\"resource-list-list\">\r\n <div\r\n v-for=\"item in resourceManager.resourceInfoList\"\r\n class=\"resource-list__item\"\r\n @click.stop=\"handleClick($event, item)\"\r\n @dblclick=\"handleDbClick(item)\"\r\n >\r\n <ResourceItem :key=\"item.path\" :resourceItem=\"item\" />\r\n </div>\r\n </div>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onMounted,ref } from \"vue\";\r\nimport { ElScrollbar } from \"element-plus\";\r\nimport { ResourceManager, ResourceInfo } from \"./ResourceManager\";\r\nimport ResourceItem from \"./components/resource-item/index.vue\";\r\n\r\nconst props = defineProps({\r\n resourceManager: {\r\n type: ResourceManager,\r\n required: true,\r\n }\r\n});\r\n\r\nconst emit = defineEmits([\"drop\"]);\r\nconst listMode = ref(\"row\")\r\n\r\nconst handleBreadcrumbClick = (index?: number) => {\r\n if (typeof index !== \"number\") {\r\n props.resourceManager.loadResourceInfoList(\"/\");\r\n\r\n return;\r\n }\r\n\r\n props.resourceManager.loadResourceInfoList(\r\n props.resourceManager.directories.splice(0, index + 1).join(\"/\")\r\n );\r\n};\r\n\r\nconst handleMainClick = () => {\r\n props.resourceManager.clearAllSelect();\r\n};\r\n\r\nconst handleClick = (event: MouseEvent, item: ResourceInfo) => {\r\n props.resourceManager.handleSelectClick(event, item);\r\n};\r\n\r\nconst handleDbClick = (item: ResourceInfo) => {\r\n if (!item.isDirectory) {\r\n return;\r\n }\r\n\r\n props.resourceManager.loadResourceInfoList(item.path);\r\n};\r\n\r\nconst handleDrop = async (event: DragEvent) => {\r\n emit(\"drop\", event);\r\n};\r\n\r\nonMounted(() => {\r\n props.resourceManager.loadResourceInfoList();\r\n});\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAiEA,UAAM,QAAQ;AAOd,UAAM,OAAO;AACP,UAAA,WAAW,IAAI,KAAK;AAEpB,UAAA,wBAAwB,CAAC,UAAmB;AAC5C,UAAA,OAAO,UAAU,UAAU;AACvB,cAAA,gBAAgB,qBAAqB,GAAG;AAE9C;AAAA,MACF;AAEA,YAAM,gBAAgB;AAAA,QACpB,MAAM,gBAAgB,YAAY,OAAO,GAAG,QAAQ,CAAC,EAAE,KAAK,GAAG;AAAA,MAAA;AAAA,IACjE;AAGF,UAAM,kBAAkB,MAAM;AAC5B,YAAM,gBAAgB;IAAe;AAGjC,UAAA,cAAc,CAAC,OAAmB,SAAuB;AACvD,YAAA,gBAAgB,kBAAkB,OAAO,IAAI;AAAA,IAAA;AAG/C,UAAA,gBAAgB,CAAC,SAAuB;AACxC,UAAA,CAAC,KAAK,aAAa;AACrB;AAAA,MACF;AAEM,YAAA,gBAAgB,qBAAqB,KAAK,IAAI;AAAA,IAAA;AAGhD,UAAA,aAAa,OAAO,UAAqB;AAC7C,WAAK,QAAQ,KAAK;AAAA,IAAA;AAGpB,cAAU,MAAM;AACd,YAAM,gBAAgB;IAAqB,CAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, computed, unref, onMounted, resolveDirective, openBlock, createElementBlock, Fragment, withDirectives, createElementVNode, createBlock, withCtx, createTextVNode, createCommentVNode, createVNode, renderList, toDisplayString } from "vue";
1
+ import { defineComponent, ref, computed, unref, onMounted, resolveDirective, openBlock, createElementBlock, Fragment, withDirectives, createElementVNode, createBlock, withCtx, createTextVNode, createCommentVNode, createVNode, renderSlot, renderList, toDisplayString } from "vue";
2
2
  import { ElButton, ElDialog, ElMessageBox, ElMessage } from "element-plus";
3
3
  import "../../basic/svg-icon/index.js";
4
4
  import "../../basic/button/button-options.js";
@@ -68,9 +68,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
68
68
  unref(resourceManager).isShowEditDialog = false;
69
69
  unref(resourceManager).currentEditText = "";
70
70
  };
71
- const publishAssetsHandle = () => {
72
- unref(resourceManager).publishAssets();
73
- };
74
71
  const handleUploadClick = () => {
75
72
  var input = document.createElement("input");
76
73
  input.type = "file";
@@ -212,15 +209,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
212
209
  ]),
213
210
  _: 1
214
211
  }),
215
- createVNode(unref(ElButton), {
216
- type: "primary",
217
- onClick: publishAssetsHandle
218
- }, {
219
- default: withCtx(() => [
220
- createTextVNode("发布资产")
221
- ]),
222
- _: 1
223
- })
212
+ renderSlot(_ctx.$slots, "tools")
224
213
  ]),
225
214
  createVNode(unref(MKResourceList), {
226
215
  resourceManager: resourceManager.value,
@@ -1 +1 @@
1
- {"version":3,"file":"resource-manager.vue.js","sources":["../../../../../src/components/business/resource-manager/resource-manager.vue"],"sourcesContent":["<template>\n <div v-loading=\"resourceManager.loading\" class=\"resource-manager\">\n <div class=\"resource-manager-tools\">\n <ElButton\n v-if=\"selectResourceCount > 0\"\n type=\"danger\"\n @click=\"handleDeleteClick\"\n >\n 删除\n </ElButton>\n <ElButton\n v-if=\"\n selectResourceCount === 1 &&\n !resourceManager.selectResourceList[0].isDirectory\n \"\n @click=\"handleEdit\"\n >\n 编辑\n </ElButton>\n <ElButton\n v-if=\"\n selectResourceCount === 1 &&\n !resourceManager.selectResourceList[0].isDirectory\n \"\n @click=\"handleDownload()\"\n >\n 下载\n </ElButton>\n <ElButton type=\"primary\" @click=\"handleUploadClick\">上传</ElButton>\n <ElButton type=\"primary\" @click=\"publishAssetsHandle\">发布资产</ElButton>\n </div>\n\n <MKResourceList :resourceManager=\"resourceManager\" @drop=\"handleDrop\" />\n </div>\n\n <ElDialog v-model=\"isShowEditDialog\" @close=\"handleEditDialogClose\">\n <MKCodeEditor\n v-if=\"isShowEditDialog\"\n v-model=\"resourceManager.currentEditText\"\n />\n <template #footer>\n <ElButton @click=\"handleEditDialogClose\">取消</ElButton>\n <ElButton\n type=\"primary\"\n v-loading=\"resourceManager.loading\"\n @click=\"handleEditDialogConfirm\"\n >\n 保存\n </ElButton>\n </template>\n </ElDialog>\n\n <ElDialog\n v-model=\"isShowConfirmDialog\"\n title=\"文件已存在\"\n @close=\"handleDialogCancelClick\"\n >\n <div v-for=\"path in existPathList\" :key=\"path\">{{ path }}</div>\n\n <template #footer>\n <ElButton type=\"danger\" @click=\"handleDialogOverrideClick\">覆盖</ElButton>\n <ElButton type=\"warning\" @click=\"handleDialogSkipClick\">跳过</ElButton>\n <ElButton @click=\"handleDialogCancelClick\">取消</ElButton>\n </template>\n </ElDialog>\n</template>\n\n<script setup lang=\"ts\">\nimport { onMounted, computed, unref, ref } from \"vue\";\nimport { ElButton, ElMessageBox, ElMessage, ElDialog } from \"element-plus\";\nimport { MKCodeEditor } from \"../../basic\";\nimport { MKResourceList, ResourceManager } from \"../resource-list\";\n\nconst props = defineProps({\n resourceManager: {\n type: ResourceManager,\n required: true,\n },\n});\n\nconst isShowConfirmDialog = ref(false);\n\nlet waitUploadFiles: File[] = [];\nconst existPathList = ref([] as string[]);\n\nconst resourceManager = computed(() => props.resourceManager);\n\nconst isShowEditDialog = computed(\n () => unref(resourceManager).isShowEditDialog\n);\n\nconst selectResourceCount = computed(\n () => unref(resourceManager).selectResourceList.length\n);\n\nconst handleDeleteClick = async () => {\n const isConfirm = await ElMessageBox.confirm(\"是否删除选中文件\", {\n type: \"warning\",\n }).then(\n () => true,\n () => false\n );\n\n if (!isConfirm) {\n return;\n }\n\n unref(resourceManager).deleteSelectResourceList();\n};\n\nconst handleEdit = () => {\n unref(resourceManager).editSelectFile();\n};\n\nconst handleEditDialogConfirm = () => {\n unref(resourceManager).saveEditFile();\n};\n\nconst handleEditDialogClose = () => {\n unref(resourceManager).isShowEditDialog = false;\n unref(resourceManager).currentEditText = \"\";\n};\n\nconst publishAssetsHandle = () => {\n unref(resourceManager).publishAssets();\n};\n\nconst handleUploadClick = () => {\n /** @type {HTMLInputElement} */\n var input = document.createElement(\"input\");\n input.type = \"file\";\n input.multiple = true;\n\n input.addEventListener(\"change\", () => {\n var files = new Array(input.files!.length)\n .fill(0)\n .map((_, i) => input.files![i]);\n\n unref(resourceManager).uploadResourceList(files);\n });\n\n input.click();\n};\n\nconst handleDownload = () => {\n unref(resourceManager).downloadSelectResource();\n};\n\nconst handleDrop = async (event: DragEvent) => {\n waitUploadFiles = [];\n\n var _items = event.dataTransfer?.items;\n\n var fileSystemEntry = _items![0].webkitGetAsEntry() as any;\n\n const internalProcess = async (item: any, path: string = \"\") => {\n if (item.isFile) {\n return [\n await new Promise((resolve) => {\n item.file((file: File) => {\n resolve(\n new File([file], `${path}${file.name}`, { type: file.type })\n );\n });\n }),\n ] as File[];\n } else if (item.isDirectory) {\n var directoryReader = item.createReader();\n\n const entries = (await new Promise((resolve) => {\n directoryReader.readEntries(resolve);\n })) as any[];\n\n var result: File[] = [];\n\n for (let i = 0; i < entries.length; i++) {\n result = result.concat(\n await internalProcess(entries[i], `${path}${item.name}/`)\n );\n }\n\n return result;\n }\n\n return [];\n };\n\n const files = (waitUploadFiles = await internalProcess(fileSystemEntry));\n\n try {\n unref(resourceManager).loadingManager.startLoading();\n\n const checkResponse = await unref(resourceManager).getExistPathList(\n files.map((file) => file.name)\n );\n\n if (checkResponse.data.code !== 200) {\n ElMessage.error({ message: checkResponse.data.msg });\n return;\n }\n\n if (checkResponse.data.data?.length === 0) {\n await unref(resourceManager).uploadResourceList(files);\n\n waitUploadFiles = [];\n return;\n }\n\n existPathList.value = checkResponse.data.data ?? [];\n\n isShowConfirmDialog.value = true;\n } catch (e) {\n console.log(e);\n ElMessage.error(\"网络异常,上传失败\");\n } finally {\n unref(resourceManager).loadingManager.completeLoading();\n }\n};\n\nconst handleDialogOverrideClick = async () => {\n try {\n await unref(resourceManager).uploadResourceList(waitUploadFiles);\n } catch (e) {\n console.log(e);\n ElMessage.error(\"网络异常,上传失败\");\n }\n\n handleDialogCancelClick();\n};\n\nconst handleDialogSkipClick = async () => {\n try {\n const files = waitUploadFiles.filter(\n (file) => !unref(existPathList).includes(file.name)\n );\n\n if (files.length) {\n await unref(resourceManager).uploadResourceList(files);\n }\n } catch (e) {\n console.log(e);\n ElMessage.error(\"网络异常,上传失败\");\n }\n\n handleDialogCancelClick();\n};\n\nconst handleDialogCancelClick = () => {\n isShowConfirmDialog.value = false;\n existPathList.value = [];\n waitUploadFiles = [];\n};\n\nonMounted(() => {\n unref(resourceManager).loadResourceInfoList();\n});\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-manager.vue.js","sources":["../../../../../src/components/business/resource-manager/resource-manager.vue"],"sourcesContent":["<template>\r\n <div v-loading=\"resourceManager.loading\" class=\"resource-manager\">\r\n <div class=\"resource-manager-tools\">\r\n <ElButton\r\n v-if=\"selectResourceCount > 0\"\r\n type=\"danger\"\r\n @click=\"handleDeleteClick\"\r\n >\r\n 删除\r\n </ElButton>\r\n <ElButton\r\n v-if=\"\r\n selectResourceCount === 1 &&\r\n !resourceManager.selectResourceList[0].isDirectory\r\n \"\r\n @click=\"handleEdit\"\r\n >\r\n 编辑\r\n </ElButton>\r\n <ElButton\r\n v-if=\"\r\n selectResourceCount === 1 &&\r\n !resourceManager.selectResourceList[0].isDirectory\r\n \"\r\n @click=\"handleDownload()\"\r\n >\r\n 下载\r\n </ElButton>\r\n <ElButton type=\"primary\" @click=\"handleUploadClick\">上传</ElButton>\r\n <slot name=\"tools\"></slot>\r\n </div>\r\n <MKResourceList :resourceManager=\"resourceManager\" @drop=\"handleDrop\" />\r\n </div>\r\n\r\n <ElDialog v-model=\"isShowEditDialog\" @close=\"handleEditDialogClose\">\r\n <MKCodeEditor\r\n v-if=\"isShowEditDialog\"\r\n v-model=\"resourceManager.currentEditText\"\r\n />\r\n <template #footer>\r\n <ElButton @click=\"handleEditDialogClose\">取消</ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n v-loading=\"resourceManager.loading\"\r\n @click=\"handleEditDialogConfirm\"\r\n >\r\n 保存\r\n </ElButton>\r\n </template>\r\n </ElDialog>\r\n\r\n <ElDialog\r\n v-model=\"isShowConfirmDialog\"\r\n title=\"文件已存在\"\r\n @close=\"handleDialogCancelClick\"\r\n >\r\n <div v-for=\"path in existPathList\" :key=\"path\">{{ path }}</div>\r\n\r\n <template #footer>\r\n <ElButton type=\"danger\" @click=\"handleDialogOverrideClick\">覆盖</ElButton>\r\n <ElButton type=\"warning\" @click=\"handleDialogSkipClick\">跳过</ElButton>\r\n <ElButton @click=\"handleDialogCancelClick\">取消</ElButton>\r\n </template>\r\n </ElDialog>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onMounted, computed, unref, ref } from \"vue\";\r\nimport { ElButton, ElMessageBox, ElMessage, ElDialog } from \"element-plus\";\r\nimport { MKCodeEditor } from \"../../basic\";\r\nimport { MKResourceList, ResourceManager } from \"../resource-list\";\r\n\r\nconst props = defineProps({\r\n resourceManager: {\r\n type: ResourceManager,\r\n required: true,\r\n },\r\n});\r\n\r\nconst isShowConfirmDialog = ref(false);\r\n\r\nlet waitUploadFiles: File[] = [];\r\nconst existPathList = ref([] as string[]);\r\n\r\nconst resourceManager = computed(() => props.resourceManager);\r\n\r\nconst isShowEditDialog = computed(\r\n () => unref(resourceManager).isShowEditDialog\r\n);\r\n\r\nconst selectResourceCount = computed(\r\n () => unref(resourceManager).selectResourceList.length\r\n);\r\n\r\nconst handleDeleteClick = async () => {\r\n const isConfirm = await ElMessageBox.confirm(\"是否删除选中文件\", {\r\n type: \"warning\",\r\n }).then(\r\n () => true,\r\n () => false\r\n );\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n unref(resourceManager).deleteSelectResourceList();\r\n};\r\n\r\nconst handleEdit = () => {\r\n unref(resourceManager).editSelectFile();\r\n};\r\n\r\nconst handleEditDialogConfirm = () => {\r\n unref(resourceManager).saveEditFile();\r\n};\r\n\r\nconst handleEditDialogClose = () => {\r\n unref(resourceManager).isShowEditDialog = false;\r\n unref(resourceManager).currentEditText = \"\";\r\n};\r\n\r\nconst handleUploadClick = () => {\r\n /** @type {HTMLInputElement} */\r\n var input = document.createElement(\"input\");\r\n input.type = \"file\";\r\n input.multiple = true;\r\n\r\n input.addEventListener(\"change\", () => {\r\n var files = new Array(input.files!.length)\r\n .fill(0)\r\n .map((_, i) => input.files![i]);\r\n\r\n unref(resourceManager).uploadResourceList(files);\r\n });\r\n\r\n input.click();\r\n};\r\n\r\nconst handleDownload = () => {\r\n unref(resourceManager).downloadSelectResource();\r\n};\r\n\r\nconst handleDrop = async (event: DragEvent) => {\r\n waitUploadFiles = [];\r\n\r\n var _items = event.dataTransfer?.items;\r\n\r\n var fileSystemEntry = _items![0].webkitGetAsEntry() as any;\r\n\r\n const internalProcess = async (item: any, path: string = \"\") => {\r\n if (item.isFile) {\r\n return [\r\n await new Promise((resolve) => {\r\n item.file((file: File) => {\r\n resolve(\r\n new File([file], `${path}${file.name}`, { type: file.type })\r\n );\r\n });\r\n }),\r\n ] as File[];\r\n } else if (item.isDirectory) {\r\n var directoryReader = item.createReader();\r\n\r\n const entries = (await new Promise((resolve) => {\r\n directoryReader.readEntries(resolve);\r\n })) as any[];\r\n\r\n var result: File[] = [];\r\n\r\n for (let i = 0; i < entries.length; i++) {\r\n result = result.concat(\r\n await internalProcess(entries[i], `${path}${item.name}/`)\r\n );\r\n }\r\n\r\n return result;\r\n }\r\n\r\n return [];\r\n };\r\n\r\n const files = (waitUploadFiles = await internalProcess(fileSystemEntry));\r\n\r\n try {\r\n unref(resourceManager).loadingManager.startLoading();\r\n\r\n const checkResponse = await unref(resourceManager).getExistPathList(\r\n files.map((file) => file.name)\r\n );\r\n\r\n if (checkResponse.data.code !== 200) {\r\n ElMessage.error({ message: checkResponse.data.msg });\r\n return;\r\n }\r\n\r\n if (checkResponse.data.data?.length === 0) {\r\n await unref(resourceManager).uploadResourceList(files);\r\n\r\n waitUploadFiles = [];\r\n return;\r\n }\r\n\r\n existPathList.value = checkResponse.data.data ?? [];\r\n\r\n isShowConfirmDialog.value = true;\r\n } catch (e) {\r\n console.log(e);\r\n ElMessage.error(\"网络异常,上传失败\");\r\n } finally {\r\n unref(resourceManager).loadingManager.completeLoading();\r\n }\r\n};\r\n\r\nconst handleDialogOverrideClick = async () => {\r\n try {\r\n await unref(resourceManager).uploadResourceList(waitUploadFiles);\r\n } catch (e) {\r\n console.log(e);\r\n ElMessage.error(\"网络异常,上传失败\");\r\n }\r\n\r\n handleDialogCancelClick();\r\n};\r\n\r\nconst handleDialogSkipClick = async () => {\r\n try {\r\n const files = waitUploadFiles.filter(\r\n (file) => !unref(existPathList).includes(file.name)\r\n );\r\n\r\n if (files.length) {\r\n await unref(resourceManager).uploadResourceList(files);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n ElMessage.error(\"网络异常,上传失败\");\r\n }\r\n\r\n handleDialogCancelClick();\r\n};\r\n\r\nconst handleDialogCancelClick = () => {\r\n isShowConfirmDialog.value = false;\r\n existPathList.value = [];\r\n waitUploadFiles = [];\r\n};\r\n\r\nonMounted(() => {\r\n unref(resourceManager).loadResourceInfoList();\r\n});\r\n</script>\r\n"],"names":[],"mappings":"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"}
@@ -18,7 +18,6 @@ const Table = /* @__PURE__ */ defineComponent({
18
18
  const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);
19
19
  const dataTableEl = computed(() => (dataTableContext == null ? void 0 : dataTableContext.el) ?? null);
20
20
  const tableEl = ref(null);
21
- window.tableEl = tableEl;
22
21
  const dataTable = computed(() => props.dataTable ?? dataTableContext.dataTable);
23
22
  const rowKey = computed(() => props.rowKey || unref(dataTable).primaryKey);
24
23
  const list = computed(() => props.getList(unref(dataTable)));
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sources":["../../../../../../../src/components/data-model/data-table/views/table/table.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n onMounted,\n ref,\n Ref,\n unref,\n watch,\n nextTick,\n inject,\n} from \"vue\";\nimport { Column, ElEmpty, ElTable, ElTableColumn } from \"element-plus\";\nimport { isEqual } from \"lodash-es\";\nimport MKDataTableColumn from \"../../data-table-column\";\nimport { tableProps } from \"./table-options\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../token\";\nimport Sortable from \"sortablejs\";\nimport { OrderType } from \"@maketribe/request\";\n\nexport default defineComponent({\n name: \"MKTable\",\n props: tableProps,\n setup(props, { slots }) {\n const treeProps = computed(() => {\n return props.treeProps;\n });\n\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);\n\n const dataTableEl = computed(() => dataTableContext?.el ?? null);\n\n const tableEl: Ref<InstanceType<typeof ElTable> | null> = ref(null);\n\n (window as any).tableEl = tableEl;\n\n const dataTable = computed(\n () => props.dataTable ?? dataTableContext!.dataTable\n );\n\n const rowKey = computed(() => props.rowKey || unref(dataTable).primaryKey);\n\n const list = computed(() => props.getList(unref(dataTable)));\n\n const selectionColumn = computed(() => unref(dataTable).selectionColumn);\n\n type SortChangeEvent = { column: Column; prop: string; order: string };\n\n const handleSortChange = ({ column, prop, order }: SortChangeEvent) => {\n let orderType: OrderType | null = null;\n\n if (order === \"descending\") {\n orderType = OrderType.DESC;\n } else if (order === \"ascending\") {\n orderType = OrderType.ASC;\n }\n\n unref(dataTable).sorter.setColumnSort(prop, orderType);\n };\n\n let allowChangeSelection = true;\n\n const handleSelectionChange = (items: any[]) => {\n if (allowChangeSelection) {\n unref(dataTable).setSelection(\n items.map((item) => item[unref(dataTable).primaryKey])\n );\n }\n };\n\n onMounted(() => {\n const _tableEl = unref(tableEl)!;\n\n watch(list, (list, _, onCleanup) => {\n onCleanup(\n watch(\n computed(() => unref(dataTable).getSelection()),\n async (selections) => {\n const primaryKey = unref(dataTable).primaryKey;\n\n const tableSelections = _tableEl\n .getSelectionRows()\n .map((item: any) => item[primaryKey])\n .sort();\n\n if (isEqual(selections, tableSelections)) {\n return;\n }\n\n allowChangeSelection = false;\n\n _tableEl.clearSelection();\n\n await nextTick();\n\n const selectedRows = list.filter((item: any) =>\n selections.includes(item[primaryKey])\n );\n\n for (var item of selectedRows) {\n _tableEl.toggleRowSelection(item, true);\n }\n\n allowChangeSelection = true;\n },\n {\n immediate: true,\n }\n )\n );\n });\n\n watch(\n dataTableEl,\n (el, _, onCleanup) => {\n if (!el) {\n return;\n }\n var sortableInstance = Sortable.create(el.querySelector(\"tbody\")!, {\n handle: \".mk-column-sort__drag\",\n animation: 300,\n onEnd: (event) => {\n const newIndex = event.newIndex!;\n const oldIndx = event.oldIndex!;\n\n if (oldIndx === newIndex) {\n return;\n }\n\n const movedElement = unref(dataTable).getList()[oldIndx];\n\n var updateRecords: any[] = [];\n\n if (oldIndx > newIndex) {\n // 后面元素移到了中间元素前 中间元素需要增加排序值\n const middleElements = unref(dataTable)\n .getList()\n .splice(newIndex, oldIndx);\n\n movedElement.sort = middleElements[0].sort;\n\n for (const middleElement of middleElements) {\n let sort = Number.parseInt(middleElement.sort);\n sort = Number.isNaN(sort) ? 0 : sort;\n sort += 1;\n }\n\n updateRecords = [movedElement, ...middleElements];\n } else {\n // 前面元素移动到了中间元素后 中间元素需要减少排序值\n const middleElements = unref(dataTable)\n .getList()\n .splice(oldIndx, newIndex);\n\n movedElement.sort =\n middleElements[middleElements.length - 1].sort;\n\n for (const middleElement of middleElements) {\n let sort = Number.parseInt(middleElement.sort);\n sort = Number.isNaN(sort) ? 0 : sort;\n sort -= 1;\n }\n\n updateRecords = [...middleElements, movedElement];\n }\n },\n });\n\n onCleanup(() => {\n sortableInstance.destroy();\n });\n },\n { immediate: true }\n );\n });\n\n return () => {\n const columns = unref(dataTable)\n .getColumns()\n .filter((column) => column.visible && column.name)\n .map((column) => {\n const columnProps: Record<string, any> = {\n prop: column.name,\n label: column.label,\n width: column.width,\n minWidth: column.minWidth,\n fixed: column.fixed,\n align: column.align || \"center\",\n reserveSelection: true,\n type: column.type || \"default\",\n sortable: column.sortable,\n };\n\n if (!column.visible) {\n return null;\n }\n\n return (\n slots[`col-${column.name}`]?.() ?? (\n <ElTableColumn\n {...columnProps}\n v-slots={{\n default: (scope: {\n $index: number;\n row: any;\n column: any;\n }) => {\n let children = slots[`col-${column.name}-content`]?.({\n $index: scope.$index,\n row: scope.row,\n column: column,\n dataTable: unref(dataTable),\n });\n\n if (children) {\n return children;\n }\n\n return (\n <MKDataTableColumn\n column={column}\n row={scope.row}\n index={scope.$index}\n />\n );\n },\n }}\n />\n )\n );\n });\n\n return (\n <ElTable\n data={unref(list)}\n row-key={unref(rowKey)}\n onSort-change={handleSortChange}\n ref={(el: any) =>\n (tableEl.value = el as InstanceType<typeof ElTable>)\n }\n show-overflow-tooltip\n border\n stripe\n lazy={props.lazy}\n load={props.load as any}\n v-slots={{ empty: () => slots.empty?.() || <ElEmpty /> }}\n onSelection-change={handleSelectionChange}\n defaultExpandAll={props.defaultExpandAll}\n >\n {unref(selectionColumn).visible ? (\n <ElTableColumn\n type={unref(selectionColumn).type ?? \"selection\"}\n width={unref(selectionColumn).width}\n fixed={unref(selectionColumn).fixed}\n />\n ) : null}\n {columns}\n </ElTable>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","tableProps","setup","slots","computed","treeProps","dataTableContext","inject","DATA_TABLE_CONTEXT_KEY","dataTableEl","el","tableEl","ref","window","dataTable","rowKey","unref","primaryKey","list","getList","selectionColumn","handleSortChange","column","prop","order","orderType","OrderType","DESC","ASC","sorter","setColumnSort","allowChangeSelection","handleSelectionChange","items","setSelection","map","item","onMounted","_tableEl","watch","_","onCleanup","getSelection","selections","tableSelections","getSelectionRows","sort","isEqual","clearSelection","nextTick","selectedRows","filter","includes","toggleRowSelection","immediate","sortableInstance","Sortable","create","querySelector","handle","animation","onEnd","event","newIndex","oldIndx","oldIndex","movedElement","middleElements","splice","middleElement","Number","parseInt","length","destroy","columns","getColumns","visible","columnProps","label","width","minWidth","fixed","align","reserveSelection","type","sortable","_createVNode","ElTableColumn","default","scope","children","$index","row","MKDataTableColumn","ElTable","value","lazy","load","defaultExpandAll","empty","ElEmpty"],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sources":["../../../../../../../src/components/data-model/data-table/views/table/table.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n onMounted,\n ref,\n Ref,\n unref,\n watch,\n nextTick,\n inject,\n} from \"vue\";\nimport { Column, ElEmpty, ElTable, ElTableColumn } from \"element-plus\";\nimport { isEqual } from \"lodash-es\";\nimport MKDataTableColumn from \"../../data-table-column\";\nimport { tableProps } from \"./table-options\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../token\";\nimport Sortable from \"sortablejs\";\nimport { OrderType } from \"@maketribe/request\";\n\nexport default defineComponent({\n name: \"MKTable\",\n props: tableProps,\n setup(props, { slots }) {\n const treeProps = computed(() => {\n return props.treeProps;\n });\n\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);\n\n const dataTableEl = computed(() => dataTableContext?.el ?? null);\n\n const tableEl: Ref<InstanceType<typeof ElTable> | null> = ref(null);\n\n const dataTable = computed(\n () => props.dataTable ?? dataTableContext!.dataTable\n );\n\n const rowKey = computed(() => props.rowKey || unref(dataTable).primaryKey);\n\n const list = computed(() => props.getList(unref(dataTable)));\n\n const selectionColumn = computed(() => unref(dataTable).selectionColumn);\n\n type SortChangeEvent = { column: Column; prop: string; order: string };\n\n const handleSortChange = ({ column, prop, order }: SortChangeEvent) => {\n let orderType: OrderType | null = null;\n\n if (order === \"descending\") {\n orderType = OrderType.DESC;\n } else if (order === \"ascending\") {\n orderType = OrderType.ASC;\n }\n\n unref(dataTable).sorter.setColumnSort(prop, orderType);\n };\n\n let allowChangeSelection = true;\n\n const handleSelectionChange = (items: any[]) => {\n if (allowChangeSelection) {\n unref(dataTable).setSelection(\n items.map((item) => item[unref(dataTable).primaryKey])\n );\n }\n };\n\n onMounted(() => {\n const _tableEl = unref(tableEl)!;\n\n watch(list, (list, _, onCleanup) => {\n onCleanup(\n watch(\n computed(() => unref(dataTable).getSelection()),\n async (selections) => {\n const primaryKey = unref(dataTable).primaryKey;\n\n const tableSelections = _tableEl\n .getSelectionRows()\n .map((item: any) => item[primaryKey])\n .sort();\n\n if (isEqual(selections, tableSelections)) {\n return;\n }\n\n allowChangeSelection = false;\n\n _tableEl.clearSelection();\n\n await nextTick();\n\n const selectedRows = list.filter((item: any) =>\n selections.includes(item[primaryKey])\n );\n\n for (var item of selectedRows) {\n _tableEl.toggleRowSelection(item, true);\n }\n\n allowChangeSelection = true;\n },\n {\n immediate: true,\n }\n )\n );\n });\n\n watch(\n dataTableEl,\n (el, _, onCleanup) => {\n if (!el) {\n return;\n }\n var sortableInstance = Sortable.create(el.querySelector(\"tbody\")!, {\n handle: \".mk-column-sort__drag\",\n animation: 300,\n onEnd: (event) => {\n const newIndex = event.newIndex!;\n const oldIndx = event.oldIndex!;\n\n if (oldIndx === newIndex) {\n return;\n }\n\n const movedElement = unref(dataTable).getList()[oldIndx];\n\n var updateRecords: any[] = [];\n\n if (oldIndx > newIndex) {\n // 后面元素移到了中间元素前 中间元素需要增加排序值\n const middleElements = unref(dataTable)\n .getList()\n .splice(newIndex, oldIndx);\n\n movedElement.sort = middleElements[0].sort;\n\n for (const middleElement of middleElements) {\n let sort = Number.parseInt(middleElement.sort);\n sort = Number.isNaN(sort) ? 0 : sort;\n sort += 1;\n }\n\n updateRecords = [movedElement, ...middleElements];\n } else {\n // 前面元素移动到了中间元素后 中间元素需要减少排序值\n const middleElements = unref(dataTable)\n .getList()\n .splice(oldIndx, newIndex);\n\n movedElement.sort =\n middleElements[middleElements.length - 1].sort;\n\n for (const middleElement of middleElements) {\n let sort = Number.parseInt(middleElement.sort);\n sort = Number.isNaN(sort) ? 0 : sort;\n sort -= 1;\n }\n\n updateRecords = [...middleElements, movedElement];\n }\n },\n });\n\n onCleanup(() => {\n sortableInstance.destroy();\n });\n },\n { immediate: true }\n );\n });\n\n return () => {\n const columns = unref(dataTable)\n .getColumns()\n .filter((column) => column.visible && column.name)\n .map((column) => {\n const columnProps: Record<string, any> = {\n prop: column.name,\n label: column.label,\n width: column.width,\n minWidth: column.minWidth,\n fixed: column.fixed,\n align: column.align || \"center\",\n reserveSelection: true,\n type: column.type || \"default\",\n sortable: column.sortable,\n };\n\n if (!column.visible) {\n return null;\n }\n\n return (\n slots[`col-${column.name}`]?.() ?? (\n <ElTableColumn\n {...columnProps}\n v-slots={{\n default: (scope: {\n $index: number;\n row: any;\n column: any;\n }) => {\n let children = slots[`col-${column.name}-content`]?.({\n $index: scope.$index,\n row: scope.row,\n column: column,\n dataTable: unref(dataTable),\n });\n\n if (children) {\n return children;\n }\n\n return (\n <MKDataTableColumn\n column={column}\n row={scope.row}\n index={scope.$index}\n />\n );\n },\n }}\n />\n )\n );\n });\n\n return (\n <ElTable\n data={unref(list)}\n row-key={unref(rowKey)}\n onSort-change={handleSortChange}\n ref={(el: any) =>\n (tableEl.value = el as InstanceType<typeof ElTable>)\n }\n show-overflow-tooltip\n border\n stripe\n lazy={props.lazy}\n load={props.load as any}\n v-slots={{ empty: () => slots.empty?.() || <ElEmpty /> }}\n onSelection-change={handleSelectionChange}\n defaultExpandAll={props.defaultExpandAll}\n >\n {unref(selectionColumn).visible ? (\n <ElTableColumn\n type={unref(selectionColumn).type ?? \"selection\"}\n width={unref(selectionColumn).width}\n fixed={unref(selectionColumn).fixed}\n />\n ) : null}\n {columns}\n </ElTable>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","tableProps","setup","slots","computed","treeProps","dataTableContext","inject","DATA_TABLE_CONTEXT_KEY","dataTableEl","el","tableEl","ref","dataTable","rowKey","unref","primaryKey","list","getList","selectionColumn","handleSortChange","column","prop","order","orderType","OrderType","DESC","ASC","sorter","setColumnSort","allowChangeSelection","handleSelectionChange","items","setSelection","map","item","onMounted","_tableEl","watch","_","onCleanup","getSelection","selections","tableSelections","getSelectionRows","sort","isEqual","clearSelection","nextTick","selectedRows","filter","includes","toggleRowSelection","immediate","sortableInstance","Sortable","create","querySelector","handle","animation","onEnd","event","newIndex","oldIndx","oldIndex","movedElement","middleElements","splice","middleElement","Number","parseInt","length","destroy","columns","getColumns","visible","columnProps","label","width","minWidth","fixed","align","reserveSelection","type","sortable","_createVNode","ElTableColumn","default","scope","children","$index","row","MKDataTableColumn","ElTable","value","lazy","load","defaultExpandAll","empty","ElEmpty"],"mappings":"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"}
@@ -6,21 +6,24 @@ const TableHeader = /* @__PURE__ */ defineComponent({
6
6
  setup(props, {
7
7
  slots
8
8
  }) {
9
- var _a;
10
- const dataTable = (_a = inject(DATA_TABLE_CONTEXT_KEY)) == null ? void 0 : _a.dataTable;
11
- const tableHeader = computed(() => dataTable == null ? void 0 : dataTable.header);
9
+ const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);
10
+ const dataTable = computed(() => dataTableContext.dataTable);
11
+ const tableHeader = computed(() => {
12
+ var _a;
13
+ return (_a = unref(dataTable)) == null ? void 0 : _a.header;
14
+ });
12
15
  const leftArea = computed(() => {
13
- var _a2;
14
- var items = ((_a2 = unref(tableHeader)) == null ? void 0 : _a2.leftArea) ?? [];
16
+ var _a;
17
+ var items = ((_a = unref(tableHeader)) == null ? void 0 : _a.leftArea) ?? [];
15
18
  return items.filter((item) => item.predicate());
16
19
  });
17
20
  const rightArea = computed(() => {
18
- var _a2;
19
- var items = ((_a2 = unref(tableHeader)) == null ? void 0 : _a2.rightArea) ?? [];
21
+ var _a;
22
+ var items = ((_a = unref(tableHeader)) == null ? void 0 : _a.rightArea) ?? [];
20
23
  return items.filter((item) => item.predicate());
21
24
  });
22
25
  return () => {
23
- var _a2, _b;
26
+ var _a, _b;
24
27
  const leftItems = unref(leftArea).map((item) => createVNode(TableHeaderItem, {
25
28
  "tableHeaderItem": item
26
29
  }, null));
@@ -31,7 +34,7 @@ const TableHeader = /* @__PURE__ */ defineComponent({
31
34
  "class": "mk-table-view__header"
32
35
  }, [createVNode("div", {
33
36
  "class": "mk-table-view__header-main"
34
- }, [leftItems, (_a2 = slots["header-main"]) == null ? void 0 : _a2.call(slots)]), createVNode("div", {
37
+ }, [leftItems, (_a = slots["header-main"]) == null ? void 0 : _a.call(slots)]), createVNode("div", {
35
38
  "class": "mk-table-view__header-tools"
36
39
  }, [rightItems, (_b = slots["header-tools"]) == null ? void 0 : _b.call(slots)])]);
37
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sources":["../../../../../../../../src/components/data-model/data-table/views/table-view/header/header.tsx"],"sourcesContent":["import { computed, defineComponent, inject, unref } from \"vue\";\nimport TableHeaderItem from \"./header-item\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../../token\";\n\nexport default defineComponent({\n name: \"MKTableHeader\",\n setup(props, { slots }) {\n const dataTable = inject(DATA_TABLE_CONTEXT_KEY)?.dataTable;\n\n const tableHeader = computed(() => dataTable?.header!);\n\n const leftArea = computed(() => {\n var items = unref(tableHeader)?.leftArea ?? [];\n\n return items.filter((item) => item.predicate());\n });\n const rightArea = computed(() => {\n var items = unref(tableHeader)?.rightArea ?? [];\n\n return items.filter((item) => item.predicate());\n });\n\n return () => {\n const leftItems = unref(leftArea).map((item) => (\n <TableHeaderItem tableHeaderItem={item} />\n ));\n\n const rightItems = unref(rightArea).map((item) => (\n <TableHeaderItem tableHeaderItem={item} />\n ));\n \n return (\n <div class=\"mk-table-view__header\">\n <div class=\"mk-table-view__header-main\">\n {leftItems}\n {slots['header-main']?.()}\n </div>\n <div class=\"mk-table-view__header-tools\">\n {rightItems}\n {slots[\"header-tools\"]?.()}\n </div>\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","setup","props","slots","dataTable","inject","DATA_TABLE_CONTEXT_KEY","tableHeader","computed","header","leftArea","items","unref","filter","item","predicate","rightArea","leftItems","map","_createVNode","TableHeaderItem","rightItems"],"mappings":";;;AAIA,MAAeA,8CAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,MAAMC,OAAO;AAAA,IAAEC;AAAAA,EAAM,GAAG;;AACtB,UAAMC,aAAYC,YAAOC,sBAAsB,MAA7BD,mBAAgCD;AAElD,UAAMG,cAAcC,SAAS,MAAMJ,uCAAWK,MAAO;AAErD,UAAMC,WAAWF,SAAS,MAAM;;AAC9B,UAAIG,UAAQC,MAAAA,MAAML,WAAW,MAAjBK,gBAAAA,IAAoBF,aAAY,CAAA;AAE5C,aAAOC,MAAME,OAAQC,UAASA,KAAKC,UAAW,CAAA;AAAA,IAChD,CAAC;AACD,UAAMC,YAAYR,SAAS,MAAM;;AAC/B,UAAIG,UAAQC,MAAAA,MAAML,WAAW,MAAjBK,gBAAAA,IAAoBI,cAAa,CAAA;AAE7C,aAAOL,MAAME,OAAQC,UAASA,KAAKC,UAAW,CAAA;AAAA,IAChD,CAAC;AAED,WAAO,MAAM;;AACX,YAAME,YAAYL,MAAMF,QAAQ,EAAEQ,IAAKJ,UAAIK,YAAAC,iBAAA;AAAA,QAAA,mBACPN;AAAAA,MAAI,GAAA,IAAA,CACvC;AAED,YAAMO,aAAaT,MAAMI,SAAS,EAAEE,IAAKJ,UAAIK,YAAAC,iBAAA;AAAA,QAAA,mBACTN;AAAAA,MAAI,GAAA,IAAA,CACvC;AAED,aAAAK,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,SAGOF,CAAAA,YACAd,MAAAA,MAAM,mBAANA,gBAAAA,IAAAA,WAAwB,CAAA,GAAAgB,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAGxBE,aACAlB,WAAM,oBAANA,8BAAyB,CAAA,CAAA,CAAA;AAAA;EAKpC;AACF,CAAC;"}
1
+ {"version":3,"file":"header.js","sources":["../../../../../../../../src/components/data-model/data-table/views/table-view/header/header.tsx"],"sourcesContent":["import { computed, defineComponent, inject, unref } from \"vue\";\nimport TableHeaderItem from \"./header-item\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../../token\";\n\nexport default defineComponent({\n name: \"MKTableHeader\",\n setup(props, { slots }) {\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY)!;\n\n const dataTable = computed(() => dataTableContext.dataTable)\n\n const tableHeader = computed(() => unref(dataTable)?.header!);\n\n const leftArea = computed(() => {\n var items = unref(tableHeader)?.leftArea ?? [];\n\n return items.filter((item) => item.predicate());\n });\n const rightArea = computed(() => {\n var items = unref(tableHeader)?.rightArea ?? [];\n\n return items.filter((item) => item.predicate());\n });\n\n return () => {\n const leftItems = unref(leftArea).map((item) => (\n <TableHeaderItem tableHeaderItem={item} />\n ));\n\n const rightItems = unref(rightArea).map((item) => (\n <TableHeaderItem tableHeaderItem={item} />\n ));\n \n return (\n <div class=\"mk-table-view__header\">\n <div class=\"mk-table-view__header-main\">\n {leftItems}\n {slots['header-main']?.()}\n </div>\n <div class=\"mk-table-view__header-tools\">\n {rightItems}\n {slots[\"header-tools\"]?.()}\n </div>\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","setup","props","slots","dataTableContext","inject","DATA_TABLE_CONTEXT_KEY","dataTable","computed","tableHeader","unref","header","leftArea","items","filter","item","predicate","rightArea","leftItems","map","_createVNode","TableHeaderItem","rightItems"],"mappings":";;;AAIA,MAAeA,8CAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,MAAMC,OAAO;AAAA,IAAEC;AAAAA,EAAM,GAAG;AACtB,UAAMC,mBAAmBC,OAAOC,sBAAsB;AAEtD,UAAMC,YAAYC,SAAS,MAAMJ,iBAAiBG,SAAS;AAE3D,UAAME,cAAcD,SAAS,MAAA;;AAAME,yBAAMH,SAAS,MAAfG,mBAAkBC;AAAAA,KAAO;AAE5D,UAAMC,WAAWJ,SAAS,MAAM;;AAC9B,UAAIK,UAAQH,WAAMD,WAAW,MAAjBC,mBAAoBE,aAAY,CAAA;AAE5C,aAAOC,MAAMC,OAAQC,UAASA,KAAKC,UAAW,CAAA;AAAA,IAChD,CAAC;AACD,UAAMC,YAAYT,SAAS,MAAM;;AAC/B,UAAIK,UAAQH,WAAMD,WAAW,MAAjBC,mBAAoBO,cAAa,CAAA;AAE7C,aAAOJ,MAAMC,OAAQC,UAASA,KAAKC,UAAW,CAAA;AAAA,IAChD,CAAC;AAED,WAAO,MAAM;;AACX,YAAME,YAAYR,MAAME,QAAQ,EAAEO,IAAKJ,UAAIK,YAAAC,iBAAA;AAAA,QAAA,mBACPN;AAAAA,MAAI,GAAA,IAAA,CACvC;AAED,YAAMO,aAAaZ,MAAMO,SAAS,EAAEE,IAAKJ,UAAIK,YAAAC,iBAAA;AAAA,QAAA,mBACTN;AAAAA,MAAI,GAAA,IAAA,CACvC;AAED,aAAAK,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAAA,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,SAGOF,CAAAA,YACAf,WAAM,mBAANA,8BAAwB,CAAA,GAAAiB,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAGxBE,aACAnB,WAAM,oBAANA,8BAAyB,CAAA,CAAA,CAAA;AAAA;EAKpC;AACF,CAAC;"}
@@ -4,6 +4,7 @@ const treeProps = buildProps({
4
4
  dataTree: {
5
5
  type: DataTree
6
6
  },
7
+ currentNodeKey: { type: String, default: "" },
7
8
  draggable: { type: Boolean, default: false },
8
9
  filterNodeMethod: { type: Function },
9
10
  defaultExpandAll: { type: Boolean, default: false },
@@ -1 +1 @@
1
- {"version":3,"file":"tree-options.js","sources":["../../../../../../../src/components/data-model/data-table/views/tree/tree-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { DataTree, DataTreeNode } from \"@maketribe/dm\";\nimport { buildProps } from \"@maketribe/utils\";\n\nexport const treeProps = buildProps({\n dataTree: {\n type: DataTree<any>,\n },\n draggable: { type: Boolean, default: false },\n filterNodeMethod: { type: Function },\n defaultExpandAll: { type: Boolean, default: false },\n allowSelectContainer: { type: Boolean, default: true },\n} as const);\n\nexport type TreeProps = ExtractPropTypes<typeof treeProps>;\n\nexport const treeEmits = {\n nodeClick: (node: DataTreeNode<any>) => true,\n};\n\nexport type TreeEmits = typeof treeEmits;\n"],"names":[],"mappings":";;AAIO,MAAM,YAAY,WAAW;AAAA,EAClC,UAAU;AAAA,IACR,MAAM;AAAA,EACR;AAAA,EACA,WAAW,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C,kBAAkB,EAAE,MAAM,SAAS;AAAA,EACnC,kBAAkB,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAClD,sBAAsB,EAAE,MAAM,SAAS,SAAS,KAAK;AACvD,CAAU;AAIH,MAAM,YAAY;AAAA,EACvB,WAAW,CAAC,SAA4B;AAC1C;"}
1
+ {"version":3,"file":"tree-options.js","sources":["../../../../../../../src/components/data-model/data-table/views/tree/tree-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { DataTree, DataTreeNode } from \"@maketribe/dm\";\nimport { buildProps } from \"@maketribe/utils\";\n\nexport const treeProps = buildProps({\n dataTree: {\n type: DataTree<any>,\n },\n currentNodeKey: { type: String, default: \"\" },\n draggable: { type: Boolean, default: false },\n filterNodeMethod: { type: Function },\n defaultExpandAll: { type: Boolean, default: false },\n allowSelectContainer: { type: Boolean, default: true },\n} as const);\n\nexport type TreeProps = ExtractPropTypes<typeof treeProps>;\n\nexport const treeEmits = {\n nodeClick: (node: DataTreeNode<any>) => true,\n};\n\nexport type TreeEmits = typeof treeEmits;\n"],"names":[],"mappings":";;AAIO,MAAM,YAAY,WAAW;AAAA,EAClC,UAAU;AAAA,IACR,MAAM;AAAA,EACR;AAAA,EACA,gBAAgB,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA,EAC5C,WAAW,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC3C,kBAAkB,EAAE,MAAM,SAAS;AAAA,EACnC,kBAAkB,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAClD,sBAAsB,EAAE,MAAM,SAAS,SAAS,KAAK;AACvD,CAAU;AAIH,MAAM,YAAY;AAAA,EACvB,WAAW,CAAC,SAA4B;AAC1C;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, inject, computed, ref, unref, createVNode, Fragment, createTextVNode } from "vue";
1
+ import { defineComponent, inject, computed, ref, unref, onMounted, watch, nextTick, createVNode, Fragment, createTextVNode } from "vue";
2
2
  import { ElTree, ElButton } from "element-plus";
3
3
  import { treeProps, treeEmits } from "./tree-options.js";
4
4
  import { DATA_TABLE_CONTEXT_KEY } from "../../token.js";
@@ -13,6 +13,20 @@ const Tree = /* @__PURE__ */ defineComponent({
13
13
  const dataTree = computed(() => props.dataTree ?? dataTableContext.dataTable);
14
14
  const treeRef = ref(null);
15
15
  const rootNodes = computed(() => unref(dataTree).rootNodes);
16
+ const currentNodeKey = computed(() => (props.currentNodeKey || unref(dataTree).getSelection()[0]) ?? "");
17
+ onMounted(() => {
18
+ watch(currentNodeKey, (currentNodeKey2) => {
19
+ var _a;
20
+ (_a = unref(treeRef)) == null ? void 0 : _a.setCurrentKey(currentNodeKey2 || null);
21
+ }, {
22
+ immediate: true
23
+ });
24
+ });
25
+ unref(dataTree).afterLoadEvent.on(async () => {
26
+ var _a;
27
+ await nextTick();
28
+ (_a = unref(treeRef)) == null ? void 0 : _a.setCurrentKey(unref(currentNodeKey) || null);
29
+ });
16
30
  const handleAdd = (dataTreeNode) => {
17
31
  unref(dataTree).addRecord(dataTreeNode ? {
18
32
  pid: dataTreeNode.data.id
@@ -88,7 +102,6 @@ const Tree = /* @__PURE__ */ defineComponent({
88
102
  handleNodeClick,
89
103
  $slots
90
104
  } = this;
91
- const currentNodeKey = innerDataTree.getSelection()[0] ?? "";
92
105
  return createVNode(ElTree, {
93
106
  "props": {
94
107
  children: "children",
@@ -100,7 +113,6 @@ const Tree = /* @__PURE__ */ defineComponent({
100
113
  "highlight-current": true,
101
114
  "data": rootNodes,
102
115
  "lazy": true,
103
- "currentNodeKey": currentNodeKey,
104
116
  "filterNodeMethod": filterNodeMethod,
105
117
  "nodeKey": "primaryValue",
106
118
  "expand-on-click-node": false,