@quillsql/react 2.11.16 → 2.11.17
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/Chart.d.ts +117 -42
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +44 -18
- package/dist/cjs/ChartBuilder.d.ts +194 -30
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +122 -62
- package/dist/cjs/ChartEditor.d.ts +114 -18
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +47 -15
- package/dist/cjs/Dashboard.d.ts +148 -91
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +46 -152
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +21 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +5 -2
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +1 -1
- package/dist/cjs/QuillProvider.d.ts +105 -2
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +59 -0
- package/dist/cjs/ReportBuilder.d.ts +188 -42
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +466 -394
- package/dist/cjs/SQLEditor.d.ts +158 -23
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +35 -30
- package/dist/cjs/Table.d.ts +119 -15
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +37 -6
- package/dist/cjs/TableChart.d.ts.map +1 -1
- package/dist/cjs/TableChart.js +0 -194
- package/dist/cjs/{BarList.d.ts → components/Chart/BarList.d.ts} +1 -1
- package/dist/cjs/components/Chart/BarList.d.ts.map +1 -0
- package/dist/cjs/{BarList.js → components/Chart/BarList.js} +1 -1
- package/dist/cjs/components/Chart/LineChart.d.ts +2 -3
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +3 -3
- package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -0
- package/dist/cjs/{PieChart.js → components/Chart/PieChart.js} +1 -1
- package/dist/cjs/components/Dashboard/ChartComponent.d.ts +2 -1
- package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/ChartComponent.js +6 -7
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +22 -0
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -0
- package/dist/cjs/components/Dashboard/DashboardFilter.js +75 -0
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts +2 -12
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +39 -17
- package/dist/cjs/components/Dashboard/TableComponent.d.ts +2 -1
- package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TableComponent.js +6 -9
- package/dist/cjs/components/QuillSelect.d.ts +4 -1
- package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelect.js +13 -8
- package/dist/cjs/components/QuillTable.d.ts +16 -2
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +4 -4
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.d.ts +9 -3
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.js +8 -6
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +13 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +4 -14
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +21 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.js +15 -17
- package/dist/cjs/components/ReportBuilder/bigDateMap.js +1 -1
- package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +40 -20
- package/dist/cjs/components/ReportBuilder/pivot.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/pivot.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.d.ts +83 -18
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +52 -100
- package/dist/cjs/components/ReportBuilder/util.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +16 -9
- package/dist/cjs/components/UiComponents.d.ts +86 -86
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +118 -103
- package/dist/cjs/hooks/index.d.ts +1 -0
- package/dist/cjs/hooks/index.d.ts.map +1 -1
- package/dist/cjs/hooks/index.js +3 -1
- package/dist/cjs/hooks/useTheme.d.ts +7 -0
- package/dist/cjs/hooks/useTheme.d.ts.map +1 -0
- package/dist/cjs/hooks/useTheme.js +12 -0
- package/dist/cjs/index.d.ts +10 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotList.js +10 -10
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +29 -14
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +73 -49
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +2 -0
- package/dist/esm/Chart.d.ts +117 -42
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +45 -19
- package/dist/esm/ChartBuilder.d.ts +194 -30
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +122 -62
- package/dist/esm/ChartEditor.d.ts +114 -18
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +51 -19
- package/dist/esm/Dashboard.d.ts +148 -91
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +49 -153
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +21 -1
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +6 -3
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -1
- package/dist/esm/QuillProvider.d.ts +105 -2
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +59 -0
- package/dist/esm/ReportBuilder.d.ts +188 -42
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +468 -396
- package/dist/esm/SQLEditor.d.ts +158 -23
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +35 -30
- package/dist/esm/Table.d.ts +119 -15
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +38 -7
- package/dist/esm/TableChart.d.ts.map +1 -1
- package/dist/esm/TableChart.js +0 -194
- package/dist/esm/{BarList.d.ts → components/Chart/BarList.d.ts} +1 -1
- package/dist/esm/components/Chart/BarList.d.ts.map +1 -0
- package/dist/esm/{BarList.js → components/Chart/BarList.js} +1 -1
- package/dist/esm/components/Chart/LineChart.d.ts +2 -3
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +3 -3
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -0
- package/dist/esm/{PieChart.js → components/Chart/PieChart.js} +1 -1
- package/dist/esm/components/Dashboard/ChartComponent.d.ts +2 -1
- package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/ChartComponent.js +5 -6
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts +22 -0
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/DashboardFilter.js +71 -0
- package/dist/esm/components/Dashboard/DataLoader.d.ts +1 -1
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.d.ts +2 -12
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +39 -17
- package/dist/esm/components/Dashboard/TableComponent.d.ts +2 -1
- package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/TableComponent.js +6 -9
- package/dist/esm/components/QuillSelect.d.ts +4 -1
- package/dist/esm/components/QuillSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillSelect.js +14 -9
- package/dist/esm/components/QuillTable.d.ts +16 -2
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +4 -4
- package/dist/esm/components/ReportBuilder/AddColumnPopover.d.ts +9 -3
- package/dist/esm/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnPopover.js +8 -6
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +13 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.js +4 -14
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +21 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.js +17 -19
- package/dist/esm/components/ReportBuilder/bigDateMap.js +1 -1
- package/dist/esm/components/ReportBuilder/convert.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +33 -13
- package/dist/esm/components/ReportBuilder/pivot.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/pivot.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.d.ts +83 -18
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +50 -98
- package/dist/esm/components/ReportBuilder/util.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.js +14 -8
- package/dist/esm/components/UiComponents.d.ts +86 -86
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +111 -101
- package/dist/esm/hooks/index.d.ts +1 -0
- package/dist/esm/hooks/index.d.ts.map +1 -1
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/useTheme.d.ts +7 -0
- package/dist/esm/hooks/useTheme.d.ts.map +1 -0
- package/dist/esm/hooks/useTheme.js +10 -0
- package/dist/esm/index.d.ts +10 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotList.js +10 -10
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +29 -14
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +73 -49
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +2 -0
- package/package.json +1 -1
- package/dist/cjs/BarList.d.ts.map +0 -1
- package/dist/cjs/PieChart.d.ts.map +0 -1
- package/dist/esm/BarList.d.ts.map +0 -1
- package/dist/esm/PieChart.d.ts.map +0 -1
- /package/dist/cjs/{PieChart.d.ts → components/Chart/PieChart.d.ts} +0 -0
- /package/dist/esm/{PieChart.d.ts → components/Chart/PieChart.d.ts} +0 -0
|
@@ -4,25 +4,47 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
7
8
|
const dateRangePickerUtils_1 = require("../../DateRangePicker/dateRangePickerUtils");
|
|
8
9
|
const valueFormatter_1 = require("../../utils/valueFormatter");
|
|
9
10
|
const ChartError_1 = __importDefault(require("../Chart/ChartError"));
|
|
10
11
|
const ChartSkeleton_1 = __importDefault(require("../Chart/ChartSkeleton"));
|
|
11
|
-
|
|
12
|
+
const PivotModal_1 = require("../../internals/ReportBuilder/PivotModal");
|
|
13
|
+
const Context_1 = require("../../Context");
|
|
14
|
+
const hooks_1 = require("../../hooks");
|
|
15
|
+
function QuillMetricComponent({ dashboardItem, onClick, error, isLoading, }) {
|
|
16
|
+
const theme = (0, hooks_1.useTheme)();
|
|
17
|
+
const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
|
|
12
18
|
const data = dashboardItem;
|
|
13
|
-
const
|
|
14
|
-
|
|
19
|
+
const config = dashboardItem;
|
|
20
|
+
const dateFilter = Object.values(dashboardFilters).find((filter) => filter.filterType == 'date_range');
|
|
21
|
+
const pivotTable = (0, react_1.useMemo)(() => {
|
|
22
|
+
const pivot = config?.pivot;
|
|
23
|
+
const data = config;
|
|
24
|
+
return pivot && data?.rows
|
|
25
|
+
? (0, PivotModal_1.generatePivotTable)(pivot, JSON.parse(JSON.stringify(data.rows)), // deep copy
|
|
26
|
+
dateFilter
|
|
27
|
+
? [dateFilter.startDate || null, dateFilter.endDate || null, null]
|
|
28
|
+
: [null, null, null], Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate
|
|
29
|
+
? [
|
|
30
|
+
dateFilter?.comparisonRange.startDate,
|
|
31
|
+
dateFilter?.comparisonRange.endDate,
|
|
32
|
+
null,
|
|
33
|
+
]
|
|
34
|
+
: [null, null, null])
|
|
35
|
+
: null;
|
|
36
|
+
}, [config?.pivot]);
|
|
15
37
|
const primaryMetricLabel = data?.filtersApplied?.date_range?.preset?.label;
|
|
16
38
|
const comparisonKey = data?.filtersApplied?.date_range?.comparisonRange?.value;
|
|
17
39
|
const comparisonLabel = dateRangePickerUtils_1.COMPARISON_OPTIONS.find((opt) => opt.value === comparisonKey)?.text;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
40
|
+
const rows = pivotTable?.rows ?? data.rows ?? [];
|
|
41
|
+
const isComparison = rows.length > 0 &&
|
|
42
|
+
Object.keys(rows[0]).includes(`comparison_${data.xAxisField}`);
|
|
43
|
+
return ((0, jsx_runtime_1.jsx)("div", { onClick: () => onClick && onClick(dashboardItem), style: {
|
|
21
44
|
cursor: 'pointer',
|
|
22
45
|
boxSizing: 'content-box',
|
|
23
46
|
borderRadius: 8,
|
|
24
47
|
paddingBottom: isLoading ? 0 : 30,
|
|
25
|
-
...style,
|
|
26
48
|
}, children: (0, jsx_runtime_1.jsx)("div", { style: {
|
|
27
49
|
width: '100%',
|
|
28
50
|
height: '100%',
|
|
@@ -55,7 +77,7 @@ function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLo
|
|
|
55
77
|
display: 'block',
|
|
56
78
|
maxWidth: '100%',
|
|
57
79
|
overflow: 'hidden',
|
|
58
|
-
}, children: dashboardItem?.name }),
|
|
80
|
+
}, children: dashboardItem?.name }), onClick ? ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
59
81
|
fontFamily: theme.fontFamily,
|
|
60
82
|
color: theme.primaryTextColor,
|
|
61
83
|
boxSizing: 'content-box',
|
|
@@ -65,11 +87,13 @@ function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLo
|
|
|
65
87
|
display: 'flex',
|
|
66
88
|
alignItems: 'center',
|
|
67
89
|
justifyContent: 'flex-end',
|
|
68
|
-
}, children: 'view report →' })) : null] }), isLoading ? ((0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, { containerStyle: {
|
|
69
|
-
|
|
90
|
+
}, children: 'view report →' })) : null] }), isLoading ? ((0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, { containerStyle: {
|
|
91
|
+
maxHeight: '78px',
|
|
92
|
+
height: '100%',
|
|
93
|
+
} })) : error ? ((0, jsx_runtime_1.jsx)(ChartError_1.default, {})) : rows?.length === 0 || rows[0][data.xAxisField] === null ? ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
70
94
|
display: 'flex',
|
|
71
95
|
flex: '1 0 auto',
|
|
72
|
-
height:
|
|
96
|
+
height: '100%',
|
|
73
97
|
margin: 'auto',
|
|
74
98
|
justifyContent: 'center',
|
|
75
99
|
alignItems: 'center',
|
|
@@ -77,7 +101,6 @@ function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLo
|
|
|
77
101
|
color: theme.secondaryTextColor,
|
|
78
102
|
maxWidth: '100%',
|
|
79
103
|
width: '100%',
|
|
80
|
-
...style,
|
|
81
104
|
}, children: "No results" })) : ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
82
105
|
padding: 0,
|
|
83
106
|
height: '100%',
|
|
@@ -104,9 +127,9 @@ function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLo
|
|
|
104
127
|
gap: 4,
|
|
105
128
|
alignItems: 'baseline',
|
|
106
129
|
marginRight: 'auto',
|
|
107
|
-
}, children: [(0, jsx_runtime_1.jsx)("span", { children:
|
|
130
|
+
}, children: [(0, jsx_runtime_1.jsx)("span", { children: rows.length > 0 &&
|
|
108
131
|
(0, valueFormatter_1.valueFormatter)({
|
|
109
|
-
value:
|
|
132
|
+
value: rows[0][data.xAxisField] ?? 0,
|
|
110
133
|
field: data.xAxisField,
|
|
111
134
|
fields: [
|
|
112
135
|
{
|
|
@@ -135,10 +158,9 @@ function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLo
|
|
|
135
158
|
fontWeight: '500',
|
|
136
159
|
fontFamily: theme?.fontFamily,
|
|
137
160
|
color: theme?.secondaryTextColor,
|
|
138
|
-
}, children:
|
|
161
|
+
}, children: rows.length > 0 &&
|
|
139
162
|
(0, valueFormatter_1.valueFormatter)({
|
|
140
|
-
value:
|
|
141
|
-
0,
|
|
163
|
+
value: rows[0][`comparison_${data.xAxisField}`] ?? 0,
|
|
142
164
|
field: data.xAxisField,
|
|
143
165
|
fields: [
|
|
144
166
|
{
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
2
|
+
import { DashboardItemProps } from '../../Dashboard';
|
|
3
|
+
export default function QuillTableComponent({ dashboardItem, onClick, isLoading, error, }: DashboardItemProps): JSX.Element;
|
|
3
4
|
//# sourceMappingURL=TableComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,aAAa,EACb,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CA2JlC"}
|
|
@@ -12,7 +12,9 @@ const Context_1 = require("../../Context");
|
|
|
12
12
|
const valueFormatter_1 = require("../../utils/valueFormatter");
|
|
13
13
|
const ChartSkeleton_1 = __importDefault(require("../Chart/ChartSkeleton"));
|
|
14
14
|
const ChartError_1 = __importDefault(require("../Chart/ChartError"));
|
|
15
|
-
|
|
15
|
+
const hooks_1 = require("../../hooks");
|
|
16
|
+
function QuillTableComponent({ dashboardItem, onClick, isLoading, error, }) {
|
|
17
|
+
const theme = (0, hooks_1.useTheme)();
|
|
16
18
|
const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
|
|
17
19
|
const config = dashboardItem;
|
|
18
20
|
const data = dashboardItem;
|
|
@@ -62,12 +64,7 @@ function QuillTableComponent({ dashboardItem, onClickDashboardItem, isLoading, e
|
|
|
62
64
|
return formattedRow;
|
|
63
65
|
}, {});
|
|
64
66
|
});
|
|
65
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
66
|
-
cursor: 'pointer',
|
|
67
|
-
...style,
|
|
68
|
-
}, onClick: onClickDashboardItem
|
|
69
|
-
? () => onClickDashboardItem(dashboardItem)
|
|
70
|
-
: () => { }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
|
|
67
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: { cursor: 'pointer' }, onClick: () => onClick && onClick(dashboardItem), children: [(0, jsx_runtime_1.jsxs)("div", { style: {
|
|
71
68
|
display: 'flex',
|
|
72
69
|
flexDirection: 'row',
|
|
73
70
|
justifyContent: 'space-between',
|
|
@@ -86,7 +83,7 @@ function QuillTableComponent({ dashboardItem, onClickDashboardItem, isLoading, e
|
|
|
86
83
|
display: 'block',
|
|
87
84
|
maxWidth: '100%',
|
|
88
85
|
overflow: 'hidden',
|
|
89
|
-
}, children: dashboardItem?.name }),
|
|
86
|
+
}, children: dashboardItem?.name }), onClick ? ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
90
87
|
fontFamily: theme.fontFamily,
|
|
91
88
|
color: theme.primaryTextColor,
|
|
92
89
|
boxSizing: 'content-box',
|
|
@@ -102,7 +99,7 @@ function QuillTableComponent({ dashboardItem, onClickDashboardItem, isLoading, e
|
|
|
102
99
|
} })) : error ? ((0, jsx_runtime_1.jsx)(ChartError_1.default, { containerStyle: {
|
|
103
100
|
width: '100%',
|
|
104
101
|
height: '400px',
|
|
105
|
-
} })) : ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { rows: formattedRows ?? [], columns: columns ?? data.yAxisFields, rowsPerPage:
|
|
102
|
+
} })) : ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { rows: formattedRows ?? [], columns: columns ?? data.yAxisFields, rowsPerPage: 10, containerStyle: {
|
|
106
103
|
width: '100%',
|
|
107
104
|
height: '400px',
|
|
108
105
|
}, showDownloadCSVButton: true, downloadCSV: () => {
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { SelectComponentProps } from './UiComponents';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* A robust select component that implements the new minimal Select interface.
|
|
4
|
+
*/
|
|
5
|
+
export declare function QuillSelectComponent({ options, value, onChange, label, }: SelectComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
3
6
|
//# sourceMappingURL=QuillSelect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAKtD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE,oBAAoB,2CA0MtB"}
|
|
@@ -4,17 +4,19 @@ exports.QuillSelectComponent = void 0;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const hooks_1 = require("../hooks");
|
|
6
6
|
const react_1 = require("react");
|
|
7
|
-
|
|
7
|
+
const Context_1 = require("../Context");
|
|
8
|
+
/**
|
|
9
|
+
* A robust select component that implements the new minimal Select interface.
|
|
10
|
+
*/
|
|
11
|
+
function QuillSelectComponent({ options, value, onChange, label, }) {
|
|
12
|
+
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
8
13
|
const [showModal, setShowModal] = (0, react_1.useState)(false);
|
|
9
14
|
const modalRef = (0, react_1.useRef)(null);
|
|
10
|
-
(0, hooks_1.useOnClickOutside)(modalRef, (e) =>
|
|
11
|
-
setShowModal(false);
|
|
12
|
-
});
|
|
15
|
+
(0, hooks_1.useOnClickOutside)(modalRef, (e) => setShowModal(false));
|
|
13
16
|
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
14
17
|
position: 'relative',
|
|
15
18
|
width: 200,
|
|
16
19
|
minWidth: 200,
|
|
17
|
-
boxShadow: 'rgba(0, 0, 0, 0.1) 0px 1px 5px 0px',
|
|
18
20
|
borderRadius: '6px',
|
|
19
21
|
}, children: [label && ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
20
22
|
fontSize: 14,
|
|
@@ -65,7 +67,6 @@ function QuillSelectComponent({ options, value, onChange, theme, label, }) {
|
|
|
65
67
|
paddingBottom: 6,
|
|
66
68
|
paddingLeft: 6,
|
|
67
69
|
paddingRight: 6,
|
|
68
|
-
boxShadow: '0px 1px 12px 0px rgba(56, 65, 81, 0.1)',
|
|
69
70
|
fontFamily: theme.fontFamily,
|
|
70
71
|
maxHeight: '50vh',
|
|
71
72
|
overflow: 'scroll',
|
|
@@ -88,7 +89,9 @@ function QuillSelectComponent({ options, value, onChange, theme, label, }) {
|
|
|
88
89
|
height: 34,
|
|
89
90
|
minHeight: 34,
|
|
90
91
|
}, className: "quill-option", onClick: () => {
|
|
91
|
-
|
|
92
|
+
// Manually create a synthetic ChangeEvent and pass it to callback
|
|
93
|
+
const changeEvent = { target: { value: '' } };
|
|
94
|
+
onChange(changeEvent);
|
|
92
95
|
setShowModal(false);
|
|
93
96
|
}, children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
94
97
|
.quill-option {
|
|
@@ -116,7 +119,9 @@ function QuillSelectComponent({ options, value, onChange, theme, label, }) {
|
|
|
116
119
|
minHeight: 34,
|
|
117
120
|
overflow: 'hidden',
|
|
118
121
|
}, className: "quill-option", onClick: () => {
|
|
119
|
-
|
|
122
|
+
// Manually create a synthetic ChangeEvent and pass it to callback
|
|
123
|
+
const changeEvent = { target: { value: option.value } };
|
|
124
|
+
onChange(changeEvent);
|
|
120
125
|
setShowModal(false);
|
|
121
126
|
}, children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
122
127
|
.quill-option {
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ButtonComponentProps } from './UiComponents';
|
|
3
|
+
export interface TableComponentProps {
|
|
4
|
+
rows: any[];
|
|
5
|
+
columns: any[];
|
|
6
|
+
containerStyle?: React.CSSProperties;
|
|
7
|
+
isLoading?: boolean;
|
|
8
|
+
showDownloadCSVButton?: boolean;
|
|
9
|
+
downloadFileName?: string;
|
|
10
|
+
downloadCSV?: () => void;
|
|
11
|
+
LoadingComponent?: () => JSX.Element;
|
|
12
|
+
DownloadCSVButtonComponent?: (props: ButtonComponentProps) => JSX.Element;
|
|
13
|
+
rowsPerPage?: number;
|
|
14
|
+
emptyStateLabel?: string;
|
|
15
|
+
}
|
|
16
|
+
export default function QuillTable({ rows, columns, isLoading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent, rowsPerPage, emptyStateLabel, downloadCSV, }: TableComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
3
17
|
//# sourceMappingURL=QuillTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,gBAA0C,EAC1C,WAAgB,EAChB,eAA8B,EAC9B,WAAW,GACZ,EAAE,mBAAmB,2CAwZrB"}
|
|
@@ -8,7 +8,7 @@ const react_1 = require("react");
|
|
|
8
8
|
const valueFormatter_1 = require("../utils/valueFormatter");
|
|
9
9
|
const Context_1 = require("../Context");
|
|
10
10
|
const ChartSkeleton_1 = __importDefault(require("./Chart/ChartSkeleton"));
|
|
11
|
-
function QuillTable({ rows, columns,
|
|
11
|
+
function QuillTable({ rows, columns, isLoading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent = () => (0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, {}), rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, }) {
|
|
12
12
|
const [activeRows, setActiveRows] = (0, react_1.useState)([]);
|
|
13
13
|
const [page, setPage] = (0, react_1.useState)(1);
|
|
14
14
|
const [maxPage, setMaxPage] = (0, react_1.useState)(1);
|
|
@@ -18,7 +18,7 @@ function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFil
|
|
|
18
18
|
const [isPaginating, setIsPaginating] = (0, react_1.useState)(true);
|
|
19
19
|
(0, react_1.useEffect)(() => {
|
|
20
20
|
setIsPaginating(true);
|
|
21
|
-
if (rows.length === 0 &&
|
|
21
|
+
if (rows.length === 0 && isLoading) {
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
24
|
const sortedRows = [...rows];
|
|
@@ -35,7 +35,7 @@ function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFil
|
|
|
35
35
|
}
|
|
36
36
|
setActiveRows(sortedRows.slice(start, end));
|
|
37
37
|
setIsPaginating(false);
|
|
38
|
-
}, [page, rows, sortColumn, sortDirection,
|
|
38
|
+
}, [page, rows, sortColumn, sortDirection, isLoading, columns]);
|
|
39
39
|
const increasePage = () => {
|
|
40
40
|
if (page === maxPage) {
|
|
41
41
|
return;
|
|
@@ -57,7 +57,7 @@ function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFil
|
|
|
57
57
|
setSortDirection('desc');
|
|
58
58
|
}
|
|
59
59
|
};
|
|
60
|
-
if (
|
|
60
|
+
if (isLoading || isPaginating) {
|
|
61
61
|
return ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
62
62
|
...containerStyle,
|
|
63
63
|
}, children: (0, jsx_runtime_1.jsx)(LoadingComponent, {}) }));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TextInputComponentProps } from '../UiComponents';
|
|
3
|
-
export default function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, TextInput, SelectColumn, SecondaryButton, Button,
|
|
3
|
+
export default function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, TextInput, SelectColumn, SecondaryButton, Button, }: {
|
|
4
4
|
onSave: any;
|
|
5
5
|
orderedColumnNames: any;
|
|
6
6
|
setOrderedColumnNames: any;
|
|
@@ -17,9 +17,15 @@ export default function AddColumnPopover({ onSave, orderedColumnNames, setOrdere
|
|
|
17
17
|
defaultTable: any;
|
|
18
18
|
setPivot: any;
|
|
19
19
|
TextInput: (props: TextInputComponentProps) => JSX.Element;
|
|
20
|
-
SelectColumn:
|
|
20
|
+
SelectColumn: (props: {
|
|
21
|
+
label: string;
|
|
22
|
+
isSelected: boolean;
|
|
23
|
+
setSelected: () => void;
|
|
24
|
+
DragHandle: ({ dragIcon }: {
|
|
25
|
+
dragIcon: () => JSX.Element;
|
|
26
|
+
}) => JSX.Element;
|
|
27
|
+
}) => JSX.Element;
|
|
21
28
|
SecondaryButton: any;
|
|
22
29
|
Button: any;
|
|
23
|
-
HandleButton: any;
|
|
24
30
|
}): import("react/jsx-runtime").JSX.Element;
|
|
25
31
|
//# sourceMappingURL=AddColumnPopover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddColumnPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddColumnPopover.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"AddColumnPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddColumnPopover.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAI1D,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,MAAM,EACN,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,MAAM,GACP,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,kBAAkB,EAAE,GAAG,CAAC;IACxB,qBAAqB,EAAE,GAAG,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;IACxB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;IAChB,KAAK,EAAE,GAAG,CAAC;IACX,gBAAgB,EAAE,GAAG,CAAC;IACtB,UAAU,EAAE,GAAG,CAAC;IAChB,YAAY,EAAE,GAAG,CAAC;IAClB,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3D,YAAY,EAAE,CAAC,KAAK,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;SAAE,KAAK,GAAG,CAAC,OAAO,CAAC;KAC5E,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC;CACb,2CAoNA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
/* eslint-disable no-unused-vars */
|
|
4
5
|
const react_1 = require("react");
|
|
5
6
|
const core_1 = require("@dnd-kit/core");
|
|
6
7
|
const sortable_1 = require("@dnd-kit/sortable");
|
|
@@ -8,7 +9,7 @@ const utilities_1 = require("@dnd-kit/utilities");
|
|
|
8
9
|
const Context_1 = require("../../Context");
|
|
9
10
|
const width_1 = require("../../utils/width");
|
|
10
11
|
const textProcessing_1 = require("../../utils/textProcessing");
|
|
11
|
-
function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, TextInput, SelectColumn, SecondaryButton, Button,
|
|
12
|
+
function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, TextInput, SelectColumn, SecondaryButton, Button, }) {
|
|
12
13
|
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
13
14
|
const [search, setSearch] = (0, react_1.useState)('');
|
|
14
15
|
const [searchResults, setSearchResults] = (0, react_1.useState)(orderedColumnNames);
|
|
@@ -43,7 +44,8 @@ function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, s
|
|
|
43
44
|
setSearchResults(orderedColumnNames
|
|
44
45
|
.filter((row) => {
|
|
45
46
|
const [table, _column] = row.split('.');
|
|
46
|
-
|
|
47
|
+
const selectedTable = selectedColumns[0]?.split('.')[0];
|
|
48
|
+
return selectedColumns.length === 0 || selectedTable === table;
|
|
47
49
|
})
|
|
48
50
|
.filter((row) => search.length === 0 ||
|
|
49
51
|
row.includes(search) ||
|
|
@@ -71,7 +73,7 @@ function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, s
|
|
|
71
73
|
overflowY: 'auto',
|
|
72
74
|
maxWidth: '300px',
|
|
73
75
|
}, children: [searchResults.map((value) => {
|
|
74
|
-
return ((0, jsx_runtime_1.jsx)(SortableItem, {
|
|
76
|
+
return ((0, jsx_runtime_1.jsx)(SortableItem, { selectedColumns: selectedColumns, setSelectedColumns: setSelectedColumns, id: value, label: value.replace('.', ' | '), SelectColumn: SelectColumn }, value));
|
|
75
77
|
}), search.length > 0 && searchResults.length === 0 && ((0, jsx_runtime_1.jsx)("div", { style: { fontFamily: theme?.fontFamily }, children: "No results found" }))] }) }) }), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
76
78
|
display: 'flex',
|
|
77
79
|
width: '100%',
|
|
@@ -125,7 +127,7 @@ function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, s
|
|
|
125
127
|
}, label: "Select columns" })] })] }));
|
|
126
128
|
}
|
|
127
129
|
exports.default = AddColumnPopover;
|
|
128
|
-
const SortableItem = ({ id, label, setSelectedColumns,
|
|
130
|
+
const SortableItem = ({ id, label, setSelectedColumns, selectedColumns, SelectColumn, }) => {
|
|
129
131
|
const { attributes, listeners, setNodeRef, transform, transition } = (0, sortable_1.useSortable)({ id: id });
|
|
130
132
|
const style = {
|
|
131
133
|
transform: utilities_1.CSS.Transform.toString(transform),
|
|
@@ -141,7 +143,7 @@ const SortableItem = ({ id, label, setSelectedColumns, theme, selectedColumns, S
|
|
|
141
143
|
}
|
|
142
144
|
});
|
|
143
145
|
};
|
|
144
|
-
return ((0, jsx_runtime_1.jsx)("div", { style: { userSelect: 'none', ...style }, ref: setNodeRef, children: (0, jsx_runtime_1.jsx)(SelectColumn, {
|
|
146
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: { userSelect: 'none', ...style }, ref: setNodeRef, children: (0, jsx_runtime_1.jsx)(SelectColumn, { isSelected: selectedColumns?.includes(id), setSelected: handleSelect, label: label, DragHandle: (props) => ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
145
147
|
cursor: 'grab',
|
|
146
|
-
}, ...attributes, ...listeners, children: (0, jsx_runtime_1.jsx)(
|
|
148
|
+
}, ...attributes, ...listeners, children: (0, jsx_runtime_1.jsx)(props.dragIcon, {}) })) }) }));
|
|
147
149
|
};
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ButtonComponentProps, TextInputComponentProps } from '../UiComponents';
|
|
3
|
-
|
|
3
|
+
import { LimitPopoverComponentProps } from './ui';
|
|
4
|
+
export declare const LimitSentence: ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle, LimitPopover, EditPopover, TextInput, Button, SecondaryButton, }: {
|
|
5
|
+
limit: any;
|
|
6
|
+
handleDelete: () => void;
|
|
7
|
+
setOpenPopover: (arg: any) => void;
|
|
8
|
+
onSave: (column: any, direction: any) => void;
|
|
9
|
+
popoverTitle?: string | undefined;
|
|
10
|
+
LimitPopover: (props: LimitPopoverComponentProps) => JSX.Element;
|
|
11
|
+
EditPopover: any;
|
|
12
|
+
TextInput: any;
|
|
13
|
+
Button: (props: ButtonComponentProps) => JSX.Element;
|
|
14
|
+
SecondaryButton: (props: ButtonComponentProps) => JSX.Element;
|
|
15
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
4
16
|
export interface AddLimitPopoverProps {
|
|
5
17
|
onSave: (limit: number) => void;
|
|
6
18
|
initialLimit?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddLimitPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddLimitPopover.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"AddLimitPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddLimitPopover.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,oBAAoB,EAIpB,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,MAAM,CAAC;AAElD,eAAO,MAAM,aAAa;WAYjB,GAAG;kBACI,MAAM,IAAI;0BACF,GAAG,KAAK,IAAI;qBACjB,GAAG,aAAa,GAAG,KAAK,IAAI;;0BAEvB,0BAA0B,KAAK,WAAW;iBACnD,GAAG;eACL,GAAG;oBACE,oBAAoB,KAAK,WAAW;6BAC3B,oBAAoB,KAAK,WAAW;6CAiC9D,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CAChE;AAED,eAAO,MAAM,eAAe,oFAQzB,oBAAoB,4CA8CtB,CAAC"}
|
|
@@ -5,26 +5,16 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const UiComponents_1 = require("../UiComponents");
|
|
7
7
|
const Context_1 = require("../../Context");
|
|
8
|
-
const
|
|
9
|
-
ASC: 'ascending',
|
|
10
|
-
DESC: 'descending',
|
|
11
|
-
};
|
|
12
|
-
const LimitSentence = ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle = 'Edit limit', LimitPopover, EditPopover, TextInput = UiComponents_1.QuillTextInput, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, children, }) => {
|
|
8
|
+
const LimitSentence = ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle = 'Edit limit', LimitPopover, EditPopover, TextInput = UiComponents_1.QuillTextInput, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, }) => {
|
|
13
9
|
const [isOpen, setIsOpen] = (0, react_1.useState)(false);
|
|
14
10
|
const handleClickDelete = (e) => {
|
|
15
11
|
setOpenPopover(null);
|
|
16
12
|
handleDelete();
|
|
17
13
|
};
|
|
18
|
-
return ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(LimitPopover
|
|
19
|
-
// @ts-ignore
|
|
20
|
-
, {
|
|
21
|
-
// @ts-ignore
|
|
22
|
-
filterLabel: `limit ${limit.value[0].value}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: (0, jsx_runtime_1.jsx)(EditPopover, { onSave: (column, direction) => {
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(LimitPopover, { isOpen: isOpen, setIsOpen: setIsOpen, limitLabel: `limit ${limit.value[0].value}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: (0, jsx_runtime_1.jsx)(EditPopover, { onSave: (column, direction) => {
|
|
23
15
|
setIsOpen(false);
|
|
24
16
|
onSave(column, direction);
|
|
25
|
-
}, isEdit: true, onDelete: handleClickDelete, initialLimit: limit.value[0].value, TextInput: TextInput, Button: Button, SecondaryButton: SecondaryButton })
|
|
26
|
-
handleDelete();
|
|
27
|
-
} }) }));
|
|
17
|
+
}, isEdit: true, onDelete: handleClickDelete, initialLimit: limit.value[0].value, TextInput: TextInput, Button: Button, SecondaryButton: SecondaryButton }) }) }));
|
|
28
18
|
};
|
|
29
19
|
exports.LimitSentence = LimitSentence;
|
|
30
20
|
const AddLimitPopover = ({ onSave, initialLimit = 0, isEdit = false, onDelete = () => { }, TextInput = UiComponents_1.QuillTextInput, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, }) => {
|
|
@@ -35,7 +25,7 @@ const AddLimitPopover = ({ onSave, initialLimit = 0, isEdit = false, onDelete =
|
|
|
35
25
|
flexDirection: 'row',
|
|
36
26
|
gap: 12,
|
|
37
27
|
padding: '6px 0px',
|
|
38
|
-
}, children: (0, jsx_runtime_1.jsx)(TextInput, { id: 'add_limit_input', value: limit, width: 200,
|
|
28
|
+
}, children: (0, jsx_runtime_1.jsx)(TextInput, { id: 'add_limit_input', value: limit.toString() ?? initialLimit.toString(), width: 200,
|
|
39
29
|
// style={{ minHeight: 32, padding: '6px 12px' }}
|
|
40
30
|
onChange: (e) => {
|
|
41
31
|
if (Number.isNaN(parseFloat(e.target.value || '0'))) {
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ButtonComponentProps, SelectComponentProps } from '../UiComponents';
|
|
3
|
+
import { SortPopoverComponentProps } from './ui';
|
|
4
|
+
export declare const SortSentence: ({ sortData, keyPrefix, columns, handleDelete, setEditPopoverKey, setOpenPopover, setActiveEditItem, setIsPending, setActivePath, onSave, popoverTitle, SortPopover, EditPopover, Select, Button, SecondaryButton, }: {
|
|
5
|
+
sortData: any;
|
|
6
|
+
columns: any;
|
|
7
|
+
setIsPending: any;
|
|
8
|
+
setEditPopoverKey: any;
|
|
9
|
+
setActiveEditItem: any;
|
|
10
|
+
setOpenPopover: any;
|
|
11
|
+
setActivePath: any;
|
|
12
|
+
keyPrefix?: any;
|
|
13
|
+
handleDelete: any;
|
|
14
|
+
onSave: any;
|
|
15
|
+
popoverTitle?: string | undefined;
|
|
16
|
+
SortPopover: (props: SortPopoverComponentProps) => JSX.Element;
|
|
17
|
+
EditPopover: any;
|
|
18
|
+
Select?: ((props: SelectComponentProps) => JSX.Element) | undefined;
|
|
19
|
+
Button?: ((props: ButtonComponentProps) => JSX.Element) | undefined;
|
|
20
|
+
SecondaryButton?: ((props: ButtonComponentProps) => JSX.Element) | undefined;
|
|
21
|
+
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
2
22
|
export declare const AddSortPopover: ({ onSave, columns, isEdit, onDelete, column, Select, Button, SecondaryButton, }: any) => import("react/jsx-runtime").JSX.Element;
|
|
3
23
|
//# sourceMappingURL=AddSortPopover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddSortPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddSortPopover.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AddSortPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddSortPopover.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,oBAAoB,EAGpB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,MAAM,CAAC;AAOjD,eAAO,MAAM,YAAY;cAkBb,GAAG;aACJ,GAAG;kBACE,GAAG;uBACE,GAAG;uBACH,GAAG;oBACN,GAAG;mBACJ,GAAG;gBACN,GAAG;kBACD,GAAG;YACT,GAAG;;yBAEU,yBAAyB,KAAK,WAAW;iBACjD,GAAG;sBACC,oBAAoB,KAAK,WAAW;sBACpC,oBAAoB,KAAK,WAAW;+BAC3B,oBAAoB,KAAK,WAAW;oDAoD/D,CAAC;AAEF,eAAO,MAAM,cAAc,oFASxB,GAAG,4CA6DL,CAAC"}
|
|
@@ -5,14 +5,21 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const QuillSelect_1 = require("../QuillSelect");
|
|
7
7
|
const UiComponents_1 = require("../UiComponents");
|
|
8
|
-
const Context_1 = require("../../Context");
|
|
9
8
|
const textProcessing_1 = require("../../utils/textProcessing");
|
|
10
9
|
const SORT_VALUE_TO_LABEL = {
|
|
11
10
|
ASC: 'ascending',
|
|
12
11
|
DESC: 'descending',
|
|
13
12
|
};
|
|
14
|
-
const SortSentence = ({ sortData, keyPrefix, columns, handleDelete, setEditPopoverKey, setOpenPopover, setActiveEditItem, setIsPending, setActivePath, onSave, popoverTitle = 'Edit Sort', SortPopover, EditPopover, Select = QuillSelect_1.QuillSelectComponent, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton,
|
|
13
|
+
const SortSentence = ({ sortData, keyPrefix, columns, handleDelete, setEditPopoverKey, setOpenPopover, setActiveEditItem, setIsPending, setActivePath, onSave, popoverTitle = 'Edit Sort', SortPopover, EditPopover, Select = QuillSelect_1.QuillSelectComponent, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, }) => {
|
|
15
14
|
const [isOpen, setIsOpen] = (0, react_1.useState)(false);
|
|
15
|
+
const handleSetIsOpen = (isOpen) => {
|
|
16
|
+
setIsOpen(isOpen);
|
|
17
|
+
if (!isOpen) {
|
|
18
|
+
setIsPending(false);
|
|
19
|
+
setActiveEditItem(null);
|
|
20
|
+
setActivePath(null);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
16
23
|
const handleClickDelete = (e) => {
|
|
17
24
|
e.stopPropagation(); // don't call onClick handler
|
|
18
25
|
setIsPending(false);
|
|
@@ -24,38 +31,29 @@ const SortSentence = ({ sortData, keyPrefix, columns, handleDelete, setEditPopov
|
|
|
24
31
|
if (!sortData && (!sortData.expr.column || !sortData.expr.value)) {
|
|
25
32
|
return null;
|
|
26
33
|
}
|
|
27
|
-
return ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(SortPopover
|
|
28
|
-
// @ts-ignore
|
|
29
|
-
, {
|
|
30
|
-
// @ts-ignore
|
|
31
|
-
filterLabel: `${(0, textProcessing_1.snakeCaseToTitleCase)(sortData.expr.column) || (0, textProcessing_1.snakeCaseToTitleCase)(sortData.expr.value)} ${SORT_VALUE_TO_LABEL[sortData.type]}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: (0, jsx_runtime_1.jsx)(EditPopover, { onSave: (column, direction) => {
|
|
34
|
+
return ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(SortPopover, { isOpen: isOpen, setIsOpen: handleSetIsOpen, sortLabel: `${(0, textProcessing_1.snakeCaseToTitleCase)(sortData.expr.column) || (0, textProcessing_1.snakeCaseToTitleCase)(sortData.expr.value)} ${SORT_VALUE_TO_LABEL[sortData.type]}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: (0, jsx_runtime_1.jsx)(EditPopover, { onSave: (column, direction) => {
|
|
32
35
|
setIsOpen(false);
|
|
33
36
|
onSave(column, direction);
|
|
34
|
-
}, columns: columns, isEdit: true, onDelete: handleClickDelete, column: sortData.expr.column || sortData.expr.value, Select: Select, Button: Button, SecondaryButton: SecondaryButton })
|
|
35
|
-
setIsPending(false);
|
|
36
|
-
setActiveEditItem(null);
|
|
37
|
-
setActivePath(null);
|
|
38
|
-
} }) }));
|
|
37
|
+
}, columns: columns, isEdit: true, onDelete: handleClickDelete, column: sortData.expr.column || sortData.expr.value, Select: Select, Button: Button, SecondaryButton: SecondaryButton }) }) }));
|
|
39
38
|
};
|
|
40
39
|
exports.SortSentence = SortSentence;
|
|
41
40
|
const AddSortPopover = ({ onSave, columns, isEdit, onDelete, column, Select = QuillSelect_1.QuillSelectComponent, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, }) => {
|
|
42
41
|
const [sortColumn, setSortColumn] = (0, react_1.useState)(column || '');
|
|
43
42
|
const [sortDirection, setSortDirection] = (0, react_1.useState)('ASC');
|
|
44
|
-
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
45
43
|
return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12 }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
|
|
46
44
|
display: 'flex',
|
|
47
45
|
flexDirection: 'row',
|
|
48
46
|
gap: 12,
|
|
49
47
|
padding: '6px 0px',
|
|
50
|
-
}, children: [(0, jsx_runtime_1.jsx)(Select, {
|
|
51
|
-
setSortColumn(value);
|
|
48
|
+
}, children: [(0, jsx_runtime_1.jsx)(Select, { value: sortColumn, onChange: (e) => {
|
|
49
|
+
setSortColumn(e.target.value);
|
|
52
50
|
}, options: [
|
|
53
51
|
...columns.map((column) => ({
|
|
54
52
|
label: (0, textProcessing_1.snakeCaseToTitleCase)(column.split('.')[1] || ''),
|
|
55
53
|
value: column.split('.')[1],
|
|
56
54
|
})),
|
|
57
|
-
] }), (0, jsx_runtime_1.jsx)(Select, {
|
|
58
|
-
setSortDirection(value);
|
|
55
|
+
] }), (0, jsx_runtime_1.jsx)(Select, { value: sortDirection, onChange: (e) => {
|
|
56
|
+
setSortDirection(e.target.value);
|
|
59
57
|
}, options: [
|
|
60
58
|
{ label: 'Ascending', value: 'ASC' },
|
|
61
59
|
{ label: 'Descending', value: 'DESC' },
|
|
@@ -251,7 +251,7 @@ exports.DATE_DESCRIPTION_MAP = {
|
|
|
251
251
|
},
|
|
252
252
|
},
|
|
253
253
|
},
|
|
254
|
-
})]: (node) => `${cleanDateFieldName(node.left.args.value[1].column)} in the
|
|
254
|
+
})]: (node) => `${cleanDateFieldName(node.left.args.value[1].column)} in the previous ${node.right.right.expr.value.toLowerCase()}`,
|
|
255
255
|
[JSON.stringify({
|
|
256
256
|
type: 'binary_expr',
|
|
257
257
|
left: {
|
|
@@ -20,8 +20,9 @@ export declare function convertGroupBy(ast: AST, prevPivot: Pivot | undefined, s
|
|
|
20
20
|
pivot: Pivot;
|
|
21
21
|
} | {
|
|
22
22
|
pivot: Partial<{
|
|
23
|
-
aggregationType: "sum" | "average" | "count" | "min" | "max";
|
|
23
|
+
aggregationType: "sum" | "average" | "count" | "min" | "max" | "avg";
|
|
24
24
|
valueField: string;
|
|
25
|
+
valueFieldType?: string | undefined;
|
|
25
26
|
rowField?: string | undefined;
|
|
26
27
|
rowFieldType?: string | undefined;
|
|
27
28
|
columnField?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,GAAG,EACpB,GAAG,EAMJ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AASjD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAuBlE;AAGD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,QAahB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAuCpD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,YAAY,EAAE,SAAS,EAAE,GACxB,GAAG,CAAC,MAAM,CAwBZ;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,SAAS,mBAAc,EACvB,YAAY,EAAE,SAAS,EAAE
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,GAAG,EACpB,GAAG,EAMJ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AASjD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAuBlE;AAGD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,QAahB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAuCpD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,YAAY,EAAE,SAAS,EAAE,GACxB,GAAG,CAAC,MAAM,CAwBZ;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,SAAS,mBAAc,EACvB,YAAY,EAAE,SAAS,EAAE;;;;;;;;;;;;;;;EAwd1B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;;;EA6G5D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAyJtE;AAID,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAY1E"}
|