@quillsql/react 2.11.15 → 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 +195 -28
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +124 -63
- 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 -90
- 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 -34
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +551 -426
- package/dist/cjs/SQLEditor.d.ts +158 -29
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +52 -32
- 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 +30 -1
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.js +33 -14
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +25 -2
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +19 -19
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +22 -2
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.js +18 -20
- 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 -19
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +68 -121
- package/dist/cjs/components/ReportBuilder/util.d.ts +3 -1
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +34 -8
- package/dist/cjs/components/UiComponents.d.ts +98 -97
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +132 -112
- 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/cjs/utils/width.d.ts +12 -0
- package/dist/cjs/utils/width.d.ts.map +1 -0
- package/dist/cjs/utils/width.js +25 -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 +195 -28
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +124 -63
- 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 -90
- 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 -34
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +553 -428
- package/dist/esm/SQLEditor.d.ts +158 -29
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +53 -33
- 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 +30 -1
- package/dist/esm/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnPopover.js +34 -15
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +25 -2
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.js +20 -20
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +22 -2
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.js +20 -22
- 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 -19
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +67 -119
- package/dist/esm/components/ReportBuilder/util.d.ts +3 -1
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.js +31 -7
- package/dist/esm/components/UiComponents.d.ts +98 -97
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +125 -110
- 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/dist/esm/utils/width.d.ts +12 -0
- package/dist/esm/utils/width.d.ts.map +1 -0
- package/dist/esm/utils/width.js +21 -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
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.AddFilterPopover = exports.TagWrapper = exports.
|
|
6
|
+
exports.AddFilterPopover = exports.TagWrapper = exports.QuillLimitPopover = exports.QuillSortPopover = exports.QuillFilterPopover = exports.EditPopover = exports.QuillTableLoadingState = exports.QuillButtonLoadingState = exports.QuillDraggableColumn = exports.QuillSelectColumn = exports.QuillHandleButton = exports.CustomContainer = exports.QuillSidebar = exports.QuillSidebarHeading = exports.QuillTag = exports.QuillReportBuilderTable = exports.QuillSecondaryButton = exports.QuillButton = void 0;
|
|
7
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
8
|
const react_1 = require("react");
|
|
9
9
|
const UiComponents_1 = require("../UiComponents");
|
|
@@ -60,25 +60,7 @@ const QuillSecondaryButton = ({ children, ...props }) => {
|
|
|
60
60
|
}, children: children }));
|
|
61
61
|
};
|
|
62
62
|
exports.QuillSecondaryButton = QuillSecondaryButton;
|
|
63
|
-
|
|
64
|
-
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
65
|
-
return ((0, jsx_runtime_1.jsx)("input", { ...props, style: {
|
|
66
|
-
color: theme?.primaryTextColor,
|
|
67
|
-
backgroundColor: theme?.backgroundColor || 'white',
|
|
68
|
-
fontFamily: theme?.fontFamily,
|
|
69
|
-
fontWeight: 'medium',
|
|
70
|
-
borderWidth: '1px',
|
|
71
|
-
borderColor: theme?.borderColor || '#E7E7E7',
|
|
72
|
-
borderStyle: 'solid',
|
|
73
|
-
borderRadius: '6px',
|
|
74
|
-
boxShadow: 'rgba(0, 0, 0, 0.1) 0px 1px 5px 0px',
|
|
75
|
-
padding: '0 12px',
|
|
76
|
-
display: 'block',
|
|
77
|
-
minHeight: 32,
|
|
78
|
-
...props.style,
|
|
79
|
-
} }));
|
|
80
|
-
};
|
|
81
|
-
exports.QuillTextInput = QuillTextInput;
|
|
63
|
+
// TODO: remove this, I think it is unused.
|
|
82
64
|
const QuillReportBuilderTable = ({ rows, columns, error, ...props }) => {
|
|
83
65
|
const reformattedColumns = columns.map((c) => ({ label: c, field: c }));
|
|
84
66
|
return ((0, jsx_runtime_1.jsx)("div", { style: { height: '100%', overflow: 'auto' }, children: (0, jsx_runtime_1.jsx)(QuillTable_1.default, { rows: rows, columns: reformattedColumns, rowsPerPage: 10, showDownloadCSVButton: rows?.length > 0, downloadCSV: () => (0, csv_1.downloadCSV)({ rows, fields: reformattedColumns, name: 'my_report' }), emptyStateLabel: error || 'No results', ...props }) }));
|
|
@@ -124,22 +106,20 @@ exports.QuillTag = (0, react_1.forwardRef)(({ label, onClick, children, onClickD
|
|
|
124
106
|
}, children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: theme?.secondaryButtonColor || 'currentColor', style: { width: 16, height: 16 }, children: (0, jsx_runtime_1.jsx)("path", { d: "M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z" }) }) }) }))] }));
|
|
125
107
|
});
|
|
126
108
|
// A heading element in the sidebar (eg. "Filters")
|
|
127
|
-
const QuillSidebarHeading = ({ label }) => (
|
|
109
|
+
const QuillSidebarHeading = ({ label, }) => (0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedHeader, { label: label });
|
|
128
110
|
exports.QuillSidebarHeading = QuillSidebarHeading;
|
|
129
|
-
// A sub-heading element in the sidebar (eg. "Filters")
|
|
130
|
-
const QuillSidebarSubHeading = ({ label }) => ((0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedLabel, { children: label }));
|
|
131
|
-
exports.QuillSidebarSubHeading = QuillSidebarSubHeading;
|
|
132
111
|
// The gray thing on the left.
|
|
133
|
-
|
|
112
|
+
const QuillSidebar = ({ children }) => ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
134
113
|
overflowX: 'visible',
|
|
135
114
|
padding: '12px',
|
|
136
115
|
width: '25%',
|
|
137
116
|
height: '100%',
|
|
138
117
|
maxWidth: '300px',
|
|
139
118
|
boxSizing: 'border-box',
|
|
140
|
-
},
|
|
119
|
+
}, children: children }));
|
|
120
|
+
exports.QuillSidebar = QuillSidebar;
|
|
141
121
|
// A big wrapper around the main content (ie. Input, Button, and Table)
|
|
142
|
-
|
|
122
|
+
const CustomContainer = ({ children }) => ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
143
123
|
position: 'sticky',
|
|
144
124
|
top: 0,
|
|
145
125
|
display: 'flex',
|
|
@@ -152,61 +132,8 @@ exports.CustomContainer = (0, react_1.forwardRef)(({ children, ...props }, forwa
|
|
|
152
132
|
width: '75%',
|
|
153
133
|
height: '100%',
|
|
154
134
|
boxSizing: 'border-box',
|
|
155
|
-
},
|
|
156
|
-
|
|
157
|
-
const handleOnChange = (value) => {
|
|
158
|
-
if (!onChange)
|
|
159
|
-
return;
|
|
160
|
-
const option = props.options.find((opt) => opt.value === value);
|
|
161
|
-
if (option) {
|
|
162
|
-
onChange(option.value);
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
return (0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedSelect, { ...props, onChange: handleOnChange });
|
|
166
|
-
};
|
|
167
|
-
exports.QuillSelect = QuillSelect;
|
|
168
|
-
function MemoizedPopover({ onClose, children, style = {}, trigger, isOpen, }) {
|
|
169
|
-
const modalRef = (0, react_1.useRef)(null);
|
|
170
|
-
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
171
|
-
(0, react_1.useEffect)(() => {
|
|
172
|
-
const listener = (event) => {
|
|
173
|
-
if (modalRef?.current && !modalRef?.current?.contains(event.target)) {
|
|
174
|
-
onClose(event);
|
|
175
|
-
}
|
|
176
|
-
};
|
|
177
|
-
document.addEventListener('mousedown', listener);
|
|
178
|
-
return () => {
|
|
179
|
-
document.removeEventListener('mousedown', listener);
|
|
180
|
-
};
|
|
181
|
-
}, [modalRef, onClose]);
|
|
182
|
-
return ((0, jsx_runtime_1.jsxs)("div", { children: [trigger, isOpen && ((0, jsx_runtime_1.jsx)("div", { id: "quill-popover-modal", ref: modalRef, style: { position: 'relative' }, children: (0, jsx_runtime_1.jsx)("div", { style: {
|
|
183
|
-
background: theme?.backgroundColor || 'white',
|
|
184
|
-
position: 'absolute',
|
|
185
|
-
boxShadow: '0px 1px 12px 0px rgba(56, 65, 81, 0.1)',
|
|
186
|
-
border: theme
|
|
187
|
-
? `${theme.borderWidth || 1}px solid ${theme.borderColor || '#e7e7e7'}`
|
|
188
|
-
: '1px solid #e7e7e7',
|
|
189
|
-
boxSizing: 'content-box',
|
|
190
|
-
zIndex: 999,
|
|
191
|
-
top: 12,
|
|
192
|
-
borderRadius: 6,
|
|
193
|
-
padding: 20,
|
|
194
|
-
...style,
|
|
195
|
-
}, children: children }) }))] }));
|
|
196
|
-
}
|
|
197
|
-
exports.MemoizedPopover = MemoizedPopover;
|
|
198
|
-
exports.QuillPopover = (0, react_1.forwardRef)(({ children, trigger, isOpen, onClose = () => { }, title = undefined }, ref) => {
|
|
199
|
-
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
200
|
-
return ((0, jsx_runtime_1.jsxs)(MemoizedPopover, { isOpen: isOpen, onClose: onClose, trigger: trigger, parentRef: ref, ref: ref, children: [title && ((0, jsx_runtime_1.jsx)("h1", { style: {
|
|
201
|
-
fontWeight: '600',
|
|
202
|
-
fontSize: 18,
|
|
203
|
-
margin: 0,
|
|
204
|
-
textAlign: 'left',
|
|
205
|
-
marginBottom: 5,
|
|
206
|
-
color: theme?.primaryTextColor,
|
|
207
|
-
fontFamily: theme?.fontFamily,
|
|
208
|
-
}, children: title })), children] }));
|
|
209
|
-
});
|
|
135
|
+
}, children: children }));
|
|
136
|
+
exports.CustomContainer = CustomContainer;
|
|
210
137
|
// The six-dot grab-handle icon.
|
|
211
138
|
const QuillHandleButton = () => {
|
|
212
139
|
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
@@ -252,7 +179,7 @@ const QuillHandleButton = () => {
|
|
|
252
179
|
} })] })] }));
|
|
253
180
|
};
|
|
254
181
|
exports.QuillHandleButton = QuillHandleButton;
|
|
255
|
-
const QuillSelectColumn = ({ label,
|
|
182
|
+
const QuillSelectColumn = ({ label, isSelected, setSelected, DragHandle, }) => {
|
|
256
183
|
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
257
184
|
return ((0, jsx_runtime_1.jsxs)("div", { title: label, style: {
|
|
258
185
|
boxShadow: '0px 1px 4px #e2e8f005',
|
|
@@ -264,13 +191,13 @@ const QuillSelectColumn = ({ label, selected, setSelected, children, }) => {
|
|
|
264
191
|
display: 'flex',
|
|
265
192
|
alignItems: 'center',
|
|
266
193
|
backgroundColor: theme?.backgroundColor || 'white',
|
|
267
|
-
}, children: [(0, jsx_runtime_1.jsx)(
|
|
194
|
+
}, children: [(0, jsx_runtime_1.jsx)(DragHandle, { dragIcon: exports.QuillHandleButton }), (0, jsx_runtime_1.jsxs)("label", { style: {
|
|
268
195
|
display: 'flex',
|
|
269
196
|
gap: 2,
|
|
270
197
|
whiteSpace: 'nowrap',
|
|
271
198
|
textOverflow: 'ellipsis',
|
|
272
199
|
overflow: 'hidden',
|
|
273
|
-
}, children: [(0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedCheckbox, {
|
|
200
|
+
}, children: [(0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedCheckbox, { isChecked: isSelected, onChange: () => setSelected() }), (0, jsx_runtime_1.jsx)("span", { style: {
|
|
274
201
|
marginLeft: 6,
|
|
275
202
|
display: 'block',
|
|
276
203
|
whiteSpace: 'nowrap',
|
|
@@ -281,8 +208,10 @@ const QuillSelectColumn = ({ label, selected, setSelected, children, }) => {
|
|
|
281
208
|
}, children: (0, textProcessing_1.snakeCaseToTitleCase)(label) })] })] }));
|
|
282
209
|
};
|
|
283
210
|
exports.QuillSelectColumn = QuillSelectColumn;
|
|
284
|
-
|
|
285
|
-
|
|
211
|
+
/**
|
|
212
|
+
* A draggable card with a grab-handle and a column name
|
|
213
|
+
*/
|
|
214
|
+
const QuillDraggableColumn = ({ label, onDelete, DragHandle, }) => {
|
|
286
215
|
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
287
216
|
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
288
217
|
boxShadow: '0px 1px 4px #e2e8f005',
|
|
@@ -291,13 +220,14 @@ const QuillDraggableColumn = ({ label, children, onDelete }) => {
|
|
|
291
220
|
display: 'flex',
|
|
292
221
|
alignItems: 'center',
|
|
293
222
|
backgroundColor: theme?.backgroundColor || 'white',
|
|
294
|
-
}, children: [(0, jsx_runtime_1.jsx)(
|
|
223
|
+
}, children: [(0, jsx_runtime_1.jsx)(DragHandle, { dragIcon: exports.QuillHandleButton }), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
295
224
|
marginLeft: 2,
|
|
296
225
|
marginRight: 'auto',
|
|
297
226
|
fontSize: 14,
|
|
298
227
|
display: 'block',
|
|
299
228
|
whiteSpace: 'nowrap',
|
|
300
229
|
textOverflow: 'ellipsis',
|
|
230
|
+
overflow: 'hidden',
|
|
301
231
|
fontFamily: theme?.fontFamily,
|
|
302
232
|
}, children: label }), (0, jsx_runtime_1.jsx)("button", { onClick: onDelete, style: {
|
|
303
233
|
paddingRight: 4,
|
|
@@ -318,12 +248,14 @@ const QuillTableLoadingState = () => {
|
|
|
318
248
|
return ((0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column', margin: 'auto' }, children: (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}) }));
|
|
319
249
|
};
|
|
320
250
|
exports.QuillTableLoadingState = QuillTableLoadingState;
|
|
321
|
-
exports.DEFAULT_TAB_OPTIONS = [
|
|
322
|
-
{ label: 'or', value: 'OR' },
|
|
323
|
-
{ label: 'and', value: 'AND' },
|
|
324
|
-
];
|
|
325
|
-
exports.QuillTabs = (0, react_1.forwardRef)(({ options = exports.DEFAULT_TAB_OPTIONS, ...props }, ref) => ((0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedTabs, { ref: ref, options: options, ...props })));
|
|
326
251
|
const EditPopover = ({ onSave, onDelete, Button, renderNode, activeEditItem, }) => {
|
|
252
|
+
const handleOnClick = () => {
|
|
253
|
+
if (!(0, util_1.allNumericNodesValidInTree)(activeEditItem)) {
|
|
254
|
+
alert('Please input a number.');
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
onSave();
|
|
258
|
+
};
|
|
327
259
|
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
328
260
|
display: 'flex',
|
|
329
261
|
flexDirection: 'column',
|
|
@@ -334,44 +266,51 @@ const EditPopover = ({ onSave, onDelete, Button, renderNode, activeEditItem, })
|
|
|
334
266
|
justifyContent: 'end',
|
|
335
267
|
gap: 8,
|
|
336
268
|
width: '100%',
|
|
337
|
-
}, children: [(0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedSecondaryButton, { onClick: onDelete, label: "Delete" }), (0, jsx_runtime_1.jsx)(Button, { onClick:
|
|
269
|
+
}, children: [(0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedSecondaryButton, { onClick: onDelete, label: "Delete" }), (0, jsx_runtime_1.jsx)(Button, { onClick: handleOnClick, label: "Save" })] })] }));
|
|
338
270
|
};
|
|
339
271
|
exports.EditPopover = EditPopover;
|
|
340
|
-
const QuillFilterPopover = ({ filterLabel,
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
}, children: popoverChildren }));
|
|
272
|
+
const QuillFilterPopover = ({ filterLabel, onClickDelete, popoverTitle, popoverChildren, isOpen, setIsOpen, }) => {
|
|
273
|
+
const handleSetIsOpen = (isOpen) => {
|
|
274
|
+
setIsOpen(isOpen);
|
|
275
|
+
};
|
|
276
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(exports.QuillTag, { label: filterLabel, onClickDelete: onClickDelete, onClick: () => setIsOpen(!isOpen) }), (0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedPopover, { isOpen: isOpen, setIsOpen: handleSetIsOpen, popoverTitle: popoverTitle, popoverChildren: popoverChildren })] }));
|
|
346
277
|
};
|
|
347
278
|
exports.QuillFilterPopover = QuillFilterPopover;
|
|
348
|
-
const QuillSortPopover = ({
|
|
349
|
-
return ((0, jsx_runtime_1.
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
setIsOpen(false);
|
|
353
|
-
}, children: popoverChildren }));
|
|
279
|
+
const QuillSortPopover = ({ sortLabel, onClickDelete, popoverTitle, popoverChildren, isOpen, setIsOpen, }) => {
|
|
280
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(exports.QuillTag, { label: sortLabel, onClickDelete: onClickDelete, onClick: () => {
|
|
281
|
+
setIsOpen(!isOpen);
|
|
282
|
+
} }), (0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedPopover, { isOpen: isOpen, popoverTitle: popoverTitle, setIsOpen: setIsOpen, popoverChildren: popoverChildren })] }));
|
|
354
283
|
};
|
|
355
284
|
exports.QuillSortPopover = QuillSortPopover;
|
|
285
|
+
const QuillLimitPopover = ({ limitLabel, onClickDelete, popoverTitle, popoverChildren, isOpen, setIsOpen, }) => {
|
|
286
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(exports.QuillTag, { label: limitLabel, onClickDelete: onClickDelete, onClick: () => {
|
|
287
|
+
setIsOpen(!isOpen);
|
|
288
|
+
} }), (0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedPopover, { isOpen: isOpen, popoverTitle: popoverTitle, setIsOpen: setIsOpen, popoverChildren: popoverChildren })] }));
|
|
289
|
+
};
|
|
290
|
+
exports.QuillLimitPopover = QuillLimitPopover;
|
|
356
291
|
const TagWrapper = ({ isCard, isRow, editPopoverKey, keyPrefix, formData, activeEditItem, setEditPopoverKey, setActiveEditItem, setActivePath, setOpenPopover, setIsPending, clearCheckboxes, fetchSqlQuery, handleDelete, setCheckboxes, handleReplaceSubtree, FilterPopover, getByKey, EditPopover, Button, renderNode, children, }) => {
|
|
357
292
|
const [isOpen, setIsOpen] = (0, react_1.useState)(false);
|
|
293
|
+
const onOpen = () => {
|
|
294
|
+
setActiveEditItem(getByKey(formData, keyPrefix));
|
|
295
|
+
setActivePath(keyPrefix);
|
|
296
|
+
setIsPending(true);
|
|
297
|
+
setEditPopoverKey(keyPrefix);
|
|
298
|
+
setCheckboxes(getByKey(formData, keyPrefix));
|
|
299
|
+
};
|
|
300
|
+
const onClose = () => {
|
|
301
|
+
setEditPopoverKey(null);
|
|
302
|
+
setIsPending(false);
|
|
303
|
+
setActiveEditItem(null);
|
|
304
|
+
setActivePath(null);
|
|
305
|
+
setOpenPopover(null);
|
|
306
|
+
clearCheckboxes();
|
|
307
|
+
};
|
|
358
308
|
(0, react_1.useEffect)(() => {
|
|
359
309
|
if (isOpen) {
|
|
360
|
-
|
|
361
|
-
setActiveEditItem(getByKey(formData, keyPrefix));
|
|
362
|
-
setActivePath(keyPrefix);
|
|
363
|
-
setIsPending(true);
|
|
364
|
-
setEditPopoverKey(keyPrefix);
|
|
365
|
-
setCheckboxes(getByKey(formData, keyPrefix));
|
|
310
|
+
onOpen();
|
|
366
311
|
}
|
|
367
312
|
else {
|
|
368
|
-
|
|
369
|
-
setEditPopoverKey(null);
|
|
370
|
-
setIsPending(false);
|
|
371
|
-
setActiveEditItem(null);
|
|
372
|
-
setActivePath(null);
|
|
373
|
-
setOpenPopover(null);
|
|
374
|
-
clearCheckboxes();
|
|
313
|
+
onClose();
|
|
375
314
|
}
|
|
376
315
|
}, [isOpen]);
|
|
377
316
|
if (isCard && isRow) {
|
|
@@ -383,9 +322,10 @@ const TagWrapper = ({ isCard, isRow, editPopoverKey, keyPrefix, formData, active
|
|
|
383
322
|
setActivePath(null);
|
|
384
323
|
setOpenPopover(null);
|
|
385
324
|
setEditPopoverKey(null);
|
|
325
|
+
fetchSqlQuery();
|
|
386
326
|
clearCheckboxes();
|
|
387
327
|
};
|
|
388
|
-
return ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(FilterPopover, { isOpen: editPopoverKey === keyPrefix, popoverTitle: "Edit Filter", filterLabel: children,
|
|
328
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(FilterPopover, { isOpen: editPopoverKey === keyPrefix, popoverTitle: "Edit Filter", filterLabel: children, onClickDelete: handleClickDelete, setIsOpen: setIsOpen, popoverChildren: (0, jsx_runtime_1.jsx)(EditPopover, { Button: Button, renderNode: renderNode, activeEditItem: activeEditItem, onSave: () => {
|
|
389
329
|
if ((0, util_1.isNodeEmptyCollection)(activeEditItem)) {
|
|
390
330
|
setIsPending(false);
|
|
391
331
|
setActiveEditItem(null);
|
|
@@ -425,10 +365,17 @@ const TagWrapper = ({ isCard, isRow, editPopoverKey, keyPrefix, formData, active
|
|
|
425
365
|
};
|
|
426
366
|
exports.TagWrapper = TagWrapper;
|
|
427
367
|
const AddFilterPopover = ({ onSave, Button, renderNode, activeEditItem, }) => {
|
|
368
|
+
const handleOnClick = () => {
|
|
369
|
+
if (!(0, util_1.allNumericNodesValidInTree)(activeEditItem)) {
|
|
370
|
+
alert('Please input a number.');
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
onSave();
|
|
374
|
+
};
|
|
428
375
|
return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12 }, children: [activeEditItem && renderNode(activeEditItem), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
429
376
|
display: 'flex',
|
|
430
377
|
flexDirection: 'row',
|
|
431
378
|
justifyContent: 'end',
|
|
432
|
-
}, children: (0, jsx_runtime_1.jsx)(Button, { onClick:
|
|
379
|
+
}, children: (0, jsx_runtime_1.jsx)(Button, { onClick: handleOnClick, label: 'Add filter' }) })] }));
|
|
433
380
|
};
|
|
434
381
|
exports.AddFilterPopover = AddFilterPopover;
|
|
@@ -73,5 +73,7 @@ export declare const getDateFilterInfo: (node: any) => {
|
|
|
73
73
|
intervalType: any;
|
|
74
74
|
intervalPaths: any;
|
|
75
75
|
};
|
|
76
|
-
export declare function removeNonSelectedTableReferences(ast: any, table: string): any;
|
|
76
|
+
export declare function removeNonSelectedTableReferences(ast: any, table: string, columns: string[]): any;
|
|
77
|
+
export declare function allNumericNodesValidInTree(node: any): boolean;
|
|
78
|
+
export declare function isIdColumn(columnName?: string): boolean | "" | undefined;
|
|
77
79
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/util.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,qBAAqB,SAAU,GAAG,YAW9C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,WAa1C;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,WAK5C;AAGD,eAAO,MAAM,WAAW,SAAU,GAAG,YAuBpC,CAAC;AAKF,eAAO,MAAM,oBAAoB,SAAU,GAAG,QAE7C,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG;;;;;;;;EAU3C;AAKD,eAAO,MAAM,eAAe,QAAS,GAAG,QAMvC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,WAiBvD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,GAAG,iBAQjD;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAOf;AAQD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAWf;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAOf;AAMD,eAAO,MAAM,mBAAmB,SAAU,GAAG,gBAAgB,MAAM,YA4BlE,CAAC;AAIF,eAAO,MAAM,2BAA2B,SAAU,GAAG,YAUpD,CAAC;AAIF,eAAO,MAAM,oBAAoB,SACzB,GAAG,gBACK,MAAM,KACnB,OAoBF,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAAU,GAAG,gBAAgB,MAAM,QAYpE,CAAC;AAEF,eAAO,MAAM,4BAA4B,SAAU,GAAG,KAAG,OAUxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAU,GAAG,QA4B3C,CAAC;AAGF,eAAO,MAAM,UAAU,eAAgB,MAAM,SAe5C,CAAC;AAmBF;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,UAsBvE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,UAgB9C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,sBAmBtE;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,SAAU,GAAG,YAU1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,SAAU,GAAG,YAOxC,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,WAehD;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,GAAG,GACV,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAyB1C;AAED,eAAO,MAAM,QAAQ,QAAS,GAAG,QAAoC,CAAC;AAEtE,eAAO,MAAM,QAAQ,MAAO,MAAM,WAA2C,CAAC;AA4L9E,eAAO,MAAM,iBAAiB,SAAU,GAAG;;;;;;;CAc1C,CAAC;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/util.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,qBAAqB,SAAU,GAAG,YAW9C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,WAa1C;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,WAK5C;AAGD,eAAO,MAAM,WAAW,SAAU,GAAG,YAuBpC,CAAC;AAKF,eAAO,MAAM,oBAAoB,SAAU,GAAG,QAE7C,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG;;;;;;;;EAU3C;AAKD,eAAO,MAAM,eAAe,QAAS,GAAG,QAMvC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,WAiBvD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,GAAG,iBAQjD;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAOf;AAQD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAWf;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAOf;AAMD,eAAO,MAAM,mBAAmB,SAAU,GAAG,gBAAgB,MAAM,YA4BlE,CAAC;AAIF,eAAO,MAAM,2BAA2B,SAAU,GAAG,YAUpD,CAAC;AAIF,eAAO,MAAM,oBAAoB,SACzB,GAAG,gBACK,MAAM,KACnB,OAoBF,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAAU,GAAG,gBAAgB,MAAM,QAYpE,CAAC;AAEF,eAAO,MAAM,4BAA4B,SAAU,GAAG,KAAG,OAUxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAU,GAAG,QA4B3C,CAAC;AAGF,eAAO,MAAM,UAAU,eAAgB,MAAM,SAe5C,CAAC;AAmBF;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,UAsBvE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,UAgB9C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,sBAmBtE;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,SAAU,GAAG,YAU1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,SAAU,GAAG,YAOxC,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,WAehD;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,GAAG,GACV,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAyB1C;AAED,eAAO,MAAM,QAAQ,QAAS,GAAG,QAAoC,CAAC;AAEtE,eAAO,MAAM,QAAQ,MAAO,MAAM,WAA2C,CAAC;AA4L9E,eAAO,MAAM,iBAAiB,SAAU,GAAG;;;;;;;CAc1C,CAAC;AA6CF,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,OAQlB;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAc7D;AAED,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,4BAO7C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// A collection of reusable, pure, utility functions for the Report Builder.
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.removeNonSelectedTableReferences = exports.getDateFilterInfo = exports.trimEndS = exports.deepCopy = exports.getPostgresBasicType = exports.showNodeAsRow = exports.isExtractEquals = exports.isDateTruncEquals = exports.tryConvertDateEquality = exports.extractSuffixToString = exports.dateTruncSuffixToString = exports.newUTCDate = exports.isColumnComparison = exports.isTheCurrentIntervalBigQuery = exports.isThePreviousInterval = exports.isTheCurrentInterval = exports.isInTheLastIntervalBigQuery = exports.isInTheLastInterval = exports.getInThePreviousIntervalSentence = exports.getInTheLastIntervalSentence = exports.getInTheCurrentIntervalSentence = exports.formatDateComparisonNode = exports.areObjectsEqualish = exports.isColumnDateish = exports.generateColumnExpr = exports.isColumnReferenceish = exports.isDateTrunc = exports.hasTopLevelOrBoolean = exports.isTopLevelBoolean = exports.isNodeEmptyCollection = void 0;
|
|
4
|
+
exports.isIdColumn = exports.allNumericNodesValidInTree = exports.removeNonSelectedTableReferences = exports.getDateFilterInfo = exports.trimEndS = exports.deepCopy = exports.getPostgresBasicType = exports.showNodeAsRow = exports.isExtractEquals = exports.isDateTruncEquals = exports.tryConvertDateEquality = exports.extractSuffixToString = exports.dateTruncSuffixToString = exports.newUTCDate = exports.isColumnComparison = exports.isTheCurrentIntervalBigQuery = exports.isThePreviousInterval = exports.isTheCurrentInterval = exports.isInTheLastIntervalBigQuery = exports.isInTheLastInterval = exports.getInThePreviousIntervalSentence = exports.getInTheLastIntervalSentence = exports.getInTheCurrentIntervalSentence = exports.formatDateComparisonNode = exports.areObjectsEqualish = exports.isColumnDateish = exports.generateColumnExpr = exports.isColumnReferenceish = exports.isDateTrunc = exports.hasTopLevelOrBoolean = exports.isTopLevelBoolean = exports.isNodeEmptyCollection = void 0;
|
|
5
5
|
const date_fns_1 = require("date-fns");
|
|
6
6
|
const bigDateMap_1 = require("./bigDateMap");
|
|
7
7
|
const textProcessing_1 = require("../../utils/textProcessing");
|
|
@@ -659,18 +659,20 @@ function getNodeTable(node) {
|
|
|
659
659
|
return null;
|
|
660
660
|
}
|
|
661
661
|
// Recursively remove filters that don't apply to the given table
|
|
662
|
-
function removeNonSelectedTableFilters(node, table) {
|
|
662
|
+
function removeNonSelectedTableFilters(node, table, columns) {
|
|
663
663
|
if (node.left.type !== 'binary_expr') {
|
|
664
664
|
const referencedTable = getNodeTable(node.left);
|
|
665
|
-
|
|
665
|
+
const referencedColumn = node.left.column || node.left.value;
|
|
666
|
+
if ((referencedTable && referencedTable !== table) ||
|
|
667
|
+
!columns.includes(referencedColumn)) {
|
|
666
668
|
return null;
|
|
667
669
|
}
|
|
668
670
|
else {
|
|
669
671
|
return node;
|
|
670
672
|
}
|
|
671
673
|
}
|
|
672
|
-
node.left = removeNonSelectedTableFilters(node.left, table);
|
|
673
|
-
node.right = removeNonSelectedTableFilters(node.right, table);
|
|
674
|
+
node.left = removeNonSelectedTableFilters(node.left, table, columns);
|
|
675
|
+
node.right = removeNonSelectedTableFilters(node.right, table, columns);
|
|
674
676
|
if (node.left && node.right) {
|
|
675
677
|
return node;
|
|
676
678
|
}
|
|
@@ -684,14 +686,38 @@ function removeNonSelectedTableFilters(node, table) {
|
|
|
684
686
|
return null;
|
|
685
687
|
}
|
|
686
688
|
}
|
|
687
|
-
function removeNonSelectedTableReferences(ast, table) {
|
|
689
|
+
function removeNonSelectedTableReferences(ast, table, columns) {
|
|
688
690
|
ast.columns = ast.columns.filter((col) => {
|
|
689
691
|
return col.table === table || col.expr.table === table || !col.expr.table;
|
|
690
692
|
});
|
|
691
693
|
if (!ast.where)
|
|
692
694
|
return ast;
|
|
693
|
-
ast.where = removeNonSelectedTableFilters(ast.where, table);
|
|
694
|
-
console.log(ast);
|
|
695
|
+
ast.where = removeNonSelectedTableFilters(ast.where, table, columns);
|
|
695
696
|
return ast;
|
|
696
697
|
}
|
|
697
698
|
exports.removeNonSelectedTableReferences = removeNonSelectedTableReferences;
|
|
699
|
+
function allNumericNodesValidInTree(node) {
|
|
700
|
+
if (!node)
|
|
701
|
+
return true;
|
|
702
|
+
if (node.type === 'number') {
|
|
703
|
+
const value = parseFloat(node.value);
|
|
704
|
+
if (Number.isNaN(value)) {
|
|
705
|
+
return false;
|
|
706
|
+
}
|
|
707
|
+
else {
|
|
708
|
+
node.value = value;
|
|
709
|
+
return true;
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
const isLeftValid = allNumericNodesValidInTree(node.left);
|
|
713
|
+
const isRightValid = allNumericNodesValidInTree(node.right);
|
|
714
|
+
return isLeftValid && isRightValid;
|
|
715
|
+
}
|
|
716
|
+
exports.allNumericNodesValidInTree = allNumericNodesValidInTree;
|
|
717
|
+
function isIdColumn(columnName) {
|
|
718
|
+
return (columnName &&
|
|
719
|
+
(columnName.toLowerCase() === 'id' ||
|
|
720
|
+
columnName.toLowerCase().endsWith('_id') ||
|
|
721
|
+
columnName.endsWith('Id')));
|
|
722
|
+
}
|
|
723
|
+
exports.isIdColumn = isIdColumn;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ChangeEvent, ReactNode } from 'react';
|
|
2
2
|
export interface Option {
|
|
3
3
|
value: string;
|
|
4
4
|
label: string;
|
|
5
5
|
}
|
|
6
|
-
export interface
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
theme: any;
|
|
6
|
+
export interface PopoverComponentProps {
|
|
7
|
+
isOpen: boolean;
|
|
8
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
9
|
+
triggerLabel?: string;
|
|
10
|
+
popoverTitle?: string;
|
|
11
|
+
popoverChildren: ReactNode;
|
|
13
12
|
}
|
|
14
13
|
export interface ButtonComponentProps {
|
|
15
14
|
onClick: () => void;
|
|
@@ -18,29 +17,21 @@ export interface ButtonComponentProps {
|
|
|
18
17
|
primary?: boolean;
|
|
19
18
|
width?: string;
|
|
20
19
|
}
|
|
21
|
-
export interface
|
|
22
|
-
|
|
23
|
-
columns: any[];
|
|
24
|
-
containerStyle?: React.CSSProperties;
|
|
25
|
-
loading?: boolean;
|
|
26
|
-
showDownloadCSVButton?: boolean;
|
|
27
|
-
downloadFileName?: string;
|
|
28
|
-
downloadCSV?: () => void;
|
|
29
|
-
LoadingComponent?: () => JSX.Element;
|
|
30
|
-
DownloadCSVButtonComponent?: (props: ButtonComponentProps) => JSX.Element;
|
|
31
|
-
rowsPerPage?: number;
|
|
32
|
-
emptyStateLabel?: string;
|
|
20
|
+
export interface DeleteButtonComponentProps {
|
|
21
|
+
onClick: () => void;
|
|
33
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* An input element used to accept data from the user.
|
|
25
|
+
*/
|
|
34
26
|
export interface TextInputComponentProps {
|
|
35
|
-
onChange: (e: any) => void;
|
|
36
|
-
value: string;
|
|
37
27
|
id: string;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
28
|
+
width: number;
|
|
29
|
+
value: string;
|
|
30
|
+
placeholder?: string;
|
|
31
|
+
onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
41
32
|
}
|
|
42
33
|
export interface ModalComponentProps {
|
|
43
|
-
children:
|
|
34
|
+
children: ReactNode;
|
|
44
35
|
isOpen: boolean;
|
|
45
36
|
onClose?: () => void;
|
|
46
37
|
title?: string;
|
|
@@ -49,25 +40,25 @@ export interface ModalComponentProps {
|
|
|
49
40
|
style?: any;
|
|
50
41
|
}
|
|
51
42
|
export interface HeaderProps {
|
|
52
|
-
|
|
43
|
+
label: string;
|
|
53
44
|
}
|
|
54
45
|
export interface LabelProps {
|
|
55
|
-
|
|
46
|
+
label: string;
|
|
56
47
|
}
|
|
57
48
|
export interface TextProps {
|
|
58
|
-
|
|
49
|
+
label: string;
|
|
59
50
|
}
|
|
60
|
-
export interface
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
51
|
+
export interface SidebarComponentProps {
|
|
52
|
+
children: ReactNode;
|
|
53
|
+
}
|
|
54
|
+
export interface ContainerComponentProps {
|
|
55
|
+
children: ReactNode;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The fallback TextInput element for Quill.
|
|
59
|
+
*/
|
|
60
|
+
export declare const QuillTextInput: ({ id, value, width, placeholder, onChange, }: TextInputComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
61
|
+
export declare const MemoizedTextInput: ({ value, onChange, placeholder, id, }: TextInputComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
71
62
|
export declare const MemoizedButton: ({ label, onClick, primary, isLoading, }: {
|
|
72
63
|
label: any;
|
|
73
64
|
onClick: any;
|
|
@@ -78,65 +69,75 @@ export declare const MemoizedSecondaryButton: ({ label, onClick }: {
|
|
|
78
69
|
label: any;
|
|
79
70
|
onClick: any;
|
|
80
71
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
81
|
-
export
|
|
82
|
-
value:
|
|
83
|
-
|
|
84
|
-
options:
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
94
|
-
export
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
105
|
-
export declare const MemoizedText: ({ children }: {
|
|
106
|
-
children: any;
|
|
107
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
108
|
-
export interface PopoverComponentProps {
|
|
109
|
-
isOpen: boolean;
|
|
110
|
-
setIsOpen: () => void;
|
|
111
|
-
onClose: () => void;
|
|
112
|
-
triggerLabel: string;
|
|
113
|
-
popoverTitle: string;
|
|
114
|
-
popoverChildren: any;
|
|
115
|
-
}
|
|
116
|
-
export interface MemoizedPopoverProps {
|
|
117
|
-
children: any;
|
|
118
|
-
onClose?: () => void;
|
|
119
|
-
parentRef?: any;
|
|
120
|
-
style?: any;
|
|
121
|
-
onClick?: () => void;
|
|
122
|
-
showTrigger?: boolean;
|
|
123
|
-
isOpen: boolean;
|
|
72
|
+
export interface SelectComponentProps {
|
|
73
|
+
value: string;
|
|
74
|
+
label?: string;
|
|
75
|
+
options: {
|
|
76
|
+
value: string;
|
|
77
|
+
label: string;
|
|
78
|
+
}[];
|
|
79
|
+
onChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
|
|
80
|
+
}
|
|
81
|
+
export interface HeaderComponentProps {
|
|
82
|
+
label: string;
|
|
83
|
+
}
|
|
84
|
+
export declare const MemoizedHeader: ({ label }: HeaderComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
85
|
+
export interface LabelComponentProps {
|
|
86
|
+
label: string;
|
|
87
|
+
}
|
|
88
|
+
export declare const MemoizedLabel: ({ label }: LabelComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
89
|
+
export interface CheckboxComponentProps {
|
|
90
|
+
isChecked: boolean;
|
|
91
|
+
onChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
92
|
+
}
|
|
93
|
+
export declare const MemoizedCheckbox: ({ isChecked, onChange, }: CheckboxComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
94
|
+
export declare const DEFAULT_TAB_OPTIONS: {
|
|
124
95
|
label: string;
|
|
96
|
+
value: string;
|
|
97
|
+
}[];
|
|
98
|
+
export interface TabsComponentProps {
|
|
99
|
+
options: {
|
|
100
|
+
label: string;
|
|
101
|
+
value: string;
|
|
102
|
+
}[];
|
|
103
|
+
value: string;
|
|
104
|
+
onChange: (event: ChangeEvent<HTMLSelectElement>) => void;
|
|
105
|
+
}
|
|
106
|
+
export declare const QuillTabs: ({ options, value, onChange, }: TabsComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
107
|
+
export interface TextComponentProps {
|
|
108
|
+
label: string;
|
|
109
|
+
}
|
|
110
|
+
export declare const MemoizedText: ({ label }: TextComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
111
|
+
/**
|
|
112
|
+
* The one, true Quill popover component.
|
|
113
|
+
*/
|
|
114
|
+
export declare const MemoizedPopover: ({ isOpen, setIsOpen, triggerLabel, popoverTitle, popoverChildren, }: PopoverComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
115
|
+
export declare function MemoizedModal({ isOpen, setIsOpen, title, children, width, height, }: {
|
|
116
|
+
isOpen: boolean;
|
|
125
117
|
setIsOpen: (isOpen: boolean) => void;
|
|
118
|
+
title?: string;
|
|
119
|
+
children: ReactNode;
|
|
120
|
+
width?: number;
|
|
121
|
+
height?: number;
|
|
122
|
+
}): JSX.Element;
|
|
123
|
+
export declare const MemoizedDeleteButton: ({ onClick, }: DeleteButtonComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
124
|
+
export declare const LoadingSpinner: () => import("react/jsx-runtime").JSX.Element;
|
|
125
|
+
export interface TableComponentProps {
|
|
126
|
+
rows: {
|
|
127
|
+
[key: string]: any;
|
|
128
|
+
}[];
|
|
129
|
+
columns: {
|
|
130
|
+
field: string;
|
|
131
|
+
label: string;
|
|
132
|
+
}[];
|
|
133
|
+
isLoading?: boolean;
|
|
126
134
|
}
|
|
127
|
-
export declare
|
|
128
|
-
export declare
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
children: any;
|
|
134
|
-
theme: any;
|
|
135
|
-
style?: {} | undefined;
|
|
136
|
-
}): import("react/jsx-runtime").JSX.Element | null;
|
|
137
|
-
export declare const MemoizedDeleteButton: ({ onClick, style }: {
|
|
138
|
-
onClick: any;
|
|
139
|
-
style: any;
|
|
135
|
+
export declare const QuillTableComponent: ({ rows, columns, isLoading, }: TableComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
136
|
+
export declare const QuillDropdownComponent: ({ onChange, value, label, options, }: {
|
|
137
|
+
onChange: (event: ChangeEvent<HTMLSelectElement>) => void;
|
|
138
|
+
value: string;
|
|
139
|
+
options: Option[];
|
|
140
|
+
label?: string | undefined;
|
|
140
141
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
141
|
-
export declare const
|
|
142
|
+
export declare const QuillEmptyDashboardComponent: () => import("react/jsx-runtime").JSX.Element;
|
|
142
143
|
//# sourceMappingURL=UiComponents.d.ts.map
|