@maketribe/ms-app 3.0.11 → 3.0.13

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 (133) hide show
  1. package/dist/cjs/components/data-model/data-filter-form/composables/use-condition.js +14 -14
  2. package/dist/cjs/components/data-model/data-filter-form/composables/use-condition.js.map +1 -1
  3. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js +1 -1
  4. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js.map +1 -1
  5. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-options.d.ts +3 -3
  6. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-options.js +2 -1
  7. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-options.js.map +1 -1
  8. package/dist/cjs/components/data-model/data-filter-form/data-filter-form.d.ts +4 -4
  9. package/dist/cjs/components/data-model/data-filter-form/data-filter-form.js +34 -5
  10. package/dist/cjs/components/data-model/data-filter-form/data-filter-form.js.map +1 -1
  11. package/dist/cjs/components/data-model/data-filter-form/index.d.ts +4 -4
  12. package/dist/cjs/components/data-model/data-filter-form/token.d.ts +1 -0
  13. package/dist/cjs/components/data-model/data-filter-form/token.js.map +1 -1
  14. package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover.js +4 -3
  15. package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover.js.map +1 -1
  16. package/dist/cjs/components/data-model/data-form/data-form.js +1 -1
  17. package/dist/cjs/components/data-model/data-form/data-form.js.map +1 -1
  18. package/dist/cjs/components/data-model/data-table/data-table.js +0 -1
  19. package/dist/cjs/components/data-model/data-table/data-table.js.map +1 -1
  20. package/dist/cjs/components/data-model/data-table/views/table-view/table-view.js +35 -30
  21. package/dist/cjs/components/data-model/data-table/views/table-view/table-view.js.map +1 -1
  22. package/dist/cjs/components/material-list/material-group-form-popover.vue2.js +8 -1
  23. package/dist/cjs/components/material-list/material-group-form-popover.vue2.js.map +1 -1
  24. package/dist/cjs/components/material-list/material-group.vue2.js +9 -7
  25. package/dist/cjs/components/material-list/material-group.vue2.js.map +1 -1
  26. package/dist/cjs/components/system-provider/system-provider.d.ts +7 -0
  27. package/dist/cjs/components/system-provider/system-provider.js +29 -46
  28. package/dist/cjs/components/system-provider/system-provider.js.map +1 -1
  29. package/dist/cjs/core/Router.d.ts +1 -11
  30. package/dist/cjs/core/Router.js +0 -22
  31. package/dist/cjs/core/Router.js.map +1 -1
  32. package/dist/cjs/core/UserSession.js +0 -12
  33. package/dist/cjs/core/UserSession.js.map +1 -1
  34. package/dist/cjs/core/tabs/Tabs.js +1 -8
  35. package/dist/cjs/core/tabs/Tabs.js.map +1 -1
  36. package/dist/cjs/dataview/material/MaterialMan.d.ts +1 -1
  37. package/dist/cjs/dataview/material/MaterialMan.js +1 -1
  38. package/dist/cjs/dataview/material/MaterialMan.js.map +1 -1
  39. package/dist/cjs/dataview/member/MemberTable.d.ts +1 -2
  40. package/dist/cjs/dataview/member/MemberTable.js +9 -3
  41. package/dist/cjs/dataview/member/MemberTable.js.map +1 -1
  42. package/dist/cjs/dataview/menu/MenuTable.js.map +1 -1
  43. package/dist/cjs/dataview/role/RoleTable.js.map +1 -1
  44. package/dist/cjs/layouts/components/bar/index.js +2 -2
  45. package/dist/cjs/layouts/components/bar/index.js.map +1 -1
  46. package/dist/cjs/layouts/components/menu/index.js +2 -2
  47. package/dist/cjs/layouts/components/menu/index.js.map +1 -1
  48. package/dist/cjs/page/index/dv/ms-member/index.vue2.js +53 -11
  49. package/dist/cjs/page/index/dv/ms-member/index.vue2.js.map +1 -1
  50. package/dist/cjs/router-middleware/auth.js +0 -19
  51. package/dist/cjs/router-middleware/auth.js.map +1 -1
  52. package/dist/esm/components/data-model/data-filter-form/composables/use-condition.js +14 -14
  53. package/dist/esm/components/data-model/data-filter-form/composables/use-condition.js.map +1 -1
  54. package/dist/esm/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js +1 -1
  55. package/dist/esm/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js.map +1 -1
  56. package/dist/esm/components/data-model/data-filter-form/data-filter-form-options.d.ts +3 -3
  57. package/dist/esm/components/data-model/data-filter-form/data-filter-form-options.js +3 -2
  58. package/dist/esm/components/data-model/data-filter-form/data-filter-form-options.js.map +1 -1
  59. package/dist/esm/components/data-model/data-filter-form/data-filter-form.d.ts +4 -4
  60. package/dist/esm/components/data-model/data-filter-form/data-filter-form.js +35 -6
  61. package/dist/esm/components/data-model/data-filter-form/data-filter-form.js.map +1 -1
  62. package/dist/esm/components/data-model/data-filter-form/index.d.ts +4 -4
  63. package/dist/esm/components/data-model/data-filter-form/token.d.ts +1 -0
  64. package/dist/esm/components/data-model/data-filter-form/token.js.map +1 -1
  65. package/dist/esm/components/data-model/data-filter-popover/data-filter-popover.js +5 -4
  66. package/dist/esm/components/data-model/data-filter-popover/data-filter-popover.js.map +1 -1
  67. package/dist/esm/components/data-model/data-form/data-form.js +1 -1
  68. package/dist/esm/components/data-model/data-form/data-form.js.map +1 -1
  69. package/dist/esm/components/data-model/data-table/data-table.js +0 -1
  70. package/dist/esm/components/data-model/data-table/data-table.js.map +1 -1
  71. package/dist/esm/components/data-model/data-table/views/table-view/table-view.js +35 -30
  72. package/dist/esm/components/data-model/data-table/views/table-view/table-view.js.map +1 -1
  73. package/dist/esm/components/material-list/material-group-form-popover.vue2.js +8 -1
  74. package/dist/esm/components/material-list/material-group-form-popover.vue2.js.map +1 -1
  75. package/dist/esm/components/material-list/material-group.vue2.js +9 -7
  76. package/dist/esm/components/material-list/material-group.vue2.js.map +1 -1
  77. package/dist/esm/components/system-provider/system-provider.d.ts +7 -0
  78. package/dist/esm/components/system-provider/system-provider.js +30 -47
  79. package/dist/esm/components/system-provider/system-provider.js.map +1 -1
  80. package/dist/esm/core/Router.d.ts +1 -11
  81. package/dist/esm/core/Router.js +1 -23
  82. package/dist/esm/core/Router.js.map +1 -1
  83. package/dist/esm/core/UserSession.js +0 -12
  84. package/dist/esm/core/UserSession.js.map +1 -1
  85. package/dist/esm/core/tabs/Tabs.js +1 -8
  86. package/dist/esm/core/tabs/Tabs.js.map +1 -1
  87. package/dist/esm/dataview/material/MaterialMan.d.ts +1 -1
  88. package/dist/esm/dataview/material/MaterialMan.js +1 -1
  89. package/dist/esm/dataview/material/MaterialMan.js.map +1 -1
  90. package/dist/esm/dataview/member/MemberTable.d.ts +1 -2
  91. package/dist/esm/dataview/member/MemberTable.js +10 -4
  92. package/dist/esm/dataview/member/MemberTable.js.map +1 -1
  93. package/dist/esm/dataview/menu/MenuTable.js.map +1 -1
  94. package/dist/esm/dataview/role/RoleTable.js.map +1 -1
  95. package/dist/esm/layouts/components/bar/index.js +2 -2
  96. package/dist/esm/layouts/components/bar/index.js.map +1 -1
  97. package/dist/esm/layouts/components/menu/index.js +2 -2
  98. package/dist/esm/layouts/components/menu/index.js.map +1 -1
  99. package/dist/esm/page/index/dv/ms-member/index.vue2.js +54 -12
  100. package/dist/esm/page/index/dv/ms-member/index.vue2.js.map +1 -1
  101. package/dist/esm/router-middleware/auth.js +0 -19
  102. package/dist/esm/router-middleware/auth.js.map +1 -1
  103. package/dist/style/components/data-filter-popover.css +1 -1
  104. package/dist/style/components/data-filter.css +1 -1
  105. package/dist/style/components/index.css +1 -1
  106. package/dist/style/index.css +2 -2
  107. package/dist/style/src/components/data-filter-popover.scss +3 -3
  108. package/dist/style/src/components/data-filter.scss +0 -1
  109. package/dist/style/src/index.scss +9 -0
  110. package/package.json +4 -4
  111. package/src/components/data-model/data-filter-form/composables/use-condition.ts +19 -16
  112. package/src/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.tsx +7 -4
  113. package/src/components/data-model/data-filter-form/data-filter-form-options.ts +3 -2
  114. package/src/components/data-model/data-filter-form/data-filter-form.tsx +51 -6
  115. package/src/components/data-model/data-filter-form/token.ts +1 -0
  116. package/src/components/data-model/data-filter-popover/data-filter-popover.tsx +4 -3
  117. package/src/components/data-model/data-form/data-form.tsx +3 -1
  118. package/src/components/data-model/data-table/data-table.tsx +5 -1
  119. package/src/components/data-model/data-table/views/table-view/table-view.tsx +43 -35
  120. package/src/components/material-list/material-group-form-popover.vue +4 -2
  121. package/src/components/material-list/material-group.vue +13 -7
  122. package/src/components/system-provider/system-provider.tsx +52 -49
  123. package/src/core/Router.ts +0 -34
  124. package/src/core/UserSession.ts +0 -18
  125. package/src/core/tabs/Tabs.ts +20 -9
  126. package/src/dataview/material/MaterialMan.ts +1 -1
  127. package/src/dataview/member/MemberTable.tsx +12 -4
  128. package/src/dataview/menu/MenuTable.ts +1 -0
  129. package/src/dataview/role/RoleTable.ts +1 -0
  130. package/src/layouts/components/bar/index.tsx +3 -2
  131. package/src/layouts/components/menu/index.tsx +3 -2
  132. package/src/page/index/dv/ms-member/index.vue +3 -11
  133. package/src/router-middleware/auth.ts +0 -35
@@ -26,20 +26,20 @@ function useDataFilterCondition(options) {
26
26
  () => vue.unref(currentOperator.value) === operatorOptions.BETWEEN_OPTION.value
27
27
  );
28
28
  const currentOperator = vue.computed(() => dataFilterItem.currentOperator);
