@maketribe/ms-app 3.0.16 → 3.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/cjs/components/json-editor/index.js +6 -2
  2. package/dist/cjs/components/json-editor/index.js.map +1 -1
  3. package/dist/cjs/components/json-editor/json-editor.js +2 -2
  4. package/dist/cjs/components/material-select/material-select-type.d.ts +6 -5
  5. package/dist/cjs/components/new-upload-file/MaterialUploadContext.d.ts +4 -0
  6. package/dist/cjs/components/new-upload-file/MaterialUploadContext.js +18 -0
  7. package/dist/cjs/components/new-upload-file/MaterialUploadContext.js.map +1 -0
  8. package/dist/cjs/components/new-upload-file/UploadContext.d.ts +8 -0
  9. package/dist/cjs/components/new-upload-file/UploadContext.js +10 -0
  10. package/dist/cjs/components/new-upload-file/UploadContext.js.map +1 -0
  11. package/dist/cjs/components/new-upload-file/WebFileUploadContext.d.ts +10 -0
  12. package/dist/cjs/components/new-upload-file/WebFileUploadContext.js +50 -0
  13. package/dist/cjs/components/new-upload-file/WebFileUploadContext.js.map +1 -0
  14. package/dist/cjs/components/new-upload-file/upload-file-options.d.ts +17 -0
  15. package/dist/cjs/components/new-upload-file/upload-file-options.js +23 -0
  16. package/dist/cjs/components/new-upload-file/upload-file-options.js.map +1 -0
  17. package/dist/cjs/components/new-upload-file/upload-file.d.ts +40 -0
  18. package/dist/cjs/components/new-upload-file/upload-file.js +49 -0
  19. package/dist/cjs/components/new-upload-file/upload-file.js.map +1 -0
  20. package/dist/cjs/core/PageManager.js +14 -8
  21. package/dist/cjs/core/PageManager.js.map +1 -1
  22. package/dist/cjs/core/Router.js +7 -7
  23. package/dist/cjs/core/Router.js.map +1 -1
  24. package/dist/cjs/dataview/route/RouteForm.d.ts +2 -2
  25. package/dist/cjs/dataview/route/RouteForm.js +2 -2
  26. package/dist/cjs/dataview/route/RouteForm.js.map +1 -1
  27. package/dist/cjs/dataview/route/RouteTable.js +1 -1
  28. package/dist/cjs/dataview/route/RouteTable.js.map +1 -1
  29. package/dist/cjs/init-application.js +1 -1
  30. package/dist/cjs/init-application.js.map +1 -1
  31. package/dist/cjs/router-middleware/auth.js +1 -1
  32. package/dist/cjs/router-middleware/auth.js.map +1 -1
  33. package/dist/esm/components/json-editor/index.js +4 -2
  34. package/dist/esm/components/json-editor/index.js.map +1 -1
  35. package/dist/esm/components/json-editor/json-editor.js +2 -2
  36. package/dist/esm/components/material-select/material-select-type.d.ts +6 -5
  37. package/dist/esm/components/new-upload-file/MaterialUploadContext.d.ts +4 -0
  38. package/dist/esm/components/new-upload-file/MaterialUploadContext.js +16 -0
  39. package/dist/esm/components/new-upload-file/MaterialUploadContext.js.map +1 -0
  40. package/dist/esm/components/new-upload-file/UploadContext.d.ts +8 -0
  41. package/dist/esm/components/new-upload-file/UploadContext.js +8 -0
  42. package/dist/esm/components/new-upload-file/UploadContext.js.map +1 -0
  43. package/dist/esm/components/new-upload-file/WebFileUploadContext.d.ts +10 -0
  44. package/dist/esm/components/new-upload-file/WebFileUploadContext.js +48 -0
  45. package/dist/esm/components/new-upload-file/WebFileUploadContext.js.map +1 -0
  46. package/dist/esm/components/new-upload-file/upload-file-options.d.ts +17 -0
  47. package/dist/esm/components/new-upload-file/upload-file-options.js +20 -0
  48. package/dist/esm/components/new-upload-file/upload-file-options.js.map +1 -0
  49. package/dist/esm/components/new-upload-file/upload-file.d.ts +40 -0
  50. package/dist/esm/components/new-upload-file/upload-file.js +47 -0
  51. package/dist/esm/components/new-upload-file/upload-file.js.map +1 -0
  52. package/dist/esm/core/PageManager.js +14 -8
  53. package/dist/esm/core/PageManager.js.map +1 -1
  54. package/dist/esm/core/Router.js +7 -7
  55. package/dist/esm/core/Router.js.map +1 -1
  56. package/dist/esm/dataview/route/RouteForm.d.ts +2 -2
  57. package/dist/esm/dataview/route/RouteForm.js +2 -2
  58. package/dist/esm/dataview/route/RouteForm.js.map +1 -1
  59. package/dist/esm/dataview/route/RouteTable.js +1 -1
  60. package/dist/esm/dataview/route/RouteTable.js.map +1 -1
  61. package/dist/esm/init-application.js +1 -1
  62. package/dist/esm/init-application.js.map +1 -1
  63. package/dist/esm/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js +2 -2
  64. package/dist/esm/router-middleware/auth.js +1 -1
  65. package/dist/esm/router-middleware/auth.js.map +1 -1
  66. package/package.json +2 -2
  67. package/src/components/json-editor/index.ts +4 -2
  68. package/src/components/material-select/material-select-type.ts +10 -5
  69. package/src/components/new-upload-file/MaterialUploadContext.ts +14 -0
  70. package/src/components/new-upload-file/UploadContext.ts +11 -0
  71. package/src/components/new-upload-file/WebFileUploadContext.ts +58 -0
  72. package/src/components/new-upload-file/upload-file-options.ts +23 -0
  73. package/src/components/new-upload-file/upload-file.tsx +61 -0
  74. package/src/core/PageManager.ts +18 -9
  75. package/src/core/Router.ts +7 -7
  76. package/src/dataview/route/RouteForm.ts +4 -4
  77. package/src/dataview/route/RouteTable.ts +1 -1
  78. package/src/init-application.ts +1 -1
  79. package/src/router-middleware/auth.ts +1 -2
@@ -28,7 +28,7 @@ class RouteForm extends DataForm {
28
28
  label: "\u56FE\u6807",
29
29
  componentInfo: "MKFormIconSelect"
30
30
  }),
