@rowsncolumns/charts 28.0.0 → 28.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/atoms/pivot-chart.atom.d.ts +14 -0
- package/dist/cjs/atoms/pivot-chart.atom.d.ts.map +1 -0
- package/dist/cjs/atoms/pivot-chart.atom.js +9 -0
- package/dist/cjs/basic-chart/basic-chart.d.ts +1 -1
- package/dist/cjs/basic-chart/basic-chart.d.ts.map +1 -1
- package/dist/cjs/basic-chart/basic-chart.js +863 -371
- package/dist/cjs/components/dialogs/pivot-chart-dialog.d.ts +39 -0
- package/dist/cjs/components/dialogs/pivot-chart-dialog.d.ts.map +1 -0
- package/dist/cjs/components/dialogs/pivot-chart-dialog.js +100 -0
- package/dist/cjs/components/editors/chart-editor.d.ts +13 -1
- package/dist/cjs/components/editors/chart-editor.d.ts.map +1 -1
- package/dist/cjs/components/editors/chart-editor.js +225 -59
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +149 -12
- package/dist/cjs/hooks/use-charts.d.ts +21 -6
- package/dist/cjs/hooks/use-charts.d.ts.map +1 -1
- package/dist/cjs/hooks/use-charts.js +13 -1
- package/dist/cjs/hooks/use-on-create-chart.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-create-chart.js +7 -1
- package/dist/cjs/hooks/use-on-move-chart-to-sheet.d.ts +12 -0
- package/dist/cjs/hooks/use-on-move-chart-to-sheet.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-move-chart-to-sheet.js +26 -0
- package/dist/cjs/hooks/use-on-move-chart.d.ts +1 -1
- package/dist/cjs/hooks/use-on-move-chart.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-move-chart.js +2 -2
- package/dist/cjs/hooks/use-on-resize-chart.d.ts +1 -1
- package/dist/cjs/hooks/use-on-resize-chart.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-resize-chart.js +2 -2
- package/dist/cjs/index.d.ts +11 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +34 -1
- package/dist/cjs/interface/create-chart.d.ts.map +1 -1
- package/dist/cjs/interface/create-chart.js +33 -42
- package/dist/cjs/interface/delete-chart.d.ts.map +1 -1
- package/dist/cjs/interface/delete-chart.js +4 -0
- package/dist/cjs/interface/move-chart-to-sheet.d.ts +13 -0
- package/dist/cjs/interface/move-chart-to-sheet.d.ts.map +1 -0
- package/dist/cjs/interface/move-chart-to-sheet.js +136 -0
- package/dist/cjs/interface/move-chart.d.ts +2 -2
- package/dist/cjs/interface/move-chart.d.ts.map +1 -1
- package/dist/cjs/interface/move-chart.js +7 -1
- package/dist/cjs/interface/resize-chart.d.ts +2 -2
- package/dist/cjs/interface/resize-chart.d.ts.map +1 -1
- package/dist/cjs/interface/resize-chart.js +7 -1
- package/dist/cjs/interface/update-chart.d.ts.map +1 -1
- package/dist/cjs/interface/update-chart.js +4 -0
- package/dist/cjs/plotly/basic-chart/basic-chart.d.ts +1 -1
- package/dist/cjs/plotly/basic-chart/basic-chart.d.ts.map +1 -1
- package/dist/cjs/plotly/basic-chart/basic-chart.js +970 -585
- package/dist/cjs/plotly/basic-chart/helpers.d.ts.map +1 -1
- package/dist/cjs/plotly/basic-chart/helpers.js +3 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/types.d.ts +7 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/utils/axis-number-format.d.ts +69 -0
- package/dist/cjs/utils/axis-number-format.d.ts.map +1 -0
- package/dist/cjs/utils/axis-number-format.js +217 -0
- package/dist/cjs/utils/category-levels.d.ts +27 -0
- package/dist/cjs/utils/category-levels.d.ts.map +1 -0
- package/dist/cjs/utils/category-levels.js +80 -0
- package/dist/cjs/utils/chart-image.d.ts +8 -0
- package/dist/cjs/utils/chart-image.d.ts.map +1 -0
- package/dist/cjs/utils/chart-image.js +28 -0
- package/dist/cjs/utils/chart-orientation.d.ts +67 -0
- package/dist/cjs/utils/chart-orientation.d.ts.map +1 -0
- package/dist/cjs/utils/chart-orientation.js +265 -0
- package/dist/cjs/utils/chart-spec-utils.d.ts +3 -0
- package/dist/cjs/utils/chart-spec-utils.d.ts.map +1 -1
- package/dist/cjs/utils/chart-spec-utils.js +12 -4
- package/dist/cjs/utils/chart-styles.d.ts +75 -0
- package/dist/cjs/utils/chart-styles.d.ts.map +1 -0
- package/dist/cjs/utils/chart-styles.js +283 -0
- package/dist/cjs/utils/empty-cells.d.ts +30 -0
- package/dist/cjs/utils/empty-cells.d.ts.map +1 -0
- package/dist/cjs/utils/empty-cells.js +91 -0
- package/dist/cjs/utils/overrides.d.ts +6 -1
- package/dist/cjs/utils/overrides.d.ts.map +1 -1
- package/dist/cjs/utils/overrides.js +19 -7
- package/dist/cjs/utils/pie-explosion.d.ts +30 -0
- package/dist/cjs/utils/pie-explosion.d.ts.map +1 -0
- package/dist/cjs/utils/pie-explosion.js +55 -0
- package/dist/cjs/utils/plotly-click.d.ts +34 -0
- package/dist/cjs/utils/plotly-click.d.ts.map +1 -0
- package/dist/cjs/utils/plotly-click.js +49 -0
- package/dist/cjs/utils/plotly-surface.d.ts +14 -0
- package/dist/cjs/utils/plotly-surface.d.ts.map +1 -0
- package/dist/cjs/utils/plotly-surface.js +64 -0
- package/dist/cjs/utils/plotly-title.d.ts +12 -0
- package/dist/cjs/utils/plotly-title.d.ts.map +1 -0
- package/dist/cjs/utils/plotly-title.js +24 -0
- package/dist/cjs/utils/series-click.d.ts +39 -0
- package/dist/cjs/utils/series-click.d.ts.map +1 -0
- package/dist/cjs/utils/series-click.js +75 -0
- package/dist/cjs/utils/three-d.d.ts +17 -1
- package/dist/cjs/utils/three-d.d.ts.map +1 -1
- package/dist/cjs/utils/three-d.js +32 -4
- package/dist/esm/atoms/pivot-chart.atom.d.ts +14 -0
- package/dist/esm/atoms/pivot-chart.atom.d.ts.map +1 -0
- package/dist/esm/atoms/pivot-chart.atom.js +4 -0
- package/dist/esm/basic-chart/basic-chart.d.ts +1 -1
- package/dist/esm/basic-chart/basic-chart.d.ts.map +1 -1
- package/dist/esm/basic-chart/basic-chart.js +680 -178
- package/dist/esm/components/dialogs/pivot-chart-dialog.d.ts +39 -0
- package/dist/esm/components/dialogs/pivot-chart-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialogs/pivot-chart-dialog.js +89 -0
- package/dist/esm/components/editors/chart-editor.d.ts +13 -1
- package/dist/esm/components/editors/chart-editor.d.ts.map +1 -1
- package/dist/esm/components/editors/chart-editor.js +164 -20
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +149 -12
- package/dist/esm/hooks/use-charts.d.ts +21 -6
- package/dist/esm/hooks/use-charts.d.ts.map +1 -1
- package/dist/esm/hooks/use-charts.js +13 -1
- package/dist/esm/hooks/use-on-create-chart.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-create-chart.js +7 -1
- package/dist/esm/hooks/use-on-move-chart-to-sheet.d.ts +12 -0
- package/dist/esm/hooks/use-on-move-chart-to-sheet.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-move-chart-to-sheet.js +19 -0
- package/dist/esm/hooks/use-on-move-chart.d.ts +1 -1
- package/dist/esm/hooks/use-on-move-chart.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-move-chart.js +2 -2
- package/dist/esm/hooks/use-on-resize-chart.d.ts +1 -1
- package/dist/esm/hooks/use-on-resize-chart.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-resize-chart.js +2 -2
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +14 -0
- package/dist/esm/interface/create-chart.d.ts.map +1 -1
- package/dist/esm/interface/create-chart.js +36 -58
- package/dist/esm/interface/delete-chart.d.ts.map +1 -1
- package/dist/esm/interface/delete-chart.js +4 -0
- package/dist/esm/interface/move-chart-to-sheet.d.ts +13 -0
- package/dist/esm/interface/move-chart-to-sheet.d.ts.map +1 -0
- package/dist/esm/interface/move-chart-to-sheet.js +126 -0
- package/dist/esm/interface/move-chart.d.ts +2 -2
- package/dist/esm/interface/move-chart.d.ts.map +1 -1
- package/dist/esm/interface/move-chart.js +7 -1
- package/dist/esm/interface/resize-chart.d.ts +2 -2
- package/dist/esm/interface/resize-chart.d.ts.map +1 -1
- package/dist/esm/interface/resize-chart.js +7 -1
- package/dist/esm/interface/update-chart.d.ts.map +1 -1
- package/dist/esm/interface/update-chart.js +4 -0
- package/dist/esm/plotly/basic-chart/basic-chart.d.ts +1 -1
- package/dist/esm/plotly/basic-chart/basic-chart.d.ts.map +1 -1
- package/dist/esm/plotly/basic-chart/basic-chart.js +858 -463
- package/dist/esm/plotly/basic-chart/helpers.d.ts.map +1 -1
- package/dist/esm/plotly/basic-chart/helpers.js +3 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types.d.ts +7 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/utils/axis-number-format.d.ts +69 -0
- package/dist/esm/utils/axis-number-format.d.ts.map +1 -0
- package/dist/esm/utils/axis-number-format.js +170 -0
- package/dist/esm/utils/category-levels.d.ts +27 -0
- package/dist/esm/utils/category-levels.d.ts.map +1 -0
- package/dist/esm/utils/category-levels.js +65 -0
- package/dist/esm/utils/chart-image.d.ts +8 -0
- package/dist/esm/utils/chart-image.d.ts.map +1 -0
- package/dist/esm/utils/chart-image.js +24 -0
- package/dist/esm/utils/chart-orientation.d.ts +67 -0
- package/dist/esm/utils/chart-orientation.d.ts.map +1 -0
- package/dist/esm/utils/chart-orientation.js +234 -0
- package/dist/esm/utils/chart-spec-utils.d.ts +3 -0
- package/dist/esm/utils/chart-spec-utils.d.ts.map +1 -1
- package/dist/esm/utils/chart-spec-utils.js +10 -2
- package/dist/esm/utils/chart-styles.d.ts +75 -0
- package/dist/esm/utils/chart-styles.d.ts.map +1 -0
- package/dist/esm/utils/chart-styles.js +357 -0
- package/dist/esm/utils/empty-cells.d.ts +30 -0
- package/dist/esm/utils/empty-cells.d.ts.map +1 -0
- package/dist/esm/utils/empty-cells.js +67 -0
- package/dist/esm/utils/overrides.d.ts +6 -1
- package/dist/esm/utils/overrides.d.ts.map +1 -1
- package/dist/esm/utils/overrides.js +14 -2
- package/dist/esm/utils/pie-explosion.d.ts +30 -0
- package/dist/esm/utils/pie-explosion.d.ts.map +1 -0
- package/dist/esm/utils/pie-explosion.js +43 -0
- package/dist/esm/utils/plotly-click.d.ts +34 -0
- package/dist/esm/utils/plotly-click.d.ts.map +1 -0
- package/dist/esm/utils/plotly-click.js +44 -0
- package/dist/esm/utils/plotly-surface.d.ts +14 -0
- package/dist/esm/utils/plotly-surface.d.ts.map +1 -0
- package/dist/esm/utils/plotly-surface.js +45 -0
- package/dist/esm/utils/plotly-title.d.ts +12 -0
- package/dist/esm/utils/plotly-title.d.ts.map +1 -0
- package/dist/esm/utils/plotly-title.js +20 -0
- package/dist/esm/utils/series-click.d.ts +39 -0
- package/dist/esm/utils/series-click.d.ts.map +1 -0
- package/dist/esm/utils/series-click.js +66 -0
- package/dist/esm/utils/three-d.d.ts +17 -1
- package/dist/esm/utils/three-d.d.ts.map +1 -1
- package/dist/esm/utils/three-d.js +29 -3
- package/package.json +10 -6
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { CellInterface } from "@rowsncolumns/common-types";
|
|
2
|
+
import type { PivotTable } from "@rowsncolumns/spreadsheet";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { type PivotChartRequest } from "../../atoms/pivot-chart.atom";
|
|
5
|
+
/**
|
|
6
|
+
* What the PivotChart dialog hands back: bind to an existing pivot, or
|
|
7
|
+
* create `newPivotTable` first (Excel's Insert → PivotChart on a plain
|
|
8
|
+
* range creates an empty PivotTable and an empty PivotChart side by side;
|
|
9
|
+
* both fill in as fields are added). `anchorCell` is where the chart frame
|
|
10
|
+
* goes — to the right of a new pivot, at the active cell otherwise.
|
|
11
|
+
*/
|
|
12
|
+
export type PivotChartSubmission = {
|
|
13
|
+
sheetId: number;
|
|
14
|
+
anchorCell: CellInterface;
|
|
15
|
+
} & ({
|
|
16
|
+
pivotId: PivotTable["pivotId"];
|
|
17
|
+
} | {
|
|
18
|
+
newPivotTable: PivotTable;
|
|
19
|
+
});
|
|
20
|
+
/** Excel names pivots `PivotTable1`, `PivotTable2`, …; unnamed ones show that way. */
|
|
21
|
+
export declare const pivotTableLabel: (pivot: PivotTable, index: number) => string;
|
|
22
|
+
export type PivotChartPickerProps = {
|
|
23
|
+
request: PivotChartRequest;
|
|
24
|
+
pivotTables: PivotTable[];
|
|
25
|
+
onSubmit(submission: PivotChartSubmission): void;
|
|
26
|
+
onClose(): void;
|
|
27
|
+
};
|
|
28
|
+
export declare const PivotChartPicker: ({ request, pivotTables, onSubmit, onClose, }: PivotChartPickerProps) => React.JSX.Element;
|
|
29
|
+
export type PivotChartDialogProps = {
|
|
30
|
+
pivotTables: PivotTable[];
|
|
31
|
+
onSubmit(submission: PivotChartSubmission): void;
|
|
32
|
+
};
|
|
33
|
+
export declare const PivotChartDialog: ({ pivotTables, onSubmit, }: PivotChartDialogProps) => React.JSX.Element;
|
|
34
|
+
/**
|
|
35
|
+
* The grid's `onRequestCreatePivotChart`: a request from a pivot's own
|
|
36
|
+
* context menu binds straight away; Insert → PivotChart opens the dialog.
|
|
37
|
+
*/
|
|
38
|
+
export declare const useRequestCreatePivotChart: (onSubmit: (submission: PivotChartSubmission) => void) => (sheetId: number, activeCell: CellInterface, selections: PivotChartRequest["selections"], pivotId?: PivotTable["pivotId"]) => void;
|
|
39
|
+
//# sourceMappingURL=pivot-chart-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pivot-chart-dialog.d.ts","sourceRoot":"","sources":["../../../../components/dialogs/pivot-chart-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAY5D,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,8BAA8B,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,aAAa,CAAC;CAC3B,GAAG,CAAC;IAAE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;CAAE,GAAG;IAAE,aAAa,EAAE,UAAU,CAAA;CAAE,CAAC,CAAC;AAEzE,sFAAsF;AACtF,eAAO,MAAM,eAAe,GAAI,OAAO,UAAU,EAAE,OAAO,MAAM,WAChB,CAAC;AAOjD,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjD,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,8CAK9B,qBAAqB,sBAmFvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,4BAG9B,qBAAqB,sBA8BvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GACrC,UAAU,CAAC,UAAU,EAAE,oBAAoB,KAAK,IAAI,eAKvC,MAAM,cACH,aAAa,cACb,iBAAiB,CAAC,YAAY,CAAC,YACjC,UAAU,CAAC,SAAS,CAAC,SAUpC,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useRequestCreatePivotChart = exports.PivotChartDialog = exports.PivotChartPicker = exports.pivotTableLabel = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var icons_1 = require("@rowsncolumns/icons");
|
|
6
|
+
var spreadsheet_1 = require("@rowsncolumns/spreadsheet");
|
|
7
|
+
var ui_1 = require("@rowsncolumns/ui");
|
|
8
|
+
var utils_1 = require("@rowsncolumns/utils");
|
|
9
|
+
var react_1 = tslib_1.__importStar(require("react"));
|
|
10
|
+
var pivot_chart_atom_1 = require("../../atoms/pivot-chart.atom");
|
|
11
|
+
/** Excel names pivots `PivotTable1`, `PivotTable2`, …; unnamed ones show that way. */
|
|
12
|
+
var pivotTableLabel = function (pivot, index) { var _a; return ((_a = pivot.name) === null || _a === void 0 ? void 0 : _a.trim()) || "PivotTable".concat(index + 1); };
|
|
13
|
+
exports.pivotTableLabel = pivotTableLabel;
|
|
14
|
+
var NEW_PIVOT = "__new__";
|
|
15
|
+
/** Columns between a new pivot's top-left cell and its PivotChart's anchor. */
|
|
16
|
+
var CHART_GAP_COLUMNS = 4;
|
|
17
|
+
var PivotChartPicker = function (_a) {
|
|
18
|
+
var _b;
|
|
19
|
+
var request = _a.request, pivotTables = _a.pivotTables, onSubmit = _a.onSubmit, onClose = _a.onClose;
|
|
20
|
+
var sheetId = request.sheetId, activeCell = request.activeCell, selections = request.selections;
|
|
21
|
+
var selection = (_b = selections[selections.length - 1]) === null || _b === void 0 ? void 0 : _b.range;
|
|
22
|
+
var canCreate = selection !== undefined;
|
|
23
|
+
var _c = tslib_1.__read((0, react_1.useState)(pivotTables.length
|
|
24
|
+
? String(pivotTables[0].pivotId)
|
|
25
|
+
: canCreate
|
|
26
|
+
? NEW_PIVOT
|
|
27
|
+
: ""), 2), choice = _c[0], setChoice = _c[1];
|
|
28
|
+
var submit = function (event) {
|
|
29
|
+
event.preventDefault();
|
|
30
|
+
if (choice === NEW_PIVOT && selection) {
|
|
31
|
+
onSubmit({
|
|
32
|
+
sheetId: sheetId,
|
|
33
|
+
anchorCell: {
|
|
34
|
+
rowIndex: activeCell.rowIndex,
|
|
35
|
+
columnIndex: activeCell.columnIndex + CHART_GAP_COLUMNS,
|
|
36
|
+
},
|
|
37
|
+
newPivotTable: {
|
|
38
|
+
pivotId: (0, utils_1.uuidString)(),
|
|
39
|
+
rows: [],
|
|
40
|
+
columns: [],
|
|
41
|
+
values: [],
|
|
42
|
+
source: tslib_1.__assign(tslib_1.__assign({}, selection), { sheetId: sheetId }),
|
|
43
|
+
targetPosition: tslib_1.__assign(tslib_1.__assign({}, activeCell), { sheetId: sheetId }),
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
var pivot = pivotTables.find(function (p) { return String(p.pivotId) === choice; });
|
|
49
|
+
if (!pivot)
|
|
50
|
+
return;
|
|
51
|
+
onSubmit({ sheetId: sheetId, anchorCell: activeCell, pivotId: pivot.pivotId });
|
|
52
|
+
}
|
|
53
|
+
onClose();
|
|
54
|
+
};
|
|
55
|
+
return (react_1.default.createElement("form", { onSubmit: submit },
|
|
56
|
+
react_1.default.createElement(ui_1.Stack, { direction: "vertical", className: "pb-2 gap-2" },
|
|
57
|
+
react_1.default.createElement("div", { className: "font-system text-sm" }, "Choose the PivotTable to chart"),
|
|
58
|
+
react_1.default.createElement(ui_1.Stack, { direction: "vertical", className: "gap-1", role: "radiogroup" },
|
|
59
|
+
pivotTables.map(function (pivot, index) { return (react_1.default.createElement("label", { key: String(pivot.pivotId), className: "font-system text-sm items-center flex gap-1" },
|
|
60
|
+
react_1.default.createElement("input", { type: "radio", name: "pivot", className: "m-0", value: String(pivot.pivotId), checked: choice === String(pivot.pivotId), onChange: function () { return setChoice(String(pivot.pivotId)); } }),
|
|
61
|
+
(0, exports.pivotTableLabel)(pivot, index))); }),
|
|
62
|
+
react_1.default.createElement("label", { className: "font-system text-sm items-center flex gap-1" },
|
|
63
|
+
react_1.default.createElement("input", { type: "radio", name: "pivot", className: "m-0", value: NEW_PIVOT, disabled: !canCreate, checked: choice === NEW_PIVOT, onChange: function () { return setChoice(NEW_PIVOT); } }),
|
|
64
|
+
"New PivotTable from the current selection"))),
|
|
65
|
+
react_1.default.createElement("div", { className: "flex gap-1 pt-2" },
|
|
66
|
+
react_1.default.createElement(ui_1.Button, { type: "submit", variant: "primary", size: "xs", disabled: !choice }, "Insert"),
|
|
67
|
+
react_1.default.createElement(ui_1.Button, { size: "xs", type: "button", onClick: onClose }, "Cancel"))));
|
|
68
|
+
};
|
|
69
|
+
exports.PivotChartPicker = PivotChartPicker;
|
|
70
|
+
var PivotChartDialog = function (_a) {
|
|
71
|
+
var pivotTables = _a.pivotTables, onSubmit = _a.onSubmit;
|
|
72
|
+
var _b = tslib_1.__read((0, pivot_chart_atom_1.usePivotChartRequest)(), 2), request = _b[0], setRequest = _b[1];
|
|
73
|
+
var focusSheet = (0, spreadsheet_1.useFocusSheet)();
|
|
74
|
+
var closeDialog = function () {
|
|
75
|
+
setRequest(undefined);
|
|
76
|
+
focusSheet === null || focusSheet === void 0 ? void 0 : focusSheet();
|
|
77
|
+
};
|
|
78
|
+
return (react_1.default.createElement(ui_1.Dialog, { modal: false, open: request !== undefined },
|
|
79
|
+
react_1.default.createElement(ui_1.DialogContent, { onEscapeKeyDown: closeDialog, className: "translate-y-1/2" },
|
|
80
|
+
react_1.default.createElement(ui_1.DialogTitle, { className: "rnc-drag-handle cursor-move" }, "Insert PivotChart"),
|
|
81
|
+
react_1.default.createElement(ui_1.DialogBody, null, request ? (react_1.default.createElement(exports.PivotChartPicker, { key: "".concat(request.sheetId, ":").concat(request.activeCell.rowIndex, ":").concat(request.activeCell.columnIndex), request: request, pivotTables: pivotTables, onSubmit: onSubmit, onClose: closeDialog })) : null),
|
|
82
|
+
react_1.default.createElement(ui_1.DialogCloseButton, { onClick: closeDialog },
|
|
83
|
+
react_1.default.createElement(icons_1.Cross2Icon, null)))));
|
|
84
|
+
};
|
|
85
|
+
exports.PivotChartDialog = PivotChartDialog;
|
|
86
|
+
/**
|
|
87
|
+
* The grid's `onRequestCreatePivotChart`: a request from a pivot's own
|
|
88
|
+
* context menu binds straight away; Insert → PivotChart opens the dialog.
|
|
89
|
+
*/
|
|
90
|
+
var useRequestCreatePivotChart = function (onSubmit) {
|
|
91
|
+
var setRequest = (0, pivot_chart_atom_1.useSetPivotChartRequest)();
|
|
92
|
+
return (0, react_1.useCallback)(function (sheetId, activeCell, selections, pivotId) {
|
|
93
|
+
if (pivotId !== undefined) {
|
|
94
|
+
onSubmit({ sheetId: sheetId, anchorCell: activeCell, pivotId: pivotId });
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
setRequest({ sheetId: sheetId, activeCell: activeCell, selections: selections });
|
|
98
|
+
}, [onSubmit, setRequest]);
|
|
99
|
+
};
|
|
100
|
+
exports.useRequestCreatePivotChart = useRequestCreatePivotChart;
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import type { EmbeddedChart } from "@rowsncolumns/spreadsheet";
|
|
2
2
|
import React from "react";
|
|
3
|
+
import { type ChartCellLabelGetter } from "../../utils/chart-orientation";
|
|
3
4
|
type ChartEditorProps = {
|
|
4
5
|
chart?: EmbeddedChart;
|
|
5
6
|
sheetId: number;
|
|
6
7
|
onSubmit?(chart: EmbeddedChart): void;
|
|
8
|
+
/**
|
|
9
|
+
* Excel's "Move Chart…" (Design → Move Chart): offered as a button in the
|
|
10
|
+
* Properties section when provided — the host opens its dialog (e.g.
|
|
11
|
+
* `useOpenMoveChartDialog`).
|
|
12
|
+
*/
|
|
13
|
+
onRequestMoveChart?(chart: EmbeddedChart): void;
|
|
14
|
+
/**
|
|
15
|
+
* Formatted cell text — names the series Switch Row/Column derives
|
|
16
|
+
* from the data range. Without it the switched series are unnamed.
|
|
17
|
+
*/
|
|
18
|
+
getFormattedValue?: ChartCellLabelGetter;
|
|
7
19
|
};
|
|
8
|
-
export declare const ChartEditor: ({ chart, sheetId, onSubmit }: ChartEditorProps) => React.JSX.Element;
|
|
20
|
+
export declare const ChartEditor: ({ chart, sheetId, onSubmit, onRequestMoveChart, getFormattedValue, }: ChartEditorProps) => React.JSX.Element;
|
|
9
21
|
export default ChartEditor;
|
|
10
22
|
//# sourceMappingURL=chart-editor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-editor.d.ts","sourceRoot":"","sources":["../../../../components/editors/chart-editor.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,aAAa,
|
|
1
|
+
{"version":3,"file":"chart-editor.d.ts","sourceRoot":"","sources":["../../../../components/editors/chart-editor.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,aAAa,EAGd,MAAM,2BAA2B,CAAC;AAuBnC,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC,OAAO,EAEL,KAAK,oBAAoB,EAG1B,MAAM,+BAA+B,CAAC;AA4CvC,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC;;;;OAIG;IACH,kBAAkB,CAAC,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAChD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;CAC1C,CAAC;AAuBF,eAAO,MAAM,WAAW,GAAI,sEAMzB,gBAAgB,sBA+5DlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|