29
- vue.watch(
30
- currentOperator,
31
- () => {
32
- const defaultValue = options.defaultValue;
33
- if (vue.unref(isBetween)) {
34
- dataFilterItem.column.defaultValue = [defaultValue, defaultValue];
35
- value.value = [defaultValue, defaultValue];
36
- return;
37
- }
38
- dataFilterItem.column.defaultValue = defaultValue;
39
- value.value = defaultValue;
40
- },
41
- { immediate: true }
42
- );
29
+ const calcDefaultValue = () => {
30
+ const defaultValue = options.defaultValue;
31
+ if (vue.unref(isBetween)) {
32
+ return [defaultValue, defaultValue];
33
+ }
34
+ return defaultValue;
35
+ };
36
+ vue.watch(currentOperator, () => {
37
+ const defaultValue = calcDefaultValue();
38
+ dataFilterItem.column.defaultValue = defaultValue;
39
+ value.value = defaultValue;
40
+ });
41
+ dataFilterItem.column.defaultValue = calcDefaultValue();
42
+ value.value = dataFilterItem.getValue() || calcDefaultValue();
43
43
  return {
44
44
  isBetween,
45
45
  dataFilterItem,
@@ -1 +1 @@
1
- {"version":3,"file":"use-condition.js","sources":["../../../../../../src/components/data-model/data-filter-form/composables/use-condition.ts"],"sourcesContent":["import { computed, inject, unref, watch } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\nimport { Operator } from \"@maketribe/dm\";\n\nimport { BETWEEN_OPTION, OperatorOption } from \"../operator-options\";\nimport { DATA_FILTER_ITEM_CONTEXT } from \"../token\";\n\nexport const dataFilterConditionProps = buildProps({\n defaultValue: {\n default: null,\n },\n} as const);\n\nexport type DataFilterConditionOptions = {\n operator: Operator;\n operatorOptions: OperatorOption[];\n defaultValue: any;\n};\n\nexport function useDataFilterCondition(options: DataFilterConditionOptions) {\n const dataFilterItemContext = inject(DATA_FILTER_ITEM_CONTEXT)!;\n const dataFilterItem = dataFilterItemContext.dataFilterItem;\n\n dataFilterItem.setOperatorOptions(options.operatorOptions);\n\n dataFilterItem.setOperator(options.operator);\n if (options.defaultValue !== void 0) {\n dataFilterItem.column.defaultValue = options.defaultValue;\n }\n\n const value = computed({\n get: () => dataFilterItem.getValue(),\n set: (v: any) => dataFilterItem.setValue(v === \"\" ? null : v),\n });\n\n const isBetween = computed(\n () => unref(currentOperator.value) === BETWEEN_OPTION.value\n );\n\n const currentOperator = computed(() => dataFilterItem.currentOperator);\n\n watch(\n currentOperator,\n () => {\n const defaultValue = options.defaultValue;\n\n if (unref(isBetween)) {\n dataFilterItem.column.defaultValue = [defaultValue, defaultValue];\n value.value = [defaultValue, defaultValue];\n return;\n }\n\n dataFilterItem.column.defaultValue = defaultValue;\n value.value = defaultValue;\n },\n { immediate: true }\n );\n\n return {\n isBetween,\n dataFilterItem,\n currentOperator,\n value,\n };\n}\n"],"names":["buildProps","inject","DATA_FILTER_ITEM_CONTEXT","computed","unref","BETWEEN_OPTION","watch"],"mappings":";;;;;;;AAOO,MAAM,2BAA2BA,gBAAW,CAAA;AAAA,EACjD,YAAc,EAAA;AAAA,IACZ,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAQH,SAAS,uBAAuB,OAAqC,EAAA;AAC1E,EAAM,MAAA,qBAAA,GAAwBC,WAAOC,8BAAwB,CAAA,CAAA;AAC7D,EAAA,MAAM,iBAAiB,qBAAsB,CAAA,cAAA,CAAA;AAE7C,EAAe,cAAA,CAAA,kBAAA,CAAmB,QAAQ,eAAe,CAAA,CAAA;AAEzD,EAAe,cAAA,CAAA,WAAA,CAAY,QAAQ,QAAQ,CAAA,CAAA;AAC3C,EAAI,IAAA,OAAA,CAAQ,iBAAiB,KAAQ,CAAA,EAAA;AACnC,IAAe,cAAA,CAAA,MAAA,CAAO,eAAe,OAAQ,CAAA,YAAA,CAAA;AAAA,GAC/C;AAEA,EAAA,MAAM,QAAQC,YAAS,CAAA;AAAA,IACrB,GAAA,EAAK,MAAM,cAAA,CAAe,QAAS,EAAA;AAAA,IACnC,GAAA,EAAK,CAAC,CAAW,KAAA,cAAA,CAAe,SAAS,CAAM,KAAA,EAAA,GAAK,OAAO,CAAC,CAAA;AAAA,GAC7D,CAAA,CAAA;AAED,EAAA,MAAM,SAAY,GAAAA,YAAA;AAAA,IAChB,MAAMC,SAAA,CAAM,eAAgB,CAAA,KAAK,MAAMC,8BAAe,CAAA,KAAA;AAAA,GACxD,CAAA;AAEA,EAAA,MAAM,eAAkB,GAAAF,YAAA,CAAS,MAAM,cAAA,CAAe,eAAe,CAAA,CAAA;AAErE,EAAAG,SAAA;AAAA,IACE,eAAA;AAAA,IACA,MAAM;AACJ,MAAA,MAAM,eAAe,OAAQ,CAAA,YAAA,CAAA;AAE7B,MAAI,IAAAF,SAAA,CAAM,SAAS,CAAG,EAAA;AACpB,QAAA,cAAA,CAAe,MAAO,CAAA,YAAA,GAAe,CAAC,YAAA,EAAc,YAAY,CAAA,CAAA;AAChE,QAAM,KAAA,CAAA,KAAA,GAAQ,CAAC,YAAA,EAAc,YAAY,CAAA,CAAA;AACzC,QAAA,OAAA;AAAA,OACF;AAEA,MAAA,cAAA,CAAe,OAAO,YAAe,GAAA,YAAA,CAAA;AACrC,MAAA,KAAA,CAAM,KAAQ,GAAA,YAAA,CAAA;AAAA,KAChB;AAAA,IACA,EAAE,WAAW,IAAK,EAAA;AAAA,GACpB,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AACF;;;;;"}
1
+ {"version":3,"file":"use-condition.js","sources":["../../../../../../src/components/data-model/data-filter-form/composables/use-condition.ts"],"sourcesContent":["import { computed, inject, unref, watch } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\nimport { Operator } from \"@maketribe/dm\";\n\nimport { BETWEEN_OPTION, OperatorOption } from \"../operator-options\";\nimport { DATA_FILTER_ITEM_CONTEXT } from \"../token\";\n\nexport const dataFilterConditionProps = buildProps({\n defaultValue: {\n default: null,\n },\n} as const);\n\nexport type DataFilterConditionOptions = {\n operator: Operator;\n operatorOptions: OperatorOption[];\n defaultValue: any;\n};\n\nexport function useDataFilterCondition(options: DataFilterConditionOptions) {\n const dataFilterItemContext = inject(DATA_FILTER_ITEM_CONTEXT)!;\n const dataFilterItem = dataFilterItemContext.dataFilterItem;\n\n dataFilterItem.setOperatorOptions(options.operatorOptions);\n\n dataFilterItem.setOperator(options.operator);\n if (options.defaultValue !== void 0) {\n dataFilterItem.column.defaultValue = options.defaultValue;\n }\n\n const value = computed({\n get: () => dataFilterItem.getValue(),\n set: (v: any) => dataFilterItem.setValue(v === \"\" ? null : v),\n });\n\n const isBetween = computed(\n () => unref(currentOperator.value) === BETWEEN_OPTION.value\n );\n\n const currentOperator = computed(() => dataFilterItem.currentOperator);\n\n const calcDefaultValue = () => {\n const defaultValue = options.defaultValue;\n\n if (unref(isBetween)) {\n return [defaultValue, defaultValue];\n }\n\n return defaultValue;\n };\n\n watch(currentOperator, () => {\n const defaultValue = calcDefaultValue();\n\n dataFilterItem.column.defaultValue = defaultValue;\n value.value = defaultValue;\n });\n\n dataFilterItem.column.defaultValue = calcDefaultValue();\n value.value = dataFilterItem.getValue() || calcDefaultValue();\n\n return {\n isBetween,\n dataFilterItem,\n currentOperator,\n value,\n };\n}\n"],"names":["buildProps","inject","DATA_FILTER_ITEM_CONTEXT","computed","unref","BETWEEN_OPTION","watch"],"mappings":";;;;;;;AAOO,MAAM,2BAA2BA,gBAAW,CAAA;AAAA,EACjD,YAAc,EAAA;AAAA,IACZ,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAQH,SAAS,uBAAuB,OAAqC,EAAA;AAC1E,EAAM,MAAA,qBAAA,GAAwBC,WAAOC,8BAAwB,CAAA,CAAA;AAC7D,EAAA,MAAM,iBAAiB,qBAAsB,CAAA,cAAA,CAAA;AAE7C,EAAe,cAAA,CAAA,kBAAA,CAAmB,QAAQ,eAAe,CAAA,CAAA;AAEzD,EAAe,cAAA,CAAA,WAAA,CAAY,QAAQ,QAAQ,CAAA,CAAA;AAC3C,EAAI,IAAA,OAAA,CAAQ,iBAAiB,KAAQ,CAAA,EAAA;AACnC,IAAe,cAAA,CAAA,MAAA,CAAO,eAAe,OAAQ,CAAA,YAAA,CAAA;AAAA,GAC/C;AAEA,EAAA,MAAM,QAAQC,YAAS,CAAA;AAAA,IACrB,GAAA,EAAK,MAAM,cAAA,CAAe,QAAS,EAAA;AAAA,IACnC,GAAA,EAAK,CAAC,CAAW,KAAA,cAAA,CAAe,SAAS,CAAM,KAAA,EAAA,GAAK,OAAO,CAAC,CAAA;AAAA,GAC7D,CAAA,CAAA;AAED,EAAA,MAAM,SAAY,GAAAA,YAAA;AAAA,IAChB,MAAMC,SAAA,CAAM,eAAgB,CAAA,KAAK,MAAMC,8BAAe,CAAA,KAAA;AAAA,GACxD,CAAA;AAEA,EAAA,MAAM,eAAkB,GAAAF,YAAA,CAAS,MAAM,cAAA,CAAe,eAAe,CAAA,CAAA;AAErE,EAAA,MAAM,mBAAmB,MAAM;AAC7B,IAAA,MAAM,eAAe,OAAQ,CAAA,YAAA,CAAA;AAE7B,IAAI,IAAAC,SAAA,CAAM,SAAS,CAAG,EAAA;AACpB,MAAO,OAAA,CAAC,cAAc,YAAY,CAAA,CAAA;AAAA,KACpC;AAEA,IAAO,OAAA,YAAA,CAAA;AAAA,GACT,CAAA;AAEA,EAAAE,SAAA,CAAM,iBAAiB,MAAM;AAC3B,IAAA,MAAM,eAAe,gBAAiB,EAAA,CAAA;AAEtC,IAAA,cAAA,CAAe,OAAO,YAAe,GAAA,YAAA,CAAA;AACrC,IAAA,KAAA,CAAM,KAAQ,GAAA,YAAA,CAAA;AAAA,GACf,CAAA,CAAA;AAED,EAAe,cAAA,CAAA,MAAA,CAAO,eAAe,gBAAiB,EAAA,CAAA;AACtD,EAAA,KAAA,CAAM,KAAQ,GAAA,cAAA,CAAe,QAAS,EAAA,IAAK,gBAAiB,EAAA,CAAA;AAE5D,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AACF;;;;;"}
@@ -114,7 +114,7 @@ var DataFilterFormItem = /* @__PURE__ */ vue.defineComponent({
114
114
  }, _isSlot(options) ? options : {
115
115
  default: () => [options]
116
116
  }) : null;
117
- const labelWidth = vue.computed(() => 100);
117
+ const labelWidth = vue.computed(() => dataFilterContext.labelWidth);
118
118
  return vue.createVNode("div", {
119
119
  "class": "mk-data-filter-form-item"
120
120
  }, [vue.createVNode("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"data-filter-form-item.js","sources":["../../../../../../src/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n onBeforeUnmount,\n provide,\n reactive,\n toRaw,\n unref,\n} from \"vue\";\nimport { DataFilter, FilterColumn, isWhereFilter } from \"@maketribe/dm\";\nimport { useFilterColumnComponent, useI18n } from \"../../../../composables\";\nimport { dataFilterFormItemProps } from \"./data-filter-form-item-options\";\nimport {\n DATA_FILTER_CONTEXT,\n DATA_FILTER_ITEM_CONTEXT,\n DataFilterItem,\n DataFilterItemContext,\n} from \"../token\";\nimport { OperatorOption } from \"../operator-options\";\nimport { ElOption, ElSelect, ElTooltip } from \"element-plus\";\n\nexport default defineComponent({\n name: \"MKDataFilterFormItem\",\n props: dataFilterFormItemProps,\n setup(props, { slots }) {\n const i18n = useI18n()!;\n\n const dataFilterContext = inject(DATA_FILTER_CONTEXT)!;\n\n const dataFilter = computed(() => dataFilterContext.dataFilter);\n\n let _filterColumn: FilterColumn | null = null;\n\n const createFilterColumn = () => {\n _filterColumn = reactive(\n new FilterColumn({\n name: props.name!,\n label: props.label!,\n })\n );\n\n unref(dataFilter).addColumn(_filterColumn);\n\n return _filterColumn;\n };\n\n const filterColumn = computed(() => {\n const existingColumn = unref(dataFilter).getColumn(props.name) ?? null;\n\n if (existingColumn) {\n return existingColumn;\n }\n\n if (!_filterColumn) {\n _filterColumn = createFilterColumn();\n }\n\n return _filterColumn;\n });\n\n const { component, componentProps } = useFilterColumnComponent(\n filterColumn,\n dataFilter\n );\n\n const createDataFilterItem = (\n dataFilter: DataFilter,\n column: FilterColumn\n ) => {\n function setOperator(\n this: DataFilterItem,\n operator: OperatorOption[\"value\"]\n ) {\n const _dataFilter = unref(dataFilter);\n if (isWhereFilter(_dataFilter)) {\n this.currentOperator = operator;\n _dataFilter.setParamOperator(unref(column).name, operator);\n }\n }\n\n function setOperatorOptions(\n this: DataFilterItem,\n options: OperatorOption[]\n ) {\n if (isWhereFilter(unref(dataFilter))) {\n this.operatorOptions = options;\n }\n }\n\n function setValue(this: DataFilterItem, value: any) {\n this.dataFilter.setParam(this.column.name, value);\n }\n\n function getValue(this: DataFilterItem): any {\n return this.dataFilter.getParam(this.column.name);\n }\n\n const filterPanelItem: DataFilterItem = {\n dataFilter,\n column,\n currentOperator: null,\n operatorOptions: [],\n setOperator,\n setOperatorOptions,\n setValue,\n getValue,\n };\n\n return filterPanelItem;\n };\n\n const dataFilterItem = reactive(\n createDataFilterItem(unref(dataFilter), unref(filterColumn))\n ) as DataFilterItem;\n\n provide(\n DATA_FILTER_ITEM_CONTEXT,\n reactive({ dataFilter, dataFilterItem }) as DataFilterItemContext\n );\n\n onBeforeUnmount(() => {\n const _filterPanel = unref(dataFilter);\n\n if (isWhereFilter(_filterPanel)) {\n _filterPanel.deleteParamOperator(unref(filterColumn).name);\n }\n\n _filterPanel.deleteParam(unref(filterColumn).name);\n });\n\n return () => {\n const _filterPanel = unref(dataFilter);\n\n const _filterColumn = unref(filterColumn);\n\n if (!_filterColumn) {\n return null;\n }\n\n let children: any = slots.default?.();\n\n if (!children && unref(component)) {\n const FilterColumnComponent = toRaw(unref(component));\n\n children = <FilterColumnComponent {...unref(componentProps)} />;\n }\n\n const options = dataFilterItem.operatorOptions.map((option) => (\n <ElOption\n key={option.value}\n value={option.value}\n label={i18n.translate(option.label)}\n />\n ));\n\n const operatorSelect = isWhereFilter(_filterPanel) ? (\n <ElSelect\n modelValue={dataFilterItem.currentOperator as any}\n onUpdate:modelValue={(v) => dataFilterItem.setOperator(v)}\n class=\"mk-data-filter-form-item__operator\"\n >\n {options}\n </ElSelect>\n ) : null;\n\n const labelWidth = computed(()=>100);\n\n return (\n <div class=\"mk-data-filter-form-item\">\n <div class=\"mk-data-filter-form-item__label\" style={\n {width:labelWidth.value+\"px\"}\n }>{_filterColumn.label}</div>\n {/* {operatorSelect} */}\n <div class=\"mk-data-filter-form-item__content\">{children}</div>\n </div>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","dataFilterFormItemProps","setup","slots","i18n","useI18n","dataFilterContext","inject","DATA_FILTER_CONTEXT","dataFilter","computed","_filterColumn","createFilterColumn","reactive","FilterColumn","label","unref","addColumn","filterColumn","existingColumn","getColumn","component","componentProps","useFilterColumnComponent","createDataFilterItem","column","setOperator","operator","_dataFilter","isWhereFilter","currentOperator","setParamOperator","setOperatorOptions","options","operatorOptions","setValue","value","setParam","getValue","getParam","filterPanelItem","dataFilterItem","provide","DATA_FILTER_ITEM_CONTEXT","onBeforeUnmount","_filterPanel","deleteParamOperator","deleteParam","children","default","FilterColumnComponent","toRaw","_createVNode","map","option","ElOption","translate","ElSelect","v","labelWidth","width"],"mappings":"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"}
1
+ {"version":3,"file":"data-filter-form-item.js","sources":["../../../../../../src/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n onBeforeUnmount,\n provide,\n reactive,\n toRaw,\n unref,\n} from \"vue\";\nimport { DataFilter, FilterColumn, isWhereFilter } from \"@maketribe/dm\";\nimport { useFilterColumnComponent, useI18n } from \"../../../../composables\";\nimport { dataFilterFormItemProps } from \"./data-filter-form-item-options\";\nimport {\n DATA_FILTER_CONTEXT,\n DATA_FILTER_ITEM_CONTEXT,\n DataFilterItem,\n DataFilterItemContext,\n} from \"../token\";\nimport { OperatorOption } from \"../operator-options\";\nimport { ElOption, ElSelect, ElTooltip } from \"element-plus\";\n\nexport default defineComponent({\n name: \"MKDataFilterFormItem\",\n props: dataFilterFormItemProps,\n setup(props, { slots }) {\n const i18n = useI18n()!;\n\n const dataFilterContext = inject(DATA_FILTER_CONTEXT)!;\n\n const dataFilter = computed(() => dataFilterContext.dataFilter);\n\n let _filterColumn: FilterColumn | null = null;\n\n const createFilterColumn = () => {\n _filterColumn = reactive(\n new FilterColumn({\n name: props.name!,\n label: props.label!,\n })\n );\n\n unref(dataFilter).addColumn(_filterColumn);\n\n return _filterColumn;\n };\n\n const filterColumn = computed(() => {\n const existingColumn = unref(dataFilter).getColumn(props.name) ?? null;\n\n if (existingColumn) {\n return existingColumn;\n }\n\n if (!_filterColumn) {\n _filterColumn = createFilterColumn();\n }\n\n return _filterColumn;\n });\n\n const { component, componentProps } = useFilterColumnComponent(\n filterColumn,\n dataFilter\n );\n\n const createDataFilterItem = (\n dataFilter: DataFilter,\n column: FilterColumn\n ) => {\n function setOperator(\n this: DataFilterItem,\n operator: OperatorOption[\"value\"]\n ) {\n const _dataFilter = unref(dataFilter);\n if (isWhereFilter(_dataFilter)) {\n this.currentOperator = operator;\n _dataFilter.setParamOperator(unref(column).name, operator);\n }\n }\n\n function setOperatorOptions(\n this: DataFilterItem,\n options: OperatorOption[]\n ) {\n if (isWhereFilter(unref(dataFilter))) {\n this.operatorOptions = options;\n }\n }\n\n function setValue(this: DataFilterItem, value: any) {\n this.dataFilter.setParam(this.column.name, value);\n }\n\n function getValue(this: DataFilterItem): any {\n return this.dataFilter.getParam(this.column.name);\n }\n\n const filterPanelItem: DataFilterItem = {\n dataFilter,\n column,\n currentOperator: null,\n operatorOptions: [],\n setOperator,\n setOperatorOptions,\n setValue,\n getValue,\n };\n\n return filterPanelItem;\n };\n\n const dataFilterItem = reactive(\n createDataFilterItem(unref(dataFilter), unref(filterColumn))\n ) as DataFilterItem;\n\n provide(\n DATA_FILTER_ITEM_CONTEXT,\n reactive({ dataFilter, dataFilterItem }) as DataFilterItemContext\n );\n\n onBeforeUnmount(() => {\n const _filterPanel = unref(dataFilter);\n\n if (isWhereFilter(_filterPanel)) {\n _filterPanel.deleteParamOperator(unref(filterColumn).name);\n }\n\n _filterPanel.deleteParam(unref(filterColumn).name);\n });\n\n return () => {\n const _filterPanel = unref(dataFilter);\n\n const _filterColumn = unref(filterColumn);\n\n if (!_filterColumn) {\n return null;\n }\n\n let children: any = slots.default?.();\n\n if (!children && unref(component)) {\n const FilterColumnComponent = toRaw(unref(component));\n\n children = <FilterColumnComponent {...unref(componentProps)} />;\n }\n\n const options = dataFilterItem.operatorOptions.map((option) => (\n <ElOption\n key={option.value}\n value={option.value}\n label={i18n.translate(option.label)}\n />\n ));\n\n const operatorSelect = isWhereFilter(_filterPanel) ? (\n <ElSelect\n modelValue={dataFilterItem.currentOperator as any}\n onUpdate:modelValue={(v) => dataFilterItem.setOperator(v)}\n class=\"mk-data-filter-form-item__operator\"\n >\n {options}\n </ElSelect>\n ) : null;\n\n const labelWidth = computed(() => dataFilterContext.labelWidth);\n\n return (\n <div class=\"mk-data-filter-form-item\">\n <div\n class=\"mk-data-filter-form-item__label\"\n style={{ width: labelWidth.value + \"px\" }}\n >\n {_filterColumn.label}\n </div>\n {/* {operatorSelect} */}\n <div class=\"mk-data-filter-form-item__content\">{children}</div>\n </div>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","dataFilterFormItemProps","setup","slots","i18n","useI18n","dataFilterContext","inject","DATA_FILTER_CONTEXT","dataFilter","computed","_filterColumn","createFilterColumn","reactive","FilterColumn","label","unref","addColumn","filterColumn","existingColumn","getColumn","component","componentProps","useFilterColumnComponent","createDataFilterItem","column","setOperator","operator","_dataFilter","isWhereFilter","currentOperator","setParamOperator","setOperatorOptions","options","operatorOptions","setValue","value","setParam","getValue","getParam","filterPanelItem","dataFilterItem","provide","DATA_FILTER_ITEM_CONTEXT","onBeforeUnmount","_filterPanel","deleteParamOperator","deleteParam","children","default","FilterColumnComponent","toRaw","_createVNode","map","option","ElOption","translate","ElSelect","v","labelWidth","width"],"mappings":";;;;;;;;;;;;;;;AAoB6D,SAAAA,QAAAC,CAAA,EAAA;AAAA,EAAA,OAAA,OAAAA,CAAAA,KAAA,UAAAC,IAAAA,MAAAA,CAAAC,SAAAC,CAAAA,QAAAA,CAAAC,IAAAJ,CAAAA,CAAA,CAAAK,KAAAA,iBAAAA,IAAAA,CAAAA,WAAAA,CAAAL,CAAA,CAAA,CAAA;AAAA,CAAA;AAE7D,yCAA+BM,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,sBAAA;AAAA,EACNC,KAAOC,EAAAA,iDAAAA;AAAAA,EACPC,MAAMF,KAAO,EAAA;AAAA,IAAEG,KAAAA;AAAAA,GAAS,EAAA;AACtB,IAAA,MAAMC,OAAOC,eAAQ,EAAA,CAAA;AAErB,IAAMC,MAAAA,iBAAAA,GAAoBC,WAAOC,yBAAmB,CAAA,CAAA;AAEpD,IAAA,MAAMC,UAAaC,GAAAA,YAAAA,CAAS,MAAMJ,iBAAAA,CAAkBG,UAAU,CAAA,CAAA;AAE9D,IAAA,IAAIE,aAAqC,GAAA,IAAA,CAAA;AAEzC,IAAA,MAAMC,qBAAqBA,MAAM;AAC/BD,MAAgBE,aAAAA,GAAAA,YAAAA,CACd,IAAIC,eAAa,CAAA;AAAA,QACff,MAAMC,KAAMD,CAAAA,IAAAA;AAAAA,QACZgB,OAAOf,KAAMe,CAAAA,KAAAA;AAAAA,OACd,CACH,CAAA,CAAA;AAEAC,MAAMP,SAAAA,CAAAA,UAAU,CAAEQ,CAAAA,SAAAA,CAAUN,aAAa,CAAA,CAAA;AAEzC,MAAOA,OAAAA,aAAAA,CAAAA;AAAAA,KACT,CAAA;AAEA,IAAMO,MAAAA,YAAAA,GAAeR,aAAS,MAAM;AAClC,MAAA,MAAMS,iBAAiBH,SAAMP,CAAAA,UAAU,EAAEW,SAAUpB,CAAAA,KAAAA,CAAMD,IAAI,CAAK,IAAA,IAAA,CAAA;AAElE,MAAA,IAAIoB,cAAgB,EAAA;AAClB,QAAOA,OAAAA,cAAAA,CAAAA;AAAAA,OACT;AAEA,MAAA,IAAI,CAACR,aAAe,EAAA;AAClBA,QAAAA,aAAAA,GAAgBC,kBAAmB,EAAA,CAAA;AAAA,OACrC;AAEA,MAAOD,OAAAA,aAAAA,CAAAA;AAAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA;AAAA,MAAEU,SAAAA;AAAAA,MAAWC,cAAAA;AAAAA,KAAe,GAAIC,2CACpCL,CAAAA,YAAAA,EACAT,UACF,CAAA,CAAA;AAEA,IAAMe,MAAAA,oBAAAA,GAAuBA,CAC3Bf,WAAAA,EACAgB,MACG,KAAA;AACH,MAAA,SAASC,YAEPC,QACA,EAAA;AACA,QAAMC,MAAAA,WAAAA,GAAcZ,UAAMP,WAAU,CAAA,CAAA;AACpC,QAAIoB,IAAAA,gBAAAA,CAAcD,WAAW,CAAG,EAAA;AAC9B,UAAA,IAAA,CAAKE,eAAkBH,GAAAA,QAAAA,CAAAA;AACvBC,UAAAA,WAAAA,CAAYG,gBAAiBf,CAAAA,SAAAA,CAAMS,MAAM,CAAA,CAAE1B,MAAM4B,QAAQ,CAAA,CAAA;AAAA,SAC3D;AAAA,OACF;AAEA,MAAA,SAASK,mBAEPC,OACA,EAAA;AACA,QAAA,IAAIJ,gBAAcb,CAAAA,SAAAA,CAAMP,WAAU,CAAC,CAAG,EAAA;AACpC,UAAA,IAAA,CAAKyB,eAAkBD,GAAAA,OAAAA,CAAAA;AAAAA,SACzB;AAAA,OACF;AAEA,MAAA,SAASE,SAA+BC,KAAY,EAAA;AAClD,QAAA,IAAA,CAAK3B,UAAW4B,CAAAA,QAAAA,CAAS,IAAKZ,CAAAA,MAAAA,CAAO1B,MAAMqC,KAAK,CAAA,CAAA;AAAA,OAClD;AAEA,MAAA,SAASE,QAAoC,GAAA;AAC3C,QAAA,OAAO,IAAK7B,CAAAA,UAAAA,CAAW8B,QAAS,CAAA,IAAA,CAAKd,OAAO1B,IAAI,CAAA,CAAA;AAAA,OAClD;AAEA,MAAA,MAAMyC,eAAkC,GAAA;AAAA,QACtC/B,UAAAA,EAAAA,WAAAA;AAAAA,QACAgB,MAAAA;AAAAA,QACAK,eAAiB,EAAA,IAAA;AAAA,QACjBI,iBAAiB,EAAE;AAAA,QACnBR,WAAAA;AAAAA,QACAM,kBAAAA;AAAAA,QACAG,QAAAA;AAAAA,QACAG,QAAAA;AAAAA,OACF,CAAA;AAEA,MAAOE,OAAAA,eAAAA,CAAAA;AAAAA,KACT,CAAA;AAEA,IAAMC,MAAAA,cAAAA,GAAiB5B,aACrBW,oBAAqBR,CAAAA,SAAAA,CAAMP,UAAU,CAAGO,EAAAA,SAAAA,CAAME,YAAY,CAAC,CAC7D,CAAA,CAAA;AAEAwB,IAAAA,WAAAA,CACEC,gCACA9B,YAAS,CAAA;AAAA,MAAEJ,UAAAA;AAAAA,MAAYgC,cAAAA;AAAAA,KAAgB,CACzC,CAAA,CAAA;AAEAG,IAAAA,mBAAAA,CAAgB,MAAM;AACpB,MAAMC,MAAAA,YAAAA,GAAe7B,UAAMP,UAAU,CAAA,CAAA;AAErC,MAAIoB,IAAAA,gBAAAA,CAAcgB,YAAY,CAAG,EAAA;AAC/BA,QAAAA,YAAAA,CAAaC,mBAAoB9B,CAAAA,SAAAA,CAAME,YAAY,CAAA,CAAEnB,IAAI,CAAA,CAAA;AAAA,OAC3D;AAEA8C,MAAAA,YAAAA,CAAaE,WAAY/B,CAAAA,SAAAA,CAAME,YAAY,CAAA,CAAEnB,IAAI,CAAA,CAAA;AAAA,KAClD,CAAA,CAAA;AAED,IAAA,OAAO,MAAM;AACX,MAAM8C,MAAAA,YAAAA,GAAe7B,UAAMP,UAAU,CAAA,CAAA;AAErC,MAAME,MAAAA,cAAAA,GAAgBK,UAAME,YAAY,CAAA,CAAA;AAExC,MAAA,IAAI,CAACP,cAAe,EAAA;AAClB,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AAEA,MAAIqC,IAAAA,QAAAA,GAAgB7C,MAAM8C,OAAU,IAAA,CAAA;AAEpC,MAAA,IAAI,CAACD,QAAAA,IAAYhC,SAAMK,CAAAA,SAAS,CAAG,EAAA;AACjC,QAAA,MAAM6B,qBAAwBC,GAAAA,SAAAA,CAAMnC,SAAMK,CAAAA,SAAS,CAAC,CAAA,CAAA;AAEpD2B,QAAAA,QAAAA,GAAQI,eAAAF,CAAAA,qBAAAA,EAA8BlC,SAAMM,CAAAA,cAAc,GAAK,IAAA,CAAA,CAAA;AAAA,OACjE;AAEA,MAAA,MAAMW,UAAUQ,cAAeP,CAAAA,eAAAA,CAAgBmB,GAAKC,CAAAA,CAAAA,MAAAA,KAAMF,gBAAAG,oBAAA,EAAA;AAAA,QAAA,OAEjDD,MAAOlB,CAAAA,KAAAA;AAAAA,QAAK,SACVkB,MAAOlB,CAAAA,KAAAA;AAAAA,QAAK,OACZhC,EAAAA,IAAAA,CAAKoD,SAAUF,CAAAA,MAAAA,CAAOvC,KAAK,CAAA;AAAA,OAAC,EAAA,IAAA,CAEtC,CAAA,CAAA;AAED,MAAuBc,gBAAAA,CAAcgB,YAAY,CAAA,GAACO,gBAAAK,oBAAA,EAAA;AAAA,QAAA,cAElChB,cAAeX,CAAAA,eAAAA;AAAAA,QAAe,qBACpB4B,EAAAA,CAAAA,CAAAA,KAAMjB,cAAef,CAAAA,WAAAA,CAAYgC,CAAC,CAAA;AAAA,QAAC,OAAA,EAAA,oCAAA;AAAA,OAAAnE,EAAAA,OAAAA,CAGxD0C,OAAO,CAAA,GAAPA,OAAO,GAAA;AAAA,QAAAgB,OAAAA,EAAAA,MAAA,CAAPhB,OAAO,CAAA;AAAA,OAAA,CAER,GAAA,KAAA;AAEJ,MAAA,MAAM0B,UAAajD,GAAAA,YAAAA,CAAS,MAAMJ,iBAAAA,CAAkBqD,UAAU,CAAA,CAAA;AAE9D,MAAA,OAAAP,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,0BAAA;AAAA,OAAA,EAAA,CAAAA,eAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,iCAAA;AAAA,QAAA,OAIa,EAAA;AAAA,UAAEQ,KAAAA,EAAOD,WAAWvB,KAAQ,GAAA,IAAA;AAAA,SAAK;AAAA,SAAC,CAExCzB,cAAAA,CAAcI,KAAK,CAAA,CAAA,EAAAqC,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,mCAAA;AAAA,OAAA,EAAA,CAG0BJ,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAG9D,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { ExtractPropTypes } from "vue";
2
- import { DataFilter } from "@maketribe/dm";
2
+ import { DataTable } from "@maketribe/dm";
3
3
  import dataFilterForm from "./data-filter-form";
4
4
  export declare const dataFilterFormProps: {
5
- readonly dataFilter: {
6
- readonly type: import("vue").PropType<DataFilter<Record<string, any>>>;
5
+ readonly dataTable: {
6
+ readonly type: import("vue").PropType<DataTable<unknown, unknown, Record<string, any>, import("@maketribe/dm").TableColumn>>;
7
7
  readonly required: true;
8
8
  readonly validator: ((val: unknown) => boolean) | undefined;
9
9
  __mkPropKey: true;
@@ -4,7 +4,8 @@ var dm = require('@maketribe/dm');
4
4
  var utils = require('@maketribe/utils');
5
5
 
6
6
  const dataFilterFormProps = utils.buildProps({
7
- dataFilter: { type: dm.DataFilter, required: true }
7
+ // dataFilter: { type: DataFilter, required: true },
8
+ dataTable: { type: dm.DataTable, required: true }
8
9
  });
9
10
  const dataFilterFormEmits = {};
10
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"data-filter-form-options.js","sources":["../../../../../src/components/data-model/data-filter-form/data-filter-form-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { DataFilter } from \"@maketribe/dm\";\nimport { buildProps } from \"@maketribe/utils\";\nimport dataFilterForm from \"./data-filter-form\";\n\nexport const dataFilterFormProps = buildProps({\n dataFilter: { type: DataFilter, required: true },\n} as const);\n\nexport type DataFilterFormProps = ExtractPropTypes<typeof dataFilterFormProps>;\n\nexport const dataFilterFormEmits = {};\n\nexport type DataFilterFormEmits = typeof dataFilterForm;\n"],"names":["buildProps","DataFilter"],"mappings":";;;;;AAKO,MAAM,sBAAsBA,gBAAW,CAAA;AAAA,EAC5C,UAAY,EAAA,EAAE,IAAM,EAAAC,aAAA,EAAY,UAAU,IAAK,EAAA;AACjD,CAAU,EAAA;AAIH,MAAM,sBAAsB;;;;;"}
1
+ {"version":3,"file":"data-filter-form-options.js","sources":["../../../../../src/components/data-model/data-filter-form/data-filter-form-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { DataFilter, DataTable } from \"@maketribe/dm\";\nimport { buildProps } from \"@maketribe/utils\";\nimport dataFilterForm from \"./data-filter-form\";\n\nexport const dataFilterFormProps = buildProps({\n // dataFilter: { type: DataFilter, required: true },\n dataTable: { type: DataTable, required: true },\n} as const);\n\nexport type DataFilterFormProps = ExtractPropTypes<typeof dataFilterFormProps>;\n\nexport const dataFilterFormEmits = {};\n\nexport type DataFilterFormEmits = typeof dataFilterForm;\n"],"names":["buildProps","DataTable"],"mappings":";;;;;AAKO,MAAM,sBAAsBA,gBAAW,CAAA;AAAA;AAAA,EAE5C,SAAW,EAAA,EAAE,IAAM,EAAAC,YAAA,EAAW,UAAU,IAAK,EAAA;AAC/C,CAAU,EAAA;AAIH,MAAM,sBAAsB;;;;;"}
@@ -1,13 +1,13 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
- readonly dataFilter: {
3
- readonly type: import("vue").PropType<import("@maketribe/dm").DataFilter<Record<string, any>>>;
2
+ readonly dataTable: {
3
+ readonly type: import("vue").PropType<import("@maketribe/dm").DataTable<unknown, unknown, Record<string, any>, import("@maketribe/dm").TableColumn>>;
4
4
  readonly required: true;
5
5
  readonly validator: ((val: unknown) => boolean) | undefined;
6
6
  __mkPropKey: true;
7
7
  };
8
8
  }, () => JSX.Element | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
9
- readonly dataFilter: {
10
- readonly type: import("vue").PropType<import("@maketribe/dm").DataFilter<Record<string, any>>>;
9
+ readonly dataTable: {
10
+ readonly type: import("vue").PropType<import("@maketribe/dm").DataTable<unknown, unknown, Record<string, any>, import("@maketribe/dm").TableColumn>>;
11
11
  readonly required: true;
12
12
  readonly validator: ((val: unknown) => boolean) | undefined;
13
13
  __mkPropKey: true;
@@ -11,15 +11,40 @@ var DataFilterForm = /* @__PURE__ */ vue.defineComponent({
11
11
  setup(props, {
12
12
  slots
13
13
  }) {
14
- const dataFilter = vue.computed(() => props.dataFilter);
14
+ const dataTable = vue.computed(() => props.dataTable);
15
+ const dataFilter = vue.computed(() => vue.unref(dataTable).dataFilter);
15
16
  const columns = vue.computed(() => vue.unref(dataFilter).getColumns().filter((column) => column.visible));
17
+ const labelWidth = vue.computed(() => {
18
+ const maxWordCount = Math.max(...vue.unref(columns).map((column) => column.label.length));
19
+ return maxWordCount * 14 + 10;
20
+ });
16
21
  vue.provide(token.DATA_FILTER_CONTEXT, vue.reactive({
17
- dataFilter
22
+ dataFilter,
23
+ labelWidth
18
24
  }));
19
- vue.onMounted(() => {
20
- vue.unref(dataFilter).setReady();
25
+ const instance = vue.getCurrentInstance();
26
+ const handleResolve = () => {
27
+ vue.withCtx(() => {
28
+ vue.watch(dataFilter, (dataFilter2) => {
29
+ dataFilter2.setReady();
30
+ }, {
31
+ immediate: true
32
+ });
33
+ }, instance)();
34
+ };
35
+ vue.watch(dataTable, (dataTable2) => {
36
+ dataTable2.initdEvent.once(() => {
37
+ if (!dataTable2.dataFilter.getColumns().length) {
38
+ dataTable2.dataFilter.setReady();
39
+ }
40
+ });
41
+ }, {
42
+ immediate: true
21
43
  });
22
44
  return () => {
45
+ if (!vue.unref(columns).length) {
46
+ return null;
47
+ }
23
48
  let children = slots.default?.();
24
49
  if (!children) {
25
50
  children = vue.unref(columns).map((column) => {
@@ -38,7 +63,11 @@ var DataFilterForm = /* @__PURE__ */ vue.defineComponent({
38
63
  }
39
64
  return vue.createVNode("div", {
40
65
  "class": "mk-data-filter-form"
41
- }, [children]);
66
+ }, [vue.createVNode(vue.Suspense, {
67
+ "onResolve": handleResolve
68
+ }, {
69
+ default: () => [vue.createVNode(vue.Fragment, null, [children])]
70
+ })]);
42
71
  };
43
72
  }
44
73
  });
@@ -1 +1 @@
1
- {"version":3,"file":"data-filter-form.js","sources":["../../../../../src/components/data-model/data-filter-form/data-filter-form.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n onMounted,\n provide,\n reactive,\n unref,\n} from \"vue\";\nimport { dataFilterFormProps } from \"./data-filter-form-options\";\nimport { MKDataFilterFormItem } from \"./data-filter-form-item\";\nimport { DATA_FILTER_CONTEXT } from \"./token\";\n\nexport default defineComponent({\n name: \"MKDataFilterForm\",\n props: dataFilterFormProps,\n setup(props, { slots }) {\n const dataFilter = computed(() => props.dataFilter);\n\n const columns = computed(() =>\n unref(dataFilter)\n .getColumns()\n .filter((column) => column.visible)\n );\n\n provide(DATA_FILTER_CONTEXT, reactive({ dataFilter }));\n\n onMounted(() => {\n unref(dataFilter).setReady();\n });\n\n return () => {\n let children: any = slots.default?.();\n\n if (!children) {\n children = unref(columns).map((column) => {\n if (!column.name) {\n return null;\n }\n\n return (\n slots[`col-${column.name}`]?.() || (\n <MKDataFilterFormItem\n name={column.name}\n v-slots={{ default: slots[`col-${column.name}-content`] }}\n />\n )\n );\n });\n }\n\n if (!children) {\n return null;\n }\n\n return <div class=\"mk-data-filter-form\">{children}</div>;\n };\n },\n});\n"],"names":["defineComponent","name","props","dataFilterFormProps","setup","slots","dataFilter","computed","columns","unref","getColumns","filter","column","visible","provide","DATA_FILTER_CONTEXT","reactive","onMounted","setReady","children","default","map","_createVNode","MKDataFilterFormItem"],"mappings":";;;;;;;AAYA,qCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,kBAAA;AAAA,EACNC,KAAOC,EAAAA,yCAAAA;AAAAA,EACPC,MAAMF,KAAO,EAAA;AAAA,IAAEG,KAAAA;AAAAA,GAAS,EAAA;AACtB,IAAA,MAAMC,UAAaC,GAAAA,YAAAA,CAAS,MAAML,KAAAA,CAAMI,UAAU,CAAA,CAAA;AAElD,IAAA,MAAME,OAAUD,GAAAA,YAAAA,CAAS,MACvBE,SAAAA,CAAMH,UAAU,CAAA,CACbI,UAAW,EAAA,CACXC,MAAQC,CAAAA,CAAAA,MAAAA,KAAWA,MAAOC,CAAAA,OAAO,CACtC,CAAA,CAAA;AAEAC,IAAAA,WAAAA,CAAQC,2BAAqBC,YAAS,CAAA;AAAA,MAAEV,UAAAA;AAAAA,KAAY,CAAC,CAAA,CAAA;AAErDW,IAAAA,aAAAA,CAAU,MAAM;AACdR,MAAMH,SAAAA,CAAAA,UAAU,EAAEY,QAAS,EAAA,CAAA;AAAA,KAC5B,CAAA,CAAA;AAED,IAAA,OAAO,MAAM;AACX,MAAIC,IAAAA,QAAAA,GAAgBd,MAAMe,OAAU,IAAA,CAAA;AAEpC,MAAA,IAAI,CAACD,QAAU,EAAA;AACbA,QAAAA,QAAAA,GAAWV,SAAMD,CAAAA,OAAO,CAAEa,CAAAA,GAAAA,CAAKT,CAAW,MAAA,KAAA;AACxC,UAAI,IAAA,CAACA,OAAOX,IAAM,EAAA;AAChB,YAAO,OAAA,IAAA,CAAA;AAAA,WACT;AAEA,UACEI,OAAAA,KAAAA,CAAO,OAAMO,MAAOX,CAAAA,IAAK,EAAC,CAAI,IAAA,IAACqB,gBAAAC,0BAAA,EAAA;AAAA,YAAA,QAErBX,MAAOX,CAAAA,IAAAA;AAAAA,WACJ,EAAA;AAAA,YAAEmB,OAASf,EAAAA,KAAAA,CAAO,CAAMO,IAAAA,EAAAA,MAAAA,CAAOX,IAAK,CAAS,QAAA,CAAA,CAAA;AAAA,WAAG,CAAA,CAAA;AAAA,SAIhE,CAAA,CAAA;AAAA,OACH;AAEA,MAAA,IAAI,CAACkB,QAAU,EAAA;AACb,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AAEA,MAAA,OAAAG,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,qBAAA;AAAA,OAAA,EAAA,CAAyCH,QAAQ,CAAA,CAAA,CAAA;AAAA,KACnD,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"data-filter-form.js","sources":["../../../../../src/components/data-model/data-filter-form/data-filter-form.tsx"],"sourcesContent":["import {\n Fragment,\n Suspense,\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n reactive,\n unref,\n watch,\n withCtx,\n} from \"vue\";\nimport { dataFilterFormProps } from \"./data-filter-form-options\";\nimport { MKDataFilterFormItem } from \"./data-filter-form-item\";\nimport { DATA_FILTER_CONTEXT } from \"./token\";\n\nexport default defineComponent({\n name: \"MKDataFilterForm\",\n props: dataFilterFormProps,\n setup(props, { slots }) {\n const dataTable = computed(() => props.dataTable);\n const dataFilter = computed(() => unref(dataTable).dataFilter);\n\n const columns = computed(() =>\n unref(dataFilter)\n .getColumns()\n .filter((column) => column.visible)\n );\n\n const labelWidth = computed(() => {\n const maxWordCount = Math.max(\n ...unref(columns).map((column) => column.label.length)\n );\n\n return maxWordCount * 14 + 10;\n });\n\n provide(DATA_FILTER_CONTEXT, reactive({ dataFilter, labelWidth }));\n\n const instance = getCurrentInstance();\n\n const handleResolve = () => {\n withCtx(() => {\n watch(\n dataFilter,\n (dataFilter) => {\n dataFilter.setReady();\n },\n { immediate: true }\n );\n }, instance)();\n };\n\n watch(\n dataTable,\n (dataTable) => {\n dataTable.initdEvent.once(() => {\n if (!dataTable.dataFilter.getColumns().length) {\n dataTable.dataFilter.setReady();\n }\n });\n },\n { immediate: true }\n );\n\n return () => {\n if (!unref(columns).length) {\n return null;\n }\n\n let children: any = slots.default?.();\n\n if (!children) {\n children = unref(columns).map((column) => {\n if (!column.name) {\n return null;\n }\n\n return (\n slots[`col-${column.name}`]?.() || (\n <MKDataFilterFormItem\n name={column.name}\n v-slots={{ default: slots[`col-${column.name}-content`] }}\n />\n )\n );\n });\n }\n\n if (!children) {\n return null;\n }\n\n return (\n <div class=\"mk-data-filter-form\">\n <Suspense onResolve={handleResolve}>\n <Fragment>{children}</Fragment>\n </Suspense>\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","dataFilterFormProps","setup","slots","dataTable","computed","dataFilter","unref","columns","getColumns","filter","column","visible","labelWidth","maxWordCount","Math","max","map","label","length","provide","DATA_FILTER_CONTEXT","reactive","instance","getCurrentInstance","handleResolve","withCtx","watch","setReady","immediate","initdEvent","once","children","default","_createVNode","MKDataFilterFormItem","Suspense","_Fragment"],"mappings":";;;;;;;AAgBA,qCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,kBAAA;AAAA,EACNC,KAAOC,EAAAA,yCAAAA;AAAAA,EACPC,MAAMF,KAAO,EAAA;AAAA,IAAEG,KAAAA;AAAAA,GAAS,EAAA;AACtB,IAAA,MAAMC,SAAYC,GAAAA,YAAAA,CAAS,MAAML,KAAAA,CAAMI,SAAS,CAAA,CAAA;AAChD,IAAA,MAAME,aAAaD,YAAS,CAAA,MAAME,SAAMH,CAAAA,SAAS,EAAEE,UAAU,CAAA,CAAA;AAE7D,IAAA,MAAME,OAAUH,GAAAA,YAAAA,CAAS,MACvBE,SAAAA,CAAMD,UAAU,CAAA,CACbG,UAAW,EAAA,CACXC,MAAQC,CAAAA,CAAAA,MAAAA,KAAWA,MAAOC,CAAAA,OAAO,CACtC,CAAA,CAAA;AAEA,IAAMC,MAAAA,UAAAA,GAAaR,aAAS,MAAM;AAChC,MAAA,MAAMS,YAAeC,GAAAA,IAAAA,CAAKC,GACxB,CAAA,GAAGT,SAAMC,CAAAA,OAAO,CAAES,CAAAA,GAAAA,CAAKN,CAAWA,MAAAA,KAAAA,MAAAA,CAAOO,KAAMC,CAAAA,MAAM,CACvD,CAAA,CAAA;AAEA,MAAA,OAAOL,eAAe,EAAK,GAAA,EAAA,CAAA;AAAA,KAC5B,CAAA,CAAA;AAEDM,IAAAA,WAAAA,CAAQC,2BAAqBC,YAAS,CAAA;AAAA,MAAEhB,UAAAA;AAAAA,MAAYO,UAAAA;AAAAA,KAAY,CAAC,CAAA,CAAA;AAEjE,IAAA,MAAMU,WAAWC,sBAAmB,EAAA,CAAA;AAEpC,IAAA,MAAMC,gBAAgBA,MAAM;AAC1BC,MAAAA,WAAAA,CAAQ,MAAM;AACZC,QACErB,SAAAA,CAAAA,UAAAA,EACCA,CAAAA,WAAe,KAAA;AACdA,UAAAA,YAAWsB,QAAS,EAAA,CAAA;AAAA,SAEtB,EAAA;AAAA,UAAEC,SAAW,EAAA,IAAA;AAAA,SACf,CAAA,CAAA;AAAA,OACF,EAAGN,QAAQ,CAAE,EAAA,CAAA;AAAA,KACf,CAAA;AAEAI,IACEvB,SAAAA,CAAAA,SAAAA,EACCA,CAAAA,UAAc,KAAA;AACbA,MAAAA,UAAAA,CAAU0B,UAAWC,CAAAA,IAAAA,CAAK,MAAM;AAC9B,QAAA,IAAI,CAAC3B,UAAAA,CAAUE,UAAWG,CAAAA,UAAAA,GAAaU,MAAQ,EAAA;AAC7Cf,UAAAA,UAAAA,CAAUE,WAAWsB,QAAS,EAAA,CAAA;AAAA,SAChC;AAAA,OACD,CAAA,CAAA;AAAA,KAEH,EAAA;AAAA,MAAEC,SAAW,EAAA,IAAA;AAAA,KACf,CAAA,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,CAACtB,SAAAA,CAAMC,OAAO,CAAA,CAAEW,MAAQ,EAAA;AAC1B,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AAEA,MAAIa,IAAAA,QAAAA,GAAgB7B,MAAM8B,OAAU,IAAA,CAAA;AAEpC,MAAA,IAAI,CAACD,QAAU,EAAA;AACbA,QAAAA,QAAAA,GAAWzB,SAAMC,CAAAA,OAAO,CAAES,CAAAA,GAAAA,CAAKN,CAAW,MAAA,KAAA;AACxC,UAAI,IAAA,CAACA,OAAOZ,IAAM,EAAA;AAChB,YAAO,OAAA,IAAA,CAAA;AAAA,WACT;AAEA,UACEI,OAAAA,KAAAA,CAAO,OAAMQ,MAAOZ,CAAAA,IAAK,EAAC,CAAI,IAAA,IAACmC,gBAAAC,0BAAA,EAAA;AAAA,YAAA,QAErBxB,MAAOZ,CAAAA,IAAAA;AAAAA,WACJ,EAAA;AAAA,YAAEkC,OAAS9B,EAAAA,KAAAA,CAAO,CAAMQ,IAAAA,EAAAA,MAAAA,CAAOZ,IAAK,CAAS,QAAA,CAAA,CAAA;AAAA,WAAG,CAAA,CAAA;AAAA,SAIhE,CAAA,CAAA;AAAA,OACH;AAEA,MAAA,IAAI,CAACiC,QAAU,EAAA;AACb,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AAEA,MAAA,OAAAE,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,qBAAA;AAAA,OAAA,EAAAA,CAAAA,eAAAA,CAAAE,YAAA,EAAA;AAAA,QAAA,WAEyBX,EAAAA,aAAAA;AAAAA,OAAa,EAAA;AAAA,QAAAQ,OAAAA,EAAAA,MAAA,CAAAC,eAAAA,CAAAG,qBACrBL,QAAQ,CAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAI3B,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}
@@ -1,13 +1,13 @@
1
1
  export declare const MKDataFilterForm: import("@maketribe/utils").SFCWithInstall<import("vue").DefineComponent<{
2
- readonly dataFilter: {
3
- readonly type: import("vue").PropType<import("@maketribe/dm").DataFilter<Record<string, any>>>;
2
+ readonly dataTable: {
3
+ readonly type: import("vue").PropType<import("@maketribe/dm").DataTable<unknown, unknown, Record<string, any>, import("@maketribe/dm").TableColumn>>;
4
4
  readonly required: true;
5
5
  readonly validator: ((val: unknown) => boolean) | undefined;
6
6
  __mkPropKey: true;
7
7
  };
8
8
  }, () => JSX.Element | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
9
- readonly dataFilter: {
10
- readonly type: import("vue").PropType<import("@maketribe/dm").DataFilter<Record<string, any>>>;
9
+ readonly dataTable: {
10
+ readonly type: import("vue").PropType<import("@maketribe/dm").DataTable<unknown, unknown, Record<string, any>, import("@maketribe/dm").TableColumn>>;
11
11
  readonly required: true;
12
12
  readonly validator: ((val: unknown) => boolean) | undefined;
13
13
  __mkPropKey: true;
@@ -3,6 +3,7 @@ import { Operator, FilterColumn, DataFilter } from "@maketribe/dm";
3
3
  import { OperatorOption } from "./operator-options";
4
4
  export interface DataFilterContext {
5
5
  dataFilter: DataFilter;
6
+ labelWidth: number;
6
7
  }
7
8
  export interface DataFilterItemContext {
8
9
  dataFilter: DataFilter;
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sources":["../../../../../src/components/data-model/data-filter-form/token.ts"],"sourcesContent":["import { InjectionKey } from \"vue\";\nimport { Operator, FilterColumn, DataFilter } from \"@maketribe/dm\";\nimport { OperatorOption } from \"./operator-options\";\n\nexport interface DataFilterContext {\n dataFilter: DataFilter;\n}\n\nexport interface DataFilterItemContext {\n dataFilter: DataFilter;\n dataFilterItem: DataFilterItem;\n}\n\nexport interface DataFilterItem {\n dataFilter: DataFilter;\n column: FilterColumn;\n currentOperator: Operator | null;\n operatorOptions: OperatorOption[];\n setOperator(operator: Operator): void;\n setOperatorOptions(options: OperatorOption[]): void;\n setValue(value: any): void;\n getValue(): any;\n}\n\nexport const DATA_FILTER_CONTEXT: InjectionKey<DataFilterContext> = Symbol(\n \"DATA_FILTER_CONTEXT\"\n);\nexport const DATA_FILTER_ITEM_CONTEXT: InjectionKey<DataFilterItemContext> =\n Symbol(\"DATA_FILTER_ITEM_CONTEXT\");\n"],"names":[],"mappings":";;AAwBO,MAAM,mBAAuD,GAAA,MAAA;AAAA,EAClE,qBAAA;AACF,EAAA;AACa,MAAA,wBAAA,GACX,OAAO,0BAA0B;;;;;"}
1
+ {"version":3,"file":"token.js","sources":["../../../../../src/components/data-model/data-filter-form/token.ts"],"sourcesContent":["import { InjectionKey } from \"vue\";\nimport { Operator, FilterColumn, DataFilter } from \"@maketribe/dm\";\nimport { OperatorOption } from \"./operator-options\";\n\nexport interface DataFilterContext {\n dataFilter: DataFilter;\n labelWidth: number;\n}\n\nexport interface DataFilterItemContext {\n dataFilter: DataFilter;\n dataFilterItem: DataFilterItem;\n}\n\nexport interface DataFilterItem {\n dataFilter: DataFilter;\n column: FilterColumn;\n currentOperator: Operator | null;\n operatorOptions: OperatorOption[];\n setOperator(operator: Operator): void;\n setOperatorOptions(options: OperatorOption[]): void;\n setValue(value: any): void;\n getValue(): any;\n}\n\nexport const DATA_FILTER_CONTEXT: InjectionKey<DataFilterContext> = Symbol(\n \"DATA_FILTER_CONTEXT\"\n);\nexport const DATA_FILTER_ITEM_CONTEXT: InjectionKey<DataFilterItemContext> =\n Symbol(\"DATA_FILTER_ITEM_CONTEXT\");\n"],"names":[],"mappings":";;AAyBO,MAAM,mBAAuD,GAAA,MAAA;AAAA,EAClE,qBAAA;AACF,EAAA;AACa,MAAA,wBAAA,GACX,OAAO,0BAA0B;;;;;"}
@@ -12,9 +12,10 @@ var DataFilterPopover = /* @__PURE__ */ vue.defineComponent({
12
12
  setup(props, {
13
13
  slots
14
14
  }) {
15
- const dataFilter = vue.computed(() => props.dataTable.dataFilter);
15
+ const dataTable = vue.computed(() => props.dataTable);
16
+ const dataFilter = vue.computed(() => vue.unref(dataTable).dataFilter);
16
17
  const handleSearch = () => {
17
- props.dataTable.load();
18
+ vue.unref(dataTable).load();
18
19
  };
19
20
  const handleReset = () => {
20
21
  vue.unref(dataFilter).reset();
@@ -34,7 +35,7 @@ var DataFilterPopover = /* @__PURE__ */ vue.defineComponent({
34
35
  }, [vue.createVNode("div", {
35
36
  "class": "mk-data-filter-popover__body"
36
37
  }, [vue.createVNode(index$1.MKDataFilterForm, {
37
- "dataFilter": vue.unref(dataFilter)
38
+ "dataTable": vue.unref(dataTable)
38
39
  }, null)]), vue.createVNode("div", {
39
40
  "class": "mk-data-filter-popover__footer"
40
41
  }, [vue.createVNode(elementPlus.ElButton, {
@@ -1 +1 @@
1
- {"version":3,"file":"data-filter-popover.js","sources":["../../../../../src/components/data-model/data-filter-popover/data-filter-popover.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\nimport { ElButton, ElPopover } from \"element-plus\";\nimport { MKDataFilterForm } from \"../data-filter-form\";\nimport { dataFilterPopoverProps } from \"./data-filter-popover-options\";\nimport MKSvgIcon from \"../../svg-icon\";\n\nexport default defineComponent({\n name: \"MKDataFilterPopover\",\n props: dataFilterPopoverProps,\n setup(props, { slots }) {\n const dataFilter = computed(() => props.dataTable.dataFilter);\n\n const handleSearch = () => {\n props.dataTable.load();\n };\n\n const handleReset = () => {\n unref(dataFilter).reset();\n\n handleSearch();\n };\n\n return () => {\n return (\n <ElPopover\n trigger=\"click\"\n width=\"400px\"\n v-slots={{\n reference: () =>\n slots.default?.() || <MKSvgIcon iconClass=\"Filter\" />,\n default: () => {\n return (\n <div class=\"mk-data-filter-popover\">\n <div class=\"mk-data-filter-popover__body\">\n <MKDataFilterForm dataFilter={unref(dataFilter)} />\n </div>\n <div class=\"mk-data-filter-popover__footer\">\n <ElButton onClick={handleReset}>重置</ElButton>\n <ElButton type=\"primary\" onClick={handleSearch}>\n 查询\n </ElButton>\n </div>\n </div>\n );\n },\n }}\n />\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","dataFilterPopoverProps","setup","slots","dataFilter","computed","dataTable","handleSearch","load","handleReset","unref","reset","_createVNode","ElPopover","reference","default","MKSvgIcon","MKDataFilterForm","ElButton","_createTextVNode"],"mappings":";;;;;;;;AAMA,wCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,qBAAA;AAAA,EACNC,KAAOC,EAAAA,+CAAAA;AAAAA,EACPC,MAAMF,KAAO,EAAA;AAAA,IAAEG,KAAAA;AAAAA,GAAS,EAAA;AACtB,IAAA,MAAMC,UAAaC,GAAAA,YAAAA,CAAS,MAAML,KAAAA,CAAMM,UAAUF,UAAU,CAAA,CAAA;AAE5D,IAAA,MAAMG,eAAeA,MAAM;AACzBP,MAAAA,KAAAA,CAAMM,UAAUE,IAAK,EAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAA,MAAMC,cAAcA,MAAM;AACxBC,MAAMN,SAAAA,CAAAA,UAAU,EAAEO,KAAM,EAAA,CAAA;AAExBJ,MAAa,YAAA,EAAA,CAAA;AAAA,KACf,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,OAAAK,gBAAAC,qBAAA,EAAA;AAAA,QAAA,SAAA,EAAA,OAAA;AAAA,QAAA,OAAA,EAAA,OAAA;AAAA,OAIa,EAAA;AAAA,QACPC,WAAWA,MACTX,KAAAA,CAAMY,OAAU,IAAA,IAACH,gBAAAI,eAAA,EAAA;AAAA,UAAA,WAAA,EAAA,QAAA;AAAA,WAAoC,IAAA,CAAA;AAAA,QACvDD,SAASA,MAAM;AACb,UAAA,OAAAH,gBAAA,KAAA,EAAA;AAAA,YAAA,OAAA,EAAA,wBAAA;AAAA,WAAA,EAAA,CAAAA,eAAAA,CAAA,KAAA,EAAA;AAAA,YAAA,OAAA,EAAA,8BAAA;AAAA,WAAA,EAAAA,CAAAA,eAAAA,CAAAK,wBAAA,EAAA;AAAA,YAAA,YAAA,EAGoCP,UAAMN,UAAU,CAAA;AAAA,aAAC,IAAA,CAAA,CAAA,CAAA,EAAAQ,gBAAA,KAAA,EAAA;AAAA,YAAA,OAAA,EAAA,gCAAA;AAAA,WAAA,EAAAA,CAAAA,eAAAA,CAAAM,oBAAA,EAAA;AAAA,YAAA,SAG5BT,EAAAA,WAAAA;AAAAA,WAAW,EAAA;AAAA,YAAAM,OAAAA,EAAAA,MAAA,CAAAI,mBAAAA,CAAA,cAAA,CAAA,CAAA;AAAA,WAAAP,CAAAA,EAAAA,eAAAA,CAAAM,oBAAA,EAAA;AAAA,YAAA,MAAA,EAAA,SAAA;AAAA,YAAA,SACIX,EAAAA,YAAAA;AAAAA,WAAY,EAAA;AAAA,YAAAQ,OAAAA,EAAAA,MAAA,CAAAI,mBAAAA,CAAA,cAAA,CAAA,CAAA;AAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SAMtD;AAAA,OACD,CAAA,CAAA;AAAA,KAGP,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"data-filter-popover.js","sources":["../../../../../src/components/data-model/data-filter-popover/data-filter-popover.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\nimport { ElButton, ElPopover } from \"element-plus\";\nimport { MKDataFilterForm } from \"../data-filter-form\";\nimport { dataFilterPopoverProps } from \"./data-filter-popover-options\";\nimport MKSvgIcon from \"../../svg-icon\";\n\nexport default defineComponent({\n name: \"MKDataFilterPopover\",\n props: dataFilterPopoverProps,\n setup(props, { slots }) {\n const dataTable = computed(() => props.dataTable);\n const dataFilter = computed(() => unref(dataTable).dataFilter);\n\n const handleSearch = () => {\n unref(dataTable).load();\n };\n\n const handleReset = () => {\n unref(dataFilter).reset();\n\n handleSearch();\n };\n\n return () => {\n return (\n <ElPopover\n trigger=\"click\"\n width=\"400px\"\n v-slots={{\n reference: () =>\n slots.default?.() || <MKSvgIcon iconClass=\"Filter\" />,\n default: () => {\n return (\n <div class=\"mk-data-filter-popover\">\n <div class=\"mk-data-filter-popover__body\">\n <MKDataFilterForm dataTable={unref(dataTable)} />\n </div>\n <div class=\"mk-data-filter-popover__footer\">\n <ElButton onClick={handleReset}>重置</ElButton>\n <ElButton type=\"primary\" onClick={handleSearch}>\n 查询\n </ElButton>\n </div>\n </div>\n );\n },\n }}\n />\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","dataFilterPopoverProps","setup","slots","dataTable","computed","dataFilter","unref","handleSearch","load","handleReset","reset","_createVNode","ElPopover","reference","default","MKSvgIcon","MKDataFilterForm","ElButton","_createTextVNode"],"mappings":";;;;;;;;AAMA,wCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,qBAAA;AAAA,EACNC,KAAOC,EAAAA,+CAAAA;AAAAA,EACPC,MAAMF,KAAO,EAAA;AAAA,IAAEG,KAAAA;AAAAA,GAAS,EAAA;AACtB,IAAA,MAAMC,SAAYC,GAAAA,YAAAA,CAAS,MAAML,KAAAA,CAAMI,SAAS,CAAA,CAAA;AAChD,IAAA,MAAME,aAAaD,YAAS,CAAA,MAAME,SAAMH,CAAAA,SAAS,EAAEE,UAAU,CAAA,CAAA;AAE7D,IAAA,MAAME,eAAeA,MAAM;AACzBD,MAAMH,SAAAA,CAAAA,SAAS,EAAEK,IAAK,EAAA,CAAA;AAAA,KACxB,CAAA;AAEA,IAAA,MAAMC,cAAcA,MAAM;AACxBH,MAAMD,SAAAA,CAAAA,UAAU,EAAEK,KAAM,EAAA,CAAA;AAExBH,MAAa,YAAA,EAAA,CAAA;AAAA,KACf,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,OAAAI,gBAAAC,qBAAA,EAAA;AAAA,QAAA,SAAA,EAAA,OAAA;AAAA,QAAA,OAAA,EAAA,OAAA;AAAA,OAIa,EAAA;AAAA,QACPC,WAAWA,MACTX,KAAAA,CAAMY,OAAU,IAAA,IAACH,gBAAAI,eAAA,EAAA;AAAA,UAAA,WAAA,EAAA,QAAA;AAAA,WAAoC,IAAA,CAAA;AAAA,QACvDD,SAASA,MAAM;AACb,UAAA,OAAAH,gBAAA,KAAA,EAAA;AAAA,YAAA,OAAA,EAAA,wBAAA;AAAA,WAAA,EAAA,CAAAA,eAAAA,CAAA,KAAA,EAAA;AAAA,YAAA,OAAA,EAAA,8BAAA;AAAA,WAAA,EAAAA,CAAAA,eAAAA,CAAAK,wBAAA,EAAA;AAAA,YAAA,WAAA,EAGmCV,UAAMH,SAAS,CAAA;AAAA,aAAC,IAAA,CAAA,CAAA,CAAA,EAAAQ,gBAAA,KAAA,EAAA;AAAA,YAAA,OAAA,EAAA,gCAAA;AAAA,WAAA,EAAAA,CAAAA,eAAAA,CAAAM,oBAAA,EAAA;AAAA,YAAA,SAG1BR,EAAAA,WAAAA;AAAAA,WAAW,EAAA;AAAA,YAAAK,OAAAA,EAAAA,MAAA,CAAAI,mBAAAA,CAAA,cAAA,CAAA,CAAA;AAAA,WAAAP,CAAAA,EAAAA,eAAAA,CAAAM,oBAAA,EAAA;AAAA,YAAA,MAAA,EAAA,SAAA;AAAA,YAAA,SACIV,EAAAA,YAAAA;AAAAA,WAAY,EAAA;AAAA,YAAAO,OAAAA,EAAAA,MAAA,CAAAI,mBAAAA,CAAA,cAAA,CAAA,CAAA;AAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SAMtD;AAAA,OACD,CAAA,CAAA;AAAA,KAGP,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}
@@ -51,7 +51,7 @@ var MKDataForm = /* @__PURE__ */ vue.defineComponent({
51
51
  eventName: key.replace(/Event$/, "").replace(/[A-Z]/g, (match) => `-${match.toLocaleLowerCase()}`),
52
52
  event: dataForm2[key]
53
53
  }));
54
- for (const item of events) {
54
+ for (const item of events.filter((event) => event.eventName in dataFormOptions.dataFormEmits)) {
55
55
  disposable.register(
56
56
  // @ts-ignore
57
57
  item.event.on((event) => {
@@ -1 +1 @@
1
- {"version":3,"file":"data-form.js","sources":["../../../../../src/components/data-model/data-form/data-form.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n provide,\n reactive,\n unref,\n useSlots,\n watch,\n} from \"vue\";\nimport { FormColumn, DataForm } from \"@maketribe/dm\";\n\nimport { dataFormEmits, dataFormProps } from \"./data-form-options\";\nimport { DATAFORM_CONTEXT_KEY } from \"./token\";\nimport { Disposable, Event } from \"@maketribe/utils\";\nimport { MKFormView } from \"./views\";\n\nexport default defineComponent({\n name: \"MKDataForm\",\n inheritAttrs: false,\n props: dataFormProps,\n emits: dataFormEmits,\n setup(props, { emit, slots }) {\n let _dataForm: DataForm | null = null;\n\n const createDataForm = () => {\n const dataForm = new DataForm({\n name: props.name!,\n primaryKey: props.primaryKey,\n interfaceURL: {\n load: props.loadInterfaceURL || \"\",\n add: props.addInterfaceURL || \"\",\n update: props.updateInterfaceURL || props.addInterfaceURL || \"\",\n },\n });\n\n const columns = props.columns.map((column) => new FormColumn(column));\n\n dataForm.setColumns(columns);\n\n return dataForm;\n };\n\n const dataForm = computed(() => {\n if (props.dataForm instanceof DataForm) {\n return props.dataForm;\n }\n\n if (!_dataForm) {\n _dataForm = reactive(createDataForm()) as DataForm;\n }\n\n return _dataForm;\n });\n\n watch(\n dataForm,\n async (dataForm, _, onCleanup) => {\n await dataForm.init();\n\n if (unref(dataForm).autoReset) {\n unref(dataForm).reset();\n }\n\n const disposable = new Disposable();\n\n const events = Object.keys(dataForm)\n .filter((key) => dataForm[key as keyof DataForm] instanceof Event)\n .map((key) => ({\n eventName: key\n .replace(/Event$/, \"\")\n .replace(/[A-Z]/g, (match) => `-${match.toLocaleLowerCase()}`),\n event: dataForm[key as keyof DataForm]! as Event,\n }));\n\n for (const item of events) {\n disposable.register(\n // @ts-ignore\n item.event.on((event: any) => {\n // @ts-ignore\n emit(item.eventName, event);\n })\n );\n }\n\n onCleanup(() => {\n disposable.dispose();\n });\n\n emit(\"changeDataForm\", dataForm);\n },\n { immediate: true }\n );\n\n provide(\n DATAFORM_CONTEXT_KEY,\n reactive({\n dataForm,\n })\n );\n\n return () => {\n return (\n <div class=\"mk-data-form\">\n {slots.default?.({ ...props, dataForm: unref(dataForm) }) || (\n <MKFormView {...props} dataForm={unref(dataForm)} v-slots={slots} />\n )}\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","inheritAttrs","props","dataFormProps","emits","dataFormEmits","setup","emit","slots","_dataForm","createDataForm","dataForm","DataForm","primaryKey","interfaceURL","load","loadInterfaceURL","add","addInterfaceURL","update","updateInterfaceURL","columns","map","column","FormColumn","setColumns","computed","reactive","watch","_","onCleanup","init","unref","autoReset","reset","disposable","Disposable","events","Object","keys","filter","key","Event","eventName","replace","match","toLocaleLowerCase","event","item","register","on","dispose","immediate","provide","DATAFORM_CONTEXT_KEY","_createVNode","default","MKFormView","_mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"data-form.js","sources":["../../../../../src/components/data-model/data-form/data-form.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n provide,\n reactive,\n unref,\n useSlots,\n watch,\n} from \"vue\";\nimport { FormColumn, DataForm } from \"@maketribe/dm\";\n\nimport { dataFormEmits, dataFormProps } from \"./data-form-options\";\nimport { DATAFORM_CONTEXT_KEY } from \"./token\";\nimport { Disposable, Event } from \"@maketribe/utils\";\nimport { MKFormView } from \"./views\";\n\nexport default defineComponent({\n name: \"MKDataForm\",\n inheritAttrs: false,\n props: dataFormProps,\n emits: dataFormEmits,\n setup(props, { emit, slots }) {\n let _dataForm: DataForm | null = null;\n\n const createDataForm = () => {\n const dataForm = new DataForm({\n name: props.name!,\n primaryKey: props.primaryKey,\n interfaceURL: {\n load: props.loadInterfaceURL || \"\",\n add: props.addInterfaceURL || \"\",\n update: props.updateInterfaceURL || props.addInterfaceURL || \"\",\n },\n });\n\n const columns = props.columns.map((column) => new FormColumn(column));\n\n dataForm.setColumns(columns);\n\n return dataForm;\n };\n\n const dataForm = computed(() => {\n if (props.dataForm instanceof DataForm) {\n return props.dataForm;\n }\n\n if (!_dataForm) {\n _dataForm = reactive(createDataForm()) as DataForm;\n }\n\n return _dataForm;\n });\n\n watch(\n dataForm,\n async (dataForm, _, onCleanup) => {\n await dataForm.init();\n\n if (unref(dataForm).autoReset) {\n unref(dataForm).reset();\n }\n\n const disposable = new Disposable();\n\n const events = Object.keys(dataForm)\n .filter((key) => dataForm[key as keyof DataForm] instanceof Event)\n .map((key) => ({\n eventName: key\n .replace(/Event$/, \"\")\n .replace(/[A-Z]/g, (match) => `-${match.toLocaleLowerCase()}`),\n event: dataForm[key as keyof DataForm]! as Event,\n }));\n\n for (const item of events.filter(\n (event) => event.eventName in dataFormEmits\n )) {\n disposable.register(\n // @ts-ignore\n item.event.on((event: any) => {\n // @ts-ignore\n emit(item.eventName, event);\n })\n );\n }\n\n onCleanup(() => {\n disposable.dispose();\n });\n\n emit(\"changeDataForm\", dataForm);\n },\n { immediate: true }\n );\n\n provide(\n DATAFORM_CONTEXT_KEY,\n reactive({\n dataForm,\n })\n );\n\n return () => {\n return (\n <div class=\"mk-data-form\">\n {slots.default?.({ ...props, dataForm: unref(dataForm) }) || (\n <MKFormView {...props} dataForm={unref(dataForm)} v-slots={slots} />\n )}\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","inheritAttrs","props","dataFormProps","emits","dataFormEmits","setup","emit","slots","_dataForm","createDataForm","dataForm","DataForm","primaryKey","interfaceURL","load","loadInterfaceURL","add","addInterfaceURL","update","updateInterfaceURL","columns","map","column","FormColumn","setColumns","computed","reactive","watch","_","onCleanup","init","unref","autoReset","reset","disposable","Disposable","events","Object","keys","filter","key","Event","eventName","replace","match","toLocaleLowerCase","event","item","register","on","dispose","immediate","provide","DATAFORM_CONTEXT_KEY","_createVNode","default","MKFormView","_mergeProps"],"mappings":"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"}
@@ -31,7 +31,6 @@ var DataTable = /* @__PURE__ */ vue.defineComponent({
31
31
  return _dataTable;
32
32
  });
33
33
  vue.watch(dataTable, async (dataTable2) => {
34
- dataTable2.dataFilter.setReady();
35
34
  if (props.autoLoad) {
36
35
  dataTable2.load();
37
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.js","sources":["../../../../../src/components/data-model/data-table/data-table.tsx"],"sourcesContent":["import { DataTable, TableColumn } from \"@maketribe/dm\";\nimport {\n computed,\n defineComponent,\n provide,\n reactive,\n unref,\n watch,\n} from \"vue\";\nimport { dataTableProps } from \"./data-table-options\";\nimport { DATATABLE_CONTEXT_KEY } from \"./token\";\nimport MKTableView from \"./views/table-view\";\n\nexport default defineComponent({\n name: \"MKDataTable\",\n props: dataTableProps,\n setup(props, { slots }) {\n let _dataTable: DataTable | null = null;\n\n const dataTable = computed(() => {\n if (props.dataTable instanceof DataTable) {\n return props.dataTable;\n }\n\n if (!_dataTable) {\n _dataTable = reactive(\n new DataTable({\n name: props.name!,\n primaryKey: props.primaryKey,\n pageSize: props.pageSize ?? 20,\n interfaceURL: {\n list: props.listInterfaceURL || \"\",\n delete: props.deleteInterfaceURL || \"\",\n },\n })\n ) as DataTable;\n }\n\n return _dataTable;\n });\n\n watch(\n dataTable,\n async (dataTable) => {\n dataTable.dataFilter.setReady();\n if (props.autoLoad) {\n dataTable.load();\n }\n\n let columns = unref(dataTable).getColumns();\n\n const extractColumnConfig = props.columns.filter(\n (config) =>\n columns.findIndex((column) => column.name === config.name) === -1\n );\n\n const extractColumn = extractColumnConfig.map(\n (config) => new TableColumn({ visible: true, ...config })\n );\n\n columns = [...extractColumn, ...columns];\n\n let sortedColumns: TableColumn[] = [];\n for (const columnConfig of props.columns) {\n const column = columns.find(\n (column) => column.name === columnConfig.name\n )!;\n\n sortedColumns.push(column);\n }\n\n const _columns = columns.filter(\n (column) =>\n sortedColumns.findIndex((item) => item.name === column.name) === -1\n );\n\n sortedColumns = [...sortedColumns, ..._columns];\n\n dataTable.setColumns(sortedColumns);\n\n await dataTable.init();\n },\n { immediate: true }\n );\n\n provide(DATATABLE_CONTEXT_KEY, reactive({ dataTable }));\n\n return () => {\n return (\n <div class=\"mk-data-table\">\n {slots.default?.({ dataTable: unref(dataTable) }) || (\n <MKTableView dataTable={unref(dataTable)} />\n )}\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","dataTableProps","setup","slots","_dataTable","dataTable","computed","DataTable","reactive","primaryKey","pageSize","interfaceURL","list","listInterfaceURL","delete","deleteInterfaceURL","watch","dataFilter","setReady","autoLoad","load","columns","unref","getColumns","extractColumnConfig","filter","config","findIndex","column","extractColumn","map","TableColumn","visible","sortedColumns","columnConfig","find","push","_columns","item","setColumns","init","immediate","provide","DATATABLE_CONTEXT_KEY","_createVNode","default","MKTableView"],"mappings":"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"}
1
+ {"version":3,"file":"data-table.js","sources":["../../../../../src/components/data-model/data-table/data-table.tsx"],"sourcesContent":["import { DataTable, TableColumn } from \"@maketribe/dm\";\nimport {\n computed,\n defineComponent,\n nextTick,\n provide,\n reactive,\n unref,\n watch,\n} from \"vue\";\nimport { dataTableProps } from \"./data-table-options\";\nimport { DATATABLE_CONTEXT_KEY } from \"./token\";\nimport MKTableView from \"./views/table-view\";\n\nexport default defineComponent({\n name: \"MKDataTable\",\n props: dataTableProps,\n setup(props, { slots }) {\n let _dataTable: DataTable | null = null;\n\n const dataTable = computed(() => {\n if (props.dataTable instanceof DataTable) {\n return props.dataTable;\n }\n\n if (!_dataTable) {\n _dataTable = reactive(\n new DataTable({\n name: props.name!,\n primaryKey: props.primaryKey,\n pageSize: props.pageSize ?? 20,\n interfaceURL: {\n list: props.listInterfaceURL || \"\",\n delete: props.deleteInterfaceURL || \"\",\n },\n })\n ) as DataTable;\n }\n\n return _dataTable;\n });\n\n watch(\n dataTable,\n async (dataTable) => {\n // nextTick(() => {\n // dataTable.dataFilter.setReady();\n // });\n\n if (props.autoLoad) {\n dataTable.load();\n }\n\n let columns = unref(dataTable).getColumns();\n\n const extractColumnConfig = props.columns.filter(\n (config) =>\n columns.findIndex((column) => column.name === config.name) === -1\n );\n\n const extractColumn = extractColumnConfig.map(\n (config) => new TableColumn({ visible: true, ...config })\n );\n\n columns = [...extractColumn, ...columns];\n\n let sortedColumns: TableColumn[] = [];\n for (const columnConfig of props.columns) {\n const column = columns.find(\n (column) => column.name === columnConfig.name\n )!;\n\n sortedColumns.push(column);\n }\n\n const _columns = columns.filter(\n (column) =>\n sortedColumns.findIndex((item) => item.name === column.name) === -1\n );\n\n sortedColumns = [...sortedColumns, ..._columns];\n\n dataTable.setColumns(sortedColumns);\n\n await dataTable.init();\n },\n { immediate: true }\n );\n\n provide(DATATABLE_CONTEXT_KEY, reactive({ dataTable }));\n\n return () => {\n return (\n <div class=\"mk-data-table\">\n {slots.default?.({ dataTable: unref(dataTable) }) || (\n <MKTableView dataTable={unref(dataTable)} />\n )}\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","dataTableProps","setup","slots","_dataTable","dataTable","computed","DataTable","reactive","primaryKey","pageSize","interfaceURL","list","listInterfaceURL","delete","deleteInterfaceURL","watch","autoLoad","load","columns","unref","getColumns","extractColumnConfig","filter","config","findIndex","column","extractColumn","map","TableColumn","visible","sortedColumns","columnConfig","find","push","_columns","item","setColumns","init","immediate","provide","DATATABLE_CONTEXT_KEY","_createVNode","default","MKTableView"],"mappings":";;;;;;;;AAcA,gCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,aAAA;AAAA,EACNC,KAAOC,EAAAA,+BAAAA;AAAAA,EACPC,MAAMF,KAAO,EAAA;AAAA,IAAEG,KAAAA;AAAAA,GAAS,EAAA;AACtB,IAAA,IAAIC,UAA+B,GAAA,IAAA,CAAA;AAEnC,IAAMC,MAAAA,SAAAA,GAAYC,aAAS,MAAM;AAC/B,MAAIN,IAAAA,KAAAA,CAAMK,qBAAqBE,YAAW,EAAA;AACxC,QAAA,OAAOP,KAAMK,CAAAA,SAAAA,CAAAA;AAAAA,OACf;AAEA,MAAA,IAAI,CAACD,UAAY,EAAA;AACfA,QAAaI,UAAAA,GAAAA,YAAAA,CACX,IAAID,YAAU,CAAA;AAAA,UACZR,MAAMC,KAAMD,CAAAA,IAAAA;AAAAA,UACZU,YAAYT,KAAMS,CAAAA,UAAAA;AAAAA,UAClBC,QAAAA,EAAUV,MAAMU,QAAY,IAAA,EAAA;AAAA,UAC5BC,YAAc,EAAA;AAAA,YACZC,IAAAA,EAAMZ,MAAMa,gBAAoB,IAAA,EAAA;AAAA,YAChCC,MAAAA,EAAQd,MAAMe,kBAAsB,IAAA,EAAA;AAAA,WACtC;AAAA,SACD,CACH,CAAA,CAAA;AAAA,OACF;AAEA,MAAOX,OAAAA,UAAAA,CAAAA;AAAAA,KACR,CAAA,CAAA;AAEDY,IACEX,SAAAA,CAAAA,SAAAA,EACA,OAAOA,UAAc,KAAA;AAKnB,MAAA,IAAIL,MAAMiB,QAAU,EAAA;AAClBZ,QAAAA,WAAUa,IAAK,EAAA,CAAA;AAAA,OACjB;AAEA,MAAA,IAAIC,OAAUC,GAAAA,SAAAA,CAAMf,UAAS,CAAA,CAAEgB,UAAW,EAAA,CAAA;AAE1C,MAAA,MAAMC,mBAAsBtB,GAAAA,KAAAA,CAAMmB,OAAQI,CAAAA,MAAAA,CACvCC,CACCL,MAAAA,KAAAA,OAAAA,CAAQM,SAAWC,CAAAA,CAAAA,MAAAA,KAAWA,MAAO3B,CAAAA,IAAAA,KAASyB,MAAOzB,CAAAA,IAAI,MAAM,CACnE,CAAA,CAAA,CAAA;AAEA,MAAA,MAAM4B,aAAgBL,GAAAA,mBAAAA,CAAoBM,GACvCJ,CAAAA,CAAAA,MAAAA,KAAW,IAAIK,cAAY,CAAA;AAAA,QAAEC,OAAS,EAAA,IAAA;AAAA,QAAM,GAAGN,MAAAA;AAAAA,OAAQ,CAC1D,CAAA,CAAA;AAEAL,MAAAA,OAAAA,GAAU,CAAC,GAAGQ,aAAe,EAAA,GAAGR,OAAO,CAAA,CAAA;AAEvC,MAAA,IAAIY,gBAA+B,EAAE,CAAA;AACrC,MAAWC,KAAAA,MAAAA,YAAAA,IAAgBhC,MAAMmB,OAAS,EAAA;AACxC,QAAMO,MAAAA,MAAAA,GAASP,QAAQc,IACpBP,CAAAA,CAAAA,YAAWA,OAAO3B,CAAAA,IAAAA,KAASiC,aAAajC,IAC3C,CAAA,CAAA;AAEAgC,QAAAA,aAAAA,CAAcG,KAAKR,MAAM,CAAA,CAAA;AAAA,OAC3B;AAEA,MAAA,MAAMS,QAAWhB,GAAAA,OAAAA,CAAQI,MACtBG,CAAAA,CAAAA,MAAAA,KACCK,aAAcN,CAAAA,SAAAA,CAAWW,CAASA,IAAAA,KAAAA,IAAAA,CAAKrC,IAAS2B,KAAAA,MAAAA,CAAO3B,IAAI,CAAA,KAAM,CACrE,CAAA,CAAA,CAAA;AAEAgC,MAAAA,aAAAA,GAAgB,CAAC,GAAGA,aAAe,EAAA,GAAGI,QAAQ,CAAA,CAAA;AAE9C9B,MAAAA,UAAAA,CAAUgC,WAAWN,aAAa,CAAA,CAAA;AAElC,MAAA,MAAM1B,WAAUiC,IAAK,EAAA,CAAA;AAAA,KAEvB,EAAA;AAAA,MAAEC,SAAW,EAAA,IAAA;AAAA,KACf,CAAA,CAAA;AAEAC,IAAAA,WAAAA,CAAQC,6BAAuBjC,YAAS,CAAA;AAAA,MAAEH,SAAAA;AAAAA,KAAW,CAAC,CAAA,CAAA;AAEtD,IAAA,OAAO,MAAM;AACX,MAAA,OAAAqC,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,eAAA;AAAA,OAAA,EAEKvC,CAAAA,KAAAA,CAAMwC,OAAU,GAAA;AAAA,QAAEtC,SAAAA,EAAWe,UAAMf,SAAS,CAAA;AAAA,OAAG,CAACqC,IAAAA,eAAAA,CAAAE,iBAAA,EAAA;AAAA,QAAA,WAAA,EACvBxB,UAAMf,SAAS,CAAA;AAAA,OAAC,EACzC,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAGP,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}
@@ -42,36 +42,41 @@ var TableView = /* @__PURE__ */ vue.defineComponent({
42
42
  if (!classifySearch && _dataTable.classifySearch.getClassifySearchItems().length) {
43
43
  classifySearch = vue.createVNode(index$3.MKTableClassifySearch, null, null);
44
44
  }
45
- const tools = !_dataTable.getSelection().length ? vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
46
- "class": "header-box-main"
47
- }, null), vue.createVNode("div", {
48
- "class": "header-box-tools"
49
- }, [vue.createVNode(index$4.MKDataFilterPopover, {
50
- "dataTable": _dataTable
51
- }, {
52
- default: () => [vue.createVNode(elementPlus.ElButton, null, {
53
- default: () => [vue.createVNode(index$5.MKSvgIcon, {
54
- "iconClass": "Filter"
55
- }, null)]
56
- })]
57
- }), buttons])]) : vue.createVNode("div", {
58
- "class": "mk-table-view__selection-tip"
59
- }, [vue.createVNode("div", {
60
- "class": "mk-table-view__selection-tip-left"
61
- }, [vue.createVNode("span", null, [vue.createTextVNode("\u5DF2\u9009\u4E2D"), vue.createVNode("span", {
62
- "class": "selection-count"
63
- }, [_dataTable.getSelection().length]), vue.createTextVNode("\u9879")])]), vue.createVNode("div", {
64
- "class": "mk-table-view__selection-tip-right"
65
- }, [_dataTable.batchActionButtonTools.map((button) => vue.createVNode(index$2.MKButton, {
66
- "link": true,
67
- "button": button,
68
- "onClick": () => button.handler()
69
- }, null)), vue.createVNode(elementPlus.ElButton, {
70
- "link": true,
71
- "onClick": () => _dataTable.clearSelection()
72
- }, {
73
- default: () => [vue.createTextVNode("\u53D6\u6D88\u9009\u62E9")]
74
- })])]);
45
+ let tools;
46
+ if (!_dataTable.getSelection().length) {
47
+ tools = vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
48
+ "class": "header-box-main"
49
+ }, null), vue.createVNode("div", {
50
+ "class": "header-box-tools"
51
+ }, [vue.createVNode(index$4.MKDataFilterPopover, {
52
+ "dataTable": _dataTable
53
+ }, {
54
+ default: () => [vue.createVNode(elementPlus.ElButton, null, {
55
+ default: () => [vue.createVNode(index$5.MKSvgIcon, {
56
+ "iconClass": "Filter"
57
+ }, null)]
58
+ })]
59
+ }), buttons])]);
60
+ } else {
61
+ tools = vue.createVNode("div", {
62
+ "class": "mk-table-view__selection-tip"
63
+ }, [vue.createVNode("div", {
64
+ "class": "mk-table-view__selection-tip-left"
65
+ }, [vue.createVNode("span", null, [vue.createTextVNode("\u5DF2\u9009\u4E2D"), vue.createVNode("span", {
66
+ "class": "selection-count"
67
+ }, [_dataTable.getSelection().length]), vue.createTextVNode("\u9879")])]), vue.createVNode("div", {
68
+ "class": "mk-table-view__selection-tip-right"
69
+ }, [_dataTable.batchActionButtonTools.map((button) => vue.createVNode(index$2.MKButton, {
70
+ "link": true,
71
+ "button": button,
72
+ "onClick": () => button.handler()
73
+ }, null)), vue.createVNode(elementPlus.ElButton, {
74
+ "link": true,
75
+ "onClick": () => _dataTable.clearSelection()
76
+ }, {
77
+ default: () => [vue.createTextVNode("\u53D6\u6D88\u9009\u62E9")]
78
+ })])]);
79
+ }
75
80
  return vue.createVNode(vue.Fragment, null, [classifySearch, vue.createVNode("div", {
76
81
  "class": "mk-table-view__header header-box"
77
82
  }, [tools])]);
@@ -1 +1 @@
1
- {"version":3,"file":"table-view.js","sources":["../../../../../../../src/components/data-model/data-table/views/table-view/table-view.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, unref } from \"vue\";\nimport { ElButton, ElCard } from \"element-plus\";\n\nimport { MKButton } from \"../../../../button\";\nimport { MKTableClassifySearch } from \"./classify-search\";\nimport { MKDataTablePagination } from \"../../../data-table-pagination\";\nimport { MKDataFilterPopover } from \"../../../data-filter-popover\";\nimport { MKSvgIcon } from \"../../../../svg-icon\";\nimport { MKTable } from \"../table\";\nimport { tableViewProps } from \"./table-view-options\";\n\nexport default defineComponent({\n name: \"MKTableView\",\n props: tableViewProps,\n setup(props, { slots }) {\n const dataTable = computed(() => props.dataTable);\n\n const pageSizes = computed(() => unref(dataTable).pageSizes);\n\n return () => {\n const pagination =\n slots.pagination?.({ dataTable: unref(dataTable) }) ||\n (unref(pageSizes).length ? (\n <MKDataTablePagination dataTable={unref(dataTable)} />\n ) : null);\n\n return (\n <ElCard\n class=\"mk-table-view\"\n v-slots={{\n header: () => {\n const _dataTable = unref(dataTable);\n\n const buttons = _dataTable.buttonTools\n .filter((button) => button.predicate())\n .map((button) => (\n <MKButton button={button} onClick={() => button.handler()} />\n ));\n\n let classifySearch: any = slots[\"classify-search\"]?.() ?? null;\n if (\n !classifySearch &&\n _dataTable.classifySearch.getClassifySearchItems().length\n ) {\n classifySearch = <MKTableClassifySearch />;\n }\n\n const tools = !_dataTable.getSelection().length ? (\n <Fragment>\n <div class=\"header-box-main\"></div>\n <div class=\"header-box-tools\">\n <MKDataFilterPopover dataTable={_dataTable}>\n <ElButton>\n <MKSvgIcon iconClass=\"Filter\" />\n </ElButton>\n </MKDataFilterPopover>\n\n {buttons}\n </div>\n </Fragment>\n ) : (\n <div class=\"mk-table-view__selection-tip\">\n <div class=\"mk-table-view__selection-tip-left\">\n <span>\n 已选中\n <span class=\"selection-count\">\n {_dataTable.getSelection().length}\n </span>\n 项\n </span>\n </div>\n <div class=\"mk-table-view__selection-tip-right\">\n {_dataTable.batchActionButtonTools.map((button) => (\n <MKButton\n link\n button={button}\n onClick={() => button.handler()}\n />\n ))}\n <ElButton link onClick={() => _dataTable.clearSelection()}>\n 取消选择\n </ElButton>\n </div>\n </div>\n );\n\n return (\n <Fragment>\n {classifySearch}\n <div class=\"mk-table-view__header header-box\">{tools}</div>\n </Fragment>\n );\n },\n }}\n >\n {slots.default?.({ dataTable: unref(dataTable) }) || (\n <MKTable dataTable={unref(dataTable)} />\n )}\n {pagination}\n </ElCard>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","tableViewProps","setup","slots","dataTable","computed","pageSizes","unref","pagination","length","_createVNode","MKDataTablePagination","ElCard","default","MKTable","header","_dataTable","buttons","buttonTools","filter","button","predicate","map","MKButton","onClick","handler","classifySearch","getClassifySearchItems","MKTableClassifySearch","tools","getSelection","_Fragment","MKDataFilterPopover","ElButton","MKSvgIcon","_createTextVNode","batchActionButtonTools","clearSelection"],"mappings":"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"}
1
+ {"version":3,"file":"table-view.js","sources":["../../../../../../../src/components/data-model/data-table/views/table-view/table-view.tsx"],"sourcesContent":["import { Fragment, VNode, computed, defineComponent, unref } from \"vue\";\nimport { ElButton, ElCard } from \"element-plus\";\n\nimport { MKButton } from \"../../../../button\";\nimport { MKTableClassifySearch } from \"./classify-search\";\nimport { MKDataTablePagination } from \"../../../data-table-pagination\";\nimport { MKDataFilterPopover } from \"../../../data-filter-popover\";\nimport { MKSvgIcon } from \"../../../../svg-icon\";\nimport { MKTable } from \"../table\";\nimport { tableViewProps } from \"./table-view-options\";\n\nexport default defineComponent({\n name: \"MKTableView\",\n props: tableViewProps,\n setup(props, { slots }) {\n const dataTable = computed(() => props.dataTable);\n\n const pageSizes = computed(() => unref(dataTable).pageSizes);\n\n return () => {\n const pagination =\n slots.pagination?.({ dataTable: unref(dataTable) }) ||\n (unref(pageSizes).length ? (\n <MKDataTablePagination dataTable={unref(dataTable)} />\n ) : null);\n\n return (\n <ElCard\n class=\"mk-table-view\"\n v-slots={{\n header: () => {\n const _dataTable = unref(dataTable);\n\n const buttons = _dataTable.buttonTools\n .filter((button) => button.predicate())\n .map((button) => (\n <MKButton button={button} onClick={() => button.handler()} />\n ));\n\n let classifySearch: any = slots[\"classify-search\"]?.() ?? null;\n if (\n !classifySearch &&\n _dataTable.classifySearch.getClassifySearchItems().length\n ) {\n classifySearch = <MKTableClassifySearch />;\n }\n\n let tools: VNode;\n\n if (!_dataTable.getSelection().length) {\n tools = (\n <Fragment>\n <div class=\"header-box-main\"></div>\n <div class=\"header-box-tools\">\n <MKDataFilterPopover dataTable={_dataTable}>\n <ElButton>\n <MKSvgIcon iconClass=\"Filter\" />\n </ElButton>\n </MKDataFilterPopover>\n {buttons}\n </div>\n </Fragment>\n );\n } else {\n tools = (\n <div class=\"mk-table-view__selection-tip\">\n <div class=\"mk-table-view__selection-tip-left\">\n <span>\n 已选中\n <span class=\"selection-count\">\n {_dataTable.getSelection().length}\n </span>\n 项\n </span>\n </div>\n <div class=\"mk-table-view__selection-tip-right\">\n {_dataTable.batchActionButtonTools.map((button) => (\n <MKButton\n link\n button={button}\n onClick={() => button.handler()}\n />\n ))}\n <ElButton\n link\n onClick={() => _dataTable.clearSelection()}\n >\n 取消选择\n </ElButton>\n </div>\n </div>\n );\n }\n\n return (\n <Fragment>\n {classifySearch}\n <div class=\"mk-table-view__header header-box\">{tools}</div>\n </Fragment>\n );\n },\n }}\n >\n {slots.default?.({ dataTable: unref(dataTable) }) || (\n <MKTable dataTable={unref(dataTable)} />\n )}\n {pagination}\n </ElCard>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","tableViewProps","setup","slots","dataTable","computed","pageSizes","unref","pagination","length","_createVNode","MKDataTablePagination","ElCard","default","MKTable","header","_dataTable","buttons","buttonTools","filter","button","predicate","map","MKButton","onClick","handler","classifySearch","getClassifySearchItems","MKTableClassifySearch","tools","getSelection","_Fragment","MKDataFilterPopover","ElButton","MKSvgIcon","_createTextVNode","batchActionButtonTools","clearSelection"],"mappings":"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"}
@@ -8,6 +8,7 @@ require('@maketribe/dm');
8
8
  require('../../dataview/material/MaterialForm.js');
9
9
  require('../../dataview/material/MaterialTable.js');
10
10
  var MaterialMan = require('../../dataview/material/MaterialMan.js');
11
+ var index$1 = require('../data-model/data-form/views/form/index.js');
11
12
 
12
13
  const _hoisted_1 = { style: { "display": "flex", "align-items": "center", "justify-content": "space-between" } };
13
14
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
@@ -59,7 +60,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
59
60
  ]),
60
61
  default: vue.withCtx(() => [
61
62
  vue.createElementVNode("div", null, [
62
- vue.withDirectives(vue.createVNode(vue.unref(index.MKDataForm), { "data-form": __props.materialGroupForm }, null, 8, ["data-form"]), [
63
+ vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(index.MKDataForm), { "data-form": __props.materialGroupForm }, {
64
+ default: vue.withCtx(() => [
65
+ vue.createVNode(vue.unref(index$1.MKForm), { "data-form": __props.materialGroupForm }, null, 8, ["data-form"])
66
+ ]),
67
+ _: 1
68
+ /* STABLE */
69
+ }, 8, ["data-form"])), [
63
70
  [_directive_loading, loading.value]
64
71
  ]),
65
72
  vue.createElementVNode("div", _hoisted_1, [