31
- new FormColumn({ name: "path", label: "\u8DEF\u5F84" }),
31
+ new FormColumn({ name: "route", label: "\u8DEF\u5F84" }),
32
32
  new FormColumn({
33
33
  name: "type",
34
34
  label: "\u8DEF\u7531\u7C7B\u578B",
@@ -60,7 +60,7 @@ class RouteForm extends DataForm {
60
60
  type: `${item.type}` === RouteType.ROUTE ? RouteType.ROUTE : RouteType.LINK,
61
61
  menuId: item.menuId,
62
62
  iconName: item.iconName || "",
63
- path: item.path || ""
63
+ route: item.route || ""
64
64
  };
65
65
  }
66
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RouteForm.js","sources":["../../../../src/dataview/route/RouteForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { RouteType } from \"../../constants\";\nimport { MenuTable } from \"../menu/MenuTable\";\n\nexport type RouteResult = {\n id: string;\n name: string;\n title: string;\n type: number;\n menuId: string;\n iconName: string;\n path?: string;\n};\n\nexport type Route = {\n id: string;\n name: string;\n title: string;\n type: RouteType;\n menuId: string;\n iconName: string;\n path: string;\n};\n\nexport class RouteForm extends DataForm<RouteResult, Route> {\n constructor(options: DataFormOptions = {}) {\n super({ name: \"ms-route\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"路由名\", required: true }),\n new FormColumn({ name: \"title\", label: \"路由描述\", required: true }),\n new FormColumn({\n name: \"menuId\",\n label: \"所属菜单\",\n componentInfo: \"MKFormDataTableSelect\",\n required: true,\n componentProps: {\n labelFieldName: \"title\",\n dataTable: new MenuTable({ pageSize: 10 }),\n },\n }),\n new FormColumn({\n name: \"iconName\",\n label: \"图标\",\n componentInfo: \"MKFormIconSelect\",\n }),\n new FormColumn({ name: \"path\", label: \"路径\" }),\n new FormColumn({\n name: \"type\",\n label: \"路由类型\",\n defaultValue: RouteType.ROUTE,\n componentInfo: \"MKFormDataSelect\",\n required: true,\n componentProps: {\n options: [\n { value: RouteType.ROUTE, label: \"站内路由\" },\n { value: RouteType.LINK, label: \"站外链接\" },\n ],\n },\n }),\n ]);\n }\n\n formatSubmitData(data: any) {\n const type = Number.parseInt(data.type);\n\n return {\n ...data,\n iconName: data.iconName || null,\n type: Number.isNaN(type) ? RouteType.ROUTE : type,\n };\n }\n\n formatItem(item: RouteResult): Route {\n return {\n id: item.id,\n name: item.name || \"\",\n title: item.title || \"\",\n type:\n `${item.type}` === RouteType.ROUTE ? RouteType.ROUTE : RouteType.LINK,\n menuId: item.menuId,\n iconName: item.iconName || \"\",\n path: item.path || \"\",\n };\n }\n}\n\ndefineDataForm(RouteForm);\n"],"names":[],"mappings":";;;;;AAyBO,MAAM,kBAAkB,QAA6B,CAAA;AAAA,EAC1D,WAAA,CAAY,OAA2B,GAAA,EAAI,EAAA;AACzC,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,UAAY,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACxC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAI,UAAW,CAAA,EAAE,MAAM,IAAM,EAAA,KAAA,EAAO,gBAAM,CAAA;AAAA,MAC1C,IAAI,WAAW,EAAE,IAAA,EAAM,QAAQ,KAAO,EAAA,oBAAA,EAAO,QAAU,EAAA,IAAA,EAAM,CAAA;AAAA,MAC7D,IAAI,WAAW,EAAE,IAAA,EAAM,SAAS,KAAO,EAAA,0BAAA,EAAQ,QAAU,EAAA,IAAA,EAAM,CAAA;AAAA,MAC/D,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,QAAA;AAAA,QACN,KAAO,EAAA,0BAAA;AAAA,QACP,aAAe,EAAA,uBAAA;AAAA,QACf,QAAU,EAAA,IAAA;AAAA,QACV,cAAgB,EAAA;AAAA,UACd,cAAgB,EAAA,OAAA;AAAA,UAChB,WAAW,IAAI,SAAA,CAAU,EAAE,QAAA,EAAU,IAAI,CAAA;AAAA,SAC3C;AAAA,OACD,CAAA;AAAA,MACD,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,UAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,aAAe,EAAA,kBAAA;AAAA,OAChB,CAAA;AAAA,MACD,IAAI,UAAW,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAO,gBAAM,CAAA;AAAA,MAC5C,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,0BAAA;AAAA,QACP,cAAc,SAAU,CAAA,KAAA;AAAA,QACxB,aAAe,EAAA,kBAAA;AAAA,QACf,QAAU,EAAA,IAAA;AAAA,QACV,cAAgB,EAAA;AAAA,UACd,OAAS,EAAA;AAAA,YACP,EAAE,KAAA,EAAO,SAAU,CAAA,KAAA,EAAO,OAAO,0BAAO,EAAA;AAAA,YACxC,EAAE,KAAA,EAAO,SAAU,CAAA,IAAA,EAAM,OAAO,0BAAO,EAAA;AAAA,WACzC;AAAA,SACF;AAAA,OACD,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,iBAAiB,IAAW,EAAA;AAC1B,IAAA,MAAM,IAAO,GAAA,MAAA,CAAO,QAAS,CAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AAEtC,IAAO,OAAA;AAAA,MACL,GAAG,IAAA;AAAA,MACH,QAAA,EAAU,KAAK,QAAY,IAAA,IAAA;AAAA,MAC3B,MAAM,MAAO,CAAA,KAAA,CAAM,IAAI,CAAA,GAAI,UAAU,KAAQ,GAAA,IAAA;AAAA,KAC/C,CAAA;AAAA,GACF;AAAA,EAEA,WAAW,IAA0B,EAAA;AACnC,IAAO,OAAA;AAAA,MACL,IAAI,IAAK,CAAA,EAAA;AAAA,MACT,IAAA,EAAM,KAAK,IAAQ,IAAA,EAAA;AAAA,MACnB,KAAA,EAAO,KAAK,KAAS,IAAA,EAAA;AAAA,MACrB,IAAA,EACE,GAAG,IAAK,CAAA,IAAI,OAAO,SAAU,CAAA,KAAA,GAAQ,SAAU,CAAA,KAAA,GAAQ,SAAU,CAAA,IAAA;AAAA,MACnE,QAAQ,IAAK,CAAA,MAAA;AAAA,MACb,QAAA,EAAU,KAAK,QAAY,IAAA,EAAA;AAAA,MAC3B,IAAA,EAAM,KAAK,IAAQ,IAAA,EAAA;AAAA,KACrB,CAAA;AAAA,GACF;AACF,CAAA;AAEA,cAAA,CAAe,SAAS,CAAA;;;;"}
1
+ {"version":3,"file":"RouteForm.js","sources":["../../../../src/dataview/route/RouteForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\nimport { defineDataForm } from \"../../define-data-form\";\nimport { RouteType } from \"../../constants\";\nimport { MenuTable } from \"../menu/MenuTable\";\n\nexport type RouteResult = {\n id: string;\n name: string;\n title: string;\n type: number;\n menuId: string;\n iconName: string;\n route?: string;\n};\n\nexport type Route = {\n id: string;\n name: string;\n title: string;\n type: RouteType;\n menuId: string;\n iconName: string;\n route: string;\n};\n\nexport class RouteForm extends DataForm<RouteResult, Route> {\n constructor(options: DataFormOptions = {}) {\n super({ name: \"ms-route\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"路由名\", required: true }),\n new FormColumn({ name: \"title\", label: \"路由描述\", required: true }),\n new FormColumn({\n name: \"menuId\",\n label: \"所属菜单\",\n componentInfo: \"MKFormDataTableSelect\",\n required: true,\n componentProps: {\n labelFieldName: \"title\",\n dataTable: new MenuTable({ pageSize: 10 }),\n },\n }),\n new FormColumn({\n name: \"iconName\",\n label: \"图标\",\n componentInfo: \"MKFormIconSelect\",\n }),\n new FormColumn({ name: \"route\", label: \"路径\" }),\n new FormColumn({\n name: \"type\",\n label: \"路由类型\",\n defaultValue: RouteType.ROUTE,\n componentInfo: \"MKFormDataSelect\",\n required: true,\n componentProps: {\n options: [\n { value: RouteType.ROUTE, label: \"站内路由\" },\n { value: RouteType.LINK, label: \"站外链接\" },\n ],\n },\n }),\n ]);\n }\n\n formatSubmitData(data: any) {\n const type = Number.parseInt(data.type);\n\n return {\n ...data,\n iconName: data.iconName || null,\n type: Number.isNaN(type) ? RouteType.ROUTE : type,\n };\n }\n\n formatItem(item: RouteResult): Route {\n return {\n id: item.id,\n name: item.name || \"\",\n title: item.title || \"\",\n type:\n `${item.type}` === RouteType.ROUTE ? RouteType.ROUTE : RouteType.LINK,\n menuId: item.menuId,\n iconName: item.iconName || \"\",\n route: item.route || \"\",\n };\n }\n}\n\ndefineDataForm(RouteForm);\n"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ class RouteTable extends DataTable {
54
54
  type: item.type === 0 ? RouteType.ROUTE : RouteType.LINK,
55
55
  menuId: item.menuId,
56
56
  iconName: item.iconName || "",
57
- path: item.path || ""
57
+ route: item.route || ""
58
58
  };
59
59
  }
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RouteTable.js","sources":["../../../../src/dataview/route/RouteTable.ts"],"sourcesContent":["import {\n DataTable,\n DataTableOptions,\n TableColumn,\n FilterColumn,\n TableActionColumn,\n} from \"@maketribe/dm\";\nimport { defineDataTable } from \"../../define-data-table\";\nimport { Route, RouteResult } from \"./RouteForm\";\nimport { RouteType } from \"../../constants\";\n\nexport class RouteTable extends DataTable<RouteResult, Route> {\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-route\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.dataFilter.setColumns([\n new FilterColumn({\n name: \"name\",\n label: \"路由名\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"title\",\n label: \"路由描述\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"type\",\n label: \"路由类型\",\n componentInfo: \"MKConditionSelect\",\n componentProps: {\n options: [\n { value: 0, label: \"站内路由\" },\n { value: 1, label: \"站外链接\" },\n ],\n },\n }),\n ]);\n\n this.setColumns([\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\n new TableColumn({ name: \"name\", label: \"路由名\" }),\n new TableColumn({ name: \"title\", label: \"路由描述\" }),\n new TableColumn({\n name: \"type\",\n label: \"路由类型\",\n componentInfo: \"MKColumnObjectMappingText\",\n componentProps: {\n mapping: { 0: \"站内路由\", 1: \"站外链接\" },\n },\n }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: RouteResult): Route {\n return {\n id: item.id,\n name: item.name || \"\",\n title: item.title || \"\",\n type: item.type === 0 ? RouteType.ROUTE : RouteType.LINK,\n menuId: item.menuId,\n iconName: item.iconName || \"\",\n path: item.path || \"\",\n };\n }\n}\n\ndefineDataTable(RouteTable);\n"],"names":[],"mappings":";;;;AAWO,MAAM,mBAAmB,SAA8B,CAAA;AAAA,EAC5D,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,UAAY,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACxC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,WAAW,UAAW,CAAA;AAAA,MACzB,IAAI,YAAa,CAAA;AAAA,QACf,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,oBAAA;AAAA,QACP,aAAe,EAAA,kBAAA;AAAA,OAChB,CAAA;AAAA,MACD,IAAI,YAAa,CAAA;AAAA,QACf,IAAM,EAAA,OAAA;AAAA,QACN,KAAO,EAAA,0BAAA;AAAA,QACP,aAAe,EAAA,kBAAA;AAAA,OAChB,CAAA;AAAA,MACD,IAAI,YAAa,CAAA;AAAA,QACf,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,0BAAA;AAAA,QACP,aAAe,EAAA,mBAAA;AAAA,QACf,cAAgB,EAAA;AAAA,UACd,OAAS,EAAA;AAAA,YACP,EAAE,KAAA,EAAO,CAAG,EAAA,KAAA,EAAO,0BAAO,EAAA;AAAA,YAC1B,EAAE,KAAA,EAAO,CAAG,EAAA,KAAA,EAAO,0BAAO,EAAA;AAAA,WAC5B;AAAA,SACF;AAAA,OACD,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAI,YAAY,EAAE,IAAA,EAAM,MAAM,KAAO,EAAA,cAAA,EAAM,OAAS,EAAA,KAAA,EAAO,CAAA;AAAA,MAC3D,IAAI,WAAY,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAO,sBAAO,CAAA;AAAA,MAC9C,IAAI,WAAY,CAAA,EAAE,MAAM,OAAS,EAAA,KAAA,EAAO,4BAAQ,CAAA;AAAA,MAChD,IAAI,WAAY,CAAA;AAAA,QACd,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,0BAAA;AAAA,QACP,aAAe,EAAA,2BAAA;AAAA,QACf,cAAgB,EAAA;AAAA,UACd,OAAS,EAAA,EAAE,CAAG,EAAA,0BAAA,EAAQ,GAAG,0BAAO,EAAA;AAAA,SAClC;AAAA,OACD,CAAA;AAAA,MACD,IAAI,iBAAkB,EAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAA0B,EAAA;AACnC,IAAO,OAAA;AAAA,MACL,IAAI,IAAK,CAAA,EAAA;AAAA,MACT,IAAA,EAAM,KAAK,IAAQ,IAAA,EAAA;AAAA,MACnB,KAAA,EAAO,KAAK,KAAS,IAAA,EAAA;AAAA,MACrB,MAAM,IAAK,CAAA,IAAA,KAAS,CAAI,GAAA,SAAA,CAAU,QAAQ,SAAU,CAAA,IAAA;AAAA,MACpD,QAAQ,IAAK,CAAA,MAAA;AAAA,MACb,QAAA,EAAU,KAAK,QAAY,IAAA,EAAA;AAAA,MAC3B,IAAA,EAAM,KAAK,IAAQ,IAAA,EAAA;AAAA,KACrB,CAAA;AAAA,GACF;AACF,CAAA;AAEA,eAAA,CAAgB,UAAU,CAAA;;;;"}
1
+ {"version":3,"file":"RouteTable.js","sources":["../../../../src/dataview/route/RouteTable.ts"],"sourcesContent":["import {\n DataTable,\n DataTableOptions,\n TableColumn,\n FilterColumn,\n TableActionColumn,\n} from \"@maketribe/dm\";\nimport { defineDataTable } from \"../../define-data-table\";\nimport { Route, RouteResult } from \"./RouteForm\";\nimport { RouteType } from \"../../constants\";\n\nexport class RouteTable extends DataTable<RouteResult, Route> {\n constructor(options: DataTableOptions = {}) {\n super({ name: \"ms-route\", ...options });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.dataFilter.setColumns([\n new FilterColumn({\n name: \"name\",\n label: \"路由名\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"title\",\n label: \"路由描述\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"type\",\n label: \"路由类型\",\n componentInfo: \"MKConditionSelect\",\n componentProps: {\n options: [\n { value: 0, label: \"站内路由\" },\n { value: 1, label: \"站外链接\" },\n ],\n },\n }),\n ]);\n\n this.setColumns([\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\n new TableColumn({ name: \"name\", label: \"路由名\" }),\n new TableColumn({ name: \"title\", label: \"路由描述\" }),\n new TableColumn({\n name: \"type\",\n label: \"路由类型\",\n componentInfo: \"MKColumnObjectMappingText\",\n componentProps: {\n mapping: { 0: \"站内路由\", 1: \"站外链接\" },\n },\n }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: RouteResult): Route {\n return {\n id: item.id,\n name: item.name || \"\",\n title: item.title || \"\",\n type: item.type === 0 ? RouteType.ROUTE : RouteType.LINK,\n menuId: item.menuId,\n iconName: item.iconName || \"\",\n route: item.route || \"\",\n };\n }\n}\n\ndefineDataTable(RouteTable);\n"],"names":[],"mappings":";;;;AAWO,MAAM,mBAAmB,SAA8B,CAAA;AAAA,EAC5D,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,UAAY,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACxC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,WAAW,UAAW,CAAA;AAAA,MACzB,IAAI,YAAa,CAAA;AAAA,QACf,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,oBAAA;AAAA,QACP,aAAe,EAAA,kBAAA;AAAA,OAChB,CAAA;AAAA,MACD,IAAI,YAAa,CAAA;AAAA,QACf,IAAM,EAAA,OAAA;AAAA,QACN,KAAO,EAAA,0BAAA;AAAA,QACP,aAAe,EAAA,kBAAA;AAAA,OAChB,CAAA;AAAA,MACD,IAAI,YAAa,CAAA;AAAA,QACf,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,0BAAA;AAAA,QACP,aAAe,EAAA,mBAAA;AAAA,QACf,cAAgB,EAAA;AAAA,UACd,OAAS,EAAA;AAAA,YACP,EAAE,KAAA,EAAO,CAAG,EAAA,KAAA,EAAO,0BAAO,EAAA;AAAA,YAC1B,EAAE,KAAA,EAAO,CAAG,EAAA,KAAA,EAAO,0BAAO,EAAA;AAAA,WAC5B;AAAA,SACF;AAAA,OACD,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAI,YAAY,EAAE,IAAA,EAAM,MAAM,KAAO,EAAA,cAAA,EAAM,OAAS,EAAA,KAAA,EAAO,CAAA;AAAA,MAC3D,IAAI,WAAY,CAAA,EAAE,MAAM,MAAQ,EAAA,KAAA,EAAO,sBAAO,CAAA;AAAA,MAC9C,IAAI,WAAY,CAAA,EAAE,MAAM,OAAS,EAAA,KAAA,EAAO,4BAAQ,CAAA;AAAA,MAChD,IAAI,WAAY,CAAA;AAAA,QACd,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,0BAAA;AAAA,QACP,aAAe,EAAA,2BAAA;AAAA,QACf,cAAgB,EAAA;AAAA,UACd,OAAS,EAAA,EAAE,CAAG,EAAA,0BAAA,EAAQ,GAAG,0BAAO,EAAA;AAAA,SAClC;AAAA,OACD,CAAA;AAAA,MACD,IAAI,iBAAkB,EAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAA0B,EAAA;AACnC,IAAO,OAAA;AAAA,MACL,IAAI,IAAK,CAAA,EAAA;AAAA,MACT,IAAA,EAAM,KAAK,IAAQ,IAAA,EAAA;AAAA,MACnB,KAAA,EAAO,KAAK,KAAS,IAAA,EAAA;AAAA,MACrB,MAAM,IAAK,CAAA,IAAA,KAAS,CAAI,GAAA,SAAA,CAAU,QAAQ,SAAU,CAAA,IAAA;AAAA,MACpD,QAAQ,IAAK,CAAA,MAAA;AAAA,MACb,QAAA,EAAU,KAAK,QAAY,IAAA,EAAA;AAAA,MAC3B,KAAA,EAAO,KAAK,KAAS,IAAA,EAAA;AAAA,KACvB,CAAA;AAAA,GACF;AACF,CAAA;AAEA,eAAA,CAAgB,UAAU,CAAA;;;;"}
@@ -45,7 +45,7 @@ const initApplication = async (options) => {
45
45
  })
