@maketribe/ms-app 3.2.5 → 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 (195) 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/LexicalAutoLinkPlugin/index.vue.js +2 -37
  4. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +1 -1
  5. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +37 -2
  6. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js.map +1 -1
  7. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +4 -0
  8. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
  9. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +108 -0
  10. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
  11. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
  12. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
  13. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +24 -18
  14. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
  15. package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js +1 -1
  16. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +93 -0
  17. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
  18. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
  19. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
  20. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +51 -0
  21. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
  22. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +4 -0
  23. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
  24. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +0 -1
  25. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
  26. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
  27. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
  28. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
  29. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/{HtmlCodeTool.vue.js → PreviewToolbar.vue.js} +56 -43
  30. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
  31. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +4 -0
  32. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
  33. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +2 -2
  34. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  35. package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js +3 -1
  36. package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
  37. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +3 -1
  38. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  39. package/dist/cjs/components/business/resource-list/ResourceManager.js +0 -24
  40. package/dist/cjs/components/business/resource-list/ResourceManager.js.map +1 -1
  41. package/dist/cjs/components/business/resource-list/resource-list.vue.js +38 -15
  42. package/dist/cjs/components/business/resource-list/resource-list.vue.js.map +1 -1
  43. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +1 -12
  44. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  45. package/dist/cjs/components/data-model/data-table/views/tree/tree.js +14 -2
  46. package/dist/cjs/components/data-model/data-table/views/tree/tree.js.map +1 -1
  47. package/dist/cjs/index.js +2 -2
  48. package/dist/cjs/modules/cms/components/part-tree/index.vue.js +24 -9
  49. package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
  50. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
  51. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
  52. package/dist/cjs/modules/cms/index.js +2 -1
  53. package/dist/cjs/modules/cms/index.js.map +1 -1
  54. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +44 -22
  55. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  56. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
  57. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  58. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +99 -87
  59. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  60. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +45 -5
  61. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  62. package/dist/cjs/modules/ms/components/material-list/material-item.vue.js +0 -1
  63. package/dist/cjs/modules/ms/components/material-list/material-item.vue.js.map +1 -1
  64. package/dist/cjs/modules/ms/components/material-list/material-list-options.js +1 -1
  65. package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
  66. package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -1
  67. package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
  68. package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
  69. package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
  70. package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
  71. package/dist/cjs/modules/ms/index.js +2 -2
  72. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +13 -16
  73. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  74. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +47 -6
  75. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
  76. package/dist/esm/assets/iconfonts/iconfont.js +1 -1
  77. package/dist/esm/assets/iconfonts/iconfont.js.map +1 -1
  78. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js +1 -36
  79. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +1 -1
  80. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +36 -1
  81. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js.map +1 -1
  82. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +5 -0
  83. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
  84. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +109 -0
  85. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
  86. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
  87. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
  88. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +25 -19
  89. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
  90. package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js +1 -1
  91. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +94 -0
  92. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
  93. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
  94. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
  95. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +52 -0
  96. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
  97. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +5 -0
  98. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
  99. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +0 -1
  100. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
  101. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
  102. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
  103. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
  104. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +117 -0
  105. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
  106. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +5 -0
  107. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
  108. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +1 -1
  109. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  110. package/dist/esm/components/basic/doc-editor/plugins/index.vue.js +3 -1
  111. package/dist/esm/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
  112. package/dist/esm/components/basic/doc-editor/plugins/nodes.js +3 -1
  113. package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  114. package/dist/esm/components/business/resource-list/ResourceManager.js +1 -25
  115. package/dist/esm/components/business/resource-list/ResourceManager.js.map +1 -1
  116. package/dist/esm/components/business/resource-list/resource-list.vue.js +39 -16
  117. package/dist/esm/components/business/resource-list/resource-list.vue.js.map +1 -1
  118. package/dist/esm/components/business/resource-manager/resource-manager.vue.js +2 -13
  119. package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  120. package/dist/esm/components/data-model/data-table/views/tree/tree.js +15 -3
  121. package/dist/esm/components/data-model/data-table/views/tree/tree.js.map +1 -1
  122. package/dist/esm/index.js +2 -2
  123. package/dist/esm/modules/cms/components/part-tree/index.vue.js +25 -10
  124. package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
  125. package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
  126. package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
  127. package/dist/esm/modules/cms/index.js +2 -1
  128. package/dist/esm/modules/cms/index.js.map +1 -1
  129. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +46 -24
  130. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  131. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
  132. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  133. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +101 -89
  134. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  135. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +46 -6
  136. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  137. package/dist/esm/modules/ms/components/material-list/material-item.vue.js +0 -1
  138. package/dist/esm/modules/ms/components/material-list/material-item.vue.js.map +1 -1
  139. package/dist/esm/modules/ms/components/material-list/material-list-options.js +1 -1
  140. package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
  141. package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -1
  142. package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
  143. package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
  144. package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
  145. package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
  146. package/dist/esm/modules/ms/index.js +2 -2
  147. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +14 -17
  148. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  149. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +48 -7
  150. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
  151. package/dist/style/components/basic/doc-editor/index.css +1 -1
  152. package/dist/style/components/index.css +2 -2
  153. package/dist/style/components/material-item.css +1 -1
  154. package/dist/style/index.css +2 -2
  155. package/dist/style/modules/cms/index.css +1 -1
  156. package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
  157. package/dist/style/modules/cms/resource-manager.css +1 -1
  158. package/dist/style/src/components/basic/doc-editor/index.scss +22 -2
  159. package/dist/style/src/components/material-item.scss +66 -64
  160. package/dist/style/src/modules/cms/pages/cms-contents/index.scss +1 -2
  161. package/dist/style/src/modules/cms/resource-manager.scss +63 -0
  162. package/dist/style/src/theme/theme.scss +310 -303
  163. package/dist/style/theme/theme.css +1 -1
  164. package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.d.ts +20 -0
  165. package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.d.ts +57 -0
  166. package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/index.d.ts +1 -0
  167. package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.d.ts +2 -0
  168. package/dist/types/components/business/resource-list/ResourceManager.d.ts +0 -1
  169. package/dist/types/components/business/resource-manager/index.d.ts +32 -6
  170. package/dist/types/components/business/resource-manager/resource-manager.vue.d.ts +10 -1
  171. package/dist/types/components/data-model/data-table/views/table/index.d.ts +1 -1
  172. package/dist/types/components/data-model/data-table/views/table/table.d.ts +1 -1
  173. package/dist/types/modules/cms/components/part-tree/index.d.ts +5 -9
  174. package/dist/types/modules/cms/components/part-tree/index.vue.d.ts +16 -15
  175. package/dist/types/modules/cms/dataviews/cms-parts/CmsContentManPartForm.d.ts +8 -0
  176. package/dist/types/modules/cms/dataviews/cms-parts/index.d.ts +1 -0
  177. package/dist/types/modules/ms/dataviews/ms-material/index.d.ts +0 -1
  178. package/dist/types/modules/ms/dataviews/ms-menu/MsMenuTree.d.ts +1 -0
  179. package/package.json +2 -2
  180. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
  181. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -4
  182. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
  183. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -130
  184. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
  185. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js +0 -104
  186. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
  187. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -5
  188. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
  189. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -130
  190. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
  191. package/dist/style/modules/cms/pages/cms-contents/part-edit-add-page.css +0 -1
  192. package/dist/style/src/modules/cms/pages/cms-contents/part-edit-add-page.scss +0 -127
  193. package/dist/types/modules/ms/dataviews/ms-material/MsMaterialMan.d.ts +0 -31
  194. /package/dist/types/components/basic/doc-editor/plugins/{ToolbarPlugin/HtmlCodeTool.vue.d.ts → HtmlBlockPlugin/index.vue.d.ts} +0 -0
  195. /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":"MsRolePermissionConfigTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.ts"],"sourcesContent":["import { Group, R, ResponseConfig } from \"@maketribe/request\";\nimport { DataTableOptions, WhereFilter } from \"@maketribe/dm\";\nimport {\n MsMenuItem,\n MsMenuResult,\n MsMenuTable,\n MsPermissionPointDefine,\n MsPermissionPointDefineTable,\n MsRoute,\n MsRouteTable,\n} from \"../ms-menu\";\nimport { MsRole } from \"./MsRoleForm\";\nimport { MsRoleRouteTable } from \"./ms-role-route\";\nimport { MsRolePermissionPointTable } from \"./ms-role-permission-point\";\nimport { postTraverse } from \"@maketribe/utils\";\n\nexport type MsRolePermissionPointDefine = MsPermissionPointDefine & {\n originalSelected: boolean;\n selected: boolean;\n};\n\nexport type MsRoleMenuNode = {\n permissionPoints: MsRolePermissionPointDefine[];\n routes: MsRoute[];\n originalSelected: boolean;\n selected: boolean;\n indeterminate: boolean;\n children: MsRoleMenuNode[];\n} & MsMenuItem;\n\nexport class RolePermissionConfigTable extends MsMenuTable<MsRoleMenuNode> {\n roleRouteTable: MsRoleRouteTable;\n roleRouteConditionGroup: Group;\n\n rolePermissionPointTable: MsRolePermissionPointTable;\n rolePermissionPointConditionGroup: Group;\n\n permissionPointDefineTable: MsPermissionPointDefineTable<MsRolePermissionPointDefine>;\n routeDefineTable: MsRouteTable;\n\n initd: boolean = false;\n initing: boolean = false;\n\n rootRoleMenuNodes: MsRoleMenuNode[] = [];\n currentRole: MsRole | undefined;\n currentRoleId: MsRole[\"id\"] = \"\";\n currentRoleDesc: MsRole[\"desc\"] = \"\";\n\n constructor(options: Omit<DataTableOptions, \"name\"> = {}) {\n super({ ...options });\n\n this.roleRouteTable = new MsRoleRouteTable();\n\n this.rolePermissionPointTable = new MsRolePermissionPointTable();\n\n this.roleRouteConditionGroup = new Group();\n this.rolePermissionPointConditionGroup = new Group();\n\n this.roleRouteTable.useCondition((defaultGroup) => {\n defaultGroup.addGroup(this.roleRouteConditionGroup);\n });\n\n this.rolePermissionPointTable.useCondition((defaultGroup) => {\n defaultGroup.addGroup(this.rolePermissionPointConditionGroup);\n });\n\n const permissionPointDefineTable =\n new (class extends MsPermissionPointDefineTable<MsRolePermissionPointDefine> {\n formatItem(item: MsPermissionPointDefine): MsRolePermissionPointDefine {\n return {\n ...super.formatItem(item),\n originalSelected: false,\n selected: false,\n };\n }\n })({\n interfaceURL: { list: \"/ms/dv/ms-permission-point-def/allList\" },\n });\n this.permissionPointDefineTable = permissionPointDefineTable;\n\n const routeDefineTable = new MsRouteTable({\n interfaceURL: { list: \"/ms/dv/ms-route/allList\" },\n });\n this.routeDefineTable = routeDefineTable;\n }\n\n protected async initialize() {\n await super.initialize();\n\n [\n this.roleRouteTable.getLoadingManager(),\n this.rolePermissionPointTable.getLoadingManager(),\n this.permissionPointDefineTable.getLoadingManager(),\n this.routeDefineTable.getLoadingManager(),\n ].forEach((loadingManager) => {\n this.getLoadingManager().addLoadingManager(loadingManager);\n });\n\n await this.roleRouteTable.init();\n await this.rolePermissionPointTable.init();\n\n await this.permissionPointDefineTable.init();\n await this.routeDefineTable.init();\n\n this.dataFilter.afterReadyEvent.on(() => {\n this.roleRouteTable.dataFilter.setReady();\n this.rolePermissionPointTable.dataFilter.setReady();\n this.permissionPointDefineTable.dataFilter.setReady();\n this.routeDefineTable.dataFilter.setReady();\n });\n\n this.dataFilter.setReady();\n }\n\n formatItem(item: MsMenuResult): MsRoleMenuNode {\n const permissionPointDefines = this.permissionPointDefineTable.getList();\n\n const routeDefines = this.routeDefineTable.getList();\n\n return {\n ...super.formatItem(item),\n routes: routeDefines.filter(\n (routeDefine) => routeDefine.menuId === item.id\n ) as MsRoleMenuNode[\"routes\"],\n permissionPoints: permissionPointDefines.filter(\n (permissionPointDefine) => permissionPointDefine.menuId === item.id\n ),\n originalSelected: false,\n selected: false,\n indeterminate: false,\n children: [],\n };\n }\n\n setList(list: MsRoleMenuNode[]): void {\n super.setList(list);\n\n const rootRoleMenuNodes = [];\n\n for (const roleMenuNode of list) {\n if (!roleMenuNode.pid) {\n rootRoleMenuNodes.push(roleMenuNode);\n }\n\n for (const item of list) {\n if (item.pid === roleMenuNode.id) {\n roleMenuNode.children.push(item);\n }\n }\n }\n\n this.rootRoleMenuNodes = this.calculateNotEmptyNode(rootRoleMenuNodes);\n }\n\n calculateNotEmptyNode(list: MsRoleMenuNode[]) {\n const result = list.filter(\n (item) => item.routes.length || item.children.length\n );\n\n let nodes = [...result];\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n node.children = node.children.filter(\n (item) => item.routes.length || item.children.length\n );\n\n nodes = nodes.concat(node.children);\n }\n\n return result;\n }\n\n getRootRoleMenuNodes() {\n return this.rootRoleMenuNodes;\n }\n\n async load(params?: Record<string, any>) {\n await Promise.all([\n this.permissionPointDefineTable.load(),\n this.routeDefineTable.load(),\n ]);\n\n const loadResult = await super.load(params);\n\n if (loadResult.data.code === 200) {\n this.restoreDefaultSelect();\n }\n\n return loadResult;\n }\n\n protected loadRequest(\n params: Record<string, any>\n ): Promise<ResponseConfig<R<MsMenuResult[]> & { totalRecCount: string }>> {\n return this.loadAllRequest(params);\n }\n\n async selectRolePermission(role: MsRole | undefined) {\n this.currentRole = role;\n this.currentRoleId = role?.id || \"\";\n this.currentRoleDesc = role?.desc || \"\";\n\n this.roleRouteConditionGroup.clear();\n this.rolePermissionPointConditionGroup.clear();\n\n this.roleRouteConditionGroup.addCondition(\n \"roleId\",\n \"=\",\n this.currentRoleId\n );\n this.rolePermissionPointConditionGroup.addCondition(\n \"roleId\",\n \"=\",\n this.currentRoleId\n );\n\n const [roleRouteTableResult, rolePermissionPointTableResult] =\n await Promise.all([\n this.roleRouteTable.load(),\n this.rolePermissionPointTable.load(),\n ]);\n\n if (roleRouteTableResult.data.code !== 200) {\n return;\n }\n\n if (rolePermissionPointTableResult.data.code !== 200) {\n return;\n }\n\n this.restoreDefaultSelect();\n }\n\n clearSelected() {\n for (const roleMenu of this.getList()) {\n roleMenu.indeterminate = roleMenu.selected = false;\n }\n\n for (const rolePermissionPoint of this.permissionPointDefineTable.getList()) {\n rolePermissionPoint.selected = false;\n }\n }\n\n protected calcSelect() {\n postTraverse<MsRoleMenuNode>(this.getRootRoleMenuNodes(), (roleMenu) => {\n // 如果自叶级菜单\n if (roleMenu.children.length === 0) {\n // 选中的权限点\n const selectedPermissionPoints = roleMenu.permissionPoints.filter(\n (permissionPointDefine) => permissionPointDefine.selected\n );\n\n // 如果有权限点选择就赋予路由权限\n roleMenu.selected =\n roleMenu.permissionPoints.length === 0\n ? roleMenu.selected\n : !!selectedPermissionPoints.length || roleMenu.selected;\n // 如果不是所有权限点都激活就标识是部分选择\n roleMenu.indeterminate =\n roleMenu.permissionPoints.length === 0 ||\n selectedPermissionPoints.length === 0\n ? false\n : selectedPermissionPoints.length <\n roleMenu.permissionPoints.length;\n\n return;\n }\n\n // 选中的子菜单\n const selectedChildren = roleMenu.children.filter(\n (item) => item.selected\n );\n // 如果有子菜单选中就路由权限\n roleMenu.selected = !!selectedChildren.length;\n // 如果不是所有子菜单都激活就标识是部分选择\n roleMenu.indeterminate =\n selectedChildren.length === 0\n ? false\n : selectedChildren.length < roleMenu.children.length;\n });\n }\n\n restoreDefaultSelect() {\n this.clearSelected();\n\n const permissionPointDefineList = this.permissionPointDefineTable.getList();\n const rolePermissionList = this.rolePermissionPointTable.getList();\n\n for (const permissionPointDefine of permissionPointDefineList) {\n permissionPointDefine.originalSelected = permissionPointDefine.selected =\n false;\n }\n\n if (permissionPointDefineList.length) {\n for (const rolePermission of rolePermissionList) {\n const permissionPointDefine = permissionPointDefineList.find(\n (permissionPointDefine) =>\n permissionPointDefine.id === rolePermission.permissionPointDefId\n );\n\n if (permissionPointDefine) {\n permissionPointDefine.originalSelected =\n permissionPointDefine.selected = true;\n }\n }\n }\n\n const menuList = this.getList();\n const roleRouteList = this.roleRouteTable.getList();\n\n for (const menu of menuList) {\n menu.originalSelected = menu.selected = false;\n }\n\n if (menuList.length) {\n for (const roleRoute of roleRouteList) {\n const menu = menuList.find((menu) =>\n menu.routes.find(\n (routeDefine) => routeDefine.id === roleRoute.routeId\n )\n );\n\n if (menu) {\n menu.originalSelected = menu.selected = true;\n }\n }\n }\n\n this.calcSelect();\n }\n\n toggleRoleMenu(\n roleMenu: MsRoleMenuNode,\n selected: boolean = !roleMenu.selected\n ) {\n postTraverse<MsRoleMenuNode>([roleMenu], (roleMenu) => {\n // 如果自叶级菜单\n if (roleMenu.children.length === 0) {\n for (const permissionPointDefine of roleMenu.permissionPoints) {\n permissionPointDefine.selected = selected;\n }\n\n roleMenu.selected = selected;\n return;\n }\n\n roleMenu.selected = selected;\n });\n\n this.calcSelect();\n }\n\n toggleRolePermissionPoint(\n permissionPointDefine: MsRolePermissionPointDefine,\n selected: boolean = !permissionPointDefine.selected\n ) {\n permissionPointDefine.selected = selected;\n\n this.calcSelect();\n }\n\n async submitPermission() {\n const permissionPointDefines = this.permissionPointDefineTable.getList();\n const removePermissionPointDefines = permissionPointDefines.filter(\n (permissionPointDefine) =>\n permissionPointDefine.originalSelected &&\n !permissionPointDefine.selected\n );\n\n const addPermissionPointDefine = permissionPointDefines.filter(\n (permissionPointDefine) =>\n !permissionPointDefine.originalSelected &&\n permissionPointDefine.selected\n );\n\n const menus = this.getList();\n const removeRoutes = menus\n .filter((menu) => menu.originalSelected && !menu.selected)\n .flatMap((menu) => menu.routes);\n const addRoutes = menus\n .filter((menu) => !menu.originalSelected && menu.selected)\n .flatMap((menu) => menu.routes);\n\n if (removePermissionPointDefines.length) {\n const rolePermissionPoints = this.rolePermissionPointTable.getList();\n const deleteRolePermissionPointResult =\n await this.rolePermissionPointTable.batchDelete(\n removePermissionPointDefines\n .map(\n (permissionPointDefine) =>\n rolePermissionPoints.find(\n (rolePermissionPoint) =>\n rolePermissionPoint.permissionPointDefId ===\n permissionPointDefine.id\n )!\n )\n .filter(Boolean)\n );\n\n if (deleteRolePermissionPointResult.data.code !== 200) {\n return deleteRolePermissionPointResult;\n }\n }\n\n if (removeRoutes.length) {\n const roleRoutes = this.roleRouteTable.getList();\n const deleteRoleRouteResult = await this.roleRouteTable.batchDelete(\n removeRoutes\n .map(\n (route) =>\n roleRoutes.find((roleRoute) => roleRoute.routeId === route.id)!\n )\n .filter(Boolean)\n );\n\n if (deleteRoleRouteResult.data.code !== 200) {\n return deleteRoleRouteResult;\n }\n }\n\n if (addPermissionPointDefine.length) {\n const addRolePermissionPointResult =\n await this.rolePermissionPointTable.batchAdd(\n addPermissionPointDefine.map((item) => ({\n id: \"\",\n roleId: this.currentRoleId,\n permissionPointDefId: item.id,\n }))\n );\n\n if (addRolePermissionPointResult.data.code !== 200) {\n return addRolePermissionPointResult;\n }\n }\n\n if (addRoutes.length) {\n const addRoleRouteResult = await this.roleRouteTable.batchAdd(\n addRoutes.map((item) => ({\n id: \"\",\n roleId: this.currentRoleId,\n routeId: item.id,\n }))\n );\n\n if (addRoleRouteResult.data.code !== 200) {\n return addRoleRouteResult;\n }\n }\n\n await this.selectRolePermission(this.currentRole);\n }\n\n /**\n * 是否发生变更\n */\n hasChange() {\n const permissionPointDefines = this.permissionPointDefineTable.getList();\n const removePermissionPointDefines = permissionPointDefines.filter(\n (permissionPointDefine) =>\n permissionPointDefine.originalSelected &&\n !permissionPointDefine.selected\n );\n\n const addPermissionPointDefine = permissionPointDefines.filter(\n (permissionPointDefine) =>\n !permissionPointDefine.originalSelected &&\n permissionPointDefine.selected\n );\n\n const menus = this.getList();\n const removeRoutes = menus\n .filter((menu) => menu.originalSelected && !menu.selected)\n .flatMap((menu) => menu.routes);\n const addRoutes = menus\n .filter((menu) => !menu.originalSelected && menu.selected)\n .flatMap((menu) => menu.routes);\n return !!(\n removePermissionPointDefines.length ||\n removeRoutes.length ||\n addPermissionPointDefine.length ||\n addRoutes.length\n );\n }\n}\n"],"names":["MsMenuTable","MsRoleRouteTable","MsRolePermissionPointTable","Group","MsPermissionPointDefineTable","MsRouteTable","postTraverse","permissionPointDefine","menu","roleMenu"],"mappings":"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"}
