@antv/s2-vue 2.0.0-next.8 → 2.0.0
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/LICENSE +21 -0
- package/README.md +7 -8
- package/dist/s2-vue.min.css +1 -0
- package/dist/s2-vue.min.js +28 -0
- package/dist/s2-vue.min.js.map +1 -0
- package/esm/common/constant/index.d.ts +1 -0
- package/esm/common/constant/index.js +2 -0
- package/esm/common/constant/index.js.map +1 -0
- package/esm/common/constant/options.d.ts +2 -0
- package/esm/common/constant/options.js +7 -0
- package/esm/common/constant/options.js.map +1 -0
- package/esm/components/drill-down/index.vue.d.ts +126 -0
- package/esm/components/drill-down/index.vue.js +206 -0
- package/esm/components/drill-down/index.vue.js.map +1 -0
- package/esm/components/index.d.ts +6 -0
- package/esm/components/index.js +8 -0
- package/esm/components/index.js.map +1 -0
- package/esm/components/pagination/index.vue.d.ts +44 -0
- package/esm/components/pagination/index.vue.js +91 -0
- package/esm/components/pagination/index.vue.js.map +1 -0
- package/esm/components/sheets/base-sheet.vue.d.ts +391 -0
- package/esm/components/sheets/base-sheet.vue.js +119 -0
- package/esm/components/sheets/base-sheet.vue.js.map +1 -0
- package/esm/components/sheets/editable-sheet.vue.d.ts +2 -0
- package/esm/components/sheets/editable-sheet.vue.js +181 -0
- package/esm/components/sheets/editable-sheet.vue.js.map +1 -0
- package/esm/components/sheets/index.vue.d.ts +251 -0
- package/esm/components/sheets/index.vue.js +77 -0
- package/esm/components/sheets/index.vue.js.map +1 -0
- package/esm/components/sheets/pivot-sheet.vue.d.ts +322 -0
- package/esm/components/sheets/pivot-sheet.vue.js +117 -0
- package/esm/components/sheets/pivot-sheet.vue.js.map +1 -0
- package/esm/components/sheets/table-sheet.vue.d.ts +250 -0
- package/esm/components/sheets/table-sheet.vue.js +61 -0
- package/esm/components/sheets/table-sheet.vue.js.map +1 -0
- package/esm/components/tooltip/components/detail.vue.d.ts +6 -0
- package/esm/components/tooltip/components/detail.vue.js +53 -0
- package/esm/components/tooltip/components/detail.vue.js.map +1 -0
- package/esm/components/tooltip/components/head-info.vue.d.ts +6 -0
- package/esm/components/tooltip/components/head-info.vue.js +61 -0
- package/esm/components/tooltip/components/head-info.vue.js.map +1 -0
- package/esm/components/tooltip/components/infos.vue.d.ts +6 -0
- package/esm/components/tooltip/components/infos.vue.js +49 -0
- package/esm/components/tooltip/components/infos.vue.js.map +1 -0
- package/esm/components/tooltip/components/operator/index.d.ts +3 -0
- package/esm/components/tooltip/components/operator/index.js +4 -0
- package/esm/components/tooltip/components/operator/index.js.map +1 -0
- package/esm/components/tooltip/components/operator/index.vue.d.ts +14 -0
- package/esm/components/tooltip/components/operator/index.vue.js +149 -0
- package/esm/components/tooltip/components/operator/index.vue.js.map +1 -0
- package/esm/components/tooltip/components/operator/menu.vue.d.ts +21 -0
- package/esm/components/tooltip/components/operator/menu.vue.js +146 -0
- package/esm/components/tooltip/components/operator/menu.vue.js.map +1 -0
- package/esm/components/tooltip/components/operator/title.vue.d.ts +10 -0
- package/esm/components/tooltip/components/operator/title.vue.js +54 -0
- package/esm/components/tooltip/components/operator/title.vue.js.map +1 -0
- package/esm/components/tooltip/components/simple-tips.vue.d.ts +6 -0
- package/esm/components/tooltip/components/simple-tips.vue.js +55 -0
- package/esm/components/tooltip/components/simple-tips.vue.js.map +1 -0
- package/esm/components/tooltip/components/summary.vue.d.ts +11 -0
- package/esm/components/tooltip/components/summary.vue.js +71 -0
- package/esm/components/tooltip/components/summary.vue.js.map +1 -0
- package/esm/components/tooltip/custom-tooltip.d.ts +6 -0
- package/esm/components/tooltip/custom-tooltip.js +36 -0
- package/esm/components/tooltip/custom-tooltip.js.map +1 -0
- package/esm/components/tooltip/index.vue.d.ts +13 -0
- package/esm/components/tooltip/index.vue.js +124 -0
- package/esm/components/tooltip/index.vue.js.map +1 -0
- package/esm/components/tooltip/interface.d.ts +8 -0
- package/esm/components/tooltip/interface.js +2 -0
- package/esm/components/tooltip/interface.js.map +1 -0
- package/esm/hooks/useEvents.d.ts +4 -0
- package/esm/hooks/useEvents.js +125 -0
- package/esm/hooks/useEvents.js.map +1 -0
- package/esm/hooks/useExpose.d.ts +5 -0
- package/esm/hooks/useExpose.js +11 -0
- package/esm/hooks/useExpose.js.map +1 -0
- package/esm/hooks/useLoading.d.ts +6 -0
- package/esm/hooks/useLoading.js +18 -0
- package/esm/hooks/useLoading.js.map +1 -0
- package/esm/hooks/usePagination.d.ts +70 -0
- package/esm/hooks/usePagination.js +68 -0
- package/esm/hooks/usePagination.js.map +1 -0
- package/esm/hooks/useResize.d.ts +7 -0
- package/esm/hooks/useResize.js +20 -0
- package/esm/hooks/useResize.js.map +1 -0
- package/esm/hooks/useSheetUpdate.d.ts +13 -0
- package/esm/hooks/useSheetUpdate.js +56 -0
- package/esm/hooks/useSheetUpdate.js.map +1 -0
- package/esm/hooks/useSpreadSheet.d.ts +75 -0
- package/esm/hooks/useSpreadSheet.js +60 -0
- package/esm/hooks/useSpreadSheet.js.map +1 -0
- package/esm/index.d.ts +4 -6068
- package/esm/index.js +5 -3363
- package/esm/index.js.map +1 -1
- package/esm/interface.d.ts +47 -0
- package/esm/interface.js +2 -0
- package/esm/interface.js.map +1 -0
- package/esm/svg/calendar-icon.svg +13 -0
- package/esm/svg/location-icon.svg +13 -0
- package/esm/svg/text-icon.svg +13 -0
- package/esm/utils/extendLocale.d.ts +1 -0
- package/esm/utils/extendLocale.js +3 -0
- package/esm/utils/extendLocale.js.map +1 -0
- package/esm/utils/initPropAndEmits.d.ts +204 -0
- package/esm/utils/initPropAndEmits.js +158 -0
- package/esm/utils/initPropAndEmits.js.map +1 -0
- package/esm/utils/options.d.ts +2 -0
- package/esm/utils/options.js +4 -0
- package/esm/utils/options.js.map +1 -0
- package/lib/common/constant/index.d.ts +1 -0
- package/lib/common/constant/index.js +5 -0
- package/lib/common/constant/index.js.map +1 -0
- package/lib/common/constant/options.d.ts +2 -0
- package/lib/common/constant/options.js +10 -0
- package/lib/common/constant/options.js.map +1 -0
- package/lib/components/drill-down/index.vue.d.ts +126 -0
- package/lib/components/drill-down/index.vue.js +209 -0
- package/lib/components/drill-down/index.vue.js.map +1 -0
- package/lib/components/index.d.ts +6 -0
- package/lib/components/index.js +20 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/pagination/index.vue.d.ts +44 -0
- package/lib/components/pagination/index.vue.js +93 -0
- package/lib/components/pagination/index.vue.js.map +1 -0
- package/lib/components/sheets/base-sheet.vue.d.ts +391 -0
- package/lib/components/sheets/base-sheet.vue.js +122 -0
- package/lib/components/sheets/base-sheet.vue.js.map +1 -0
- package/lib/components/sheets/editable-sheet.vue.d.ts +2 -0
- package/lib/components/sheets/editable-sheet.vue.js +184 -0
- package/lib/components/sheets/editable-sheet.vue.js.map +1 -0
- package/lib/components/sheets/index.vue.d.ts +251 -0
- package/lib/components/sheets/index.vue.js +80 -0
- package/lib/components/sheets/index.vue.js.map +1 -0
- package/lib/components/sheets/pivot-sheet.vue.d.ts +322 -0
- package/lib/components/sheets/pivot-sheet.vue.js +120 -0
- package/lib/components/sheets/pivot-sheet.vue.js.map +1 -0
- package/lib/components/sheets/table-sheet.vue.d.ts +250 -0
- package/lib/components/sheets/table-sheet.vue.js +64 -0
- package/lib/components/sheets/table-sheet.vue.js.map +1 -0
- package/lib/components/tooltip/components/detail.vue.d.ts +6 -0
- package/lib/components/tooltip/components/detail.vue.js +55 -0
- package/lib/components/tooltip/components/detail.vue.js.map +1 -0
- package/lib/components/tooltip/components/head-info.vue.d.ts +6 -0
- package/lib/components/tooltip/components/head-info.vue.js +63 -0
- package/lib/components/tooltip/components/head-info.vue.js.map +1 -0
- package/lib/components/tooltip/components/infos.vue.d.ts +6 -0
- package/lib/components/tooltip/components/infos.vue.js +51 -0
- package/lib/components/tooltip/components/infos.vue.js.map +1 -0
- package/lib/components/tooltip/components/operator/index.d.ts +3 -0
- package/lib/components/tooltip/components/operator/index.js +13 -0
- package/lib/components/tooltip/components/operator/index.js.map +1 -0
- package/lib/components/tooltip/components/operator/index.vue.d.ts +14 -0
- package/lib/components/tooltip/components/operator/index.vue.js +152 -0
- package/lib/components/tooltip/components/operator/index.vue.js.map +1 -0
- package/lib/components/tooltip/components/operator/menu.vue.d.ts +21 -0
- package/lib/components/tooltip/components/operator/menu.vue.js +149 -0
- package/lib/components/tooltip/components/operator/menu.vue.js.map +1 -0
- package/lib/components/tooltip/components/operator/title.vue.d.ts +10 -0
- package/lib/components/tooltip/components/operator/title.vue.js +56 -0
- package/lib/components/tooltip/components/operator/title.vue.js.map +1 -0
- package/lib/components/tooltip/components/simple-tips.vue.d.ts +6 -0
- package/lib/components/tooltip/components/simple-tips.vue.js +57 -0
- package/lib/components/tooltip/components/simple-tips.vue.js.map +1 -0
- package/lib/components/tooltip/components/summary.vue.d.ts +11 -0
- package/lib/components/tooltip/components/summary.vue.js +73 -0
- package/lib/components/tooltip/components/summary.vue.js.map +1 -0
- package/lib/components/tooltip/custom-tooltip.d.ts +6 -0
- package/lib/components/tooltip/custom-tooltip.js +41 -0
- package/lib/components/tooltip/custom-tooltip.js.map +1 -0
- package/lib/components/tooltip/index.vue.d.ts +13 -0
- package/lib/components/tooltip/index.vue.js +127 -0
- package/lib/components/tooltip/index.vue.js.map +1 -0
- package/lib/components/tooltip/interface.d.ts +8 -0
- package/lib/components/tooltip/interface.js +3 -0
- package/lib/components/tooltip/interface.js.map +1 -0
- package/lib/hooks/useEvents.d.ts +4 -0
- package/lib/hooks/useEvents.js +129 -0
- package/lib/hooks/useEvents.js.map +1 -0
- package/lib/hooks/useExpose.d.ts +5 -0
- package/lib/hooks/useExpose.js +15 -0
- package/lib/hooks/useExpose.js.map +1 -0
- package/lib/hooks/useLoading.d.ts +6 -0
- package/lib/hooks/useLoading.js +22 -0
- package/lib/hooks/useLoading.js.map +1 -0
- package/lib/hooks/usePagination.d.ts +70 -0
- package/lib/hooks/usePagination.js +72 -0
- package/lib/hooks/usePagination.js.map +1 -0
- package/lib/hooks/useResize.d.ts +7 -0
- package/lib/hooks/useResize.js +24 -0
- package/lib/hooks/useResize.js.map +1 -0
- package/lib/hooks/useSheetUpdate.d.ts +13 -0
- package/lib/hooks/useSheetUpdate.js +60 -0
- package/lib/hooks/useSheetUpdate.js.map +1 -0
- package/lib/hooks/useSpreadSheet.d.ts +75 -0
- package/lib/hooks/useSpreadSheet.js +64 -0
- package/lib/hooks/useSpreadSheet.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +8 -3362
- package/lib/index.js.map +1 -1
- package/lib/interface.d.ts +47 -0
- package/lib/interface.js +3 -0
- package/lib/interface.js.map +1 -0
- package/lib/svg/calendar-icon.svg +13 -0
- package/lib/svg/location-icon.svg +13 -0
- package/lib/svg/text-icon.svg +13 -0
- package/lib/utils/extendLocale.d.ts +1 -0
- package/lib/utils/extendLocale.js +5 -0
- package/lib/utils/extendLocale.js.map +1 -0
- package/lib/utils/initPropAndEmits.d.ts +204 -0
- package/lib/utils/initPropAndEmits.js +165 -0
- package/lib/utils/initPropAndEmits.js.map +1 -0
- package/lib/utils/options.d.ts +2 -0
- package/lib/utils/options.js +8 -0
- package/lib/utils/options.js.map +1 -0
- package/package.json +65 -57
- package/dist/index.min.js +0 -2
- package/dist/index.min.js.map +0 -1
- package/dist/style.min.css +0 -1
- package/esm/style.css +0 -393
- package/lib/style.css +0 -393
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useSheetUpdate = void 0;
|
|
4
|
+
const vue_1 = require("vue");
|
|
5
|
+
/**
|
|
6
|
+
* props 会将所有属性用 shallowReactive 包裹起来:
|
|
7
|
+
* 1. 如果是对 dataCfg 或者 options 直接替换, 那么只需要简单的通过 ()=> props.dataCfg 这种 getter 就能监听到
|
|
8
|
+
* 2. 如果 dataCfg 任然是 reactive 数据,那么就存在直接修改了其中某一个属性的情况,这个时候就需要对所有的属性遍历来关联 watch 属性
|
|
9
|
+
* ? 如果数量特别多时,遍历可能存在性能问题,先暂时观察一下
|
|
10
|
+
*/
|
|
11
|
+
const useSheetUpdate = (s2Ref, props, hooks) => {
|
|
12
|
+
const updateFlag = (0, vue_1.reactive)({
|
|
13
|
+
rerender: false,
|
|
14
|
+
reloadData: false,
|
|
15
|
+
rebuildDataset: false,
|
|
16
|
+
});
|
|
17
|
+
(0, vue_1.watch)(() => props.options, (options, prevOptions) => {
|
|
18
|
+
updateFlag.rerender = true;
|
|
19
|
+
if (!Object.is(prevOptions?.hierarchyType, options?.hierarchyType)) {
|
|
20
|
+
updateFlag.reloadData = true;
|
|
21
|
+
updateFlag.rebuildDataset = true;
|
|
22
|
+
}
|
|
23
|
+
s2Ref.value?.setOptions(options);
|
|
24
|
+
s2Ref.value?.changeSheetSize(options?.width, options?.height);
|
|
25
|
+
}, { deep: (0, vue_1.isProxy)(props.options) });
|
|
26
|
+
(0, vue_1.watch)(() => props.dataCfg, (dataCfg, prevDataCfg) => {
|
|
27
|
+
if (prevDataCfg?.fields?.columns?.length !==
|
|
28
|
+
dataCfg?.fields?.columns?.length) {
|
|
29
|
+
s2Ref.value?.facet?.clearInitColLeafNodes();
|
|
30
|
+
}
|
|
31
|
+
updateFlag.rerender = true;
|
|
32
|
+
updateFlag.reloadData = true;
|
|
33
|
+
s2Ref.value?.setDataCfg(dataCfg);
|
|
34
|
+
}, { deep: (0, vue_1.isProxy)(props.dataCfg) });
|
|
35
|
+
(0, vue_1.watch)(() => props.themeCfg, (themeCfg) => {
|
|
36
|
+
updateFlag.rerender = true;
|
|
37
|
+
s2Ref.value?.setThemeCfg(themeCfg);
|
|
38
|
+
}, {
|
|
39
|
+
deep: (0, vue_1.isProxy)(props.themeCfg),
|
|
40
|
+
});
|
|
41
|
+
(0, vue_1.watch)(updateFlag, async (flag) => {
|
|
42
|
+
if (!flag.rerender) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
hooks?.before?.();
|
|
46
|
+
const defaultRenderOptions = {
|
|
47
|
+
reloadData: flag.reloadData,
|
|
48
|
+
rebuildDataSet: flag.rebuildDataset,
|
|
49
|
+
};
|
|
50
|
+
const renderOptions = props?.onUpdate?.(defaultRenderOptions) || defaultRenderOptions;
|
|
51
|
+
await s2Ref.value?.render(renderOptions);
|
|
52
|
+
props?.onUpdateAfterRender?.(renderOptions);
|
|
53
|
+
hooks?.after?.();
|
|
54
|
+
flag.rerender = false;
|
|
55
|
+
flag.reloadData = false;
|
|
56
|
+
flag.rebuildDataset = false;
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
exports.useSheetUpdate = useSheetUpdate;
|
|
60
|
+
//# sourceMappingURL=useSheetUpdate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSheetUpdate.js","sourceRoot":"","sources":["../../src/hooks/useSheetUpdate.ts"],"names":[],"mappings":";;;AACA,6BAAgE;AAGhE;;;;;GAKG;AACI,MAAM,cAAc,GAAG,CAC5B,KAA0C,EAC1C,KAAqB,EACrB,KAAkD,EAClD,EAAE;IACF,MAAM,UAAU,GAAG,IAAA,cAAQ,EAAC;QAC1B,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,KAAK;KACtB,CAAC,CAAC;IAEH,IAAA,WAAK,EACH,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EACnB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE;QACvB,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;YACnE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;YAC7B,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,OAAoB,CAAC,CAAC;QAC9C,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC,EACD,EAAE,IAAI,EAAE,IAAA,aAAO,EAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CACjC,CAAC;IAEF,IAAA,WAAK,EACH,GAAG,EAAE,CAAC,KAAK,CAAC,OAAQ,EACpB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE;QACvB,IACE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;YACpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAChC,CAAC;YACD,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QAC9C,CAAC;QAED,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7B,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,EACD,EAAE,IAAI,EAAE,IAAA,aAAO,EAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CACjC,CAAC;IAEF,IAAA,WAAK,EACH,GAAG,EAAE,CAAC,KAAK,CAAC,QAAS,EACrB,CAAC,QAAQ,EAAE,EAAE;QACX,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,EACD;QACE,IAAI,EAAE,IAAA,aAAO,EAAC,KAAK,CAAC,QAAQ,CAAC;KAC9B,CACF,CAAC;IAEF,IAAA,WAAK,EAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;QAElB,MAAM,oBAAoB,GAAG;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;QACF,MAAM,aAAa,GACjB,KAAK,EAAE,QAAQ,EAAE,CAAC,oBAAoB,CAAC,IAAI,oBAAoB,CAAC;QAElE,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAEzC,KAAK,EAAE,mBAAmB,EAAE,CAAC,aAAa,CAAC,CAAC;QAE5C,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA9EW,QAAA,cAAc,kBA8EzB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type SpreadSheet } from '@antv/s2';
|
|
2
|
+
import type { BaseSheetInitEmits, EmitFn } from '../interface';
|
|
3
|
+
import type { BaseSheetProps } from '../utils/initPropAndEmits';
|
|
4
|
+
export declare function useSpreadSheet(props: BaseSheetProps, emit: EmitFn<BaseSheetInitEmits>): {
|
|
5
|
+
wrapperRef: import("vue").Ref<HTMLDivElement>;
|
|
6
|
+
containerRef: import("vue").Ref<HTMLDivElement>;
|
|
7
|
+
s2Ref: import("vue").ShallowRef<SpreadSheet>;
|
|
8
|
+
loading: import("vue").Ref<boolean>;
|
|
9
|
+
setLoading: (updated: boolean) => void;
|
|
10
|
+
pagination: {
|
|
11
|
+
customOptions: import("lodash").Omit<import("@antv/s2").Pagination & Partial<import("vue").ExtractPropTypes<{
|
|
12
|
+
total: NumberConstructor;
|
|
13
|
+
defaultCurrent: NumberConstructor;
|
|
14
|
+
disabled: {
|
|
15
|
+
type: BooleanConstructor;
|
|
16
|
+
default: any;
|
|
17
|
+
};
|
|
18
|
+
current: NumberConstructor;
|
|
19
|
+
defaultPageSize: NumberConstructor;
|
|
20
|
+
pageSize: NumberConstructor;
|
|
21
|
+
hideOnSinglePage: {
|
|
22
|
+
type: BooleanConstructor;
|
|
23
|
+
default: any;
|
|
24
|
+
};
|
|
25
|
+
showSizeChanger: {
|
|
26
|
+
type: BooleanConstructor;
|
|
27
|
+
default: any;
|
|
28
|
+
};
|
|
29
|
+
pageSizeOptions: import("vue").PropType<(string | number)[]>;
|
|
30
|
+
buildOptionText: import("vue").PropType<(opt: {
|
|
31
|
+
value: any;
|
|
32
|
+
}) => any>;
|
|
33
|
+
showQuickJumper: {
|
|
34
|
+
type: import("vue").PropType<boolean | {
|
|
35
|
+
goButton?: any;
|
|
36
|
+
}>;
|
|
37
|
+
default: boolean | {
|
|
38
|
+
goButton?: any;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
showTotal: import("vue").PropType<(total: number, range: [number, number]) => any>;
|
|
42
|
+
size: import("vue").PropType<"small" | "default">;
|
|
43
|
+
simple: {
|
|
44
|
+
type: BooleanConstructor;
|
|
45
|
+
default: any;
|
|
46
|
+
};
|
|
47
|
+
locale: ObjectConstructor;
|
|
48
|
+
prefixCls: StringConstructor;
|
|
49
|
+
selectPrefixCls: StringConstructor;
|
|
50
|
+
totalBoundaryShowSizeChanger: NumberConstructor;
|
|
51
|
+
selectComponentClass: StringConstructor;
|
|
52
|
+
itemRender: import("vue").PropType<(opt: {
|
|
53
|
+
page: number;
|
|
54
|
+
type: "page" | "prev" | "next" | "jump-prev" | "jump-next";
|
|
55
|
+
originalElement: any;
|
|
56
|
+
}) => any>;
|
|
57
|
+
role: StringConstructor;
|
|
58
|
+
responsive: BooleanConstructor;
|
|
59
|
+
showLessItems: {
|
|
60
|
+
type: BooleanConstructor;
|
|
61
|
+
default: any;
|
|
62
|
+
};
|
|
63
|
+
onChange: import("vue").PropType<(page: number, pageSize: number) => void>;
|
|
64
|
+
onShowSizeChange: import("vue").PropType<(current: number, size: number) => void>;
|
|
65
|
+
'onUpdate:current': import("vue").PropType<(current: number) => void>;
|
|
66
|
+
'onUpdate:pageSize': import("vue").PropType<(size: number) => void>;
|
|
67
|
+
}>>, "total" | "current" | "pageSize">;
|
|
68
|
+
visible: import("vue").ComputedRef<boolean>;
|
|
69
|
+
current: import("vue").Ref<number>;
|
|
70
|
+
pageSize: import("vue").Ref<number>;
|
|
71
|
+
total: import("vue").Ref<number>;
|
|
72
|
+
change: (nextCurrent: number) => void;
|
|
73
|
+
showSizeChange: (nextPageSize: number) => void;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useSpreadSheet = void 0;
|
|
4
|
+
const s2_1 = require("@antv/s2");
|
|
5
|
+
const vue_1 = require("vue");
|
|
6
|
+
const options_1 = require("../utils/options");
|
|
7
|
+
const useEvents_1 = require("./useEvents");
|
|
8
|
+
const useLoading_1 = require("./useLoading");
|
|
9
|
+
const usePagination_1 = require("./usePagination");
|
|
10
|
+
const useResize_1 = require("./useResize");
|
|
11
|
+
const useSheetUpdate_1 = require("./useSheetUpdate");
|
|
12
|
+
function useSpreadSheet(props, emit) {
|
|
13
|
+
const { dataCfg, options, themeCfg, loading: loadingProps, sheetType, spreadsheet: customSpreadSheet, onMounted: onS2Mounted, } = props;
|
|
14
|
+
const wrapperRef = (0, vue_1.ref)();
|
|
15
|
+
const containerRef = (0, vue_1.ref)();
|
|
16
|
+
const s2Ref = (0, vue_1.shallowRef)();
|
|
17
|
+
const { loading, setLoading } = (0, useLoading_1.useLoading)(s2Ref, loadingProps);
|
|
18
|
+
const pagination = (0, usePagination_1.usePagination)(s2Ref, props);
|
|
19
|
+
const renderSpreadSheet = (container) => {
|
|
20
|
+
const rawDataCfg = (0, vue_1.toRaw)(dataCfg);
|
|
21
|
+
const rawOptions = (0, vue_1.toRaw)(options);
|
|
22
|
+
const s2Options = (0, options_1.getSheetComponentOptions)(rawOptions);
|
|
23
|
+
if (customSpreadSheet) {
|
|
24
|
+
return customSpreadSheet(container, rawDataCfg, s2Options);
|
|
25
|
+
}
|
|
26
|
+
if (sheetType === 'table' || sheetType === 'editable') {
|
|
27
|
+
return new s2_1.TableSheet(container, rawDataCfg, s2Options);
|
|
28
|
+
}
|
|
29
|
+
return new s2_1.PivotSheet(container, rawDataCfg, s2Options);
|
|
30
|
+
};
|
|
31
|
+
const buildSpreadSheet = async () => {
|
|
32
|
+
setLoading(true);
|
|
33
|
+
s2Ref.value = renderSpreadSheet(containerRef.value);
|
|
34
|
+
s2Ref.value.setThemeCfg((0, vue_1.toRaw)(themeCfg));
|
|
35
|
+
await s2Ref.value.render();
|
|
36
|
+
setLoading(false);
|
|
37
|
+
onS2Mounted?.(s2Ref.value);
|
|
38
|
+
};
|
|
39
|
+
(0, vue_1.onMounted)(buildSpreadSheet);
|
|
40
|
+
(0, useEvents_1.useEvents)(s2Ref, emit);
|
|
41
|
+
(0, useSheetUpdate_1.useSheetUpdate)(s2Ref, props, {
|
|
42
|
+
before() {
|
|
43
|
+
setLoading(true);
|
|
44
|
+
},
|
|
45
|
+
after() {
|
|
46
|
+
setLoading(false);
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
(0, useResize_1.useResize)(s2Ref, props, { wrapperRef, containerRef });
|
|
50
|
+
(0, vue_1.onBeforeUnmount)(() => {
|
|
51
|
+
setLoading(false);
|
|
52
|
+
s2Ref.value?.destroy();
|
|
53
|
+
});
|
|
54
|
+
return {
|
|
55
|
+
wrapperRef,
|
|
56
|
+
containerRef,
|
|
57
|
+
s2Ref,
|
|
58
|
+
loading,
|
|
59
|
+
setLoading,
|
|
60
|
+
pagination,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
exports.useSpreadSheet = useSpreadSheet;
|
|
64
|
+
//# sourceMappingURL=useSpreadSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSpreadSheet.js","sourceRoot":"","sources":["../../src/hooks/useSpreadSheet.ts"],"names":[],"mappings":";;;AAAA,iCAKkB;AAClB,6BAAyE;AAGzE,8CAA4D;AAC5D,2CAAwC;AACxC,6CAA0C;AAC1C,mDAAgD;AAChD,2CAAwC;AACxC,qDAAkD;AAElD,SAAgB,cAAc,CAC5B,KAAqB,EACrB,IAAgC;IAEhC,MAAM,EACJ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,OAAO,EAAE,YAAY,EACrB,SAAS,EACT,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EAAE,WAAW,GACvB,GAAG,KAAK,CAAC;IACV,MAAM,UAAU,GAAG,IAAA,SAAG,GAAkB,CAAC;IACzC,MAAM,YAAY,GAAG,IAAA,SAAG,GAAkB,CAAC;IAE3C,MAAM,KAAK,GAAG,IAAA,gBAAU,GAAe,CAAC;IAExC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAA,uBAAU,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE/C,MAAM,iBAAiB,GAAG,CAAC,SAAyB,EAAE,EAAE;QACtD,MAAM,UAAU,GAAG,IAAA,WAAK,EAAC,OAAQ,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,IAAA,WAAK,EAAC,OAAO,CAAC,CAAC;QAElC,MAAM,SAAS,GAAG,IAAA,kCAAwB,EAAC,UAAuB,CAAC,CAAC;QAEpE,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YACtD,OAAO,IAAI,eAAU,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,eAAU,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,KAAK,GAAG,iBAAiB,CAAC,YAAY,CAAC,KAAM,CAAC,CAAC;QACrD,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAA,WAAK,EAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAE3B,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,IAAA,eAAS,EAAC,gBAAgB,CAAC,CAAC;IAC5B,IAAA,qBAAS,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvB,IAAA,+BAAc,EAAC,KAAK,EAAE,KAAK,EAAE;QAC3B,MAAM;YACJ,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,KAAK;YACH,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;KACF,CAAC,CAAC;IACH,IAAA,qBAAS,EAAC,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;IAEtD,IAAA,qBAAe,EAAC,GAAG,EAAE;QACnB,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,UAAU;QACV,YAAY;QACZ,KAAK;QACL,OAAO;QACP,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC;AAzED,wCAyEC"}
|
package/lib/index.d.ts
ADDED