46
46
  );
47
47
  for (const route of routes) {
48
- if (route.key.startsWith("index-")) {
48
+ if (route.key.startsWith("index")) {
49
49
  msAppClient.pageManager.addExtendsPage(route);
50
50
  } else {
51
51
  msAppClient.pageManager.addNormalPage(route);
@@ -1 +1 @@
1
- {"version":3,"file":"init-application.js","sources":["../../src/init-application.ts"],"sourcesContent":["import { App, reactive } from \"vue\";\nimport {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport { MSAppClient } from \"./core\";\nimport { HttpRequest, WebHttpRequest } from \"@maketribe/request\";\nimport { MSAPPCLIENT_CONTEXT_KEY } from \"./tokens\";\n\nimport { generateRoutesFromFiles } from \"./utils\";\nimport {\n DataFilterComponents,\n DataFormComponents,\n DataTableComponents,\n} from \"./core\";\n\nexport type InitMsApplicationOptions = {\n routes: any;\n vueRouter?: VueRouter;\n app: App;\n appID: string;\n logo?: string;\n projectName: string;\n locale?: string;\n httpRequest?: HttpRequest;\n};\n\nexport const initApplication = async (options: InitMsApplicationOptions) => {\n const app = options.app;\n\n const vueRouter =\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n });\n\n const msAppClient = reactive(\n new MSAppClient({\n appID: options!.appID,\n logo: options!.logo ?? \"\",\n projectName: options!.projectName,\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: location.origin,\n locale: options!.locale,\n vueRouter,\n dataTableComponents: new DataTableComponents(),\n dataFormComponents: new DataFormComponents(),\n dataFilterComponents: new DataFilterComponents(),\n whereFilterComponents: new DataFilterComponents(),\n })\n ) as unknown as MSAppClient;\n\n app.provide(MSAPPCLIENT_CONTEXT_KEY, { msAppClient });\n\n MSAppClient.instance = msAppClient;\n\n (window as any).msAppClient = msAppClient;\n\n const routes = generateRoutesFromFiles(\n Object.keys(options.routes).map((key) => {\n return {\n path: key.replace(/^\\.\\/pages\\/(.+)\\.vue$/, (_, g) => g),\n module: options.routes[key]?.default || options.routes[key],\n };\n })\n );\n\n for (const route of routes) {\n if (route.key.startsWith(\"index-\")) {\n msAppClient.pageManager.addExtendsPage(route);\n } else {\n msAppClient.pageManager.addNormalPage(route);\n }\n }\n\n await msAppClient.init();\n\n app.use(msAppClient.vueRouter);\n\n return msAppClient;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA4Ba,MAAA,eAAA,GAAkB,OAAO,OAAsC,KAAA;AAC1E,EAAA,MAAM,MAAM,OAAQ,CAAA,GAAA,CAAA;AAEpB,EAAM,MAAA,SAAA,GACJ,OAAQ,CAAA,SAAA,IACR,YAAa,CAAA;AAAA,IACX,SAAS,oBAAqB,EAAA;AAAA,IAC9B,QAAQ,EAAC;AAAA,GACV,CAAA,CAAA;AAEH,EAAA,MAAM,WAAc,GAAA,QAAA;AAAA,IAClB,IAAI,WAAY,CAAA;AAAA,MACd,OAAO,OAAS,CAAA,KAAA;AAAA,MAChB,IAAA,EAAM,QAAS,IAAQ,IAAA,EAAA;AAAA,MACvB,aAAa,OAAS,CAAA,WAAA;AAAA,MACtB,WAAa,EAAA,OAAA,CAAQ,WAAe,IAAA,IAAI,cAAe,EAAA;AAAA,MACvD,QAAQ,QAAS,CAAA,MAAA;AAAA,MACjB,QAAQ,OAAS,CAAA,MAAA;AAAA,MACjB,SAAA;AAAA,MACA,mBAAA,EAAqB,IAAI,mBAAoB,EAAA;AAAA,MAC7C,kBAAA,EAAoB,IAAI,kBAAmB,EAAA;AAAA,MAC3C,oBAAA,EAAsB,IAAI,oBAAqB,EAAA;AAAA,MAC/C,qBAAA,EAAuB,IAAI,oBAAqB,EAAA;AAAA,KACjD,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,GAAA,CAAI,OAAQ,CAAA,uBAAA,EAAyB,EAAE,WAAA,EAAa,CAAA,CAAA;AAEpD,EAAA,WAAA,CAAY,QAAW,GAAA,WAAA,CAAA;AAEvB,EAAC,OAAe,WAAc,GAAA,WAAA,CAAA;AAE9B,EAAA,MAAM,MAAS,GAAA,uBAAA;AAAA,IACb,OAAO,IAAK,CAAA,OAAA,CAAQ,MAAM,CAAE,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAA;AACvC,MAAO,OAAA;AAAA,QACL,MAAM,GAAI,CAAA,OAAA,CAAQ,0BAA0B,CAAC,CAAA,EAAG,MAAM,CAAC,CAAA;AAAA,QACvD,MAAA,EAAQ,QAAQ,MAAO,CAAA,GAAG,GAAG,OAAW,IAAA,OAAA,CAAQ,OAAO,GAAG,CAAA;AAAA,OAC5D,CAAA;AAAA,KACD,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,IAAA,IAAI,KAAM,CAAA,GAAA,CAAI,UAAW,CAAA,QAAQ,CAAG,EAAA;AAClC,MAAY,WAAA,CAAA,WAAA,CAAY,eAAe,KAAK,CAAA,CAAA;AAAA,KACvC,MAAA;AACL,MAAY,WAAA,CAAA,WAAA,CAAY,cAAc,KAAK,CAAA,CAAA;AAAA,KAC7C;AAAA,GACF;AAEA,EAAA,MAAM,YAAY,IAAK,EAAA,CAAA;AAEvB,EAAI,GAAA,CAAA,GAAA,CAAI,YAAY,SAAS,CAAA,CAAA;AAE7B,EAAO,OAAA,WAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"init-application.js","sources":["../../src/init-application.ts"],"sourcesContent":["import { App, reactive } from \"vue\";\nimport {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport { MSAppClient } from \"./core\";\nimport { HttpRequest, WebHttpRequest } from \"@maketribe/request\";\nimport { MSAPPCLIENT_CONTEXT_KEY } from \"./tokens\";\n\nimport { generateRoutesFromFiles } from \"./utils\";\nimport {\n DataFilterComponents,\n DataFormComponents,\n DataTableComponents,\n} from \"./core\";\n\nexport type InitMsApplicationOptions = {\n routes: any;\n vueRouter?: VueRouter;\n app: App;\n appID: string;\n logo?: string;\n projectName: string;\n locale?: string;\n httpRequest?: HttpRequest;\n};\n\nexport const initApplication = async (options: InitMsApplicationOptions) => {\n const app = options.app;\n\n const vueRouter =\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n });\n\n const msAppClient = reactive(\n new MSAppClient({\n appID: options!.appID,\n logo: options!.logo ?? \"\",\n projectName: options!.projectName,\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: location.origin,\n locale: options!.locale,\n vueRouter,\n dataTableComponents: new DataTableComponents(),\n dataFormComponents: new DataFormComponents(),\n dataFilterComponents: new DataFilterComponents(),\n whereFilterComponents: new DataFilterComponents(),\n })\n ) as unknown as MSAppClient;\n\n app.provide(MSAPPCLIENT_CONTEXT_KEY, { msAppClient });\n\n MSAppClient.instance = msAppClient;\n\n (window as any).msAppClient = msAppClient;\n\n const routes = generateRoutesFromFiles(\n Object.keys(options.routes).map((key) => {\n return {\n path: key.replace(/^\\.\\/pages\\/(.+)\\.vue$/, (_, g) => g),\n module: options.routes[key]?.default || options.routes[key],\n };\n })\n );\n\n for (const route of routes) {\n if (route.key.startsWith(\"index\")) {\n msAppClient.pageManager.addExtendsPage(route);\n } else {\n msAppClient.pageManager.addNormalPage(route);\n }\n }\n\n await msAppClient.init();\n\n app.use(msAppClient.vueRouter);\n\n return msAppClient;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA4Ba,MAAA,eAAA,GAAkB,OAAO,OAAsC,KAAA;AAC1E,EAAA,MAAM,MAAM,OAAQ,CAAA,GAAA,CAAA;AAEpB,EAAM,MAAA,SAAA,GACJ,OAAQ,CAAA,SAAA,IACR,YAAa,CAAA;AAAA,IACX,SAAS,oBAAqB,EAAA;AAAA,IAC9B,QAAQ,EAAC;AAAA,GACV,CAAA,CAAA;AAEH,EAAA,MAAM,WAAc,GAAA,QAAA;AAAA,IAClB,IAAI,WAAY,CAAA;AAAA,MACd,OAAO,OAAS,CAAA,KAAA;AAAA,MAChB,IAAA,EAAM,QAAS,IAAQ,IAAA,EAAA;AAAA,MACvB,aAAa,OAAS,CAAA,WAAA;AAAA,MACtB,WAAa,EAAA,OAAA,CAAQ,WAAe,IAAA,IAAI,cAAe,EAAA;AAAA,MACvD,QAAQ,QAAS,CAAA,MAAA;AAAA,MACjB,QAAQ,OAAS,CAAA,MAAA;AAAA,MACjB,SAAA;AAAA,MACA,mBAAA,EAAqB,IAAI,mBAAoB,EAAA;AAAA,MAC7C,kBAAA,EAAoB,IAAI,kBAAmB,EAAA;AAAA,MAC3C,oBAAA,EAAsB,IAAI,oBAAqB,EAAA;AAAA,MAC/C,qBAAA,EAAuB,IAAI,oBAAqB,EAAA;AAAA,KACjD,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,GAAA,CAAI,OAAQ,CAAA,uBAAA,EAAyB,EAAE,WAAA,EAAa,CAAA,CAAA;AAEpD,EAAA,WAAA,CAAY,QAAW,GAAA,WAAA,CAAA;AAEvB,EAAC,OAAe,WAAc,GAAA,WAAA,CAAA;AAE9B,EAAA,MAAM,MAAS,GAAA,uBAAA;AAAA,IACb,OAAO,IAAK,CAAA,OAAA,CAAQ,MAAM,CAAE,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAA;AACvC,MAAO,OAAA;AAAA,QACL,MAAM,GAAI,CAAA,OAAA,CAAQ,0BAA0B,CAAC,CAAA,EAAG,MAAM,CAAC,CAAA;AAAA,QACvD,MAAA,EAAQ,QAAQ,MAAO,CAAA,GAAG,GAAG,OAAW,IAAA,OAAA,CAAQ,OAAO,GAAG,CAAA;AAAA,OAC5D,CAAA;AAAA,KACD,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,IAAA,IAAI,KAAM,CAAA,GAAA,CAAI,UAAW,CAAA,OAAO,CAAG,EAAA;AACjC,MAAY,WAAA,CAAA,WAAA,CAAY,eAAe,KAAK,CAAA,CAAA;AAAA,KACvC,MAAA;AACL,MAAY,WAAA,CAAA,WAAA,CAAY,cAAc,KAAK,CAAA,CAAA;AAAA,KAC7C;AAAA,GACF;AAEA,EAAA,MAAM,YAAY,IAAK,EAAA,CAAA;AAEvB,EAAI,GAAA,CAAA,GAAA,CAAI,YAAY,SAAS,CAAA,CAAA;AAE7B,EAAO,OAAA,WAAA,CAAA;AACT;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { NodeType, NodeProp, IterMode, Tree, TreeFragment, Parser } from '../../../../../@lezer_common@1.1.1/node_modules/@lezer/common/dist/index.js';
2
- import { Facet, StateField, EditorState, RangeSet, StateEffect, countColumn, combineConfig, RangeSetBuilder, Prec } from '../../../../../@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js';
3
- import { EditorView, ViewPlugin, gutter, logException, Decoration, WidgetType, GutterMarker } from '../../../../../@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js';
2
+ import { Facet, StateField, EditorState, StateEffect, RangeSet, countColumn, combineConfig, RangeSetBuilder, Prec } from '../../../../../@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js';
3
+ import { EditorView, ViewPlugin, logException, gutter, Decoration, WidgetType, GutterMarker } from '../../../../../@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js';
4
4
  import { tags, styleTags, tagHighlighter, highlightTree } from '../../../../../@lezer_highlight@1.2.0/node_modules/@lezer/highlight/dist/index.js';
5
5
  import { StyleModule } from '../../../../../style-mod@4.1.0/node_modules/style-mod/src/style-mod.js';
6
6
 
@@ -10,7 +10,7 @@ const authBeforeEach = async (msAppClient, to, from) => {
10
10
  if (!userSession) {
11
11
  return { name: "login" };
12
12
  }
13
- return { ...to };
13
+ return { path: to.fullPath };
14
14
  } catch (e) {
15
15
  return { name: "login" };
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sources":["../../../src/router-middleware/auth.ts"],"sourcesContent":["import { RouteLocationNormalized, RouteLocationRaw } from \"vue-router\";\nimport { isSameRoute } from \"@maketribe/utils\";\nimport type { MSAppClient } from \"../core\";\n\nexport const authBeforeEach = async (\n msAppClient: MSAppClient,\n to: RouteLocationNormalized,\n from: RouteLocationNormalized\n): Promise<RouteLocationRaw | void> => {\n if (to.meta.isAuthorization === false) {\n return;\n }\n\n let userSession = msAppClient.userSession;\n\n if (!userSession) {\n try {\n await msAppClient.loadCurrentUserSession();\n\n userSession = msAppClient.userSession;\n\n if (!userSession) {\n return { name: \"login\" };\n }\n\n // 因为登陆成功会添加用户可以访问的路由,这里给到vue-router去重新resolve\n return { ...to };\n } catch (e) {\n return { name: \"login\" };\n }\n }\n};\n"],"names":[],"mappings":"AAIO,MAAM,cAAiB,GAAA,OAC5B,WACA,EAAA,EAAA,EACA,IACqC,KAAA;AACrC,EAAI,IAAA,EAAA,CAAG,IAAK,CAAA,eAAA,KAAoB,KAAO,EAAA;AACrC,IAAA,OAAA;AAAA,GACF;AAEA,EAAA,IAAI,cAAc,WAAY,CAAA,WAAA,CAAA;AAE9B,EAAA,IAAI,CAAC,WAAa,EAAA;AAChB,IAAI,IAAA;AACF,MAAA,MAAM,YAAY,sBAAuB,EAAA,CAAA;AAEzC,MAAA,WAAA,GAAc,WAAY,CAAA,WAAA,CAAA;AAE1B,MAAA,IAAI,CAAC,WAAa,EAAA;AAChB,QAAO,OAAA,EAAE,MAAM,OAAQ,EAAA,CAAA;AAAA,OACzB;AAGA,MAAO,OAAA,EAAE,GAAG,EAAG,EAAA,CAAA;AAAA,aACR,CAAG,EAAA;AACV,MAAO,OAAA,EAAE,MAAM,OAAQ,EAAA,CAAA;AAAA,KACzB;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"auth.js","sources":["../../../src/router-middleware/auth.ts"],"sourcesContent":["import { RouteLocationNormalized, RouteLocationRaw } from \"vue-router\";\nimport type { MSAppClient } from \"../core\";\n\nexport const authBeforeEach = async (\n msAppClient: MSAppClient,\n to: RouteLocationNormalized,\n from: RouteLocationNormalized\n): Promise<RouteLocationRaw | void> => {\n if (to.meta.isAuthorization === false) {\n return;\n }\n\n let userSession = msAppClient.userSession;\n\n if (!userSession) {\n try {\n await msAppClient.loadCurrentUserSession();\n\n userSession = msAppClient.userSession;\n\n if (!userSession) {\n return { name: \"login\" };\n }\n\n // 因为登陆成功会添加用户可以访问的路由,这里给到vue-router去重新resolve\n return { path: to.fullPath };\n } catch (e) {\n return { name: \"login\" };\n }\n }\n};\n"],"names":[],"mappings":"AAGO,MAAM,cAAiB,GAAA,OAC5B,WACA,EAAA,EAAA,EACA,IACqC,KAAA;AACrC,EAAI,IAAA,EAAA,CAAG,IAAK,CAAA,eAAA,KAAoB,KAAO,EAAA;AACrC,IAAA,OAAA;AAAA,GACF;AAEA,EAAA,IAAI,cAAc,WAAY,CAAA,WAAA,CAAA;AAE9B,EAAA,IAAI,CAAC,WAAa,EAAA;AAChB,IAAI,IAAA;AACF,MAAA,MAAM,YAAY,sBAAuB,EAAA,CAAA;AAEzC,MAAA,WAAA,GAAc,WAAY,CAAA,WAAA,CAAA;AAE1B,MAAA,IAAI,CAAC,WAAa,EAAA;AAChB,QAAO,OAAA,EAAE,MAAM,OAAQ,EAAA,CAAA;AAAA,OACzB;AAGA,MAAO,OAAA,EAAE,IAAM,EAAA,EAAA,CAAG,QAAS,EAAA,CAAA;AAAA,aACpB,CAAG,EAAA;AACV,MAAO,OAAA,EAAE,MAAM,OAAQ,EAAA,CAAA;AAAA,KACzB;AAAA,GACF;AACF;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maketribe/ms-app",
3
- "version": "3.0.16",
3
+ "version": "3.0.17",
4
4
  "description": "",
5
5
  "main": "dist/cjs",
6
6
  "files": [
@@ -21,8 +21,8 @@
21
21
  "vue-codemirror": "^6.1.1",
22
22
  "vue-router": "^4.2.4",
23
23
  "@maketribe/dm": "^3.0.9",
24
- "@maketribe/locale": "^1.0.5",
25
24
  "@maketribe/request": "^1.1.11",
25
+ "@maketribe/locale": "^1.0.5",
26
26
  "@maketribe/utils": "^1.1.4"
27
27
  },
28
28
  "scripts": {
@@ -1,6 +1,8 @@
1
+ import { defineAsyncComponent } from "vue";
1
2
  import { withInstall } from "@maketribe/utils";
2
- import JsonEditor from "./json-editor";
3
3
 
4
- export const MKJsonEditor = withInstall(JsonEditor);
4
+ export const MKJsonEditor = withInstall(
5
+ defineAsyncComponent(() => import("./json-editor"))
6
+ );
5
7
 
6
8
  export default MKJsonEditor;
@@ -6,11 +6,16 @@ export interface MKMaterialSelectOptions {
6
6
  allowMaterialTypeValues: MaterialType["value"][];
7
7
  }
8
8
 
9
+ export type MaterialSelectResult = {
10
+ success: boolean;
11
+ data: Material | null;
12
+ path: string;
13
+ };
14
+
9
15
  export interface IMKMaterialSelect {
10
- (options?: MKMaterialSelectOptions, appContext?: AppContext): Promise<{
11
- success: boolean;
12
- data: Material | null;
13
- path: string;
14
- }>;
16
+ (
17
+ options?: MKMaterialSelectOptions,
18
+ appContext?: AppContext
19
+ ): Promise<MaterialSelectResult>;
15
20
  _context: AppContext | null;
16
21
  }
@@ -0,0 +1,14 @@
1
+ import { MKMaterialSelect, MaterialSelectResult } from "../material-select";
2
+ import { UploadContext, UploadResult } from "./UploadContext";
3
+
4
+ export class MaterialUploadContext extends UploadContext {
5
+ async selectFile(): Promise<UploadResult> {
6
+ const materialSelectResult = await MKMaterialSelect();
7
+
8
+ return {
9
+ success: materialSelectResult.success,
10
+ path: materialSelectResult.path,
11
+ msg: "",
12
+ };
13
+ }
14
+ }
@@ -0,0 +1,11 @@
1
+ export type UploadResult = {
2
+ success: boolean;
3
+ path: string;
4
+ msg: string;
5
+ };
6
+
7
+ export class UploadContext {
8
+ selectFile(): Promise<UploadResult> {
9
+ throw new Error();
10
+ }
11
+ }
@@ -0,0 +1,58 @@
1
+ import { WebFileUpload } from "@maketribe/request";
2
+ import { UploadContext, UploadResult } from "./UploadContext";
3
+ import { MSAppClient } from "../../core";
4
+
5
+ export type WebFileUploadContextOptions = {
6
+ webFileUpload?: WebFileUpload;
7
+ };
8
+
9
+ export class WebFileUploadContext extends UploadContext {
10
+ webFileUpload: WebFileUpload;
11
+
12
+ constructor(options: WebFileUploadContextOptions = {}) {
13
+ super();
14
+
15
+ this.webFileUpload =
16
+ options.webFileUpload ??
17
+ new WebFileUpload({
18
+ httpRequest: MSAppClient.instance!.httpRequest,
19
+ });
20
+ }
21
+
22
+ async selectFile(): Promise<UploadResult> {
23
+ const input = document.createElement("input");
24
+
25
+ input.type = "file";
26
+ Object.assign(input.style, {
27
+ width: "1px",
28
+ height: "1px",
29
+ display: "none",
30
+ });
31
+
32
+ const file: File | null = await new Promise((resolve) => {
33
+ const handleFileChange = (event: Event) => {
34
+ const files = input.files;
35
+
36
+ input.parentElement?.removeChild(input);
37
+
38
+ resolve(files?.length ? files[0] : null);
39
+ };
40
+
41
+ input.addEventListener("change", handleFileChange);
42
+
43
+ document.body.append(input);
44
+ });
45
+
46
+ if (!file) {
47
+ return { success: true, path: "", msg: "" };
48
+ }
49
+
50
+ const response = await this.webFileUpload.upload(file);
51
+
52
+ return {
53
+ success: response.data.code === 200,
54
+ path: response.data.data.path,
55
+ msg: response.data.msg,
56
+ };
57
+ }
58
+ }
@@ -0,0 +1,23 @@
1
+ import { ExtractPropTypes } from "vue";
2
+ import { buildProps } from "@maketribe/utils";
3
+ import { UploadContext } from "./UploadContext";
4
+ import { MaterialUploadContext } from "./MaterialUploadContext";
5
+
6
+ export const uploadFileProps = buildProps({
7
+ modelValue: {
8
+ type: String,
9
+ required: true,
10
+ },
11
+ uploadContext: {
12
+ type: UploadContext,
13
+ default: () => new MaterialUploadContext(),
14
+ },
15
+ } as const);
16
+
17
+ export type UploadFileProps = ExtractPropTypes<typeof uploadFileProps>;
18
+
19
+ export const uploadFileEmits = {
20
+ "upload:modelValue": (path: string) => true,
21
+ };
22
+
23
+ export type UploadFileEmits = typeof uploadFileEmits;
@@ -0,0 +1,61 @@
1
+ import { computed, defineComponent, unref } from "vue";
2
+ import { uploadFileEmits, uploadFileProps } from "./upload-file-options";
3
+ import { ElMessage } from "element-plus";
4
+
5
+ /**
6
+ * 文件上传
7
+ *
8
+ * 文件上传在本后台中有两大分类
9
+ * 1.直接上传文件
10
+ * 2.使用素材库文件
11
+ *
12
+ * 文件上传的界面交互又会分为几种情况
13
+ * 1.单文件上传(单文件上传,可能会根据。文件情况的不同,界面显示方式不一样)
14
+ * 2.多文件上传(多文件上传基于单文件的逻辑,不过是会变成多个文件)
15
+ *
16
+ * 希望文件交互组件不需要用了解是直接上传文件或使用素材库。
17
+ *
18
+ */
19
+
20
+ export default defineComponent({
21
+ name: "MKUploadFile",
22
+ props: uploadFileProps,
23
+ emits: uploadFileEmits,
24
+ setup(props, { emit }) {
25
+ const value = computed({
26
+ get: () => props.modelValue,
27
+ set: (v: string) => emit("upload:modelValue", v),
28
+ });
29
+
30
+ const uploadContext = computed(() => props.uploadContext);
31
+
32
+ const handleUpload = async () => {
33
+ try {
34
+ const uploadResult = await unref(uploadContext).selectFile();
35
+
36
+ if (uploadResult.success) {
37
+ value.value = uploadResult.path;
38
+ return;
39
+ }
40
+
41
+ ElMessage.error(uploadResult.msg);
42
+ } catch (e) {
43
+ console.error(e);
44
+ ElMessage.error("网络异常");
45
+ }
46
+ };
47
+
48
+ return {
49
+ handleUpload,
50
+ };
51
+ },
52
+ render() {
53
+ const { handleUpload, $slots } = this;
54
+
55
+ return (
56
+ <div class="mk-upload-file" onClick={handleUpload}>
57
+ {$slots.default?.()}
58
+ </div>
59
+ );
60
+ },
61
+ });
@@ -120,28 +120,37 @@ export class PageManager {
120
120
  return;
121
121
  }
122
122
 
123
- const addedExtendsPageNames: string[] = [];
123
+ const router = userSession.router;
124
124
 
125
- if (!this.extendsPages.find((page) => page.name === "notFound")) {
126
- this.addExtendsPage({
127
- name: "notFound",
128
- // path: ":pathMatch(.*)*",
129
- path: "",
130
- component: () => import("../page/index/404.vue"),
131
- });
132
- }
125
+ const addedExtendsPageNames: string[] = [];
133
126
 
134
127
  for (const extendsPage of this.extendsPages) {
128
+ const routeInfo = router.getRouteByName(extendsPage.name as string);
129
+
130
+ if (!routeInfo) {
131
+ continue;
132
+ }
133
+
135
134
  const vueRoute = vueRoutes.find(
136
135
  (vueRoute) => vueRoute.name === extendsPage.name
137
136
  );
138
137
 
139
138
  if (!vueRoute) {
139
+ extendsPage.path = routeInfo.route || extendsPage.path;
140
140
  addedExtendsPageNames.push(extendsPage.name as string);
141
141
  vueRouter.addRoute("mk-ms-layout", extendsPage);
142
142
  }
143
143
  }
144
144
 
145
+ if (!this.extendsPages.find((page) => page.name === "notFound")) {
146
+ this.addExtendsPage({
147
+ name: "notFound",
148
+ // path: ":pathMatch(.*)*",
149
+ path: "",
150
+ component: () => import("../page/index/404.vue"),
151
+ });
152
+ }
153
+
145
154
  userSession.register(
146
155
  createDisposable(() => {
147
156
  for (const addedExtendsPageName of addedExtendsPageNames) {
@@ -45,7 +45,7 @@ export class Router extends Disposable {
45
45
  case "normal":
46
46
  vueRouter.addRoute("mk-ms-layout", {
47
47
  name: defaultPageRoute.name,
48
- path: `/dv/${name}`,
48
+ path: defaultPageRoute.route || `/dv/${name}`,
49
49
  component: () =>
50
50
  import(
51
51
  "../page/index/dv/default/single/list/normal.vue"
@@ -56,7 +56,7 @@ export class Router extends Disposable {
56
56
  case "dialog":
57
57
  vueRouter.addRoute("mk-ms-layout", {
58
58
  name: defaultPageRoute.name,
59
- path: `/dv/${name}`,
59
+ path: defaultPageRoute.route || `/dv/${name}`,
60
60
  component: () =>
61
61
  import(
62
62
  "../page/index/dv/default/single/list/dialog.vue"
@@ -72,7 +72,7 @@ export class Router extends Disposable {
72
72
  case "dialog":
73
73
  vueRouter.addRoute("mk-ms-layout", {
74
74
  name: defaultPageRoute.name,
75
- path: `/dv/${name}`,
75
+ path: defaultPageRoute.route || `/dv/${name}`,
76
76
  component: () =>
77
77
  import(
78
78
  "../page/index/dv/default/single/tree/dialog.vue"
@@ -87,7 +87,7 @@ export class Router extends Disposable {
87
87
  case "dialog":
88
88
  vueRouter.addRoute("mk-ms-layout", {
89
89
  name: defaultPageRoute.name,
90
- path: `/dv/${name}`,
90
+ path: defaultPageRoute.route || `/dv/${name}`,
91
91
  component: () =>
92
92
  import(
93
93
  "../page/index/dv/default/single/table-tree/dialog.vue"
@@ -102,7 +102,7 @@ export class Router extends Disposable {
102
102
  case "list":
103
103
  vueRouter.addRoute("mk-ms-layout", {
104
104
  name: defaultPageRoute.name,
105
- path: `/dv/${name}`,
105
+ path: defaultPageRoute.route || `/dv/${name}`,
106
106
  component: () => import("../page/index/dv/default/table.vue"),
107
107
  meta: { name },
108
108
  });
@@ -110,7 +110,7 @@ export class Router extends Disposable {
110
110
  case "edit":
111
111
  vueRouter.addRoute("mk-ms-layout", {
112
112
  name: defaultPageRoute.name,
113
- path: `/dv/${name}/:id`,
113
+ path: defaultPageRoute.route || `/dv/${name}/:id`,
114
114
  component: () => import("../page/index/dv/default/edit.vue"),
115
115
  meta: { name },
116
116
  });
@@ -118,7 +118,7 @@ export class Router extends Disposable {
118
118
  case "add":
119
119
  vueRouter.addRoute("mk-ms-layout", {
120
120
  name: defaultPageRoute.name,
121
- path: `/dv/${name}/add`,
121
+ path: defaultPageRoute.route || `/dv/${name}/add`,
122
122
  component: () => import("../page/index/dv/default/add.vue"),
123
123
  meta: { name },
124
124
  });
@@ -10,7 +10,7 @@ export type RouteResult = {
10
10
  type: number;
11
11
  menuId: string;
12
12
  iconName: string;
13
- path?: string;
13
+ route?: string;
14
14
  };
15
15
 
16
16
  export type Route = {
@@ -20,7 +20,7 @@ export type Route = {
20
20
  type: RouteType;
21
21
  menuId: string;
22
22
  iconName: string;
23
- path: string;
23
+ route: string;
24
24
  };
25
25
 
26
26
  export class RouteForm extends DataForm<RouteResult, Route> {
@@ -50,7 +50,7 @@ export class RouteForm extends DataForm<RouteResult, Route> {
50
50
  label: "图标",
51
51
  componentInfo: "MKFormIconSelect",
52
52
  }),
53
- new FormColumn({ name: "path", label: "路径" }),
53
+ new FormColumn({ name: "route", label: "路径" }),
54
54
  new FormColumn({
55
55
  name: "type",
56
56
  label: "路由类型",
@@ -86,7 +86,7 @@ export class RouteForm extends DataForm<RouteResult, Route> {
86
86
  `${item.type}` === RouteType.ROUTE ? RouteType.ROUTE : RouteType.LINK,
87
87
  menuId: item.menuId,
88
88
  iconName: item.iconName || "",
89
- path: item.path || "",
89
+ route: item.route || "",
90
90
  };
91
91
  }
92
92
  }
@@ -65,7 +65,7 @@ export class RouteTable extends DataTable<RouteResult, Route> {
65
65
  type: item.type === 0 ? RouteType.ROUTE : RouteType.LINK,
66
66
  menuId: item.menuId,
67
67
  iconName: item.iconName || "",
68
- path: item.path || "",
68
+ route: item.route || "",
69
69
  };
70
70
  }
71
71
  }
@@ -68,7 +68,7 @@ export const initApplication = async (options: InitMsApplicationOptions) => {
68
68
  );
69
69
 
70
70
  for (const route of routes) {
71
- if (route.key.startsWith("index-")) {
71
+ if (route.key.startsWith("index")) {
72
72
  msAppClient.pageManager.addExtendsPage(route);
73
73
  } else {
74
74
  msAppClient.pageManager.addNormalPage(route);
@@ -1,5 +1,4 @@
1
1
  import { RouteLocationNormalized, RouteLocationRaw } from "vue-router";
2
- import { isSameRoute } from "@maketribe/utils";
3
2
  import type { MSAppClient } from "../core";
4
3
 
5
4
  export const authBeforeEach = async (
@@ -24,7 +23,7 @@ export const authBeforeEach = async (
24
23
  }
25
24
 
26
25
  // 因为登陆成功会添加用户可以访问的路由,这里给到vue-router去重新resolve
27
- return { ...to };
26
+ return { path: to.fullPath };
28
27
  } catch (e) {
29
28
  return { name: "login" };
30
29
  }