@maketribe/ms-app 3.0.35 → 3.0.37

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 (93) hide show
  1. package/dist/cjs/dataview/material/material-group/MaterialGroupTree.js +1 -0
  2. package/dist/cjs/dataview/material/material-group/MaterialGroupTree.js.map +1 -1
  3. package/dist/cjs/dataview/member/MemberTable.js +2 -2
  4. package/dist/cjs/dataview/member/MemberTable.js.map +1 -1
  5. package/dist/cjs/dataview/menu/MenuTable.js +33 -0
  6. package/dist/cjs/dataview/menu/MenuTable.js.map +1 -1
  7. package/dist/cjs/layouts/components/header/tools.js +7 -2
  8. package/dist/cjs/layouts/components/header/tools.js.map +1 -1
  9. package/dist/cjs/node_modules/.pnpm/{@codemirror_autocomplete@6.11.1_@codemirror_language@6.9.3_@codemirror_state@6.3.2_@codemirro_dop6xooh6ucho44vivbvrw3b2e → @codemirror_autocomplete@6.15.0_@codemirror_language@6.10.1_@codemirror_state@6.4.1_@codemirr_djjyqdn7bhwopzrz2h2s2bwhzm}/node_modules/@codemirror/autocomplete/dist/index.js +77 -25
  10. package/dist/cjs/node_modules/.pnpm/@codemirror_autocomplete@6.15.0_@codemirror_language@6.10.1_@codemirror_state@6.4.1_@codemirr_djjyqdn7bhwopzrz2h2s2bwhzm/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -0
  11. package/dist/cjs/node_modules/.pnpm/@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js +7 -1433
  12. package/dist/cjs/node_modules/.pnpm/@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js.map +1 -1
  13. package/dist/cjs/node_modules/.pnpm/@codemirror_commands@6.3.3/node_modules/@codemirror/commands/dist/index.js +1484 -0
  14. package/dist/cjs/node_modules/.pnpm/@codemirror_commands@6.3.3/node_modules/@codemirror/commands/dist/index.js.map +1 -0
  15. package/dist/cjs/node_modules/.pnpm/@codemirror_language@6.10.1/node_modules/@codemirror/language/dist/index.js +1751 -0
  16. package/dist/cjs/node_modules/.pnpm/@codemirror_language@6.10.1/node_modules/@codemirror/language/dist/index.js.map +1 -0
  17. package/dist/cjs/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js +0 -1030
  18. package/dist/cjs/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js.map +1 -1
  19. package/dist/cjs/node_modules/.pnpm/{@codemirror_lint@6.4.2 → @codemirror_lint@6.5.0}/node_modules/@codemirror/lint/dist/index.js +8 -7
  20. package/dist/cjs/node_modules/.pnpm/@codemirror_lint@6.5.0/node_modules/@codemirror/lint/dist/index.js.map +1 -0
  21. package/dist/cjs/node_modules/.pnpm/{@codemirror_search@6.5.5 → @codemirror_search@6.5.6}/node_modules/@codemirror/search/dist/index.js +9 -9
  22. package/dist/cjs/node_modules/.pnpm/@codemirror_search@6.5.6/node_modules/@codemirror/search/dist/index.js.map +1 -0
  23. package/dist/cjs/node_modules/.pnpm/@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js +0 -42
  24. package/dist/cjs/node_modules/.pnpm/@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js.map +1 -1
  25. package/dist/cjs/node_modules/.pnpm/@codemirror_state@6.4.1/node_modules/@codemirror/state/dist/index.js +3958 -0
  26. package/dist/cjs/node_modules/.pnpm/@codemirror_state@6.4.1/node_modules/@codemirror/state/dist/index.js.map +1 -0
  27. package/dist/cjs/node_modules/.pnpm/@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js +3 -2161
  28. package/dist/cjs/node_modules/.pnpm/@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js.map +1 -1
  29. package/dist/cjs/node_modules/.pnpm/@codemirror_view@6.26.1/node_modules/@codemirror/view/dist/index.js +10580 -0
  30. package/dist/cjs/node_modules/.pnpm/@codemirror_view@6.26.1/node_modules/@codemirror/view/dist/index.js.map +1 -0
  31. package/dist/cjs/node_modules/.pnpm/@lezer_common@1.2.1/node_modules/@lezer/common/dist/index.js +1668 -0
  32. package/dist/cjs/node_modules/.pnpm/@lezer_common@1.2.1/node_modules/@lezer/common/dist/index.js.map +1 -0
  33. package/dist/cjs/node_modules/.pnpm/{codemirror@6.0.1_@lezer_common@1.1.1 → codemirror@6.0.1_@lezer_common@1.2.1}/node_modules/codemirror/dist/index.js +7 -7
  34. package/dist/cjs/node_modules/.pnpm/{codemirror@6.0.1_@lezer_common@1.1.1 → codemirror@6.0.1_@lezer_common@1.2.1}/node_modules/codemirror/dist/index.js.map +1 -1
  35. package/dist/cjs/node_modules/.pnpm/style-mod@4.1.2/node_modules/style-mod/src/style-mod.js +177 -0
  36. package/dist/cjs/node_modules/.pnpm/style-mod@4.1.2/node_modules/style-mod/src/style-mod.js.map +1 -0
  37. package/dist/cjs/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js +1 -1
  38. package/dist/esm/dataview/material/material-group/MaterialGroupTree.js +1 -0
  39. package/dist/esm/dataview/material/material-group/MaterialGroupTree.js.map +1 -1
  40. package/dist/esm/dataview/member/MemberTable.js +2 -2
  41. package/dist/esm/dataview/member/MemberTable.js.map +1 -1
  42. package/dist/esm/dataview/menu/MenuTable.js +34 -1
  43. package/dist/esm/dataview/menu/MenuTable.js.map +1 -1
  44. package/dist/esm/layouts/components/header/tools.js +7 -2
  45. package/dist/esm/layouts/components/header/tools.js.map +1 -1
  46. package/dist/esm/node_modules/.pnpm/{@codemirror_autocomplete@6.11.1_@codemirror_language@6.9.3_@codemirror_state@6.3.2_@codemirro_dop6xooh6ucho44vivbvrw3b2e → @codemirror_autocomplete@6.15.0_@codemirror_language@6.10.1_@codemirror_state@6.4.1_@codemirr_djjyqdn7bhwopzrz2h2s2bwhzm}/node_modules/@codemirror/autocomplete/dist/index.js +77 -25
  47. package/dist/esm/node_modules/.pnpm/@codemirror_autocomplete@6.15.0_@codemirror_language@6.10.1_@codemirror_state@6.4.1_@codemirr_djjyqdn7bhwopzrz2h2s2bwhzm/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -0
  48. package/dist/esm/node_modules/.pnpm/@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js +4 -1357
  49. package/dist/esm/node_modules/.pnpm/@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js.map +1 -1
  50. package/dist/esm/node_modules/.pnpm/@codemirror_commands@6.3.3/node_modules/@codemirror/commands/dist/index.js +1408 -0
  51. package/dist/esm/node_modules/.pnpm/@codemirror_commands@6.3.3/node_modules/@codemirror/commands/dist/index.js.map +1 -0
  52. package/dist/esm/node_modules/.pnpm/@codemirror_language@6.10.1/node_modules/@codemirror/language/dist/index.js +1715 -0
  53. package/dist/esm/node_modules/.pnpm/@codemirror_language@6.10.1/node_modules/@codemirror/language/dist/index.js.map +1 -0
  54. package/dist/esm/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js +4 -1011
  55. package/dist/esm/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js.map +1 -1
  56. package/dist/esm/node_modules/.pnpm/{@codemirror_lint@6.4.2 → @codemirror_lint@6.5.0}/node_modules/@codemirror/lint/dist/index.js +8 -7
  57. package/dist/esm/node_modules/.pnpm/@codemirror_lint@6.5.0/node_modules/@codemirror/lint/dist/index.js.map +1 -0
  58. package/dist/esm/node_modules/.pnpm/{@codemirror_search@6.5.5 → @codemirror_search@6.5.6}/node_modules/@codemirror/search/dist/index.js +9 -9
  59. package/dist/esm/node_modules/.pnpm/@codemirror_search@6.5.6/node_modules/@codemirror/search/dist/index.js.map +1 -0
  60. package/dist/esm/node_modules/.pnpm/@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js +1 -41
  61. package/dist/esm/node_modules/.pnpm/@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js.map +1 -1
  62. package/dist/esm/node_modules/.pnpm/@codemirror_state@6.4.1/node_modules/@codemirror/state/dist/index.js +3930 -0
  63. package/dist/esm/node_modules/.pnpm/@codemirror_state@6.4.1/node_modules/@codemirror/state/dist/index.js.map +1 -0
  64. package/dist/esm/node_modules/.pnpm/@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js +5 -2142
  65. package/dist/esm/node_modules/.pnpm/@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js.map +1 -1
  66. package/dist/esm/node_modules/.pnpm/@codemirror_view@6.26.1/node_modules/@codemirror/view/dist/index.js +10548 -0
  67. package/dist/esm/node_modules/.pnpm/@codemirror_view@6.26.1/node_modules/@codemirror/view/dist/index.js.map +1 -0
  68. package/dist/esm/node_modules/.pnpm/@lezer_common@1.2.1/node_modules/@lezer/common/dist/index.js +1658 -0
  69. package/dist/esm/node_modules/.pnpm/@lezer_common@1.2.1/node_modules/@lezer/common/dist/index.js.map +1 -0
  70. package/dist/esm/node_modules/.pnpm/{codemirror@6.0.1_@lezer_common@1.1.1 → codemirror@6.0.1_@lezer_common@1.2.1}/node_modules/codemirror/dist/index.js +8 -8
  71. package/dist/esm/node_modules/.pnpm/{codemirror@6.0.1_@lezer_common@1.1.1 → codemirror@6.0.1_@lezer_common@1.2.1}/node_modules/codemirror/dist/index.js.map +1 -1
  72. package/dist/esm/node_modules/.pnpm/style-mod@4.1.2/node_modules/style-mod/src/style-mod.js +175 -0
  73. package/dist/esm/node_modules/.pnpm/style-mod@4.1.2/node_modules/style-mod/src/style-mod.js.map +1 -0
  74. package/dist/esm/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js +1 -1
  75. package/dist/style/components/classify-search.css +1 -1
  76. package/dist/style/components/index.css +1 -1
  77. package/dist/style/index.css +2 -2
  78. package/dist/style/layouts/default/header.css +1 -1
  79. package/dist/style/layouts/default/index.css +1 -1
  80. package/dist/style/layouts/index.css +1 -1
  81. package/dist/style/src/components/classify-search.scss +5 -2
  82. package/dist/style/src/layouts/default/header.scss +4 -0
  83. package/package.json +3 -3
  84. package/src/dataview/material/material-group/MaterialGroupTree.ts +1 -0
  85. package/src/dataview/member/MemberTable.tsx +2 -2
  86. package/src/dataview/menu/MenuTable.ts +34 -1
  87. package/src/layouts/components/header/tools.tsx +6 -1
  88. package/dist/cjs/node_modules/.pnpm/@codemirror_autocomplete@6.11.1_@codemirror_language@6.9.3_@codemirror_state@6.3.2_@codemirro_dop6xooh6ucho44vivbvrw3b2e/node_modules/@codemirror/autocomplete/dist/index.js.map +0 -1
  89. package/dist/cjs/node_modules/.pnpm/@codemirror_lint@6.4.2/node_modules/@codemirror/lint/dist/index.js.map +0 -1
  90. package/dist/cjs/node_modules/.pnpm/@codemirror_search@6.5.5/node_modules/@codemirror/search/dist/index.js.map +0 -1
  91. package/dist/esm/node_modules/.pnpm/@codemirror_autocomplete@6.11.1_@codemirror_language@6.9.3_@codemirror_state@6.3.2_@codemirro_dop6xooh6ucho44vivbvrw3b2e/node_modules/@codemirror/autocomplete/dist/index.js.map +0 -1
  92. package/dist/esm/node_modules/.pnpm/@codemirror_lint@6.4.2/node_modules/@codemirror/lint/dist/index.js.map +0 -1
  93. package/dist/esm/node_modules/.pnpm/@codemirror_search@6.5.5/node_modules/@codemirror/search/dist/index.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var vue = require('vue');
