blixify-ui-web 1.2.184 → 1.2.186

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.
Files changed (44) hide show
  1. package/lib/components/chart/pieChart/index.d.ts +1 -0
  2. package/lib/components/chart/pieChart/index.d.ts.map +1 -1
  3. package/lib/components/chart/pieChart/index.js +7 -0
  4. package/lib/components/chart/pieChart/index.js.map +1 -1
  5. package/lib/components/data/dataGraph/chartErrorBoundary.d.ts +28 -0
  6. package/lib/components/data/dataGraph/chartErrorBoundary.d.ts.map +1 -0
  7. package/lib/components/data/dataGraph/chartErrorBoundary.js +50 -0
  8. package/lib/components/data/dataGraph/chartErrorBoundary.js.map +1 -0
  9. package/lib/components/data/dataGraph/chartErrors.d.ts +28 -0
  10. package/lib/components/data/dataGraph/chartErrors.d.ts.map +1 -0
  11. package/lib/components/data/dataGraph/chartErrors.js +116 -0
  12. package/lib/components/data/dataGraph/chartErrors.js.map +1 -0
  13. package/lib/components/data/dataGraph/chartResults.d.ts +81 -0
  14. package/lib/components/data/dataGraph/chartResults.d.ts.map +1 -0
  15. package/lib/components/data/dataGraph/chartResults.js +200 -0
  16. package/lib/components/data/dataGraph/chartResults.js.map +1 -0
  17. package/lib/components/data/dataGraph/index.d.ts +16 -0
  18. package/lib/components/data/dataGraph/index.d.ts.map +1 -1
  19. package/lib/components/data/dataGraph/index.js +788 -324
  20. package/lib/components/data/dataGraph/index.js.map +1 -1
  21. package/lib/components/data/dataTemplate/chartBuilder.d.ts +47 -0
  22. package/lib/components/data/dataTemplate/chartBuilder.d.ts.map +1 -0
  23. package/lib/components/data/dataTemplate/chartBuilder.js +234 -0
  24. package/lib/components/data/dataTemplate/chartBuilder.js.map +1 -0
  25. package/lib/components/data/dataTemplate/chartView.d.ts.map +1 -1
  26. package/lib/components/data/dataTemplate/chartView.js +243 -64
  27. package/lib/components/data/dataTemplate/chartView.js.map +1 -1
  28. package/lib/components/data/dataTemplate/index.d.ts.map +1 -1
  29. package/lib/components/data/dataTemplate/index.js +224 -200
  30. package/lib/components/data/dataTemplate/index.js.map +1 -1
  31. package/lib/components/data/dataTemplate/model.d.ts +3 -0
  32. package/lib/components/data/dataTemplate/model.d.ts.map +1 -1
  33. package/lib/components/data/dataTemplate/spaceModel.d.ts +9 -0
  34. package/lib/components/data/dataTemplate/spaceModel.d.ts.map +1 -1
  35. package/lib/components/data/dataTemplate/viewStatePersistence.d.ts +2 -0
  36. package/lib/components/data/dataTemplate/viewStatePersistence.d.ts.map +1 -1
  37. package/lib/components/data/dataTemplate/viewStatePersistence.js +9 -3
  38. package/lib/components/data/dataTemplate/viewStatePersistence.js.map +1 -1
  39. package/lib/components/data/flexFilter/index.d.ts +34 -2
  40. package/lib/components/data/flexFilter/index.d.ts.map +1 -1
  41. package/lib/components/data/flexFilter/index.js +158 -7
  42. package/lib/components/data/flexFilter/index.js.map +1 -1
  43. package/lib/tail.css +1 -1
  44. package/package.json +1 -1
@@ -11,6 +11,7 @@ interface Props extends ChartUtils, LinkProps {
11
11
  newTabUrl?: string;
12
12
  legendPos?: "top" | "bottom" | "right" | "left";
13
13
  legendAlign?: "right" | "left" | "center";
14
+ onClick?: (index: number) => void;
14
15
  }
15
16
  export declare class PieChart extends Component<Props> {
16
17
  state: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chart/pieChart/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAQ,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,UAAU,KAAM,SAAQ,UAAU,EAAE,SAAS;IAC3C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAChD,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;CAC3C;AAED,qBAAa,QAAS,SAAQ,SAAS,CAAC,KAAK,CAAC;IAC5C,KAAK;;;MAGH;IAEF,iBAAiB,sBAcf;IAEF,WAAW,0BAgHT;IAEF,sBAAsB;;;MAOpB;IAEF,MAAM;CA4CP"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chart/pieChart/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAQ,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,UAAU,KAAM,SAAQ,UAAU,EAAE,SAAS;IAC3C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAChD,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,qBAAa,QAAS,SAAQ,SAAS,CAAC,KAAK,CAAC;IAC5C,KAAK;;;MAGH;IAEF,iBAAiB,sBAcf;IAEF,WAAW,0BAsHT;IAEF,sBAAsB;;;MAOpB;IAEF,MAAM;CA4CP"}
