@maketribe/ms-app 3.2.1 → 3.2.2

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 (74) hide show
  1. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +8 -6
  2. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  3. package/dist/cjs/components/data-model/data-filter-form/data-filter-form.js +18 -3
  4. package/dist/cjs/components/data-model/data-filter-form/data-filter-form.js.map +1 -1
  5. package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover-options.js.map +1 -1
  6. package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js +12 -4
  7. package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
  8. package/dist/cjs/components/data-model/data-table/views/tree/tree.js.map +1 -1
  9. package/dist/cjs/index.js +0 -4
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/modules/cms/components/part-tree/index.vue.js +1 -1
  12. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +4 -3
  13. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
  14. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartForm.js +7 -7
  15. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartForm.js.map +1 -1
  16. package/dist/cjs/modules/cms/index.js +0 -4
  17. package/dist/cjs/modules/cms/index.js.map +1 -1
  18. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +32 -28
  19. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  20. package/dist/cjs/modules/ms/components/material-list/material-group.vue.js +0 -3
  21. package/dist/cjs/modules/ms/components/material-list/material-group.vue.js.map +1 -1
  22. package/dist/cjs/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.js +3 -0
  23. package/dist/cjs/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.js.map +1 -1
  24. package/dist/cjs/modules/ms/dataviews/ms-member-role/MsMemberRoleTable.js +0 -1
  25. package/dist/cjs/modules/ms/dataviews/ms-member-role/MsMemberRoleTable.js.map +1 -1
  26. package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +8 -6
  27. package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
  28. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
  29. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +8 -6
  30. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  31. package/dist/esm/components/data-model/data-filter-form/data-filter-form.js +19 -4
  32. package/dist/esm/components/data-model/data-filter-form/data-filter-form.js.map +1 -1
  33. package/dist/esm/components/data-model/data-filter-popover/data-filter-popover-options.js.map +1 -1
  34. package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js +13 -5
  35. package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
  36. package/dist/esm/components/data-model/data-table/views/tree/tree.js.map +1 -1
  37. package/dist/esm/index.js +0 -4
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/modules/cms/components/part-tree/index.vue.js +1 -1
  40. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +4 -3
  41. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
  42. package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartForm.js +7 -7
  43. package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartForm.js.map +1 -1
  44. package/dist/esm/modules/cms/index.js +0 -4
  45. package/dist/esm/modules/cms/index.js.map +1 -1
  46. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +32 -28
  47. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  48. package/dist/esm/modules/ms/components/material-list/material-group.vue.js +1 -4
  49. package/dist/esm/modules/ms/components/material-list/material-group.vue.js.map +1 -1
  50. package/dist/esm/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.js +3 -0
  51. package/dist/esm/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.js.map +1 -1
  52. package/dist/esm/modules/ms/dataviews/ms-member-role/MsMemberRoleTable.js +0 -1
  53. package/dist/esm/modules/ms/dataviews/ms-member-role/MsMemberRoleTable.js.map +1 -1
  54. package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +8 -6
  55. package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
  56. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
  57. package/dist/types/components/data-model/data-filter-popover/data-filter-popover-options.d.ts +1 -1
  58. package/dist/types/components/data-model/data-filter-popover/data-filter-popover.d.ts +2 -2
  59. package/dist/types/components/data-model/data-filter-popover/index.d.ts +2 -2
  60. package/dist/types/modules/cms/dataviews/cms-part-types/index.d.ts +0 -1
  61. package/dist/types/modules/cms/dataviews/cms-parts/index.d.ts +0 -1
  62. package/dist/types/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.d.ts +1 -0
  63. package/package.json +1 -1
  64. package/dist/cjs/modules/cms/dataviews/cms-part-types/CmsPartTypesTree.js +0 -33
  65. package/dist/cjs/modules/cms/dataviews/cms-part-types/CmsPartTypesTree.js.map +0 -1
  66. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartTable.js +0 -91
  67. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartTable.js.map +0 -1
  68. package/dist/esm/modules/cms/dataviews/cms-part-types/CmsPartTypesTree.js +0 -33
  69. package/dist/esm/modules/cms/dataviews/cms-part-types/CmsPartTypesTree.js.map +0 -1
  70. package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartTable.js +0 -91
  71. package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartTable.js.map +0 -1
  72. package/dist/types/modules/cms/dataviews/cms-part-types/CmsPartTypesTree.d.ts +0 -7
  73. package/dist/types/modules/cms/dataviews/cms-parts/CmsPartTable.d.ts +0 -7
  74. package/dist/types/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTable.d.ts +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-contents__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular);margin-left: 10px;\">\r\n <MKSvgIcon iconClass=\"Memo\" style=\"margin-right: 5px;\" />\r\n 内容管理\r\n\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\r\n 添加栏目\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-left: 10px;\" />\r\n </el-button>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-contents__body\">\r\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\r\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\" />\r\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\">\r\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目信息\" name=\"part\">\r\n <PartInfo :part=\"curSelectPartItem\" v-if=\"activeTabName == 'part'\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目内容\" name=\"part-content\" style=\"background-color: #f4f4f4;\"\r\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\">\r\n <MKDocEditor v-if=\"activeTabName == 'part-content'\" placeholder=\"从这里开始写正文...\" />\r\n </el-tab-pane>\r\n </el-tabs>\r\n <el-empty v-else description=\"请选择栏目\" style=\"width: 100%;\" />\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { MKPartTree } from \"../../components\";\r\nimport ArticleList from \"./components/article-list.vue\";\r\nimport PartInfo from \"./components/part-info.vue\";\r\nimport { MKCopyContainer, MKDocEditor } from '../../../../components'\r\nimport { onMounted, reactive, ref } from \"vue\";\r\nimport { DataForm, Dialoger, FormColumn, isWhereFilter } from \"@maketribe/dm\";\r\nimport { CmsPartForm, CmsPartTable, CmsPartTypesTree } from \"../../dataviews\";\r\nimport { useRoute } from \"vue-router\";\r\n//路由\r\nconst route = useRoute();\r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"article-list\");\r\n\r\n// 当前选中的菜单\r\nconst curSelectPartItem = ref(null as any);\r\n// 栏目树ref\r\nconst partTreeRef = ref(null)\r\n\r\n// 选择栏目\r\nconst selectPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n}\r\n//删除栏目\r\nconst deletePartHandle = (item: any) => {\r\n if (item.id == curSelectPartItem.value.id) {\r\n curSelectPartItem.value = null\r\n }\r\n}\r\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n}\r\n\r\nif (!!route.query.partId) {\r\n curSelectPartItem.value = { id: route.query.partId }\r\n}\r\n\r\n//栏目表单\r\nconst partForm = reactive(new (class extends CmsPartForm {\r\n protected async initialize() {\r\n await super.initialize();\r\n this.setColumns([\r\n new FormColumn({\r\n name: \"cmsPartTypeId\",\r\n label: \"栏目类型\",\r\n componentInfo: \"MKDataTreeSelect\",\r\n defaultValue: \"2\",\r\n componentProps: {\r\n dataTree: this.register(new CmsPartTypesTree()) as CmsPartTypesTree,\r\n },\r\n required: true,\r\n }),\r\n new FormColumn({\r\n name: \"name\",\r\n label: \"栏目名称\",\r\n required: true,\r\n }),\r\n new FormColumn({\r\n name: \"title\",\r\n label: \"栏目标题\",\r\n required: true,\r\n })\r\n ])\r\n }\r\n}));\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partForm as CmsPartForm\r\n })\r\n\r\n if (item.id) {\r\n partForm.addRecord({\r\n parentId: item.id\r\n })\r\n }\r\n}\r\n//\r\npartForm.submittedEvent.on(() => {\r\n (partTreeRef.value! as any).dataTree?.load()\r\n})\r\n\r\n// 挂在完成之后\r\nonMounted(async () => {\r\n\r\n})\r\n\r\n</script>\r\n"],"names":["useRoute","ref","reactive","CmsPartForm","FormColumn","CmsPartTypesTree","Dialoger","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,UAAM,QAAQA,UAAAA;AAGR,UAAA,gBAAgBC,QAAI,cAAc;AAGlC,UAAA,oBAAoBA,QAAI,IAAW;AAEnC,UAAA,cAAcA,QAAI,IAAI;AAGtB,UAAA,mBAAmB,CAAC,SAAc;AACtC,wBAAkB,QAAQ;AAAA,IAAA;AAGtB,UAAA,mBAAmB,CAAC,SAAc;AACtC,UAAI,KAAK,MAAM,kBAAkB,MAAM,IAAI;AACzC,0BAAkB,QAAQ;AAAA,MAC5B;AAAA,IAAA;AAGI,UAAA,iBAAiB,CAAC,SAAc;AACpC,wBAAkB,QAAQ;AAC1B,oBAAc,QAAQ;AAAA,IAAA;AAGxB,QAAI,CAAC,CAAC,MAAM,MAAM,QAAQ;AACxB,wBAAkB,QAAQ,EAAE,IAAI,MAAM,MAAM;IAC9C;AAGA,UAAM,WAAWC,IAAAA,SAAS,IAAK,cAAcC,wBAAY;AAAA,MACvD,MAAgB,aAAa;AAC3B,cAAM,MAAM;AACZ,aAAK,WAAW;AAAA,UACd,IAAIC,cAAW;AAAA,YACb,MAAM;AAAA,YACN,OAAO;AAAA,YACP,eAAe;AAAA,YACf,cAAc;AAAA,YACd,gBAAgB;AAAA,cACd,UAAU,KAAK,SAAS,IAAIC,mCAAkB;AAAA,YAChD;AAAA,YACA,UAAU;AAAA,UAAA,CACX;AAAA,UACD,IAAID,cAAW;AAAA,YACb,MAAM;AAAA,YACN,OAAO;AAAA,YACP,UAAU;AAAA,UAAA,CACX;AAAA,UACD,IAAIA,cAAW;AAAA,YACb,MAAM;AAAA,YACN,OAAO;AAAA,YACP,UAAU;AAAA,UAAA,CACX;AAAA,QAAA,CACF;AAAA,MACH;AAAA,IACA,EAAA,CAAA;AAII,UAAA,qBAAqB,OAAO,SAAe;AAC/C,YAAME,GAAAA,SAAS,eAAe;AAAA,QAC5B,UAAU;AAAA,MAAA,CACX;AAED,UAAI,KAAK,IAAI;AACX,iBAAS,UAAU;AAAA,UACjB,UAAU,KAAK;AAAA,QAAA,CAChB;AAAA,MACH;AAAA,IAAA;AAGO,aAAA,eAAe,GAAG,MAAM;;AAC9B,wBAAY,MAAe,aAA3B,mBAAqC;AAAA,IAAK,CAC5C;AAGDC,QAAAA,UAAU,YAAY;AAAA,IAAA,CAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\n <div class=\"mk-cms-contents__warp\">\n <el-page-header style=\"background-color: #fff; padding: 10px\" :icon=\"null\">\n <template #title>\n <h3 style=\"color: var(--el-text-color-regular); margin-left: 10px\">\n <MKSvgIcon iconClass=\"Memo\" style=\"margin-right: 5px\" />\n 内容管理\n </h3>\n </template>\n <template #extra>\n <div class=\"flex items-center\">\n <el-button\n type=\"primary\"\n size=\"large\"\n text\n @click=\"showPartFormHandle\"\n >\n 添加栏目\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-left: 10px\" />\n </el-button>\n </div>\n </template>\n </el-page-header>\n <div class=\"mk-cms-contents__body\">\n <MKPartTree\n class=\"mk-cms-contents__body__left\"\n @select=\"selectPartHandle\"\n @edit=\"editPartHandle\"\n @add=\"showPartFormHandle\"\n @deleteSuccessfully=\"deletePartHandle\"\n ref=\"partTreeRef\"\n />\n <el-tabs\n v-if=\"curSelectPartItem\"\n v-model=\"activeTabName\"\n class=\"mk-cms-contents__body__right\"\n >\n <el-tab-pane label=\"文章列表\" name=\"article-list\">\n <ArticleList\n v-if=\"activeTabName == 'article-list'\"\n :part=\"curSelectPartItem\"\n />\n </el-tab-pane>\n <el-tab-pane label=\"栏目信息\" name=\"part\">\n <PartInfo :part=\"curSelectPartItem\" v-if=\"activeTabName == 'part'\" />\n </el-tab-pane>\n <el-tab-pane\n label=\"栏目内容\"\n name=\"part-content\"\n style=\"background-color: #f4f4f4\"\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\"\n >\n <MKDocEditor\n v-if=\"activeTabName == 'part-content'\"\n placeholder=\"从这里开始写正文...\"\n />\n </el-tab-pane>\n </el-tabs>\n <el-empty v-else description=\"请选择栏目\" style=\"width: 100%\" />\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { MKPartTree } from \"../../components\";\nimport ArticleList from \"./components/article-list.vue\";\nimport PartInfo from \"./components/part-info.vue\";\nimport { MKCopyContainer, MKDocEditor } from \"../../../../components\";\nimport { onMounted, reactive, ref } from \"vue\";\nimport { DataForm, Dialoger, FormColumn, isWhereFilter } from \"@maketribe/dm\";\nimport { CmsPartForm, CmsPartTypesTable } from \"../../dataviews\";\nimport { useRoute } from \"vue-router\";\n//路由\nconst route = useRoute();\n\n// 激活的tab\nconst activeTabName = ref(\"article-list\");\n\n// 当前选中的菜单\nconst curSelectPartItem = ref(null as any);\n// 栏目树ref\nconst partTreeRef = ref(null);\n\n// 选择栏目\nconst selectPartHandle = (item: any) => {\n curSelectPartItem.value = item;\n};\n//删除栏目\nconst deletePartHandle = (item: any) => {\n if (item.id == curSelectPartItem.value.id) {\n curSelectPartItem.value = null;\n }\n};\n//编辑栏目\nconst editPartHandle = (item: any) => {\n curSelectPartItem.value = item;\n activeTabName.value = \"part\";\n};\n\nif (!!route.query.partId) {\n curSelectPartItem.value = { id: route.query.partId };\n}\n\n//栏目表单\nconst partForm = reactive(\n new (class extends CmsPartForm {\n protected async initialize() {\n await super.initialize();\n this.setColumns([\n new FormColumn({\n name: \"cmsPartTypeId\",\n label: \"栏目类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: \"2\",\n componentProps: {\n dataTable: this.register(\n new CmsPartTypesTable()\n ) as CmsPartTypesTable,\n },\n required: true,\n }),\n new FormColumn({\n name: \"name\",\n label: \"栏目名称\",\n required: true,\n }),\n new FormColumn({\n name: \"title\",\n label: \"栏目标题\",\n required: true,\n }),\n ]);\n }\n })()\n);\n/**\n * 显示添加栏目表单\n */\nconst showPartFormHandle = async (item?: any) => {\n await Dialoger.dataFormDialog({\n dataForm: partForm as CmsPartForm,\n });\n\n if (item.id) {\n partForm.addRecord({\n parentId: item.id,\n });\n }\n};\n//\npartForm.submittedEvent.on(() => {\n (partTreeRef.value! as any).dataTree?.load();\n});\n\n// 挂在完成之后\nonMounted(async () => {});\n</script>\n"],"names":["useRoute","ref","reactive","CmsPartForm","FormColumn","CmsPartTypesTable","Dialoger","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwEA,UAAM,QAAQA,UAAAA;AAGR,UAAA,gBAAgBC,QAAI,cAAc;AAGlC,UAAA,oBAAoBA,QAAI,IAAW;AAEnC,UAAA,cAAcA,QAAI,IAAI;AAGtB,UAAA,mBAAmB,CAAC,SAAc;AACtC,wBAAkB,QAAQ;AAAA,IAAA;AAGtB,UAAA,mBAAmB,CAAC,SAAc;AACtC,UAAI,KAAK,MAAM,kBAAkB,MAAM,IAAI;AACzC,0BAAkB,QAAQ;AAAA,MAC5B;AAAA,IAAA;AAGI,UAAA,iBAAiB,CAAC,SAAc;AACpC,wBAAkB,QAAQ;AAC1B,oBAAc,QAAQ;AAAA,IAAA;AAGxB,QAAI,CAAC,CAAC,MAAM,MAAM,QAAQ;AACxB,wBAAkB,QAAQ,EAAE,IAAI,MAAM,MAAM;IAC9C;AAGA,UAAM,WAAWC,IAAA;AAAA,MACf,IAAK,cAAcC,YAAAA,YAAY;AAAA,QAC7B,MAAgB,aAAa;AAC3B,gBAAM,MAAM;AACZ,eAAK,WAAW;AAAA,YACd,IAAIC,cAAW;AAAA,cACb,MAAM;AAAA,cACN,OAAO;AAAA,cACP,eAAe;AAAA,cACf,cAAc;AAAA,cACd,gBAAgB;AAAA,gBACd,WAAW,KAAK;AAAA,kBACd,IAAIC,oCAAkB;AAAA,gBACxB;AAAA,cACF;AAAA,cACA,UAAU;AAAA,YAAA,CACX;AAAA,YACD,IAAID,cAAW;AAAA,cACb,MAAM;AAAA,cACN,OAAO;AAAA,cACP,UAAU;AAAA,YAAA,CACX;AAAA,YACD,IAAIA,cAAW;AAAA,cACb,MAAM;AAAA,cACN,OAAO;AAAA,cACP,UAAU;AAAA,YAAA,CACX;AAAA,UAAA,CACF;AAAA,QACH;AAAA,MAAA,EACC;AAAA,IAAA;AAKC,UAAA,qBAAqB,OAAO,SAAe;AAC/C,YAAME,GAAAA,SAAS,eAAe;AAAA,QAC5B,UAAU;AAAA,MAAA,CACX;AAED,UAAI,KAAK,IAAI;AACX,iBAAS,UAAU;AAAA,UACjB,UAAU,KAAK;AAAA,QAAA,CAChB;AAAA,MACH;AAAA,IAAA;AAGO,aAAA,eAAe,GAAG,MAAM;;AAC9B,wBAAY,MAAe,aAA3B,mBAAqC;AAAA,IAAK,CAC5C;AAGDC,QAAAA,UAAU,YAAY;AAAA,IAAA,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -108,9 +108,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
108
108
  return;
109
109
  }