4
- var index$4 = require('../../../../codemirror@6.0.1_@lezer_common@1.1.1/node_modules/codemirror/dist/index.js');
4
+ var index$4 = require('../../../../codemirror@6.0.1_@lezer_common@1.2.1/node_modules/codemirror/dist/index.js');
5
5
  var index$1 = require('../../../../@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js');
6
6
  var index = require('../../../../@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js');
7
7
  var index$2 = require('../../../../@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js');
@@ -26,6 +26,7 @@ class MaterialGroupTree extends DataTree {
26
26
  }
27
27
  }
28
28
  }
29
+ response.data.data = response.data.data.filter((item) => !item.parentGroupId);
29
30
  return response;
30
31
  }
31
32
  getCurrentNode() {
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialGroupTree.js","sources":["../../../../../src/dataview/material/material-group/MaterialGroupTree.ts"],"sourcesContent":["import { DataTableOptions, DataTree, DataTreeNode } from \"@maketribe/dm\";\r\nimport { MaterialGroup } from \"./MaterialGroupForm\";\r\n\r\nexport type MaterialGroupNode = MaterialGroup & {\r\n children: MaterialGroupNode[];\r\n};\r\n\r\nexport class MaterialGroupTree extends DataTree<MaterialGroupNode> {\r\n currentDataTreeNode: DataTreeNode<MaterialGroupNode> | null;\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: \"ms-material-group\",\r\n props: { label: \"desc\", children: \"children\" },\r\n ...options,\r\n });\r\n\r\n this.currentDataTreeNode = null;\r\n }\r\n\r\n protected async loadRequest(params: Record<string, any>) {\r\n const response = await super.loadRequest(params);\r\n\r\n if (response.data.code !== 200) {\r\n return response;\r\n }\r\n\r\n const list = response.data.data;\r\n\r\n const rootMaterialGroups: MaterialGroupNode[] = [];\r\n\r\n const materialGroups = list as MaterialGroupNode[];\r\n\r\n for (const materialGroup of materialGroups) {\r\n materialGroup.children = [];\r\n\r\n if (!materialGroup.parentGroupId) {\r\n rootMaterialGroups.push(materialGroup);\r\n }\r\n\r\n for (const item of materialGroups) {\r\n if (materialGroup.id === item.parentGroupId) {\r\n materialGroup.children.push(item);\r\n }\r\n }\r\n }\r\n return response;\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<MaterialGroupNode>[]\r\n ): DataTreeNode<MaterialGroupNode> | null => {\r\n if (nodes[0].children.length) {\r\n return getFirstNode(nodes[0].children);\r\n }\r\n\r\n return nodes[0];\r\n };\r\n\r\n return (this.currentDataTreeNode = getFirstNode(this.rootNodes));\r\n }\r\n\r\n setCurrentNode(node: DataTreeNode<MaterialGroupNode> | null) {\r\n this.currentDataTreeNode = node;\r\n }\r\n}\r\n"],"names":[],"mappings":";;AAOO,MAAM,0BAA0B,QAA4B,CAAA;AAAA,EACjE,mBAAA,CAAA;AAAA,EAEA,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAM,KAAA,CAAA;AAAA,MACJ,IAAM,EAAA,mBAAA;AAAA,MACN,KAAO,EAAA,EAAE,KAAO,EAAA,MAAA,EAAQ,UAAU,UAAW,EAAA;AAAA,MAC7C,GAAG,OAAA;AAAA,KACJ,CAAA,CAAA;AAED,IAAA,IAAA,CAAK,mBAAsB,GAAA,IAAA,CAAA;AAAA,GAC7B;AAAA,EAEA,MAAgB,YAAY,MAA6B,EAAA;AACvD,IAAA,MAAM,QAAW,GAAA,MAAM,KAAM,CAAA,WAAA,CAAY,MAAM,CAAA,CAAA;AAE/C,IAAI,IAAA,QAAA,CAAS,IAAK,CAAA,IAAA,KAAS,GAAK,EAAA;AAC9B,MAAO,OAAA,QAAA,CAAA;AAAA,KACT;AAEA,IAAM,MAAA,IAAA,GAAO,SAAS,IAAK,CAAA,IAAA,CAAA;AAI3B,IAAA,MAAM,cAAiB,GAAA,IAAA,CAAA;AAEvB,IAAA,KAAA,MAAW,iBAAiB,cAAgB,EAAA;AAC1C,MAAA,aAAA,CAAc,WAAW,EAAC,CAAA;AAE1B,MAAI,IAAA,CAAC,cAAc,aAAe,EAAA,CAElC;AAEA,MAAA,KAAA,MAAW,QAAQ,cAAgB,EAAA;AACjC,QAAI,IAAA,aAAA,CAAc,EAAO,KAAA,IAAA,CAAK,aAAe,EAAA;AAC3C,UAAc,aAAA,CAAA,QAAA,CAAS,KAAK,IAAI,CAAA,CAAA;AAAA,SAClC;AAAA,OACF;AAAA,KACF;AACA,IAAO,OAAA,QAAA,CAAA;AAAA,GACT;AAAA,EAEA,cAAiB,GAAA;AACf,IAAA,IAAI,KAAK,mBAAqB,EAAA;AAC5B,MAAA,OAAO,IAAK,CAAA,mBAAA,CAAA;AAAA,KACd;AAEA,IAAM,MAAA,YAAA,GAAe,CACnB,KAC2C,KAAA;AAC3C,MAAA,IAAI,KAAM,CAAA,CAAC,CAAE,CAAA,QAAA,CAAS,MAAQ,EAAA;AAC5B,QAAA,OAAO,YAAa,CAAA,KAAA,CAAM,CAAC,CAAA,CAAE,QAAQ,CAAA,CAAA;AAAA,OACvC;AAEA,MAAA,OAAO,MAAM,CAAC,CAAA,CAAA;AAAA,KAChB,CAAA;AAEA,IAAA,OAAQ,IAAK,CAAA,mBAAA,GAAsB,YAAa,CAAA,IAAA,CAAK,SAAS,CAAA,CAAA;AAAA,GAChE;AAAA,EAEA,eAAe,IAA8C,EAAA;AAC3D,IAAA,IAAA,CAAK,mBAAsB,GAAA,IAAA,CAAA;AAAA,GAC7B;AACF;;;;"}
1
+ {"version":3,"file":"MaterialGroupTree.js","sources":["../../../../../src/dataview/material/material-group/MaterialGroupTree.ts"],"sourcesContent":["import { DataTableOptions, DataTree, DataTreeNode } from \"@maketribe/dm\";\r\nimport { MaterialGroup } from \"./MaterialGroupForm\";\r\n\r\nexport type MaterialGroupNode = MaterialGroup & {\r\n children: MaterialGroupNode[];\r\n};\r\n\r\nexport class MaterialGroupTree extends DataTree<MaterialGroupNode> {\r\n currentDataTreeNode: DataTreeNode<MaterialGroupNode> | null;\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: \"ms-material-group\",\r\n props: { label: \"desc\", children: \"children\" },\r\n ...options,\r\n });\r\n\r\n this.currentDataTreeNode = null;\r\n }\r\n\r\n protected async loadRequest(params: Record<string, any>) {\r\n const response = await super.loadRequest(params);\r\n\r\n if (response.data.code !== 200) {\r\n return response;\r\n }\r\n\r\n const list = response.data.data;\r\n\r\n const rootMaterialGroups: MaterialGroupNode[] = [];\r\n\r\n const materialGroups = list as MaterialGroupNode[];\r\n\r\n for (const materialGroup of materialGroups) {\r\n materialGroup.children = [];\r\n\r\n if (!materialGroup.parentGroupId) {\r\n rootMaterialGroups.push(materialGroup);\r\n }\r\n\r\n for (const item of materialGroups) {\r\n if (materialGroup.id === item.parentGroupId) {\r\n materialGroup.children.push(item);\r\n }\r\n }\r\n }\r\n response.data.data = response.data.data.filter(item => !item.parentGroupId);\r\n return response;\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<MaterialGroupNode>[]\r\n ): DataTreeNode<MaterialGroupNode> | null => {\r\n if (nodes[0].children.length) {\r\n return getFirstNode(nodes[0].children);\r\n }\r\n\r\n return nodes[0];\r\n };\r\n\r\n return (this.currentDataTreeNode = getFirstNode(this.rootNodes));\r\n }\r\n\r\n setCurrentNode(node: DataTreeNode<MaterialGroupNode> | null) {\r\n this.currentDataTreeNode = node;\r\n }\r\n}\r\n"],"names":[],"mappings":";;AAOO,MAAM,0BAA0B,QAA4B,CAAA;AAAA,EACjE,mBAAA,CAAA;AAAA,EAEA,WAAA,CAAY,OAA4B,GAAA,EAAI,EAAA;AAC1C,IAAM,KAAA,CAAA;AAAA,MACJ,IAAM,EAAA,mBAAA;AAAA,MACN,KAAO,EAAA,EAAE,KAAO,EAAA,MAAA,EAAQ,UAAU,UAAW,EAAA;AAAA,MAC7C,GAAG,OAAA;AAAA,KACJ,CAAA,CAAA;AAED,IAAA,IAAA,CAAK,mBAAsB,GAAA,IAAA,CAAA;AAAA,GAC7B;AAAA,EAEA,MAAgB,YAAY,MAA6B,EAAA;AACvD,IAAA,MAAM,QAAW,GAAA,MAAM,KAAM,CAAA,WAAA,CAAY,MAAM,CAAA,CAAA;AAE/C,IAAI,IAAA,QAAA,CAAS,IAAK,CAAA,IAAA,KAAS,GAAK,EAAA;AAC9B,MAAO,OAAA,QAAA,CAAA;AAAA,KACT;AAEA,IAAM,MAAA,IAAA,GAAO,SAAS,IAAK,CAAA,IAAA,CAAA;AAI3B,IAAA,MAAM,cAAiB,GAAA,IAAA,CAAA;AAEvB,IAAA,KAAA,MAAW,iBAAiB,cAAgB,EAAA;AAC1C,MAAA,aAAA,CAAc,WAAW,EAAC,CAAA;AAE1B,MAAI,IAAA,CAAC,cAAc,aAAe,EAAA,CAElC;AAEA,MAAA,KAAA,MAAW,QAAQ,cAAgB,EAAA;AACjC,QAAI,IAAA,aAAA,CAAc,EAAO,KAAA,IAAA,CAAK,aAAe,EAAA;AAC3C,UAAc,aAAA,CAAA,QAAA,CAAS,KAAK,IAAI,CAAA,CAAA;AAAA,SAClC;AAAA,OACF;AAAA,KACF;AACA,IAAS,QAAA,CAAA,IAAA,CAAK,OAAO,QAAS,CAAA,IAAA,CAAK,KAAK,MAAO,CAAA,CAAA,IAAA,KAAQ,CAAC,IAAA,CAAK,aAAa,CAAA,CAAA;AAC1E,IAAO,OAAA,QAAA,CAAA;AAAA,GACT;AAAA,EAEA,cAAiB,GAAA;AACf,IAAA,IAAI,KAAK,mBAAqB,EAAA;AAC5B,MAAA,OAAO,IAAK,CAAA,mBAAA,CAAA;AAAA,KACd;AAEA,IAAM,MAAA,YAAA,GAAe,CACnB,KAC2C,KAAA;AAC3C,MAAA,IAAI,KAAM,CAAA,CAAC,CAAE,CAAA,QAAA,CAAS,MAAQ,EAAA;AAC5B,QAAA,OAAO,YAAa,CAAA,KAAA,CAAM,CAAC,CAAA,CAAE,QAAQ,CAAA,CAAA;AAAA,OACvC;AAEA,MAAA,OAAO,MAAM,CAAC,CAAA,CAAA;AAAA,KAChB,CAAA;AAEA,IAAA,OAAQ,IAAK,CAAA,mBAAA,GAAsB,YAAa,CAAA,IAAA,CAAK,SAAS,CAAA,CAAA;AAAA,GAChE;AAAA,EAEA,eAAe,IAA8C,EAAA;AAC3D,IAAA,IAAA,CAAK,mBAAsB,GAAA,IAAA,CAAA;AAAA,GAC7B;AACF;;;;"}
@@ -16,8 +16,8 @@ class MemberTable extends DataTable {
16
16
  await super.initialize();
17
17
  await this.initActiveMemberForm();
18
18
  this.dataFilter.setColumns([new FilterColumn({
19
- name: "fdsafdsaf",
20
- label: "fasdfsa",
19
+ name: "createdAt",
20
+ label: "\u521B\u5EFA\u65F6\u95F4",
21
21
  componentInfo: "MKConditionDate",
22
22
  defaultValue: ["2024-01-20 00:00:00", "2024-01-21 00:00:00"]
23
23
  }), new FilterColumn({
@@ -1 +1 @@
1
- {"version":3,"file":"MemberTable.js","sources":["../../../../src/dataview/member/MemberTable.tsx"],"sourcesContent":["import { R } from \"@maketribe/request\";\r\nimport {\r\n TableColumn,\r\n DataTable,\r\n DataTableOptions,\r\n FilterColumn,\r\n TableActionColumn,\r\n ActionButton,\r\n DeleteButton,\r\n EditButton,\r\n Messager,\r\n Dialoger,\r\n FormColumn,\r\n} from \"@maketribe/dm\";\r\nimport { defineDataTable } from \"../../define-data-table\";\r\nimport { Member, MemberForm, MemberResult } from \"./MemberForm\";\r\n\r\nexport type MemberTableItem = Omit<Member, \"password\" | \"confirmPassword\">;\r\n\r\nexport class MemberTable extends DataTable<MemberResult, MemberTableItem> {\r\n activeMemberForm: MemberForm;\r\n\r\n isShowActiveMemberForm: boolean;\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({ name: \"ms-member\", ...options });\r\n\r\n this.activeMemberForm = new MemberForm();\r\n\r\n this.isShowActiveMemberForm = false;\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n await this.initActiveMemberForm();\r\n\r\n this.dataFilter.setColumns([\r\n new FilterColumn({\r\n name: \"fdsafdsaf\",\r\n label: \"fasdfsa\",\r\n componentInfo: \"MKConditionDate\",\r\n defaultValue: [\"2024-01-20 00:00:00\", \"2024-01-21 00:00:00\"]\r\n }),\r\n new FilterColumn({\r\n name: \"name\",\r\n label: \"姓名\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"wechatNo\",\r\n label: \"微信号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"nickName\",\r\n label: \"昵称\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"email\",\r\n label: \"邮箱\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"phone\",\r\n label: \"手机号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"account\",\r\n label: \"账号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n ]);\r\n\r\n this.setColumns([\r\n new TableColumn({\r\n name: \"id\",\r\n label: \"编号\",\r\n width: \"190px\",\r\n visible: false,\r\n }),\r\n new TableColumn({ name: \"name\", label: \"姓名\", minWidth: \"150px\" }),\r\n new TableColumn({ name: \"nickName\", label: \"昵称\", minWidth: \"150px\" }),\r\n new TableColumn({\r\n name: \"avatar\",\r\n label: \"头像\",\r\n componentInfo: \"MKColumnImage\",\r\n width: \"80px\",\r\n }),\r\n new TableColumn({ name: \"account\", label: \"账号\", minWidth: \"150px\" }),\r\n new TableColumn({ name: \"email\", label: \"邮箱\", minWidth: \"200px\" }),\r\n new TableColumn({ name: \"phone\", label: \"手机号\", minWidth: \"120px\" }),\r\n new TableColumn({ name: \"wechatNo\", label: \"微信号\", minWidth: \"140px\" }),\r\n new TableColumn({\r\n name: \"valid\",\r\n label: \"微信号\",\r\n minWidth: \"140px\",\r\n visible: false,\r\n }),\r\n new TableActionColumn({\r\n width: \"200px\",\r\n buttons: [\r\n new ActionButton({\r\n label: \"激活用户\",\r\n handler: async (row) => {\r\n const response = await this.activeMemberForm.editRecord(row.id);\r\n\r\n if (response.data.code !== 200) {\r\n Messager.instance.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n this.isShowActiveMemberForm = true;\r\n },\r\n predicate: (member: MemberTableItem) => member.valid === 0,\r\n }),\r\n new ActionButton({\r\n label: \"重置密码\",\r\n handler: async (row) => {\r\n const isConfirm = await Dialoger.instance.confirm({\r\n title: \"重置密码\",\r\n message: \"是否重置密码\",\r\n type: \"warning\",\r\n cancelButtonText: \"取消\",\r\n confirmButtonText: \"确定\",\r\n });\r\n if (!isConfirm) {\r\n return;\r\n }\r\n this.loadingManager.startLoading();\r\n\r\n const response = await this.dataViewRequest.callDVRequest<\r\n R<string>\r\n >({\r\n action: `${row.id}/password/reset`,\r\n });\r\n\r\n this.loadingManager.completeLoading();\r\n if (response.data.code !== 200) {\r\n Messager.instance.error({\r\n message: response.data.msg || \"重置密码失败\",\r\n });\r\n return;\r\n }\r\n\r\n const res = await Dialoger.instance.confirm({\r\n title: \"重置密码成功\",\r\n message: (\r\n <p>\r\n <span>你的新密码为{response.data.data}</span>\r\n </p>\r\n ),\r\n type: \"warning\",\r\n cancelButtonText: \"取消\",\r\n confirmButtonText: \"复制\",\r\n });\r\n if (!res) {\r\n return;\r\n }\r\n\r\n navigator.clipboard.writeText(response.data.data);\r\n Messager.instance.success({ message: \"复制成功\" });\r\n },\r\n predicate: (member: MemberTableItem) => member.valid === 1,\r\n }),\r\n new EditButton({\r\n predicate: (member: MemberTableItem) => member.valid === 1,\r\n }),\r\n new DeleteButton(),\r\n ],\r\n }),\r\n ]);\r\n }\r\n\r\n protected async initActiveMemberForm() {\r\n const activeMemberForm = this.activeMemberForm;\r\n\r\n await activeMemberForm.init();\r\n\r\n activeMemberForm.setColumns([\r\n activeMemberForm.getColumn(\"id\")!,\r\n new FormColumn({\r\n name: \"approveResult\",\r\n label: \"是否通过\",\r\n defaultValue: \"0\",\r\n componentInfo: \"MKFormRadioBox\",\r\n required: true,\r\n componentProps: {\r\n options: [\r\n { label: \"通过\", value: \"1\" },\r\n { label: \"不通过\", value: \"0\" },\r\n ],\r\n },\r\n }),\r\n activeMemberForm.getColumn(\"roles\")!,\r\n activeMemberForm.getColumn(\"depts\")!,\r\n activeMemberForm.getColumn(\"memo\")!,\r\n ]);\r\n }\r\n\r\n async approveMember() {\r\n try {\r\n this.activeMemberForm.getLoadingManager().startLoading();\r\n const result = await this.activeMemberForm.httpRequest?.post(\r\n \"/api/dv/ms-member/apply/account/approve\",\r\n {\r\n ...this.activeMemberForm.formatSubmitData(this.activeMemberForm.data),\r\n }\r\n );\r\n this.activeMemberForm.getLoadingManager().completeLoading();\r\n\r\n if (result?.data.code != 200) {\r\n Messager.instance.error(result?.data.msg || \"请求失败\");\r\n return;\r\n }\r\n\r\n Messager.instance.success({\r\n message: \"激活通过,密码已发送到邮箱\",\r\n });\r\n\r\n this.load();\r\n } catch (e) {\r\n console.error(e);\r\n Messager.instance.error({ message: \"网络异常\" });\r\n }\r\n }\r\n\r\n formatItem(item: MemberResult): MemberTableItem {\r\n let avatar: string | null;\r\n try {\r\n avatar = item.avatar ? new URL(item.avatar).toString() : null;\r\n } catch (e) {\r\n avatar = null;\r\n }\r\n\r\n return {\r\n id: item.id,\r\n name: item.name || \"\",\r\n wechatNo: item.wechatNo || \"\",\r\n nickName: item.nickName || \"\",\r\n email: item.email || \"\",\r\n phone: item.phone || \"\",\r\n account: item.account || \"\",\r\n avatar,\r\n roles: item.roles?.map((role) => ({\r\n id: role.id,\r\n name: role.name || \"\",\r\n desc: role.desc || \"\",\r\n })),\r\n depts: item.depts?.map((department) => ({\r\n id: department.id,\r\n name: department.name || \"\",\r\n // memberID: department.memberID || null,\r\n pid: department.pid || null,\r\n })),\r\n valid: item.valid,\r\n };\r\n }\r\n}\r\n\r\ndefineDataTable(MemberTable);\r\n"],"names":["MemberTable","DataTable","constructor","options","name","activeMemberForm","MemberForm","isShowActiveMemberForm","initialize","initActiveMemberForm","dataFilter","setColumns","FilterColumn","label","componentInfo","defaultValue","TableColumn","width","visible","minWidth","TableActionColumn","buttons","ActionButton","handler","row","response","editRecord","id","data","code","Messager","instance","error","message","msg","predicate","member","valid","isConfirm","Dialoger","confirm","title","type","cancelButtonText","confirmButtonText","loadingManager","startLoading","dataViewRequest","callDVRequest","action","completeLoading","res","_createVNode","_createTextVNode","navigator","clipboard","writeText","success","EditButton","DeleteButton","init","getColumn","FormColumn","required","componentProps","value","approveMember","getLoadingManager","result","httpRequest","post","formatSubmitData","load","e","console","formatItem","item","avatar","URL","toString","wechatNo","nickName","email","phone","account","roles","map","role","desc","depts","department","pid","defineDataTable"],"mappings":"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"}
1
+ {"version":3,"file":"MemberTable.js","sources":["../../../../src/dataview/member/MemberTable.tsx"],"sourcesContent":["import { R } from \"@maketribe/request\";\r\nimport {\r\n TableColumn,\r\n DataTable,\r\n DataTableOptions,\r\n FilterColumn,\r\n TableActionColumn,\r\n ActionButton,\r\n DeleteButton,\r\n EditButton,\r\n Messager,\r\n Dialoger,\r\n FormColumn,\r\n} from \"@maketribe/dm\";\r\nimport { defineDataTable } from \"../../define-data-table\";\r\nimport { Member, MemberForm, MemberResult } from \"./MemberForm\";\r\n\r\nexport type MemberTableItem = Omit<Member, \"password\" | \"confirmPassword\">;\r\n\r\nexport class MemberTable extends DataTable<MemberResult, MemberTableItem> {\r\n activeMemberForm: MemberForm;\r\n\r\n isShowActiveMemberForm: boolean;\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({ name: \"ms-member\", ...options });\r\n\r\n this.activeMemberForm = new MemberForm();\r\n\r\n this.isShowActiveMemberForm = false;\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n await this.initActiveMemberForm();\r\n\r\n this.dataFilter.setColumns([\r\n new FilterColumn({\r\n name: \"createdAt\",\r\n label: \"创建时间\",\r\n componentInfo: \"MKConditionDate\",\r\n defaultValue: [\"2024-01-20 00:00:00\", \"2024-01-21 00:00:00\"]\r\n }),\r\n new FilterColumn({\r\n name: \"name\",\r\n label: \"姓名\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"wechatNo\",\r\n label: \"微信号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"nickName\",\r\n label: \"昵称\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"email\",\r\n label: \"邮箱\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"phone\",\r\n label: \"手机号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"account\",\r\n label: \"账号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n ]);\r\n\r\n this.setColumns([\r\n new TableColumn({\r\n name: \"id\",\r\n label: \"编号\",\r\n width: \"190px\",\r\n visible: false,\r\n }),\r\n new TableColumn({ name: \"name\", label: \"姓名\", minWidth: \"150px\" }),\r\n new TableColumn({ name: \"nickName\", label: \"昵称\", minWidth: \"150px\" }),\r\n new TableColumn({\r\n name: \"avatar\",\r\n label: \"头像\",\r\n componentInfo: \"MKColumnImage\",\r\n width: \"80px\",\r\n }),\r\n new TableColumn({ name: \"account\", label: \"账号\", minWidth: \"150px\" }),\r\n new TableColumn({ name: \"email\", label: \"邮箱\", minWidth: \"200px\" }),\r\n new TableColumn({ name: \"phone\", label: \"手机号\", minWidth: \"120px\" }),\r\n new TableColumn({ name: \"wechatNo\", label: \"微信号\", minWidth: \"140px\" }),\r\n new TableColumn({\r\n name: \"valid\",\r\n label: \"微信号\",\r\n minWidth: \"140px\",\r\n visible: false,\r\n }),\r\n new TableActionColumn({\r\n width: \"200px\",\r\n buttons: [\r\n new ActionButton({\r\n label: \"激活用户\",\r\n handler: async (row) => {\r\n const response = await this.activeMemberForm.editRecord(row.id);\r\n\r\n if (response.data.code !== 200) {\r\n Messager.instance.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n this.isShowActiveMemberForm = true;\r\n },\r\n predicate: (member: MemberTableItem) => member.valid === 0,\r\n }),\r\n new ActionButton({\r\n label: \"重置密码\",\r\n handler: async (row) => {\r\n const isConfirm = await Dialoger.instance.confirm({\r\n title: \"重置密码\",\r\n message: \"是否重置密码\",\r\n type: \"warning\",\r\n cancelButtonText: \"取消\",\r\n confirmButtonText: \"确定\",\r\n });\r\n if (!isConfirm) {\r\n return;\r\n }\r\n this.loadingManager.startLoading();\r\n\r\n const response = await this.dataViewRequest.callDVRequest<\r\n R<string>\r\n >({\r\n action: `${row.id}/password/reset`,\r\n });\r\n\r\n this.loadingManager.completeLoading();\r\n if (response.data.code !== 200) {\r\n Messager.instance.error({\r\n message: response.data.msg || \"重置密码失败\",\r\n });\r\n return;\r\n }\r\n\r\n const res = await Dialoger.instance.confirm({\r\n title: \"重置密码成功\",\r\n message: (\r\n <p>\r\n <span>你的新密码为{response.data.data}</span>\r\n </p>\r\n ),\r\n type: \"warning\",\r\n cancelButtonText: \"取消\",\r\n confirmButtonText: \"复制\",\r\n });\r\n if (!res) {\r\n return;\r\n }\r\n\r\n navigator.clipboard.writeText(response.data.data);\r\n Messager.instance.success({ message: \"复制成功\" });\r\n },\r\n predicate: (member: MemberTableItem) => member.valid === 1,\r\n }),\r\n new EditButton({\r\n predicate: (member: MemberTableItem) => member.valid === 1,\r\n }),\r\n new DeleteButton(),\r\n ],\r\n }),\r\n ]);\r\n }\r\n\r\n protected async initActiveMemberForm() {\r\n const activeMemberForm = this.activeMemberForm;\r\n\r\n await activeMemberForm.init();\r\n\r\n activeMemberForm.setColumns([\r\n activeMemberForm.getColumn(\"id\")!,\r\n new FormColumn({\r\n name: \"approveResult\",\r\n label: \"是否通过\",\r\n defaultValue: \"0\",\r\n componentInfo: \"MKFormRadioBox\",\r\n required: true,\r\n componentProps: {\r\n options: [\r\n { label: \"通过\", value: \"1\" },\r\n { label: \"不通过\", value: \"0\" },\r\n ],\r\n },\r\n }),\r\n activeMemberForm.getColumn(\"roles\")!,\r\n activeMemberForm.getColumn(\"depts\")!,\r\n activeMemberForm.getColumn(\"memo\")!,\r\n ]);\r\n }\r\n\r\n async approveMember() {\r\n try {\r\n this.activeMemberForm.getLoadingManager().startLoading();\r\n const result = await this.activeMemberForm.httpRequest?.post(\r\n \"/api/dv/ms-member/apply/account/approve\",\r\n {\r\n ...this.activeMemberForm.formatSubmitData(this.activeMemberForm.data),\r\n }\r\n );\r\n this.activeMemberForm.getLoadingManager().completeLoading();\r\n\r\n if (result?.data.code != 200) {\r\n Messager.instance.error(result?.data.msg || \"请求失败\");\r\n return;\r\n }\r\n\r\n Messager.instance.success({\r\n message: \"激活通过,密码已发送到邮箱\",\r\n });\r\n\r\n this.load();\r\n } catch (e) {\r\n console.error(e);\r\n Messager.instance.error({ message: \"网络异常\" });\r\n }\r\n }\r\n\r\n formatItem(item: MemberResult): MemberTableItem {\r\n let avatar: string | null;\r\n try {\r\n avatar = item.avatar ? new URL(item.avatar).toString() : null;\r\n } catch (e) {\r\n avatar = null;\r\n }\r\n\r\n return {\r\n id: item.id,\r\n name: item.name || \"\",\r\n wechatNo: item.wechatNo || \"\",\r\n nickName: item.nickName || \"\",\r\n email: item.email || \"\",\r\n phone: item.phone || \"\",\r\n account: item.account || \"\",\r\n avatar,\r\n roles: item.roles?.map((role) => ({\r\n id: role.id,\r\n name: role.name || \"\",\r\n desc: role.desc || \"\",\r\n })),\r\n depts: item.depts?.map((department) => ({\r\n id: department.id,\r\n name: department.name || \"\",\r\n // memberID: department.memberID || null,\r\n pid: department.pid || null,\r\n })),\r\n valid: item.valid,\r\n };\r\n }\r\n}\r\n\r\ndefineDataTable(MemberTable);\r\n"],"names":["MemberTable","DataTable","constructor","options","name","activeMemberForm","MemberForm","isShowActiveMemberForm","initialize","initActiveMemberForm","dataFilter","setColumns","FilterColumn","label","componentInfo","defaultValue","TableColumn","width","visible","minWidth","TableActionColumn","buttons","ActionButton","handler","row","response","editRecord","id","data","code","Messager","instance","error","message","msg","predicate","member","valid","isConfirm","Dialoger","confirm","title","type","cancelButtonText","confirmButtonText","loadingManager","startLoading","dataViewRequest","callDVRequest","action","completeLoading","res","_createVNode","_createTextVNode","navigator","clipboard","writeText","success","EditButton","DeleteButton","init","getColumn","FormColumn","required","componentProps","value","approveMember","getLoadingManager","result","httpRequest","post","formatSubmitData","load","e","console","formatItem","item","avatar","URL","toString","wechatNo","nickName","email","phone","account","roles","map","role","desc","depts","department","pid","defineDataTable"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DataTable, TableColumn, TableActionColumn } from '@maketribe/dm';
1
+ import { DataTable, ClassifySearchItem, TableColumn, TableActionColumn } from '@maketribe/dm';
2
2
  import { defineDataTable } from '../../define-data-table.js';
3
3
 
4
4
  class MenuTable extends DataTable {
@@ -7,6 +7,39 @@ class MenuTable extends DataTable {
7
7
  }
8
8
  async initialize() {
9
9
  await super.initialize();
10
+ this.classifySearch.setClassifySearchItems([
11
+ new ClassifySearchItem({
12
+ name: "createdAt",
13
+ label: "\u5B66\u5E74",
14
+ defaultValue: (/* @__PURE__ */ new Date()).getFullYear() - 0,
15
+ options: [
16
+ { value: "", label: "\u5168\u90E8" },
17
+ { value: (/* @__PURE__ */ new Date()).getFullYear(), label: (/* @__PURE__ */ new Date()).getFullYear() },
18
+ { value: (/* @__PURE__ */ new Date()).getFullYear() - 1, label: (/* @__PURE__ */ new Date()).getFullYear() - 1 },
19
+ { value: (/* @__PURE__ */ new Date()).getFullYear() - 2, label: (/* @__PURE__ */ new Date()).getFullYear() - 2 }
20
+ ]
21
+ }),
22
+ new ClassifySearchItem({
23
+ name: "isAdmit",
24
+ label: "\u5F55\u53D6\u72B6\u6001\uFF1A",
25
+ options: [
26
+ { value: "", label: "\u5168\u90E8" },
27
+ { value: "0", label: "\u5F85\u5B9A" },
28
+ { value: "1", label: "\u9884\u5F55\u53D6" },
29
+ { value: "2", label: "\u5DF2\u5F55\u53D6" }
30
+ ]
31
+ }),
32
+ new ClassifySearchItem({
33
+ name: "isPass",
34
+ label: "\u901A\u8FC7\u72B6\u6001",
35
+ options: [
36
+ { value: "", label: "\u5168\u90E8" },
37
+ { value: "0", label: "\u5F85\u5B9A" },
38
+ { value: "1", label: "\u901A\u8FC7" },
39
+ { value: "2", label: "\u4E0D\u901A\u8FC7" }
40
+ ]
41
+ })
42
+ ]);
10
43
  this.setColumns([
11
44
  new TableColumn({ name: "id", label: "\u7F16\u53F7", visible: false }),
12
45
  new TableColumn({ name: "title", label: "\u83DC\u5355\u63CF\u8FF0" }),
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTable.js","sources":["../../../../src/dataview/menu/MenuTable.ts"],"sourcesContent":["import {\r\n DataTable,\r\n DataTableOptions,\r\n TableActionColumn,\r\n TableColumn,\r\n} from \"@maketribe/dm\";\r\nimport { defineDataTable } from \"../../define-data-table\";\r\nimport type { MenuItem, MenuResult } from \"./MenuForm\";\r\nimport { DVQueryable } from \"@maketribe/request\";\r\n\r\nexport class MenuTable<T extends MenuItem = MenuItem> extends DataTable<\r\n MenuResult,\r\n T\r\n> {\r\n constructor(options: Omit<DataTableOptions, \"name\"> = {}) {\r\n super({ name: \"ms-menu\", ...options });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\r\n new TableColumn({ name: \"title\", label: \"菜单描述\" }),\r\n new TableActionColumn(),\r\n ]);\r\n }\r\n\r\n formatItem(item: MenuResult): T {\r\n return {\r\n id: item.id,\r\n title: item.title || \"\",\r\n iconName: item.iconName || \"\",\r\n pid: item.pid || \"\",\r\n routeId: item.routeId,\r\n } as T;\r\n }\r\n}\r\n\r\ndefineDataTable(MenuTable);\r\n"],"names":[],"mappings":";;;AAUO,MAAM,kBAAiD,SAG5D,CAAA;AAAA,EACA,WAAA,CAAY,OAA0C,GAAA,EAAI,EAAA;AACxD,IAAA,KAAA,CAAM,EAAE,IAAA,EAAM,SAAW,EAAA,GAAG,SAAS,CAAA,CAAA;AAAA,GACvC;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,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,OAAS,EAAA,KAAA,EAAO,4BAAQ,CAAA;AAAA,MAChD,IAAI,iBAAkB,EAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,WAAW,IAAqB,EAAA;AAC9B,IAAO,OAAA;AAAA,MACL,IAAI,IAAK,CAAA,EAAA;AAAA,MACT,KAAA,EAAO,KAAK,KAAS,IAAA,EAAA;AAAA,MACrB,QAAA,EAAU,KAAK,QAAY,IAAA,EAAA;AAAA,MAC3B,GAAA,EAAK,KAAK,GAAO,IAAA,EAAA;AAAA,MACjB,SAAS,IAAK,CAAA,OAAA;AAAA,KAChB,CAAA;AAAA,GACF;AACF,CAAA;AAEA,eAAA,CAAgB,SAAS,CAAA;;;;"}
1
+ {"version":3,"file":"MenuTable.js","sources":["../../../../src/dataview/menu/MenuTable.ts"],"sourcesContent":["import {\r\n DataTable,\r\n DataTableOptions,\r\n TableActionColumn,\r\n TableColumn,\r\n ClassifySearchItem\r\n} from \"@maketribe/dm\";\r\nimport { defineDataTable } from \"../../define-data-table\";\r\nimport type { MenuItem, MenuResult } from \"./MenuForm\";\r\nimport { DVQueryable } from \"@maketribe/request\";\r\n\r\nexport class MenuTable<T extends MenuItem = MenuItem> extends DataTable<\r\n MenuResult,\r\n T\r\n> {\r\n constructor(options: Omit<DataTableOptions, \"name\"> = {}) {\r\n super({ name: \"ms-menu\", ...options });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n this.classifySearch.setClassifySearchItems([\r\n new ClassifySearchItem({\r\n name: \"createdAt\",\r\n label: \"学年\",\r\n defaultValue: new Date().getFullYear() - 0,\r\n options: [\r\n { value: '', label: \"全部\" },\r\n { value: new Date().getFullYear(), label: new Date().getFullYear() },\r\n { value: new Date().getFullYear() - 1, label: new Date().getFullYear() - 1 },\r\n { value: new Date().getFullYear() - 2, label: new Date().getFullYear() - 2 },\r\n ],\r\n }),\r\n new ClassifySearchItem({\r\n name: \"isAdmit\",\r\n label: \"录取状态:\",\r\n options: [\r\n { value: '', label: \"全部\" },\r\n { value: \"0\", label: \"待定\" },\r\n { value: \"1\", label: \"预录取\" },\r\n { value: \"2\", label: \"已录取\" },\r\n ],\r\n }),\r\n new ClassifySearchItem({\r\n name: \"isPass\",\r\n label: \"通过状态\",\r\n options: [\r\n { value: '', label: \"全部\" },\r\n { value: \"0\", label: \"待定\" },\r\n { value: \"1\", label: \"通过\" },\r\n { value: \"2\", label: \"不通过\" },\r\n ],\r\n }),\r\n ]);\r\n this.setColumns([\r\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\r\n new TableColumn({ name: \"title\", label: \"菜单描述\" }),\r\n new TableActionColumn(),\r\n ]);\r\n }\r\n\r\n formatItem(item: MenuResult): T {\r\n return {\r\n id: item.id,\r\n title: item.title || \"\",\r\n iconName: item.iconName || \"\",\r\n pid: item.pid || \"\",\r\n routeId: item.routeId,\r\n } as T;\r\n }\r\n}\r\n\r\ndefineDataTable(MenuTable);\r\n"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ const MKHeaderTools = /* @__PURE__ */ defineComponent({
70
70
  const msAppClient = MSAppClient.instance;
71
71
  const userSession = msAppClient.userSession;
72
72
  const userInfo = computed(() => userSession.userInfo);
73
- const avatar = computed(() => unref(userInfo).avatar || "/avatar.png");
73
+ const avatar = computed(() => unref(userInfo).avatar);
74
74
  return () => {
75
75
  return createVNode("div", {
76
76
  "class": "mk-header-tools"
@@ -85,7 +85,12 @@ const MKHeaderTools = /* @__PURE__ */ defineComponent({
85
85
  }, [createVNode(ElImage, {
86
86
  "class": "mk-header-tools__avatar",
87
87
  "src": unref(avatar)
88
- }, null), createVNode("span", {
88
+ }, {
89
+ error: () => createVNode(MKSvgIcon, {
90
+ "iconClass": "Avatar",
91
+ "class": " mk-header-tools__default-avatar"
92
+ }, null)
93
+ }), createVNode("span", {
89
94
  "class": "mk-header-tools__nickName"
90
95
  }, [unref(userInfo).nickName])]),
91
96
  dropdown: () => createVNode(ElDropdownMenu, null, {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sources":["../../../../../src/layouts/components/header/tools.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\r\nimport {\r\n ElDropdown,\r\n ElDropdownItem,\r\n ElDropdownMenu,\r\n ElImage,\r\n} from \"element-plus\";\r\nimport { MSAppClient } from \"../../../core\";\r\nimport { MKSvgIcon } from \"../../../components\";\r\n\r\nexport const MKHeaderTools = defineComponent({\r\n name: \"MKHeaderTools\",\r\n setup(props) {\r\n const msAppClient = MSAppClient.instance!;\r\n const userSession = msAppClient.userSession!;\r\n\r\n const userInfo = computed(() => userSession.userInfo!);\r\n\r\n const avatar = computed(() => unref(userInfo).avatar || \"/avatar.png\");\r\n\r\n return () => {\r\n return (\r\n <div class=\"mk-header-tools\">\r\n <div class=\"mk-header-tools__item\">\r\n <ElDropdown\r\n class=\"mk-header-tools__user\"\r\n trigger=\"click\"\r\n v-slots={{\r\n default: () => (\r\n <div class=\"mk-header-tools__user-info\">\r\n <ElImage\r\n class=\"mk-header-tools__avatar\"\r\n src={unref(avatar)}\r\n />\r\n <span class=\"mk-header-tools__nickName\">\r\n {unref(userInfo).nickName}\r\n </span>\r\n </div>\r\n ),\r\n dropdown: () => (\r\n <ElDropdownMenu>\r\n <ElDropdownItem onClick={() => msAppClient.logout()}>\r\n <MKSvgIcon iconClass=\"SwitchButton\" />\r\n 退出登录\r\n </ElDropdownItem>\r\n </ElDropdownMenu>\r\n ),\r\n }}\r\n />\r\n </div>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKHeaderTools","name","setup","props","msAppClient","MSAppClient","instance","userSession","userInfo","computed","avatar","unref","_createVNode","ElDropdown","default","ElImage","nickName","dropdown","ElDropdownMenu","ElDropdownItem","onClick","logout","MKSvgIcon","_createTextVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,MAAMA,gCAAgC,eAAA,CAAA;AAAA,EAC3CC,IAAM,EAAA,eAAA;AAAA,EACNC,MAAMC,KAAO,EAAA;AACX,IAAA,MAAMC,cAAcC,WAAYC,CAAAA,QAAAA,CAAAA;AAChC,IAAA,MAAMC,cAAcH,WAAYG,CAAAA,WAAAA,CAAAA;AAEhC,IAAA,MAAMC,QAAWC,GAAAA,QAAAA,CAAS,MAAMF,WAAAA,CAAYC,QAAS,CAAA,CAAA;AAErD,IAAA,MAAME,SAASD,QAAS,CAAA,MAAME,MAAMH,QAAQ,CAAA,CAAEE,UAAU,aAAa,CAAA,CAAA;AAErE,IAAA,OAAO,MAAM;AACX,MAAA,OAAAE,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,iBAAA;AAAA,OAAA,EAAA,CAAAA,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,uBAAA;AAAA,OAAA,EAAAA,CAAAA,WAAAA,CAAAC,UAAA,EAAA;AAAA,QAAA,OAAA,EAAA,uBAAA;AAAA,QAAA,SAAA,EAAA,OAAA;AAAA,OAMiB,EAAA;AAAA,QACPC,OAAAA,EAASA,MAAAF,WAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EAAA,4BAAA;AAAA,SAAA,EAAAA,CAAAA,WAAAA,CAAAG,OAAA,EAAA;AAAA,UAAA,OAAA,EAAA,yBAAA;AAAA,UAAA,KAAA,EAIEJ,MAAMD,MAAM,CAAA;AAAA,SAAC,EAAA,IAAA,CAAAE,EAAAA,WAAAA,CAAA,MAAA,EAAA;AAAA,UAAA,OAAA,EAAA,2BAAA;AAAA,SAAA,EAAA,CAGjBD,KAAMH,CAAAA,QAAQ,EAAEQ,QAAQ,CAG9B,CAAA,CAAA,CAAA;AAAA,QACDC,QAAUA,EAAAA,MAAAL,WAAAM,CAAAA,cAAAA,EAAA,IAAA,EAAA;AAAA,UAAAJ,OAAAA,EAAAA,MAAAF,CAAAA,WAAAA,CAAAO,cAAA,EAAA;AAAA,YAAA,SAAA,EAEmBC,MAAMhB,WAAAA,CAAYiB,MAAO,EAAA;AAAA,WAAC,EAAA;AAAA,YAAAP,OAAAA,EAAAA,MAAAF,CAAAA,WAAAA,CAAAU,SAAA,EAAA;AAAA,cAAA,WAAA,EAAA,cAAA;AAAA,aAAA,EAAA,IAAA,CAAAC,EAAAA,eAAAA,CAAA,0BAAA,CAAA,CAAA;AAAA,WAAA,CAAA,CAAA;AAAA,SAAA,CAAA;AAAA,OAMxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAKX,CAAA;AAAA,GACF;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"tools.js","sources":["../../../../../src/layouts/components/header/tools.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\r\nimport {\r\n ElDropdown,\r\n ElDropdownItem,\r\n ElDropdownMenu,\r\n ElImage,\r\n} from \"element-plus\";\r\nimport { MSAppClient } from \"../../../core\";\r\nimport { MKSvgIcon } from \"../../../components\";\r\n\r\nexport const MKHeaderTools = defineComponent({\r\n name: \"MKHeaderTools\",\r\n setup(props) {\r\n const msAppClient = MSAppClient.instance!;\r\n const userSession = msAppClient.userSession!;\r\n\r\n const userInfo = computed(() => userSession.userInfo!);\r\n\r\n const avatar = computed(() => unref(userInfo).avatar);\r\n\r\n return () => {\r\n return (\r\n <div class=\"mk-header-tools\">\r\n <div class=\"mk-header-tools__item\">\r\n <ElDropdown\r\n class=\"mk-header-tools__user\"\r\n trigger=\"click\"\r\n v-slots={{\r\n default: () => (\r\n <div class=\"mk-header-tools__user-info\">\r\n <ElImage\r\n class=\"mk-header-tools__avatar\"\r\n src={unref(avatar)}\r\n v-slots={{\r\n error: () => (\r\n <MKSvgIcon iconClass=\"Avatar\" class=\" mk-header-tools__default-avatar\" />\r\n ),\r\n }}\r\n />\r\n <span class=\"mk-header-tools__nickName\">\r\n {unref(userInfo).nickName}\r\n </span>\r\n </div>\r\n ),\r\n dropdown: () => (\r\n <ElDropdownMenu>\r\n <ElDropdownItem onClick={() => msAppClient.logout()}>\r\n <MKSvgIcon iconClass=\"SwitchButton\" />\r\n 退出登录\r\n </ElDropdownItem>\r\n </ElDropdownMenu>\r\n ),\r\n }}\r\n />\r\n </div>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKHeaderTools","name","setup","props","msAppClient","MSAppClient","instance","userSession","userInfo","computed","avatar","unref","_createVNode","ElDropdown","default","ElImage","error","MKSvgIcon","nickName","dropdown","ElDropdownMenu","ElDropdownItem","onClick","logout","_createTextVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,MAAMA,gCAAgC,eAAA,CAAA;AAAA,EAC3CC,IAAM,EAAA,eAAA;AAAA,EACNC,MAAMC,KAAO,EAAA;AACX,IAAA,MAAMC,cAAcC,WAAYC,CAAAA,QAAAA,CAAAA;AAChC,IAAA,MAAMC,cAAcH,WAAYG,CAAAA,WAAAA,CAAAA;AAEhC,IAAA,MAAMC,QAAWC,GAAAA,QAAAA,CAAS,MAAMF,WAAAA,CAAYC,QAAS,CAAA,CAAA;AAErD,IAAA,MAAME,SAASD,QAAS,CAAA,MAAME,KAAMH,CAAAA,QAAQ,EAAEE,MAAM,CAAA,CAAA;AAEpD,IAAA,OAAO,MAAM;AACX,MAAA,OAAAE,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,iBAAA;AAAA,OAAA,EAAA,CAAAA,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,uBAAA;AAAA,OAAA,EAAAA,CAAAA,WAAAA,CAAAC,UAAA,EAAA;AAAA,QAAA,OAAA,EAAA,uBAAA;AAAA,QAAA,SAAA,EAAA,OAAA;AAAA,OAMiB,EAAA;AAAA,QACPC,OAAAA,EAASA,MAAAF,WAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EAAA,4BAAA;AAAA,SAAA,EAAAA,CAAAA,WAAAA,CAAAG,OAAA,EAAA;AAAA,UAAA,OAAA,EAAA,yBAAA;AAAA,UAAA,KAAA,EAIEJ,MAAMD,MAAM,CAAA;AAAA,SACR,EAAA;AAAA,UACPM,KAAAA,EAAOA,MAAAJ,WAAAA,CAAAK,SAAA,EAAA;AAAA,YAAA,WAAA,EAAA,QAAA;AAAA,YAAA,OAAA,EAAA,kCAAA;AAAA,aAAA,IAAA,CAAA;AAAA,SAGR,CAAAL,EAAAA,WAAAA,CAAA,MAAA,EAAA;AAAA,UAAA,OAAA,EAAA,2BAAA;AAAA,SAAA,EAAA,CAGAD,KAAMH,CAAAA,QAAQ,EAAEU,QAAQ,CAG9B,CAAA,CAAA,CAAA;AAAA,QACDC,QAAUA,EAAAA,MAAAP,WAAAQ,CAAAA,cAAAA,EAAA,IAAA,EAAA;AAAA,UAAAN,OAAAA,EAAAA,MAAAF,CAAAA,WAAAA,CAAAS,cAAA,EAAA;AAAA,YAAA,SAAA,EAEmBC,MAAMlB,WAAAA,CAAYmB,MAAO,EAAA;AAAA,WAAC,EAAA;AAAA,YAAAT,OAAAA,EAAAA,MAAAF,CAAAA,WAAAA,CAAAK,SAAA,EAAA;AAAA,cAAA,WAAA,EAAA,cAAA;AAAA,aAAA,EAAA,IAAA,CAAAO,EAAAA,eAAAA,CAAA,0BAAA,CAAA,CAAA;AAAA,WAAA,CAAA,CAAA;AAAA,SAAA,CAAA;AAAA,OAMxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAKX,CAAA;AAAA,GACF;AACF,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
- import { codePointSize, codePointAt, EditorSelection, CharCategory, Prec, Facet, combineConfig, StateField, StateEffect, MapMode, RangeValue, RangeSet, fromCodePoint, Annotation } from '../../../../../@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js';
2
- import { EditorView, keymap, showTooltip, getTooltip, ViewPlugin, logException, Direction } from '../../../../../@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js';
3
- import { syntaxTree } from '../../../../../@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js';
1
+ import { codePointSize, codePointAt, EditorSelection, CharCategory, Prec, Facet, combineConfig, StateField, StateEffect, MapMode, RangeValue, RangeSet, fromCodePoint, Annotation } from '../../../../../@codemirror_state@6.4.1/node_modules/@codemirror/state/dist/index.js';
2
+ import { EditorView, keymap, showTooltip, getTooltip, ViewPlugin, logException, Direction } from '../../../../../@codemirror_view@6.26.1/node_modules/@codemirror/view/dist/index.js';
3
+ import { syntaxTree } from '../../../../../@codemirror_language@6.10.1/node_modules/@codemirror/language/dist/index.js';
4
4
 
5
5
  /**
6
6
  An instance of this is passed to completion source functions.
@@ -182,7 +182,7 @@ class FuzzyMatcher {
182
182
  ret(score, matched) {
183
183
  this.score = score;
184
184
  this.matched = matched;
185
- return true;
185
+ return this;
186
186
  }
187
187
  // Matches a given word (completion) against the pattern (input).
188
188
  // Will return a boolean indicating whether there was a match and,
@@ -195,7 +195,7 @@ class FuzzyMatcher {
195
195
  if (this.pattern.length == 0)
196
196
  return this.ret(-100 /* Penalty.NotFull */, []);
197
197
  if (word.length < this.pattern.length)
198
- return false;
198
+ return null;
199
199
  let { chars, folded, any, precise, byWord } = this;
200
200
  // For single-character queries, only match when they occur right
201
201
  // at the start
@@ -206,7 +206,7 @@ class FuzzyMatcher {
206
206
  else if (first == folded[0])
207
207
  score += -200 /* Penalty.CaseFold */;
208
208
  else
209
- return false;
209
+ return null;
210
210
  return this.ret(score, [0, firstSize]);
211
211
  }
212
212
  let direct = word.indexOf(this.pattern);
@@ -222,7 +222,7 @@ class FuzzyMatcher {
222
222
  }
223
223
  // No match, exit immediately
224
224
  if (anyTo < len)
225
- return false;
225
+ return null;
226
226
  }
227
227
  // This tracks the extent of the precise (non-folded, not
228
228
  // necessarily adjacent) match
@@ -275,7 +275,7 @@ class FuzzyMatcher {
275
275
  if (byWordTo == len)
276
276
  return this.result(-100 /* Penalty.ByWord */ + (byWordFolded ? -200 /* Penalty.CaseFold */ : 0) + -700 /* Penalty.NotStart */ +
277
277
  (wordAdjacent ? 0 : -1100 /* Penalty.Gap */), byWord, word);
278
- return chars.length == 2 ? false
278
+ return chars.length == 2 ? null
279
279
  : this.result((any[0] ? -700 /* Penalty.NotStart */ : 0) + -200 /* Penalty.CaseFold */ + -1100 /* Penalty.Gap */, any, word);
280
280
  }
281
281
  result(score, positions, word) {
@@ -292,11 +292,31 @@ class FuzzyMatcher {
292
292
  return this.ret(score - word.length, result);
293
293
  }
294
294
  }
295
+ class StrictMatcher {
296
+ constructor(pattern) {
297
+ this.pattern = pattern;
298
+ this.matched = [];
299
+ this.score = 0;
300
+ this.folded = pattern.toLowerCase();
301
+ }
302
+ match(word) {
303
+ if (word.length < this.pattern.length)
304
+ return null;
305
+ let start = word.slice(0, this.pattern.length);
306
+ let match = start == this.pattern ? 0 : start.toLowerCase() == this.folded ? -200 /* Penalty.CaseFold */ : null;
307
+ if (match == null)
308
+ return null;
309
+ this.matched = [0, start.length];
310
+ this.score = match + (word.length == this.pattern.length ? 0 : -100 /* Penalty.NotFull */);
311
+ return this;
312
+ }
313
+ }
295
314
 
296
315
  const completionConfig = /*@__PURE__*/Facet.define({
297
316
  combine(configs) {
298
317
  return combineConfig(configs, {
299
318
  activateOnTyping: true,
319
+ activateOnTypingDelay: 100,
300
320
  selectOnOpen: true,
301
321
  override: null,
302
322
  closeOnBlur: true,
@@ -308,6 +328,7 @@ const completionConfig = /*@__PURE__*/Facet.define({
308
328
  icons: true,
309
329
  addToOptions: [],
310
330
  positionInfo: defaultPositionInfo,
331
+ filterStrict: false,
311
332
  compareCompletions: (a, b) => a.label.localeCompare(b.label),
312
333
  interactionDelay: 75,
313
334
  updateSyncTime: 100
@@ -317,7 +338,8 @@ const completionConfig = /*@__PURE__*/Facet.define({
317
338
  icons: (a, b) => a && b,
318
339
  tooltipClass: (a, b) => c => joinClass(a(c), b(c)),
319
340
  optionClass: (a, b) => c => joinClass(a(c), b(c)),
320
- addToOptions: (a, b) => a.concat(b)
341
+ addToOptions: (a, b) => a.concat(b),
342
+ filterStrict: (a, b) => a || b,
321
343
  });
322
344
  }
323
345
  });
@@ -677,6 +699,7 @@ function sortOptions(active, state) {
677
699
  sections.push(typeof section == "string" ? { name } : section);
678
700
  }
679
701
  };
702
+ let conf = state.facet(completionConfig);
680
703
  for (let a of active)
681
704
  if (a.hasResult()) {
682
705
  let getMatch = a.result.getMatch;
@@ -686,11 +709,12 @@ function sortOptions(active, state) {
686
709
  }
687
710
  }
688
711
  else {
689
- let matcher = new FuzzyMatcher(state.sliceDoc(a.from, a.to));
712
+ let pattern = state.sliceDoc(a.from, a.to), match;
713
+ let matcher = conf.filterStrict ? new StrictMatcher(pattern) : new FuzzyMatcher(pattern);
690
714
  for (let option of a.result.options)
691
- if (matcher.match(option.label)) {
692
- let matched = !option.displayLabel ? matcher.matched : getMatch ? getMatch(option, matcher.matched) : [];
693
- addOption(new Option(option, a.source, matched, matcher.score + (option.boost || 0)));
715
+ if (match = matcher.match(option.label)) {
716
+ let matched = !option.displayLabel ? match.matched : getMatch ? getMatch(option, match.matched) : [];
717
+ addOption(new Option(option, a.source, matched, match.score + (option.boost || 0)));
694
718
  }
695
719
  }
696
720
  }
@@ -708,7 +732,7 @@ function sortOptions(active, state) {
708
732
  }
709
733
  }
710
734
  let result = [], prev = null;
711
- let compare = state.facet(completionConfig).compareCompletions;
735
+ let compare = conf.compareCompletions;
712
736
  for (let opt of options.sort((a, b) => (b.score - a.score) || compare(a.completion, b.completion))) {
713
737
  let cur = opt.completion;
714
738
  if (!prev || prev.label != cur.label || prev.detail != cur.detail ||
@@ -876,26 +900,33 @@ class ActiveResult extends ActiveSource {
876
900
  hasResult() { return true; }
877
901
  handleUserEvent(tr, type, conf) {
878
902
  var _a;
903
+ let result = this.result;
904
+ if (result.map && !tr.changes.empty)
905
+ result = result.map(result, tr.changes);
879
906
  let from = tr.changes.mapPos(this.from), to = tr.changes.mapPos(this.to, 1);
880
907
  let pos = cur(tr.state);
881
908
  if ((this.explicitPos < 0 ? pos <= from : pos < this.from) ||
882
- pos > to ||
909
+ pos > to || !result ||
883
910
  type == "delete" && cur(tr.startState) == this.from)
884
911
  return new ActiveSource(this.source, type == "input" && conf.activateOnTyping ? 1 /* State.Pending */ : 0 /* State.Inactive */);
885
- let explicitPos = this.explicitPos < 0 ? -1 : tr.changes.mapPos(this.explicitPos), updated;
886
- if (checkValid(this.result.validFor, tr.state, from, to))
887
- return new ActiveResult(this.source, explicitPos, this.result, from, to);
888
- if (this.result.update &&
889
- (updated = this.result.update(this.result, from, to, new CompletionContext(tr.state, pos, explicitPos >= 0))))
890
- return new ActiveResult(this.source, explicitPos, updated, updated.from, (_a = updated.to) !== null && _a !== void 0 ? _a : cur(tr.state));
912
+ let explicitPos = this.explicitPos < 0 ? -1 : tr.changes.mapPos(this.explicitPos);
913
+ if (checkValid(result.validFor, tr.state, from, to))
914
+ return new ActiveResult(this.source, explicitPos, result, from, to);
915
+ if (result.update &&
916
+ (result = result.update(result, from, to, new CompletionContext(tr.state, pos, explicitPos >= 0))))
917
+ return new ActiveResult(this.source, explicitPos, result, result.from, (_a = result.to) !== null && _a !== void 0 ? _a : cur(tr.state));
891
918
  return new ActiveSource(this.source, 1 /* State.Pending */, explicitPos);
892
919
  }
893
920
  handleChange(tr) {
894
921
  return tr.changes.touchesRange(this.from, this.to) ? new ActiveSource(this.source, 0 /* State.Inactive */) : this.map(tr.changes);
895
922
  }
896
923
  map(mapping) {
897
- return mapping.empty ? this :
898
- new ActiveResult(this.source, this.explicitPos < 0 ? -1 : mapping.mapPos(this.explicitPos), this.result, mapping.mapPos(this.from), mapping.mapPos(this.to, 1));
924
+ if (mapping.empty)
925
+ return this;
926
+ let result = this.result.map ? this.result.map(this.result, mapping) : this.result;
927
+ if (!result)
928
+ return new ActiveSource(this.source, 0 /* State.Inactive */);
929
+ return new ActiveResult(this.source, this.explicitPos < 0 ? -1 : mapping.mapPos(this.explicitPos), this.result, mapping.mapPos(this.from), mapping.mapPos(this.to, 1));
899
930
  }
900
931
  }
901
932
  function checkValid(validFor, state, from, to) {
@@ -1001,6 +1032,7 @@ const completionPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {
1001
1032
  this.debounceUpdate = -1;
1002
1033
  this.running = [];
1003
1034
  this.debounceAccept = -1;
1035
+ this.pendingStart = false;
1004
1036
  this.composing = 0 /* CompositionState.None */;
1005
1037
  for (let active of view.state.field(completionState).active)
1006
1038
  if (active.state == 1 /* State.Pending */)
@@ -1034,8 +1066,11 @@ const completionPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {
1034
1066
  }
1035
1067
  if (this.debounceUpdate > -1)
1036
1068
  clearTimeout(this.debounceUpdate);
1069
+ if (update.transactions.some(tr => tr.effects.some(e => e.is(startCompletionEffect))))
1070
+ this.pendingStart = true;
1071
+ let delay = this.pendingStart ? 50 : update.state.facet(completionConfig).activateOnTypingDelay;
1037
1072
  this.debounceUpdate = cState.active.some(a => a.state == 1 /* State.Pending */ && !this.running.some(q => q.active.source == a.source))
1038
- ? setTimeout(() => this.startUpdate(), 50) : -1;
1073
+ ? setTimeout(() => this.startUpdate(), delay) : -1;
1039
1074
  if (this.composing != 0 /* CompositionState.None */)
1040
1075
  for (let tr of update.transactions) {
1041
1076
  if (getUserEvent(tr) == "input")
@@ -1046,6 +1081,7 @@ const completionPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {
1046
1081
  }
1047
1082
  startUpdate() {
1048
1083
  this.debounceUpdate = -1;
1084
+ this.pendingStart = false;
1049
1085
  let { state } = this.view, cState = state.field(completionState);
1050
1086
  for (let active of cState.active) {
1051
1087
  if (active.state == 1 /* State.Pending */ && !this.running.some(r => r.active.source == active.source))
@@ -1125,7 +1161,7 @@ const completionPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {
1125
1161
  if (state && state.tooltip && this.view.state.facet(completionConfig).closeOnBlur) {
1126
1162
  let dialog = state.open && getTooltip(this.view, state.open.tooltip);
1127
1163
  if (!dialog || !dialog.dom.contains(event.relatedTarget))
1128
- this.view.dispatch({ effects: closeCompletionEffect.of(null) });
1164
+ setTimeout(() => this.view.dispatch({ effects: closeCompletionEffect.of(null) }), 10);
1129
1165
  }
1130
1166
  },
1131
1167
  compositionstart() {
@@ -1141,6 +1177,21 @@ const completionPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {
1141
1177
  }
1142
1178
  }
1143
1179
  });
1180
+ const windows = typeof navigator == "object" && /*@__PURE__*//Win/.test(navigator.platform);
1181
+ const commitCharacters = /*@__PURE__*/Prec.highest(/*@__PURE__*/EditorView.domEventHandlers({
1182
+ keydown(event, view) {
1183
+ let field = view.state.field(completionState, false);
1184
+ if (!field || !field.open || field.open.disabled || field.open.selected < 0 ||
1185
+ event.key.length > 1 || event.ctrlKey && !(windows && event.altKey) || event.metaKey)
1186
+ return false;
1187
+ let option = field.open.options[field.open.selected];
1188
+ let result = field.active.find(a => a.source == option.source);
1189
+ let commitChars = option.completion.commitCharacters || result.result.commitCharacters;
1190
+ if (commitChars && commitChars.indexOf(event.key) > -1)
1191
+ applyCompletion(view, option);
1192
+ return false;
1193
+ }
1194
+ }));
1144
1195
 
1145
1196
  const baseTheme = /*@__PURE__*/EditorView.baseTheme({
1146
1197
  ".cm-tooltip.cm-tooltip-autocomplete": {
@@ -1515,6 +1566,7 @@ Returns an extension that enables autocompletion.
1515
1566
  */
1516
1567
  function autocompletion(config = {}) {
1517
1568
  return [
1569
+ commitCharacters,
1518
1570
  completionState,
1519
1571
  completionConfig.of(config),
1520
1572
  completionPlugin,