@visactor/openinula-vtable 0.21.3-alpha.1
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/README.md +93 -0
- package/cjs/components/base-component.d.ts +9 -0
- package/cjs/components/base-component.js +54 -0
- package/cjs/components/base-component.js.map +1 -0
- package/cjs/components/component/menu.d.ts +9 -0
- package/cjs/components/component/menu.js +10 -0
- package/cjs/components/component/menu.js.map +1 -0
- package/cjs/components/component/tooltip.d.ts +7 -0
- package/cjs/components/component/tooltip.js +10 -0
- package/cjs/components/component/tooltip.js.map +1 -0
- package/cjs/components/index.js +79 -0
- package/cjs/components/index.js.map +1 -0
- package/cjs/components/list/list-column.d.ts +4 -0
- package/cjs/components/list/list-column.js +10 -0
- package/cjs/components/list/list-column.js.map +1 -0
- package/cjs/components/pivot/pivot-corner.d.ts +4 -0
- package/cjs/components/pivot/pivot-corner.js +10 -0
- package/cjs/components/pivot/pivot-corner.js.map +1 -0
- package/cjs/components/pivot/pivot-dimension.d.ts +6 -0
- package/cjs/components/pivot/pivot-dimension.js +11 -0
- package/cjs/components/pivot/pivot-dimension.js.map +1 -0
- package/cjs/components/pivot/pivot-header-title.d.ts +5 -0
- package/cjs/components/pivot/pivot-header-title.js +11 -0
- package/cjs/components/pivot/pivot-header-title.js.map +1 -0
- package/cjs/components/pivot/pivot-indicator.d.ts +4 -0
- package/cjs/components/pivot/pivot-indicator.js +10 -0
- package/cjs/components/pivot/pivot-indicator.js.map +1 -0
- package/cjs/constants.d.ts +1 -0
- package/cjs/constants.js +6 -0
- package/cjs/constants.js.map +1 -0
- package/cjs/containers/withContainer.js +64 -0
- package/cjs/containers/withContainer.js.map +1 -0
- package/cjs/context/table.d.ts +13 -0
- package/cjs/context/table.js +25 -0
- package/cjs/context/table.js.map +1 -0
- package/cjs/eventsUtils.d.ts +88 -0
- package/cjs/eventsUtils.js +72 -0
- package/cjs/eventsUtils.js.map +1 -0
- package/cjs/index.d.ts +5 -0
- package/cjs/index.js +38 -0
- package/cjs/index.js.map +1 -0
- package/cjs/tables/base-table.d.ts +21 -0
- package/cjs/tables/base-table.js +127 -0
- package/cjs/tables/base-table.js.map +1 -0
- package/cjs/tables/index.d.ts +3 -0
- package/cjs/tables/index.js +38 -0
- package/cjs/tables/index.js.map +1 -0
- package/cjs/tables/list-table.d.ts +9 -0
- package/cjs/tables/list-table.js +10 -0
- package/cjs/tables/list-table.js.map +1 -0
- package/cjs/tables/pivot-chart.d.ts +10 -0
- package/cjs/tables/pivot-chart.js +40 -0
- package/cjs/tables/pivot-chart.js.map +1 -0
- package/cjs/tables/pivot-table.d.ts +9 -0
- package/cjs/tables/pivot-table.js +10 -0
- package/cjs/tables/pivot-table.js.map +1 -0
- package/cjs/util.d.ts +9 -0
- package/cjs/util.js +75 -0
- package/cjs/util.js.map +1 -0
- package/es/components/base-component.d.ts +9 -0
- package/es/components/base-component.js +25 -0
- package/es/components/base-component.js.map +1 -0
- package/es/components/component/menu.d.ts +9 -0
- package/es/components/component/menu.js +4 -0
- package/es/components/component/menu.js.map +1 -0
- package/es/components/component/tooltip.d.ts +7 -0
- package/es/components/component/tooltip.js +4 -0
- package/es/components/component/tooltip.js.map +1 -0
- package/es/components/index.js +14 -0
- package/es/components/index.js.map +1 -0
- package/es/components/list/list-column.d.ts +4 -0
- package/es/components/list/list-column.js +4 -0
- package/es/components/list/list-column.js.map +1 -0
- package/es/components/pivot/pivot-corner.d.ts +4 -0
- package/es/components/pivot/pivot-corner.js +4 -0
- package/es/components/pivot/pivot-corner.js.map +1 -0
- package/es/components/pivot/pivot-dimension.d.ts +6 -0
- package/es/components/pivot/pivot-dimension.js +6 -0
- package/es/components/pivot/pivot-dimension.js.map +1 -0
- package/es/components/pivot/pivot-header-title.d.ts +5 -0
- package/es/components/pivot/pivot-header-title.js +6 -0
- package/es/components/pivot/pivot-header-title.js.map +1 -0
- package/es/components/pivot/pivot-indicator.d.ts +4 -0
- package/es/components/pivot/pivot-indicator.js +4 -0
- package/es/components/pivot/pivot-indicator.js.map +1 -0
- package/es/constants.d.ts +1 -0
- package/es/constants.js +2 -0
- package/es/constants.js.map +1 -0
- package/es/containers/withContainer.js +33 -0
- package/es/containers/withContainer.js.map +1 -0
- package/es/context/table.d.ts +13 -0
- package/es/context/table.js +16 -0
- package/es/context/table.js.map +1 -0
- package/es/eventsUtils.d.ts +88 -0
- package/es/eventsUtils.js +65 -0
- package/es/eventsUtils.js.map +1 -0
- package/es/index.d.ts +5 -0
- package/es/index.js +10 -0
- package/es/index.js.map +1 -0
- package/es/tables/base-table.d.ts +21 -0
- package/es/tables/base-table.js +103 -0
- package/es/tables/base-table.js.map +1 -0
- package/es/tables/index.d.ts +3 -0
- package/es/tables/index.js +6 -0
- package/es/tables/index.js.map +1 -0
- package/es/tables/list-table.d.ts +9 -0
- package/es/tables/list-table.js +4 -0
- package/es/tables/list-table.js.map +1 -0
- package/es/tables/pivot-chart.d.ts +10 -0
- package/es/tables/pivot-chart.js +10 -0
- package/es/tables/pivot-chart.js.map +1 -0
- package/es/tables/pivot-table.d.ts +9 -0
- package/es/tables/pivot-table.js +4 -0
- package/es/tables/pivot-table.js.map +1 -0
- package/es/util.d.ts +9 -0
- package/es/util.js +33 -0
- package/es/util.js.map +1 -0
- package/package.json +93 -0
package/README.md
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="" target="_blank">
|
|
3
|
+
<img alt="VisActor Logo" width="200" src="https://github.com/VisActor/.github/blob/main/profile/500_200.svg"/>
|
|
4
|
+
</a>
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
<div align="center">
|
|
8
|
+
<h1>React-VTable</h1>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
<div align="center">
|
|
12
|
+
|
|
13
|
+
VTable is not just a high-performance multidimensional data analysis table, but also a grid artist that creates art between rows and columns.React-VTable is a React wrapper of VTable.
|
|
14
|
+
|
|
15
|
+
[](https://www.npmjs.com/package/@visactor/react-vtable)
|
|
16
|
+
[](https://www.npmjs.com/package/@visactor/react-vvtable)
|
|
17
|
+
[](https://github.com/visactor/vtable/blob/main/LICENSE)
|
|
18
|
+
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
# Usage
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
|
|
25
|
+
[npm package](https://www.npmjs.com/package/@visactor/react-vtable)
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
// npm
|
|
29
|
+
npm install @visactor/react-vtable
|
|
30
|
+
|
|
31
|
+
// yarn
|
|
32
|
+
yarn add @visactor/react-vtable
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Quick Start
|
|
36
|
+
|
|
37
|
+
```jsx
|
|
38
|
+
import React from 'react';
|
|
39
|
+
import ReactDOM from 'react-dom/client';
|
|
40
|
+
import { ListTable } from "@visactor/react-vtable";
|
|
41
|
+
|
|
42
|
+
const option = {
|
|
43
|
+
header: [
|
|
44
|
+
{
|
|
45
|
+
field: "0",
|
|
46
|
+
caption: "name",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
field: "1",
|
|
50
|
+
caption: "age",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
field: "2",
|
|
54
|
+
caption: "gender",
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
field: "3",
|
|
58
|
+
caption: "hobby",
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
records: new Array(1000).fill(["John", 18, "male", "🏀"]),
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
|
|
65
|
+
<ListTable option={option} height={'500px'}/>
|
|
66
|
+
);
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
##
|
|
70
|
+
|
|
71
|
+
[More demos and detailed tutorials](https://visactor.io/vtable)
|
|
72
|
+
|
|
73
|
+
# Related Links
|
|
74
|
+
|
|
75
|
+
- [Official website](https://visactor.io/vtable)
|
|
76
|
+
|
|
77
|
+
# Ecosystem
|
|
78
|
+
|
|
79
|
+
| Project | Description |
|
|
80
|
+
| ----------------------------------------------------------- | -------------------------------------------------------------------------------------- |
|
|
81
|
+
| [AI-generated Components](https://visactor.io/ai-vtable) | AI-generated table component. |
|
|
82
|
+
|
|
83
|
+
# Contribution
|
|
84
|
+
|
|
85
|
+
If you would like to contribute, please read the [Code of Conduct ](./CODE_OF_CONDUCT.md) 和 [ Guide](./CONTRIBUTING.zh-CN.md) first。
|
|
86
|
+
|
|
87
|
+
Small streams converge to make great rivers and seas!
|
|
88
|
+
|
|
89
|
+
<a href="https://github.com/visactor/vtable/graphs/contributors"><img src="https://contrib.rocks/image?repo=visactor/vtable" /></a>
|
|
90
|
+
|
|
91
|
+
# License
|
|
92
|
+
|
|
93
|
+
[MIT License](./LICENSE)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface BaseComponentProps {
|
|
2
|
+
id?: string | number;
|
|
3
|
+
}
|
|
4
|
+
type ComponentProps = BaseComponentProps & {
|
|
5
|
+
updateId?: number;
|
|
6
|
+
componentId?: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const createComponent: <T extends ComponentProps>(componentName: string, optionName: string, supportedEvents?: Record<string, string> | null, isSingle?: boolean) => React.FC<T>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
4
|
+
void 0 === k2 && (k2 = k);
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
7
|
+
enumerable: !0,
|
|
8
|
+
get: function() {
|
|
9
|
+
return m[k];
|
|
10
|
+
}
|
|
11
|
+
}), Object.defineProperty(o, k2, desc);
|
|
12
|
+
} : function(o, m, k, k2) {
|
|
13
|
+
void 0 === k2 && (k2 = k), o[k2] = m[k];
|
|
14
|
+
}), __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", {
|
|
16
|
+
enumerable: !0,
|
|
17
|
+
value: v
|
|
18
|
+
});
|
|
19
|
+
} : function(o, v) {
|
|
20
|
+
o.default = v;
|
|
21
|
+
}), __importStar = this && this.__importStar || function(mod) {
|
|
22
|
+
if (mod && mod.__esModule) return mod;
|
|
23
|
+
var result = {};
|
|
24
|
+
if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
25
|
+
return __setModuleDefault(result, mod), result;
|
|
26
|
+
}, __importDefault = this && this.__importDefault || function(mod) {
|
|
27
|
+
return mod && mod.__esModule ? mod : {
|
|
28
|
+
default: mod
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
Object.defineProperty(exports, "__esModule", {
|
|
33
|
+
value: !0
|
|
34
|
+
}), exports.createComponent = void 0;
|
|
35
|
+
|
|
36
|
+
const openinula_1 = __importStar(require("openinula")), vutils_1 = require("@visactor/vutils"), table_1 = __importDefault(require("../context/table")), eventsUtils_1 = require("../eventsUtils"), createComponent = (componentName, optionName, supportedEvents, isSingle) => {
|
|
37
|
+
const ignoreKeys = [ "id", "updateId", "componentId" ], notOptionKeys = supportedEvents ? Object.keys(supportedEvents).concat(ignoreKeys) : ignoreKeys, Comp = props => {
|
|
38
|
+
const context = (0, openinula_1.useContext)(table_1.default), eventsBinded = openinula_1.default.useRef(null), updateId = openinula_1.default.useRef(props.updateId);
|
|
39
|
+
if (props.updateId !== updateId.current) {
|
|
40
|
+
updateId.current = props.updateId;
|
|
41
|
+
!!supportedEvents && (0, eventsUtils_1.bindEventsToTable)(context.table, props, eventsBinded.current, supportedEvents) && (eventsBinded.current = props);
|
|
42
|
+
}
|
|
43
|
+
return (0, openinula_1.useEffect)((() => () => {
|
|
44
|
+
supportedEvents && (0, eventsUtils_1.bindEventsToTable)(context.table, null, eventsBinded.current, supportedEvents);
|
|
45
|
+
}), []), null;
|
|
46
|
+
};
|
|
47
|
+
return Comp.displayName = componentName, Comp.parseOption = props => ({
|
|
48
|
+
option: (0, vutils_1.pickWithout)(props, notOptionKeys),
|
|
49
|
+
optionName: optionName,
|
|
50
|
+
isSingle: isSingle
|
|
51
|
+
}), Comp;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
exports.createComponent = createComponent;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/base-component.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAyD;AACzD,6CAA+D;AAG/D,6DAAgD;AAChD,gDAAmD;AAS5C,MAAM,eAAe,GAAG,CAC7B,aAAqB,EACrB,UAAkB,EAClB,eAA+C,EAC/C,QAAkB,EAClB,EAAE;IACF,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAErG,MAAM,IAAI,GAAgB,CAAC,KAAQ,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,IAAA,sBAAU,EAAC,eAAgB,CAAC,CAAC;QAG7C,MAAM,YAAY,GAAG,mBAAK,CAAC,MAAM,CAAI,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,mBAAK,CAAC,MAAM,CAAS,KAAK,CAAC,QAAQ,CAAC,CAAC;QAGtD,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO,EAAE;YAEvC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;YAGlC,MAAM,mBAAmB,GAAG,eAAe;gBACzC,CAAC,CAAC,IAAA,+BAAiB,EAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC;gBAChF,CAAC,CAAC,KAAK,CAAC;YACV,IAAI,mBAAmB,EAAE;gBACvB,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;aAC9B;SAQF;QAED,IAAA,qBAAS,EAAC,GAAG,EAAE;YACb,OAAO,GAAG,EAAE;gBACV,IAAI,eAAe,EAAE;oBACnB,IAAA,+BAAiB,EAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;iBAC/E;YAEH,CAAC,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;IAEhC,IAAY,CAAC,WAAW,GAAG,CAAC,KAAsD,EAAE,EAAE;QACrF,MAAM,kBAAkB,GAAe,IAAA,oBAAW,EAAI,KAAK,EAAE,aAAa,CAAC,CAAC;QAE5E,OAAO;YACL,MAAM,EAAE,kBAAkB;YAC1B,UAAU;YACV,QAAQ;SACT,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA9DW,QAAA,eAAe,mBA8D1B","file":"base-component.js","sourcesContent":["import React, { useContext, useEffect } from 'openinula';\nimport { isEqual, isNil, pickWithout } from '@visactor/vutils';\n\nimport type { TableContextType } from '../context/table';\nimport RootTableContext from '../context/table';\nimport { bindEventsToTable } from '../eventsUtils';\nimport { uid } from '../util';\n\nexport interface BaseComponentProps {\n id?: string | number;\n}\n\ntype ComponentProps = BaseComponentProps & { updateId?: number; componentId?: number };\n\nexport const createComponent = <T extends ComponentProps>(\n componentName: string,\n optionName: string,\n supportedEvents?: Record<string, string> | null,\n isSingle?: boolean\n) => {\n const ignoreKeys = ['id', 'updateId', 'componentId'];\n const notOptionKeys = supportedEvents ? Object.keys(supportedEvents).concat(ignoreKeys) : ignoreKeys;\n\n const Comp: React.FC<T> = (props: T) => {\n const context = useContext(RootTableContext);\n // const id = React.useRef<string | number>(isNil(props.id) ? uid(optionName) : props.id);\n\n const eventsBinded = React.useRef<T>(null);\n const updateId = React.useRef<number>(props.updateId);\n // const componentOption = React.useRef<Partial<T>>();\n\n if (props.updateId !== updateId.current) {\n // update triggered by table when table is rendered\n updateId.current = props.updateId;\n\n // rebind events after table render\n const hasPrevEventsBinded = supportedEvents\n ? bindEventsToTable(context.table, props, eventsBinded.current, supportedEvents)\n : false;\n if (hasPrevEventsBinded) {\n eventsBinded.current = props;\n }\n // } else {\n // const newComponentOption: Partial<T> = pickWithout<T>(props, notOptionKeys);\n\n // if (!isEqual(newComponentOption, componentOption.current)) {\n // componentOption.current = newComponentOption;\n // updateToContext(context, id.current, optionName, isSingle, newComponentOption);\n // }\n }\n\n useEffect(() => {\n return () => {\n if (supportedEvents) {\n bindEventsToTable(context.table, null, eventsBinded.current, supportedEvents);\n }\n // deleteToContext(context, id.current, optionName, isSingle);\n };\n }, []);\n\n return null;\n };\n\n Comp.displayName = componentName;\n\n (Comp as any).parseOption = (props: T & { updateId?: number; componentId?: string }) => {\n const newComponentOption: Partial<T> = pickWithout<T>(props, notOptionKeys);\n\n return {\n option: newComponentOption,\n optionName,\n isSingle\n };\n };\n\n return Comp;\n};\n\n// const updateToContext = (\n// context: TableContextType,\n// id: string | number,\n// optionName: string,\n// isSingle: boolean,\n// props: Partial<ComponentProps>\n// ) => {\n// if (!context.optionFromChildren) {\n// return;\n// }\n\n// if (isSingle) {\n// context.optionFromChildren[optionName] = { ...props };\n// } else {\n// if (!context.optionFromChildren[optionName]) {\n// context.optionFromChildren[optionName] = [];\n// }\n\n// const comps = context.optionFromChildren[optionName];\n// const index = comps.findIndex((entry: any) => entry.id === id);\n\n// if (index >= 0) {\n// comps[index] = {\n// id,\n// ...props\n// };\n// } else {\n// context.optionFromChildren[optionName].push({\n// id,\n// ...props\n// });\n// }\n// }\n// context.isChildrenUpdated = true;\n// };\n\n// const deleteToContext = (context: TableContextType, id: string | number, optionName: string, isSingle: boolean) => {\n// if (!context.optionFromChildren) {\n// return;\n// }\n\n// if (isSingle) {\n// context.optionFromChildren[optionName] = null;\n// } else {\n// const comps = context.optionFromChildren[optionName] ?? [];\n// const index = comps.findIndex((entry: any) => entry.id === id);\n\n// if (index >= 0) {\n// const newComps = comps.slice(0, index - 1).concat(comps.slice(index + 1));\n\n// context.optionFromChildren[optionName] = newComps;\n// context.isChildrenUpdated = true;\n// }\n// }\n// };\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { BaseComponentProps } from '../base-component';
|
|
2
|
+
import type { TYPES } from '@visactor/vtable';
|
|
3
|
+
export type MenuProps = {
|
|
4
|
+
renderMode?: 'canvas' | 'html';
|
|
5
|
+
defaultHeaderMenuItems?: TYPES.MenuListItem[];
|
|
6
|
+
contextMenuItems?: TYPES.MenuListItem[] | ((field: string, row: number, col: number) => TYPES.MenuListItem[]);
|
|
7
|
+
dropDownMenuHighlight?: TYPES.DropDownMenuHighlightInfo[];
|
|
8
|
+
} & BaseComponentProps;
|
|
9
|
+
export declare const Menu: React.FC<T>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.Menu = void 0;
|
|
6
|
+
|
|
7
|
+
const base_component_1 = require("../base-component");
|
|
8
|
+
|
|
9
|
+
exports.Menu = (0, base_component_1.createComponent)("Menu", "menu", void 0, !0);
|
|
10
|
+
//# sourceMappingURL=menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/component/menu.tsx"],"names":[],"mappings":";;;AACA,sDAAoD;AAcvC,QAAA,IAAI,GAAG,IAAA,gCAAe,EAAY,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC","file":"menu.js","sourcesContent":["import type { BaseComponentProps } from '../base-component';\nimport { createComponent } from '../base-component';\nimport type { TYPES } from '@visactor/vtable';\n\nexport type MenuProps = {\n /** 代替原来的option.menuType html目前实现较完整 先默认html渲染方式*/\n renderMode?: 'canvas' | 'html';\n /** 内置下拉菜单的全局设置项 目前只针对基本表格有效 会对每个表头单元格开启默认的下拉菜单功能。代替原来的option.dropDownMenu*/\n defaultHeaderMenuItems?: TYPES.MenuListItem[];\n /** 右键菜单。代替原来的option.contextmenu */\n contextMenuItems?: TYPES.MenuListItem[] | ((field: string, row: number, col: number) => TYPES.MenuListItem[]);\n /** 设置选中状态的菜单。代替原来的option.dropDownMenuHighlight */\n dropDownMenuHighlight?: TYPES.DropDownMenuHighlightInfo[];\n} & BaseComponentProps;\n\nexport const Menu = createComponent<MenuProps>('Menu', 'menu', undefined, true);\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.Tooltip = void 0;
|
|
6
|
+
|
|
7
|
+
const base_component_1 = require("../base-component");
|
|
8
|
+
|
|
9
|
+
exports.Tooltip = (0, base_component_1.createComponent)("Tooltip", "tooltip", void 0, !0);
|
|
10
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/component/tooltip.tsx"],"names":[],"mappings":";;;AACA,sDAAoD;AAWvC,QAAA,OAAO,GAAG,IAAA,gCAAe,EAAe,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC","file":"tooltip.js","sourcesContent":["import type { BaseComponentProps } from '../base-component';\nimport { createComponent } from '../base-component';\n\nexport type TooltipProps = {\n /** html目前实现较完整 先默认html渲染方式 */\n renderMode?: 'html'; // 目前暂不支持canvas方案\n /** 代替原来hover:isShowTooltip配置 暂时需要将renderMode配置为html才能显示,canvas的还未开发*/\n isShowOverflowTextTooltip?: boolean;\n /** 是否将 tooltip 框限制在画布区域内,默认开启。针对renderMode:\"html\"有效 */\n confine?: boolean;\n} & BaseComponentProps;\n\nexport const Tooltip = createComponent<TooltipProps>('Tooltip', 'tooltip', undefined, true);\n"]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.Tooltip = exports.Menu = exports.PivotCorner = exports.PivotRowHeaderTitle = exports.PivotColumnHeaderTitle = exports.PivotIndicator = exports.PivotRowDimension = exports.PivotColumnDimension = exports.ListColumn = void 0;
|
|
6
|
+
|
|
7
|
+
var list_column_1 = require("./list/list-column");
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "ListColumn", {
|
|
10
|
+
enumerable: !0,
|
|
11
|
+
get: function() {
|
|
12
|
+
return list_column_1.ListColumn;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
var pivot_dimension_1 = require("./pivot/pivot-dimension");
|
|
17
|
+
|
|
18
|
+
Object.defineProperty(exports, "PivotColumnDimension", {
|
|
19
|
+
enumerable: !0,
|
|
20
|
+
get: function() {
|
|
21
|
+
return pivot_dimension_1.PivotColumnDimension;
|
|
22
|
+
}
|
|
23
|
+
}), Object.defineProperty(exports, "PivotRowDimension", {
|
|
24
|
+
enumerable: !0,
|
|
25
|
+
get: function() {
|
|
26
|
+
return pivot_dimension_1.PivotRowDimension;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
var pivot_indicator_1 = require("./pivot/pivot-indicator");
|
|
31
|
+
|
|
32
|
+
Object.defineProperty(exports, "PivotIndicator", {
|
|
33
|
+
enumerable: !0,
|
|
34
|
+
get: function() {
|
|
35
|
+
return pivot_indicator_1.PivotIndicator;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
var pivot_header_title_1 = require("./pivot/pivot-header-title");
|
|
40
|
+
|
|
41
|
+
Object.defineProperty(exports, "PivotColumnHeaderTitle", {
|
|
42
|
+
enumerable: !0,
|
|
43
|
+
get: function() {
|
|
44
|
+
return pivot_header_title_1.PivotColumnHeaderTitle;
|
|
45
|
+
}
|
|
46
|
+
}), Object.defineProperty(exports, "PivotRowHeaderTitle", {
|
|
47
|
+
enumerable: !0,
|
|
48
|
+
get: function() {
|
|
49
|
+
return pivot_header_title_1.PivotRowHeaderTitle;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
var pivot_corner_1 = require("./pivot/pivot-corner");
|
|
54
|
+
|
|
55
|
+
Object.defineProperty(exports, "PivotCorner", {
|
|
56
|
+
enumerable: !0,
|
|
57
|
+
get: function() {
|
|
58
|
+
return pivot_corner_1.PivotCorner;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
var menu_1 = require("./component/menu");
|
|
63
|
+
|
|
64
|
+
Object.defineProperty(exports, "Menu", {
|
|
65
|
+
enumerable: !0,
|
|
66
|
+
get: function() {
|
|
67
|
+
return menu_1.Menu;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
var tooltip_1 = require("./component/tooltip");
|
|
72
|
+
|
|
73
|
+
Object.defineProperty(exports, "Tooltip", {
|
|
74
|
+
enumerable: !0,
|
|
75
|
+
get: function() {
|
|
76
|
+
return tooltip_1.Tooltip;
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/index.ts"],"names":[],"mappings":";;;AACA,kDAAgD;AAAvC,yGAAA,UAAU,OAAA;AACnB,2DAAkF;AAAzE,uHAAA,oBAAoB,OAAA;AAAE,oHAAA,iBAAiB,OAAA;AAChD,2DAAyD;AAAhD,iHAAA,cAAc,OAAA;AACvB,iEAAyF;AAAhF,4HAAA,sBAAsB,OAAA;AAAE,yHAAA,mBAAmB,OAAA;AACpD,qDAAmD;AAA1C,2GAAA,WAAW,OAAA;AACpB,yCAAwC;AAA/B,4FAAA,IAAI,OAAA;AACb,+CAA8C;AAArC,kGAAA,OAAO,OAAA","file":"index.js","sourcesContent":["import type React from 'openinula';\nexport { ListColumn } from './list/list-column';\nexport { PivotColumnDimension, PivotRowDimension } from './pivot/pivot-dimension';\nexport { PivotIndicator } from './pivot/pivot-indicator';\nexport { PivotColumnHeaderTitle, PivotRowHeaderTitle } from './pivot/pivot-header-title';\nexport { PivotCorner } from './pivot/pivot-corner';\nexport { Menu } from './component/menu';\nexport { Tooltip } from './component/tooltip';\n\ntype Props = { updateId?: number };\n\nexport interface IMarkElement extends React.ReactElement<Props, React.JSXElementConstructor<Props>> {\n id: string | number;\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.ListColumn = void 0;
|
|
6
|
+
|
|
7
|
+
const base_component_1 = require("../base-component");
|
|
8
|
+
|
|
9
|
+
exports.ListColumn = (0, base_component_1.createComponent)("ListColumn", "columns");
|
|
10
|
+
//# sourceMappingURL=list-column.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/list/list-column.tsx"],"names":[],"mappings":";;;AACA,sDAAoD;AAKvC,QAAA,UAAU,GAAG,IAAA,gCAAe,EAAkB,YAAY,EAAE,SAAS,CAAC,CAAC","file":"list-column.js","sourcesContent":["import type { BaseComponentProps } from '../base-component';\nimport { createComponent } from '../base-component';\nimport type { ColumnDefine } from '@visactor/vtable';\n\nexport type ListColumnProps = ColumnDefine & BaseComponentProps;\n\nexport const ListColumn = createComponent<ListColumnProps>('ListColumn', 'columns');\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.PivotCorner = void 0;
|
|
6
|
+
|
|
7
|
+
const base_component_1 = require("../base-component");
|
|
8
|
+
|
|
9
|
+
exports.PivotCorner = (0, base_component_1.createComponent)("PivotCorner", "corner", void 0, !0);
|
|
10
|
+
//# sourceMappingURL=pivot-corner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/pivot/pivot-corner.tsx"],"names":[],"mappings":";;;AACA,sDAAoD;AAKvC,QAAA,WAAW,GAAG,IAAA,gCAAe,EAAmB,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC","file":"pivot-corner.js","sourcesContent":["import type { BaseComponentProps } from '../base-component';\nimport { createComponent } from '../base-component';\nimport type { ICornerDefine } from '@visactor/vtable';\n\nexport type PivotCornerProps = ICornerDefine & BaseComponentProps;\n\nexport const PivotCorner = createComponent<PivotCornerProps>('PivotCorner', 'corner', undefined, true);\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BaseComponentProps } from '../base-component';
|
|
2
|
+
import type { IRowDimension, IColumnDimension } from '@visactor/vtable';
|
|
3
|
+
export type RowPivotDimensionProps = IRowDimension & BaseComponentProps;
|
|
4
|
+
export type ColumnPivotDimensionProps = IColumnDimension & BaseComponentProps;
|
|
5
|
+
export declare const PivotColumnDimension: React.FC<T>;
|
|
6
|
+
export declare const PivotRowDimension: React.FC<T>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.PivotRowDimension = exports.PivotColumnDimension = void 0;
|
|
6
|
+
|
|
7
|
+
const base_component_1 = require("../base-component");
|
|
8
|
+
|
|
9
|
+
exports.PivotColumnDimension = (0, base_component_1.createComponent)("PivotColumnDimension", "columns"),
|
|
10
|
+
exports.PivotRowDimension = (0, base_component_1.createComponent)("PivotRowDimension", "rows");
|
|
11
|
+
//# sourceMappingURL=pivot-dimension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/pivot/pivot-dimension.tsx"],"names":[],"mappings":";;;AACA,sDAAoD;AAMvC,QAAA,oBAAoB,GAAG,IAAA,gCAAe,EAA4B,sBAAsB,EAAE,SAAS,CAAC,CAAC;AACrG,QAAA,iBAAiB,GAAG,IAAA,gCAAe,EAAyB,mBAAmB,EAAE,MAAM,CAAC,CAAC","file":"pivot-dimension.js","sourcesContent":["import type { BaseComponentProps } from '../base-component';\nimport { createComponent } from '../base-component';\nimport type { IRowDimension, IColumnDimension } from '@visactor/vtable';\n\nexport type RowPivotDimensionProps = IRowDimension & BaseComponentProps;\nexport type ColumnPivotDimensionProps = IColumnDimension & BaseComponentProps;\n\nexport const PivotColumnDimension = createComponent<ColumnPivotDimensionProps>('PivotColumnDimension', 'columns');\nexport const PivotRowDimension = createComponent<RowPivotDimensionProps>('PivotRowDimension', 'rows');\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BaseComponentProps } from '../base-component';
|
|
2
|
+
import type { ITitleDefine } from '@visactor/vtable';
|
|
3
|
+
export type PivotHeaderTitleProps = ITitleDefine & BaseComponentProps;
|
|
4
|
+
export declare const PivotColumnHeaderTitle: React.FC<T>;
|
|
5
|
+
export declare const PivotRowHeaderTitle: React.FC<T>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.PivotRowHeaderTitle = exports.PivotColumnHeaderTitle = void 0;
|
|
6
|
+
|
|
7
|
+
const base_component_1 = require("../base-component");
|
|
8
|
+
|
|
9
|
+
exports.PivotColumnHeaderTitle = (0, base_component_1.createComponent)("PivotColumnHeaderTitle", "columnHeaderTitle", void 0, !0),
|
|
10
|
+
exports.PivotRowHeaderTitle = (0, base_component_1.createComponent)("PivotRowHeaderTitle", "rowHeaderTitle", void 0, !0);
|
|
11
|
+
//# sourceMappingURL=pivot-header-title.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/pivot/pivot-header-title.tsx"],"names":[],"mappings":";;;AACA,sDAAoD;AAKvC,QAAA,sBAAsB,GAAG,IAAA,gCAAe,EACnD,wBAAwB,EACxB,mBAAmB,EACnB,SAAS,EACT,IAAI,CACL,CAAC;AACW,QAAA,mBAAmB,GAAG,IAAA,gCAAe,EAChD,qBAAqB,EACrB,gBAAgB,EAChB,SAAS,EACT,IAAI,CACL,CAAC","file":"pivot-header-title.js","sourcesContent":["import type { BaseComponentProps } from '../base-component';\nimport { createComponent } from '../base-component';\nimport type { ITitleDefine } from '@visactor/vtable';\n\nexport type PivotHeaderTitleProps = ITitleDefine & BaseComponentProps;\n\nexport const PivotColumnHeaderTitle = createComponent<PivotHeaderTitleProps>(\n 'PivotColumnHeaderTitle',\n 'columnHeaderTitle',\n undefined,\n true\n);\nexport const PivotRowHeaderTitle = createComponent<PivotHeaderTitleProps>(\n 'PivotRowHeaderTitle',\n 'rowHeaderTitle',\n undefined,\n true\n);\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.PivotIndicator = void 0;
|
|
6
|
+
|
|
7
|
+
const base_component_1 = require("../base-component");
|
|
8
|
+
|
|
9
|
+
exports.PivotIndicator = (0, base_component_1.createComponent)("PivotIndicator", "indicators");
|
|
10
|
+
//# sourceMappingURL=pivot-indicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/pivot/pivot-indicator.ts"],"names":[],"mappings":";;;AACA,sDAAoD;AAKvC,QAAA,cAAc,GAAG,IAAA,gCAAe,EAAsB,gBAAgB,EAAE,YAAY,CAAC,CAAC","file":"pivot-indicator.js","sourcesContent":["import type { BaseComponentProps } from '../base-component';\nimport { createComponent } from '../base-component';\nimport type { IIndicator } from '@visactor/vtable';\n\nexport type PivotIndicatorProps = IIndicator & BaseComponentProps;\n\nexport const PivotIndicator = createComponent<PivotIndicatorProps>('PivotIndicator', 'indicators');\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const REACT_PRIVATE_PROPS: string[];
|
package/cjs/constants.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC","file":"constants.js","sourcesContent":["export const REACT_PRIVATE_PROPS = ['children', 'hooks', 'ref'];\n"]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
4
|
+
void 0 === k2 && (k2 = k);
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
7
|
+
enumerable: !0,
|
|
8
|
+
get: function() {
|
|
9
|
+
return m[k];
|
|
10
|
+
}
|
|
11
|
+
}), Object.defineProperty(o, k2, desc);
|
|
12
|
+
} : function(o, m, k, k2) {
|
|
13
|
+
void 0 === k2 && (k2 = k), o[k2] = m[k];
|
|
14
|
+
}), __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", {
|
|
16
|
+
enumerable: !0,
|
|
17
|
+
value: v
|
|
18
|
+
});
|
|
19
|
+
} : function(o, v) {
|
|
20
|
+
o.default = v;
|
|
21
|
+
}), __importStar = this && this.__importStar || function(mod) {
|
|
22
|
+
if (mod && mod.__esModule) return mod;
|
|
23
|
+
var result = {};
|
|
24
|
+
if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
|
|
25
|
+
return __setModuleDefault(result, mod), result;
|
|
26
|
+
}, __rest = this && this.__rest || function(s, e) {
|
|
27
|
+
var t = {};
|
|
28
|
+
for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
|
|
29
|
+
if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
|
|
30
|
+
var i = 0;
|
|
31
|
+
for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
|
|
32
|
+
}
|
|
33
|
+
return t;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
Object.defineProperty(exports, "__esModule", {
|
|
37
|
+
value: !0
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const openinula_1 = __importStar(require("openinula"));
|
|
41
|
+
|
|
42
|
+
function withContainer(Comp, name = "TableContainer", getProps) {
|
|
43
|
+
const Cls = openinula_1.default.forwardRef(((props, ref) => {
|
|
44
|
+
const container = (0, openinula_1.useRef)(), [inited, setInited] = (0, openinula_1.useState)(!1), {className: className, style: style, width: width} = props, options = __rest(props, [ "className", "style", "width" ]);
|
|
45
|
+
return (0, openinula_1.useLayoutEffect)((() => {
|
|
46
|
+
setInited(!0);
|
|
47
|
+
}), []), openinula_1.default.createElement("div", {
|
|
48
|
+
ref: container,
|
|
49
|
+
className: className,
|
|
50
|
+
style: Object.assign({
|
|
51
|
+
position: "relative",
|
|
52
|
+
height: props.height || "100%",
|
|
53
|
+
width: props.width || "100%"
|
|
54
|
+
}, style)
|
|
55
|
+
}, inited ? openinula_1.default.createElement(Comp, Object.assign({
|
|
56
|
+
ref: ref,
|
|
57
|
+
container: container.current
|
|
58
|
+
}, getProps ? getProps(options) : options)) : openinula_1.default.createElement(openinula_1.default.Fragment, null));
|
|
59
|
+
}));
|
|
60
|
+
return Cls.displayName = name || Comp.name, Cls;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
exports.default = withContainer;
|
|
64
|
+
//# sourceMappingURL=withContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["containers/withContainer.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAqE;AASrE,SAAwB,aAAa,CACnC,IAA4C,EAC5C,IAAI,GAAG,gBAAgB,EACvB,QAAoC;IAEpC,MAAM,GAAG,GAAG,mBAAK,CAAC,UAAU,CAAyB,CAAC,KAAwB,EAAE,GAAG,EAAE,EAAE;QACrF,MAAM,SAAS,GAAG,IAAA,kBAAM,GAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,oBAAQ,EAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,KAAiB,KAAK,EAAjB,OAAO,UAAK,KAAK,EAA/C,+BAAuC,CAAQ,CAAC;QAEtD,IAAA,2BAAe,EAAC,GAAG,EAAE;YACnB,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,CACL,2CACE,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,kBACH,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,MAAM,EAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,MAAM,IACzB,KAAK,KAGT,MAAM,CAAC,CAAC,CAAC,CACR,kCAAC,IAAI,kBAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,OAAO,IAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,OAAqB,CAAC,EAAI,CAC9G,CAAC,CAAC,CAAC,CACF,qEAAK,CACN,CACG,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC;AAnCD,gCAmCC","file":"withContainer.js","sourcesContent":["import React, { useRef, useState, useLayoutEffect } from 'openinula';\n\nexport interface ContainerProps {\n style?: React.CSSProperties;\n className?: string;\n width?: number | string;\n height?: number | string;\n}\n\nexport default function withContainer<Props extends ContainerProps, CompProps>(\n Comp: typeof React.Component<any, CompProps>,\n name = 'TableContainer',\n getProps?: (props: any) => CompProps\n) {\n const Cls = React.forwardRef<any, CompProps & Props>((props: CompProps & Props, ref) => {\n const container = useRef();\n const [inited, setInited] = useState(false);\n const { className, style, width, ...options } = props;\n\n useLayoutEffect(() => {\n setInited(true);\n }, []);\n\n return (\n <div\n ref={container}\n className={className}\n style={{\n position: 'relative',\n height: props.height || '100%',\n width: props.width || '100%',\n ...style\n }}\n >\n {inited ? (\n <Comp ref={ref} container={container.current} {...(getProps ? getProps(options) : (options as CompProps))} />\n ) : (\n <></>\n )}\n </div>\n );\n });\n Cls.displayName = name || Comp.name;\n return Cls;\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'openinula';
|
|
2
|
+
import type { ListTable, PivotTable, PivotChart } from '@visactor/vtable';
|
|
3
|
+
export interface TableContextType {
|
|
4
|
+
table?: ListTable | PivotTable | PivotChart;
|
|
5
|
+
isChildrenUpdated?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare const TableContext: import("openinula").Context<TableContextType>;
|
|
8
|
+
export declare function withTableInstance<T>(Component: typeof React.Component): import("openinula").ExoticComponent<import("openinula").PropsOmitRef<T>> & {
|
|
9
|
+
key?: import("openinula").Key;
|
|
10
|
+
} & {
|
|
11
|
+
ref?: import("openinula").Ref<any>;
|
|
12
|
+
};
|
|
13
|
+
export default TableContext;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __importDefault = this && this.__importDefault || function(mod) {
|
|
4
|
+
return mod && mod.__esModule ? mod : {
|
|
5
|
+
default: mod
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "__esModule", {
|
|
10
|
+
value: !0
|
|
11
|
+
}), exports.withTableInstance = void 0;
|
|
12
|
+
|
|
13
|
+
const openinula_1 = __importDefault(require("openinula")), TableContext = openinula_1.default.createContext(null);
|
|
14
|
+
|
|
15
|
+
function withTableInstance(Component) {
|
|
16
|
+
const Com = openinula_1.default.forwardRef(((props, ref) => openinula_1.default.createElement(TableContext.Consumer, null, (ctx => openinula_1.default.createElement(Component, Object.assign({
|
|
17
|
+
ref: ref,
|
|
18
|
+
table: ctx.table
|
|
19
|
+
}, props))))));
|
|
20
|
+
return Com.displayName = Component.name, Com;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
TableContext.displayName = "TableContext", exports.withTableInstance = withTableInstance,
|
|
24
|
+
exports.default = TableContext;
|
|
25
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["context/table.tsx"],"names":[],"mappings":";;;;;;AAAA,0DAA8B;AAS9B,MAAM,YAAY,GAAG,mBAAK,CAAC,aAAa,CAAmB,IAAI,CAAC,CAAC;AACjE,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC;AAE1C,SAAgB,iBAAiB,CAAI,SAAiC;IACpE,MAAM,GAAG,GAAG,mBAAK,CAAC,UAAU,CAAS,CAAC,KAAQ,EAAE,GAAG,EAAE,EAAE;QACrD,OAAO,CACL,kCAAC,YAAY,CAAC,QAAQ,QACnB,CAAC,GAAqB,EAAE,EAAE,CAAC,kCAAC,SAAS,kBAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAM,KAAK,EAAI,CAC1D,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC;IACjC,OAAO,GAAG,CAAC;AACb,CAAC;AAVD,8CAUC;AAED,kBAAe,YAAY,CAAC","file":"table.js","sourcesContent":["import React from 'openinula';\nimport type { ListTable, PivotTable, PivotChart } from '@visactor/vtable';\n\nexport interface TableContextType {\n table?: ListTable | PivotTable | PivotChart;\n // optionFromChildren: any;\n isChildrenUpdated?: boolean;\n}\n\nconst TableContext = React.createContext<TableContextType>(null);\nTableContext.displayName = 'TableContext';\n\nexport function withTableInstance<T>(Component: typeof React.Component) {\n const Com = React.forwardRef<any, T>((props: T, ref) => {\n return (\n <TableContext.Consumer>\n {(ctx: TableContextType) => <Component ref={ref} table={ctx.table} {...props} />}\n </TableContext.Consumer>\n );\n });\n Com.displayName = Component.name;\n return Com;\n}\n\nexport default TableContext;\n"]}
|