110
110
  };
111
- vue.onMounted(() => {
112
- console.log(treeRef.value);
113
- });
114
111
  return (_ctx, _cache) => {
115
112
  const _component_ElButton = vue.resolveComponent("ElButton");
116
113
  const _component_ElIcon = vue.resolveComponent("ElIcon");
@@ -1 +1 @@
1
- {"version":3,"file":"material-group.vue.js","sources":["../../../../../../src/modules/ms/components/material-list/material-group.vue"],"sourcesContent":["<template>\n <div class=\"mk-material-group\" v-loading=\"loading\">\n <div class=\"mk-material-group__header\">\n <div class=\"mk-material-group__header-title\">素材分组</div>\n <MaterialGroupFromPopper\n :material-man=\"materialMan\"\n :material-group-form=\"materialGroupForm\"\n >\n <ElButton\n @click=\"handleAddClick\"\n :icon=\"Plus\"\n size=\"small\"\n type=\"primary\"\n >\n </ElButton>\n </MaterialGroupFromPopper>\n </div>\n <div class=\"mk-material-group__main\">\n <ElScrollbar height=\"100%\">\n <MKDataTable :data-table=\"materialGroupTree\" highlight-current>\n <MKTree\n :data-tree=\"materialGroupTree\"\n @nodeClick=\"handleNodeClick\"\n ref=\"treeRef\"\n >\n <template #node-tools=\"{ data }\">\n <div class=\"mk-material-group__tools\" @click.stop>\n <ElTooltip content=\"添加\">\n <span class=\"mk-material-group__tools-item\">\n <MaterialGroupFromPopper\n :material-man=\"materialMan\"\n :material-group-form=\"materialGroupForm\"\n >\n <ElIcon @click=\"handleAddClick(data.data)\">\n <Plus />\n </ElIcon>\n </MaterialGroupFromPopper>\n </span>\n </ElTooltip>\n <ElTooltip content=\"编辑\">\n <span class=\"mk-material-group__tools-item\">\n <MaterialGroupFromPopper\n :material-man=\"materialMan\"\n :material-group-form=\"materialGroupForm\"\n >\n <ElIcon @click=\"handleEditClick(data.data)\">\n <Edit />\n </ElIcon>\n </MaterialGroupFromPopper>\n </span>\n </ElTooltip>\n <ElTooltip content=\"删除\">\n <span class=\"mk-material-group__tools-item\">\n <ElIcon @click=\"handleDeleteClick(data.data)\">\n <Delete />\n </ElIcon>\n </span>\n </ElTooltip>\n </div>\n </template>\n </MKTree>\n </MKDataTable>\n </ElScrollbar>\n </div>\n <div class=\"mk-material-group__footer\"></div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, reactive, ref, Ref, onMounted } from \"vue\";\nimport { ElMessage, ElMessageBox } from \"element-plus\";\nimport { Plus, Edit, Delete } from \"@element-plus/icons-vue\";\nimport {\n MsMaterialMan,\n MsMaterialGroupNode,\n MsMaterialGroupForm,\n} from \"../../dataviews\";\nimport { MKDataTable, MKTree } from \"../../../../components\";\n\nimport { useI18n } from \"../../../../composables\";\nimport MaterialGroupFromPopper from \"./material-group-form-popover.vue\";\nimport { DataTreeNode } from \"@maketribe/dm\";\n\nconst props = defineProps({\n materialMan: {\n type: MsMaterialMan,\n required: true,\n },\n});\n\nconst i18n = useI18n()!;\n\nconst materialGroupForm = reactive(\n new MsMaterialGroupForm()\n) as MsMaterialGroupForm;\n\nconst treeRef: Ref<typeof MKTree | null> = ref(null);\n\nconst materialGroupTree = computed(() => props.materialMan.materialGroupTree);\n\nconst loading = computed(() => props.materialMan.materialGroupTree.loading);\n\nconst handleNodeClick = (item: DataTreeNode<MsMaterialGroupNode>) => {\n if (!item.children.length) {\n props.materialMan.setCurrentMaterialGroup(item.data);\n }\n};\n\nconst handleAddClick = async (parent?: MsMaterialGroupNode) => {\n materialGroupForm.addRecord();\n\n await nextTick();\n\n materialGroupForm.setData({\n ...materialGroupForm.data,\n parentGroupId: parent?.id || null,\n } as MsMaterialGroupNode);\n};\n\nconst handleEditClick = (item: MsMaterialGroupNode) => {\n materialGroupForm.editRecord(item);\n};\n\nconst handleDeleteClick = async (item: MsMaterialGroupNode) => {\n const isConfirm = await ElMessageBox.confirm(\n i18n.translate(\"mk.dataTablePage.deleteMessage\"),\n i18n.translate(\"mk.dataTablePage.deleteTitle\"),\n { type: \"warning\" }\n ).then(\n () => true,\n () => false\n );\n\n if (!isConfirm) {\n return;\n }\n\n const result = await props.materialMan.materialGroupTree.deleteAfterRefresh(\n item\n );\n\n if (result.data.code !== 200) {\n ElMessage.error(result.data.msg);\n return;\n }\n};\n\nonMounted(() => {\n console.log(treeRef.value);\n})\n</script>\n"],"names":["useI18n","reactive","MsMaterialGroupForm","ref","computed","nextTick","ElMessageBox","ElMessage","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmFA,UAAM,QAAQ;AAOd,UAAM,OAAOA,QAAAA;AAEb,UAAM,oBAAoBC,IAAA;AAAA,MACxB,IAAIC,wCAAoB;AAAA,IAAA;AAGpB,UAAA,UAAqCC,QAAI,IAAI;AAEnD,UAAM,oBAAoBC,IAAAA,SAAS,MAAM,MAAM,YAAY,iBAAiB;AAE5E,UAAM,UAAUA,IAAAA,SAAS,MAAM,MAAM,YAAY,kBAAkB,OAAO;AAEpE,UAAA,kBAAkB,CAAC,SAA4C;AAC/D,UAAA,CAAC,KAAK,SAAS,QAAQ;AACnB,cAAA,YAAY,wBAAwB,KAAK,IAAI;AAAA,MACrD;AAAA,IAAA;AAGI,UAAA,iBAAiB,OAAO,WAAiC;AAC7D,wBAAkB,UAAU;AAE5B,YAAMC,IAAS,SAAA;AAEf,wBAAkB,QAAQ;AAAA,QACxB,GAAG,kBAAkB;AAAA,QACrB,gBAAe,iCAAQ,OAAM;AAAA,MAAA,CACP;AAAA,IAAA;AAGpB,UAAA,kBAAkB,CAAC,SAA8B;AACrD,wBAAkB,WAAW,IAAI;AAAA,IAAA;AAG7B,UAAA,oBAAoB,OAAO,SAA8B;AACvD,YAAA,YAAY,MAAMC,YAAAA,aAAa;AAAA,QACnC,KAAK,UAAU,gCAAgC;AAAA,QAC/C,KAAK,UAAU,8BAA8B;AAAA,QAC7C,EAAE,MAAM,UAAU;AAAA,MAAA,EAClB;AAAA,QACA,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAGR,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AAEA,YAAM,SAAS,MAAM,MAAM,YAAY,kBAAkB;AAAA,QACvD;AAAA,MAAA;AAGE,UAAA,OAAO,KAAK,SAAS,KAAK;AAClBC,oBAAAA,UAAA,MAAM,OAAO,KAAK,GAAG;AAC/B;AAAA,MACF;AAAA,IAAA;AAGFC,QAAAA,UAAU,MAAM;AACN,cAAA,IAAI,QAAQ,KAAK;AAAA,IAAA,CAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"material-group.vue.js","sources":["../../../../../../src/modules/ms/components/material-list/material-group.vue"],"sourcesContent":["<template>\n <div class=\"mk-material-group\" v-loading=\"loading\">\n <div class=\"mk-material-group__header\">\n <div class=\"mk-material-group__header-title\">素材分组</div>\n <MaterialGroupFromPopper\n :material-man=\"materialMan\"\n :material-group-form=\"materialGroupForm\"\n >\n <ElButton\n @click=\"handleAddClick\"\n :icon=\"Plus\"\n size=\"small\"\n type=\"primary\"\n >\n </ElButton>\n </MaterialGroupFromPopper>\n </div>\n <div class=\"mk-material-group__main\">\n <ElScrollbar height=\"100%\">\n <MKDataTable :data-table=\"materialGroupTree\" highlight-current>\n <MKTree\n :data-tree=\"materialGroupTree\"\n @nodeClick=\"handleNodeClick\"\n ref=\"treeRef\"\n >\n <template #node-tools=\"{ data }\">\n <div class=\"mk-material-group__tools\" @click.stop>\n <ElTooltip content=\"添加\">\n <span class=\"mk-material-group__tools-item\">\n <MaterialGroupFromPopper\n :material-man=\"materialMan\"\n :material-group-form=\"materialGroupForm\"\n >\n <ElIcon @click=\"handleAddClick(data.data)\">\n <Plus />\n </ElIcon>\n </MaterialGroupFromPopper>\n </span>\n </ElTooltip>\n <ElTooltip content=\"编辑\">\n <span class=\"mk-material-group__tools-item\">\n <MaterialGroupFromPopper\n :material-man=\"materialMan\"\n :material-group-form=\"materialGroupForm\"\n >\n <ElIcon @click=\"handleEditClick(data.data)\">\n <Edit />\n </ElIcon>\n </MaterialGroupFromPopper>\n </span>\n </ElTooltip>\n <ElTooltip content=\"删除\">\n <span class=\"mk-material-group__tools-item\">\n <ElIcon @click=\"handleDeleteClick(data.data)\">\n <Delete />\n </ElIcon>\n </span>\n </ElTooltip>\n </div>\n </template>\n </MKTree>\n </MKDataTable>\n </ElScrollbar>\n </div>\n <div class=\"mk-material-group__footer\"></div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, reactive, ref, Ref, onMounted } from \"vue\";\nimport { ElMessage, ElMessageBox } from \"element-plus\";\nimport { Plus, Edit, Delete } from \"@element-plus/icons-vue\";\nimport {\n MsMaterialMan,\n MsMaterialGroupNode,\n MsMaterialGroupForm,\n} from \"../../dataviews\";\nimport { MKDataTable, MKTree } from \"../../../../components\";\n\nimport { useI18n } from \"../../../../composables\";\nimport MaterialGroupFromPopper from \"./material-group-form-popover.vue\";\nimport { DataTreeNode } from \"@maketribe/dm\";\n\nconst props = defineProps({\n materialMan: {\n type: MsMaterialMan,\n required: true,\n },\n});\n\nconst i18n = useI18n()!;\n\nconst materialGroupForm = reactive(\n new MsMaterialGroupForm()\n) as MsMaterialGroupForm;\n\nconst treeRef: Ref<typeof MKTree | null> = ref(null);\n\nconst materialGroupTree = computed(() => props.materialMan.materialGroupTree);\n\nconst loading = computed(() => props.materialMan.materialGroupTree.loading);\n\nconst handleNodeClick = (item: DataTreeNode<MsMaterialGroupNode>) => {\n if (!item.children.length) {\n props.materialMan.setCurrentMaterialGroup(item.data);\n }\n};\n\nconst handleAddClick = async (parent?: MsMaterialGroupNode) => {\n materialGroupForm.addRecord();\n\n await nextTick();\n\n materialGroupForm.setData({\n ...materialGroupForm.data,\n parentGroupId: parent?.id || null,\n } as MsMaterialGroupNode);\n};\n\nconst handleEditClick = (item: MsMaterialGroupNode) => {\n materialGroupForm.editRecord(item);\n};\n\nconst handleDeleteClick = async (item: MsMaterialGroupNode) => {\n const isConfirm = await ElMessageBox.confirm(\n i18n.translate(\"mk.dataTablePage.deleteMessage\"),\n i18n.translate(\"mk.dataTablePage.deleteTitle\"),\n { type: \"warning\" }\n ).then(\n () => true,\n () => false\n );\n\n if (!isConfirm) {\n return;\n }\n\n const result = await props.materialMan.materialGroupTree.deleteAfterRefresh(\n item\n );\n\n if (result.data.code !== 200) {\n ElMessage.error(result.data.msg);\n return;\n }\n};\n</script>\n"],"names":["useI18n","reactive","MsMaterialGroupForm","ref","computed","nextTick","ElMessageBox","ElMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmFA,UAAM,QAAQ;AAOd,UAAM,OAAOA,QAAAA;AAEb,UAAM,oBAAoBC,IAAA;AAAA,MACxB,IAAIC,wCAAoB;AAAA,IAAA;AAGpB,UAAA,UAAqCC,QAAI,IAAI;AAEnD,UAAM,oBAAoBC,IAAAA,SAAS,MAAM,MAAM,YAAY,iBAAiB;AAE5E,UAAM,UAAUA,IAAAA,SAAS,MAAM,MAAM,YAAY,kBAAkB,OAAO;AAEpE,UAAA,kBAAkB,CAAC,SAA4C;AAC/D,UAAA,CAAC,KAAK,SAAS,QAAQ;AACnB,cAAA,YAAY,wBAAwB,KAAK,IAAI;AAAA,MACrD;AAAA,IAAA;AAGI,UAAA,iBAAiB,OAAO,WAAiC;AAC7D,wBAAkB,UAAU;AAE5B,YAAMC,IAAS,SAAA;AAEf,wBAAkB,QAAQ;AAAA,QACxB,GAAG,kBAAkB;AAAA,QACrB,gBAAe,iCAAQ,OAAM;AAAA,MAAA,CACP;AAAA,IAAA;AAGpB,UAAA,kBAAkB,CAAC,SAA8B;AACrD,wBAAkB,WAAW,IAAI;AAAA,IAAA;AAG7B,UAAA,oBAAoB,OAAO,SAA8B;AACvD,YAAA,YAAY,MAAMC,YAAAA,aAAa;AAAA,QACnC,KAAK,UAAU,gCAAgC;AAAA,QAC/C,KAAK,UAAU,8BAA8B;AAAA,QAC7C,EAAE,MAAM,UAAU;AAAA,MAAA,EAClB;AAAA,QACA,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAGR,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AAEA,YAAM,SAAS,MAAM,MAAM,YAAY,kBAAkB;AAAA,QACvD;AAAA,MAAA;AAGE,UAAA,OAAO,KAAK,SAAS,KAAK;AAClBC,oBAAAA,UAAA,MAAM,OAAO,KAAK,GAAG;AAC/B;AAAA,MACF;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -25,6 +25,9 @@ const _MsMaterialGroupTree = class _MsMaterialGroupTree extends (_b = dm.DataTre
25
25
  load(params) {
26
26
  return this.loadAll(params);
27
27
  }
28
+ nodeHasChildren(node) {
29
+ return node.children.length > 0;
30
+ }
28
31
  getCurrentNode() {
29
32
  if (this.currentDataTreeNode) {
30
33
  return this.currentDataTreeNode;
@@ -1 +1 @@
1
- {"version":3,"file":"MsMaterialGroupTree.js","sources":["../../../../../../../src/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.ts"],"sourcesContent":["import { DataTableOptions, DataTree, DataTreeNode } from \"@maketribe/dm\";\r\nimport { MsMaterialGroup } from \"./MsMaterialGroupForm\";\r\nimport { ResponseConfig, R } from \"@maketribe/request\";\r\nimport { DATA_MODEL_NAME } from \"../../../../../constants\";\r\nimport { MODULE_NAME } from \"../../../constants\";\r\n\r\nexport type MsMaterialGroupNode = MsMaterialGroup & {\r\n children: MsMaterialGroupNode[];\r\n};\r\n\r\nexport class MsMaterialGroupTree extends DataTree<MsMaterialGroupNode> {\r\n static [DATA_MODEL_NAME]: string = \"mk-material-group\";\r\n\r\n currentDataTreeNode: DataTreeNode<MsMaterialGroupNode> | null;\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: MsMaterialGroupTree[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n props: { label: \"desc\", parent: \"parentGroupId\" },\r\n ...options,\r\n });\r\n\r\n this.currentDataTreeNode = null;\r\n }\r\n\r\n formatItem(item: MsMaterialGroupNode): MsMaterialGroupNode {\r\n item.children = item.children ?? [];\r\n\r\n return item;\r\n }\r\n\r\n load(\r\n params?: Record<string, any>\r\n ): Promise<\r\n ResponseConfig<R<MsMaterialGroupNode[]> & { totalRecCount: string }>\r\n > {\r\n return this.loadAll(params);\r\n }\r\n\r\n getCurrentNode() {\r\n if (this.currentDataTreeNode) {\r\n return this.currentDataTreeNode;\r\n }\r\n\r\n const getFirstNode = (\r\n nodes: DataTreeNode<MsMaterialGroupNode>[]\r\n ): DataTreeNode<MsMaterialGroupNode> | null => {\r\n const node = nodes[0];\r\n\r\n if (node.children.length) {\r\n return getFirstNode(node.children);\r\n }\r\n\r\n return node;\r\n };\r\n\r\n if (this.rootNodes.length === 0) {\r\n return null;\r\n }\r\n\r\n return (this.currentDataTreeNode = getFirstNode(this.rootNodes));\r\n }\r\n\r\n setCurrentNode(node: DataTreeNode<MsMaterialGroupNode> | null) {\r\n this.currentDataTreeNode = node;\r\n }\r\n}\r\n"],"names":["DataTree","DATA_MODEL_NAME","MODULE_NAME"],"mappings":";;;;;;;;;AAUO,MAAM,uBAAN,MAAM,8BAA4BA,QAAAA,UAC/BC,eAAAA,iBAD+BD,IAA8B;AAAA,EAKrE,YAAY,UAA4B,IAAI;AACpC,UAAA;AAAA,MACJ,MAAM,qBAAoBC,yBAAe;AAAA,MACzC,YAAYC,MAAA;AAAA,MACZ,OAAO,EAAE,OAAO,QAAQ,QAAQ,gBAAgB;AAAA,MAChD,GAAG;AAAA,IAAA,CACJ;AARH;AAUE,SAAK,sBAAsB;AAAA,EAC7B;AAAA,EAEA,WAAW,MAAgD;AACpD,SAAA,WAAW,KAAK,YAAY,CAAA;AAE1B,WAAA;AAAA,EACT;AAAA,EAEA,KACE,QAGA;AACO,WAAA,KAAK,QAAQ,MAAM;AAAA,EAC5B;AAAA,EAEA,iBAAiB;AACf,QAAI,KAAK,qBAAqB;AAC5B,aAAO,KAAK;AAAA,IACd;AAEM,UAAA,eAAe,CACnB,UAC6C;AACvC,YAAA,OAAO,MAAM,CAAC;AAEhB,UAAA,KAAK,SAAS,QAAQ;AACjB,eAAA,aAAa,KAAK,QAAQ;AAAA,MACnC;AAEO,aAAA;AAAA,IAAA;AAGL,QAAA,KAAK,UAAU,WAAW,GAAG;AACxB,aAAA;AAAA,IACT;AAEA,WAAQ,KAAK,sBAAsB,aAAa,KAAK,SAAS;AAAA,EAChE;AAAA,EAEA,eAAe,MAAgD;AAC7D,SAAK,sBAAsB;AAAA,EAC7B;AACF;AAxDE,cADW,sBACHD,IAA2B;AAD9B,IAAM,sBAAN;;"}
1
+ {"version":3,"file":"MsMaterialGroupTree.js","sources":["../../../../../../../src/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.ts"],"sourcesContent":["import { DataTableOptions, DataTree, DataTreeNode } from \"@maketribe/dm\";\nimport { MsMaterialGroup } from \"./MsMaterialGroupForm\";\nimport { ResponseConfig, R } from \"@maketribe/request\";\nimport { DATA_MODEL_NAME } from \"../../../../../constants\";\nimport { MODULE_NAME } from \"../../../constants\";\n\nexport type MsMaterialGroupNode = MsMaterialGroup & {\n children: MsMaterialGroupNode[];\n};\n\nexport class MsMaterialGroupTree extends DataTree<MsMaterialGroupNode> {\n static [DATA_MODEL_NAME]: string = \"mk-material-group\";\n\n currentDataTreeNode: DataTreeNode<MsMaterialGroupNode> | null;\n\n constructor(options: DataTableOptions = {}) {\n super({\n name: MsMaterialGroupTree[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n props: { label: \"desc\", parent: \"parentGroupId\" },\n ...options,\n });\n\n this.currentDataTreeNode = null;\n }\n\n formatItem(item: MsMaterialGroupNode): MsMaterialGroupNode {\n item.children = item.children ?? [];\n\n return item;\n }\n\n load(\n params?: Record<string, any>\n ): Promise<\n ResponseConfig<R<MsMaterialGroupNode[]> & { totalRecCount: string }>\n > {\n return this.loadAll(params);\n }\n\n public nodeHasChildren(node: DataTreeNode<MsMaterialGroupNode>): boolean {\n return node.children.length > 0;\n }\n\n getCurrentNode() {\n if (this.currentDataTreeNode) {\n return this.currentDataTreeNode;\n }\n\n const getFirstNode = (\n nodes: DataTreeNode<MsMaterialGroupNode>[]\n ): DataTreeNode<MsMaterialGroupNode> | null => {\n const node = nodes[0];\n\n if (node.children.length) {\n return getFirstNode(node.children);\n }\n\n return node;\n };\n\n if (this.rootNodes.length === 0) {\n return null;\n }\n\n return (this.currentDataTreeNode = getFirstNode(this.rootNodes));\n }\n\n setCurrentNode(node: DataTreeNode<MsMaterialGroupNode> | null) {\n this.currentDataTreeNode = node;\n }\n}\n"],"names":["DataTree","DATA_MODEL_NAME","MODULE_NAME"],"mappings":";;;;;;;;;AAUO,MAAM,uBAAN,MAAM,8BAA4BA,QAAAA,UAC/BC,eAAAA,iBAD+BD,IAA8B;AAAA,EAKrE,YAAY,UAA4B,IAAI;AACpC,UAAA;AAAA,MACJ,MAAM,qBAAoBC,yBAAe;AAAA,MACzC,YAAYC,MAAA;AAAA,MACZ,OAAO,EAAE,OAAO,QAAQ,QAAQ,gBAAgB;AAAA,MAChD,GAAG;AAAA,IAAA,CACJ;AARH;AAUE,SAAK,sBAAsB;AAAA,EAC7B;AAAA,EAEA,WAAW,MAAgD;AACpD,SAAA,WAAW,KAAK,YAAY,CAAA;AAE1B,WAAA;AAAA,EACT;AAAA,EAEA,KACE,QAGA;AACO,WAAA,KAAK,QAAQ,MAAM;AAAA,EAC5B;AAAA,EAEO,gBAAgB,MAAkD;AAChE,WAAA,KAAK,SAAS,SAAS;AAAA,EAChC;AAAA,EAEA,iBAAiB;AACf,QAAI,KAAK,qBAAqB;AAC5B,aAAO,KAAK;AAAA,IACd;AAEM,UAAA,eAAe,CACnB,UAC6C;AACvC,YAAA,OAAO,MAAM,CAAC;AAEhB,UAAA,KAAK,SAAS,QAAQ;AACjB,eAAA,aAAa,KAAK,QAAQ;AAAA,MACnC;AAEO,aAAA;AAAA,IAAA;AAGL,QAAA,KAAK,UAAU,WAAW,GAAG;AACxB,aAAA;AAAA,IACT;AAEA,WAAQ,KAAK,sBAAsB,aAAa,KAAK,SAAS;AAAA,EAChE;AAAA,EAEA,eAAe,MAAgD;AAC7D,SAAK,sBAAsB;AAAA,EAC7B;AACF;AA5DE,cADW,sBACHD,IAA2B;AAD9B,IAAM,sBAAN;;"}
@@ -69,7 +69,6 @@ const _MsMemberRoleTable = class _MsMemberRoleTable extends (_b = dm.DataTable,
69
69
  this.dataFilter.afterReadyEvent.on(() => {
70
70
  this.memberTable.dataFilter.setReady();
71
71
  });
72
- window.memberRoleTable = this;
73
72
  this.memberTable.header.rightArea = [new dm.RefreshButton()];
74
73
  const rolesColumn = this.memberTable.getColumn("roles");
75
74
  if (rolesColumn) {
@@ -1 +1 @@
1
- {"version":3,"file":"MsMemberRoleTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-member-role/MsMemberRoleTable.ts"],"sourcesContent":["import {\n AddButton,\n DataFormOptions,\n DataTable,\n DeleteButton,\n RefreshButton,\n TableActionColumn,\n TableColumn,\n} from \"@maketribe/dm\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\nimport { MsMember, MsMemberTable } from \"../ms-member\";\nimport { CancelToken, R } from \"@maketribe/request\";\nimport { MsRole } from \"../ms-role\";\n\nexport type MsMemberRole = {\n id: string;\n memberId: string;\n roleId: string;\n member: Omit<MsMember, \"roles\">;\n};\n\nexport class MsMemberRoleTable extends DataTable<MsMemberRole> {\n static [DATA_MODEL_NAME]: string = \"ms-member-role\";\n\n memberTable: MsMemberTable;\n\n currentRole: MsRole | null = null;\n\n constructor(options: DataFormOptions = {}) {\n super({\n name: MsMemberRoleTable[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n\n const memberRoleTable = this;\n\n this.memberTable = this.register(\n new (class extends MsMemberTable {\n protected async loadRequest(params: Record<string, any>) {\n const response = await this.dataViewRequest.callDVRequest<\n R<MsMember[]> & { totalRecCount: string }\n >({\n action: \"non-role-member-page-list\",\n name: \"ms-member-role\",\n data: {\n pn: this.currentPage,\n pc: this.pageSize,\n roleId: memberRoleTable.currentRole?.id!,\n },\n cancelToken: new CancelToken((cancel) => {\n this.loadCancel = cancel;\n }),\n });\n\n this.loadCancel = null;\n\n return response;\n }\n })()\n );\n }\n\n setCurrentRole(role: MsRole | null) {\n const oldRole = this.currentRole;\n\n this.currentRole = role;\n this.memberTable.setList([]);\n\n if (!role) {\n this.setList([]);\n return;\n }\n\n this.useCondition((group) => {\n group.clear();\n\n group.addCondition(\"roleId\", \"=\", role.id);\n });\n\n if (oldRole) {\n this.load();\n }\n }\n\n protected async initialize() {\n await super.initialize();\n\n await this.memberTable.init();\n\n this.dataFilter.afterReadyEvent.on(() => {\n this.memberTable.dataFilter.setReady();\n });\n\n (window as any).memberRoleTable = this;\n\n this.memberTable.header.rightArea = [new RefreshButton()];\n\n const rolesColumn = this.memberTable.getColumn(\"roles\");\n if (rolesColumn) {\n rolesColumn.visible = false;\n }\n\n this.header.rightArea = [new RefreshButton(), new AddButton()];\n\n this.setColumns([\n new TableColumn({ name: \"member.nickName\", label: \"名称\" }),\n new TableActionColumn({\n buttons: [new DeleteButton()],\n }),\n ]);\n }\n}\n"],"names":["DataTable","DATA_MODEL_NAME","MODULE_NAME","MsMemberTable","_a","CancelToken","RefreshButton","AddButton","TableColumn","TableActionColumn","DeleteButton"],"mappings":";;;;;;;;;;;;;;;;;AAsBO,MAAM,qBAAN,MAAM,4BAA0BA,QAAAA,WAC7BC,eAAAA,iBAD6BD,IAAwB;AAAA,EAO7D,YAAY,UAA2B,IAAI;AACnC,UAAA;AAAA,MACJ,MAAM,mBAAkBC,yBAAe;AAAA,MACvC,YAAYC,MAAA;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AATH;AAEA,uCAA6B;AAS3B,UAAM,kBAAkB;AAExB,SAAK,cAAc,KAAK;AAAA,MACtB,IAAK,cAAcC,cAAAA,cAAc;AAAA,QAC/B,MAAgB,YAAY,QAA6B;;AACvD,gBAAM,WAAW,MAAM,KAAK,gBAAgB,cAE1C;AAAA,YACA,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,MAAM;AAAA,cACJ,IAAI,KAAK;AAAA,cACT,IAAI,KAAK;AAAA,cACT,SAAQC,MAAA,gBAAgB,gBAAhB,gBAAAA,IAA6B;AAAA,YACvC;AAAA,YACA,aAAa,IAAIC,oBAAY,CAAC,WAAW;AACvC,mBAAK,aAAa;AAAA,YAAA,CACnB;AAAA,UAAA,CACF;AAED,eAAK,aAAa;AAEX,iBAAA;AAAA,QACT;AAAA,MAAA,EACC;AAAA,IAAA;AAAA,EAEP;AAAA,EAEA,eAAe,MAAqB;AAClC,UAAM,UAAU,KAAK;AAErB,SAAK,cAAc;AACd,SAAA,YAAY,QAAQ,CAAA,CAAE;AAE3B,QAAI,CAAC,MAAM;AACJ,WAAA,QAAQ,CAAA,CAAE;AACf;AAAA,IACF;AAEK,SAAA,aAAa,CAAC,UAAU;AAC3B,YAAM,MAAM;AAEZ,YAAM,aAAa,UAAU,KAAK,KAAK,EAAE;AAAA,IAAA,CAC1C;AAED,QAAI,SAAS;AACX,WAAK,KAAK;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEN,UAAA,KAAK,YAAY;AAElB,SAAA,WAAW,gBAAgB,GAAG,MAAM;AAClC,WAAA,YAAY,WAAW;IAAS,CACtC;AAEA,WAAe,kBAAkB;AAElC,SAAK,YAAY,OAAO,YAAY,CAAC,IAAIC,kBAAe;AAExD,UAAM,cAAc,KAAK,YAAY,UAAU,OAAO;AACtD,QAAI,aAAa;AACf,kBAAY,UAAU;AAAA,IACxB;AAEK,SAAA,OAAO,YAAY,CAAC,IAAIA,GAAAA,iBAAiB,IAAIC,cAAW;AAE7D,SAAK,WAAW;AAAA,MACd,IAAIC,GAAAA,YAAY,EAAE,MAAM,mBAAmB,OAAO,MAAM;AAAA,MACxD,IAAIC,qBAAkB;AAAA,QACpB,SAAS,CAAC,IAAIC,GAAAA,cAAc;AAAA,MAAA,CAC7B;AAAA,IAAA,CACF;AAAA,EACH;AACF;AA1FE,cADW,oBACHT,IAA2B;AAD9B,IAAM,oBAAN;;"}
1
+ {"version":3,"file":"MsMemberRoleTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-member-role/MsMemberRoleTable.ts"],"sourcesContent":["import {\n AddButton,\n DataFormOptions,\n DataTable,\n DeleteButton,\n RefreshButton,\n TableActionColumn,\n TableColumn,\n} from \"@maketribe/dm\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\nimport { MsMember, MsMemberTable } from \"../ms-member\";\nimport { CancelToken, R } from \"@maketribe/request\";\nimport { MsRole } from \"../ms-role\";\n\nexport type MsMemberRole = {\n id: string;\n memberId: string;\n roleId: string;\n member: Omit<MsMember, \"roles\">;\n};\n\nexport class MsMemberRoleTable extends DataTable<MsMemberRole> {\n static [DATA_MODEL_NAME]: string = \"ms-member-role\";\n\n memberTable: MsMemberTable;\n\n currentRole: MsRole | null = null;\n\n constructor(options: DataFormOptions = {}) {\n super({\n name: MsMemberRoleTable[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n\n const memberRoleTable = this;\n\n this.memberTable = this.register(\n new (class extends MsMemberTable {\n protected async loadRequest(params: Record<string, any>) {\n const response = await this.dataViewRequest.callDVRequest<\n R<MsMember[]> & { totalRecCount: string }\n >({\n action: \"non-role-member-page-list\",\n name: \"ms-member-role\",\n data: {\n pn: this.currentPage,\n pc: this.pageSize,\n roleId: memberRoleTable.currentRole?.id!,\n },\n cancelToken: new CancelToken((cancel) => {\n this.loadCancel = cancel;\n }),\n });\n\n this.loadCancel = null;\n\n return response;\n }\n })()\n );\n }\n\n setCurrentRole(role: MsRole | null) {\n const oldRole = this.currentRole;\n\n this.currentRole = role;\n this.memberTable.setList([]);\n\n if (!role) {\n this.setList([]);\n return;\n }\n\n this.useCondition((group) => {\n group.clear();\n\n group.addCondition(\"roleId\", \"=\", role.id);\n });\n\n if (oldRole) {\n this.load();\n }\n }\n\n protected async initialize() {\n await super.initialize();\n\n await this.memberTable.init();\n\n this.dataFilter.afterReadyEvent.on(() => {\n this.memberTable.dataFilter.setReady();\n });\n\n this.memberTable.header.rightArea = [new RefreshButton()];\n\n const rolesColumn = this.memberTable.getColumn(\"roles\");\n if (rolesColumn) {\n rolesColumn.visible = false;\n }\n\n this.header.rightArea = [new RefreshButton(), new AddButton()];\n\n this.setColumns([\n new TableColumn({ name: \"member.nickName\", label: \"名称\" }),\n new TableActionColumn({\n buttons: [new DeleteButton()],\n }),\n ]);\n }\n}\n"],"names":["DataTable","DATA_MODEL_NAME","MODULE_NAME","MsMemberTable","_a","CancelToken","RefreshButton","AddButton","TableColumn","TableActionColumn","DeleteButton"],"mappings":";;;;;;;;;;;;;;;;;AAsBO,MAAM,qBAAN,MAAM,4BAA0BA,QAAAA,WAC7BC,eAAAA,iBAD6BD,IAAwB;AAAA,EAO7D,YAAY,UAA2B,IAAI;AACnC,UAAA;AAAA,MACJ,MAAM,mBAAkBC,yBAAe;AAAA,MACvC,YAAYC,MAAA;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AATH;AAEA,uCAA6B;AAS3B,UAAM,kBAAkB;AAExB,SAAK,cAAc,KAAK;AAAA,MACtB,IAAK,cAAcC,cAAAA,cAAc;AAAA,QAC/B,MAAgB,YAAY,QAA6B;;AACvD,gBAAM,WAAW,MAAM,KAAK,gBAAgB,cAE1C;AAAA,YACA,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,MAAM;AAAA,cACJ,IAAI,KAAK;AAAA,cACT,IAAI,KAAK;AAAA,cACT,SAAQC,MAAA,gBAAgB,gBAAhB,gBAAAA,IAA6B;AAAA,YACvC;AAAA,YACA,aAAa,IAAIC,oBAAY,CAAC,WAAW;AACvC,mBAAK,aAAa;AAAA,YAAA,CACnB;AAAA,UAAA,CACF;AAED,eAAK,aAAa;AAEX,iBAAA;AAAA,QACT;AAAA,MAAA,EACC;AAAA,IAAA;AAAA,EAEP;AAAA,EAEA,eAAe,MAAqB;AAClC,UAAM,UAAU,KAAK;AAErB,SAAK,cAAc;AACd,SAAA,YAAY,QAAQ,CAAA,CAAE;AAE3B,QAAI,CAAC,MAAM;AACJ,WAAA,QAAQ,CAAA,CAAE;AACf;AAAA,IACF;AAEK,SAAA,aAAa,CAAC,UAAU;AAC3B,YAAM,MAAM;AAEZ,YAAM,aAAa,UAAU,KAAK,KAAK,EAAE;AAAA,IAAA,CAC1C;AAED,QAAI,SAAS;AACX,WAAK,KAAK;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEN,UAAA,KAAK,YAAY;AAElB,SAAA,WAAW,gBAAgB,GAAG,MAAM;AAClC,WAAA,YAAY,WAAW;IAAS,CACtC;AAED,SAAK,YAAY,OAAO,YAAY,CAAC,IAAIC,kBAAe;AAExD,UAAM,cAAc,KAAK,YAAY,UAAU,OAAO;AACtD,QAAI,aAAa;AACf,kBAAY,UAAU;AAAA,IACxB;AAEK,SAAA,OAAO,YAAY,CAAC,IAAIA,GAAAA,iBAAiB,IAAIC,cAAW;AAE7D,SAAK,WAAW;AAAA,MACd,IAAIC,GAAAA,YAAY,EAAE,MAAM,mBAAmB,OAAO,MAAM;AAAA,MACxD,IAAIC,qBAAkB;AAAA,QACpB,SAAS,CAAC,IAAIC,GAAAA,cAAc;AAAA,MAAA,CAC7B;AAAA,IAAA,CACF;AAAA,EACH;AACF;AAxFE,cADW,oBACHT,IAA2B;AAD9B,IAAM,oBAAN;;"}
@@ -27,9 +27,7 @@ class RolePermissionConfigTable extends MsMenuTable.MsMenuTable {
27
27
  __publicField(this, "currentRoleId", "");
28
28
  __publicField(this, "currentRoleDesc", "");
29
29
  this.roleRouteTable = new MsRoleRouteTable.MsRoleRouteTable();
30
- this.roleRouteTable.dataFilter.setReady();
31
30
  this.rolePermissionPointTable = new MsRolePermissionPointTable.MsRolePermissionPointTable();
32
- this.rolePermissionPointTable.dataFilter.setReady();
33
31
  this.roleRouteConditionGroup = new request.Group();
34
32
  this.rolePermissionPointConditionGroup = new request.Group();
35
33
  this.roleRouteTable.useCondition((defaultGroup) => {
@@ -49,17 +47,15 @@ class RolePermissionConfigTable extends MsMenuTable.MsMenuTable {
49
47
  }({
50
48
  interfaceURL: { list: "/ms/dv/ms-permission-point-def/allList" }
51
49
  });
52
- permissionPointDefineTable.dataFilter.setReady();
53
50
  this.permissionPointDefineTable = permissionPointDefineTable;
54
51
  const routeDefineTable = new MsRouteTable.MsRouteTable({
55
52
  interfaceURL: { list: "/ms/dv/ms-route/allList" }
56
53
  });
57
- routeDefineTable.dataFilter.setReady();
58
54
  this.routeDefineTable = routeDefineTable;
59
- this.dataFilter.setReady();
60
55
  }
61
56
  async initialize() {
62
57
  await super.initialize();
58
+ window.aaaa = this;
63
59
  [
64
60
  this.roleRouteTable.getLoadingManager(),
65
61
  this.rolePermissionPointTable.getLoadingManager(),
@@ -72,7 +68,13 @@ class RolePermissionConfigTable extends MsMenuTable.MsMenuTable {
72
68
  await this.rolePermissionPointTable.init();
73
69
  await this.permissionPointDefineTable.init();
74
70
  await this.routeDefineTable.init();
75
- await super.init();
71
+ this.dataFilter.afterReadyEvent.on(() => {
72
+ this.roleRouteTable.dataFilter.setReady();
73
+ this.rolePermissionPointTable.dataFilter.setReady();
74
+ this.permissionPointDefineTable.dataFilter.setReady();
75
+ this.routeDefineTable.dataFilter.setReady();
76
+ });
77
+ this.dataFilter.setReady();
76
78
  }
77
79
  formatItem(item) {
78
80
  const permissionPointDefines = this.permissionPointDefineTable.getList();
@@ -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 this.roleRouteTable.dataFilter.setReady();\n\n this.rolePermissionPointTable = new MsRolePermissionPointTable();\n this.rolePermissionPointTable.dataFilter.setReady();\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 permissionPointDefineTable.dataFilter.setReady();\n this.permissionPointDefineTable = permissionPointDefineTable;\n\n const routeDefineTable = new MsRouteTable({\n interfaceURL: { list: \"/ms/dv/ms-route/allList\" },\n });\n routeDefineTable.dataFilter.setReady();\n this.routeDefineTable = routeDefineTable;\n\n this.dataFilter.setReady();\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 await super.init();\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 (window as any).aaaa = this;\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 // await super.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 +1 @@
1
- {"version":3,"file":"normal.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/normal.vue"],"sourcesContent":["<template>\n <MKPageContainer v-if=\"dataTable\" v-show=\"!isShowDataForm\">\n <MKDataTable :data-table=\"dataTable\" enableQueryParams/>\n </MKPageContainer>\n <MKPageContainer v-if=\"dataForm\" v-show=\"isShowDataForm\">\n <MKDataForm :data-form=\"dataForm\" KDataForm />\n </MKPageContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport { unref, computed, watch, ref, Ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { DataForm, DataTable } from \"@maketribe/dm\";\nimport {\n MKDataTable,\n MKDataForm,\n MKPageContainer,\n} from \"../../../../../../components\";\nimport { DataModelDefines } from \"../../../../../../core\";\nimport { useSingleView } from \"../../../../../../composables\";\n\nconst router = useRouter();\n\nconst dataTable: Ref<DataTable | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nwatch(\n computed(() => unref(router.currentRoute).meta.name as string),\n (name) => {\n dataTable.value = DataModelDefines.instance.getDataTable(name);\n dataForm.value = DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nconst { isShowDataForm } = useSingleView({ dataTable, dataForm });\n</script>\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleView"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,UAAM,SAASA,UAAAA;AAET,UAAA,YAAmCC,QAAI,IAAI;AAC3C,UAAA,WAAiCA,QAAI,IAAI;AAE/CC,QAAA;AAAA,MACEC,aAAS,MAAMC,IAAAA,MAAM,OAAO,YAAY,EAAE,KAAK,IAAc;AAAA,MAC7D,CAAC,SAAS;AACR,kBAAU,QAAQC,iBAAA,iBAAiB,SAAS,aAAa,IAAI;AAC7D,iBAAS,QAAQA,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAAA,MAC7D;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGpB,UAAM,EAAE,eAAe,IAAIC,cAAAA,cAAc,EAAE,WAAW,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"normal.vue2.js","sources":["../../../../../../../../src/page/index/dv/default/single/list/normal.vue"],"sourcesContent":["<template>\n <MKPageContainer v-if=\"dataTable\" v-show=\"!isShowDataForm\">\n <MKDataTable :data-table=\"dataTable\" enableQueryParams />\n </MKPageContainer>\n <MKPageContainer v-if=\"dataForm\" v-show=\"isShowDataForm\">\n <MKDataForm :data-form=\"dataForm\" KDataForm />\n </MKPageContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport { unref, computed, watch, ref, Ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { DataForm, DataTable } from \"@maketribe/dm\";\nimport {\n MKDataTable,\n MKDataForm,\n MKPageContainer,\n} from \"../../../../../../components\";\nimport { DataModelDefines } from \"../../../../../../core\";\nimport { useSingleView } from \"../../../../../../composables\";\n\nconst router = useRouter();\n\nconst dataTable: Ref<DataTable | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nwatch(\n computed(() => unref(router.currentRoute).meta.name as string),\n (name) => {\n dataTable.value = DataModelDefines.instance.getDataTable(name);\n dataForm.value = DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nconst { isShowDataForm } = useSingleView({ dataTable, dataForm });\n</script>\n"],"names":["useRouter","ref","watch","computed","unref","DataModelDefines","useSingleView"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,UAAM,SAASA,UAAAA;AAET,UAAA,YAAmCC,QAAI,IAAI;AAC3C,UAAA,WAAiCA,QAAI,IAAI;AAE/CC,QAAA;AAAA,MACEC,aAAS,MAAMC,IAAAA,MAAM,OAAO,YAAY,EAAE,KAAK,IAAc;AAAA,MAC7D,CAAC,SAAS;AACR,kBAAU,QAAQC,iBAAA,iBAAiB,SAAS,aAAa,IAAI;AAC7D,iBAAS,QAAQA,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAAA,MAC7D;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGpB,UAAM,EAAE,eAAe,IAAIC,cAAAA,cAAc,EAAE,WAAW,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -33,7 +33,9 @@ function convertImageElement(domNode) {
33
33
  domNode.getAttribute("alt");
34
34
  domNode.getAttribute("style");
35
35
  domNode.getAttribute("width");
36
- return domNode.tagName == "img" && src != null ? { node: $createImageNode(src) } : null;
36
+ return domNode.tagName.toLowerCase() == "img" && src != null ? {
37
+ node: $createImageNode(src)
38
+ } : null;
37
39
  }
38
40
  class ImageNode extends DecoratorBlockNode {
39
41
  constructor(src, format, key) {
@@ -61,18 +63,18 @@ class ImageNode extends DecoratorBlockNode {
61
63
  };
62
64
  }
63
65
  exportDOM() {
64
- const element = document.createElement("Image");
66
+ const element = document.createElement("img");
65
67
  element.setAttribute("src", this.__src);
66
68
  element.setAttribute("width", "560");
67
- element.setAttribute("height", "315");
69
+ element.setAttribute("height", "auto");
68
70
  return { element };
69
71
  }
70
72
  static importDOM() {
71
73
  return {
72
- iframe: (domNode) => {
73
- return domNode.tagName != "Image" ? null : {
74
+ img: (domNode) => {
75
+ return domNode.tagName.toLowerCase() != "img" ? null : {
74
76
  conversion: convertImageElement,
75
- priority: 1
77
+ priority: 0
76
78
  };
77
79
  }
78
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ImageNode.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.ts"],"sourcesContent":["import type {\r\n DOMConversionMap,\r\n DOMConversionOutput,\r\n DOMExportOutput,\r\n EditorConfig,\r\n ElementFormatType,\r\n LexicalEditor,\r\n LexicalNode,\r\n NodeKey,\r\n Spread,\r\n} from 'lexical'\r\n\r\nimport type { SerializedDecoratorBlockNode } from '../../lexical-vue'\r\nimport DocImageComponent from './DocImageComponent'\r\nimport { DecoratorBlockNode } from '../../lexical-vue'\r\n\r\nimport type { Component } from 'vue'\r\nimport { h } from 'vue'\r\n\r\n/**\r\n * 图片节点序列化\r\n */\r\nexport type SerializedImageNode = Spread<\r\n {\r\n src: string\r\n },\r\n SerializedDecoratorBlockNode\r\n>\r\n\r\n/**\r\n * 转成图片节点\r\n * @param domNode \r\n * @returns \r\n */\r\nfunction convertImageElement(\r\n domNode: HTMLElement,\r\n): null | DOMConversionOutput {\r\n\r\n const className = domNode.getAttribute('class');\r\n const src = domNode.getAttribute('src');\r\n const alt = domNode.getAttribute('alt');\r\n const style = domNode.getAttribute('style');\r\n const width = domNode.getAttribute('width');\r\n \r\n return domNode.tagName == \"img\" && src != null ? { node:$createImageNode(src) } : null;\r\n}\r\n\r\n/**\r\n * 定义图片节点\r\n */\r\nexport class ImageNode extends DecoratorBlockNode {\r\n __src: string\r\n\r\n static getType(): string {\r\n return 'Image'\r\n }\r\n\r\n static clone(node: ImageNode): ImageNode {\r\n return new ImageNode(node.__src, node.__format, node.__key)\r\n }\r\n\r\n static importJSON(serializedNode: SerializedImageNode): ImageNode {\r\n const node = $createImageNode(serializedNode.src)\r\n node.setFormat(serializedNode.format)\r\n return node\r\n }\r\n\r\n constructor(src: string, format?: ElementFormatType, key?: NodeKey) {\r\n super(format, key)\r\n this.__src = src\r\n }\r\n\r\n exportJSON(): SerializedImageNode {\r\n return {\r\n ...super.exportJSON(),\r\n type: 'Image',\r\n version: 1,\r\n src: this.__src,\r\n }\r\n }\r\n\r\n exportDOM(): DOMExportOutput {\r\n const element = document.createElement('Image')\r\n element.setAttribute('src', this.__src)\r\n element.setAttribute('width', '560')\r\n element.setAttribute('height', '315')\r\n \r\n return { element }\r\n }\r\n\r\n static importDOM(): DOMConversionMap | null {\r\n return {\r\n iframe: (domNode: HTMLElement) => {\r\n return domNode.tagName != \"Image\" ? null : {\r\n conversion: convertImageElement,\r\n priority: 1,\r\n }\r\n },\r\n }\r\n }\r\n\r\n updateDOM(): false {\r\n return false\r\n }\r\n\r\n getTextContent(\r\n _includeInert?: boolean | undefined,\r\n _includeDirectionless?: false | undefined,\r\n ): string {\r\n return this.__src\r\n }\r\n\r\n decorate(_editor: LexicalEditor, config: EditorConfig): Component {\r\n const embedBlockTheme = config.theme.embedBlock || {}\r\n return h(DocImageComponent, {\r\n baseClass: embedBlockTheme.base || '',\r\n focusClass: embedBlockTheme.focus || '',\r\n format: this.__format,\r\n nodeKey: this.getKey(),\r\n src: this.__src,\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * 创建图片节点\r\n * @param src \r\n * @returns \r\n */\r\nexport function $createImageNode(src: string): ImageNode {\r\n return new ImageNode(src)\r\n}\r\n\r\n/**\r\n * 判断是否是图片节点\r\n * @param node \r\n * @returns \r\n */\r\nexport function $isImageNode(\r\n node: ImageNode | LexicalNode | null | undefined,\r\n): node is ImageNode {\r\n return node instanceof ImageNode\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,SAAS,oBACP,SAC4B;AAEV,UAAQ,aAAa,OAAO;AACxC,QAAA,MAAM,QAAQ,aAAa,KAAK;AAC1B,UAAQ,aAAa,KAAK;AACxB,UAAQ,aAAa,OAAO;AAC5B,UAAQ,aAAa,OAAO;AAEnC,SAAA,QAAQ,WAAW,SAAS,OAAO,OAAQ,EAAE,MAAK,iBAAiB,GAAG,EAAA,IAAM;AACrF;AAKO,MAAM,kBAAkB,mBAAmB;AAAA,EAiBhD,YAAY,KAAa,QAA4B,KAAe;AAClE,UAAM,QAAQ,GAAG;AAjBnB;AAkBE,SAAK,QAAQ;AAAA,EACf;AAAA,EAjBA,OAAO,UAAkB;AAChB,WAAA;AAAA,EACT;AAAA,EAEA,OAAO,MAAM,MAA4B;AACvC,WAAO,IAAI,UAAU,KAAK,OAAO,KAAK,UAAU,KAAK,KAAK;AAAA,EAC5D;AAAA,EAEA,OAAO,WAAW,gBAAgD;AAC1D,UAAA,OAAO,iBAAiB,eAAe,GAAG;AAC3C,SAAA,UAAU,eAAe,MAAM;AAC7B,WAAA;AAAA,EACT;AAAA,EAOA,aAAkC;AACzB,WAAA;AAAA,MACL,GAAG,MAAM,WAAW;AAAA,MACpB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,KAAK,KAAK;AAAA,IAAA;AAAA,EAEd;AAAA,EAEA,YAA6B;AACrB,UAAA,UAAU,SAAS,cAAc,OAAO;AACtC,YAAA,aAAa,OAAO,KAAK,KAAK;AAC9B,YAAA,aAAa,SAAS,KAAK;AAC3B,YAAA,aAAa,UAAU,KAAK;AAEpC,WAAO,EAAE,QAAQ;AAAA,EACnB;AAAA,EAEA,OAAO,YAAqC;AACnC,WAAA;AAAA,MACL,QAAQ,CAAC,YAAyB;AACzB,eAAA,QAAQ,WAAW,UAAU,OAAO;AAAA,UACzC,YAAY;AAAA,UACZ,UAAU;AAAA,QAAA;AAAA,MAEd;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,YAAmB;AACV,WAAA;AAAA,EACT;AAAA,EAEA,eACE,eACA,uBACQ;AACR,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,SAAS,SAAwB,QAAiC;AAChE,UAAM,kBAAkB,OAAO,MAAM,cAAc,CAAA;AACnD,WAAO,EAAE,mBAAmB;AAAA,MAC1B,WAAW,gBAAgB,QAAQ;AAAA,MACnC,YAAY,gBAAgB,SAAS;AAAA,MACrC,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK,OAAO;AAAA,MACrB,KAAK,KAAK;AAAA,IAAA,CACX;AAAA,EACH;AACF;AAOO,SAAS,iBAAiB,KAAwB;AAChD,SAAA,IAAI,UAAU,GAAG;AAC1B;"}
1
+ {"version":3,"file":"ImageNode.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.ts"],"sourcesContent":["import type {\r\n DOMConversionMap,\r\n DOMConversionOutput,\r\n DOMExportOutput,\r\n EditorConfig,\r\n ElementFormatType,\r\n LexicalEditor,\r\n LexicalNode,\r\n NodeKey,\r\n Spread,\r\n} from 'lexical'\r\n\r\nimport type { SerializedDecoratorBlockNode } from '../../lexical-vue'\r\nimport DocImageComponent from './DocImageComponent'\r\nimport { DecoratorBlockNode } from '../../lexical-vue'\r\n\r\nimport type { Component } from 'vue'\r\nimport { h } from 'vue'\r\n\r\n/**\r\n * 图片节点序列化\r\n */\r\nexport type SerializedImageNode = Spread<\r\n {\r\n src: string\r\n },\r\n SerializedDecoratorBlockNode\r\n>\r\n\r\n/**\r\n * 转成图片节点\r\n * @param domNode \r\n * @returns \r\n */\r\nfunction convertImageElement(\r\n domNode: HTMLElement,\r\n): null | DOMConversionOutput {\r\n\r\n const className = domNode.getAttribute('class');\r\n const src = domNode.getAttribute('src');\r\n const alt = domNode.getAttribute('alt');\r\n const style = domNode.getAttribute('style');\r\n const width = domNode.getAttribute('width');\r\n\r\n return domNode.tagName.toLowerCase() == \"img\" && src != null ? { \r\n node:$createImageNode(src) \r\n } : null;\r\n}\r\n\r\n/**\r\n * 定义图片节点\r\n */\r\nexport class ImageNode extends DecoratorBlockNode {\r\n __src: string\r\n\r\n static getType(): string {\r\n return 'Image'\r\n }\r\n\r\n static clone(node: ImageNode): ImageNode {\r\n return new ImageNode(node.__src, node.__format, node.__key)\r\n }\r\n\r\n static importJSON(serializedNode: SerializedImageNode): ImageNode {\r\n const node = $createImageNode(serializedNode.src)\r\n node.setFormat(serializedNode.format)\r\n return node\r\n }\r\n\r\n constructor(src: string, format?: ElementFormatType, key?: NodeKey) {\r\n super(format, key)\r\n this.__src = src\r\n }\r\n\r\n exportJSON(): SerializedImageNode {\r\n return {\r\n ...super.exportJSON(),\r\n type: 'Image',\r\n version: 1,\r\n src: this.__src,\r\n }\r\n }\r\n\r\n exportDOM(): DOMExportOutput {\r\n const element = document.createElement('img')\r\n element.setAttribute('src', this.__src)\r\n element.setAttribute('width', '560')\r\n element.setAttribute('height', 'auto')\r\n \r\n return { element }\r\n }\r\n\r\n static importDOM(): DOMConversionMap | null {\r\n return {\r\n img: (domNode: HTMLElement) => {\r\n return domNode.tagName.toLowerCase() != \"img\" ? null : {\r\n conversion: convertImageElement,\r\n priority: 0\r\n }\r\n },\r\n }\r\n }\r\n\r\n updateDOM(): false {\r\n return false\r\n }\r\n\r\n getTextContent(\r\n _includeInert?: boolean | undefined,\r\n _includeDirectionless?: false | undefined,\r\n ): string {\r\n return this.__src\r\n }\r\n\r\n decorate(_editor: LexicalEditor, config: EditorConfig): Component {\r\n const embedBlockTheme = config.theme.embedBlock || {}\r\n return h(DocImageComponent, {\r\n baseClass: embedBlockTheme.base || '',\r\n focusClass: embedBlockTheme.focus || '',\r\n format: this.__format,\r\n nodeKey: this.getKey(),\r\n src: this.__src,\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * 创建图片节点\r\n * @param src \r\n * @returns \r\n */\r\nexport function $createImageNode(src: string): ImageNode {\r\n return new ImageNode(src)\r\n}\r\n\r\n/**\r\n * 判断是否是图片节点\r\n * @param node \r\n * @returns \r\n */\r\nexport function $isImageNode(\r\n node: ImageNode | LexicalNode | null | undefined,\r\n): node is ImageNode {\r\n return node instanceof ImageNode\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,SAAS,oBACP,SAC4B;AAEV,UAAQ,aAAa,OAAO;AACxC,QAAA,MAAM,QAAQ,aAAa,KAAK;AAC1B,UAAQ,aAAa,KAAK;AACxB,UAAQ,aAAa,OAAO;AAC5B,UAAQ,aAAa,OAAO;AAE1C,SAAO,QAAQ,QAAQ,YAAiB,KAAA,SAAS,OAAO,OAAQ;AAAA,IAC9D,MAAK,iBAAiB,GAAG;AAAA,EACvB,IAAA;AACN;AAKO,MAAM,kBAAkB,mBAAmB;AAAA,EAiBhD,YAAY,KAAa,QAA4B,KAAe;AAClE,UAAM,QAAQ,GAAG;AAjBnB;AAkBE,SAAK,QAAQ;AAAA,EACf;AAAA,EAjBA,OAAO,UAAkB;AAChB,WAAA;AAAA,EACT;AAAA,EAEA,OAAO,MAAM,MAA4B;AACvC,WAAO,IAAI,UAAU,KAAK,OAAO,KAAK,UAAU,KAAK,KAAK;AAAA,EAC5D;AAAA,EAEA,OAAO,WAAW,gBAAgD;AAC1D,UAAA,OAAO,iBAAiB,eAAe,GAAG;AAC3C,SAAA,UAAU,eAAe,MAAM;AAC7B,WAAA;AAAA,EACT;AAAA,EAOA,aAAkC;AACzB,WAAA;AAAA,MACL,GAAG,MAAM,WAAW;AAAA,MACpB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,KAAK,KAAK;AAAA,IAAA;AAAA,EAEd;AAAA,EAEA,YAA6B;AACrB,UAAA,UAAU,SAAS,cAAc,KAAK;AACpC,YAAA,aAAa,OAAO,KAAK,KAAK;AAC9B,YAAA,aAAa,SAAS,KAAK;AAC3B,YAAA,aAAa,UAAU,MAAM;AAErC,WAAO,EAAE,QAAQ;AAAA,EACnB;AAAA,EAEA,OAAO,YAAqC;AACnC,WAAA;AAAA,MACL,KAAK,CAAC,YAAyB;AAC7B,eAAO,QAAQ,QAAQ,YAAY,KAAK,QAAQ,OAAO;AAAA,UACrD,YAAY;AAAA,UACZ,UAAU;AAAA,QAAA;AAAA,MAEd;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,YAAmB;AACV,WAAA;AAAA,EACT;AAAA,EAEA,eACE,eACA,uBACQ;AACR,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,SAAS,SAAwB,QAAiC;AAChE,UAAM,kBAAkB,OAAO,MAAM,cAAc,CAAA;AACnD,WAAO,EAAE,mBAAmB;AAAA,MAC1B,WAAW,gBAAgB,QAAQ;AAAA,MACnC,YAAY,gBAAgB,SAAS;AAAA,MACrC,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK,OAAO;AAAA,MACrB,KAAK,KAAK;AAAA,IAAA,CACX;AAAA,EACH;AACF;AAOO,SAAS,iBAAiB,KAAwB;AAChD,SAAA,IAAI,UAAU,GAAG;AAC1B;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, inject, computed, unref, provide, reactive, createVNode, Suspense, Fragment } from "vue";
1
+ import { defineComponent, inject, computed, unref, provide, reactive, onMounted, watch, createVNode, Suspense, Fragment } from "vue";
2
2
  import { dataFilterFormProps } from "./data-filter-form-options.js";
3
3
  import { MKDataFilterFormItem } from "./data-filter-form-item/index.js";
4
4
  import { DATA_FILTER_CONTEXT } from "./token.js";
@@ -23,11 +23,26 @@ const DataFilterForm = /* @__PURE__ */ defineComponent({
23
23
  dataFilter,
24
24
  labelWidth
25
25
  }));
26
+ let resolve = null;
27
+ const suspenseResolvePromise = new Promise((_resolve) => {
28
+ resolve = _resolve;
29
+ });
26
30
  const handleResolve = () => {
27
- unref(dataTable).afterInitdEvent.on(() => {
28
- unref(dataFilter).setReady();
29
- });
31
+ resolve == null ? void 0 : resolve();
30
32
  };
33
+ onMounted(() => {
34
+ watch(dataTable, async (dataTable2, _, onCleanup) => {
35
+ await suspenseResolvePromise;
36
+ const disposable = dataTable2.afterInitdEvent.on(() => {
37
+ dataTable2.dataFilter.setReady();
38
+ });
39
+ onCleanup(() => {
40
+ disposable.dispose();
41
+ });
42
+ }, {
43
+ immediate: true
44
+ });
45
+ });
31
46
  return () => {
32
47
  var _a;
33
48
  if (!unref(columns).length) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-filter-form.js","sources":["../../../../../src/components/data-model/data-filter-form/data-filter-form.tsx"],"sourcesContent":["import {\n Fragment,\n Suspense,\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n provide,\n reactive,\n unref,\n watch,\n withCtx,\n} from \"vue\";\nimport { dataFilterFormProps } from \"./data-filter-form-options\";\nimport { MKDataFilterFormItem } from \"./data-filter-form-item\";\nimport { DATA_FILTER_CONTEXT } from \"./token\";\nimport { aesDecrypt, aesEncrypt } from \"@maketribe/utils\";\nimport { MSAppClient } from \"../../../core\";\nimport { useRouter } from \"vue-router\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../data-table/token\";\n\nexport default defineComponent({\n name: \"MKDataFilterForm\",\n props: dataFilterFormProps,\n setup(props, { slots }) {\n const router = useRouter();\n\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY)!;\n\n const dataTable = computed(() => props.dataTable);\n const dataFilter = computed(() => unref(dataTable).dataFilter);\n\n const columns = computed(() =>\n unref(dataFilter)\n .getColumns()\n .filter((column) => column.visible)\n );\n\n const labelWidth = computed(() => {\n const maxWordCount = Math.max(\n ...unref(columns).map((column) => column.label.length)\n );\n\n return maxWordCount * 14 + 10;\n });\n\n provide(DATA_FILTER_CONTEXT, reactive({ dataFilter, labelWidth }));\n\n const handleResolve = () => {\n unref(dataTable).afterInitdEvent.on(() => {\n unref(dataFilter).setReady();\n });\n };\n\n return () => {\n if (!unref(columns).length) {\n return null;\n }\n\n let children: any = slots.default?.();\n\n if (!children) {\n children = unref(columns).map((column) => {\n if (!column.name) {\n return null;\n }\n\n return (\n slots[`col-${column.name}`]?.() || (\n <MKDataFilterFormItem\n name={column.name}\n v-slots={{ default: slots[`col-${column.name}-content`] }}\n />\n )\n );\n });\n }\n\n if (!children) {\n return null;\n }\n\n return (\n <div class=\"mk-data-filter-form\">\n <Suspense onResolve={handleResolve}>\n <Fragment>{children}</Fragment>\n </Suspense>\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","dataFilterFormProps","setup","slots","useRouter","inject","DATA_TABLE_CONTEXT_KEY","dataTable","computed","dataFilter","unref","columns","getColumns","filter","column","visible","labelWidth","maxWordCount","Math","max","map","label","length","provide","DATA_FILTER_CONTEXT","reactive","handleResolve","afterInitdEvent","on","setReady","children","default","_createVNode","MKDataFilterFormItem","Suspense","_Fragment"],"mappings":";;;;;;AAqBA,MAAeA,iDAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,MAAMF,OAAO;AAAA,IAAEG;AAAAA,EAAM,GAAG;AACPC,cAAW;AAEDC,WAAOC,sBAAsB;AAEtD,UAAMC,YAAYC,SAAS,MAAMR,MAAMO,SAAS;AAChD,UAAME,aAAaD,SAAS,MAAME,MAAMH,SAAS,EAAEE,UAAU;AAE7D,UAAME,UAAUH,SAAS,MACvBE,MAAMD,UAAU,EACbG,WAAY,EACZC,OAAQC,YAAWA,OAAOC,OAAO,CACtC;AAEA,UAAMC,aAAaR,SAAS,MAAM;AAChC,YAAMS,eAAeC,KAAKC,IACxB,GAAGT,MAAMC,OAAO,EAAES,IAAKN,YAAWA,OAAOO,MAAMC,MAAM,CACvD;AAEA,aAAOL,eAAe,KAAK;AAAA,IAC7B,CAAC;AAEDM,YAAQC,qBAAqBC,SAAS;AAAA,MAAEhB;AAAAA,MAAYO;AAAAA,IAAY,CAAA,CAAC;AAEjE,UAAMU,gBAAgBA,MAAM;AAC1BhB,YAAMH,SAAS,EAAEoB,gBAAgBC,GAAG,MAAM;AACxClB,cAAMD,UAAU,EAAEoB;MACpB,CAAC;AAAA;AAGH,WAAO,MAAM;;AACX,UAAI,CAACnB,MAAMC,OAAO,EAAEW,QAAQ;AAC1B,eAAO;AAAA,MACT;AAEA,UAAIQ,YAAgB3B,WAAM4B,YAAN5B;AAEpB,UAAI,CAAC2B,UAAU;AACbA,mBAAWpB,MAAMC,OAAO,EAAES,IAAKN,YAAW;;AACxC,cAAI,CAACA,OAAOf,MAAM;AAChB,mBAAO;AAAA,UACT;AAEA,mBACEI,MAAAA,MAAM,OAAOW,OAAOf,IAAI,QAAxBI,gBAAAA,IAAAA,gBAA+B6B,YAAAC,sBAAA;AAAA,YAAA,QAErBnB,OAAOf;AAAAA,aACJ;AAAA,YAAEgC,SAAS5B,MAAM,OAAOW,OAAOf,IAAI,UAAU;AAAA,UAAE,CAAC;AAAA,QAIjE,CAAC;AAAA,MACH;AAEA,UAAI,CAAC+B,UAAU;AACb,eAAO;AAAA,MACT;AAEA,aAAAE,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,SAAAA,CAAAA,YAAAE,UAAA;AAAA,QAAA,aAEyBR;AAAAA,MAAa,GAAA;AAAA,QAAAK,SAAAA,MAAA,CAAAC,YAAAG,iBACrBL,QAAQ,CAAA,CAAA;AAAA,MAAA,CAAA,CAAA,CAAA;AAAA;EAK7B;AACF,CAAC;"}
1
+ {"version":3,"file":"data-filter-form.js","sources":["../../../../../src/components/data-model/data-filter-form/data-filter-form.tsx"],"sourcesContent":["import {\n Fragment,\n Suspense,\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n provide,\n reactive,\n unref,\n watch,\n withCtx,\n onMounted,\n} from \"vue\";\nimport { dataFilterFormProps } from \"./data-filter-form-options\";\nimport { MKDataFilterFormItem } from \"./data-filter-form-item\";\nimport { DATA_FILTER_CONTEXT } from \"./token\";\nimport { aesDecrypt, aesEncrypt } from \"@maketribe/utils\";\nimport { MSAppClient } from \"../../../core\";\nimport { useRouter } from \"vue-router\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../data-table/token\";\n\nexport default defineComponent({\n name: \"MKDataFilterForm\",\n props: dataFilterFormProps,\n setup(props, { slots }) {\n const router = useRouter();\n\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY)!;\n\n const dataTable = computed(() => props.dataTable);\n const dataFilter = computed(() => unref(dataTable).dataFilter);\n\n const columns = computed(() =>\n unref(dataFilter)\n .getColumns()\n .filter((column) => column.visible)\n );\n\n const labelWidth = computed(() => {\n const maxWordCount = Math.max(\n ...unref(columns).map((column) => column.label.length)\n );\n\n return maxWordCount * 14 + 10;\n });\n\n provide(DATA_FILTER_CONTEXT, reactive({ dataFilter, labelWidth }));\n\n let resolve: Function | null = null;\n const suspenseResolvePromise = new Promise((_resolve) => {\n resolve = _resolve;\n });\n\n const handleResolve = () => {\n resolve?.();\n };\n\n onMounted(() => {\n watch(\n dataTable,\n async (dataTable, _, onCleanup) => {\n await suspenseResolvePromise;\n\n const disposable = dataTable.afterInitdEvent.on(() => {\n dataTable.dataFilter.setReady();\n });\n\n onCleanup(() => {\n disposable.dispose();\n });\n },\n { immediate: true }\n );\n });\n\n return () => {\n if (!unref(columns).length) {\n return null;\n }\n\n let children: any = slots.default?.();\n\n if (!children) {\n children = unref(columns).map((column) => {\n if (!column.name) {\n return null;\n }\n\n return (\n slots[`col-${column.name}`]?.() || (\n <MKDataFilterFormItem\n name={column.name}\n v-slots={{ default: slots[`col-${column.name}-content`] }}\n />\n )\n );\n });\n }\n\n if (!children) {\n return null;\n }\n\n return (\n <div class=\"mk-data-filter-form\">\n <Suspense onResolve={handleResolve}>\n <Fragment>{children}</Fragment>\n </Suspense>\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","dataFilterFormProps","setup","slots","useRouter","inject","DATA_TABLE_CONTEXT_KEY","dataTable","computed","dataFilter","unref","columns","getColumns","filter","column","visible","labelWidth","maxWordCount","Math","max","map","label","length","provide","DATA_FILTER_CONTEXT","reactive","resolve","suspenseResolvePromise","Promise","_resolve","handleResolve","onMounted","watch","_","onCleanup","disposable","afterInitdEvent","on","setReady","dispose","immediate","children","default","_createVNode","MKDataFilterFormItem","Suspense","_Fragment"],"mappings":";;;;;;AAsBA,MAAeA,iDAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,MAAMF,OAAO;AAAA,IAAEG;AAAAA,EAAM,GAAG;AACPC,cAAW;AAEDC,WAAOC,sBAAsB;AAEtD,UAAMC,YAAYC,SAAS,MAAMR,MAAMO,SAAS;AAChD,UAAME,aAAaD,SAAS,MAAME,MAAMH,SAAS,EAAEE,UAAU;AAE7D,UAAME,UAAUH,SAAS,MACvBE,MAAMD,UAAU,EACbG,WAAY,EACZC,OAAQC,YAAWA,OAAOC,OAAO,CACtC;AAEA,UAAMC,aAAaR,SAAS,MAAM;AAChC,YAAMS,eAAeC,KAAKC,IACxB,GAAGT,MAAMC,OAAO,EAAES,IAAKN,YAAWA,OAAOO,MAAMC,MAAM,CACvD;AAEA,aAAOL,eAAe,KAAK;AAAA,IAC7B,CAAC;AAEDM,YAAQC,qBAAqBC,SAAS;AAAA,MAAEhB;AAAAA,MAAYO;AAAAA,IAAY,CAAA,CAAC;AAEjE,QAAIU,UAA2B;AAC/B,UAAMC,yBAAyB,IAAIC,QAASC,cAAa;AACvDH,gBAAUG;AAAAA,IACZ,CAAC;AAED,UAAMC,gBAAgBA,MAAM;AAC1BJ;AAAAA;AAGFK,cAAU,MAAM;AACdC,YACEzB,WACA,OAAOA,YAAW0B,GAAGC,cAAc;AACjC,cAAMP;AAEN,cAAMQ,aAAa5B,WAAU6B,gBAAgBC,GAAG,MAAM;AACpD9B,UAAAA,WAAUE,WAAW6B;QACvB,CAAC;AAEDJ,kBAAU,MAAM;AACdC,qBAAWI,QAAO;AAAA,QACpB,CAAC;AAAA,MACH,GACA;AAAA,QAAEC,WAAW;AAAA,MAAK,CACpB;AAAA,IACF,CAAC;AAED,WAAO,MAAM;;AACX,UAAI,CAAC9B,MAAMC,OAAO,EAAEW,QAAQ;AAC1B,eAAO;AAAA,MACT;AAEA,UAAImB,YAAgBtC,WAAMuC,YAANvC;AAEpB,UAAI,CAACsC,UAAU;AACbA,mBAAW/B,MAAMC,OAAO,EAAES,IAAKN,YAAW;;AACxC,cAAI,CAACA,OAAOf,MAAM;AAChB,mBAAO;AAAA,UACT;AAEA,mBACEI,MAAAA,MAAM,OAAOW,OAAOf,IAAI,QAAxBI,gBAAAA,IAAAA,gBAA+BwC,YAAAC,sBAAA;AAAA,YAAA,QAErB9B,OAAOf;AAAAA,aACJ;AAAA,YAAE2C,SAASvC,MAAM,OAAOW,OAAOf,IAAI,UAAU;AAAA,UAAE,CAAC;AAAA,QAIjE,CAAC;AAAA,MACH;AAEA,UAAI,CAAC0C,UAAU;AACb,eAAO;AAAA,MACT;AAEA,aAAAE,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,SAAAA,CAAAA,YAAAE,UAAA;AAAA,QAAA,aAEyBf;AAAAA,MAAa,GAAA;AAAA,QAAAY,SAAAA,MAAA,CAAAC,YAAAG,iBACrBL,QAAQ,CAAA,CAAA;AAAA,MAAA,CAAA,CAAA,CAAA;AAAA;EAK7B;AACF,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-filter-popover-options.js","sources":["../../../../../src/components/data-model/data-filter-popover/data-filter-popover-options.ts"],"sourcesContent":["import { DataTable } from \"@maketribe/dm\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\n\r\nexport const dataFilterPopoverProps = buildProps({\r\n dataTable: { type: DataTable, required: true },\r\n} as const);\r\n"],"names":[],"mappings":";;AAGO,MAAM,yBAAyB,WAAW;AAAA,EAC/C,WAAW,EAAE,MAAM,WAAW,UAAU,KAAK;AAC/C,CAAU;"}
1
+ {"version":3,"file":"data-filter-popover-options.js","sources":["../../../../../src/components/data-model/data-filter-popover/data-filter-popover-options.ts"],"sourcesContent":["import { DataTable } from \"@maketribe/dm\";\nimport { buildProps } from \"@maketribe/utils\";\n\nexport const dataFilterPopoverProps = buildProps({\n dataTable: { type: DataTable<any>, required: true },\n} as const);\n"],"names":[],"mappings":";;AAGO,MAAM,yBAAyB,WAAW;AAAA,EAC/C,WAAW,EAAE,MAAM,WAAgB,UAAU,KAAK;AACpD,CAAU;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, inject, createVNode } from "vue";
1
+ import { defineComponent, inject, computed, unref, createVNode } from "vue";
2
2
  import { ElButton } from "element-plus";
3
3
  import { DATA_TABLE_CONTEXT_KEY } from "../../../token.js";
4
4
  import { MKDataFilterPopover } from "../../../../data-filter-popover/index.js";
@@ -30,14 +30,22 @@ import "../../../../../basic/copy-container/index.js";
30
30
  const TableFilter = /* @__PURE__ */ defineComponent({
31
31
  name: "MKTableFilter",
32
32
  setup() {
33
- var _a;
34
- const dataTable = (_a = inject(DATA_TABLE_CONTEXT_KEY)) == null ? void 0 : _a.dataTable;
33
+ const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);
34
+ const dataTable = computed(() => dataTableContext.dataTable);
35
+ const dataTableInitd = computed(() => {
36
+ var _a;
37
+ return ((_a = unref(dataTable)) == null ? void 0 : _a.initd) ?? false;
38
+ });
35
39
  return () => {
36
- if (!dataTable.dataFilter.getColumns().length) {
40
+ if (!unref(dataTableInitd)) {
41
+ return null;
42
+ }
43
+ const _dataTable = unref(dataTable);
44
+ if (_dataTable.dataFilter.getColumns().length === 0) {
37
45
  return null;
38
46
  }
39
47
  return createVNode(MKDataFilterPopover, {
40
- "dataTable": dataTable
48
+ "dataTable": _dataTable
41
49
  }, {
42
50
  default: () => [createVNode(ElButton, null, {
43
51
  default: () => [createVNode(MKSvgIcon, {
@@ -1 +1 @@
1
- {"version":3,"file":"table-filter.js","sources":["../../../../../../../../src/components/data-model/data-table/components/header-components/table-filter/table-filter.tsx"],"sourcesContent":["import { defineComponent, inject } from \"vue\";\nimport { ElButton } from \"element-plus\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../../token\";\nimport { MKDataFilterPopover } from \"../../../../data-filter-popover\";\nimport { MKSvgIcon } from \"../../../../../basic\";\n\nexport default defineComponent({\n name: \"MKTableFilter\",\n setup() {\n const dataTable = inject(DATA_TABLE_CONTEXT_KEY)?.dataTable!;\n\n return () => {\n if (!dataTable.dataFilter.getColumns().length) {\n return null;\n }\n\n return (\n <MKDataFilterPopover dataTable={dataTable}>\n <ElButton>\n <MKSvgIcon iconClass=\"Filter\" />\n </ElButton>\n </MKDataFilterPopover>\n );\n };\n },\n});\n"],"names":["defineComponent","name","setup","dataTable","inject","DATA_TABLE_CONTEXT_KEY","dataFilter","getColumns","length","_createVNode","MKDataFilterPopover","default","ElButton","MKSvgIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAeA,8CAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,QAAQ;;AACN,UAAMC,aAAYC,YAAOC,sBAAsB,MAA7BD,mBAAgCD;AAElD,WAAO,MAAM;AACX,UAAI,CAACA,UAAUG,WAAWC,WAAU,EAAGC,QAAQ;AAC7C,eAAO;AAAA,MACT;AAEA,aAAAC,YAAAC,qBAAA;AAAA,QAAA,aACkCP;AAAAA,MAAS,GAAA;AAAA,QAAAQ,SAAAA,MAAAF,CAAAA,YAAAG,UAAA,MAAA;AAAA,UAAAD,SAAAA,MAAAF,CAAAA,YAAAI,WAAA;AAAA,YAAA,aAAA;AAAA,UAAA,GAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA;AAAA,MAAA,CAAA;AAAA;EAO/C;AACF,CAAC;"}
1
+ {"version":3,"file":"table-filter.js","sources":["../../../../../../../../src/components/data-model/data-table/components/header-components/table-filter/table-filter.tsx"],"sourcesContent":["import { defineComponent, inject, computed, unref, watch, ref } from \"vue\";\nimport { ElButton } from \"element-plus\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../../token\";\nimport { MKDataFilterPopover } from \"../../../../data-filter-popover\";\nimport { MKSvgIcon } from \"../../../../../basic\";\n\nexport default defineComponent({\n name: \"MKTableFilter\",\n setup() {\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);\n\n const dataTable = computed(() => dataTableContext!.dataTable);\n\n const dataTableInitd = computed(() => unref(dataTable)?.initd ?? false);\n\n return () => {\n if (!unref(dataTableInitd)) {\n return null;\n }\n\n const _dataTable = unref(dataTable);\n\n if (_dataTable.dataFilter.getColumns().length === 0) {\n return null;\n }\n\n return (\n <MKDataFilterPopover dataTable={_dataTable}>\n <ElButton>\n <MKSvgIcon iconClass=\"Filter\" />\n </ElButton>\n </MKDataFilterPopover>\n );\n };\n },\n});\n"],"names":["defineComponent","name","setup","dataTableContext","inject","DATA_TABLE_CONTEXT_KEY","dataTable","computed","dataTableInitd","unref","initd","_dataTable","dataFilter","getColumns","length","_createVNode","MKDataFilterPopover","default","ElButton","MKSvgIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAeA,8CAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,QAAQ;AACN,UAAMC,mBAAmBC,OAAOC,sBAAsB;AAEtD,UAAMC,YAAYC,SAAS,MAAMJ,iBAAkBG,SAAS;AAE5D,UAAME,iBAAiBD,SAAS,MAAME;;AAAAA,0BAAMH,SAAS,MAAfG,mBAAkBC,UAAS;AAAA,KAAK;AAEtE,WAAO,MAAM;AACX,UAAI,CAACD,MAAMD,cAAc,GAAG;AAC1B,eAAO;AAAA,MACT;AAEA,YAAMG,aAAaF,MAAMH,SAAS;AAElC,UAAIK,WAAWC,WAAWC,WAAU,EAAGC,WAAW,GAAG;AACnD,eAAO;AAAA,MACT;AAEA,aAAAC,YAAAC,qBAAA;AAAA,QAAA,aACkCL;AAAAA,MAAU,GAAA;AAAA,QAAAM,SAAAA,MAAAF,CAAAA,YAAAG,UAAA,MAAA;AAAA,UAAAD,SAAAA,MAAAF,CAAAA,YAAAI,WAAA;AAAA,YAAA,aAAA;AAAA,UAAA,GAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA;AAAA,MAAA,CAAA;AAAA;EAOhD;AACF,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sources":["../../../../../../../src/components/data-model/data-table/views/tree/tree.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, inject, ref, unref } from \"vue\";\nimport { ElButton, ElTree } from \"element-plus\";\nimport type Node from \"element-plus/es/components/tree/src/model/node\";\nimport { DataTree, DataTreeNode } from \"@maketribe/dm\";\nimport { treeProps } from \"./tree-options\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../token\";\n\nexport default defineComponent({\n name: \"MKTree\",\n props: treeProps,\n setup(props) {\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);\n\n const dataTree = computed(\n () => props.dataTree ?? (dataTableContext!.dataTable as DataTree)\n );\n\n const treeRef = ref<{\n filter: InstanceType<typeof ElTree>[\"filter\"];\n getNode: InstanceType<typeof ElTree>[\"getNode\"];\n } | null>(null);\n\n const rootNodes = computed(() => unref(dataTree).rootNodes);\n\n const handleAdd = (dataTreeNode?: DataTreeNode) => {\n unref(dataTree).addRecord(\n dataTreeNode ? { pid: dataTreeNode.data.id } : {}\n );\n };\n\n const handleEdit = (dataTreeNode: DataTreeNode) => {\n unref(dataTree).editRecord(dataTreeNode.data);\n };\n\n const handleDelete = async (dataTreeNode: DataTreeNode) => {\n unref(dataTree).deleteRecord(dataTreeNode.data);\n };\n\n const handleLoad = async (node: Node, resolve: Function) => {\n if (node.level === 0) {\n return;\n }\n\n if (!unref(dataTree).lazy) {\n resolve(node.data.children);\n return;\n }\n\n const dataTreeNode = node.data as DataTreeNode;\n\n await dataTreeNode.load();\n\n resolve(dataTreeNode.children);\n };\n\n const filter = (value: any) => {\n unref(treeRef)?.filter(value);\n };\n\n const handleCurrentChange = (dataTreeNode: DataTreeNode, node: Node) => {\n unref(dataTree).setSelection([dataTreeNode.id]);\n };\n\n return {\n treeRef,\n innerDataTree: dataTree,\n rootNodes,\n handleAdd,\n handleEdit,\n handleDelete,\n handleLoad,\n filter,\n handleCurrentChange,\n };\n },\n render() {\n const {\n defaultExpandAll,\n filterNodeMethod,\n innerDataTree,\n rootNodes,\n handleAdd,\n handleEdit,\n handleDelete,\n handleLoad,\n handleCurrentChange,\n $slots,\n } = this;\n\n const currentNodeKey = innerDataTree.getSelection()[0] ?? \"\";\n \n return (\n <ElTree\n props={{ children: \"children\", isLeaf: \"isLeaf\" }}\n defaultExpandAll={defaultExpandAll}\n ref=\"treeRef\"\n class=\"mk-data-tree\"\n highlight-current\n data={rootNodes}\n lazy\n filterNodeMethod={filterNodeMethod as any}\n currentNodeKey={currentNodeKey}\n nodeKey=\"id\"\n load={handleLoad}\n onCurrent-change={handleCurrentChange}\n v-slots={{\n default: (scope: any) => {\n let children = $slots.default?.(scope);\n\n if (children) {\n return children;\n }\n\n const { data } = scope;\n\n const label = data.data[innerDataTree.props.label];\n\n const main = $slots[\"node-main\"]?.(scope) || label;\n\n const tools = $slots[\"node-tools\"]?.(scope) || (\n <Fragment>\n {$slots[\"node-tools-prefix\"]?.(scope)}\n <ElButton type=\"primary\" link onClick={() => handleAdd(data)}>\n 添加\n </ElButton>\n <ElButton type=\"primary\" link onClick={() => handleEdit(data)}>\n 编辑\n </ElButton>\n <ElButton type=\"danger\" link onClick={() => handleDelete(data)}>\n 删除\n </ElButton>\n {$slots[\"node-tools-suffix\"]?.(scope)}\n </Fragment>\n );\n\n return (\n <div class=\"mk-data-tree-node\">\n <div class=\"mk-data-tree-node_main\">{main}</div>\n\n <div\n class=\"mk-data-tree-node__tools\"\n onClick={(e) => e.stopPropagation()}\n >\n {tools}\n </div>\n </div>\n );\n },\n }}\n />\n );\n },\n});\n"],"names":["defineComponent","name","props","treeProps","setup","dataTableContext","inject","DATA_TABLE_CONTEXT_KEY","dataTree","computed","dataTable","treeRef","ref","rootNodes","unref","handleAdd","dataTreeNode","addRecord","pid","data","id","handleEdit","editRecord","handleDelete","deleteRecord","handleLoad","node","resolve","level","lazy","children","load","filter","value","handleCurrentChange","setSelection","innerDataTree","render","defaultExpandAll","filterNodeMethod","$slots","currentNodeKey","getSelection","_createVNode","ElTree","isLeaf","default","scope","label","main","tools","_Fragment","ElButton","onClick","_createTextVNode","e","stopPropagation"],"mappings":"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"}
1
+ {"version":3,"file":"tree.js","sources":["../../../../../../../src/components/data-model/data-table/views/tree/tree.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, inject, ref, unref } from \"vue\";\nimport { ElButton, ElTree } from \"element-plus\";\nimport type Node from \"element-plus/es/components/tree/src/model/node\";\nimport { DataTree, DataTreeNode } from \"@maketribe/dm\";\nimport { treeProps } from \"./tree-options\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../token\";\n\nexport default defineComponent({\n name: \"MKTree\",\n props: treeProps,\n setup(props) {\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);\n\n const dataTree = computed(\n () => props.dataTree ?? (dataTableContext!.dataTable as DataTree)\n );\n\n const treeRef = ref<{\n filter: InstanceType<typeof ElTree>[\"filter\"];\n getNode: InstanceType<typeof ElTree>[\"getNode\"];\n } | null>(null);\n\n const rootNodes = computed(() => unref(dataTree).rootNodes);\n\n const handleAdd = (dataTreeNode?: DataTreeNode) => {\n unref(dataTree).addRecord(\n dataTreeNode ? { pid: dataTreeNode.data.id } : {}\n );\n };\n\n const handleEdit = (dataTreeNode: DataTreeNode) => {\n unref(dataTree).editRecord(dataTreeNode.data);\n };\n\n const handleDelete = async (dataTreeNode: DataTreeNode) => {\n unref(dataTree).deleteRecord(dataTreeNode.data);\n };\n\n const handleLoad = async (node: Node, resolve: Function) => {\n if (node.level === 0) {\n return;\n }\n\n if (!unref(dataTree).lazy) {\n resolve(node.data.children);\n return;\n }\n\n const dataTreeNode = node.data as DataTreeNode;\n\n await dataTreeNode.load();\n\n resolve(dataTreeNode.children);\n };\n\n const filter = (value: any) => {\n unref(treeRef)?.filter(value);\n };\n\n const handleCurrentChange = (dataTreeNode: DataTreeNode, node: Node) => {\n unref(dataTree).setSelection([dataTreeNode.id]);\n };\n\n return {\n treeRef,\n innerDataTree: dataTree,\n rootNodes,\n handleAdd,\n handleEdit,\n handleDelete,\n handleLoad,\n filter,\n handleCurrentChange,\n };\n },\n render() {\n const {\n defaultExpandAll,\n filterNodeMethod,\n innerDataTree,\n rootNodes,\n handleAdd,\n handleEdit,\n handleDelete,\n handleLoad,\n handleCurrentChange,\n $slots,\n } = this;\n\n const currentNodeKey = innerDataTree.getSelection()[0] ?? \"\";\n\n return (\n <ElTree\n props={{ children: \"children\", isLeaf: \"isLeaf\" }}\n defaultExpandAll={defaultExpandAll}\n ref=\"treeRef\"\n class=\"mk-data-tree\"\n highlight-current\n data={rootNodes}\n lazy\n filterNodeMethod={filterNodeMethod as any}\n currentNodeKey={currentNodeKey}\n nodeKey=\"id\"\n load={handleLoad}\n onCurrent-change={handleCurrentChange}\n v-slots={{\n default: (scope: any) => {\n let children = $slots.default?.(scope);\n\n if (children) {\n return children;\n }\n\n const { data } = scope;\n\n const label = data.data[innerDataTree.props.label];\n\n const main = $slots[\"node-main\"]?.(scope) || label;\n\n const tools = $slots[\"node-tools\"]?.(scope) || (\n <Fragment>\n {$slots[\"node-tools-prefix\"]?.(scope)}\n <ElButton type=\"primary\" link onClick={() => handleAdd(data)}>\n 添加\n </ElButton>\n <ElButton type=\"primary\" link onClick={() => handleEdit(data)}>\n 编辑\n </ElButton>\n <ElButton type=\"danger\" link onClick={() => handleDelete(data)}>\n 删除\n </ElButton>\n {$slots[\"node-tools-suffix\"]?.(scope)}\n </Fragment>\n );\n\n return (\n <div class=\"mk-data-tree-node\">\n <div class=\"mk-data-tree-node_main\">{main}</div>\n\n <div\n class=\"mk-data-tree-node__tools\"\n onClick={(e) => e.stopPropagation()}\n >\n {tools}\n </div>\n </div>\n );\n },\n }}\n />\n );\n },\n});\n"],"names":["defineComponent","name","props","treeProps","setup","dataTableContext","inject","DATA_TABLE_CONTEXT_KEY","dataTree","computed","dataTable","treeRef","ref","rootNodes","unref","handleAdd","dataTreeNode","addRecord","pid","data","id","handleEdit","editRecord","handleDelete","deleteRecord","handleLoad","node","resolve","level","lazy","children","load","filter","value","handleCurrentChange","setSelection","innerDataTree","render","defaultExpandAll","filterNodeMethod","$slots","currentNodeKey","getSelection","_createVNode","ElTree","isLeaf","default","scope","label","main","tools","_Fragment","ElButton","onClick","_createTextVNode","e","stopPropagation"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -122,9 +122,7 @@ import { CmsArticlesTable } from "./modules/cms/dataviews/cms-articles/CmsArticl
122
122
  import { CmsArticlesForm } from "./modules/cms/dataviews/cms-articles/CmsArticlesForm.js";
123
123
  import { CmsPartTypesForm } from "./modules/cms/dataviews/cms-part-types/CmsPartTypesForm.js";
124
124
  import { CmsPartTypesTable } from "./modules/cms/dataviews/cms-part-types/CmsPartTypesTable.js";
125
- import { CmsPartTypesTree } from "./modules/cms/dataviews/cms-part-types/CmsPartTypesTree.js";
126
125
  import { CmsPartForm } from "./modules/cms/dataviews/cms-parts/CmsPartForm.js";
127
- import { CmsPartTable } from "./modules/cms/dataviews/cms-parts/CmsPartTable.js";
128
126
  import { CmsPartTree } from "./modules/cms/dataviews/cms-parts/CmsPartTree.js";
129
127
  import { CmsTagsTable } from "./modules/cms/dataviews/cms-tags/CmsTagsTable.js";
130
128
  import { CmsTagsForm } from "./modules/cms/dataviews/cms-tags/CmsTagsForm.js";
@@ -172,11 +170,9 @@ export {
172
170
  CmsArticlesForm,
173
171
  CmsArticlesTable,
174
172
  CmsPartForm,
175
- CmsPartTable,
176
173
  CmsPartTree,
177
174
  CmsPartTypesForm,
178
175
  CmsPartTypesTable,
179
- CmsPartTypesTree,
180
176
  CmsTagsForm,
181
177
  CmsTagsTable,
182
178
  ConfigComponents,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["import \"./assets/iconfonts/iconfont.js\";\nexport * from \"./constants\";\n\nexport * from \"./core\";\n\nimport { installer } from \"./installer\";\n\nexport * from \"./layouts\";\nexport * from \"./composables\";\nexport * from \"./components\";\nexport * from \"./tokens\";\n\nexport const install = installer.install;\nexport const version = installer.version;\n\nexport * from \"./init-application\";\nexport * from \"./define-data-table\";\nexport * from \"./define-data-form\";\nexport * from \"./define-data-tree\";\n\nexport * from \"./modules/ms\";\nexport * from \"./modules/cms\";\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,UAAU,UAAU;AAC1B,MAAM,UAAU,UAAU;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["import \"./assets/iconfonts/iconfont.js\";\nexport * from \"./constants\";\n\nexport * from \"./core\";\n\nimport { installer } from \"./installer\";\n\nexport * from \"./layouts\";\nexport * from \"./composables\";\nexport * from \"./components\";\nexport * from \"./tokens\";\n\nexport const install = installer.install;\nexport const version = installer.version;\n\nexport * from \"./init-application\";\nexport * from \"./define-data-table\";\nexport * from \"./define-data-form\";\nexport * from \"./define-data-tree\";\n\nexport * from \"./modules/ms\";\nexport * from \"./modules/cms\";\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,UAAU,UAAU;AAC1B,MAAM,UAAU,UAAU;"}