1
+ {"version":3,"file":"MsRolePermissionConfigTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.ts"],"sourcesContent":["import { Group, R, ResponseConfig } from \"@maketribe/request\";\nimport { DataTableOptions, WhereFilter } from \"@maketribe/dm\";\nimport {\n MsMenuItem,\n MsMenuResult,\n MsMenuTable,\n MsPermissionPointDefine,\n MsPermissionPointDefineTable,\n MsRoute,\n MsRouteTable,\n} from \"../ms-menu\";\nimport { MsRole } from \"./MsRoleForm\";\nimport { MsRoleRouteTable } from \"./ms-role-route\";\nimport { MsRolePermissionPointTable } from \"./ms-role-permission-point\";\nimport { postTraverse } from \"@maketribe/utils\";\n\nexport type MsRolePermissionPointDefine = MsPermissionPointDefine & {\n originalSelected: boolean;\n selected: boolean;\n};\n\nexport type MsRoleMenuNode = {\n permissionPoints: MsRolePermissionPointDefine[];\n routes: MsRoute[];\n originalSelected: boolean;\n selected: boolean;\n indeterminate: boolean;\n children: MsRoleMenuNode[];\n} & MsMenuItem;\n\nexport class RolePermissionConfigTable extends MsMenuTable<MsRoleMenuNode> {\n roleRouteTable: MsRoleRouteTable;\n roleRouteConditionGroup: Group;\n\n rolePermissionPointTable: MsRolePermissionPointTable;\n rolePermissionPointConditionGroup: Group;\n\n permissionPointDefineTable: MsPermissionPointDefineTable<MsRolePermissionPointDefine>;\n routeDefineTable: MsRouteTable;\n\n initd: boolean = false;\n initing: boolean = false;\n\n rootRoleMenuNodes: MsRoleMenuNode[] = [];\n currentRole: MsRole | undefined;\n currentRoleId: MsRole[\"id\"] = \"\";\n currentRoleDesc: MsRole[\"desc\"] = \"\";\n\n constructor(options: Omit<DataTableOptions, \"name\"> = {}) {\n super({ ...options });\n\n this.roleRouteTable = new MsRoleRouteTable();\n\n this.rolePermissionPointTable = new MsRolePermissionPointTable();\n\n this.roleRouteConditionGroup = new Group();\n this.rolePermissionPointConditionGroup = new Group();\n\n this.roleRouteTable.useCondition((defaultGroup) => {\n defaultGroup.addGroup(this.roleRouteConditionGroup);\n });\n\n this.rolePermissionPointTable.useCondition((defaultGroup) => {\n defaultGroup.addGroup(this.rolePermissionPointConditionGroup);\n });\n\n const permissionPointDefineTable =\n new (class extends MsPermissionPointDefineTable<MsRolePermissionPointDefine> {\n formatItem(item: MsPermissionPointDefine): MsRolePermissionPointDefine {\n return {\n ...super.formatItem(item),\n originalSelected: false,\n selected: false,\n };\n }\n })({\n interfaceURL: { list: \"/ms/dv/ms-permission-point-def/allList\" },\n });\n this.permissionPointDefineTable = permissionPointDefineTable;\n\n const routeDefineTable = new MsRouteTable({\n interfaceURL: { list: \"/ms/dv/ms-route/allList\" },\n });\n this.routeDefineTable = routeDefineTable;\n }\n\n protected async initialize() {\n await super.initialize();\n\n [\n this.roleRouteTable.getLoadingManager(),\n this.rolePermissionPointTable.getLoadingManager(),\n this.permissionPointDefineTable.getLoadingManager(),\n this.routeDefineTable.getLoadingManager(),\n ].forEach((loadingManager) => {\n this.getLoadingManager().addLoadingManager(loadingManager);\n });\n\n await this.roleRouteTable.init();\n await this.rolePermissionPointTable.init();\n\n await this.permissionPointDefineTable.init();\n await this.routeDefineTable.init();\n\n this.dataFilter.afterReadyEvent.on(() => {\n this.roleRouteTable.dataFilter.setReady();\n this.rolePermissionPointTable.dataFilter.setReady();\n this.permissionPointDefineTable.dataFilter.setReady();\n this.routeDefineTable.dataFilter.setReady();\n });\n\n this.dataFilter.setReady();\n }\n\n formatItem(item: MsMenuResult): MsRoleMenuNode {\n const permissionPointDefines = this.permissionPointDefineTable.getList();\n\n const routeDefines = this.routeDefineTable.getList();\n\n return {\n ...super.formatItem(item),\n routes: routeDefines.filter(\n (routeDefine) => routeDefine.menuId === item.id\n ) as MsRoleMenuNode[\"routes\"],\n permissionPoints: permissionPointDefines.filter(\n (permissionPointDefine) => permissionPointDefine.menuId === item.id\n ),\n originalSelected: false,\n selected: false,\n indeterminate: false,\n children: [],\n };\n }\n\n setList(list: MsRoleMenuNode[]): void {\n super.setList(list);\n\n const rootRoleMenuNodes = [];\n\n for (const roleMenuNode of list) {\n if (!roleMenuNode.pid) {\n rootRoleMenuNodes.push(roleMenuNode);\n }\n\n for (const item of list) {\n if (item.pid === roleMenuNode.id) {\n roleMenuNode.children.push(item);\n }\n }\n }\n\n this.rootRoleMenuNodes = this.calculateNotEmptyNode(rootRoleMenuNodes);\n }\n\n calculateNotEmptyNode(list: MsRoleMenuNode[]) {\n const result = list.filter(\n (item) => item.routes.length || item.children.length\n );\n\n let nodes = [...result];\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n node.children = node.children.filter(\n (item) => item.routes.length || item.children.length\n );\n\n nodes = nodes.concat(node.children);\n }\n\n return result;\n }\n\n getRootRoleMenuNodes() {\n return this.rootRoleMenuNodes;\n }\n\n async load(params?: Record<string, any>) {\n await Promise.all([\n this.permissionPointDefineTable.load(),\n this.routeDefineTable.load(),\n ]);\n\n const loadResult = await super.load(params);\n\n if (loadResult.data.code === 200) {\n this.restoreDefaultSelect();\n }\n\n return loadResult;\n }\n\n protected loadRequest(\n params: Record<string, any>\n ): Promise<ResponseConfig<R<MsMenuResult[]> & { totalRecCount: string }>> {\n return this.loadAllRequest(params);\n }\n\n async selectRolePermission(role: MsRole | undefined) {\n this.currentRole = role;\n this.currentRoleId = role?.id || \"\";\n this.currentRoleDesc = role?.desc || \"\";\n\n this.roleRouteConditionGroup.clear();\n this.rolePermissionPointConditionGroup.clear();\n\n this.roleRouteConditionGroup.addCondition(\n \"roleId\",\n \"=\",\n this.currentRoleId\n );\n this.rolePermissionPointConditionGroup.addCondition(\n \"roleId\",\n \"=\",\n this.currentRoleId\n );\n\n const [roleRouteTableResult, rolePermissionPointTableResult] =\n await Promise.all([\n this.roleRouteTable.load(),\n this.rolePermissionPointTable.load(),\n ]);\n\n if (roleRouteTableResult.data.code !== 200) {\n return;\n }\n\n if (rolePermissionPointTableResult.data.code !== 200) {\n return;\n }\n\n this.restoreDefaultSelect();\n }\n\n clearSelected() {\n for (const roleMenu of this.getList()) {\n roleMenu.indeterminate = roleMenu.selected = false;\n }\n\n for (const rolePermissionPoint of this.permissionPointDefineTable.getList()) {\n rolePermissionPoint.selected = false;\n }\n }\n\n protected calcSelect() {\n postTraverse<MsRoleMenuNode>(this.getRootRoleMenuNodes(), (roleMenu) => {\n // 如果自叶级菜单\n if (roleMenu.children.length === 0) {\n // 选中的权限点\n const selectedPermissionPoints = roleMenu.permissionPoints.filter(\n (permissionPointDefine) => permissionPointDefine.selected\n );\n\n // 如果有权限点选择就赋予路由权限\n roleMenu.selected =\n roleMenu.permissionPoints.length === 0\n ? roleMenu.selected\n : !!selectedPermissionPoints.length || roleMenu.selected;\n // 如果不是所有权限点都激活就标识是部分选择\n roleMenu.indeterminate =\n roleMenu.permissionPoints.length === 0 ||\n selectedPermissionPoints.length === 0\n ? false\n : selectedPermissionPoints.length <\n roleMenu.permissionPoints.length;\n\n return;\n }\n\n // 选中的子菜单\n const selectedChildren = roleMenu.children.filter(\n (item) => item.selected\n );\n // 如果有子菜单选中就路由权限\n roleMenu.selected = !!selectedChildren.length;\n // 如果不是所有子菜单都激活就标识是部分选择\n roleMenu.indeterminate =\n selectedChildren.length === 0\n ? false\n : selectedChildren.length < roleMenu.children.length;\n });\n }\n\n restoreDefaultSelect() {\n this.clearSelected();\n\n const permissionPointDefineList = this.permissionPointDefineTable.getList();\n const rolePermissionList = this.rolePermissionPointTable.getList();\n\n for (const permissionPointDefine of permissionPointDefineList) {\n permissionPointDefine.originalSelected = permissionPointDefine.selected =\n false;\n }\n\n if (permissionPointDefineList.length) {\n for (const rolePermission of rolePermissionList) {\n const permissionPointDefine = permissionPointDefineList.find(\n (permissionPointDefine) =>\n permissionPointDefine.id === rolePermission.permissionPointDefId\n );\n\n if (permissionPointDefine) {\n permissionPointDefine.originalSelected =\n permissionPointDefine.selected = true;\n }\n }\n }\n\n const menuList = this.getList();\n const roleRouteList = this.roleRouteTable.getList();\n\n for (const menu of menuList) {\n menu.originalSelected = menu.selected = false;\n }\n\n if (menuList.length) {\n for (const roleRoute of roleRouteList) {\n const menu = menuList.find((menu) =>\n menu.routes.find(\n (routeDefine) => routeDefine.id === roleRoute.routeId\n )\n );\n\n if (menu) {\n menu.originalSelected = menu.selected = true;\n }\n }\n }\n\n this.calcSelect();\n }\n\n toggleRoleMenu(\n roleMenu: MsRoleMenuNode,\n selected: boolean = !roleMenu.selected\n ) {\n postTraverse<MsRoleMenuNode>([roleMenu], (roleMenu) => {\n // 如果自叶级菜单\n if (roleMenu.children.length === 0) {\n for (const permissionPointDefine of roleMenu.permissionPoints) {\n permissionPointDefine.selected = selected;\n }\n\n roleMenu.selected = selected;\n return;\n }\n\n roleMenu.selected = selected;\n });\n\n this.calcSelect();\n }\n\n toggleRolePermissionPoint(\n permissionPointDefine: MsRolePermissionPointDefine,\n selected: boolean = !permissionPointDefine.selected\n ) {\n permissionPointDefine.selected = selected;\n\n this.calcSelect();\n }\n\n async submitPermission() {\n const permissionPointDefines = this.permissionPointDefineTable.getList();\n const removePermissionPointDefines = permissionPointDefines.filter(\n (permissionPointDefine) =>\n permissionPointDefine.originalSelected &&\n !permissionPointDefine.selected\n );\n\n const addPermissionPointDefine = permissionPointDefines.filter(\n (permissionPointDefine) =>\n !permissionPointDefine.originalSelected &&\n permissionPointDefine.selected\n );\n\n const menus = this.getList();\n const removeRoutes = menus\n .filter((menu) => menu.originalSelected && !menu.selected)\n .flatMap((menu) => menu.routes);\n const addRoutes = menus\n .filter((menu) => !menu.originalSelected && menu.selected)\n .flatMap((menu) => menu.routes);\n\n if (removePermissionPointDefines.length) {\n const rolePermissionPoints = this.rolePermissionPointTable.getList();\n const deleteRolePermissionPointResult =\n await this.rolePermissionPointTable.batchDelete(\n removePermissionPointDefines\n .map(\n (permissionPointDefine) =>\n rolePermissionPoints.find(\n (rolePermissionPoint) =>\n rolePermissionPoint.permissionPointDefId ===\n permissionPointDefine.id\n )!\n )\n .filter(Boolean)\n );\n\n if (deleteRolePermissionPointResult.data.code !== 200) {\n return deleteRolePermissionPointResult;\n }\n }\n\n if (removeRoutes.length) {\n const roleRoutes = this.roleRouteTable.getList();\n const deleteRoleRouteResult = await this.roleRouteTable.batchDelete(\n removeRoutes\n .map(\n (route) =>\n roleRoutes.find((roleRoute) => roleRoute.routeId === route.id)!\n )\n .filter(Boolean)\n );\n\n if (deleteRoleRouteResult.data.code !== 200) {\n return deleteRoleRouteResult;\n }\n }\n\n if (addPermissionPointDefine.length) {\n const addRolePermissionPointResult =\n await this.rolePermissionPointTable.batchAdd(\n addPermissionPointDefine.map((item) => ({\n id: \"\",\n roleId: this.currentRoleId,\n permissionPointDefId: item.id,\n }))\n );\n\n if (addRolePermissionPointResult.data.code !== 200) {\n return addRolePermissionPointResult;\n }\n }\n\n if (addRoutes.length) {\n const addRoleRouteResult = await this.roleRouteTable.batchAdd(\n addRoutes.map((item) => ({\n id: \"\",\n roleId: this.currentRoleId,\n routeId: item.id,\n }))\n );\n\n if (addRoleRouteResult.data.code !== 200) {\n return addRoleRouteResult;\n }\n }\n\n await this.selectRolePermission(this.currentRole);\n }\n\n /**\n * 是否发生变更\n */\n hasChange() {\n const permissionPointDefines = this.permissionPointDefineTable.getList();\n const removePermissionPointDefines = permissionPointDefines.filter(\n (permissionPointDefine) =>\n permissionPointDefine.originalSelected &&\n !permissionPointDefine.selected\n );\n\n const addPermissionPointDefine = permissionPointDefines.filter(\n (permissionPointDefine) =>\n !permissionPointDefine.originalSelected &&\n permissionPointDefine.selected\n );\n\n const menus = this.getList();\n const removeRoutes = menus\n .filter((menu) => menu.originalSelected && !menu.selected)\n .flatMap((menu) => menu.routes);\n const addRoutes = menus\n .filter((menu) => !menu.originalSelected && menu.selected)\n .flatMap((menu) => menu.routes);\n return !!(\n removePermissionPointDefines.length ||\n removeRoutes.length ||\n addPermissionPointDefine.length ||\n addRoutes.length\n );\n }\n}\n"],"names":["MsMenuTable","MsRoleRouteTable","MsRolePermissionPointTable","Group","MsPermissionPointDefineTable","MsRouteTable","postTraverse","permissionPointDefine","menu","roleMenu"],"mappings":"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"}
@@ -5,10 +5,10 @@ const MsMaterialGroupForm = require("./dataviews/ms-material/ms-material-group/M
5
5
  const MsMaterialGroupTree = require("./dataviews/ms-material/ms-material-group/MsMaterialGroupTree.js");
6
6
  const MsMaterialForm = require("./dataviews/ms-material/MsMaterialForm.js");
7
7
  const MsMaterialTable = require("./dataviews/ms-material/MsMaterialTable.js");
8
- require("@maketribe/request");
9
- require("@maketribe/dm");
10
8
  const MsMemberForm = require("./dataviews/ms-member/MsMemberForm.js");
11
9
  const MsMemberTable = require("./dataviews/ms-member/MsMemberTable.js");
10
+ require("@maketribe/dm");
11
+ require("@maketribe/request");
12
12
  const MsMenuForm = require("./dataviews/ms-menu/MsMenuForm.js");
13
13
  const MsMenuTree = require("./dataviews/ms-menu/MsMenuTree.js");
14
14
  require("element-plus");
@@ -1,18 +1,9 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
- require("@maketribe/dm");
4
- require("element-plus");
5
- require("@maketribe/utils");
6
- require("../../../../core/DataModelDefines.js");
7
- const MSAppClient = require("../../../../core/MSAppClient.js");
8
- require("@maketribe/request");
9
- const MsMaterialMan = require("../../dataviews/ms-material/MsMaterialMan.js");
10
- require("../../../../components/basic/svg-icon/index.js");
11
- require("../../../../components/data-model/data-form/index.js");
12
- require("../../../../components/data-model/data-table/index.js");
13
- require("../../../../components/data-model/data-table-pagination/index.js");
14
3
  require("../../../../components/abstract/abstract-select/abstract-select.js");
15
4
  require("../../../../components/abstract/abstract-select/abstract-select-options.js");
5
+ require("element-plus");
6
+ require("../../../../components/basic/svg-icon/index.js");
16
7
  require("../../../../components/basic/button/button-options.js");
17
8
  require("../../../../components/basic/config-provider/index.js");
18
9
  require("../../../../components/basic/data-table-select/index.js");
@@ -25,6 +16,8 @@ const index = require("../../../../components/basic/page-container/index.js");
25
16
  require("../../../../components/basic/date-picker/index.js");
26
17
  require("../../../../components/basic/icon-select/index.js");
27
18
  require("../../../../components/basic/upload-file/upload-file.js");
19
+ require("@maketribe/request");
20
+ require("@maketribe/utils");
28
21
  require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
29
22
  require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
30
23
  require("../../../../components/basic/upload-file/ui/upload-image/index.js");
@@ -32,9 +25,17 @@ require("../../../../components/basic/upload-file/upload-file-options.js");
32
25
  require("../../../../components/basic/doc-editor/index.js");
33
26
  require("../../../../components/basic/copy-container/index.js");
34
27
  require("../../../../components/basic/image-cropper/index.js");
28
+ require("../../../../components/data-model/data-form/index.js");
29
+ require("../../../../components/data-model/data-table/index.js");
30
+ require("../../../../components/data-model/data-table-pagination/index.js");
35
31
  require("../../../../components/business/verify-dialog/index.js");
36
32
  require("../../../../components/business/resource-list/index.js");
37
33
  require("../../../../components/business/resource-manager/index.js");
34
+ require("@maketribe/dm");
35
+ const index$1 = require("../../components/material-list/index.js");
36
+ require("../../../../core/DataModelDefines.js");
37
+ require("vue-router");
38
+ require("@maketribe/locale");
38
39
  require("../../dataviews/department/DepartmentForm.js");
39
40
  require("../../dataviews/department/DepartmentTable.js");
40
41
  require("../../dataviews/department/DepartmentTree.js");
@@ -42,19 +43,15 @@ require("../../dataviews/log/operate-log/OperateLogTable.js");
42
43
  require("../../dataviews/log/login-log/LoginLogTable.js");
43
44
  require("../../dataviews/log/request-log/RequestLogTable.js");
44
45
  require("../../dataviews/log/local-log/LocalLogTree.js");
45
- const index$1 = require("../../components/material-list/index.js");
46
46
  require("../../components/markdown-editor/index.js");
47
47
  require("../../components/rich-text-editor/index.js");
48
48
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
49
49
  __name: "index",
50
50
  setup(__props) {
51
- const materialMan = vue.reactive(
52
- new MsMaterialMan.MsMaterialMan({ httpRequest: MSAppClient.MSAppClient.instance.httpRequest })
53
- );
54
51
  return (_ctx, _cache) => {
55
52
  return vue.openBlock(), vue.createBlock(vue.unref(index.MKPageContainer), null, {
56
53
  default: vue.withCtx(() => [
57
- vue.createVNode(vue.unref(index$1.MKMaterialList), { "material-man": materialMan }, null, 8, ["material-man"])
54
+ vue.createVNode(vue.unref(index$1.MKMaterialList))
58
55
  ]),
59
56
  _: 1
60
57
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/ms-material/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <MKMaterialList :material-man=\"materialMan\" />\r\n </MKPageContainer>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { reactive } from \"vue\";\r\nimport { MsMaterialMan } from \"../../dataviews\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { MKMaterialList } from \"../../components\";\r\n\r\nconst materialMan = reactive(\r\n new MsMaterialMan({ httpRequest: MSAppClient.instance!.httpRequest })\r\n) as MsMaterialMan;\r\n</script>\r\n"],"names":["reactive","MsMaterialMan","MSAppClient"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,UAAM,cAAcA,IAAA;AAAA,MAClB,IAAIC,cAAAA,cAAc,EAAE,aAAaC,YAAY,YAAA,SAAU,aAAa;AAAA,IAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
3
  const vueRouter = require("vue-router");
4
- require("@maketribe/dm");
5
- require("element-plus");
4
+ const dm = require("@maketribe/dm");
5
+ const request = require("@maketribe/request");
6
+ const elementPlus = require("element-plus");
6
7
  require("@maketribe/utils");
7
8
  const DataModelDefines = require("../../../../core/DataModelDefines.js");
8
- require("@maketribe/request");
9
9
  require("@maketribe/locale");
10
10
  const menu = require("../../../../constants/menu.js");
11
11
  require("../../../../components/abstract/abstract-select/abstract-select.js");
@@ -37,6 +37,14 @@ require("../../../../components/business/verify-dialog/index.js");
37
37
  require("../../../../components/business/resource-list/index.js");
38
38
  require("../../../../components/business/resource-manager/index.js");
39
39
  const useSingleView = require("../../../../composables/use-single-view.js");
40
+ const MsRouteTable = require("../../dataviews/ms-menu/ms-route/MsRouteTable.js");
41
+ require("../../dataviews/department/DepartmentForm.js");
42
+ require("../../dataviews/department/DepartmentTable.js");
43
+ require("../../dataviews/department/DepartmentTree.js");
44
+ require("../../dataviews/log/operate-log/OperateLogTable.js");
45
+ require("../../dataviews/log/login-log/LoginLogTable.js");
46
+ require("../../dataviews/log/request-log/RequestLogTable.js");
47
+ require("../../dataviews/log/local-log/LocalLogTree.js");
40
48
  const index$2 = require("../../../../components/data-model/data-table/views/table-view/index.js");
41
49
  const index$3 = require("../../../../components/data-model/data-table/views/table-tree/index.js");
42
50
  const _hoisted_1 = { class: "ms-menu__title" };
@@ -46,6 +54,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
46
54
  const router = vueRouter.useRouter();
47
55
  const dataTree = vue.ref(null);
48
56
  const dataForm = vue.ref(null);
57
+ const routeTable = vue.reactive(new MsRouteTable.MsRouteTable());
49
58
  vue.watch(
50
59
  vue.computed(() => vue.unref(router.currentRoute).meta.name),
51
60
  (name) => {
@@ -54,7 +63,38 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
54
63
  },
55
64
  { immediate: true }
56
65
  );
66
+ const handleUrlClick = async (item) => {
67
+ var _a, _b, _c;
68
+ routeTable.useCondition((defaultGroup) => {
69
+ defaultGroup.clear();
70
+ defaultGroup.addCondition("menuId", "=", item.id);
71
+ });
72
+ const result = await dm.Dialoger.dataTableSelectDialog(routeTable);
73
+ if (!result.isConfirm) {
74
+ return;
75
+ }
76
+ try {
77
+ (_a = vue.unref(dataTree)) == null ? void 0 : _a.getLoadingManager().startLoading();
78
+ const response = await request.DvOpt.createInstance({ name: "ms-menu" }).save({
79
+ id: item.id,
80
+ routeId: result.selections[0]
81
+ });
82
+ if (response.code !== 200) {
83
+ elementPlus.ElMessage.error(response.msg);
84
+ return;
85
+ }
86
+ (_b = vue.unref(dataTree)) == null ? void 0 : _b.load();
87
+ elementPlus.ElMessage.success("更新成功");
88
+ } catch {
89
+ elementPlus.ElMessage.error("网络异常");
90
+ } finally {
91
+ (_c = vue.unref(dataTree)) == null ? void 0 : _c.getLoadingManager().completeLoading();
92
+ }
93
+ };
57
94
  useSingleView.useSingleViewWithDialog({ dataTable: dataTree, dataForm });
95
+ vue.onBeforeUnmount(() => {
96
+ routeTable.dispose();
97
+ });
58
98
  return (_ctx, _cache) => {
59
99
  const _component_MKSvgIcon = vue.resolveComponent("MKSvgIcon");
60
100
  const _component_ElButton = vue.resolveComponent("ElButton");
@@ -77,13 +117,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
77
117
  key: 0,
78
118
  link: "",
79
119
  type: "primary",
80
- class: "ms-menu__url"
120
+ class: "ms-menu__url",
121
+ onClick: ($event) => handleUrlClick(row.data)
81
122
  }, {
82
123
  default: vue.withCtx(() => [
83
- vue.createTextVNode(vue.toDisplayString(row.data.url), 1)
124
+ vue.createTextVNode(vue.toDisplayString(row.data.targetUrl || "空"), 1)
84
125
  ]),
85
126
  _: 2
86
- }, 1024)) : vue.createCommentVNode("", true)
127
+ }, 1032, ["onClick"])) : vue.createCommentVNode("", true)
87
128
  ]),
