@quillsql/react 2.11.16 → 2.11.18
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 +109 -42
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +44 -18
- package/dist/cjs/ChartBuilder.d.ts +204 -30
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +124 -63
- package/dist/cjs/ChartEditor.d.ts +123 -19
- 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 +51 -159
- 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 +194 -42
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +563 -416
- package/dist/cjs/SQLEditor.d.ts +160 -23
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +36 -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/QuillCard.d.ts +2 -7
- package/dist/cjs/components/QuillCard.d.ts.map +1 -1
- package/dist/cjs/components/QuillCard.js +15 -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 +10 -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 +5 -15
- 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 +3 -1
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +60 -21
- package/dist/cjs/components/ReportBuilder/operators.d.ts +15 -10
- package/dist/cjs/components/ReportBuilder/operators.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/operators.js +23 -10
- 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 +82 -18
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +55 -103
- package/dist/cjs/components/ReportBuilder/util.d.ts +10 -4
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +124 -71
- package/dist/cjs/components/UiComponents.d.ts +81 -87
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +76 -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 +5 -2
- package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotList.js +21 -21
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +30 -14
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +77 -52
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +2 -0
- package/dist/cjs/utils/parserBigQuery.d.ts +6 -0
- package/dist/cjs/utils/parserBigQuery.d.ts.map +1 -0
- package/dist/cjs/utils/parserBigQuery.js +60 -0
- package/dist/cjs/utils/parserPostgres.d.ts +3 -0
- package/dist/cjs/utils/parserPostgres.d.ts.map +1 -0
- package/dist/cjs/utils/parserPostgres.js +42 -0
- package/dist/esm/Chart.d.ts +109 -42
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +45 -19
- package/dist/esm/ChartBuilder.d.ts +204 -30
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +124 -63
- package/dist/esm/ChartEditor.d.ts +123 -19
- 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 +54 -160
- 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 +194 -42
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +566 -419
- package/dist/esm/SQLEditor.d.ts +160 -23
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +36 -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/QuillCard.d.ts +2 -7
- package/dist/esm/components/QuillCard.d.ts.map +1 -1
- package/dist/esm/components/QuillCard.js +15 -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 +10 -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 +5 -15
- 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 +3 -1
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +51 -13
- package/dist/esm/components/ReportBuilder/operators.d.ts +15 -10
- package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/operators.js +23 -10
- 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 +82 -18
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +53 -101
- package/dist/esm/components/ReportBuilder/util.d.ts +10 -4
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.js +114 -67
- package/dist/esm/components/UiComponents.d.ts +81 -87
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +71 -102
- 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 +5 -2
- package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotList.js +21 -21
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +30 -14
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +77 -52
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +2 -0
- package/dist/esm/utils/parserBigQuery.d.ts +6 -0
- package/dist/esm/utils/parserBigQuery.d.ts.map +1 -0
- package/dist/esm/utils/parserBigQuery.js +52 -0
- package/dist/esm/utils/parserPostgres.d.ts +3 -0
- package/dist/esm/utils/parserPostgres.d.ts.map +1 -0
- package/dist/esm/utils/parserPostgres.js +37 -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
|
@@ -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: {
|
|
@@ -3,6 +3,7 @@ import { Pivot } from './pivot';
|
|
|
3
3
|
import { TableInfo } from './schema';
|
|
4
4
|
export declare function convertDateComparison(node: NSP.Select): NSP.Select;
|
|
5
5
|
export declare function recursiveSearchAndReplace(node: any, search: string, replace: string): void;
|
|
6
|
+
export declare function recursiveSearchAndReplaceByKey(node: any, search: string, replace: string, searchKey: string): void;
|
|
6
7
|
/**
|
|
7
8
|
* Takes a bigquery AST as input, cleans it, and returns a Select AST.
|
|
8
9
|
*/
|
|
@@ -20,8 +21,9 @@ export declare function convertGroupBy(ast: AST, prevPivot: Pivot | undefined, s
|
|
|
20
21
|
pivot: Pivot;
|
|
21
22
|
} | {
|
|
22
23
|
pivot: Partial<{
|
|
23
|
-
aggregationType: "sum" | "average" | "count" | "min" | "max";
|
|
24
|
+
aggregationType: "sum" | "average" | "count" | "min" | "max" | "avg";
|
|
24
25
|
valueField: string;
|
|
26
|
+
valueFieldType?: string | undefined;
|
|
25
27
|
rowField?: string | undefined;
|
|
26
28
|
rowFieldType?: string | undefined;
|
|
27
29
|
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,
|
|
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;AAGD,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,QAalB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CA2CpD;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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertRemoveSimpleParentheses = exports.convertStringComparison = exports.applyPivot = exports.convertGroupBy = exports.convertWildcardColumns = exports.convertBigQuery = exports.recursiveSearchAndReplace = exports.convertDateComparison = void 0;
|
|
3
|
+
exports.convertRemoveSimpleParentheses = exports.convertStringComparison = exports.applyPivot = exports.convertGroupBy = exports.convertWildcardColumns = exports.convertBigQuery = exports.recursiveSearchAndReplaceByKey = exports.recursiveSearchAndReplace = exports.convertDateComparison = void 0;
|
|
4
4
|
const ast_1 = require("./ast");
|
|
5
5
|
const util_1 = require("./util");
|
|
6
6
|
// Helper functions that preprocess the AST.
|
|
@@ -49,6 +49,21 @@ function recursiveSearchAndReplace(node, search, replace) {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
exports.recursiveSearchAndReplace = recursiveSearchAndReplace;
|
|
52
|
+
// THIS IS USED TO REPLACE UNITS IN INTERVALS FOR BIGQUERY
|
|
53
|
+
function recursiveSearchAndReplaceByKey(node, search, replace, searchKey) {
|
|
54
|
+
if (typeof node !== 'object') {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (node) {
|
|
58
|
+
Object.keys(node).forEach((key) => {
|
|
59
|
+
recursiveSearchAndReplaceByKey(node[key], search, replace, searchKey);
|
|
60
|
+
if (searchKey === key && node[key] === search) {
|
|
61
|
+
node[key] = replace;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.recursiveSearchAndReplaceByKey = recursiveSearchAndReplaceByKey;
|
|
52
67
|
/**
|
|
53
68
|
* Takes a bigquery AST as input, cleans it, and returns a Select AST.
|
|
54
69
|
*/
|
|
@@ -71,6 +86,10 @@ function convertBigQuery(ast) {
|
|
|
71
86
|
recursiveSearchAndReplace(newAst.where, 'CURRENT_DATE', 'CURRENT_TIMESTAMP');
|
|
72
87
|
recursiveSearchAndReplace(newAst.where, 'DATE_TRUNC', 'TIMESTAMP_TRUNC');
|
|
73
88
|
recursiveSearchAndReplace(newAst.where, 'DATE', 'TIMESTAMP');
|
|
89
|
+
// JANK: If anyone is here this is how you have to do intervals in BigQuery no joke
|
|
90
|
+
recursiveSearchAndReplaceByKey(newAst.where, 'year', '* 365 DAY', 'unit');
|
|
91
|
+
recursiveSearchAndReplaceByKey(newAst.where, 'week', '* 7 DAY', 'unit');
|
|
92
|
+
recursiveSearchAndReplaceByKey(newAst.where, 'month', '* 30 DAY', 'unit');
|
|
74
93
|
// TODO: handle joins nicely
|
|
75
94
|
if (newAst.from?.length > 1) {
|
|
76
95
|
newAst.from = [newAst.from[0]];
|
|
@@ -180,8 +199,11 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
|
|
|
180
199
|
else if (column.expr?.args?.expr) {
|
|
181
200
|
columnName = column.expr?.args?.expr?.value;
|
|
182
201
|
}
|
|
183
|
-
if (column.expr.type === 'aggr_func' && !isIdColumn(columnName)) {
|
|
202
|
+
if (column.expr.type === 'aggr_func' && !(0, util_1.isIdColumn)(columnName)) {
|
|
184
203
|
pivot.aggregationType = column.expr.name.toLowerCase();
|
|
204
|
+
if (pivot.aggregationType === 'avg') {
|
|
205
|
+
pivot.aggregationType = 'average';
|
|
206
|
+
}
|
|
185
207
|
pivot.valueField =
|
|
186
208
|
column.expr.args?.expr?.value || column.expr.args?.expr?.column;
|
|
187
209
|
if (column.expr.args.expr.type === 'column_ref') {
|
|
@@ -197,15 +219,23 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
|
|
|
197
219
|
}
|
|
198
220
|
}
|
|
199
221
|
if (columnName === '*') {
|
|
200
|
-
//
|
|
222
|
+
// Use the first numeric column found, if none found, use the first column
|
|
223
|
+
let columnForValueField = columns.find((c) => {
|
|
224
|
+
return (0, ast_1.isNumericColumnType)(c.fieldType) && !(0, util_1.isIdColumn)(c.field);
|
|
225
|
+
});
|
|
226
|
+
if (!columnForValueField) {
|
|
227
|
+
columnForValueField = columns[0];
|
|
228
|
+
}
|
|
201
229
|
for (let i = 0; i < columns.length; i++) {
|
|
202
|
-
if (!isIdColumn(columns[i]?.field) &&
|
|
230
|
+
if (!(0, util_1.isIdColumn)(columns[i]?.field) &&
|
|
203
231
|
(0, ast_1.isNumericColumnType)(columns[i]?.fieldType)) {
|
|
204
|
-
|
|
205
|
-
columnName = columns[i].field;
|
|
232
|
+
columnForValueField = columns[i];
|
|
206
233
|
break;
|
|
207
234
|
}
|
|
208
235
|
}
|
|
236
|
+
pivot.valueField = columnForValueField.field;
|
|
237
|
+
pivot.valueFieldType = 'number';
|
|
238
|
+
columnName = columnForValueField.field;
|
|
209
239
|
}
|
|
210
240
|
newColumns.push({
|
|
211
241
|
type: 'expr',
|
|
@@ -234,9 +264,12 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
|
|
|
234
264
|
// The result of the CASE is the column to use
|
|
235
265
|
const columnNode = column.expr?.args?.expr?.args[0]?.result;
|
|
236
266
|
const columnName = columnNode?.value ?? columnNode?.column;
|
|
237
|
-
if (!isIdColumn(columnName)) {
|
|
267
|
+
if (!(0, util_1.isIdColumn)(columnName)) {
|
|
238
268
|
pivot.valueField = columnName;
|
|
239
269
|
pivot.aggregationType = column?.expr?.name?.toLowerCase();
|
|
270
|
+
if (pivot.aggregationType === 'avg') {
|
|
271
|
+
pivot.aggregationType = 'average';
|
|
272
|
+
}
|
|
240
273
|
}
|
|
241
274
|
const findByName = (x) => [x.expr?.value, x.expr?.column].includes(columnName);
|
|
242
275
|
if (!newColumns.find(findByName)) {
|
|
@@ -254,7 +287,7 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
|
|
|
254
287
|
// the CASE and we'll use that as the columnField in our pivot.
|
|
255
288
|
const condNode = column.expr?.args?.expr?.args[0]?.cond;
|
|
256
289
|
const condColumnName = condNode.left?.column ?? condNode.left?.value;
|
|
257
|
-
if (!isIdColumn(condColumnName)) {
|
|
290
|
+
if (!(0, util_1.isIdColumn)(condColumnName)) {
|
|
258
291
|
pivot.columnField = condColumnName;
|
|
259
292
|
}
|
|
260
293
|
const findByColName = (x) => [x.expr?.value, x.expr?.column].includes(condColumnName);
|
|
@@ -283,19 +316,27 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
|
|
|
283
316
|
const columnName = columnNode?.value || columnNode?.column;
|
|
284
317
|
// if count(*), make the value field an actual column
|
|
285
318
|
if (columnName === '*') {
|
|
286
|
-
|
|
287
|
-
return (0, ast_1.isNumericColumnType)(c.fieldType) && !isIdColumn(c.field);
|
|
319
|
+
let columnForValueField = columns.find((c) => {
|
|
320
|
+
return (0, ast_1.isNumericColumnType)(c.fieldType) && !(0, util_1.isIdColumn)(c.field);
|
|
288
321
|
});
|
|
289
|
-
|
|
322
|
+
// if there aren't any numeric columns use the first column
|
|
323
|
+
if (!column) {
|
|
324
|
+
columnForValueField = columns[0];
|
|
325
|
+
}
|
|
326
|
+
pivot.valueField = columnForValueField?.field;
|
|
327
|
+
pivot.valueFieldType = 'number';
|
|
290
328
|
pivot.aggregationType = column?.expr?.name.toLowerCase();
|
|
291
|
-
|
|
329
|
+
if (pivot.aggregationType === 'avg') {
|
|
330
|
+
pivot.aggregationType = 'average';
|
|
331
|
+
}
|
|
332
|
+
const findByName = (x) => [x.expr?.value, x.expr?.column].includes(columnForValueField.field);
|
|
292
333
|
if (!newColumns.find(findByName)) {
|
|
293
334
|
newColumns.push({
|
|
294
335
|
type: 'expr',
|
|
295
336
|
expr: {
|
|
296
337
|
type: 'column_ref',
|
|
297
338
|
table: null,
|
|
298
|
-
column:
|
|
339
|
+
column: columnForValueField?.field || '',
|
|
299
340
|
},
|
|
300
341
|
as: null,
|
|
301
342
|
});
|
|
@@ -304,9 +345,12 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
|
|
|
304
345
|
else {
|
|
305
346
|
// ONLY SET VALUE FIELD IF THE FIELD TYPE IS A NUMBER
|
|
306
347
|
if ((0, ast_1.isNumericColumnType)(field?.fieldType) &&
|
|
307
|
-
!isIdColumn(columnName)) {
|
|
348
|
+
!(0, util_1.isIdColumn)(columnName)) {
|
|
308
349
|
pivot.valueField = columnName;
|
|
309
350
|
pivot.aggregationType = column?.expr?.name.toLowerCase();
|
|
351
|
+
if (pivot.aggregationType === 'avg') {
|
|
352
|
+
pivot.aggregationType = 'average';
|
|
353
|
+
}
|
|
310
354
|
}
|
|
311
355
|
const findByName = (x) => [x.expr?.value, x.expr?.column].includes(columnName);
|
|
312
356
|
if (!newColumns.find(findByName)) {
|
|
@@ -459,7 +503,7 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
|
|
|
459
503
|
for (let j = 0; j < ast.groupby.length; j++) {
|
|
460
504
|
const group = ast.groupby[j];
|
|
461
505
|
let groupValue = (0, ast_1.extractColumnish)(group);
|
|
462
|
-
if (!groupValue || isIdColumn(groupValue)) {
|
|
506
|
+
if (!groupValue || (0, util_1.isIdColumn)(groupValue)) {
|
|
463
507
|
continue;
|
|
464
508
|
}
|
|
465
509
|
// check if this value is an alias, if so use concrete value
|
|
@@ -501,7 +545,7 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
|
|
|
501
545
|
newAst.columns[i].expr?.value ||
|
|
502
546
|
undefined;
|
|
503
547
|
if (columnName &&
|
|
504
|
-
!isIdColumn(columnName) &&
|
|
548
|
+
!(0, util_1.isIdColumn)(columnName) &&
|
|
505
549
|
(0, ast_1.isNumericColumnType)(columns.find((c) => c.field === columnName)?.fieldType)) {
|
|
506
550
|
pivot.valueField = columnName;
|
|
507
551
|
pivot.aggregationType = 'sum';
|
|
@@ -782,8 +826,3 @@ function convertRemoveSimpleParentheses(ast) {
|
|
|
782
826
|
return { ...ast, where: node };
|
|
783
827
|
}
|
|
784
828
|
exports.convertRemoveSimpleParentheses = convertRemoveSimpleParentheses;
|
|
785
|
-
function isIdColumn(columnName) {
|
|
786
|
-
return (columnName &&
|
|
787
|
-
(columnName.toLowerCase() === 'id' ||
|
|
788
|
-
columnName.toLowerCase().endsWith('_id')));
|
|
789
|
-
}
|
|
@@ -17,6 +17,8 @@ export declare const OPERATOR_GROUPS: {
|
|
|
17
17
|
between: string;
|
|
18
18
|
'IS NOT': string;
|
|
19
19
|
IS: string;
|
|
20
|
+
EQUALS: string;
|
|
21
|
+
equals: string;
|
|
20
22
|
};
|
|
21
23
|
export declare const getDefaultOperatorSubtrees: (key: any, operator: any, left: any, right: any, databaseType: string) => any;
|
|
22
24
|
export declare const DEFAULT_OPERATOR_SUBTREES: {
|
|
@@ -416,29 +418,32 @@ export declare const DEFAULT_BIG_QUERY_OPERATOR_SUBTREES: {
|
|
|
416
418
|
name: string;
|
|
417
419
|
args: {
|
|
418
420
|
type: string;
|
|
419
|
-
value:
|
|
420
|
-
type: string;
|
|
421
|
-
value: string;
|
|
422
|
-
table?: undefined;
|
|
423
|
-
column?: undefined;
|
|
424
|
-
} | {
|
|
421
|
+
value: {
|
|
425
422
|
type: string;
|
|
426
423
|
table: null;
|
|
427
424
|
column: string;
|
|
428
|
-
|
|
429
|
-
})[];
|
|
425
|
+
}[];
|
|
430
426
|
};
|
|
427
|
+
over: null;
|
|
431
428
|
};
|
|
432
429
|
right: {
|
|
433
430
|
type: string;
|
|
434
431
|
name: string;
|
|
435
432
|
args: {
|
|
436
433
|
type: string;
|
|
437
|
-
value: {
|
|
434
|
+
value: ({
|
|
438
435
|
type: string;
|
|
439
436
|
value: string;
|
|
440
|
-
|
|
437
|
+
table?: undefined;
|
|
438
|
+
column?: undefined;
|
|
439
|
+
} | {
|
|
440
|
+
type: string;
|
|
441
|
+
table: null;
|
|
442
|
+
column: string;
|
|
443
|
+
value?: undefined;
|
|
444
|
+
})[];
|
|
441
445
|
};
|
|
446
|
+
over: null;
|
|
442
447
|
};
|
|
443
448
|
};
|
|
444
449
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/operators.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/operators.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;CAqB3B,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAChC,GAAG,YACE,GAAG,QACP,GAAG,SACF,GAAG,gBACI,MAAM,QAoErB,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoQrC,CAAC;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmM/C,CAAC"}
|
|
@@ -24,6 +24,8 @@ exports.OPERATOR_GROUPS = {
|
|
|
24
24
|
between: 'in_the_last',
|
|
25
25
|
'IS NOT': 'null_comp',
|
|
26
26
|
IS: 'null_comp',
|
|
27
|
+
EQUALS: 'equals',
|
|
28
|
+
equals: 'equals',
|
|
27
29
|
};
|
|
28
30
|
const getDefaultOperatorSubtrees = (key, operator, left, right, databaseType) => {
|
|
29
31
|
let result = exports.DEFAULT_OPERATOR_SUBTREES[key];
|
|
@@ -84,7 +86,14 @@ const getDefaultOperatorSubtrees = (key, operator, left, right, databaseType) =>
|
|
|
84
86
|
result.left.column = left;
|
|
85
87
|
}
|
|
86
88
|
else if (key === 'equals') {
|
|
87
|
-
|
|
89
|
+
if (databaseType === 'BigQuery') {
|
|
90
|
+
result = exports.DEFAULT_BIG_QUERY_OPERATOR_SUBTREES['equals'];
|
|
91
|
+
result.left.args.value[0].column = left;
|
|
92
|
+
result.left.column = left;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
result.left.args.value[1].column = left;
|
|
96
|
+
}
|
|
88
97
|
}
|
|
89
98
|
else if (key === 'date') {
|
|
90
99
|
result.operator = operator;
|
|
@@ -515,38 +524,42 @@ exports.DEFAULT_BIG_QUERY_OPERATOR_SUBTREES = {
|
|
|
515
524
|
operator: '=',
|
|
516
525
|
left: {
|
|
517
526
|
type: 'function',
|
|
518
|
-
name: '
|
|
527
|
+
name: 'timestamp_trunc',
|
|
519
528
|
args: {
|
|
520
529
|
type: 'expr_list',
|
|
521
530
|
value: [
|
|
522
531
|
{
|
|
523
|
-
type: '
|
|
524
|
-
|
|
532
|
+
type: 'column_ref',
|
|
533
|
+
table: null,
|
|
534
|
+
column: '',
|
|
525
535
|
},
|
|
526
536
|
{
|
|
527
537
|
type: 'column_ref',
|
|
528
538
|
table: null,
|
|
529
|
-
column: '',
|
|
539
|
+
column: 'YEAR',
|
|
530
540
|
},
|
|
531
541
|
],
|
|
532
542
|
},
|
|
543
|
+
over: null,
|
|
533
544
|
},
|
|
534
545
|
right: {
|
|
535
546
|
type: 'function',
|
|
536
|
-
name: '
|
|
547
|
+
name: 'timestamp_trunc',
|
|
537
548
|
args: {
|
|
538
549
|
type: 'expr_list',
|
|
539
550
|
value: [
|
|
540
|
-
{
|
|
541
|
-
type: 'single_quote_string',
|
|
542
|
-
value: 'month',
|
|
543
|
-
},
|
|
544
551
|
{
|
|
545
552
|
type: 'timestamp',
|
|
546
553
|
value: '2024-01-01',
|
|
547
554
|
},
|
|
555
|
+
{
|
|
556
|
+
type: 'column_ref',
|
|
557
|
+
table: null,
|
|
558
|
+
column: 'YEAR',
|
|
559
|
+
},
|
|
548
560
|
],
|
|
549
561
|
},
|
|
562
|
+
over: null,
|
|
550
563
|
},
|
|
551
564
|
},
|
|
552
565
|
};
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* Represents the metadata of a pivot table.
|
|
3
3
|
*/
|
|
4
4
|
export type Pivot = {
|
|
5
|
-
aggregationType: 'sum' | 'average' | 'min' | 'max' | 'count';
|
|
5
|
+
aggregationType: 'sum' | 'average' | 'min' | 'max' | 'count' | 'avg';
|
|
6
6
|
valueField: string;
|
|
7
|
+
valueFieldType?: string;
|
|
7
8
|
rowField?: string;
|
|
8
9
|
rowFieldType?: string;
|
|
9
10
|
columnField?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pivot.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/pivot.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,eAAe,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"pivot.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/pivot.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,eAAe,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;CAC/B,GAAG,IAAI,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { SidebarComponentProps, ContainerComponentProps } from '../UiComponents';
|
|
2
3
|
/**
|
|
3
4
|
* This file is a collection of basic UI components that conform to the shape
|
|
4
5
|
* expected by the Report Builder. Where possible, we use our existing
|
|
@@ -9,26 +10,89 @@ export declare const QuillButton: ({ children, ...props }: any) => import("react
|
|
|
9
10
|
export declare const QuillSecondaryButton: ({ children, ...props }: any) => import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
export declare const QuillReportBuilderTable: ({ rows, columns, error, ...props }: any) => import("react/jsx-runtime").JSX.Element;
|
|
11
12
|
export declare const QuillTag: import("react").ForwardRefExoticComponent<Omit<any, "ref"> & import("react").RefAttributes<unknown>>;
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export declare const
|
|
16
|
-
export declare const
|
|
17
|
-
export declare
|
|
18
|
-
export declare const QuillPopover: import("react").ForwardRefExoticComponent<Omit<any, "ref"> & import("react").RefAttributes<unknown>>;
|
|
13
|
+
export interface SidebarHeadingComponentProps {
|
|
14
|
+
label: string;
|
|
15
|
+
}
|
|
16
|
+
export declare const QuillSidebarHeading: ({ label, }: SidebarHeadingComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare const QuillSidebar: ({ children }: SidebarComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare const CustomContainer: ({ children }: ContainerComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
19
|
export declare const QuillHandleButton: () => import("react/jsx-runtime").JSX.Element;
|
|
20
|
-
export
|
|
21
|
-
|
|
20
|
+
export interface SelectColumnComponentProps {
|
|
21
|
+
label: string;
|
|
22
|
+
isSelected: boolean;
|
|
23
|
+
setSelected: () => void;
|
|
24
|
+
DragHandle: ({ dragIcon }: {
|
|
25
|
+
dragIcon: () => JSX.Element;
|
|
26
|
+
}) => JSX.Element;
|
|
27
|
+
}
|
|
28
|
+
export declare const QuillSelectColumn: ({ label, isSelected, setSelected, DragHandle, }: SelectColumnComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
/**
|
|
30
|
+
* Props for a draggable card with a grab-handle and a column name.
|
|
31
|
+
*/
|
|
32
|
+
export interface DraggableColumnComponentProps {
|
|
33
|
+
label: string;
|
|
34
|
+
onDelete: () => void;
|
|
35
|
+
DragHandle: ({ dragIcon }: {
|
|
36
|
+
dragIcon: () => JSX.Element;
|
|
37
|
+
}) => JSX.Element;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A draggable card with a grab-handle and a column name
|
|
41
|
+
*/
|
|
42
|
+
export declare const QuillDraggableColumn: ({ label, onDelete, DragHandle, }: DraggableColumnComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
43
|
export declare const QuillButtonLoadingState: () => import("react/jsx-runtime").JSX.Element;
|
|
23
44
|
export declare const QuillTableLoadingState: () => import("react/jsx-runtime").JSX.Element;
|
|
24
|
-
export declare const DEFAULT_TAB_OPTIONS: {
|
|
25
|
-
label: string;
|
|
26
|
-
value: string;
|
|
27
|
-
}[];
|
|
28
|
-
export declare const QuillTabs: import("react").ForwardRefExoticComponent<Omit<any, "ref"> & import("react").RefAttributes<unknown>>;
|
|
29
45
|
export declare const EditPopover: ({ onSave, onDelete, Button, renderNode, activeEditItem, }: any) => import("react/jsx-runtime").JSX.Element;
|
|
30
|
-
export
|
|
31
|
-
|
|
32
|
-
|
|
46
|
+
export interface FilterPopoverComponentProps {
|
|
47
|
+
isOpen: boolean;
|
|
48
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
49
|
+
popoverTitle?: string;
|
|
50
|
+
popoverChildren: ReactNode;
|
|
51
|
+
filterLabel: string;
|
|
52
|
+
onClickDelete: (e: React.MouseEvent<HTMLElement>) => void;
|
|
53
|
+
}
|
|
54
|
+
export declare const QuillFilterPopover: ({ filterLabel, onClickDelete, popoverTitle, popoverChildren, isOpen, setIsOpen, }: FilterPopoverComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
export interface SortPopoverComponentProps {
|
|
56
|
+
isOpen: boolean;
|
|
57
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
58
|
+
popoverTitle?: string;
|
|
59
|
+
popoverChildren: ReactNode;
|
|
60
|
+
sortLabel: string;
|
|
61
|
+
onClickDelete: (e: React.MouseEvent<HTMLElement>) => void;
|
|
62
|
+
}
|
|
63
|
+
export declare const QuillSortPopover: ({ sortLabel, onClickDelete, popoverTitle, popoverChildren, isOpen, setIsOpen, }: SortPopoverComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
64
|
+
export interface LimitPopoverComponentProps {
|
|
65
|
+
isOpen: boolean;
|
|
66
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
67
|
+
popoverTitle?: string;
|
|
68
|
+
popoverChildren: ReactNode;
|
|
69
|
+
limitLabel: string;
|
|
70
|
+
onClickDelete: (e: React.MouseEvent<HTMLElement>) => void;
|
|
71
|
+
}
|
|
72
|
+
export declare const QuillLimitPopover: ({ limitLabel, onClickDelete, popoverTitle, popoverChildren, isOpen, setIsOpen, }: LimitPopoverComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
73
|
+
export interface TagWrapperProps {
|
|
74
|
+
isCard: boolean;
|
|
75
|
+
isRow: boolean;
|
|
76
|
+
editPopoverKey: string;
|
|
77
|
+
keyPrefix: string;
|
|
78
|
+
formData: any;
|
|
79
|
+
activeEditItem: any;
|
|
80
|
+
setEditPopoverKey: any;
|
|
81
|
+
setActiveEditItem: any;
|
|
82
|
+
setActivePath: any;
|
|
83
|
+
setOpenPopover: any;
|
|
84
|
+
setIsPending: any;
|
|
85
|
+
clearCheckboxes: any;
|
|
86
|
+
handleDelete: any;
|
|
87
|
+
setCheckboxes: any;
|
|
88
|
+
handleReplaceSubtree: any;
|
|
89
|
+
FilterPopover: (props: FilterPopoverComponentProps) => JSX.Element;
|
|
90
|
+
getByKey: any;
|
|
91
|
+
EditPopover: any;
|
|
92
|
+
Button: any;
|
|
93
|
+
renderNode: any;
|
|
94
|
+
children: any;
|
|
95
|
+
}
|
|
96
|
+
export declare const TagWrapper: ({ isCard, isRow, editPopoverKey, keyPrefix, formData, activeEditItem, setEditPopoverKey, setActiveEditItem, setActivePath, setOpenPopover, setIsPending, clearCheckboxes, handleDelete, setCheckboxes, handleReplaceSubtree, FilterPopover, getByKey, EditPopover, Button, renderNode, children, }: TagWrapperProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
97
|
export declare const AddFilterPopover: ({ onSave, Button, renderNode, activeEditItem, }: any) => import("react/jsx-runtime").JSX.Element;
|
|
34
98
|
//# sourceMappingURL=ui.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/ui.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/ui.tsx"],"names":[],"mappings":"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"}
|