@maketribe/ms-app 4.0.0-beta.6 → 4.0.0-beta.7
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.
- package/dist/cjs/{404-CQaSWREC.cjs → 404-C3XbtmAF.cjs} +2 -2
- package/dist/cjs/{404-CQaSWREC.cjs.map → 404-C3XbtmAF.cjs.map} +1 -1
- package/dist/cjs/{column-text-options-ChRajSva.cjs → column-text-options-B3VckbFV.cjs} +2 -2
- package/dist/cjs/{column-text-options-ChRajSva.cjs.map → column-text-options-B3VckbFV.cjs.map} +1 -1
- package/dist/cjs/{dialog-CRbFurAL.cjs → dialog-C1SNKTrb.cjs} +2 -2
- package/dist/cjs/{dialog-CRbFurAL.cjs.map → dialog-C1SNKTrb.cjs.map} +1 -1
- package/dist/cjs/{dialog-w6KqX6O-.cjs → dialog-COmFC6Us.cjs} +2 -2
- package/dist/cjs/{dialog-w6KqX6O-.cjs.map → dialog-COmFC6Us.cjs.map} +1 -1
- package/dist/cjs/{dialog-DekQLnbs.cjs → dialog-E-7lN4Ya.cjs} +2 -2
- package/dist/cjs/{dialog-DekQLnbs.cjs.map → dialog-E-7lN4Ya.cjs.map} +1 -1
- package/dist/cjs/{edit-Bx_CYIIB.cjs → edit-CAK90l0P.cjs} +2 -2
- package/dist/cjs/{edit-Bx_CYIIB.cjs.map → edit-CAK90l0P.cjs.map} +1 -1
- package/dist/cjs/{index-DQy2OX6Y.cjs → index-96SwLOMr.cjs} +2 -2
- package/dist/cjs/{index-DQy2OX6Y.cjs.map → index-96SwLOMr.cjs.map} +1 -1
- package/dist/cjs/{index-BYunA9Z0.cjs → index-B3Qf012M.cjs} +3 -3
- package/dist/cjs/{index-BYunA9Z0.cjs.map → index-B3Qf012M.cjs.map} +1 -1
- package/dist/cjs/{index-DNvHyuml.cjs → index-BAjmY21v.cjs} +2 -2
- package/dist/cjs/{index-DNvHyuml.cjs.map → index-BAjmY21v.cjs.map} +1 -1
- package/dist/cjs/{index-Pj6Buz8K.cjs → index-BVfCSr7x.cjs} +2 -2
- package/dist/cjs/{index-Pj6Buz8K.cjs.map → index-BVfCSr7x.cjs.map} +1 -1
- package/dist/cjs/{index-agjXGTMg.cjs → index-BmuZFdhS.cjs} +2 -2
- package/dist/cjs/index-BmuZFdhS.cjs.map +1 -0
- package/dist/cjs/{index-CyYf7gk0.cjs → index-BqtZUQtV.cjs} +2 -2
- package/dist/cjs/{index-CyYf7gk0.cjs.map → index-BqtZUQtV.cjs.map} +1 -1
- package/dist/cjs/{index-DAp6ecAX.cjs → index-C79ZKVwL.cjs} +2 -2
- package/dist/cjs/{index-DAp6ecAX.cjs.map → index-C79ZKVwL.cjs.map} +1 -1
- package/dist/cjs/{index-CLDyBkn2.cjs → index-C7iOt2Py.cjs} +2 -2
- package/dist/cjs/{index-CLDyBkn2.cjs.map → index-C7iOt2Py.cjs.map} +1 -1
- package/dist/cjs/{index-MunAKzdz.cjs → index-CEP3Lkti.cjs} +3 -3
- package/dist/cjs/{index-MunAKzdz.cjs.map → index-CEP3Lkti.cjs.map} +1 -1
- package/dist/cjs/{index-CcayGC-S.cjs → index-CJwJ3ZlA.cjs} +2 -2
- package/dist/cjs/{index-CcayGC-S.cjs.map → index-CJwJ3ZlA.cjs.map} +1 -1
- package/dist/cjs/{index-CbzWnrsV.cjs → index-CUFI5FEn.cjs} +2 -2
- package/dist/cjs/index-CUFI5FEn.cjs.map +1 -0
- package/dist/cjs/{index-BNbZTMGF.cjs → index-CZJHs8eF.cjs} +2 -2
- package/dist/cjs/{index-BNbZTMGF.cjs.map → index-CZJHs8eF.cjs.map} +1 -1
- package/dist/cjs/{index-K2peYJof.cjs → index-CdqhIJXk.cjs} +2 -2
- package/dist/cjs/{index-K2peYJof.cjs.map → index-CdqhIJXk.cjs.map} +1 -1
- package/dist/cjs/{index-BT39yUqm.cjs → index-Cv13OKKO.cjs} +4 -4
- package/dist/cjs/{index-BT39yUqm.cjs.map → index-Cv13OKKO.cjs.map} +1 -1
- package/dist/cjs/{index-BRPKAlfG.cjs → index-Cwzd_Bnv.cjs} +2 -2
- package/dist/cjs/{index-BRPKAlfG.cjs.map → index-Cwzd_Bnv.cjs.map} +1 -1
- package/dist/cjs/{index-Bgi9lOZN.cjs → index-CzOdIZ2l.cjs} +2 -2
- package/dist/cjs/{index-Bgi9lOZN.cjs.map → index-CzOdIZ2l.cjs.map} +1 -1
- package/dist/cjs/{index-bB_XK-Tj.cjs → index-D1Kq_PNX.cjs} +197 -49
- package/dist/cjs/index-D1Kq_PNX.cjs.map +1 -0
- package/dist/cjs/{index-7qnEbLMX.cjs → index-DIMXQ258.cjs} +2 -2
- package/dist/cjs/index-DIMXQ258.cjs.map +1 -0
- package/dist/cjs/{index-Bo9Ujz_0.cjs → index-DMM8Z5ly.cjs} +3 -3
- package/dist/cjs/{index-Bo9Ujz_0.cjs.map → index-DMM8Z5ly.cjs.map} +1 -1
- package/dist/cjs/{index-DI8LBb-t.cjs → index-DPMmvjyM.cjs} +2 -2
- package/dist/cjs/{index-DI8LBb-t.cjs.map → index-DPMmvjyM.cjs.map} +1 -1
- package/dist/cjs/{index-CXazsprQ.cjs → index-DcMYPf0V.cjs} +2 -2
- package/dist/cjs/{index-CXazsprQ.cjs.map → index-DcMYPf0V.cjs.map} +1 -1
- package/dist/cjs/{index-Bf1SHsRO.cjs → index-Dz0g2ks6.cjs} +2 -2
- package/dist/cjs/{index-Bf1SHsRO.cjs.map → index-Dz0g2ks6.cjs.map} +1 -1
- package/dist/cjs/{index-3u2FLHJx.cjs → index-_d_m7Eg8.cjs} +2 -2
- package/dist/cjs/{index-3u2FLHJx.cjs.map → index-_d_m7Eg8.cjs.map} +1 -1
- package/dist/cjs/{index-C0Skd-uQ.cjs → index-iJYd2Sgw.cjs} +3 -3
- package/dist/cjs/{index-C0Skd-uQ.cjs.map → index-iJYd2Sgw.cjs.map} +1 -1
- package/dist/cjs/{index-QQ5yMiMd.cjs → index-lZ96GfTu.cjs} +2 -2
- package/dist/cjs/{index-QQ5yMiMd.cjs.map → index-lZ96GfTu.cjs.map} +1 -1
- package/dist/cjs/{index-CRogMriU.cjs → index-oxBVztjo.cjs} +2 -2
- package/dist/cjs/{index-CRogMriU.cjs.map → index-oxBVztjo.cjs.map} +1 -1
- package/dist/cjs/{index-CTqtlkRT.cjs → index-uVRJtglS.cjs} +3 -3
- package/dist/cjs/{index-CTqtlkRT.cjs.map → index-uVRJtglS.cjs.map} +1 -1
- package/dist/cjs/{index-C1mld85q.cjs → index-yAz-K4rL.cjs} +2 -2
- package/dist/cjs/{index-C1mld85q.cjs.map → index-yAz-K4rL.cjs.map} +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/{json-editor-OE0uV6Xn.cjs → json-editor-B0NHAPXU.cjs} +2 -2
- package/dist/cjs/{json-editor-OE0uV6Xn.cjs.map → json-editor-B0NHAPXU.cjs.map} +1 -1
- package/dist/cjs/{markdown-editor-ii4skcBl.cjs → markdown-editor-CDQtR5Ow.cjs} +2 -2
- package/dist/cjs/{markdown-editor-ii4skcBl.cjs.map → markdown-editor-CDQtR5Ow.cjs.map} +1 -1
- package/dist/cjs/{normal-xJHaQGik.cjs → normal-FNv-mWIi.cjs} +2 -2
- package/dist/cjs/{normal-xJHaQGik.cjs.map → normal-FNv-mWIi.cjs.map} +1 -1
- package/dist/cjs/{normal-DHfAbX-Z.cjs → normal-sQDvGGrg.cjs} +2 -2
- package/dist/cjs/{normal-DHfAbX-Z.cjs.map → normal-sQDvGGrg.cjs.map} +1 -1
- package/dist/cjs/{permission-manage-CiB93mtC.cjs → permission-manage-BpZi6UsC.cjs} +2 -2
- package/dist/cjs/{permission-manage-CiB93mtC.cjs.map → permission-manage-BpZi6UsC.cjs.map} +1 -1
- package/dist/cjs/{resource-select-input-DS8DactT.cjs → resource-select-input-CU8utrDn.cjs} +2 -2
- package/dist/cjs/{resource-select-input-DS8DactT.cjs.map → resource-select-input-CU8utrDn.cjs.map} +1 -1
- package/dist/cjs/style.css +95 -95
- package/dist/cjs/{table-vlB87RPm.cjs → table-CvMbxWh9.cjs} +2 -2
- package/dist/cjs/{table-vlB87RPm.cjs.map → table-CvMbxWh9.cjs.map} +1 -1
- package/dist/esm/{404-DTzz4IF4.js → 404-pgXrGEYV.js} +2 -2
- package/dist/esm/{404-DTzz4IF4.js.map → 404-pgXrGEYV.js.map} +1 -1
- package/dist/esm/{column-text-options-C36_K3BK.js → column-text-options-Btqc1h9Z.js} +2 -2
- package/dist/esm/{column-text-options-C36_K3BK.js.map → column-text-options-Btqc1h9Z.js.map} +1 -1
- package/dist/esm/{dialog-Dod84v4d.js → dialog-CNl7fJvG.js} +2 -2
- package/dist/esm/{dialog-Dod84v4d.js.map → dialog-CNl7fJvG.js.map} +1 -1
- package/dist/esm/{dialog-DouY19XF.js → dialog-D6KY9pBV.js} +2 -2
- package/dist/esm/{dialog-DouY19XF.js.map → dialog-D6KY9pBV.js.map} +1 -1
- package/dist/esm/{dialog-DZA2DqL7.js → dialog-DNyC9DiU.js} +2 -2
- package/dist/esm/{dialog-DZA2DqL7.js.map → dialog-DNyC9DiU.js.map} +1 -1
- package/dist/esm/{edit-D4vYjNlM.js → edit-CEVHY---.js} +2 -2
- package/dist/esm/{edit-D4vYjNlM.js.map → edit-CEVHY---.js.map} +1 -1
- package/dist/esm/{index-Cx0fVpmE.js → index-8_eTvDFz.js} +3 -3
- package/dist/esm/{index-Cx0fVpmE.js.map → index-8_eTvDFz.js.map} +1 -1
- package/dist/esm/{index-CULn7m0q.js → index-9-a69TB8.js} +2 -2
- package/dist/esm/index-9-a69TB8.js.map +1 -0
- package/dist/esm/{index-CBH7hztG.js → index-B7PIMc5M.js} +2 -2
- package/dist/esm/{index-CBH7hztG.js.map → index-B7PIMc5M.js.map} +1 -1
- package/dist/esm/{index-Cncqjsr3.js → index-B9SBnsHK.js} +2 -2
- package/dist/esm/{index-Cncqjsr3.js.map → index-B9SBnsHK.js.map} +1 -1
- package/dist/esm/{index-CSoafwfe.js → index-BDWiXSxt.js} +2 -2
- package/dist/esm/{index-CSoafwfe.js.map → index-BDWiXSxt.js.map} +1 -1
- package/dist/esm/{index-imfIWXoJ.js → index-BM3M7hmP.js} +2 -2
- package/dist/esm/{index-imfIWXoJ.js.map → index-BM3M7hmP.js.map} +1 -1
- package/dist/esm/{index-nqw6fWhN.js → index-BN6A_G2m.js} +2 -2
- package/dist/esm/index-BN6A_G2m.js.map +1 -0
- package/dist/esm/{index-ebajbS5R.js → index-BmMBvRrR.js} +2 -2
- package/dist/esm/{index-ebajbS5R.js.map → index-BmMBvRrR.js.map} +1 -1
- package/dist/esm/{index-BstvVQpz.js → index-Bn5kpumV.js} +2 -2
- package/dist/esm/index-Bn5kpumV.js.map +1 -0
- package/dist/esm/{index-DSdwgZhI.js → index-C4i3Aiyu.js} +2 -2
- package/dist/esm/{index-DSdwgZhI.js.map → index-C4i3Aiyu.js.map} +1 -1
- package/dist/esm/{index-BMeQyqZt.js → index-C65Eg03N.js} +3 -3
- package/dist/esm/{index-BMeQyqZt.js.map → index-C65Eg03N.js.map} +1 -1
- package/dist/esm/{index-J4sGBSRA.js → index-CAfGc1wH.js} +2 -2
- package/dist/esm/{index-J4sGBSRA.js.map → index-CAfGc1wH.js.map} +1 -1
- package/dist/esm/{index-bDhZSPK8.js → index-CGNMA1bI.js} +2 -2
- package/dist/esm/{index-bDhZSPK8.js.map → index-CGNMA1bI.js.map} +1 -1
- package/dist/esm/{index-8JP07iyB.js → index-CSweKSyb.js} +3 -3
- package/dist/esm/{index-8JP07iyB.js.map → index-CSweKSyb.js.map} +1 -1
- package/dist/esm/{index-CRj3TdN2.js → index-CTS3T5Z6.js} +2 -2
- package/dist/esm/{index-CRj3TdN2.js.map → index-CTS3T5Z6.js.map} +1 -1
- package/dist/esm/{index-CS9dmnKj.js → index-CWhXhoJe.js} +2 -2
- package/dist/esm/{index-CS9dmnKj.js.map → index-CWhXhoJe.js.map} +1 -1
- package/dist/esm/{index-C_zHwA0Q.js → index-Cg1SVGO4.js} +3 -3
- package/dist/esm/{index-C_zHwA0Q.js.map → index-Cg1SVGO4.js.map} +1 -1
- package/dist/esm/{index-BzX9cDUw.js → index-CkZ7LoDx.js} +2 -2
- package/dist/esm/{index-BzX9cDUw.js.map → index-CkZ7LoDx.js.map} +1 -1
- package/dist/esm/{index-HC0IsFjh.js → index-CktZMTi8.js} +197 -49
- package/dist/esm/index-CktZMTi8.js.map +1 -0
- package/dist/esm/{index-WiSOAbGm.js → index-CmCe6xSi.js} +2 -2
- package/dist/esm/{index-WiSOAbGm.js.map → index-CmCe6xSi.js.map} +1 -1
- package/dist/esm/{index-uX-dom_p.js → index-DXOd-aE8.js} +2 -2
- package/dist/esm/{index-uX-dom_p.js.map → index-DXOd-aE8.js.map} +1 -1
- package/dist/esm/{index-ClpcGqjc.js → index-DegiokMm.js} +2 -2
- package/dist/esm/{index-ClpcGqjc.js.map → index-DegiokMm.js.map} +1 -1
- package/dist/esm/{index-BzHROA_O.js → index-DpETB0EE.js} +2 -2
- package/dist/esm/{index-BzHROA_O.js.map → index-DpETB0EE.js.map} +1 -1
- package/dist/esm/{index-Bdpbe4js.js → index-REtp_aqb.js} +2 -2
- package/dist/esm/{index-Bdpbe4js.js.map → index-REtp_aqb.js.map} +1 -1
- package/dist/esm/{index-Bc2Ho6fI.js → index-fFBw2oFU.js} +2 -2
- package/dist/esm/{index-Bc2Ho6fI.js.map → index-fFBw2oFU.js.map} +1 -1
- package/dist/esm/{index-BM6IMn9i.js → index-otG8trSF.js} +2 -2
- package/dist/esm/{index-BM6IMn9i.js.map → index-otG8trSF.js.map} +1 -1
- package/dist/esm/{index-j67xBooy.js → index-pSrzCtGc.js} +4 -4
- package/dist/esm/{index-j67xBooy.js.map → index-pSrzCtGc.js.map} +1 -1
- package/dist/esm/{index-DCi4vDzg.js → index-zkkQkPdw.js} +3 -3
- package/dist/esm/{index-DCi4vDzg.js.map → index-zkkQkPdw.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/{json-editor-05xExpwf.js → json-editor-CY-en7KV.js} +2 -2
- package/dist/esm/{json-editor-05xExpwf.js.map → json-editor-CY-en7KV.js.map} +1 -1
- package/dist/esm/{markdown-editor-CFVhgesH.js → markdown-editor-BTTVIfp2.js} +2 -2
- package/dist/esm/{markdown-editor-CFVhgesH.js.map → markdown-editor-BTTVIfp2.js.map} +1 -1
- package/dist/esm/{normal-CmzJDc07.js → normal-0KEFL1A0.js} +2 -2
- package/dist/esm/{normal-CmzJDc07.js.map → normal-0KEFL1A0.js.map} +1 -1
- package/dist/esm/{normal-S7zg4foK.js → normal-CPpD765r.js} +2 -2
- package/dist/esm/{normal-S7zg4foK.js.map → normal-CPpD765r.js.map} +1 -1
- package/dist/esm/{permission-manage-DlMk1j87.js → permission-manage-D8iE-n9b.js} +2 -2
- package/dist/esm/{permission-manage-DlMk1j87.js.map → permission-manage-D8iE-n9b.js.map} +1 -1
- package/dist/esm/{resource-select-input-DNoJea03.js → resource-select-input-m1Zyl9df.js} +2 -2
- package/dist/esm/{resource-select-input-DNoJea03.js.map → resource-select-input-m1Zyl9df.js.map} +1 -1
- package/dist/esm/style.css +95 -95
- package/dist/esm/{table-Bp8_au_E.js → table-Bjuo9Q5q.js} +2 -2
- package/dist/esm/{table-Bp8_au_E.js.map → table-Bjuo9Q5q.js.map} +1 -1
- package/package.json +3 -3
- package/dist/cjs/index-7qnEbLMX.cjs.map +0 -1
- package/dist/cjs/index-CbzWnrsV.cjs.map +0 -1
- package/dist/cjs/index-agjXGTMg.cjs.map +0 -1
- package/dist/cjs/index-bB_XK-Tj.cjs.map +0 -1
- package/dist/esm/index-BstvVQpz.js.map +0 -1
- package/dist/esm/index-CULn7m0q.js.map +0 -1
- package/dist/esm/index-HC0IsFjh.js.map +0 -1
- package/dist/esm/index-nqw6fWhN.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, inject, createVNode } from "vue";
|
|
2
2
|
import { buildProps } from "@maketribe/utils";
|
|
3
|
-
import { p as columnProps, D as DATA_TABLE_CONTEXT_KEY, v as MKSvgIcon } from "./index-
|
|
3
|
+
import { p as columnProps, D as DATA_TABLE_CONTEXT_KEY, v as MKSvgIcon } from "./index-CktZMTi8.js";
|
|
4
4
|
import "vue-router";
|
|
5
5
|
import "@maketribe/dm";
|
|
6
6
|
import { ElTooltip } from "element-plus";
|
|
@@ -103,4 +103,4 @@ export {
|
|
|
103
103
|
columnSortProps,
|
|
104
104
|
MKColumnSort as default
|
|
105
105
|
};
|
|
106
|
-
//# sourceMappingURL=index-
|
|
106
|
+
//# sourceMappingURL=index-CTS3T5Z6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-CTS3T5Z6.js","sources":["../../src/components/data-model/data-table/components/column-sort/column-sort-options.ts","../../src/components/data-model/data-table/components/column-sort/column-sort.tsx","../../src/components/data-model/data-table/components/column-sort/index.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\nimport { columnProps } from \"../../composables\";\n\nexport const columnSortProps = buildProps({\n ...columnProps,\n drag: {\n type: Boolean,\n default: false,\n },\n});\n\nexport type ColumnSortProps = ExtractPropTypes<typeof columnSortProps>;\n","import { defineComponent, inject } from \"vue\";\nimport { columnSortProps } from \"./column-sort-options\";\nimport { MKSvgIcon } from \"../../../../basic\";\nimport { ElTooltip } from \"element-plus\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../token\";\n\nexport default defineComponent({\n name: \"MKColumnSort\",\n props: columnSortProps,\n setup(props) {\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY)!;\n\n const handleMoveUp = () => {\n dataTableContext.dataTable.moveUp(props.row);\n };\n\n const handleMoveDown = () => {\n dataTableContext.dataTable.moveDown(props.row);\n };\n\n const handleToTop = () => {\n dataTableContext.dataTable.moveToTop(props.row);\n };\n\n const handleToBottom = () => {\n dataTableContext.dataTable.moveToBottom(props.row);\n };\n\n return () => {\n let children = null;\n\n if (props.drag) {\n children = (\n <span class=\"mk-column-sort__drag\">\n <MKSvgIcon name=\"ep:rank\" />\n </span>\n );\n } else {\n children = (\n <span class=\"mk-column-sort__switch\">\n <ElTooltip content=\"置顶\" placement=\"top\">\n <MKSvgIcon name=\"radix-icons:pin-top\" class=\"cursor-pointer\" onClick={handleToTop} />\n </ElTooltip>\n <ElTooltip content=\"上移\" placement=\"top\">\n <MKSvgIcon name=\"radix-icons:arrow-up\" class=\"cursor-pointer\" onClick={handleMoveUp} />\n </ElTooltip>\n <ElTooltip content=\"下移\" placement=\"top\">\n <MKSvgIcon name=\"radix-icons:arrow-down\" class=\"cursor-pointer\" onClick={handleMoveDown} />\n </ElTooltip>\n <ElTooltip content=\"置底\" placement=\"top\">\n <MKSvgIcon name=\"radix-icons:pin-bottom\" class=\"cursor-pointer\" onClick={handleToBottom} />\n </ElTooltip>\n </span>\n );\n }\n\n return <span class=\"mk-column-sort\">{children}</span>;\n };\n },\n});\n","import ColumnSort from \"./column-sort\";\n\nexport const MKColumnSort = ColumnSort;\nexport default MKColumnSort;\n\nexport * from \"./column-sort-options\";\n"],"names":["defineComponent","name","props","columnSortProps","setup","dataTableContext","inject","DATA_TABLE_CONTEXT_KEY","handleMoveUp","dataTable","moveUp","row","handleMoveDown","moveDown","handleToTop","moveToTop","handleToBottom","moveToBottom","children","drag","_createVNode","MKSvgIcon","ElTooltip","default"],"mappings":";;;;;;;;;;;;;;;;;;;;AAIO,MAAM,kBAAkB,WAAW;AAAA,EACxC,GAAG;AAAA,EACH,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF,CAAC;ACJD,MAAeA,6CAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,MAAMF,OAAO;AACX,UAAMG,mBAAmBC,OAAOC,sBAAsB;AAEtD,UAAMC,eAAeA,MAAM;AACzBH,uBAAiBI,UAAUC,OAAOR,MAAMS,GAAG;AAAA;AAG7C,UAAMC,iBAAiBA,MAAM;AAC3BP,uBAAiBI,UAAUI,SAASX,MAAMS,GAAG;AAAA;AAG/C,UAAMG,cAAcA,MAAM;AACxBT,uBAAiBI,UAAUM,UAAUb,MAAMS,GAAG;AAAA;AAGhD,UAAMK,iBAAiBA,MAAM;AAC3BX,uBAAiBI,UAAUQ,aAAaf,MAAMS,GAAG;AAAA;AAGnD,WAAO,MAAM;AACX,UAAIO,WAAW;AAEf,UAAIhB,MAAMiB,MAAM;AACdD,mBAAQE,YAAA,QAAA;AAAA,UAAA,SAAA;AAAA,WAAAA,CAAAA,YAAAC,WAAA;AAAA,UAAA,QAAA;AAAA,WAIP,IAAA,CAAA,CAAA;AAAA,MACH,OAAO;AACLH,mBAAQE,YAAA,QAAA;AAAA,UAAA,SAAA;AAAA,WAAAA,CAAAA,YAAAE,WAAA;AAAA,UAAA,WAAA;AAAA,UAAA,aAAA;AAAA,QAAA,GAAA;AAAA,UAAAC,SAAAA,MAAAH,CAAAA,YAAAC,WAAA;AAAA,YAAA,QAAA;AAAA,YAAA,SAAA;AAAA,YAAA,WAGoEP;AAAAA,UAAW,GAAA,IAAA,CAAA;AAAA,SAAAM,GAAAA,YAAAE,WAAA;AAAA,UAAA,WAAA;AAAA,UAAA,aAAA;AAAA,QAAA,GAAA;AAAA,UAAAC,SAAAA,MAAAH,CAAAA,YAAAC,WAAA;AAAA,YAAA,QAAA;AAAA,YAAA,SAAA;AAAA,YAAA,WAGVb;AAAAA,UAAY,GAAA,IAAA,CAAA;AAAA,SAAAY,GAAAA,YAAAE,WAAA;AAAA,UAAA,WAAA;AAAA,UAAA,aAAA;AAAA,QAAA,GAAA;AAAA,UAAAC,SAAAA,MAAAH,CAAAA,YAAAC,WAAA;AAAA,YAAA,QAAA;AAAA,YAAA,SAAA;AAAA,YAAA,WAGVT;AAAAA,UAAc,GAAA,IAAA,CAAA;AAAA,SAAAQ,GAAAA,YAAAE,WAAA;AAAA,UAAA,WAAA;AAAA,UAAA,aAAA;AAAA,QAAA,GAAA;AAAA,UAAAC,SAAAA,MAAAH,CAAAA,YAAAC,WAAA;AAAA,YAAA,QAAA;AAAA,YAAA,SAAA;AAAA,YAAA,WAGdL;AAAAA,UAAc,GAAA,IAAA,CAAA;AAAA,QAG5F,CAAA,CAAA,CAAA;AAAA,MACH;AAEA,aAAAI,YAAA,QAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAqCF,QAAQ,CAAA;AAAA;EAEjD;AACF,CAAC;ACzDM,MAAM,eAAe;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, inject, computed, unref, createVNode } from "vue";
|
|
2
2
|
import { buildProps } from "@maketribe/utils";
|
|
3
|
-
import { p as columnProps, D as DATA_TABLE_CONTEXT_KEY } from "./index-
|
|
3
|
+
import { p as columnProps, D as DATA_TABLE_CONTEXT_KEY } from "./index-CktZMTi8.js";
|
|
4
4
|
import "vue-router";
|
|
5
5
|
import "@maketribe/dm";
|
|
6
6
|
import { ElCheckbox } from "element-plus";
|
|
@@ -104,4 +104,4 @@ export {
|
|
|
104
104
|
MKColumnSelect,
|
|
105
105
|
MKColumnSelect as default
|
|
106
106
|
};
|
|
107
|
-
//# sourceMappingURL=index-
|
|
107
|
+
//# sourceMappingURL=index-CWhXhoJe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-CWhXhoJe.js","sources":["../../src/components/data-model/data-table/components/column-select/column-select-options.ts","../../src/components/data-model/data-table/components/column-select/column-select-header-options.ts","../../src/components/data-model/data-table/components/column-select/column-select-header.tsx","../../src/components/data-model/data-table/components/column-select/column-select.tsx","../../src/components/data-model/data-table/components/column-select/index.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\nimport { columnProps } from \"../../composables\";\n\nexport const columnSelectProps = buildProps({\n ...columnProps,\n});\n\nexport type ColumnSelectProps = ExtractPropTypes<typeof columnSelectProps>;\n","import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\n\nexport const columnSelectHeaderProps = buildProps({});\n\nexport type ColumnSelectHeaderProps = ExtractPropTypes<\n typeof columnSelectHeaderProps\n>;\n","import { computed, defineComponent, inject, unref } from \"vue\";\nimport { columnSelectHeaderProps } from \"./column-select-header-options\";\nimport { ElCheckbox } from \"element-plus\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../token\";\n\nexport default defineComponent({\n name: \"MKColumnSelectHeader\",\n props: columnSelectHeaderProps,\n setup() {\n const dataTable = inject(DATA_TABLE_CONTEXT_KEY)!.dataTable;\n\n const indeterminate = computed(() => {\n const primaryKey = dataTable.primaryKey;\n\n const selection = dataTable.getSelection();\n\n const list = dataTable.getList();\n\n const pageSelection = list.filter((item) =>\n selection.includes(item[primaryKey])\n );\n\n return pageSelection.length !== list.length && pageSelection.length > 0;\n });\n\n const isChecked = computed({\n get: () => !!dataTable.getSelection().length,\n set: (isChecked: boolean) => {\n const primaryKey = dataTable.primaryKey;\n\n if (isChecked || unref(indeterminate)) {\n dataTable.setSelection(\n dataTable.getList().map((item) => item[primaryKey])\n );\n\n return;\n }\n\n dataTable.setSelection([]);\n },\n });\n\n return () => {\n return (\n <div class=\"mk-column-selection-header\">\n <ElCheckbox\n disabled={!unref(dataTable.getList().length)}\n modelValue={unref(isChecked)}\n indeterminate={unref(indeterminate)}\n checked={unref(isChecked)}\n onChange={(v: any) => (isChecked.value = v as boolean)}\n />\n </div>\n );\n };\n },\n});\n","import { computed, defineComponent, inject, unref } from \"vue\";\nimport { columnSelectProps } from \"./column-select-options\";\nimport { ElCheckbox } from \"element-plus\";\nimport ColumnSelectHeader from \"./column-select-header\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../token\";\n\nexport default defineComponent({\n name: \"MKColumnSelect\",\n props: columnSelectProps,\n Header: ColumnSelectHeader,\n setup(props) {\n const dataTable = inject(DATA_TABLE_CONTEXT_KEY)!.dataTable;\n\n const i = computed(() => props.index + 1);\n\n const isSelected = computed({\n get: () => {\n const primaryKey = dataTable.primaryKey;\n\n return !!dataTable\n .getSelection()\n .find((item) => item === props.row[primaryKey]);\n },\n set: (v: boolean) => {\n const primaryKey = dataTable.primaryKey;\n\n const item = dataTable\n .getSelection()\n .find((item) => item === props.row[primaryKey]);\n\n if (v) {\n if (item) {\n return;\n }\n\n dataTable.setSelection(\n dataTable.getSelection().concat(props.row[primaryKey])\n );\n\n return;\n }\n\n if (item) {\n dataTable.setSelection(\n dataTable\n .getSelection()\n .filter((item) => item !== props.row[primaryKey])\n );\n }\n },\n });\n\n return () => {\n return (\n <div\n class={[\n \"mk-column-selection\",\n unref(isSelected) ? \"is-selected\" : \"\",\n ]}\n >\n <span class=\"mk-column-selection__index\">{unref(i)}</span>\n <span class=\"mk-column-selection__selection\">\n <ElCheckbox\n modelValue={unref(isSelected)}\n onUpdate:modelValue={(v: any) =>\n (isSelected.value = v as boolean)\n }\n />\n </span>\n </div>\n );\n };\n },\n});\n","import ColumnSelect from \"./column-select\";\n\nexport const MKColumnSelect = ColumnSelect;\n\nexport default MKColumnSelect;\n"],"names":["defineComponent","name","props","columnSelectHeaderProps","setup","dataTable","inject","DATA_TABLE_CONTEXT_KEY","indeterminate","computed","primaryKey","selection","getSelection","list","getList","pageSelection","filter","item","includes","length","isChecked","get","set","unref","setSelection","map","_createVNode","ElCheckbox","v","value","columnSelectProps","Header","ColumnSelectHeader","i","index","isSelected","find","row","concat"],"mappings":";;;;;;;;;;;;;;;;;;;;AAIO,MAAM,oBAAoB,WAAW;AAAA,EAC1C,GAAG;AACL,CAAC;ACHY,MAAA,0BAA0B,WAAW,EAAE;ACEpD,MAAeA,qDAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAOC;AAAAA,EACPC,QAAQ;AACN,UAAMC,YAAYC,OAAOC,sBAAsB,EAAGF;AAElD,UAAMG,gBAAgBC,SAAS,MAAM;AACnC,YAAMC,aAAaL,UAAUK;AAE7B,YAAMC,YAAYN,UAAUO;AAE5B,YAAMC,OAAOR,UAAUS;AAEvB,YAAMC,gBAAgBF,KAAKG,OAAQC,UACjCN,UAAUO,SAASD,KAAKP,UAAU,CAAC,CACrC;AAEA,aAAOK,cAAcI,WAAWN,KAAKM,UAAUJ,cAAcI,SAAS;AAAA,IACxE,CAAC;AAED,UAAMC,YAAYX,SAAS;AAAA,MACzBY,KAAKA,MAAM,CAAC,CAAChB,UAAUO,aAAc,EAACO;AAAAA,MACtCG,KAAMF,CAAAA,eAAuB;AAC3B,cAAMV,aAAaL,UAAUK;AAE7B,YAAIU,cAAaG,MAAMf,aAAa,GAAG;AACrCH,oBAAUmB,aACRnB,UAAUS,QAAS,EAACW,IAAKR,UAASA,KAAKP,UAAU,CAAC,CACpD;AAEA;AAAA,QACF;AAEAL,kBAAUmB,aAAa,CAAA,CAAE;AAAA,MAC3B;AAAA,IACF,CAAC;AAED,WAAO,MAAM;AACX,aAAAE,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,SAAAA,CAAAA,YAAAC,YAAA;AAAA,QAAA,YAGgB,CAACJ,MAAMlB,UAAUS,QAAO,EAAGK,MAAM;AAAA,QAAC,cAChCI,MAAMH,SAAS;AAAA,QAAC,iBACbG,MAAMf,aAAa;AAAA,QAAC,WAC1Be,MAAMH,SAAS;AAAA,QAAC,YACdQ,OAAYR,UAAUS,QAAQD;AAAAA,MAAa,GAAA,IAAA,CAAA,CAAA;AAAA;EAKhE;AACF,CAAC;AClDD,MAAe5B,+CAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAO4B;AAAAA,EACPC,QAAQC;AAAAA,EACR5B,MAAMF,OAAO;AACX,UAAMG,YAAYC,OAAOC,sBAAsB,EAAGF;AAElD,UAAM4B,IAAIxB,SAAS,MAAMP,MAAMgC,QAAQ,CAAC;AAExC,UAAMC,aAAa1B,SAAS;AAAA,MAC1BY,KAAKA,MAAM;AACT,cAAMX,aAAaL,UAAUK;AAE7B,eAAO,CAAC,CAACL,UACNO,aAAY,EACZwB,KAAMnB,UAASA,SAASf,MAAMmC,IAAI3B,UAAU,CAAC;AAAA,MACjD;AAAA,MACDY,KAAMM,OAAe;AACnB,cAAMlB,aAAaL,UAAUK;AAE7B,cAAMO,OAAOZ,UACVO,aAAY,EACZwB,KAAMnB,CAAAA,UAASA,UAASf,MAAMmC,IAAI3B,UAAU,CAAC;AAEhD,YAAIkB,GAAG;AACL,cAAIX,MAAM;AACR;AAAA,UACF;AAEAZ,oBAAUmB,aACRnB,UAAUO,aAAc,EAAC0B,OAAOpC,MAAMmC,IAAI3B,UAAU,CAAC,CACvD;AAEA;AAAA,QACF;AAEA,YAAIO,MAAM;AACRZ,oBAAUmB,aACRnB,UACGO,aAAc,EACdI,OAAQC,CAAAA,UAASA,UAASf,MAAMmC,IAAI3B,UAAU,CAAC,CACpD;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAED,WAAO,MAAM;AACX,aAAAgB,YAAA,OAAA;AAAA,QAAA,SAEW,CACL,uBACAH,MAAMY,UAAU,IAAI,gBAAgB,EAAE;AAAA,MACvC,GAAA,CAAAT,YAAA,QAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAEyCH,MAAMU,CAAC,CAAC,IAAAP,YAAA,QAAA;AAAA,QAAA,SAAA;AAAA,SAAAA,CAAAA,YAAAC,YAAA;AAAA,QAAA,cAGlCJ,MAAMY,UAAU;AAAA,QAAC,uBACPP,OACnBO,WAAWN,QAAQD;AAAAA,MAAa,GAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA;EAO/C;AACF,CAAC;ACvEM,MAAM,iBAAiB;"}
|
|
@@ -3,7 +3,7 @@ import { ElFormItem, ElForm, ElDrawer, ElButton, ElInput, ElTooltip } from "elem
|
|
|
3
3
|
import { Search } from "@element-plus/icons-vue";
|
|
4
4
|
import { debounce } from "lodash-es";
|
|
5
5
|
import { isWhereFilter, FilterColumn, DataTable, Operator } from "@maketribe/dm";
|
|
6
|
-
import { ad as useFilterColumnComponent, D as DATA_TABLE_CONTEXT_KEY, v as MKSvgIcon } from "./index-
|
|
6
|
+
import { ad as useFilterColumnComponent, D as DATA_TABLE_CONTEXT_KEY, v as MKSvgIcon } from "./index-CktZMTi8.js";
|
|
7
7
|
import "@maketribe/request";
|
|
8
8
|
import { buildProps, withInstall } from "@maketribe/utils";
|
|
9
9
|
import "vue-router";
|
|
@@ -22,7 +22,7 @@ import "./use-condition-CM-TzG8I.js";
|
|
|
22
22
|
import "./index-YO7GGbnc.js";
|
|
23
23
|
import "./index-UGKoGZpd.js";
|
|
24
24
|
import "./index-DVjlAsMm.js";
|
|
25
|
-
import "./index-
|
|
25
|
+
import "./index-C4i3Aiyu.js";
|
|
26
26
|
const dataFilterFormItemProps = buildProps({
|
|
27
27
|
name: { type: String, required: true },
|
|
28
28
|
label: { type: String }
|
|
@@ -405,4 +405,4 @@ export {
|
|
|
405
405
|
MKTableFilter,
|
|
406
406
|
MKTableFilter as default
|
|
407
407
|
};
|
|
408
|
-
//# sourceMappingURL=index-
|
|
408
|
+
//# sourceMappingURL=index-Cg1SVGO4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-C_zHwA0Q.js","sources":["../../src/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item-options.ts","../../src/components/data-model/data-filter-form/token.ts","../../src/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.tsx","../../src/components/data-model/data-filter-form/data-filter-form-item/index.ts","../../src/components/data-model/data-filter-form/data-filter-form-options.ts","../../src/components/data-model/data-filter-form/data-filter-form.tsx","../../src/components/data-model/data-filter-form/operator-options.ts","../../src/components/data-model/data-filter-form/index.ts","../../src/components/data-model/data-filter-drawer/data-filter-drawer-options.ts","../../src/components/data-model/data-filter-drawer/data-filter-drawer.tsx","../../src/components/data-model/data-filter-drawer/index.ts","../../src/components/data-model/data-table/components/header-components/table-filter/table-filter.tsx","../../src/components/data-model/data-table/components/header-components/table-filter/index.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\n\nexport const dataFilterFormItemProps = buildProps({\n name: { type: String, required: true },\n label: { type: String },\n} as const);\n\nexport type DataFilterFormItemProps = ExtractPropTypes<\n typeof dataFilterFormItemProps\n>;\n","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\n// export 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\nexport const DATA_FILTER_QUERY_NAME: string = \"dataTableParams\";\n","import {\n computed,\n defineComponent,\n inject,\n onBeforeUnmount,\n reactive,\n toRaw,\n unref,\n watch,\n} from \"vue\";\nimport { ElFormItem } from \"element-plus\";\nimport { FilterColumn, isWhereFilter } from \"@maketribe/dm\";\nimport { useFilterColumnComponent } from \"../../../../composables\";\nimport { DataFilterComponent } from \"../../../../core\";\nimport { dataFilterFormItemProps } from \"./data-filter-form-item-options\";\nimport { DATA_FILTER_CONTEXT } from \"../token\";\n\nexport default defineComponent({\n name: \"MKDataFilterFormItem\",\n props: dataFilterFormItemProps,\n setup(props, { slots }) {\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 value = computed({\n get: () => unref(dataFilter).getParam(unref(filterColumn).name),\n set: (v) => unref(dataFilter).setParam(unref(filterColumn).name, v),\n });\n\n const { component, componentProps, componentInfo } =\n useFilterColumnComponent(filterColumn, dataFilter);\n\n watch(\n componentInfo,\n (componentInfo) => {\n const _dataFilter = unref(dataFilter);\n\n if (isWhereFilter(_dataFilter)) {\n _dataFilter.setParamOperator(\n unref(filterColumn).name,\n (componentInfo as DataFilterComponent).defaultOperator\n );\n }\n },\n { immediate: true }\n );\n\n onBeforeUnmount(() => {\n const _dataFilter = unref(dataFilter);\n\n if (isWhereFilter(_dataFilter)) {\n _dataFilter.deleteParamOperator(unref(filterColumn).name);\n }\n\n _dataFilter.deleteParam(unref(filterColumn).name);\n });\n\n return () => {\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 = (\n <FilterColumnComponent\n {...unref(componentProps)}\n modelValue={unref(value)}\n onUpdate:modelValue={(v: any) => (value.value = v)}\n column={unref(filterColumn)}\n />\n );\n }\n\n const labelWidth = computed(() => dataFilterContext.labelWidth);\n\n return (\n <ElFormItem\n prop={_filterColumn.name}\n label={_filterColumn.label}\n labelWidth={unref(labelWidth)}\n >\n {children}\n </ElFormItem>\n );\n };\n },\n});\n","import { withInstall } from \"@maketribe/utils\";\nimport DataFilterFormItem from \"./data-filter-form-item\";\n\nexport const MKDataFilterFormItem = withInstall(DataFilterFormItem);\nexport default MKDataFilterFormItem;\n\nexport * from \"./data-filter-form-item-options\";\n","import { ExtractPropTypes } from \"vue\";\nimport { 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","import {\n Suspense,\n computed,\n defineComponent,\n provide,\n reactive,\n unref,\n watch,\n onMounted,\n Fragment,\n} from \"vue\";\nimport { dataFilterFormProps } from \"./data-filter-form-options\";\nimport { MKDataFilterFormItem } from \"./data-filter-form-item\";\nimport { DATA_FILTER_CONTEXT } from \"./token\";\nimport { ElForm } from \"element-plus\";\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 + 20;\n });\n\n provide(DATA_FILTER_CONTEXT, reactive({ dataFilter, labelWidth }));\n\n let resolve: Function | null = null;\n const suspenseResolvePromise = new Promise((_resolve) => {\n resolve = _resolve;\n });\n\n const handleResolve = () => {\n resolve?.();\n };\n\n onMounted(() => {\n watch(\n dataTable,\n async (dataTable, _, onCleanup) => {\n await suspenseResolvePromise;\n\n const disposable = dataTable.afterInitdEvent.on(() => {\n dataTable.dataFilter.setReady();\n });\n\n onCleanup(() => {\n disposable.dispose();\n });\n },\n { immediate: true }\n );\n });\n\n return () => {\n if (!unref(columns).length) {\n return null;\n }\n\n let children: any = slots.default?.();\n\n if (!children) {\n children = unref(columns).map((column) => {\n if (!column.name) {\n return null;\n }\n\n return (\n slots[`col-${column.name}`]?.() || (\n <MKDataFilterFormItem\n name={column.name}\n v-slots={{ default: slots[`col-${column.name}-content`] }}\n />\n )\n );\n });\n }\n\n if (!children) {\n return null;\n }\n\n return (\n <ElForm class=\"mk-data-filter-form\">\n <Suspense onResolve={handleResolve}>\n <Fragment>{children}</Fragment>\n </Suspense>\n </ElForm>\n );\n };\n },\n});\n\n// export 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// let resolve: Function | null = null;\n// const suspenseResolvePromise = new Promise((_resolve) => {\n// resolve = _resolve;\n// });\n\n// const handleResolve = () => {\n// resolve?.();\n// };\n\n// onMounted(() => {\n// watch(\n// dataTable,\n// async (dataTable, _, onCleanup) => {\n// await suspenseResolvePromise;\n\n// const disposable = dataTable.afterInitdEvent.on(() => {\n// dataTable.dataFilter.setReady();\n// });\n\n// onCleanup(() => {\n// disposable.dispose();\n// });\n// },\n// { immediate: true }\n// );\n// });\n\n// return () => {\n// if (!unref(columns).length) {\n// return null;\n// }\n\n// let children: any = slots.default?.();\n\n// if (!children) {\n// children = unref(columns).map((column) => {\n// if (!column.name) {\n// return null;\n// }\n\n// return (\n// slots[`col-${column.name}`]?.() || (\n// <MKDataFilterFormItem\n// name={column.name}\n// v-slots={{ default: slots[`col-${column.name}-content`] }}\n// />\n// )\n// );\n// });\n// }\n\n// if (!children) {\n// return null;\n// }\n\n// return (\n// <div class=\"mk-data-filter-form\">\n// <Suspense onResolve={handleResolve}>\n// <Fragment>{children}</Fragment>\n// </Suspense>\n// </div>\n// );\n// };\n// },\n// });\n","import { Operator } from \"@maketribe/dm\";\n\nexport type OperatorOption = { value: Operator; label: string };\n\nexport const EQUAL_OPTION: OperatorOption = {\n value: Operator.EQUAL,\n label: \"mk.operator.equal\",\n};\n\nexport const CONTAIN_OPTION: OperatorOption = {\n value: Operator.CONTAIN,\n label: \"mk.operator.contain\",\n};\n\nexport const IN_OPTION: OperatorOption = {\n value: Operator.IN,\n label: \"mk.operator.in\",\n};\n\nexport const NOT_IN_OPTION: OperatorOption = {\n value: Operator.NOT_IN,\n label: \"mk.operator.notIn\",\n};\n\nexport const LESS_THAN_OPTION: OperatorOption = {\n value: Operator.LESS_THAN,\n label: \"mk.operator.lessThan\",\n};\n\nexport const LESS_THAN_EQUAL_OPTION: OperatorOption = {\n value: Operator.LESS_THAN_EQUAL,\n label: \"mk.operator.lessThanEqual\",\n};\n\nexport const GREATER_THAN_OPTION: OperatorOption = {\n value: Operator.GREATER_THAN,\n label: \"mk.operator.greaterThan\",\n};\n\nexport const GREATER_THAN_EQUAL_OPTION: OperatorOption = {\n value: Operator.GREATER_THAN_EQUAL,\n label: \"mk.operator.greaterThanEqual\",\n};\n\nexport const BETWEEN_OPTION: OperatorOption = {\n value: Operator.BETWEEN,\n label: \"mk.operator.between\",\n};\n","import { withInstall } from \"@maketribe/utils\";\nimport { MKDataFilterFormItem } from \"./data-filter-form-item\";\nimport DataFilterForm from \"./data-filter-form\";\n\nexport const MKDataFilterForm = withInstall(DataFilterForm, {\n MKDataFilterFormItem,\n});\nexport default MKDataFilterForm;\n\nexport * from \"./data-filter-form-item\";\nexport * from \"./data-filter-form-options\";\nexport * from \"./composables\";\nexport * from \"./operator-options\";\n\nexport * from \"./components\";\n","import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\nimport { DataTable } from \"@maketribe/dm\";\n\nexport const dataFilterDrawerProps = buildProps({\n visible: {\n type: Boolean,\n default: false,\n },\n dataTable: {\n type: DataTable,\n required: true,\n },\n} as const);\n\nexport type DataFilterDrawerProps = ExtractPropTypes<\n typeof dataFilterDrawerProps\n>;\n\nexport const dataFilterDrawerEmits = {\n \"update:visible\": (visible: boolean) => true,\n};\n\nexport type DataFilterDrawerEmits = typeof dataFilterDrawerEmits;\n","import {computed, defineComponent, Fragment, unref} from \"vue\";\nimport {ElButton, ElDrawer} from \"element-plus\";\nimport {MKDataFilterForm} from \"../data-filter-form\";\nimport {\n dataFilterDrawerEmits,\n dataFilterDrawerProps,\n} from \"./data-filter-drawer-options\";\n\nexport default defineComponent({\n name: \"MKDataFilterDrawer\",\n props: dataFilterDrawerProps,\n emits: dataFilterDrawerEmits,\n setup(props, {emit}) {\n const visible = computed({\n get: () => props.visible,\n set: (v) => emit(\"update:visible\", v),\n });\n\n const handleCancelClick = () => {\n visible.value = false;\n };\n\n const handleResetClick = () => {\n visible.value = false;\n\n const dataTable = props.dataTable;\n const dataFilter = props.dataTable.dataFilter;\n\n dataFilter.reset();\n\n dataFilter.beforeSearchEvent.emit();\n\n dataTable.load();\n };\n\n const handleConfirmClick = () => {\n visible.value = false;\n\n const dataTable = props.dataTable;\n const dataFilter = props.dataTable.dataFilter;\n\n dataFilter.beforeSearchEvent.emit();\n\n dataTable.load();\n };\n\n return () => {\n return (\n <ElDrawer\n title=\"筛选器\"\n modelValue={unref(visible)}\n onUpdate:modelValue={((v: boolean) => (visible.value = v)) as any}\n v-slots={{\n default: () => <MKDataFilterForm\n class=\"overflow-hidden\"\n dataTable={props.dataTable}\n {...{labelPosition: \"top\"}}\n />,\n footer: () => (\n <Fragment>\n <ElButton onClick={handleCancelClick}>取消</ElButton>\n\n <ElButton onClick={handleResetClick}>重置</ElButton>\n\n <ElButton type=\"primary\" onClick={handleConfirmClick}>\n 查询\n </ElButton>\n </Fragment>\n ),\n }}\n />\n );\n };\n },\n});\n","import { withInstall } from \"@maketribe/utils\";\nimport DataFilterDrawer from \"./data-filter-drawer\";\n\nexport const MKDataFilterDrawer = withInstall(DataFilterDrawer);\n\nexport default MKDataFilterDrawer;\n\nexport * from \"./data-filter-drawer-options\";\n","import { defineComponent, inject, computed, unref, watch, ref } from \"vue\";\nimport { ElButton, ElInput, ElTooltip } from \"element-plus\";\nimport { Search } from \"@element-plus/icons-vue\";\nimport { debounce } from \"lodash-es\";\nimport { isWhereFilter } from \"@maketribe/dm\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../../token\";\nimport { MKSvgIcon } from \"../../../../../basic\";\nimport { MKDataFilterDrawer } from \"../../../../data-filter-drawer\";\nimport { MKDataFilterForm } from \"../../../../data-filter-form\";\n\nexport default defineComponent({\n name: \"MKTableFilter\",\n setup() {\n const search = ref(\"\");\n\n const isShowDrawer = ref(false);\n\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);\n\n const dataTable = computed(() => dataTableContext!.dataTable);\n\n const dataTableInitd = computed(() => unref(dataTable)?.initd ?? false);\n\n const searchFilterColumns = computed(() =>\n unref(dataTable)\n .dataFilter.getColumns()\n .filter((column) => column.search)\n );\n\n const searchPlaceholder = computed(\n () =>\n `通过${unref(searchFilterColumns)\n .map((column) => column.label)\n .join(\"、\")}搜索`\n );\n\n watch(\n dataTable,\n (dataTable, _, onCleanup) => {\n onCleanup(() => {\n const dataFilter = dataTable.dataFilter;\n if (isWhereFilter(dataFilter)) {\n dataFilter.getSearchGroup().clear();\n }\n });\n },\n { immediate: true }\n );\n\n const handleSearch = () => {\n debounceSearch.cancel();\n\n const dataFilter = unref(dataTable).dataFilter;\n if (isWhereFilter(dataFilter)) {\n const searchGroup = dataFilter.getSearchGroup();\n searchGroup.clear();\n\n const searchValue = unref(search);\n\n for (const searchFilterColumn of unref(searchFilterColumns)) {\n searchGroup.addOrCondition(\n searchFilterColumn.name,\n \"like\",\n `%${searchValue}%`\n );\n }\n }\n\n unref(dataTable).load();\n };\n\n const debounceSearch = debounce(handleSearch, 1000);\n\n const handleSearchKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Enter\") {\n handleSearch();\n }\n };\n\n const handleSearchFocus = (event: FocusEvent) => {\n const target = event.target as HTMLInputElement;\n\n target.addEventListener(\"input\", debounceSearch);\n };\n\n const handleSearchBlur = (event: any) => {\n const target = event.target as HTMLInputElement;\n\n target.removeEventListener(\"input\", debounceSearch);\n };\n\n const handleShowDrawer = () => {\n isShowDrawer.value = true;\n };\n\n return () => {\n if (!unref(dataTableInitd)) {\n return null;\n }\n\n const _dataTable = unref(dataTable);\n\n if (_dataTable.dataFilter.getColumns().length === 0) {\n return null;\n }\n\n let searchInputVNode = null;\n\n if (unref(searchFilterColumns).length) {\n searchInputVNode = (\n <ElInput\n prefixIcon={Search}\n class=\"mk-table-filter__search\"\n modelValue={unref(search)}\n onUpdate:modelValue={(v) => (search.value = v)}\n onKeydown={handleSearchKeydown as any}\n placeholder={unref(searchPlaceholder)}\n onFocus={handleSearchFocus}\n onBlur={handleSearchBlur}\n onClear={handleSearch}\n clearable\n />\n );\n }\n\n return (\n <div class=\"mk-table-filter\">\n {searchInputVNode}\n <ElTooltip content=\"筛选\" effect=\"dark\" placement=\"top\">\n <ElButton onClick={handleShowDrawer}>\n <MKSvgIcon name=\"iconoir:filter\" />\n </ElButton>\n </ElTooltip>\n\n <MKDataFilterDrawer\n visible={unref(isShowDrawer)}\n onUpdate:visible={(v) => (isShowDrawer.value = v)}\n dataTable={_dataTable}\n />\n\n <div class=\"mk-table-filter__hidden\">\n <MKDataFilterForm dataTable={_dataTable} />\n </div>\n </div>\n );\n };\n },\n});\n","import TableFilter from \"./table-filter\";\n\nexport const MKTableFilter = TableFilter;\nexport default MKTableFilter;\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","dataFilterFormItemProps","setup","slots","dataFilterContext","inject","DATA_FILTER_CONTEXT","dataFilter","computed","_filterColumn","createFilterColumn","reactive","FilterColumn","label","unref","addColumn","filterColumn","existingColumn","getColumn","value","get","getParam","set","v","setParam","component","componentProps","componentInfo","useFilterColumnComponent","watch","_dataFilter","isWhereFilter","setParamOperator","defaultOperator","immediate","onBeforeUnmount","deleteParamOperator","deleteParam","children","default","FilterColumnComponent","toRaw","_createVNode","_mergeProps","labelWidth","ElFormItem","dataFilterFormProps","dataTable","columns","getColumns","filter","column","visible","maxWordCount","Math","max","map","length","provide","resolve","suspenseResolvePromise","Promise","_resolve","handleResolve","onMounted","_","onCleanup","disposable","afterInitdEvent","on","setReady","dispose","MKDataFilterFormItem","ElForm","Suspense","_Fragment","dataFilterDrawerProps","emits","dataFilterDrawerEmits","emit","handleCancelClick","handleResetClick","reset","beforeSearchEvent","load","handleConfirmClick","ElDrawer","MKDataFilterForm","labelPosition","footer","ElButton","_createTextVNode","search","ref","isShowDrawer","dataTableContext","DATA_TABLE_CONTEXT_KEY","dataTableInitd","initd","searchFilterColumns","searchPlaceholder","join","getSearchGroup","clear","handleSearch","debounceSearch","cancel","searchGroup","searchValue","searchFilterColumn","addOrCondition","debounce","handleSearchKeydown","event","key","handleSearchFocus","target","addEventListener","handleSearchBlur","removeEventListener","handleShowDrawer","_dataTable","searchInputVNode","ElInput","Search","ElTooltip","MKSvgIcon","MKDataFilterDrawer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-Cg1SVGO4.js","sources":["../../src/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item-options.ts","../../src/components/data-model/data-filter-form/token.ts","../../src/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.tsx","../../src/components/data-model/data-filter-form/data-filter-form-item/index.ts","../../src/components/data-model/data-filter-form/data-filter-form-options.ts","../../src/components/data-model/data-filter-form/data-filter-form.tsx","../../src/components/data-model/data-filter-form/operator-options.ts","../../src/components/data-model/data-filter-form/index.ts","../../src/components/data-model/data-filter-drawer/data-filter-drawer-options.ts","../../src/components/data-model/data-filter-drawer/data-filter-drawer.tsx","../../src/components/data-model/data-filter-drawer/index.ts","../../src/components/data-model/data-table/components/header-components/table-filter/table-filter.tsx","../../src/components/data-model/data-table/components/header-components/table-filter/index.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\n\nexport const dataFilterFormItemProps = buildProps({\n name: { type: String, required: true },\n label: { type: String },\n} as const);\n\nexport type DataFilterFormItemProps = ExtractPropTypes<\n typeof dataFilterFormItemProps\n>;\n","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\n// export 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\nexport const DATA_FILTER_QUERY_NAME: string = \"dataTableParams\";\n","import {\n computed,\n defineComponent,\n inject,\n onBeforeUnmount,\n reactive,\n toRaw,\n unref,\n watch,\n} from \"vue\";\nimport { ElFormItem } from \"element-plus\";\nimport { FilterColumn, isWhereFilter } from \"@maketribe/dm\";\nimport { useFilterColumnComponent } from \"../../../../composables\";\nimport { DataFilterComponent } from \"../../../../core\";\nimport { dataFilterFormItemProps } from \"./data-filter-form-item-options\";\nimport { DATA_FILTER_CONTEXT } from \"../token\";\n\nexport default defineComponent({\n name: \"MKDataFilterFormItem\",\n props: dataFilterFormItemProps,\n setup(props, { slots }) {\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 value = computed({\n get: () => unref(dataFilter).getParam(unref(filterColumn).name),\n set: (v) => unref(dataFilter).setParam(unref(filterColumn).name, v),\n });\n\n const { component, componentProps, componentInfo } =\n useFilterColumnComponent(filterColumn, dataFilter);\n\n watch(\n componentInfo,\n (componentInfo) => {\n const _dataFilter = unref(dataFilter);\n\n if (isWhereFilter(_dataFilter)) {\n _dataFilter.setParamOperator(\n unref(filterColumn).name,\n (componentInfo as DataFilterComponent).defaultOperator\n );\n }\n },\n { immediate: true }\n );\n\n onBeforeUnmount(() => {\n const _dataFilter = unref(dataFilter);\n\n if (isWhereFilter(_dataFilter)) {\n _dataFilter.deleteParamOperator(unref(filterColumn).name);\n }\n\n _dataFilter.deleteParam(unref(filterColumn).name);\n });\n\n return () => {\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 = (\n <FilterColumnComponent\n {...unref(componentProps)}\n modelValue={unref(value)}\n onUpdate:modelValue={(v: any) => (value.value = v)}\n column={unref(filterColumn)}\n />\n );\n }\n\n const labelWidth = computed(() => dataFilterContext.labelWidth);\n\n return (\n <ElFormItem\n prop={_filterColumn.name}\n label={_filterColumn.label}\n labelWidth={unref(labelWidth)}\n >\n {children}\n </ElFormItem>\n );\n };\n },\n});\n","import { withInstall } from \"@maketribe/utils\";\nimport DataFilterFormItem from \"./data-filter-form-item\";\n\nexport const MKDataFilterFormItem = withInstall(DataFilterFormItem);\nexport default MKDataFilterFormItem;\n\nexport * from \"./data-filter-form-item-options\";\n","import { ExtractPropTypes } from \"vue\";\nimport { 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","import {\n Suspense,\n computed,\n defineComponent,\n provide,\n reactive,\n unref,\n watch,\n onMounted,\n Fragment,\n} from \"vue\";\nimport { dataFilterFormProps } from \"./data-filter-form-options\";\nimport { MKDataFilterFormItem } from \"./data-filter-form-item\";\nimport { DATA_FILTER_CONTEXT } from \"./token\";\nimport { ElForm } from \"element-plus\";\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 + 20;\n });\n\n provide(DATA_FILTER_CONTEXT, reactive({ dataFilter, labelWidth }));\n\n let resolve: Function | null = null;\n const suspenseResolvePromise = new Promise((_resolve) => {\n resolve = _resolve;\n });\n\n const handleResolve = () => {\n resolve?.();\n };\n\n onMounted(() => {\n watch(\n dataTable,\n async (dataTable, _, onCleanup) => {\n await suspenseResolvePromise;\n\n const disposable = dataTable.afterInitdEvent.on(() => {\n dataTable.dataFilter.setReady();\n });\n\n onCleanup(() => {\n disposable.dispose();\n });\n },\n { immediate: true }\n );\n });\n\n return () => {\n if (!unref(columns).length) {\n return null;\n }\n\n let children: any = slots.default?.();\n\n if (!children) {\n children = unref(columns).map((column) => {\n if (!column.name) {\n return null;\n }\n\n return (\n slots[`col-${column.name}`]?.() || (\n <MKDataFilterFormItem\n name={column.name}\n v-slots={{ default: slots[`col-${column.name}-content`] }}\n />\n )\n );\n });\n }\n\n if (!children) {\n return null;\n }\n\n return (\n <ElForm class=\"mk-data-filter-form\">\n <Suspense onResolve={handleResolve}>\n <Fragment>{children}</Fragment>\n </Suspense>\n </ElForm>\n );\n };\n },\n});\n\n// export 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// let resolve: Function | null = null;\n// const suspenseResolvePromise = new Promise((_resolve) => {\n// resolve = _resolve;\n// });\n\n// const handleResolve = () => {\n// resolve?.();\n// };\n\n// onMounted(() => {\n// watch(\n// dataTable,\n// async (dataTable, _, onCleanup) => {\n// await suspenseResolvePromise;\n\n// const disposable = dataTable.afterInitdEvent.on(() => {\n// dataTable.dataFilter.setReady();\n// });\n\n// onCleanup(() => {\n// disposable.dispose();\n// });\n// },\n// { immediate: true }\n// );\n// });\n\n// return () => {\n// if (!unref(columns).length) {\n// return null;\n// }\n\n// let children: any = slots.default?.();\n\n// if (!children) {\n// children = unref(columns).map((column) => {\n// if (!column.name) {\n// return null;\n// }\n\n// return (\n// slots[`col-${column.name}`]?.() || (\n// <MKDataFilterFormItem\n// name={column.name}\n// v-slots={{ default: slots[`col-${column.name}-content`] }}\n// />\n// )\n// );\n// });\n// }\n\n// if (!children) {\n// return null;\n// }\n\n// return (\n// <div class=\"mk-data-filter-form\">\n// <Suspense onResolve={handleResolve}>\n// <Fragment>{children}</Fragment>\n// </Suspense>\n// </div>\n// );\n// };\n// },\n// });\n","import { Operator } from \"@maketribe/dm\";\n\nexport type OperatorOption = { value: Operator; label: string };\n\nexport const EQUAL_OPTION: OperatorOption = {\n value: Operator.EQUAL,\n label: \"mk.operator.equal\",\n};\n\nexport const CONTAIN_OPTION: OperatorOption = {\n value: Operator.CONTAIN,\n label: \"mk.operator.contain\",\n};\n\nexport const IN_OPTION: OperatorOption = {\n value: Operator.IN,\n label: \"mk.operator.in\",\n};\n\nexport const NOT_IN_OPTION: OperatorOption = {\n value: Operator.NOT_IN,\n label: \"mk.operator.notIn\",\n};\n\nexport const LESS_THAN_OPTION: OperatorOption = {\n value: Operator.LESS_THAN,\n label: \"mk.operator.lessThan\",\n};\n\nexport const LESS_THAN_EQUAL_OPTION: OperatorOption = {\n value: Operator.LESS_THAN_EQUAL,\n label: \"mk.operator.lessThanEqual\",\n};\n\nexport const GREATER_THAN_OPTION: OperatorOption = {\n value: Operator.GREATER_THAN,\n label: \"mk.operator.greaterThan\",\n};\n\nexport const GREATER_THAN_EQUAL_OPTION: OperatorOption = {\n value: Operator.GREATER_THAN_EQUAL,\n label: \"mk.operator.greaterThanEqual\",\n};\n\nexport const BETWEEN_OPTION: OperatorOption = {\n value: Operator.BETWEEN,\n label: \"mk.operator.between\",\n};\n","import { withInstall } from \"@maketribe/utils\";\nimport { MKDataFilterFormItem } from \"./data-filter-form-item\";\nimport DataFilterForm from \"./data-filter-form\";\n\nexport const MKDataFilterForm = withInstall(DataFilterForm, {\n MKDataFilterFormItem,\n});\nexport default MKDataFilterForm;\n\nexport * from \"./data-filter-form-item\";\nexport * from \"./data-filter-form-options\";\nexport * from \"./composables\";\nexport * from \"./operator-options\";\n\nexport * from \"./components\";\n","import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\nimport { DataTable } from \"@maketribe/dm\";\n\nexport const dataFilterDrawerProps = buildProps({\n visible: {\n type: Boolean,\n default: false,\n },\n dataTable: {\n type: DataTable,\n required: true,\n },\n} as const);\n\nexport type DataFilterDrawerProps = ExtractPropTypes<\n typeof dataFilterDrawerProps\n>;\n\nexport const dataFilterDrawerEmits = {\n \"update:visible\": (visible: boolean) => true,\n};\n\nexport type DataFilterDrawerEmits = typeof dataFilterDrawerEmits;\n","import {computed, defineComponent, Fragment, unref} from \"vue\";\nimport {ElButton, ElDrawer} from \"element-plus\";\nimport {MKDataFilterForm} from \"../data-filter-form\";\nimport {\n dataFilterDrawerEmits,\n dataFilterDrawerProps,\n} from \"./data-filter-drawer-options\";\n\nexport default defineComponent({\n name: \"MKDataFilterDrawer\",\n props: dataFilterDrawerProps,\n emits: dataFilterDrawerEmits,\n setup(props, {emit}) {\n const visible = computed({\n get: () => props.visible,\n set: (v) => emit(\"update:visible\", v),\n });\n\n const handleCancelClick = () => {\n visible.value = false;\n };\n\n const handleResetClick = () => {\n visible.value = false;\n\n const dataTable = props.dataTable;\n const dataFilter = props.dataTable.dataFilter;\n\n dataFilter.reset();\n\n dataFilter.beforeSearchEvent.emit();\n\n dataTable.load();\n };\n\n const handleConfirmClick = () => {\n visible.value = false;\n\n const dataTable = props.dataTable;\n const dataFilter = props.dataTable.dataFilter;\n\n dataFilter.beforeSearchEvent.emit();\n\n dataTable.load();\n };\n\n return () => {\n return (\n <ElDrawer\n title=\"筛选器\"\n modelValue={unref(visible)}\n onUpdate:modelValue={((v: boolean) => (visible.value = v)) as any}\n v-slots={{\n default: () => <MKDataFilterForm\n class=\"overflow-hidden\"\n dataTable={props.dataTable}\n {...{labelPosition: \"top\"}}\n />,\n footer: () => (\n <Fragment>\n <ElButton onClick={handleCancelClick}>取消</ElButton>\n\n <ElButton onClick={handleResetClick}>重置</ElButton>\n\n <ElButton type=\"primary\" onClick={handleConfirmClick}>\n 查询\n </ElButton>\n </Fragment>\n ),\n }}\n />\n );\n };\n },\n});\n","import { withInstall } from \"@maketribe/utils\";\nimport DataFilterDrawer from \"./data-filter-drawer\";\n\nexport const MKDataFilterDrawer = withInstall(DataFilterDrawer);\n\nexport default MKDataFilterDrawer;\n\nexport * from \"./data-filter-drawer-options\";\n","import { defineComponent, inject, computed, unref, watch, ref } from \"vue\";\nimport { ElButton, ElInput, ElTooltip } from \"element-plus\";\nimport { Search } from \"@element-plus/icons-vue\";\nimport { debounce } from \"lodash-es\";\nimport { isWhereFilter } from \"@maketribe/dm\";\nimport { DATA_TABLE_CONTEXT_KEY } from \"../../../token\";\nimport { MKSvgIcon } from \"../../../../../basic\";\nimport { MKDataFilterDrawer } from \"../../../../data-filter-drawer\";\nimport { MKDataFilterForm } from \"../../../../data-filter-form\";\n\nexport default defineComponent({\n name: \"MKTableFilter\",\n setup() {\n const search = ref(\"\");\n\n const isShowDrawer = ref(false);\n\n const dataTableContext = inject(DATA_TABLE_CONTEXT_KEY);\n\n const dataTable = computed(() => dataTableContext!.dataTable);\n\n const dataTableInitd = computed(() => unref(dataTable)?.initd ?? false);\n\n const searchFilterColumns = computed(() =>\n unref(dataTable)\n .dataFilter.getColumns()\n .filter((column) => column.search)\n );\n\n const searchPlaceholder = computed(\n () =>\n `通过${unref(searchFilterColumns)\n .map((column) => column.label)\n .join(\"、\")}搜索`\n );\n\n watch(\n dataTable,\n (dataTable, _, onCleanup) => {\n onCleanup(() => {\n const dataFilter = dataTable.dataFilter;\n if (isWhereFilter(dataFilter)) {\n dataFilter.getSearchGroup().clear();\n }\n });\n },\n { immediate: true }\n );\n\n const handleSearch = () => {\n debounceSearch.cancel();\n\n const dataFilter = unref(dataTable).dataFilter;\n if (isWhereFilter(dataFilter)) {\n const searchGroup = dataFilter.getSearchGroup();\n searchGroup.clear();\n\n const searchValue = unref(search);\n\n for (const searchFilterColumn of unref(searchFilterColumns)) {\n searchGroup.addOrCondition(\n searchFilterColumn.name,\n \"like\",\n `%${searchValue}%`\n );\n }\n }\n\n unref(dataTable).load();\n };\n\n const debounceSearch = debounce(handleSearch, 1000);\n\n const handleSearchKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Enter\") {\n handleSearch();\n }\n };\n\n const handleSearchFocus = (event: FocusEvent) => {\n const target = event.target as HTMLInputElement;\n\n target.addEventListener(\"input\", debounceSearch);\n };\n\n const handleSearchBlur = (event: any) => {\n const target = event.target as HTMLInputElement;\n\n target.removeEventListener(\"input\", debounceSearch);\n };\n\n const handleShowDrawer = () => {\n isShowDrawer.value = true;\n };\n\n return () => {\n if (!unref(dataTableInitd)) {\n return null;\n }\n\n const _dataTable = unref(dataTable);\n\n if (_dataTable.dataFilter.getColumns().length === 0) {\n return null;\n }\n\n let searchInputVNode = null;\n\n if (unref(searchFilterColumns).length) {\n searchInputVNode = (\n <ElInput\n prefixIcon={Search}\n class=\"mk-table-filter__search\"\n modelValue={unref(search)}\n onUpdate:modelValue={(v) => (search.value = v)}\n onKeydown={handleSearchKeydown as any}\n placeholder={unref(searchPlaceholder)}\n onFocus={handleSearchFocus}\n onBlur={handleSearchBlur}\n onClear={handleSearch}\n clearable\n />\n );\n }\n\n return (\n <div class=\"mk-table-filter\">\n {searchInputVNode}\n <ElTooltip content=\"筛选\" effect=\"dark\" placement=\"top\">\n <ElButton onClick={handleShowDrawer}>\n <MKSvgIcon name=\"iconoir:filter\" />\n </ElButton>\n </ElTooltip>\n\n <MKDataFilterDrawer\n visible={unref(isShowDrawer)}\n onUpdate:visible={(v) => (isShowDrawer.value = v)}\n dataTable={_dataTable}\n />\n\n <div class=\"mk-table-filter__hidden\">\n <MKDataFilterForm dataTable={_dataTable} />\n </div>\n </div>\n );\n };\n },\n});\n","import TableFilter from \"./table-filter\";\n\nexport const MKTableFilter = TableFilter;\nexport default MKTableFilter;\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","dataFilterFormItemProps","setup","slots","dataFilterContext","inject","DATA_FILTER_CONTEXT","dataFilter","computed","_filterColumn","createFilterColumn","reactive","FilterColumn","label","unref","addColumn","filterColumn","existingColumn","getColumn","value","get","getParam","set","v","setParam","component","componentProps","componentInfo","useFilterColumnComponent","watch","_dataFilter","isWhereFilter","setParamOperator","defaultOperator","immediate","onBeforeUnmount","deleteParamOperator","deleteParam","children","default","FilterColumnComponent","toRaw","_createVNode","_mergeProps","labelWidth","ElFormItem","dataFilterFormProps","dataTable","columns","getColumns","filter","column","visible","maxWordCount","Math","max","map","length","provide","resolve","suspenseResolvePromise","Promise","_resolve","handleResolve","onMounted","_","onCleanup","disposable","afterInitdEvent","on","setReady","dispose","MKDataFilterFormItem","ElForm","Suspense","_Fragment","dataFilterDrawerProps","emits","dataFilterDrawerEmits","emit","handleCancelClick","handleResetClick","reset","beforeSearchEvent","load","handleConfirmClick","ElDrawer","MKDataFilterForm","labelPosition","footer","ElButton","_createTextVNode","search","ref","isShowDrawer","dataTableContext","DATA_TABLE_CONTEXT_KEY","dataTableInitd","initd","searchFilterColumns","searchPlaceholder","join","getSearchGroup","clear","handleSearch","debounceSearch","cancel","searchGroup","searchValue","searchFilterColumn","addOrCondition","debounce","handleSearchKeydown","event","key","handleSearchFocus","target","addEventListener","handleSearchBlur","removeEventListener","handleShowDrawer","_dataTable","searchInputVNode","ElInput","Search","ElTooltip","MKSvgIcon","MKDataFilterDrawer"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4
4
|
var _a, _b;
|
|
5
5
|
import { defineComponent, ref, watch, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, unref, createTextVNode, toDisplayString, Fragment, renderList, normalizeClass, pushScopeId, popScopeId } from "vue";
|
|
6
6
|
import { ElCard } from "element-plus";
|
|
7
|
-
import { a3 as DATA_MODEL_NAME, a4 as MODULE_NAME, a5 as MSAppClient, a6 as MsMemberTable, a2 as useMSAppClient, v as MKSvgIcon, _ as _export_sfc } from "./index-
|
|
7
|
+
import { a3 as DATA_MODEL_NAME, a4 as MODULE_NAME, a5 as MSAppClient, a6 as MsMemberTable, a2 as useMSAppClient, v as MKSvgIcon, _ as _export_sfc } from "./index-CktZMTi8.js";
|
|
8
8
|
import { DvOpt, Group } from "@maketribe/request";
|
|
9
9
|
import "@maketribe/utils";
|
|
10
10
|
import { DataForm, Messager, FormColumn, Dialoger } from "@maketribe/dm";
|
|
@@ -285,4 +285,4 @@ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-75f8
|
|
|
285
285
|
export {
|
|
286
286
|
index as default
|
|
287
287
|
};
|
|
288
|
-
//# sourceMappingURL=index-
|
|
288
|
+
//# sourceMappingURL=index-CkZ7LoDx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-BzX9cDUw.js","sources":["../../src/pages/to-do/ToDoForm.ts","../../src/pages/to-do/index.vue"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn, Messager } from \"@maketribe/dm\";\nimport { DATA_MODEL_NAME, RegionLevel, MODULE_NAME } from \"../../constants\";\nimport { MSAppClient } from \"../../core\";\nimport { MsMemberTable } from \"../../dataviews\";\n\nexport class ToDoForm extends DataForm {\n static [DATA_MODEL_NAME]: string = \"todo\";\n\n constructor(options: DataFormOptions = {}) {\n super({\n name: ToDoForm[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n this.httpRequest = MSAppClient.instance!.httpRequest;\n }\n\n protected async initialize(): Promise<void> {\n await super.initialize();\n\n const result = await this.httpRequest.get(\"/ms/dv/todo/meta\")\n if (result.data.code != 200) {\n Messager.error({\n message: result.data.msg || '获取消息类型失败'\n })\n return;\n }\n\n this.setColumns([\n new FormColumn({\n name: \"memberId\", label: \"处理成员id\",\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n dataTable: this.register(new MsMemberTable()),\n labelFieldName: \"name\",\n },\n required: true\n }),\n new FormColumn({\n name: \"deadline\", label: \"截止时间\",\n componentInfo: \"MKFormDatePicker\",\n }),\n new FormColumn({\n name: \"relatedMemberIds\", label: \"关联成员\",\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n dataTable: this.register(new MsMemberTable()),\n labelFieldName: \"name\",\n multiple: true\n },\n required: true\n }),\n new FormColumn({\n name: \"intro\", label: \"待办简介\", componentInfo: \"MKFormInput\",\n componentProps: {\n autoSize: {\n minRows: 5,\n maxRows: 20\n }\n },\n required: true\n }),\n\n new FormColumn({\n name: \"content\", label: \"内容\",\n componentInfo: \"MKFormInput\",\n componentProps: {\n type: \"textarea\",\n autosize: {\n minRows: 5,\n maxRows: 20\n }\n },\n required: true\n }),\n new FormColumn({\n name: \"priority\", label: \"待办优先级\",\n componentInfo: \"MKFormDataSelect\",\n componentProps: {\n options: result.data.data.priorityList\n }, required: true,\n defaultValue: 0\n }),\n new FormColumn({\n name: \"status\", label: \"待办状态\",\n componentInfo: \"MKFormDataSelect\",\n componentProps: {\n options: result.data.data.statusList\n }, required: true,\n defaultValue: 0\n }),\n ]);\n\n }\n\n async submit() {\n const res = await this.httpRequest.post(\"/ms/dv/todo/create\", this.data)\n return res\n }\n}\n","<template>\n <div class=\"ms-todo\">\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"null\">\n <template #title>\n <h3 style=\"color: var(--el-text-color-regular);margin-left: 10px;\">\n <MKSvgIcon name=\"ep:timer\" style=\"margin-right: 5px;\" />\n 待办事项\n </h3>\n </template>\n <template #extra>\n </template>\n </el-page-header>\n <div class=\"ms-todo__body-warp\">\n <ElCard class=\"ms-todo__body-warp__calendar\">\n <div class=\"ms-todo__body-warp__calendar-header\">\n <div class=\"ms-todo__body-warp__calendar-header-left\">\n <span class=\"ms-todo__body-warp__calendar-header_left-title\">今日工作</span><span\n class=\"ms-todo__body-warp__calendar-header_left-date\">{{\n selectDate.toLocaleDateString().replace(/\\//g, '-')\n }}</span>\n </div>\n <div class=\"ms-todo__body-warp__calendar-header-right\">\n <ElButton link type=\"primary\" @click=\"addToDo\">\n <MKSvgIcon name=\"ep:plus\" style=\"margin-right: 10px;\"></MKSvgIcon>添加事项\n </ElButton>\n </div>\n </div>\n <div class=\"ms-todo__body-warp__calendar-body\">\n <div class=\"ms-todo__body-warp__calendar-body-left day-box\" @click=\"offsetValue--\">\n <MKSvgIcon name=\"ep:arrow-left\"></MKSvgIcon>\n </div>\n <div v-for=\"item in currentWeek\" class=\"ms-todo__body-warp__calendar-body_date day-box\"\n @click=\"selectDate = item.date; console.log(item);\">\n <div class=\"ms-todo__body-warp__calendar-body_date-weekDay\">\n {{ item.weekDay }}\n </div>\n <div\n :class=\"[item.date.toLocaleDateString() == selectDate.toLocaleDateString() ? 'is-active' : '', 'ms-todo__body-warp__calendar-body_date-day']\">\n {{ item.day }}\n </div>\n </div>\n <div class=\"ms-todo__body-warp__calendar-body-right day-box\" @click=\"offsetValue++\">\n <MKSvgIcon name=\"ep:arrow-right\"></MKSvgIcon>\n </div>\n </div>\n <div class=\"ms-todo__body-warp__calendar-work\">\n\n </div>\n </ElCard>\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { ElCard } from 'element-plus';\nimport { MKSvgIcon } from \"../../components\"\nimport { useMSAppClient } from '../../composables';\nimport { Ref, ref, watch } from 'vue';\nimport { Dialoger } from '@maketribe/dm';\nimport { ToDoForm } from './ToDoForm';\nimport { DvOpt, Group } from '@maketribe/request';\n\nconst { httpRequest } = useMSAppClient();\n\ndefineOptions({\n mkRoute: {\n name: \"dv/ms-todo/single/list/dialog\",\n },\n})\n\nconst todoDv = DvOpt.createInstance({\n name: \"todo\",\n moduleName:\"ms\"\n})\nconst dayGroup = new Group()\n\n\nconst selectDate = ref(new Date());\nconst offsetValue = ref(0)\nconst currentWeek = ref();\nconst todoList: Ref<any[]> = ref([{\n \n}])\nhttpRequest.get(\"/ms/dv/todo/meta\")\n//获取当前周信息\nconst getWeek = (offset = 0) => {\n const now = new Date().getTime() + offset * 86400000;\n const dayOfWeek = new Date(now).getDay();\n const startDate = new Date(now - dayOfWeek * 86400000);\n const weekDate = [\n startDate,\n new Date(now - (dayOfWeek - 1) * 86400000),\n new Date(now - (dayOfWeek - 2) * 86400000),\n new Date(now - (dayOfWeek - 3) * 86400000),\n new Date(now - (dayOfWeek - 4) * 86400000),\n new Date(now - (dayOfWeek - 5) * 86400000),\n new Date(now - (dayOfWeek - 6) * 86400000)\n ]\n return {\n 0: { date: weekDate[0], day: weekDate[0].getDate(), weekDay: \"日\" },\n 1: { date: weekDate[1], day: weekDate[1].getDate(), weekDay: \"一\" },\n 2: { date: weekDate[2], day: weekDate[2].getDate(), weekDay: \"二\" },\n 3: { date: weekDate[3], day: weekDate[3].getDate(), weekDay: \"三\" },\n 4: { date: weekDate[4], day: weekDate[4].getDate(), weekDay: \"四\" },\n 5: { date: weekDate[5], day: weekDate[5].getDate(), weekDay: \"五\" },\n 6: { date: weekDate[6], day: weekDate[6].getDate(), weekDay: \"六\" },\n }\n}\n\n/**\n * 获取当前日期的待办事项\n * @param Date day \n */\nconst getDayTodo = async (day: Date) => {\n dayGroup.clear();\n dayGroup.addCondition(\"createdAt\", \"<=\", day);\n dayGroup.addCondition(\"deadline\", \">=\", day);\n return await todoDv.query().addGroup((g) => g.group.addGroup(dayGroup)).list();\n}\n\nconst addToDo = async () => {\n console.log(2154);\n Dialoger.dataFormDialog({\n dataForm: new ToDoForm()\n })\n}\n\nwatch(offsetValue, (newValue, oldValue) => {\n //获取当前周信息\n currentWeek.value = getWeek(offsetValue.value * 7);\n //更改选中的日期\n selectDate.value = new Date(selectDate.value.getTime() + (newValue - oldValue! || 0) * 7 * 86400000);\n}, { immediate: true }\n)\n\nwatch(selectDate, async () => {\n // selectDate.value = currentWeek.value[0];\n //todo 获取当前日期的待办事项\n todoList.value = await getDayTodo(selectDate.value)\n}, { immediate: true })\n\n\n</script>\n<style lang='scss' scoped>\n\n.ms-todo {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n overflow: hidden;\n\n &__body-warp {\n padding: 10px;\n display: flex;\n height: 100%;\n overflow: hidden;\n\n &__calendar {\n width: 100%;\n\n &-header {\n display: flex;\n justify-content: space-between;\n\n &_left {\n &-title {\n font-size: 16px;\n margin-right: 10px;\n }\n\n &-date {\n font-size: 14px;\n }\n }\n }\n\n &-body {\n display: flex;\n justify-content: space-around;\n width: 100%;\n\n &_date {\n display: flex;\n flex-direction: column;\n gap: 10px;\n\n &-day {\n padding: 10px;\n border-radius: 8px;\n }\n\n &-weekDay {}\n\n .is-active {\n background-color: #2876f6;\n color: #fff;\n }\n }\n\n\n\n .day-box {\n display: flex;\n align-items: center;\n padding: 10px;\n box-sizing: border-box;\n cursor: pointer;\n }\n }\n }\n }\n}\n</style>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-CkZ7LoDx.js","sources":["../../src/pages/to-do/ToDoForm.ts","../../src/pages/to-do/index.vue"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn, Messager } from \"@maketribe/dm\";\nimport { DATA_MODEL_NAME, RegionLevel, MODULE_NAME } from \"../../constants\";\nimport { MSAppClient } from \"../../core\";\nimport { MsMemberTable } from \"../../dataviews\";\n\nexport class ToDoForm extends DataForm {\n static [DATA_MODEL_NAME]: string = \"todo\";\n\n constructor(options: DataFormOptions = {}) {\n super({\n name: ToDoForm[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n this.httpRequest = MSAppClient.instance!.httpRequest;\n }\n\n protected async initialize(): Promise<void> {\n await super.initialize();\n\n const result = await this.httpRequest.get(\"/ms/dv/todo/meta\")\n if (result.data.code != 200) {\n Messager.error({\n message: result.data.msg || '获取消息类型失败'\n })\n return;\n }\n\n this.setColumns([\n new FormColumn({\n name: \"memberId\", label: \"处理成员id\",\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n dataTable: this.register(new MsMemberTable()),\n labelFieldName: \"name\",\n },\n required: true\n }),\n new FormColumn({\n name: \"deadline\", label: \"截止时间\",\n componentInfo: \"MKFormDatePicker\",\n }),\n new FormColumn({\n name: \"relatedMemberIds\", label: \"关联成员\",\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n dataTable: this.register(new MsMemberTable()),\n labelFieldName: \"name\",\n multiple: true\n },\n required: true\n }),\n new FormColumn({\n name: \"intro\", label: \"待办简介\", componentInfo: \"MKFormInput\",\n componentProps: {\n autoSize: {\n minRows: 5,\n maxRows: 20\n }\n },\n required: true\n }),\n\n new FormColumn({\n name: \"content\", label: \"内容\",\n componentInfo: \"MKFormInput\",\n componentProps: {\n type: \"textarea\",\n autosize: {\n minRows: 5,\n maxRows: 20\n }\n },\n required: true\n }),\n new FormColumn({\n name: \"priority\", label: \"待办优先级\",\n componentInfo: \"MKFormDataSelect\",\n componentProps: {\n options: result.data.data.priorityList\n }, required: true,\n defaultValue: 0\n }),\n new FormColumn({\n name: \"status\", label: \"待办状态\",\n componentInfo: \"MKFormDataSelect\",\n componentProps: {\n options: result.data.data.statusList\n }, required: true,\n defaultValue: 0\n }),\n ]);\n\n }\n\n async submit() {\n const res = await this.httpRequest.post(\"/ms/dv/todo/create\", this.data)\n return res\n }\n}\n","<template>\n <div class=\"ms-todo\">\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"null\">\n <template #title>\n <h3 style=\"color: var(--el-text-color-regular);margin-left: 10px;\">\n <MKSvgIcon name=\"ep:timer\" style=\"margin-right: 5px;\" />\n 待办事项\n </h3>\n </template>\n <template #extra>\n </template>\n </el-page-header>\n <div class=\"ms-todo__body-warp\">\n <ElCard class=\"ms-todo__body-warp__calendar\">\n <div class=\"ms-todo__body-warp__calendar-header\">\n <div class=\"ms-todo__body-warp__calendar-header-left\">\n <span class=\"ms-todo__body-warp__calendar-header_left-title\">今日工作</span><span\n class=\"ms-todo__body-warp__calendar-header_left-date\">{{\n selectDate.toLocaleDateString().replace(/\\//g, '-')\n }}</span>\n </div>\n <div class=\"ms-todo__body-warp__calendar-header-right\">\n <ElButton link type=\"primary\" @click=\"addToDo\">\n <MKSvgIcon name=\"ep:plus\" style=\"margin-right: 10px;\"></MKSvgIcon>添加事项\n </ElButton>\n </div>\n </div>\n <div class=\"ms-todo__body-warp__calendar-body\">\n <div class=\"ms-todo__body-warp__calendar-body-left day-box\" @click=\"offsetValue--\">\n <MKSvgIcon name=\"ep:arrow-left\"></MKSvgIcon>\n </div>\n <div v-for=\"item in currentWeek\" class=\"ms-todo__body-warp__calendar-body_date day-box\"\n @click=\"selectDate = item.date; console.log(item);\">\n <div class=\"ms-todo__body-warp__calendar-body_date-weekDay\">\n {{ item.weekDay }}\n </div>\n <div\n :class=\"[item.date.toLocaleDateString() == selectDate.toLocaleDateString() ? 'is-active' : '', 'ms-todo__body-warp__calendar-body_date-day']\">\n {{ item.day }}\n </div>\n </div>\n <div class=\"ms-todo__body-warp__calendar-body-right day-box\" @click=\"offsetValue++\">\n <MKSvgIcon name=\"ep:arrow-right\"></MKSvgIcon>\n </div>\n </div>\n <div class=\"ms-todo__body-warp__calendar-work\">\n\n </div>\n </ElCard>\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { ElCard } from 'element-plus';\nimport { MKSvgIcon } from \"../../components\"\nimport { useMSAppClient } from '../../composables';\nimport { Ref, ref, watch } from 'vue';\nimport { Dialoger } from '@maketribe/dm';\nimport { ToDoForm } from './ToDoForm';\nimport { DvOpt, Group } from '@maketribe/request';\n\nconst { httpRequest } = useMSAppClient();\n\ndefineOptions({\n mkRoute: {\n name: \"dv/ms-todo/single/list/dialog\",\n },\n})\n\nconst todoDv = DvOpt.createInstance({\n name: \"todo\",\n moduleName:\"ms\"\n})\nconst dayGroup = new Group()\n\n\nconst selectDate = ref(new Date());\nconst offsetValue = ref(0)\nconst currentWeek = ref();\nconst todoList: Ref<any[]> = ref([{\n \n}])\nhttpRequest.get(\"/ms/dv/todo/meta\")\n//获取当前周信息\nconst getWeek = (offset = 0) => {\n const now = new Date().getTime() + offset * 86400000;\n const dayOfWeek = new Date(now).getDay();\n const startDate = new Date(now - dayOfWeek * 86400000);\n const weekDate = [\n startDate,\n new Date(now - (dayOfWeek - 1) * 86400000),\n new Date(now - (dayOfWeek - 2) * 86400000),\n new Date(now - (dayOfWeek - 3) * 86400000),\n new Date(now - (dayOfWeek - 4) * 86400000),\n new Date(now - (dayOfWeek - 5) * 86400000),\n new Date(now - (dayOfWeek - 6) * 86400000)\n ]\n return {\n 0: { date: weekDate[0], day: weekDate[0].getDate(), weekDay: \"日\" },\n 1: { date: weekDate[1], day: weekDate[1].getDate(), weekDay: \"一\" },\n 2: { date: weekDate[2], day: weekDate[2].getDate(), weekDay: \"二\" },\n 3: { date: weekDate[3], day: weekDate[3].getDate(), weekDay: \"三\" },\n 4: { date: weekDate[4], day: weekDate[4].getDate(), weekDay: \"四\" },\n 5: { date: weekDate[5], day: weekDate[5].getDate(), weekDay: \"五\" },\n 6: { date: weekDate[6], day: weekDate[6].getDate(), weekDay: \"六\" },\n }\n}\n\n/**\n * 获取当前日期的待办事项\n * @param Date day \n */\nconst getDayTodo = async (day: Date) => {\n dayGroup.clear();\n dayGroup.addCondition(\"createdAt\", \"<=\", day);\n dayGroup.addCondition(\"deadline\", \">=\", day);\n return await todoDv.query().addGroup((g) => g.group.addGroup(dayGroup)).list();\n}\n\nconst addToDo = async () => {\n console.log(2154);\n Dialoger.dataFormDialog({\n dataForm: new ToDoForm()\n })\n}\n\nwatch(offsetValue, (newValue, oldValue) => {\n //获取当前周信息\n currentWeek.value = getWeek(offsetValue.value * 7);\n //更改选中的日期\n selectDate.value = new Date(selectDate.value.getTime() + (newValue - oldValue! || 0) * 7 * 86400000);\n}, { immediate: true }\n)\n\nwatch(selectDate, async () => {\n // selectDate.value = currentWeek.value[0];\n //todo 获取当前日期的待办事项\n todoList.value = await getDayTodo(selectDate.value)\n}, { immediate: true })\n\n\n</script>\n<style lang='scss' scoped>\n\n.ms-todo {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n overflow: hidden;\n\n &__body-warp {\n padding: 10px;\n display: flex;\n height: 100%;\n overflow: hidden;\n\n &__calendar {\n width: 100%;\n\n &-header {\n display: flex;\n justify-content: space-between;\n\n &_left {\n &-title {\n font-size: 16px;\n margin-right: 10px;\n }\n\n &-date {\n font-size: 14px;\n }\n }\n }\n\n &-body {\n display: flex;\n justify-content: space-around;\n width: 100%;\n\n &_date {\n display: flex;\n flex-direction: column;\n gap: 10px;\n\n &-day {\n padding: 10px;\n border-radius: 8px;\n }\n\n &-weekDay {}\n\n .is-active {\n background-color: #2876f6;\n color: #fff;\n }\n }\n\n\n\n .day-box {\n display: flex;\n align-items: center;\n padding: 10px;\n box-sizing: border-box;\n cursor: pointer;\n }\n }\n }\n }\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,YAAN,MAAM,mBAAiB,eAClB,sBADkB,IAAS;AAAA,EAGnC,YAAY,UAA2B,IAAI;AACjC,UAAA;AAAA,MACF,MAAM,UAAS,eAAe;AAAA,MAC9B,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACN;AACI,SAAA,cAAc,YAAY,SAAU;AAAA,EAC7C;AAAA,EAEA,MAAgB,aAA4B;AACxC,UAAM,MAAM;AAEZ,UAAM,SAAS,MAAM,KAAK,YAAY,IAAI,kBAAkB;AACxD,QAAA,OAAO,KAAK,QAAQ,KAAK;AACzB,eAAS,MAAM;AAAA,QACX,SAAS,OAAO,KAAK,OAAO;AAAA,MAAA,CAC/B;AACD;AAAA,IACJ;AAEA,SAAK,WAAW;AAAA,MACZ,IAAI,WAAW;AAAA,QACX,MAAM;AAAA,QAAY,OAAO;AAAA,QACzB,eAAe;AAAA,QACf,gBAAgB;AAAA,UACZ,WAAW,KAAK,SAAS,IAAI,eAAe;AAAA,UAC5C,gBAAgB;AAAA,QACpB;AAAA,QACA,UAAU;AAAA,MAAA,CACb;AAAA,MACD,IAAI,WAAW;AAAA,QACX,MAAM;AAAA,QAAY,OAAO;AAAA,QACzB,eAAe;AAAA,MAAA,CAClB;AAAA,MACD,IAAI,WAAW;AAAA,QACX,MAAM;AAAA,QAAoB,OAAO;AAAA,QACjC,eAAe;AAAA,QACf,gBAAgB;AAAA,UACZ,WAAW,KAAK,SAAS,IAAI,eAAe;AAAA,UAC5C,gBAAgB;AAAA,UAChB,UAAU;AAAA,QACd;AAAA,QACA,UAAU;AAAA,MAAA,CACb;AAAA,MACD,IAAI,WAAW;AAAA,QACX,MAAM;AAAA,QAAS,OAAO;AAAA,QAAQ,eAAe;AAAA,QAC7C,gBAAgB;AAAA,UACZ,UAAU;AAAA,YACN,SAAS;AAAA,YACT,SAAS;AAAA,UACb;AAAA,QACJ;AAAA,QACA,UAAU;AAAA,MAAA,CACb;AAAA,MAED,IAAI,WAAW;AAAA,QACX,MAAM;AAAA,QAAW,OAAO;AAAA,QACxB,eAAe;AAAA,QACf,gBAAgB;AAAA,UACZ,MAAM;AAAA,UACN,UAAU;AAAA,YACN,SAAS;AAAA,YACT,SAAS;AAAA,UACb;AAAA,QACJ;AAAA,QACA,UAAU;AAAA,MAAA,CACb;AAAA,MACD,IAAI,WAAW;AAAA,QACX,MAAM;AAAA,QAAY,OAAO;AAAA,QACzB,eAAe;AAAA,QACf,gBAAgB;AAAA,UACZ,SAAS,OAAO,KAAK,KAAK;AAAA,QAC9B;AAAA,QAAG,UAAU;AAAA,QACb,cAAc;AAAA,MAAA,CACjB;AAAA,MACD,IAAI,WAAW;AAAA,QACX,MAAM;AAAA,QAAU,OAAO;AAAA,QACvB,eAAe;AAAA,QACf,gBAAgB;AAAA,UACZ,SAAS,OAAO,KAAK,KAAK;AAAA,QAC9B;AAAA,QAAG,UAAU;AAAA,QACb,cAAc;AAAA,MAAA,CACjB;AAAA,IAAA,CACJ;AAAA,EAEL;AAAA,EAEA,MAAM,SAAS;AACX,UAAM,MAAM,MAAM,KAAK,YAAY,KAAK,sBAAsB,KAAK,IAAI;AAChE,WAAA;AAAA,EACX;AACJ;AA7FI,cADS,WACD,IAA2B;AADhC,IAAM,WAAN;;;;;;;;;;;;;;;;;;;;;;ACwDD,UAAA,EAAE,gBAAgB;AAQlB,UAAA,SAAS,MAAM,eAAe;AAAA,MAChC,MAAM;AAAA,MACN,YAAW;AAAA,IAAA,CACd;AACK,UAAA,WAAW,IAAI;AAGrB,UAAM,aAAa,IAAQ,oBAAA,KAAM,CAAA;AAC3B,UAAA,cAAc,IAAI,CAAC;AACzB,UAAM,cAAc;AACpB,UAAM,WAAuB,IAAI,CAAC,CAAA,CAEjC,CAAC;AACF,gBAAY,IAAI,kBAAkB;AAE5B,UAAA,UAAU,CAAC,SAAS,MAAM;AAC5B,YAAM,OAAU,oBAAA,KAAA,GAAO,YAAY,SAAS;AAC5C,YAAM,YAAY,IAAI,KAAK,GAAG,EAAE,OAAO;AACvC,YAAM,YAAY,IAAI,KAAK,MAAM,YAAY,KAAQ;AACrD,YAAM,WAAW;AAAA,QACb;AAAA,QACA,IAAI,KAAK,OAAO,YAAY,KAAK,KAAQ;AAAA,QACzC,IAAI,KAAK,OAAO,YAAY,KAAK,KAAQ;AAAA,QACzC,IAAI,KAAK,OAAO,YAAY,KAAK,KAAQ;AAAA,QACzC,IAAI,KAAK,OAAO,YAAY,KAAK,KAAQ;AAAA,QACzC,IAAI,KAAK,OAAO,YAAY,KAAK,KAAQ;AAAA,QACzC,IAAI,KAAK,OAAO,YAAY,KAAK,KAAQ;AAAA,MAAA;AAEtC,aAAA;AAAA,QACH,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,QACjE,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,QACjE,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,QACjE,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,QACjE,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,QACjE,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,QACjE,GAAG,EAAE,MAAM,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,WAAW,SAAS,IAAI;AAAA,MAAA;AAAA,IACrE;AAOE,UAAA,aAAa,OAAO,QAAc;AACpC,eAAS,MAAM;AACN,eAAA,aAAa,aAAa,MAAM,GAAG;AACnC,eAAA,aAAa,YAAY,MAAM,GAAG;AAC3C,aAAO,MAAM,OAAO,QAAQ,SAAS,CAAC,MAAM,EAAE,MAAM,SAAS,QAAQ,CAAC,EAAE,KAAK;AAAA,IAAA;AAGjF,UAAM,UAAU,YAAY;AACxB,cAAQ,IAAI,IAAI;AAChB,eAAS,eAAe;AAAA,QACpB,UAAU,IAAI,SAAS;AAAA,MAAA,CAC1B;AAAA,IAAA;AAGL;AAAA,MAAM;AAAA,MAAa,CAAC,UAAU,aAAa;AAEvC,oBAAY,QAAQ,QAAQ,YAAY,QAAQ,CAAC;AAEtC,mBAAA,QAAQ,IAAI,KAAK,WAAW,MAAM,aAAa,WAAW,YAAa,KAAK,IAAI,KAAQ;AAAA,MACvG;AAAA,MAAG,EAAE,WAAW,KAAK;AAAA,IAAA;AAGrB,UAAM,YAAY,YAAY;AAG1B,eAAS,QAAQ,MAAM,WAAW,WAAW,KAAK;AAAA,IAAA,GACnD,EAAE,WAAW,KAAA,CAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|