@gooddata/sdk-ui-charts 10.0.0-alpha.12 → 10.0.0-alpha.14
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/NOTICE +3 -3
- package/esm/charts/index.d.ts +1 -1
- package/esm/charts/index.d.ts.map +1 -1
- package/esm/charts/index.js +1 -1
- package/esm/charts/index.js.map +1 -1
- package/esm/charts/repeater/CoreRepeater.d.ts +12 -3
- package/esm/charts/repeater/CoreRepeater.d.ts.map +1 -1
- package/esm/charts/repeater/CoreRepeater.js +4 -2
- package/esm/charts/repeater/CoreRepeater.js.map +1 -1
- package/esm/charts/repeater/columnWidths.d.ts +114 -0
- package/esm/charts/repeater/columnWidths.d.ts.map +1 -0
- package/esm/charts/repeater/columnWidths.js +21 -0
- package/esm/charts/repeater/columnWidths.js.map +1 -0
- package/esm/charts/repeater/hooks/useResizing.d.ts +11 -0
- package/esm/charts/repeater/hooks/useResizing.d.ts.map +1 -0
- package/esm/charts/repeater/hooks/useResizing.js +193 -0
- package/esm/charts/repeater/hooks/useResizing.js.map +1 -0
- package/esm/charts/repeater/internal/RepeaterChart.d.ts +1 -8
- package/esm/charts/repeater/internal/RepeaterChart.d.ts.map +1 -1
- package/esm/charts/repeater/internal/RepeaterChart.js +23 -6
- package/esm/charts/repeater/internal/RepeaterChart.js.map +1 -1
- package/esm/charts/repeater/internal/columnSizing.d.ts +4 -0
- package/esm/charts/repeater/internal/columnSizing.d.ts.map +1 -0
- package/esm/charts/repeater/internal/columnSizing.js +65 -0
- package/esm/charts/repeater/internal/columnSizing.js.map +1 -0
- package/esm/charts/repeater/internal/privateTypes.d.ts +25 -0
- package/esm/charts/repeater/internal/privateTypes.d.ts.map +1 -0
- package/esm/charts/repeater/internal/privateTypes.js +3 -0
- package/esm/charts/repeater/internal/privateTypes.js.map +1 -0
- package/esm/charts/repeater/publicTypes.d.ts +58 -0
- package/esm/charts/repeater/publicTypes.d.ts.map +1 -0
- package/esm/charts/repeater/publicTypes.js +3 -0
- package/esm/charts/repeater/publicTypes.js.map +1 -0
- package/esm/sdk-ui-charts.d.ts +155 -2
- package/package.json +10 -10
package/NOTICE
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
|
|
9
9
|
|
|
10
|
-
Date generated: 2024-
|
|
10
|
+
Date generated: 2024-4-2
|
|
11
11
|
|
|
12
|
-
Revision ID:
|
|
12
|
+
Revision ID: 423e0fe814b74c5c50d3baa8debd3ab5ee96b353
|
|
13
13
|
|
|
14
14
|
================================================================================
|
|
15
15
|
================================================================================
|
|
@@ -68364,4 +68364,4 @@ POSSIBILITY OF SUCH DAMAGE.
|
|
|
68364
68364
|
--------------------------------------------------------------------------------
|
|
68365
68365
|
--------------------------------------------------------------------------------
|
|
68366
68366
|
|
|
68367
|
-
Report Generated by FOSSA on 2024-
|
|
68367
|
+
Report Generated by FOSSA on 2024-4-2
|
package/esm/charts/index.d.ts
CHANGED
|
@@ -25,6 +25,6 @@ export { Xirr, IXirrProps, IXirrBucketProps } from "./xirr/Xirr.js";
|
|
|
25
25
|
export { CoreXirr } from "./xirr/CoreXirr.js";
|
|
26
26
|
export { constructRepeaterBuckets, constructRepeaterDimensions, } from "./repeater/internal/repeaterExecution.js";
|
|
27
27
|
export { Repeater, IRepeaterProps, IRepeaterBucketProps } from "./repeater/Repeater.js";
|
|
28
|
-
export { CoreRepeater,
|
|
28
|
+
export { CoreRepeater, ICoreRepeaterChartProps, RepeaterColumnResizedCallback, RepeaterColumnWidthItem, RepeaterColumnWidth, RepeaterDefaultColumnWidth, RepeaterColumnLocator, IRepeaterColumnSizing, IRepeaterAbsoluteColumnWidth, IRepeaterAutoColumnWidth, IRepeaterAttributeColumnWidthItem, IRepeaterMeasureColumnWidthItem, IRepeaterAttributeColumnWidthItemBody, IRepeaterMeasureColumnWidthItemBody, IRepeaterAttributeColumnLocator, IRepeaterAttributeColumnLocatorBody, IRepeaterMeasureColumnLocator, IRepeaterMeasureColumnLocatorBody, } from "./repeater/CoreRepeater.js";
|
|
29
29
|
export { withJsxExport } from "./withJsxExport.js";
|
|
30
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/charts/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE7F,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAElG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAElG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE5G,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAExF,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EACH,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,iBAAiB,EACjB,4BAA4B,EAC5B,sBAAsB,GACzB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE7F,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC1B,gCAAgC,GACnC,MAAM,gDAAgD,CAAC;AAExD,OAAO,EACH,cAAc,EACd,oBAAoB,EACpB,0BAA0B,GAC7B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EACH,wBAAwB,EACxB,2BAA2B,GAC9B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/charts/index.tsx"],"names":[],"mappings":"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"}
|
package/esm/charts/index.js
CHANGED
|
@@ -25,6 +25,6 @@ export { Xirr } from "./xirr/Xirr.js";
|
|
|
25
25
|
export { CoreXirr } from "./xirr/CoreXirr.js";
|
|
26
26
|
export { constructRepeaterBuckets, constructRepeaterDimensions, } from "./repeater/internal/repeaterExecution.js";
|
|
27
27
|
export { Repeater } from "./repeater/Repeater.js";
|
|
28
|
-
export { CoreRepeater } from "./repeater/CoreRepeater.js";
|
|
28
|
+
export { CoreRepeater, } from "./repeater/CoreRepeater.js";
|
|
29
29
|
export { withJsxExport } from "./withJsxExport.js";
|
|
30
30
|
//# sourceMappingURL=index.js.map
|
package/esm/charts/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/charts/index.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,SAAS,EAA0C,MAAM,0BAA0B,CAAC;AAE7F,OAAO,EAAE,QAAQ,EAAwC,MAAM,wBAAwB,CAAC;AAExF,OAAO,EAAE,WAAW,EAA8C,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,WAAW,EAA8C,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,WAAW,EAA8C,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,UAAU,EAA4C,MAAM,4BAA4B,CAAC;AAElG,OAAO,EAAE,UAAU,EAA4C,MAAM,4BAA4B,CAAC;AAElG,OAAO,EAAE,WAAW,EAA8C,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,YAAY,EAAgD,MAAM,gCAAgC,CAAC;AAE5G,OAAO,EAAE,QAAQ,EAAwC,MAAM,wBAAwB,CAAC;AAExF,OAAO,EAAE,YAAY,EAA8B,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EACH,0BAA0B,EAC1B,0BAA0B,EAG1B,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,GACxB,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EAAE,OAAO,EAAsC,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,SAAS,EAA0C,MAAM,0BAA0B,CAAC;AAE7F,OAAO,EAAE,QAAQ,EAAwC,MAAM,wBAAwB,CAAC;AAExF,OAAO,EAAE,WAAW,EAA8C,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,OAAO,EAAsC,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,WAAW,EAA8C,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EACH,oBAAoB,GAGvB,MAAM,gDAAgD,CAAC;AAExD,OAAO,EACH,cAAc,GAGjB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAgC,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EACH,wBAAwB,EACxB,2BAA2B,GAC9B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAwC,MAAM,wBAAwB,CAAC;AACxF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/charts/index.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,SAAS,EAA0C,MAAM,0BAA0B,CAAC;AAE7F,OAAO,EAAE,QAAQ,EAAwC,MAAM,wBAAwB,CAAC;AAExF,OAAO,EAAE,WAAW,EAA8C,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,WAAW,EAA8C,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,WAAW,EAA8C,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,UAAU,EAA4C,MAAM,4BAA4B,CAAC;AAElG,OAAO,EAAE,UAAU,EAA4C,MAAM,4BAA4B,CAAC;AAElG,OAAO,EAAE,WAAW,EAA8C,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,YAAY,EAAgD,MAAM,gCAAgC,CAAC;AAE5G,OAAO,EAAE,QAAQ,EAAwC,MAAM,wBAAwB,CAAC;AAExF,OAAO,EAAE,YAAY,EAA8B,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EACH,0BAA0B,EAC1B,0BAA0B,EAG1B,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,GACxB,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EAAE,OAAO,EAAsC,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,SAAS,EAA0C,MAAM,0BAA0B,CAAC;AAE7F,OAAO,EAAE,QAAQ,EAAwC,MAAM,wBAAwB,CAAC;AAExF,OAAO,EAAE,WAAW,EAA8C,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,OAAO,EAAsC,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,WAAW,EAA8C,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EACH,oBAAoB,GAGvB,MAAM,gDAAgD,CAAC;AAExD,OAAO,EACH,cAAc,GAGjB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAgC,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EACH,wBAAwB,EACxB,2BAA2B,GAC9B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAwC,MAAM,wBAAwB,CAAC;AACxF,OAAO,EACH,YAAY,GAkBf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -2,15 +2,24 @@ import React from "react";
|
|
|
2
2
|
import { WrappedComponentProps } from "react-intl";
|
|
3
3
|
import { ITheme } from "@gooddata/sdk-model";
|
|
4
4
|
import { ICoreChartProps } from "../../interfaces/index.js";
|
|
5
|
+
import { RepeaterColumnResizedCallback } from "./publicTypes.js";
|
|
6
|
+
export * from "./publicTypes.js";
|
|
7
|
+
export * from "./columnWidths.js";
|
|
5
8
|
/**
|
|
6
9
|
* @internal
|
|
7
10
|
*/
|
|
8
|
-
export interface
|
|
11
|
+
export interface ICoreRepeaterChartProps extends ICoreChartProps, WrappedComponentProps {
|
|
9
12
|
theme?: ITheme;
|
|
13
|
+
/**
|
|
14
|
+
* Specify function to call when user manually resizes a table column.
|
|
15
|
+
*
|
|
16
|
+
* @param columnWidths - new widths for columns
|
|
17
|
+
*/
|
|
18
|
+
onColumnResized?: RepeaterColumnResizedCallback;
|
|
10
19
|
}
|
|
11
|
-
export declare const CoreRepeaterImpl: React.FC<
|
|
20
|
+
export declare const CoreRepeaterImpl: React.FC<ICoreRepeaterChartProps>;
|
|
12
21
|
/**
|
|
13
22
|
* @internal
|
|
14
23
|
*/
|
|
15
|
-
export declare const CoreRepeater: React.FC<
|
|
24
|
+
export declare const CoreRepeater: React.FC<ICoreRepeaterChartProps>;
|
|
16
25
|
//# sourceMappingURL=CoreRepeater.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreRepeater.d.ts","sourceRoot":"","sources":["../../../src/charts/repeater/CoreRepeater.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAuB,MAAM,YAAY,CAAC;AAWxE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"CoreRepeater.d.ts","sourceRoot":"","sources":["../../../src/charts/repeater/CoreRepeater.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAuB,MAAM,YAAY,CAAC;AAWxE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAEjE,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,eAAe,EAAE,qBAAqB;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,eAAe,CAAC,EAAE,6BAA6B,CAAC;CACnD;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAgE9D,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAM1D,CAAC"}
|
|
@@ -4,8 +4,10 @@ import { injectIntl, useIntl } from "react-intl";
|
|
|
4
4
|
import { LoadingComponent as SDKLoadingComponent, ErrorComponent as SDKErrorComponent, useCancelablePromise, DataViewFacade, newErrorMapping, IntlWrapper, convertError, ErrorCodes, } from "@gooddata/sdk-ui";
|
|
5
5
|
import { ThemeContextProvider, withTheme } from "@gooddata/sdk-ui-theme-provider";
|
|
6
6
|
import { RepeaterChart } from "./internal/RepeaterChart.js";
|
|
7
|
+
export * from "./publicTypes.js";
|
|
8
|
+
export * from "./columnWidths.js";
|
|
7
9
|
export const CoreRepeaterImpl = (props) => {
|
|
8
|
-
const { execution, ErrorComponent = SDKErrorComponent, LoadingComponent = SDKLoadingComponent, onLoadingChanged, pushData, onError, config, } = props;
|
|
10
|
+
const { execution, ErrorComponent = SDKErrorComponent, LoadingComponent = SDKLoadingComponent, onLoadingChanged, pushData, onError, onColumnResized, config, } = props;
|
|
9
11
|
const intl = useIntl();
|
|
10
12
|
const { result, error } = useCancelablePromise({
|
|
11
13
|
promise: async () => {
|
|
@@ -38,7 +40,7 @@ export const CoreRepeaterImpl = (props) => {
|
|
|
38
40
|
if (!result) {
|
|
39
41
|
return React.createElement(LoadingComponent, null);
|
|
40
42
|
}
|
|
41
|
-
return React.createElement(RepeaterChart, { dataView: result, config: config, onError: onError });
|
|
43
|
+
return (React.createElement(RepeaterChart, { dataView: result, config: config, onError: onError, onColumnResized: onColumnResized }));
|
|
42
44
|
};
|
|
43
45
|
const CoreRepeaterWithIntl = injectIntl(withTheme(CoreRepeaterImpl));
|
|
44
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreRepeater.js","sourceRoot":"","sources":["../../../src/charts/repeater/CoreRepeater.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAyB,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EACH,gBAAgB,IAAI,mBAAmB,EACvC,cAAc,IAAI,iBAAiB,EACnC,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,UAAU,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"CoreRepeater.js","sourceRoot":"","sources":["../../../src/charts/repeater/CoreRepeater.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Identifier } from "@gooddata/sdk-model";
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export declare enum ColumnEventSourceType {
|
|
6
|
+
AUTOSIZE_COLUMNS = "autosizeColumns",
|
|
7
|
+
UI_DRAGGED = "uiColumnDragged",
|
|
8
|
+
FIT_GROW = "growToFit"
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare enum UIClick {
|
|
14
|
+
CLICK = 1,
|
|
15
|
+
DOUBLE_CLICK = 2
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export interface IRepeaterAbsoluteColumnWidth {
|
|
21
|
+
value: number;
|
|
22
|
+
allowGrowToFit?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export interface IRepeaterAutoColumnWidth {
|
|
28
|
+
value: "auto";
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
export type RepeaterColumnWidth = IRepeaterAbsoluteColumnWidth | IRepeaterAutoColumnWidth;
|
|
34
|
+
/**
|
|
35
|
+
* Object defining the {@link IRepeaterAttributeColumnWidthItem} object body.
|
|
36
|
+
*
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export interface IRepeaterAttributeColumnWidthItemBody {
|
|
40
|
+
width: IRepeaterAbsoluteColumnWidth;
|
|
41
|
+
attributeIdentifier: Identifier;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @public
|
|
45
|
+
*/
|
|
46
|
+
export interface IRepeaterAttributeColumnWidthItem {
|
|
47
|
+
attributeColumnWidthItem: IRepeaterAttributeColumnWidthItemBody;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Object defining the {@link IRepeaterMeasureColumnWidthItem} object body.
|
|
51
|
+
*
|
|
52
|
+
* @public
|
|
53
|
+
*/
|
|
54
|
+
export interface IRepeaterMeasureColumnWidthItemBody {
|
|
55
|
+
width: RepeaterColumnWidth;
|
|
56
|
+
locators: RepeaterColumnLocator[];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
export interface IRepeaterMeasureColumnWidthItem {
|
|
62
|
+
measureColumnWidthItem: IRepeaterMeasureColumnWidthItemBody;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @public
|
|
66
|
+
*/
|
|
67
|
+
export type RepeaterColumnWidthItem = IRepeaterAttributeColumnWidthItem | IRepeaterMeasureColumnWidthItem;
|
|
68
|
+
/**
|
|
69
|
+
* @public
|
|
70
|
+
*/
|
|
71
|
+
export type RepeaterColumnLocator = IRepeaterAttributeColumnLocator | IRepeaterMeasureColumnLocator;
|
|
72
|
+
/**
|
|
73
|
+
* Object defining the {@link IRepeaterMeasureColumnLocator} object body.
|
|
74
|
+
*
|
|
75
|
+
* @public
|
|
76
|
+
*/
|
|
77
|
+
export interface IRepeaterMeasureColumnLocatorBody {
|
|
78
|
+
/**
|
|
79
|
+
* Local identifier of the measure.
|
|
80
|
+
*/
|
|
81
|
+
measureIdentifier: Identifier;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Locates table column by column measure's localId.
|
|
85
|
+
*
|
|
86
|
+
* @public
|
|
87
|
+
*/
|
|
88
|
+
export interface IRepeaterMeasureColumnLocator {
|
|
89
|
+
measureLocatorItem: IRepeaterMeasureColumnLocatorBody;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Object defining the {@link IRepeaterAttributeColumnLocator} object body.
|
|
93
|
+
*
|
|
94
|
+
* @public
|
|
95
|
+
*/
|
|
96
|
+
export interface IRepeaterAttributeColumnLocatorBody {
|
|
97
|
+
/**
|
|
98
|
+
* Local identifier of the attribute
|
|
99
|
+
*/
|
|
100
|
+
attributeIdentifier: Identifier;
|
|
101
|
+
/**
|
|
102
|
+
* Attribute element URI / primary key.
|
|
103
|
+
*/
|
|
104
|
+
element?: string | null;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Locates all columns for an attribute or columns for particular attribute element.
|
|
108
|
+
*
|
|
109
|
+
* @public
|
|
110
|
+
*/
|
|
111
|
+
export interface IRepeaterAttributeColumnLocator {
|
|
112
|
+
attributeLocatorItem: IRepeaterAttributeColumnLocatorBody;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=columnWidths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnWidths.d.ts","sourceRoot":"","sources":["../../../src/charts/repeater/columnWidths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMjD;;GAEG;AACH,oBAAY,qBAAqB;IAC7B,gBAAgB,oBAAoB;IACpC,UAAU,oBAAoB;IAC9B,QAAQ,cAAc;CACzB;AAED;;GAEG;AACH,oBAAY,OAAO;IACf,KAAK,IAAI;IACT,YAAY,IAAI;CACnB;AAMD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,4BAA4B,GAAG,wBAAwB,CAAC;AAE1F;;;;GAIG;AACH,MAAM,WAAW,qCAAqC;IAClD,KAAK,EAAE,4BAA4B,CAAC;IACpC,mBAAmB,EAAE,UAAU,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAC9C,wBAAwB,EAAE,qCAAqC,CAAC;CACnE;AAED;;;;GAIG;AACH,MAAM,WAAW,mCAAmC;IAChD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C,sBAAsB,EAAE,mCAAmC,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,iCAAiC,GAAG,+BAA+B,CAAC;AAE1G;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,+BAA+B,GAAG,6BAA6B,CAAC;AAEpG;;;;GAIG;AACH,MAAM,WAAW,iCAAiC;IAC9C;;OAEG;IACH,iBAAiB,EAAE,UAAU,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC1C,kBAAkB,EAAE,iCAAiC,CAAC;CACzD;AAED;;;;GAIG;AACH,MAAM,WAAW,mCAAmC;IAChD;;OAEG;IACH,mBAAmB,EAAE,UAAU,CAAC;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC5C,oBAAoB,EAAE,mCAAmC,CAAC;CAC7D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//
|
|
2
|
+
// types used in implementation internals
|
|
3
|
+
//
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export var ColumnEventSourceType;
|
|
8
|
+
(function (ColumnEventSourceType) {
|
|
9
|
+
ColumnEventSourceType["AUTOSIZE_COLUMNS"] = "autosizeColumns";
|
|
10
|
+
ColumnEventSourceType["UI_DRAGGED"] = "uiColumnDragged";
|
|
11
|
+
ColumnEventSourceType["FIT_GROW"] = "growToFit";
|
|
12
|
+
})(ColumnEventSourceType || (ColumnEventSourceType = {}));
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export var UIClick;
|
|
17
|
+
(function (UIClick) {
|
|
18
|
+
UIClick[UIClick["CLICK"] = 1] = "CLICK";
|
|
19
|
+
UIClick[UIClick["DOUBLE_CLICK"] = 2] = "DOUBLE_CLICK";
|
|
20
|
+
})(UIClick || (UIClick = {}));
|
|
21
|
+
//# sourceMappingURL=columnWidths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnWidths.js","sourceRoot":"","sources":["../../../src/charts/repeater/columnWidths.ts"],"names":[],"mappings":"AAGA,EAAE;AACF,yCAAyC;AACzC,EAAE;AAEF;;GAEG;AACH,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC7B,6DAAoC,CAAA;IACpC,uDAA8B,CAAA;IAC9B,+CAAsB,CAAA;AAC1B,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACf,uCAAS,CAAA;IACT,qDAAgB,CAAA;AACpB,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IAttributeOrMeasure } from "@gooddata/sdk-model";
|
|
2
|
+
import { ColumnResizedEvent, ColDef } from "@ag-grid-community/all-modules";
|
|
3
|
+
import { GridReadyEvent } from "@ag-grid-community/core";
|
|
4
|
+
import { IRepeaterChartProps } from "../publicTypes.js";
|
|
5
|
+
export declare const MANUALLY_SIZED_MAX_WIDTH = 2000;
|
|
6
|
+
export declare const AUTO_SIZED_MAX_WIDTH = 500;
|
|
7
|
+
export declare function useResizing(columnDefs: ColDef[], items: IAttributeOrMeasure[], props: IRepeaterChartProps): {
|
|
8
|
+
onColumnResized: (columnEvent: ColumnResizedEvent) => void;
|
|
9
|
+
onGridReady: (readyEvent: GridReadyEvent) => void;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=useResizing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResizing.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/hooks/useResizing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAqB,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAaxD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAC7C,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,mBAAmB;mCAgDpF,kBAAkB;8BAanB,cAAc;EAelC"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
// (C) 2024 GoodData Corporation
|
|
2
|
+
import { useMemo, useCallback, useRef, useEffect } from "react";
|
|
3
|
+
import { ColumnEventSourceType, UIClick, } from "../columnWidths.js";
|
|
4
|
+
import { getColumnWidths } from "../internal/columnSizing.js";
|
|
5
|
+
const COLUMN_RESIZE_TIMEOUT = 300;
|
|
6
|
+
export const MANUALLY_SIZED_MAX_WIDTH = 2000;
|
|
7
|
+
export const AUTO_SIZED_MAX_WIDTH = 500;
|
|
8
|
+
export function useResizing(columnDefs, items, props) {
|
|
9
|
+
const containerRef = useRef(null);
|
|
10
|
+
const resizingState = useRef({
|
|
11
|
+
items,
|
|
12
|
+
isAltKeyPressed: false,
|
|
13
|
+
isMetaOrCtrlKeyPressed: false,
|
|
14
|
+
clicks: 0,
|
|
15
|
+
columnApi: null,
|
|
16
|
+
manuallyResizedColumns: [],
|
|
17
|
+
});
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
const container = containerRef.current;
|
|
20
|
+
if (container) {
|
|
21
|
+
const listener = (event) => {
|
|
22
|
+
resizingState.current.isAltKeyPressed = event.altKey;
|
|
23
|
+
resizingState.current.isMetaOrCtrlKeyPressed = event.metaKey || event.ctrlKey;
|
|
24
|
+
};
|
|
25
|
+
container.addEventListener("mousedown", listener);
|
|
26
|
+
return () => {
|
|
27
|
+
container.removeEventListener("mousedown", listener);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return undefined;
|
|
31
|
+
}, [containerRef, resizingState]);
|
|
32
|
+
const resizeSettings = useMemo(() => {
|
|
33
|
+
return {
|
|
34
|
+
defaultWidth: 200,
|
|
35
|
+
growToFit: props.config?.columnSizing?.growToFit === true,
|
|
36
|
+
columnAutoresizeOption: props.config?.columnSizing?.defaultWidth ?? "unset",
|
|
37
|
+
widths: props.config.columnSizing?.columnWidths,
|
|
38
|
+
isAltKeyPressed: resizingState.current.isAltKeyPressed,
|
|
39
|
+
isMetaOrCtrlKeyPressed: resizingState.current.isMetaOrCtrlKeyPressed,
|
|
40
|
+
// use clientWidth of the viewport container to accommodate for vertical scrollbars if needed
|
|
41
|
+
clientWidth: containerRef.current?.getElementsByClassName("ag-body-viewport")[0]?.clientWidth ?? 0,
|
|
42
|
+
containerRef: containerRef.current,
|
|
43
|
+
separators: props?.config?.separators,
|
|
44
|
+
onColumnResized: props.onColumnResized,
|
|
45
|
+
};
|
|
46
|
+
}, [props.config, props.onColumnResized, resizingState]);
|
|
47
|
+
const onColumnResized = useCallback((columnEvent) => {
|
|
48
|
+
if (!columnEvent.finished) {
|
|
49
|
+
return; // only update the height once the user is done setting the column size
|
|
50
|
+
}
|
|
51
|
+
if (isManualResizing(columnEvent)) {
|
|
52
|
+
void onManualColumnResize(resizingState, resizeSettings, columnEvent.columns);
|
|
53
|
+
}
|
|
54
|
+
}, [resizeSettings]);
|
|
55
|
+
const onGridReady = useCallback((readyEvent) => {
|
|
56
|
+
resizingState.current.columnApi = readyEvent.columnApi;
|
|
57
|
+
applyColumnSizes(columnDefs, resizingState, resizeSettings);
|
|
58
|
+
}, [columnDefs, resizeSettings]);
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
applyColumnSizes(columnDefs, resizingState, resizeSettings);
|
|
61
|
+
}, [columnDefs, resizingState, resizeSettings]);
|
|
62
|
+
return {
|
|
63
|
+
onColumnResized,
|
|
64
|
+
onGridReady,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
async function onManualColumnResize(resizingState, resizingConfig, columns) {
|
|
68
|
+
resizingState.current.clicks++;
|
|
69
|
+
await sleep(COLUMN_RESIZE_TIMEOUT);
|
|
70
|
+
if (resizingState.current.clicks === UIClick.DOUBLE_CLICK) {
|
|
71
|
+
resizingState.current.clicks = 0;
|
|
72
|
+
await onColumnsManualReset(resizingState, resizingConfig, columns);
|
|
73
|
+
}
|
|
74
|
+
else if (resizingState.current.clicks === UIClick.CLICK) {
|
|
75
|
+
resizingState.current.clicks = 0;
|
|
76
|
+
void onColumnsManualResized(resizingState, resizingConfig, columns);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async function onColumnsManualReset(resizingState, resizingConfig, columns) {
|
|
80
|
+
const columnApi = resizingState.current.columnApi;
|
|
81
|
+
for (const column of columns) {
|
|
82
|
+
// Remove the column from the manually resized columns
|
|
83
|
+
resizingState.current.manuallyResizedColumns = resizingState.current.manuallyResizedColumns.filter((manuallyResizedColumn) => manuallyResizedColumn.getColId() !== column.getColId());
|
|
84
|
+
column.getColDef().suppressSizeToFit = false;
|
|
85
|
+
const columnIds = [column.getColId()];
|
|
86
|
+
setColumnMaxWidth(resizingState.current.columnApi, columnIds, AUTO_SIZED_MAX_WIDTH);
|
|
87
|
+
columnApi.autoSizeColumns(columnIds);
|
|
88
|
+
setColumnMaxWidth(columnApi, columnIds, MANUALLY_SIZED_MAX_WIDTH);
|
|
89
|
+
resizingState.current.manuallyResizedColumns.push(column);
|
|
90
|
+
}
|
|
91
|
+
afterOnResizeColumns(resizingState, resizingConfig);
|
|
92
|
+
}
|
|
93
|
+
async function onColumnsManualResized(resizingState, resizingConfig, columns) {
|
|
94
|
+
columns.forEach((column) => {
|
|
95
|
+
if (!getManualResizedColumn(resizingState, column)) {
|
|
96
|
+
resizingState.current.manuallyResizedColumns.push(column);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
afterOnResizeColumns(resizingState, resizingConfig);
|
|
100
|
+
}
|
|
101
|
+
function applyColumnSizes(columnDefs, resizingState, resizeSettings) {
|
|
102
|
+
const columnApi = resizingState.current.columnApi;
|
|
103
|
+
resizeSettings.widths?.forEach((columnWidth) => {
|
|
104
|
+
if (isAttributeColumnWidthItem(columnWidth)) {
|
|
105
|
+
const column = columnDefs.find((col) => col.field === columnWidth.attributeColumnWidthItem.attributeIdentifier);
|
|
106
|
+
if (column && !columnApi) {
|
|
107
|
+
column.width = columnWidth.attributeColumnWidthItem.width.value;
|
|
108
|
+
}
|
|
109
|
+
if (column && columnApi) {
|
|
110
|
+
const columnDef = columnApi
|
|
111
|
+
.getAllColumns()
|
|
112
|
+
.find((col) => col.getColDef().field === column.field);
|
|
113
|
+
columnApi.setColumnWidth(columnDef, columnWidth.attributeColumnWidthItem.width.value);
|
|
114
|
+
if (!getManualResizedColumn(resizingState, columnDef)) {
|
|
115
|
+
resizingState.current.manuallyResizedColumns.push(columnDef);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (isMeasureColumnWidthItem(columnWidth)) {
|
|
120
|
+
columnWidth.measureColumnWidthItem.locators.forEach((locator) => {
|
|
121
|
+
if (isMeasureColumnLocator(locator)) {
|
|
122
|
+
const column = columnDefs.find((col) => col.field === locator.measureLocatorItem.measureIdentifier);
|
|
123
|
+
const value = columnWidth.measureColumnWidthItem.width.value;
|
|
124
|
+
if (column && !columnApi && value !== "auto") {
|
|
125
|
+
column.width = value;
|
|
126
|
+
column.suppressSizeToFit = true;
|
|
127
|
+
}
|
|
128
|
+
if (column && columnApi && value !== "auto") {
|
|
129
|
+
const columnDef = columnApi
|
|
130
|
+
.getAllColumns()
|
|
131
|
+
.find((col) => col.getColDef().field === column.field);
|
|
132
|
+
columnApi.setColumnWidth(columnDef, value);
|
|
133
|
+
if (!getManualResizedColumn(resizingState, columnDef)) {
|
|
134
|
+
resizingState.current.manuallyResizedColumns.push(columnDef);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//TODO: Autoresize column, value === "auto
|
|
138
|
+
}
|
|
139
|
+
if (isAttributeColumnLocator(locator)) {
|
|
140
|
+
//TODO: Apply attribute column width
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
function afterOnResizeColumns(resizingState, resizingConfig) {
|
|
147
|
+
if (resizingConfig.growToFit) {
|
|
148
|
+
//TODO: growToFit(resizingConfig);
|
|
149
|
+
}
|
|
150
|
+
const columnWidths = getColumnWidths(resizingState.current);
|
|
151
|
+
resizingConfig.onColumnResized?.(columnWidths);
|
|
152
|
+
}
|
|
153
|
+
//check
|
|
154
|
+
function isManualResizing(columnEvent) {
|
|
155
|
+
return Boolean(columnEvent?.source === ColumnEventSourceType.UI_DRAGGED && columnEvent.columns);
|
|
156
|
+
}
|
|
157
|
+
function isAttributeColumnWidthItem(obj) {
|
|
158
|
+
return obj?.attributeColumnWidthItem !== undefined;
|
|
159
|
+
}
|
|
160
|
+
function isMeasureColumnWidthItem(obj) {
|
|
161
|
+
return obj?.measureColumnWidthItem !== undefined;
|
|
162
|
+
}
|
|
163
|
+
function isAttributeColumnLocator(obj) {
|
|
164
|
+
return obj?.attributeLocatorItem !== undefined;
|
|
165
|
+
}
|
|
166
|
+
function isMeasureColumnLocator(obj) {
|
|
167
|
+
return obj?.measureLocatorItem !== undefined;
|
|
168
|
+
}
|
|
169
|
+
function getManualResizedColumn(resizingState, column) {
|
|
170
|
+
return (resizingState.current.manuallyResizedColumns.find((manuallyResizedColumn) => manuallyResizedColumn.getColId() === column.getColId()) ?? null);
|
|
171
|
+
}
|
|
172
|
+
//utils
|
|
173
|
+
async function sleep(delay) {
|
|
174
|
+
return new Promise((resolve) => {
|
|
175
|
+
setTimeout(resolve, delay);
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
function setColumnMaxWidth(columnApi, columnIds, newMaxWidth) {
|
|
179
|
+
setColumnMaxWidthIf(columnApi, columnIds, newMaxWidth, () => true);
|
|
180
|
+
}
|
|
181
|
+
function setColumnMaxWidthIf(columnApi, columnIds, newMaxWidth, condition) {
|
|
182
|
+
columnIds.forEach((colId) => {
|
|
183
|
+
const column = columnApi.getColumn(colId);
|
|
184
|
+
if (column && condition(column)) {
|
|
185
|
+
// We need set maxWidth dynamically before/after autoresize/growToFit.
|
|
186
|
+
// Set this only on column.getColDef().maxWidth not working
|
|
187
|
+
// so we need to set it also on column's private member
|
|
188
|
+
column.maxWidth = newMaxWidth;
|
|
189
|
+
column.getColDef().maxWidth = newMaxWidth;
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=useResizing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResizing.js","sourceRoot":"","sources":["../../../../src/charts/repeater/hooks/useResizing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
3
|
-
import { IChartConfig } from "../../../interfaces/index.js";
|
|
4
|
-
interface IRepeaterChartProps {
|
|
5
|
-
dataView: DataViewFacade;
|
|
6
|
-
config?: IChartConfig;
|
|
7
|
-
onError?: (error: any) => void;
|
|
8
|
-
}
|
|
2
|
+
import { IRepeaterChartProps } from "../publicTypes.js";
|
|
9
3
|
export declare const RepeaterChart: React.FC<IRepeaterChartProps>;
|
|
10
|
-
export {};
|
|
11
4
|
//# sourceMappingURL=RepeaterChart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepeaterChart.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/RepeaterChart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"RepeaterChart.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/RepeaterChart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAsBjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQxD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2HvD,CAAC"}
|
|
@@ -10,17 +10,23 @@ import { useIntl } from "react-intl";
|
|
|
10
10
|
import { Icon } from "@gooddata/sdk-ui-kit";
|
|
11
11
|
import cx from "classnames";
|
|
12
12
|
import stringify from "json-stable-stringify";
|
|
13
|
+
import { useResizing } from "../hooks/useResizing.js";
|
|
13
14
|
import { InlineLineChart } from "./InlineLineChart.js";
|
|
14
15
|
import { InlineColumnChart } from "./InlineColumnChart.js";
|
|
15
16
|
const DEFAULT_COL_DEF = { resizable: true };
|
|
16
|
-
export const RepeaterChart = (
|
|
17
|
+
export const RepeaterChart = (props) => {
|
|
18
|
+
const { dataView, onError, config } = props;
|
|
17
19
|
const dataSource = useMemo(() => new AgGridDatasource(dataView, { onError }),
|
|
18
20
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
19
21
|
[dataView.fingerprint(), onError]);
|
|
20
22
|
const rowHeight = getRowHeight(config);
|
|
21
|
-
const
|
|
23
|
+
const items = useMemo(() => {
|
|
22
24
|
const columnsBucket = bucketsFind(dataView.definition.buckets, BucketNames.COLUMNS);
|
|
23
|
-
return columnsBucket.items
|
|
25
|
+
return columnsBucket.items ?? [];
|
|
26
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
27
|
+
}, [dataView.fingerprint()]);
|
|
28
|
+
const columnDefs = useMemo(() => {
|
|
29
|
+
return items.map((bucketItem) => {
|
|
24
30
|
const sharedColDef = {
|
|
25
31
|
headerName: getRepeaterColumnTitle(bucketItem, dataView),
|
|
26
32
|
field: getRepeaterColumnId(bucketItem),
|
|
@@ -76,13 +82,24 @@ export const RepeaterChart = ({ dataView, onError, config }) => {
|
|
|
76
82
|
}
|
|
77
83
|
});
|
|
78
84
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
79
|
-
}, [
|
|
85
|
+
}, [
|
|
86
|
+
items,
|
|
87
|
+
config?.cellVerticalAlign,
|
|
88
|
+
config?.cellTextWrapping,
|
|
89
|
+
config?.cellImageSizing,
|
|
90
|
+
config?.hyperLinks,
|
|
91
|
+
]);
|
|
92
|
+
const { onColumnResized, onGridReady } = useResizing(columnDefs, items, props);
|
|
80
93
|
return (React.createElement("div", { className: "gd-repeater ag-theme-balham s-repeater" },
|
|
81
94
|
React.createElement(AgGridReact, { key: stringify({
|
|
95
|
+
rowHeight,
|
|
96
|
+
cellVerticalAlign: config?.cellVerticalAlign,
|
|
97
|
+
cellTextWrapping: config?.cellTextWrapping,
|
|
98
|
+
cellImageSizing: config?.cellImageSizing,
|
|
82
99
|
dataView: dataView.fingerprint(),
|
|
83
|
-
config,
|
|
100
|
+
hyperLinks: config?.hyperLinks,
|
|
84
101
|
onError: onError?.toString(),
|
|
85
|
-
}), defaultColDef: DEFAULT_COL_DEF, modules: AllCommunityModules, columnDefs: columnDefs, rowClass: "gd-table-row", datasource: dataSource, rowModelType: "infinite", rowHeight: rowHeight })));
|
|
102
|
+
}), defaultColDef: DEFAULT_COL_DEF, modules: AllCommunityModules, columnDefs: columnDefs, rowClass: "gd-table-row", datasource: dataSource, rowModelType: "infinite", rowHeight: rowHeight, onGridReady: onGridReady, onColumnResized: onColumnResized })));
|
|
86
103
|
};
|
|
87
104
|
function RepeaterImage({ src }) {
|
|
88
105
|
const [imageLoadError, setImageLoadError] = useState(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepeaterChart.js","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/RepeaterChart.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAA+B,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"RepeaterChart.js","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/RepeaterChart.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnSizing.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/columnSizing.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,uBAAuB,EAG1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,wBAAgB,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,uBAAuB,EAAE,CAsBvF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// (C) 2022-2024 GoodData Corporation
|
|
2
|
+
import { invariant, InvariantError } from "ts-invariant";
|
|
3
|
+
import { isMeasure, isAttribute } from "@gooddata/sdk-model";
|
|
4
|
+
export function getColumnWidths(resizingState) {
|
|
5
|
+
const columnApi = resizingState.columnApi;
|
|
6
|
+
if (!columnApi) {
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
return [
|
|
10
|
+
...resizingState.manuallyResizedColumns.map((col) => {
|
|
11
|
+
const column = columnApi.getColumn(col.getColId());
|
|
12
|
+
const item = getSizeItem(resizingState, column);
|
|
13
|
+
const sizeItem = getColumnWidthItem(item, column, {
|
|
14
|
+
value: column.getActualWidth(),
|
|
15
|
+
//TODO: Grow to fit
|
|
16
|
+
allowGrowToFit: false,
|
|
17
|
+
});
|
|
18
|
+
invariant(sizeItem, `unable to find size item by filed ${col.getColId()}`);
|
|
19
|
+
return sizeItem;
|
|
20
|
+
}),
|
|
21
|
+
];
|
|
22
|
+
}
|
|
23
|
+
function getSizeItem(resizingState, column) {
|
|
24
|
+
return resizingState.items.find((item) => {
|
|
25
|
+
if (isMeasure(item)) {
|
|
26
|
+
return item.measure.localIdentifier === column.getColDef().field;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return item.attribute.localIdentifier === column.getColDef().field;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function getColumnWidthItem(item, col, width) {
|
|
34
|
+
if (isAttribute(item)) {
|
|
35
|
+
const attributeIdentifier = item.attribute.localIdentifier;
|
|
36
|
+
if (Number(width.value) === width.value) {
|
|
37
|
+
return {
|
|
38
|
+
attributeColumnWidthItem: {
|
|
39
|
+
width,
|
|
40
|
+
attributeIdentifier,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
throw new InvariantError(`width value for attributeColumnWidthItem has to be number ${col.getColId()}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (isMeasure(item)) {
|
|
49
|
+
return {
|
|
50
|
+
measureColumnWidthItem: {
|
|
51
|
+
width,
|
|
52
|
+
locators: [createMeasureLocator(item)],
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
throw new InvariantError(`could not find header matching ${col.getColId()}`);
|
|
57
|
+
}
|
|
58
|
+
function createMeasureLocator(measure) {
|
|
59
|
+
return {
|
|
60
|
+
measureLocatorItem: {
|
|
61
|
+
measureIdentifier: measure.measure.localIdentifier,
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=columnSizing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnSizing.js","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/columnSizing.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAiC,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAS5F,MAAM,UAAU,eAAe,CAAC,aAA4B;IACxD,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;IAE1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO;QACH,GAAG,aAAa,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE;YACxD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE;gBAC9C,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE;gBAC9B,mBAAmB;gBACnB,cAAc,EAAE,KAAK;aACxB,CAAC,CAAC;YAEH,SAAS,CAAC,QAAQ,EAAE,qCAAqC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAE3E,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC;KACL,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,aAA4B,EAAE,MAAc;IAC7D,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACrC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC;QACrE,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC;QACvE,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,kBAAkB,CACvB,IAAyB,EACzB,GAAW,EACX,KAA0B;IAE1B,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;QAC3D,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;YACtC,OAAO;gBACH,wBAAwB,EAAE;oBACtB,KAAK;oBACL,mBAAmB;iBACtB;aACJ,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,cAAc,CACpB,6DAA6D,GAAG,CAAC,QAAQ,EAAE,EAAE,CAChF,CAAC;QACN,CAAC;IACL,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO;YACH,sBAAsB,EAAE;gBACpB,KAAK;gBACL,QAAQ,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;aACzC;SACJ,CAAC;IACN,CAAC;IAED,MAAM,IAAI,cAAc,CAAC,kCAAkC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAiB;IAC3C,OAAO;QACH,kBAAkB,EAAE;YAChB,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe;SACrD;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ISeparators, IAttributeOrMeasure } from "@gooddata/sdk-model";
|
|
2
|
+
import { ColumnApi, Column } from "@ag-grid-community/all-modules";
|
|
3
|
+
import { RepeaterDefaultColumnWidth, RepeaterColumnResizedCallback } from "../publicTypes.js";
|
|
4
|
+
import { RepeaterColumnWidthItem } from "../columnWidths.js";
|
|
5
|
+
export type ColumnResizingConfig = {
|
|
6
|
+
defaultWidth: number;
|
|
7
|
+
growToFit: boolean;
|
|
8
|
+
columnAutoresizeOption: RepeaterDefaultColumnWidth;
|
|
9
|
+
widths: RepeaterColumnWidthItem[] | undefined;
|
|
10
|
+
clientWidth: number;
|
|
11
|
+
containerRef: HTMLDivElement | undefined;
|
|
12
|
+
separators: ISeparators | undefined;
|
|
13
|
+
isMetaOrCtrlKeyPressed: boolean;
|
|
14
|
+
isAltKeyPressed: boolean;
|
|
15
|
+
onColumnResized: RepeaterColumnResizedCallback | undefined;
|
|
16
|
+
};
|
|
17
|
+
export type ResizingState = {
|
|
18
|
+
items: IAttributeOrMeasure[];
|
|
19
|
+
isAltKeyPressed: boolean;
|
|
20
|
+
isMetaOrCtrlKeyPressed: boolean;
|
|
21
|
+
clicks: number;
|
|
22
|
+
columnApi: ColumnApi | null;
|
|
23
|
+
manuallyResizedColumns: Column[];
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=privateTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privateTypes.d.ts","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/privateTypes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,MAAM,oBAAoB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,sBAAsB,EAAE,0BAA0B,CAAC;IACnD,MAAM,EAAE,uBAAuB,EAAE,GAAG,SAAS,CAAC;IAE9C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,cAAc,GAAG,SAAS,CAAC;IACzC,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC;IAEpC,sBAAsB,EAAE,OAAO,CAAC;IAChC,eAAe,EAAE,OAAO,CAAC;IAEzB,eAAe,EAAE,6BAA6B,GAAG,SAAS,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,sBAAsB,EAAE,OAAO,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,sBAAsB,EAAE,MAAM,EAAE,CAAC;CACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privateTypes.js","sourceRoot":"","sources":["../../../../src/charts/repeater/internal/privateTypes.ts"],"names":[],"mappings":"AAAA,gCAAgC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { DataViewFacade } from "@gooddata/sdk-ui";
|
|
2
|
+
import { IChartConfig } from "../../interfaces/index.js";
|
|
3
|
+
import { RepeaterColumnWidthItem } from "./columnWidths.js";
|
|
4
|
+
/**
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export type RepeaterColumnResizedCallback = (columnWidths: RepeaterColumnWidthItem[]) => void;
|
|
8
|
+
/**
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export type RepeaterDefaultColumnWidth = "unset" | "autoresizeAll" | "viewport";
|
|
12
|
+
/**
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export interface IRepeaterColumnSizing {
|
|
16
|
+
/**
|
|
17
|
+
* Indicate that the table should grow to fit into the allocated space.
|
|
18
|
+
*
|
|
19
|
+
* @remarks
|
|
20
|
+
* Default: false
|
|
21
|
+
*/
|
|
22
|
+
growToFit?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Specify whether columns should be resized to fill the entire viewport.
|
|
25
|
+
*
|
|
26
|
+
* @remarks
|
|
27
|
+
* Default: unset
|
|
28
|
+
*/
|
|
29
|
+
defaultWidth?: RepeaterDefaultColumnWidth;
|
|
30
|
+
/**
|
|
31
|
+
* Specify custom column widths to apply.
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* Default: none
|
|
35
|
+
*/
|
|
36
|
+
columnWidths?: RepeaterColumnWidthItem[];
|
|
37
|
+
}
|
|
38
|
+
export interface IRepeaterChartConfig extends IChartConfig {
|
|
39
|
+
/**
|
|
40
|
+
* Customize column sizing strategy.
|
|
41
|
+
*
|
|
42
|
+
* @remarks
|
|
43
|
+
* Default: none
|
|
44
|
+
*/
|
|
45
|
+
columnSizing?: IRepeaterColumnSizing;
|
|
46
|
+
}
|
|
47
|
+
export interface IRepeaterChartProps {
|
|
48
|
+
dataView: DataViewFacade;
|
|
49
|
+
config?: IRepeaterChartConfig;
|
|
50
|
+
onError?: (error: any) => void;
|
|
51
|
+
/**
|
|
52
|
+
* Specify function to call when user manually resizes a table column.
|
|
53
|
+
*
|
|
54
|
+
* @param columnWidths - new widths for columns
|
|
55
|
+
*/
|
|
56
|
+
onColumnResized?: RepeaterColumnResizedCallback;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=publicTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publicTypes.d.ts","sourceRoot":"","sources":["../../../src/charts/repeater/publicTypes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,YAAY,EAAE,uBAAuB,EAAE,KAAK,IAAI,CAAC;AAE9F;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG,eAAe,GAAG,UAAU,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAE1C;;;;;OAKG;IACH,YAAY,CAAC,EAAE,uBAAuB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACtD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAE/B;;;;OAIG;IACH,eAAe,CAAC,EAAE,6BAA6B,CAAC;CACnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publicTypes.js","sourceRoot":"","sources":["../../../src/charts/repeater/publicTypes.ts"],"names":[],"mappings":"AAAA,gCAAgC"}
|
package/esm/sdk-ui-charts.d.ts
CHANGED
|
@@ -296,7 +296,7 @@ export declare const CoreHeadline: React_2.ComponentClass<ICoreChartProps & ICor
|
|
|
296
296
|
/**
|
|
297
297
|
* @internal
|
|
298
298
|
*/
|
|
299
|
-
export declare const CoreRepeater: React_2.FC<
|
|
299
|
+
export declare const CoreRepeater: React_2.FC<ICoreRepeaterChartProps>;
|
|
300
300
|
|
|
301
301
|
/**
|
|
302
302
|
* NOTE: exported to satisfy sdk-ui-ext; is internal, must not be used outside of SDK; will disapppear.
|
|
@@ -1288,8 +1288,14 @@ export declare interface ICoreHeadlineExtendedProps {
|
|
|
1288
1288
|
/**
|
|
1289
1289
|
* @internal
|
|
1290
1290
|
*/
|
|
1291
|
-
export declare interface
|
|
1291
|
+
export declare interface ICoreRepeaterChartProps extends ICoreChartProps, WrappedComponentProps {
|
|
1292
1292
|
theme?: ITheme;
|
|
1293
|
+
/**
|
|
1294
|
+
* Specify function to call when user manually resizes a table column.
|
|
1295
|
+
*
|
|
1296
|
+
* @param columnWidths - new widths for columns
|
|
1297
|
+
*/
|
|
1298
|
+
onColumnResized?: RepeaterColumnResizedCallback;
|
|
1293
1299
|
}
|
|
1294
1300
|
|
|
1295
1301
|
/**
|
|
@@ -1849,6 +1855,63 @@ export declare interface IPyramidChartBucketProps {
|
|
|
1849
1855
|
export declare interface IPyramidChartProps extends IBucketChartProps, IPyramidChartBucketProps {
|
|
1850
1856
|
}
|
|
1851
1857
|
|
|
1858
|
+
/**
|
|
1859
|
+
* @public
|
|
1860
|
+
*/
|
|
1861
|
+
export declare interface IRepeaterAbsoluteColumnWidth {
|
|
1862
|
+
value: number;
|
|
1863
|
+
allowGrowToFit?: boolean;
|
|
1864
|
+
}
|
|
1865
|
+
|
|
1866
|
+
/**
|
|
1867
|
+
* Locates all columns for an attribute or columns for particular attribute element.
|
|
1868
|
+
*
|
|
1869
|
+
* @public
|
|
1870
|
+
*/
|
|
1871
|
+
export declare interface IRepeaterAttributeColumnLocator {
|
|
1872
|
+
attributeLocatorItem: IRepeaterAttributeColumnLocatorBody;
|
|
1873
|
+
}
|
|
1874
|
+
|
|
1875
|
+
/**
|
|
1876
|
+
* Object defining the {@link IRepeaterAttributeColumnLocator} object body.
|
|
1877
|
+
*
|
|
1878
|
+
* @public
|
|
1879
|
+
*/
|
|
1880
|
+
export declare interface IRepeaterAttributeColumnLocatorBody {
|
|
1881
|
+
/**
|
|
1882
|
+
* Local identifier of the attribute
|
|
1883
|
+
*/
|
|
1884
|
+
attributeIdentifier: Identifier;
|
|
1885
|
+
/**
|
|
1886
|
+
* Attribute element URI / primary key.
|
|
1887
|
+
*/
|
|
1888
|
+
element?: string | null;
|
|
1889
|
+
}
|
|
1890
|
+
|
|
1891
|
+
/**
|
|
1892
|
+
* @public
|
|
1893
|
+
*/
|
|
1894
|
+
export declare interface IRepeaterAttributeColumnWidthItem {
|
|
1895
|
+
attributeColumnWidthItem: IRepeaterAttributeColumnWidthItemBody;
|
|
1896
|
+
}
|
|
1897
|
+
|
|
1898
|
+
/**
|
|
1899
|
+
* Object defining the {@link IRepeaterAttributeColumnWidthItem} object body.
|
|
1900
|
+
*
|
|
1901
|
+
* @public
|
|
1902
|
+
*/
|
|
1903
|
+
export declare interface IRepeaterAttributeColumnWidthItemBody {
|
|
1904
|
+
width: IRepeaterAbsoluteColumnWidth;
|
|
1905
|
+
attributeIdentifier: Identifier;
|
|
1906
|
+
}
|
|
1907
|
+
|
|
1908
|
+
/**
|
|
1909
|
+
* @public
|
|
1910
|
+
*/
|
|
1911
|
+
export declare interface IRepeaterAutoColumnWidth {
|
|
1912
|
+
value: "auto";
|
|
1913
|
+
}
|
|
1914
|
+
|
|
1852
1915
|
/**
|
|
1853
1916
|
* @beta
|
|
1854
1917
|
*/
|
|
@@ -1875,6 +1938,71 @@ export declare interface IRepeaterBucketProps {
|
|
|
1875
1938
|
placeholdersResolutionContext?: any;
|
|
1876
1939
|
}
|
|
1877
1940
|
|
|
1941
|
+
/**
|
|
1942
|
+
* @public
|
|
1943
|
+
*/
|
|
1944
|
+
export declare interface IRepeaterColumnSizing {
|
|
1945
|
+
/**
|
|
1946
|
+
* Indicate that the table should grow to fit into the allocated space.
|
|
1947
|
+
*
|
|
1948
|
+
* @remarks
|
|
1949
|
+
* Default: false
|
|
1950
|
+
*/
|
|
1951
|
+
growToFit?: boolean;
|
|
1952
|
+
/**
|
|
1953
|
+
* Specify whether columns should be resized to fill the entire viewport.
|
|
1954
|
+
*
|
|
1955
|
+
* @remarks
|
|
1956
|
+
* Default: unset
|
|
1957
|
+
*/
|
|
1958
|
+
defaultWidth?: RepeaterDefaultColumnWidth;
|
|
1959
|
+
/**
|
|
1960
|
+
* Specify custom column widths to apply.
|
|
1961
|
+
*
|
|
1962
|
+
* @remarks
|
|
1963
|
+
* Default: none
|
|
1964
|
+
*/
|
|
1965
|
+
columnWidths?: RepeaterColumnWidthItem[];
|
|
1966
|
+
}
|
|
1967
|
+
|
|
1968
|
+
/**
|
|
1969
|
+
* Locates table column by column measure's localId.
|
|
1970
|
+
*
|
|
1971
|
+
* @public
|
|
1972
|
+
*/
|
|
1973
|
+
export declare interface IRepeaterMeasureColumnLocator {
|
|
1974
|
+
measureLocatorItem: IRepeaterMeasureColumnLocatorBody;
|
|
1975
|
+
}
|
|
1976
|
+
|
|
1977
|
+
/**
|
|
1978
|
+
* Object defining the {@link IRepeaterMeasureColumnLocator} object body.
|
|
1979
|
+
*
|
|
1980
|
+
* @public
|
|
1981
|
+
*/
|
|
1982
|
+
export declare interface IRepeaterMeasureColumnLocatorBody {
|
|
1983
|
+
/**
|
|
1984
|
+
* Local identifier of the measure.
|
|
1985
|
+
*/
|
|
1986
|
+
measureIdentifier: Identifier;
|
|
1987
|
+
}
|
|
1988
|
+
|
|
1989
|
+
/**
|
|
1990
|
+
* @public
|
|
1991
|
+
*/
|
|
1992
|
+
export declare interface IRepeaterMeasureColumnWidthItem {
|
|
1993
|
+
measureColumnWidthItem: IRepeaterMeasureColumnWidthItemBody;
|
|
1994
|
+
}
|
|
1995
|
+
|
|
1996
|
+
/**
|
|
1997
|
+
* Object defining the {@link IRepeaterMeasureColumnWidthItem} object body.
|
|
1998
|
+
*
|
|
1999
|
+
* @public
|
|
2000
|
+
*/
|
|
2001
|
+
export declare interface IRepeaterMeasureColumnWidthItemBody {
|
|
2002
|
+
width: RepeaterColumnWidth;
|
|
2003
|
+
locators: RepeaterColumnLocator[];
|
|
2004
|
+
}
|
|
2005
|
+
|
|
1878
2006
|
/**
|
|
1879
2007
|
* @beta
|
|
1880
2008
|
*/
|
|
@@ -2256,6 +2384,31 @@ export declare const PyramidChart: (props: IPyramidChartProps) => React_2.JSX.El
|
|
|
2256
2384
|
*/
|
|
2257
2385
|
export declare const Repeater: (props: IRepeaterProps) => JSX.Element;
|
|
2258
2386
|
|
|
2387
|
+
/**
|
|
2388
|
+
* @public
|
|
2389
|
+
*/
|
|
2390
|
+
export declare type RepeaterColumnLocator = IRepeaterAttributeColumnLocator | IRepeaterMeasureColumnLocator;
|
|
2391
|
+
|
|
2392
|
+
/**
|
|
2393
|
+
* @public
|
|
2394
|
+
*/
|
|
2395
|
+
export declare type RepeaterColumnResizedCallback = (columnWidths: RepeaterColumnWidthItem[]) => void;
|
|
2396
|
+
|
|
2397
|
+
/**
|
|
2398
|
+
* @public
|
|
2399
|
+
*/
|
|
2400
|
+
export declare type RepeaterColumnWidth = IRepeaterAbsoluteColumnWidth | IRepeaterAutoColumnWidth;
|
|
2401
|
+
|
|
2402
|
+
/**
|
|
2403
|
+
* @public
|
|
2404
|
+
*/
|
|
2405
|
+
export declare type RepeaterColumnWidthItem = IRepeaterAttributeColumnWidthItem | IRepeaterMeasureColumnWidthItem;
|
|
2406
|
+
|
|
2407
|
+
/**
|
|
2408
|
+
* @public
|
|
2409
|
+
*/
|
|
2410
|
+
export declare type RepeaterDefaultColumnWidth = "unset" | "autoresizeAll" | "viewport";
|
|
2411
|
+
|
|
2259
2412
|
/**
|
|
2260
2413
|
* A Sankey diagram is a type of flow diagram,
|
|
2261
2414
|
* in which the width of the link between two nodes is shown proportionally to the flow quantity.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-charts",
|
|
3
|
-
"version": "10.0.0-alpha.
|
|
3
|
+
"version": "10.0.0-alpha.14",
|
|
4
4
|
"description": "GoodData.UI SDK - Charts",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -65,13 +65,13 @@
|
|
|
65
65
|
"ts-invariant": "^0.7.5",
|
|
66
66
|
"tslib": "^2.5.0",
|
|
67
67
|
"uuid": "^8.3.2",
|
|
68
|
-
"@gooddata/sdk-backend-spi": "10.0.0-alpha.
|
|
69
|
-
"@gooddata/sdk-model": "10.0.0-alpha.
|
|
70
|
-
"@gooddata/sdk-ui
|
|
71
|
-
"@gooddata/sdk-ui-
|
|
72
|
-
"@gooddata/sdk-ui-
|
|
73
|
-
"@gooddata/sdk-ui": "10.0.0-alpha.
|
|
74
|
-
"@gooddata/util": "10.0.0-alpha.
|
|
68
|
+
"@gooddata/sdk-backend-spi": "10.0.0-alpha.14",
|
|
69
|
+
"@gooddata/sdk-model": "10.0.0-alpha.14",
|
|
70
|
+
"@gooddata/sdk-ui": "10.0.0-alpha.14",
|
|
71
|
+
"@gooddata/sdk-ui-theme-provider": "10.0.0-alpha.14",
|
|
72
|
+
"@gooddata/sdk-ui-kit": "10.0.0-alpha.14",
|
|
73
|
+
"@gooddata/sdk-ui-vis-commons": "10.0.0-alpha.14",
|
|
74
|
+
"@gooddata/util": "10.0.0-alpha.14"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
77
|
"react": "^16.10.0 || ^17.0.0 || ^18.0.0",
|
|
@@ -121,8 +121,8 @@
|
|
|
121
121
|
"typescript": "5.3.3",
|
|
122
122
|
"vitest": "1.0.4",
|
|
123
123
|
"vitest-dom": "0.1.1",
|
|
124
|
-
"@gooddata/
|
|
125
|
-
"@gooddata/
|
|
124
|
+
"@gooddata/sdk-backend-mockingbird": "10.0.0-alpha.14",
|
|
125
|
+
"@gooddata/reference-workspace": "10.0.0-alpha.14"
|
|
126
126
|
},
|
|
127
127
|
"scripts": {
|
|
128
128
|
"clean": "rm -rf ci dist esm coverage styles/css *.log tsconfig.tsbuildinfo",
|