@@ -145,6 +145,13 @@ var PieChart = /** @class */ (function (_super) {
145
145
  return (react_1.default.createElement(react_1.default.Fragment, null, APEXModule && (react_1.default.createElement(APEXModule, { options: {
146
146
  chart: {
147
147
  foreColor: chartTextColor,
148
+ events: {
149
+ dataPointSelection: function (_event, _context, config) {
150
+ var _a, _b;
151
+ if (config && config.dataPointIndex !== -1)
152
+ (_b = (_a = _this.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, config.dataPointIndex);
153
+ },
154
+ },
148
155
  },
149
156
  labels: labelList,
150
157
  tooltip: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/chart/pieChart/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/chart/pieChart/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Component, ReactNode } from "react";
2
+ interface Props {
3
+ resetKey: string;
4
+ renderFallback: (error: Error) => ReactNode;
5
+ children: ReactNode;
6
+ }
7
+ interface State {
8
+ error: Error | null;
9
+ resetKey: string;
10
+ }
11
+ /**
12
+ * Catches a chart that throws while drawing, so one broken chart shows its
13
+ * own error card instead of unmounting the whole page around it.
14
+ */
15
+ export declare class ChartErrorBoundary extends Component<Props, State> {
16
+ state: State;
17
+ static getDerivedStateFromError(error: Error): {
18
+ error: Error;
19
+ };
20
+ static getDerivedStateFromProps(props: Props, state: State): {
21
+ error: null;
22
+ resetKey: string;
23
+ } | null;
24
+ componentDidCatch(error: Error): void;
25
+ render(): ReactNode;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=chartErrorBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/chartErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7C,UAAU,KAAK;IAEb,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC;IAC5C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,UAAU,KAAK;IACb,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC7D,KAAK,EAAE,KAAK,CAAkD;IAE9D,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK;;;IAI5C,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;;;;IAM1D,iBAAiB,CAAC,KAAK,EAAE,KAAK;IAI9B,MAAM;CAIP"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ChartErrorBoundary = void 0;
19
+ var react_1 = require("react");
20
+ /**
21
+ * Catches a chart that throws while drawing, so one broken chart shows its
22
+ * own error card instead of unmounting the whole page around it.
23
+ */
24
+ var ChartErrorBoundary = /** @class */ (function (_super) {
25
+ __extends(ChartErrorBoundary, _super);
26
+ function ChartErrorBoundary() {
27
+ var _this = _super !== null && _super.apply(this, arguments) || this;
28
+ _this.state = { error: null, resetKey: _this.props.resetKey };
29
+ return _this;
30
+ }
31
+ ChartErrorBoundary.getDerivedStateFromError = function (error) {
32
+ return { error: error };
33
+ };
34
+ ChartErrorBoundary.getDerivedStateFromProps = function (props, state) {
35
+ if (props.resetKey !== state.resetKey)
36
+ return { error: null, resetKey: props.resetKey };
37
+ return null;
38
+ };
39
+ ChartErrorBoundary.prototype.componentDidCatch = function (error) {
40
+ console.error("[DataGraph] - chart failed to draw:", error);
41
+ };
42
+ ChartErrorBoundary.prototype.render = function () {
43
+ if (this.state.error)
44
+ return this.props.renderFallback(this.state.error);
45
+ return this.props.children;
46
+ };
47
+ return ChartErrorBoundary;
48
+ }(react_1.Component));
49
+ exports.ChartErrorBoundary = ChartErrorBoundary;
50
+ //# sourceMappingURL=chartErrorBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartErrorBoundary.js","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/chartErrorBoundary.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+BAA6C;AAc7C;;;GAGG;AACH;IAAwC,sCAAuB;IAA/D;;QACE,WAAK,GAAU,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;;IAoBhE,CAAC;IAlBQ,2CAAwB,GAA/B,UAAgC,KAAY;QAC1C,OAAO,EAAE,KAAK,OAAA,EAAE,CAAC;IACnB,CAAC;IAEM,2CAAwB,GAA/B,UAAgC,KAAY,EAAE,KAAY;QACxD,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;YACnC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8CAAiB,GAAjB,UAAkB,KAAY;QAC5B,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,mCAAM,GAAN;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IACH,yBAAC;AAAD,CAAC,AArBD,CAAwC,iBAAS,GAqBhD;AArBY,gDAAkB"}
@@ -0,0 +1,28 @@
1
+ import { DataStructure } from "../dataTemplate/model";
2
+ import { Charts } from "../dataTemplate/spaceModel";
3
+ /**
4
+ * What a chart shows when it can't draw: a sentence the person reading the
5
+ * chart can act on, and the technical cause kept for whoever debugs it.
6
+ */
7
+ export interface ChartErrorInfo {
8
+ message: string;
9
+ details: string;
10
+ }
11
+ export declare const CHART_LOAD_FAILED = "Couldn't load \u2014 retry";
12
+ export declare const CHART_NO_ACCESS = "You don't have access to this datasheet";
13
+ export declare const CHART_DRAW_FAILED = "This chart couldn't be drawn \u2014 retry";
14
+ /**
15
+ * A chart that can't work with the datasheet's columns, found before any
16
+ * request is sent. Without the structure nothing is checked.
17
+ */
18
+ export declare const handleCheckChartColumns: (chart: Charts, structure?: DataStructure[]) => ChartErrorInfo | null;
19
+ /**
20
+ * The technical text of a failed request. ReadQuery throws the route's JSON
21
+ * body as a string, and anything else as an Error.
22
+ */
23
+ export declare const handleReadErrorDetails: (err: unknown) => string;
24
+ /**
25
+ * The sentence a failed chart request shows, from the route's error.
26
+ */
27
+ export declare const handleDescribeChartError: (err: unknown, chart: Charts) => ChartErrorInfo;
28
+ //# sourceMappingURL=chartErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartErrors.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/chartErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD,eAAO,MAAM,iBAAiB,+BAA0B,CAAC;AACzD,eAAO,MAAM,eAAe,4CAA4C,CAAC;AACzE,eAAO,MAAM,iBAAiB,8CAAyC,CAAC;AASxE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,UAC3B,MAAM,cACD,aAAa,EAAE,KAC1B,cAAc,GAAG,IA8BnB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAS,OAAO,KAAG,MAiBrD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,QAC9B,OAAO,SACL,MAAM,KACZ,cAyBF,CAAC"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleDescribeChartError = exports.handleReadErrorDetails = exports.handleCheckChartColumns = exports.CHART_DRAW_FAILED = exports.CHART_NO_ACCESS = exports.CHART_LOAD_FAILED = void 0;
4
+ var MEASURE_LABEL = {
5
+ sum: "Sum",
6
+ avg: "Average",
7
+ };
8
+ exports.CHART_LOAD_FAILED = "Couldn't load — retry";
9
+ exports.CHART_NO_ACCESS = "You don't have access to this datasheet";
10
+ exports.CHART_DRAW_FAILED = "This chart couldn't be drawn — retry";
11
+ var handleMeasuredColumns = function (chart) {
12
+ var _a;
13
+ return chart.queryBaseType === "sum" ||
14
+ chart.queryBaseType === "avg" ||
15
+ chart.type === "radar"
16
+ ? (_a = chart.queryAttributeId) !== null && _a !== void 0 ? _a : []
17
+ : [];
18
+ };
19
+ /**
20
+ * A chart that can't work with the datasheet's columns, found before any
21
+ * request is sent. Without the structure nothing is checked.
22
+ */
23
+ var handleCheckChartColumns = function (chart, structure) {
24
+ var _a, _b, _c;
25
+ var measured = handleMeasuredColumns(chart);
26
+ var label = (_b = MEASURE_LABEL[(_a = chart.queryBaseType) !== null && _a !== void 0 ? _a : ""]) !== null && _b !== void 0 ? _b : "This chart";
27
+ if ((chart.queryBaseType === "sum" ||
28
+ chart.queryBaseType === "avg" ||
29
+ chart.type === "radar") &&
30
+ measured.length === 0)
31
+ return {
32
+ message: "".concat(label, " needs a number column \u2014 pick one in Measure"),
33
+ details: "queryBaseType ".concat(chart.queryBaseType, " with no queryAttributeId"),
34
+ };
35
+ if (!(structure === null || structure === void 0 ? void 0 : structure.length))
36
+ return null;
37
+ var _loop_1 = function (columnId) {
38
+ var column = structure.find(function (each) { return each.id === columnId; });
39
+ if (!column)
40
+ return { value: {
41
+ message: "The column this chart measures is no longer on the datasheet \u2014 pick another in Measure",
42
+ details: "queryAttributeId ".concat(columnId, " not in structure"),
43
+ } };
44
+ if (column.type !== "number")
45
+ return { value: {
46
+ message: "".concat((_c = column.name) !== null && _c !== void 0 ? _c : column.id, " has text values, so it can't be ").concat(chart.queryBaseType === "avg" ? "averaged" : "summed"),
47
+ details: "queryAttributeId ".concat(columnId, " is type ").concat(column.type),
48
+ } };
49
+ };
50
+ for (var _i = 0, measured_1 = measured; _i < measured_1.length; _i++) {
51
+ var columnId = measured_1[_i];
52
+ var state_1 = _loop_1(columnId);
53
+ if (typeof state_1 === "object")
54
+ return state_1.value;
55
+ }
56
+ return null;
57
+ };
58
+ exports.handleCheckChartColumns = handleCheckChartColumns;
59
+ /**
60
+ * The technical text of a failed request. ReadQuery throws the route's JSON
61
+ * body as a string, and anything else as an Error.
62
+ */
63
+ var handleReadErrorDetails = function (err) {
64
+ var _a, _b, _c;
65
+ if (typeof err === "string") {
66
+ try {
67
+ var parsed = JSON.parse(err);
68
+ var inner = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.err) !== null && _a !== void 0 ? _a : parsed;
69
+ if (typeof inner === "string")
70
+ return inner;
71
+ return (_c = (_b = inner === null || inner === void 0 ? void 0 : inner.details) !== null && _b !== void 0 ? _b : inner === null || inner === void 0 ? void 0 : inner.message) !== null && _c !== void 0 ? _c : JSON.stringify(inner);
72
+ }
73
+ catch (_d) {
74
+ return err;
75
+ }
76
+ }
77
+ if (err instanceof Error)
78
+ return err.message;
79
+ try {
80
+ return JSON.stringify(err);
81
+ }
82
+ catch (_e) {
83
+ return String(err);
84
+ }
85
+ };
86
+ exports.handleReadErrorDetails = handleReadErrorDetails;
87
+ /**
88
+ * The sentence a failed chart request shows, from the route's error.
89
+ */
90
+ var handleDescribeChartError = function (err, chart) {
91
+ var _a, _b;
92
+ var details = (0, exports.handleReadErrorDetails)(err);
93
+ var lower = details.toLowerCase();
94
+ if (lower.includes("security") ||
95
+ lower.includes("unauthor") ||
96
+ lower.includes("forbidden") ||
97
+ lower.includes("401") ||
98
+ lower.includes("403"))
99
+ return { message: exports.CHART_NO_ACCESS, details: details };
100
+ // INFO: Mongo's answer when $sum/$avg is sent an empty field path
101
+ if (lower.includes("fieldpath") || lower.includes("field path")) {
102
+ var label = (_b = MEASURE_LABEL[(_a = chart.queryBaseType) !== null && _a !== void 0 ? _a : ""]) !== null && _b !== void 0 ? _b : "This chart";
103
+ return {
104
+ message: "".concat(label, " needs a number column \u2014 pick one in Measure"),
105
+ details: details,
106
+ };
107
+ }
108
+ if (lower.includes("range"))
109
+ return {
110
+ message: "The date range couldn't be read — pick it again",
111
+ details: details,
112
+ };
113
+ return { message: exports.CHART_LOAD_FAILED, details: details };
114
+ };
115
+ exports.handleDescribeChartError = handleDescribeChartError;
116
+ //# sourceMappingURL=chartErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartErrors.js","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/chartErrors.ts"],"names":[],"mappings":";;;AAYA,IAAM,aAAa,GAA8B;IAC/C,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,SAAS;CACf,CAAC;AAEW,QAAA,iBAAiB,GAAG,uBAAuB,CAAC;AAC5C,QAAA,eAAe,GAAG,yCAAyC,CAAC;AAC5D,QAAA,iBAAiB,GAAG,sCAAsC,CAAC;AAExE,IAAM,qBAAqB,GAAG,UAAC,KAAa;;IAC1C,OAAA,KAAK,CAAC,aAAa,KAAK,KAAK;QAC7B,KAAK,CAAC,aAAa,KAAK,KAAK;QAC7B,KAAK,CAAC,IAAI,KAAK,OAAO;QACpB,CAAC,CAAC,MAAA,KAAK,CAAC,gBAAgB,mCAAI,EAAE;QAC9B,CAAC,CAAC,EAAE,CAAA;CAAA,CAAC;AAET;;;GAGG;AACI,IAAM,uBAAuB,GAAG,UACrC,KAAa,EACb,SAA2B;;IAE3B,IAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAM,KAAK,GAAG,MAAA,aAAa,CAAC,MAAA,KAAK,CAAC,aAAa,mCAAI,EAAE,CAAC,mCAAI,YAAY,CAAC;IACvE,IACE,CAAC,KAAK,CAAC,aAAa,KAAK,KAAK;QAC5B,KAAK,CAAC,aAAa,KAAK,KAAK;QAC7B,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;QACzB,QAAQ,CAAC,MAAM,KAAK,CAAC;QAErB,OAAO;YACL,OAAO,EAAE,UAAG,KAAK,sDAA8C;YAC/D,OAAO,EAAE,wBAAiB,KAAK,CAAC,aAAa,8BAA2B;SACzE,CAAC;IACJ,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA;QAAE,OAAO,IAAI,CAAC;4BACzB,QAAQ;QACjB,IAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,EAAE,KAAK,QAAQ,EAApB,CAAoB,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM;4BACF;oBACL,OAAO,EAAE,6FAAwF;oBACjG,OAAO,EAAE,2BAAoB,QAAQ,sBAAmB;iBACzD,GAAC;QACJ,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;4BACnB;oBACL,OAAO,EAAE,UAAG,MAAA,MAAM,CAAC,IAAI,mCAAI,MAAM,CAAC,EAAE,8CAClC,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CACrD;oBACF,OAAO,EAAE,2BAAoB,QAAQ,sBAAY,MAAM,CAAC,IAAI,CAAE;iBAC/D,GAAC;;IAbN,KAAuB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ;QAA1B,IAAM,QAAQ,iBAAA;8BAAR,QAAQ;;;KAclB;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAjCW,QAAA,uBAAuB,2BAiClC;AAEF;;;GAGG;AACI,IAAM,sBAAsB,GAAG,UAAC,GAAY;;IACjD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAM,KAAK,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,mCAAI,MAAM,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC5C,OAAO,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnE,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAjBW,QAAA,sBAAsB,0BAiBjC;AAEF;;GAEG;AACI,IAAM,wBAAwB,GAAG,UACtC,GAAY,EACZ,KAAa;;IAEb,IAAM,OAAO,GAAG,IAAA,8BAAsB,EAAC,GAAG,CAAC,CAAC;IAC5C,IAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,IACE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1B,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1B,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC3B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAErB,OAAO,EAAE,OAAO,EAAE,uBAAe,EAAE,OAAO,SAAA,EAAE,CAAC;IAC/C,kEAAkE;IAClE,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,IAAM,KAAK,GAAG,MAAA,aAAa,CAAC,MAAA,KAAK,CAAC,aAAa,mCAAI,EAAE,CAAC,mCAAI,YAAY,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,UAAG,KAAK,sDAA8C;YAC/D,OAAO,SAAA;SACR,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,iDAAiD;YAC1D,OAAO,SAAA;SACR,CAAC;IACJ,OAAO,EAAE,OAAO,EAAE,yBAAiB,EAAE,OAAO,SAAA,EAAE,CAAC;AACjD,CAAC,CAAC;AA5BW,QAAA,wBAAwB,4BA4BnC"}
@@ -0,0 +1,81 @@
1
+ import { DataStructure } from "../dataTemplate/model";
2
+ import { Query } from "../readQuery";
3
+ /**
4
+ * Pure helpers that turn what the aggregate route returns into the points a
5
+ * chart draws — kept apart from DataGraph so every rule is tested without
6
+ * rendering a chart.
7
+ */
8
+ export type ChartDateInterval = "day" | "week" | "month";
9
+ export interface ChartPoint {
10
+ x: string;
11
+ y: number;
12
+ key?: any;
13
+ query?: Query[];
14
+ }
15
+ export interface ChartShapeOptions {
16
+ sortBy?: "value" | "label";
17
+ sortDirection?: "asc" | "desc";
18
+ topN?: number;
19
+ showOthers?: boolean;
20
+ showPercent?: boolean;
21
+ cumulative?: boolean;
22
+ measure?: "count" | "avg" | "sum" | "value";
23
+ }
24
+ export declare const OTHERS_LABEL = "Others";
25
+ export declare const EMPTY_GROUP_LABEL = "No Value";
26
+ export declare const MAX_DATE_BUCKETS = 60;
27
+ /**
28
+ * A chart value as a number, or null when it is not one.
29
+ *
30
+ * INFO: the charts take numbers only — a value rounded with toFixed became a
31
+ * string, which ApexCharts and the pie's own total add as text, so a sum with
32
+ * decimals drew NaN or threw. Rounding stays numeric here.
33
+ */
34
+ export declare const handleToChartNumber: (value: unknown) => number | null;
35
+ /**
36
+ * The date buckets between start and end, one per day, week or month, each as
37
+ * the "from - to" range the aggregate route reads. Buckets are clipped to the
38
+ * picked range, and a range longer than MAX_DATE_BUCKETS keeps the latest.
39
+ */
40
+ export declare const handleSplitDateInterval: (start: Date, end: Date, interval: ChartDateInterval) => {
41
+ range: string;
42
+ start: Date;
43
+ end: Date;
44
+ label: string;
45
+ }[];
46
+ export declare const handleFormatBucketLabel: (date: Date, interval: ChartDateInterval) => string;
47
+ /**
48
+ * The groups of a grouped aggregate. The route answers one entry per date
49
+ * range, each holding [{ _id: group value, value }]; groups that appear in
50
+ * several ranges are added together.
51
+ */
52
+ export declare const handleFlattenGroupedResult: (raw: unknown) => {
53
+ key: any;
54
+ value: number | null;
55
+ }[];
56
+ /**
57
+ * How a group value reads on the chart: a list value by its label, a person
58
+ * or reference by the name looked up for it, a yes/no as words, and an empty
59
+ * value as EMPTY_GROUP_LABEL.
60
+ */
61
+ export declare const handleGroupKeyLabel: (key: any, column?: DataStructure, labels?: {
62
+ [id: string]: string;
63
+ }) => string;
64
+ /**
65
+ * Sort, keep the top N (the rest folded into "Others"), turn values into
66
+ * percentages of the total, and add them up over time — in that order, so a
67
+ * percentage is always of everything the chart covers.
68
+ */
69
+ export declare const handleShapeChartPoints: (points: ChartPoint[], options: ChartShapeOptions) => {
70
+ points: ChartPoint[];
71
+ hiddenKeys: any[];
72
+ };
73
+ /**
74
+ * The query that finds the records behind one group value.
75
+ *
76
+ * INFO: the aggregate groups a missing column and a stored null together as
77
+ * null, which is what Mongo's { column: null } matches; an empty string is a
78
+ * group of its own
79
+ */
80
+ export declare const handleGroupKeyQuery: (columnId: string, key: any) => Query[];
81
+ //# sourceMappingURL=chartResults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartResults.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/chartResults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC;;;;GAIG;AAEH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAEV,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;CAC7C;AAED,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAGnC;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,UAAW,OAAO,KAAG,MAAM,GAAG,IAM7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,UAC3B,IAAI,OACN,IAAI,YACC,iBAAiB;WAEH,MAAM;WAAS,IAAI;SAAO,IAAI;WAAS,MAAM;GAoBtE,CAAC;AAEF,eAAO,MAAM,uBAAuB,SAC5B,IAAI,YACA,iBAAiB,WAU5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAChC,OAAO,KACX;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAmBpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QACzB,GAAG,WACC,aAAa,WACb;IAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,KAChC,MAkBF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,WACzB,UAAU,EAAE,WACX,iBAAiB,KACzB;IAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAAC,UAAU,EAAE,GAAG,EAAE,CAAA;CA2C3C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,aAAc,MAAM,OAAO,GAAG,KAAG,KAAK,EAErE,CAAC"}
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.handleGroupKeyQuery = exports.handleShapeChartPoints = exports.handleGroupKeyLabel = exports.handleFlattenGroupedResult = exports.handleFormatBucketLabel = exports.handleSplitDateInterval = exports.handleToChartNumber = exports.MAX_DATE_BUCKETS = exports.EMPTY_GROUP_LABEL = exports.OTHERS_LABEL = void 0;
27
+ var dayjs_1 = __importDefault(require("../../dayjs"));
28
+ exports.OTHERS_LABEL = "Others";
29
+ exports.EMPTY_GROUP_LABEL = "No Value";
30
+ exports.MAX_DATE_BUCKETS = 60;
31
+ var RANGE_FORMAT = "DD/MM/YYYY HH:mm:ss";
32
+ /**
33
+ * A chart value as a number, or null when it is not one.
34
+ *
35
+ * INFO: the charts take numbers only — a value rounded with toFixed became a
36
+ * string, which ApexCharts and the pie's own total add as text, so a sum with
37
+ * decimals drew NaN or threw. Rounding stays numeric here.
38
+ */
39
+ var handleToChartNumber = function (value) {
40
+ if (value === null || value === undefined || value === "")
41
+ return null;
42
+ if (typeof value === "boolean" || typeof value === "object")
43
+ return null;
44
+ var parsed = Number(value);
45
+ if (!Number.isFinite(parsed))
46
+ return null;
47
+ return Math.round(parsed * 100) / 100;
48
+ };
49
+ exports.handleToChartNumber = handleToChartNumber;
50
+ /**
51
+ * The date buckets between start and end, one per day, week or month, each as
52
+ * the "from - to" range the aggregate route reads. Buckets are clipped to the
53
+ * picked range, and a range longer than MAX_DATE_BUCKETS keeps the latest.
54
+ */
55
+ var handleSplitDateInterval = function (start, end, interval) {
56
+ var buckets = [];
57
+ var rangeStart = (0, dayjs_1.default)(start).startOf("day");
58
+ var rangeEnd = (0, dayjs_1.default)(end).endOf("day");
59
+ if (rangeEnd.isBefore(rangeStart))
60
+ return buckets;
61
+ var cursor = rangeStart.startOf(interval);
62
+ while (!cursor.isAfter(rangeEnd)) {
63
+ var bucketEnd = cursor.endOf(interval);
64
+ var from = cursor.isBefore(rangeStart) ? rangeStart : cursor;
65
+ var to = bucketEnd.isAfter(rangeEnd) ? rangeEnd : bucketEnd;
66
+ buckets.push({
67
+ range: "".concat(from.format(RANGE_FORMAT), " - ").concat(to.format(RANGE_FORMAT)),
68
+ start: from.toDate(),
69
+ end: to.toDate(),
70
+ label: (0, exports.handleFormatBucketLabel)(cursor.toDate(), interval),
71
+ });
72
+ cursor = cursor.add(1, interval);
73
+ }
74
+ return buckets.slice(-exports.MAX_DATE_BUCKETS);
75
+ };
76
+ exports.handleSplitDateInterval = handleSplitDateInterval;
77
+ var handleFormatBucketLabel = function (date, interval) {
78
+ switch (interval) {
79
+ case "month":
80
+ return (0, dayjs_1.default)(date).format("MMM YY");
81
+ case "week":
82
+ return "Wk ".concat((0, dayjs_1.default)(date).format("DD MMM"));
83
+ default:
84
+ return (0, dayjs_1.default)(date).format("DD MMM");
85
+ }
86
+ };
87
+ exports.handleFormatBucketLabel = handleFormatBucketLabel;
88
+ /**
89
+ * The groups of a grouped aggregate. The route answers one entry per date
90
+ * range, each holding [{ _id: group value, value }]; groups that appear in
91
+ * several ranges are added together.
92
+ */
93
+ var handleFlattenGroupedResult = function (raw) {
94
+ var groups = new Map();
95
+ if (!Array.isArray(raw))
96
+ return [];
97
+ raw.forEach(function (eachRange) {
98
+ var entries = Array.isArray(eachRange === null || eachRange === void 0 ? void 0 : eachRange.value) ? eachRange.value : [];
99
+ entries.forEach(function (eachEntry) {
100
+ var _a;
101
+ var key = eachEntry === null || eachEntry === void 0 ? void 0 : eachEntry._id;
102
+ var mapKey = JSON.stringify(key !== null && key !== void 0 ? key : null);
103
+ var value = (0, exports.handleToChartNumber)(eachEntry === null || eachEntry === void 0 ? void 0 : eachEntry.value);
104
+ var existing = groups.get(mapKey);
105
+ if (existing)
106
+ existing.value =
107
+ existing.value === null && value === null
108
+ ? null
109
+ : ((_a = existing.value) !== null && _a !== void 0 ? _a : 0) + (value !== null && value !== void 0 ? value : 0);
110
+ else
111
+ groups.set(mapKey, { key: key, value: value });
112
+ });
113
+ });
114
+ return Array.from(groups.values());
115
+ };
116
+ exports.handleFlattenGroupedResult = handleFlattenGroupedResult;
117
+ /**
118
+ * How a group value reads on the chart: a list value by its label, a person
119
+ * or reference by the name looked up for it, a yes/no as words, and an empty
120
+ * value as EMPTY_GROUP_LABEL.
121
+ */
122
+ var handleGroupKeyLabel = function (key, column, labels) {
123
+ var _a;
124
+ if (key === null || key === undefined || key === "")
125
+ return exports.EMPTY_GROUP_LABEL;
126
+ if (Array.isArray(key))
127
+ return key.length
128
+ ? key.map(function (each) { return (0, exports.handleGroupKeyLabel)(each, column, labels); }).join(", ")
129
+ : exports.EMPTY_GROUP_LABEL;
130
+ if (typeof key === "boolean")
131
+ return key ? "Yes" : "No";
132
+ if ((column === null || column === void 0 ? void 0 : column.type) === "boolean")
133
+ return key === "true" || key === 1 ? "Yes" : "No";
134
+ if (key instanceof Date)
135
+ return (0, dayjs_1.default)(key).format("DD MMM YY");
136
+ var text = String(key);
137
+ if (labels === null || labels === void 0 ? void 0 : labels[text])
138
+ return labels[text];
139
+ if (column === null || column === void 0 ? void 0 : column.listSelection) {
140
+ var index = column.listSelection.indexOf(text);
141
+ if (index !== -1 && ((_a = column.listSelectionLabel) === null || _a === void 0 ? void 0 : _a[index]))
142
+ return column.listSelectionLabel[index];
143
+ }
144
+ return text;
145
+ };
146
+ exports.handleGroupKeyLabel = handleGroupKeyLabel;
147
+ /**
148
+ * Sort, keep the top N (the rest folded into "Others"), turn values into
149
+ * percentages of the total, and add them up over time — in that order, so a
150
+ * percentage is always of everything the chart covers.
151
+ */
152
+ var handleShapeChartPoints = function (points, options) {
153
+ var _a;
154
+ var shaped = __spreadArray([], points, true);
155
+ var hiddenKeys = [];
156
+ if (options.sortBy) {
157
+ var direction_1 = options.sortDirection === "asc" ? 1 : -1;
158
+ shaped.sort(function (first, second) {
159
+ return options.sortBy === "label"
160
+ ? first.x.localeCompare(second.x) * direction_1
161
+ : (first.y - second.y) * direction_1;
162
+ });
163
+ }
164
+ var total = shaped.reduce(function (sum, each) { return sum + each.y; }, 0);
165
+ if (options.topN && options.topN > 0 && shaped.length > options.topN) {
166
+ var hidden = shaped.slice(options.topN);
167
+ shaped = shaped.slice(0, options.topN);
168
+ hiddenKeys = hidden.map(function (each) { return each.key; });
169
+ // INFO: averages can't be added together, so their remainder is dropped
170
+ if (options.showOthers !== false && options.measure !== "avg")
171
+ shaped.push({
172
+ x: exports.OTHERS_LABEL,
173
+ y: (_a = (0, exports.handleToChartNumber)(hidden.reduce(function (sum, each) { return sum + each.y; }, 0))) !== null && _a !== void 0 ? _a : 0,
174
+ key: undefined,
175
+ });
176
+ }
177
+ if (options.showPercent && options.measure !== "avg" && total !== 0)
178
+ shaped = shaped.map(function (each) { return (__assign(__assign({}, each), { y: Math.round((each.y / total) * 1000) / 10 })); });
179
+ if (options.cumulative) {
180
+ var running_1 = 0;
181
+ shaped = shaped.map(function (each) {
182
+ running_1 += each.y;
183
+ return __assign(__assign({}, each), { y: Math.round(running_1 * 100) / 100 });
184
+ });
185
+ }
186
+ return { points: shaped, hiddenKeys: hiddenKeys };
187
+ };
188
+ exports.handleShapeChartPoints = handleShapeChartPoints;
189
+ /**
190
+ * The query that finds the records behind one group value.
191
+ *
192
+ * INFO: the aggregate groups a missing column and a stored null together as
193
+ * null, which is what Mongo's { column: null } matches; an empty string is a
194
+ * group of its own
195
+ */
196
+ var handleGroupKeyQuery = function (columnId, key) { return [
197
+ { type: "=", queryId: columnId, value: key !== null && key !== void 0 ? key : null },
198
+ ]; };
199
+ exports.handleGroupKeyQuery = handleGroupKeyQuery;
200
+ //# sourceMappingURL=chartResults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartResults.js","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/chartResults.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAgC;AA8BnB,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,gBAAgB,GAAG,EAAE,CAAC;AACnC,IAAM,YAAY,GAAG,qBAAqB,CAAC;AAE3C;;;;;;GAMG;AACI,IAAM,mBAAmB,GAAG,UAAC,KAAc;IAChD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACvE,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzE,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACxC,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEF;;;;GAIG;AACI,IAAM,uBAAuB,GAAG,UACrC,KAAW,EACX,GAAS,EACT,QAA2B;IAE3B,IAAM,OAAO,GACX,EAAE,CAAC;IACL,IAAM,UAAU,GAAG,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,OAAO,CAAC;IAElD,IAAI,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,IAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/D,IAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,UAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAE;YAClE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE;YAChB,KAAK,EAAE,IAAA,+BAAuB,EAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC;SAC1D,CAAC,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,wBAAgB,CAAC,CAAC;AAC1C,CAAC,CAAC;AAzBW,QAAA,uBAAuB,2BAyBlC;AAEK,IAAM,uBAAuB,GAAG,UACrC,IAAU,EACV,QAA2B;IAE3B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,KAAK,MAAM;YACT,OAAO,aAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAE,CAAC;QAC9C;YACE,OAAO,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,uBAAuB,2BAYlC;AAEF;;;;GAIG;AACI,IAAM,0BAA0B,GAAG,UACxC,GAAY;IAEZ,IAAM,MAAM,GAAG,IAAI,GAAG,EAA8C,CAAC;IACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,GAAG,CAAC,OAAO,CAAC,UAAC,SAAc;QACzB,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,CAAC,OAAO,CAAC,UAAC,SAAc;;YAC7B,IAAM,GAAG,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC;YAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,IAAI,CAAC,CAAC;YAC3C,IAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,CAAC;YACpD,IAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,QAAQ;gBACV,QAAQ,CAAC,KAAK;oBACZ,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;wBACvC,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,CAAC,MAAA,QAAQ,CAAC,KAAK,mCAAI,CAAC,CAAC,GAAG,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC,CAAC;;gBACxC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,KAAA,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC,CAAC;AArBW,QAAA,0BAA0B,8BAqBrC;AAEF;;;;GAIG;AACI,IAAM,mBAAmB,GAAG,UACjC,GAAQ,EACR,MAAsB,EACtB,MAAiC;;IAEjC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,yBAAiB,CAAC;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACpB,OAAO,GAAG,CAAC,MAAM;YACf,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAA,2BAAmB,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAzC,CAAyC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACzE,CAAC,CAAC,yBAAiB,CAAC;IACxB,IAAI,OAAO,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,SAAS;QAC5B,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,IAAI,GAAG,YAAY,IAAI;QAAE,OAAO,IAAA,eAAK,EAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/D,IAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,EAAE,CAAC;QAC1B,IAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,CAAC,CAAC,KAAI,MAAA,MAAM,CAAC,kBAAkB,0CAAG,KAAK,CAAC,CAAA;YACpD,OAAO,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAtBW,QAAA,mBAAmB,uBAsB9B;AAEF;;;;GAIG;AACI,IAAM,sBAAsB,GAAG,UACpC,MAAoB,EACpB,OAA0B;;IAE1B,IAAI,MAAM,qBAAO,MAAM,OAAC,CAAC;IACzB,IAAI,UAAU,GAAU,EAAE,CAAC;IAE3B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAM,WAAS,GAAG,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,UAAC,KAAK,EAAE,MAAM;YACxB,OAAA,OAAO,CAAC,MAAM,KAAK,OAAO;gBACxB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,WAAS;gBAC7C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,WAAS;QAFpC,CAEoC,CACrC,CAAC;IACJ,CAAC;IAED,IAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,GAAG,GAAG,IAAI,CAAC,CAAC,EAAZ,CAAY,EAAE,CAAC,CAAC,CAAC;IAE5D,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACrE,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,GAAG,EAAR,CAAQ,CAAC,CAAC;QAC5C,wEAAwE;QACxE,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;YAC3D,MAAM,CAAC,IAAI,CAAC;gBACV,CAAC,EAAE,oBAAY;gBACf,CAAC,EAAE,MAAA,IAAA,2BAAmB,EAAC,MAAM,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,GAAG,GAAG,IAAI,CAAC,CAAC,EAAZ,CAAY,EAAE,CAAC,CAAC,CAAC,mCAAI,CAAC;gBAC1E,GAAG,EAAE,SAAS;aACf,CAAC,CAAC;IACP,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;QACjE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,uBACzB,IAAI,KACP,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAC3C,EAH4B,CAG5B,CAAC,CAAC;IAEN,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,IAAI,SAAO,GAAG,CAAC,CAAC;QAChB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,IAAI;YACvB,SAAO,IAAI,IAAI,CAAC,CAAC,CAAC;YAClB,6BAAY,IAAI,KAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAO,GAAG,GAAG,CAAC,GAAG,GAAG,IAAG;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,YAAA,EAAE,CAAC;AACxC,CAAC,CAAC;AA9CW,QAAA,sBAAsB,0BA8CjC;AAEF;;;;;;GAMG;AACI,IAAM,mBAAmB,GAAG,UAAC,QAAgB,EAAE,GAAQ,IAAc,OAAA;IAC1E,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,IAAI,EAAE;CACrD,EAF2E,CAE3E,CAAC;AAFW,QAAA,mBAAmB,uBAE9B"}
@@ -1,11 +1,27 @@
1
+ import { Option } from "../../input/select";
2
+ import { DataStructure } from "../dataTemplate/model";
1
3
  import { Charts } from "../dataTemplate/spaceModel";
2
4
  import { WorkspaceDevSettings } from "../dataTemplate/workspaceModel";
5
+ import { Query } from "../readQuery";
6
+ export interface ChartDrillDown {
7
+ chart: Charts;
8
+ label: string;
9
+ query: Query[];
10
+ }
3
11
  interface Props {
4
12
  charts: Charts[];
5
13
  workspace: WorkspaceDevSettings;
6
14
  gridSize?: 2 | 3;
7
15
  renderSettings?: (element: any, data: any) => any;
16
+ structure?: DataStructure[];
17
+ personOptions?: Option[];
18
+ onDrillDown?: (drillDown: ChartDrillDown) => void;
8
19
  }
20
+ /**
21
+ * A chart drawn from new-style options — group by any column, date buckets,
22
+ * segments — rather than one query per list value.
23
+ */
24
+ export declare const handleIsShapedChart: (chart: Charts) => boolean;
9
25
  export declare function DataGraph(props: Props): any;
10
26
  export {};
11
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/index.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAUtE,UAAU,KAAK;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CACnD;AAmBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,OA80BrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataGraph/index.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,EAAU,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAc,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAa,MAAM,cAAc,CAAC;AA2BhD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,UAAU,KAAK;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAGlD,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAE5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAC;CACnD;AA6CD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAAW,MAAM,YAEgB,CAAC;AAElE,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,OAmzCrC"}