88
129
  _: 1
89
130
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/ms-menu/index.vue"],"sourcesContent":["<template>\n <MKPageContainer v-if=\"dataTree\">\n <MKDataTable :data-table=\"dataTree\" enableQueryParams>\n <MKTableView>\n <MKTableTree defaultExpandAll>\n <template #col-data.title-content=\"{ row }\">\n <MKSvgIcon :iconClass=\"row.data.iconName\" />\n <span class=\"ms-menu__title\">{{ row.data.title }}</span>\n <ElButton\n v-if=\"row.data.type === MenuType.Menu\"\n link\n type=\"primary\"\n class=\"ms-menu__url\"\n >\n {{ row.data.url }}\n </ElButton>\n </template>\n </MKTableTree>\n </MKTableView>\n </MKDataTable>\n </MKPageContainer>\n</template>\n<script setup lang=\"ts\">\nimport { unref, computed, watch, ref, Ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { DataForm, DataTree } from \"@maketribe/dm\";\nimport { DataModelDefines } from \"../../../../core\";\nimport {\n MKPageContainer,\n MKDataTable,\n MKTableView,\n MKTableTree,\n} from \"../../../../components\";\nimport { useSingleViewWithDialog } from \"../../../../composables\";\nimport { MenuType } from \"../../../../constants\";\n\nconst router = useRouter();\n\nconst dataTree: Ref<DataTree | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nwatch(\n computed(() => unref(router.currentRoute).meta.name as string),\n (name) => {\n dataTree.value = DataModelDefines.instance.getDataTree(name);\n\n dataForm.value = DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nuseSingleViewWithDialog({ dataTable: dataTree, dataForm });\n</script>\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleViewWithDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,UAAM,SAASA,UAAAA;AAET,UAAA,WAAiCC,QAAI,IAAI;AACzC,UAAA,WAAiCA,QAAI,IAAI;AAE/CC,QAAA;AAAA,MACEC,aAAS,MAAMC,IAAAA,MAAM,OAAO,YAAY,EAAE,KAAK,IAAc;AAAA,MAC7D,CAAC,SAAS;AACR,iBAAS,QAAQC,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAE3D,iBAAS,QAAQA,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAAA,MAC7D;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGpBC,kBAAAA,wBAAwB,EAAE,WAAW,UAAU,SAAU,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/ms-menu/index.vue"],"sourcesContent":["<template>\n <MKPageContainer v-if=\"dataTree\">\n <MKDataTable :data-table=\"dataTree\" enableQueryParams>\n <MKTableView>\n <MKTableTree defaultExpandAll>\n <template #col-data.title-content=\"{ row }\">\n <MKSvgIcon :iconClass=\"row.data.iconName\" />\n <span class=\"ms-menu__title\">{{ row.data.title }}</span>\n <ElButton\n v-if=\"row.data.type === MenuType.Menu\"\n link\n type=\"primary\"\n class=\"ms-menu__url\"\n @click=\"handleUrlClick(row.data)\"\n >\n {{ row.data.targetUrl || \"空\" }}\n </ElButton>\n </template>\n </MKTableTree>\n </MKTableView>\n </MKDataTable>\n </MKPageContainer>\n</template>\n<script setup lang=\"ts\">\nimport {\n unref,\n computed,\n watch,\n ref,\n Ref,\n reactive,\n onBeforeUnmount,\n} from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { DataForm, DataTree, Dialoger } from \"@maketribe/dm\";\nimport { DvOpt } from \"@maketribe/request\";\nimport { ElMessage } from \"element-plus\";\nimport { DataModelDefines } from \"../../../../core\";\nimport {\n MKPageContainer,\n MKDataTable,\n MKTableView,\n MKTableTree,\n} from \"../../../../components\";\nimport { useSingleViewWithDialog } from \"../../../../composables\";\nimport { MenuType } from \"../../../../constants\";\nimport { MsRouteTable, MsMenuItemNode } from \"../../dataviews\";\n\nconst router = useRouter();\n\nconst dataTree: Ref<DataTree | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nconst routeTable = reactive(new MsRouteTable()) as MsRouteTable;\n\nwatch(\n computed(() => unref(router.currentRoute).meta.name as string),\n (name) => {\n dataTree.value = DataModelDefines.instance.getDataTree(name);\n\n dataForm.value = DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nconst handleUrlClick = async (item: MsMenuItemNode) => {\n routeTable.useCondition((defaultGroup) => {\n defaultGroup.clear();\n defaultGroup.addCondition(\"menuId\", \"=\", item.id);\n });\n\n const result = await Dialoger.dataTableSelectDialog(routeTable);\n\n if (!result.isConfirm) {\n return;\n }\n\n try {\n unref(dataTree)?.getLoadingManager().startLoading();\n\n const response = await DvOpt.createInstance({ name: \"ms-menu\" }).save({\n id: item.id,\n routeId: result.selections[0],\n });\n\n if (response.code !== 200) {\n ElMessage.error(response.msg);\n return;\n }\n\n unref(dataTree)?.load();\n\n ElMessage.success(\"更新成功\");\n } catch {\n ElMessage.error(\"网络异常\");\n } finally {\n unref(dataTree)?.getLoadingManager().completeLoading();\n }\n};\n\nuseSingleViewWithDialog({ dataTable: dataTree, dataForm });\n\nonBeforeUnmount(() => {\n routeTable.dispose();\n});\n</script>\n"],"names":["useRouter","ref","reactive","MsRouteTable","watch","computed","unref","DataModelDefines","Dialoger","DvOpt","ElMessage","useSingleViewWithDialog","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,UAAM,SAASA,UAAAA;AAET,UAAA,WAAiCC,QAAI,IAAI;AACzC,UAAA,WAAiCA,QAAI,IAAI;AAE/C,UAAM,aAAaC,IAAAA,SAAS,IAAIC,aAAAA,aAAc,CAAA;AAE9CC,QAAA;AAAA,MACEC,aAAS,MAAMC,IAAAA,MAAM,OAAO,YAAY,EAAE,KAAK,IAAc;AAAA,MAC7D,CAAC,SAAS;AACR,iBAAS,QAAQC,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAE3D,iBAAS,QAAQA,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAAA,MAC7D;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGd,UAAA,iBAAiB,OAAO,SAAyB;;AAC1C,iBAAA,aAAa,CAAC,iBAAiB;AACxC,qBAAa,MAAM;AACnB,qBAAa,aAAa,UAAU,KAAK,KAAK,EAAE;AAAA,MAAA,CACjD;AAED,YAAM,SAAS,MAAMC,GAAAA,SAAS,sBAAsB,UAAU;AAE1D,UAAA,CAAC,OAAO,WAAW;AACrB;AAAA,MACF;AAEI,UAAA;AACFF,kBAAAA,MAAM,QAAQ,MAAdA,mBAAiB,oBAAoB;AAE/B,cAAA,WAAW,MAAMG,QAAAA,MAAM,eAAe,EAAE,MAAM,UAAA,CAAW,EAAE,KAAK;AAAA,UACpE,IAAI,KAAK;AAAA,UACT,SAAS,OAAO,WAAW,CAAC;AAAA,QAAA,CAC7B;AAEG,YAAA,SAAS,SAAS,KAAK;AACfC,sBAAAA,UAAA,MAAM,SAAS,GAAG;AAC5B;AAAA,QACF;AAEMJ,wBAAA,QAAQ,MAARA,mBAAW;AAEjBI,8BAAU,QAAQ,MAAM;AAAA,MAAA,QAClB;AACNA,8BAAU,MAAM,MAAM;AAAA,MAAA,UACtB;AACAJ,kBAAAA,MAAM,QAAQ,MAAdA,mBAAiB,oBAAoB;AAAA,MACvC;AAAA,IAAA;AAGFK,kBAAAA,wBAAwB,EAAE,WAAW,UAAU,SAAU,CAAA;AAEzDC,QAAAA,gBAAgB,MAAM;AACpB,iBAAW,QAAQ;AAAA,IAAA,CACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}