@quillsql/react 2.8.4 → 2.8.6
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/AddToDashboardModal.js +146 -180
- package/dist/BarList.js +36 -43
- package/dist/Chart.js +99 -131
- package/dist/ChartBuilder.js +80 -88
- package/dist/ChartEditor.js +14 -20
- package/dist/Context.js +52 -56
- package/dist/Dashboard.d.ts.map +1 -1
- package/dist/Dashboard.js +246 -305
- package/dist/DateRangePicker/Calendar.js +41 -45
- package/dist/DateRangePicker/DateRangePicker.js +32 -60
- package/dist/DateRangePicker/DateRangePickerButton.js +14 -16
- package/dist/DateRangePicker/dateRangePickerUtils.d.ts +6 -0
- package/dist/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/DateRangePicker/dateRangePickerUtils.js +89 -89
- package/dist/DateRangePicker/index.js +1 -8
- package/dist/PieChart.js +35 -69
- package/dist/QuillProvider.js +4 -6
- package/dist/ReportBuilder.js +120 -128
- package/dist/SQLEditor.js +56 -64
- package/dist/Table.d.ts +2 -1
- package/dist/Table.d.ts.map +1 -1
- package/dist/Table.js +64 -68
- package/dist/TableChart.js +17 -44
- package/dist/assets/ArrowDownHeadIcon.js +3 -5
- package/dist/assets/ArrowDownIcon.js +3 -5
- package/dist/assets/ArrowDownRightIcon.js +3 -5
- package/dist/assets/ArrowLeftHeadIcon.js +3 -5
- package/dist/assets/ArrowRightHeadIcon.js +3 -5
- package/dist/assets/ArrowRightIcon.js +3 -5
- package/dist/assets/ArrowUpHeadIcon.js +3 -5
- package/dist/assets/ArrowUpIcon.js +3 -5
- package/dist/assets/ArrowUpRightIcon.js +3 -5
- package/dist/assets/CalendarIcon.js +3 -5
- package/dist/assets/CalendarNormalIcon.js +3 -5
- package/dist/assets/DoubleArrowLeftHeadIcon.js +3 -5
- package/dist/assets/DoubleArrowRightHeadIcon.js +3 -5
- package/dist/assets/ExclamationFilledIcon.js +3 -5
- package/dist/assets/FilterIcon.js +3 -5
- package/dist/assets/LoadingSpinner.js +3 -5
- package/dist/assets/RefreshIcon.js +3 -5
- package/dist/assets/SearchIcon.js +3 -5
- package/dist/assets/UpLeftArrowsIcon.js +3 -5
- package/dist/assets/XCircleIcon.js +3 -5
- package/dist/assets/XIcon.js +3 -5
- package/dist/assets/index.js +21 -48
- package/dist/components/BigModal/BigModal.js +13 -38
- package/dist/components/Dropdown/Dropdown.js +24 -52
- package/dist/components/Dropdown/DropdownItem.js +9 -34
- package/dist/components/Dropdown/index.js +2 -10
- package/dist/components/Modal/Modal.js +13 -38
- package/dist/components/Modal/index.js +1 -8
- package/dist/components/QuillCard.js +8 -12
- package/dist/components/SqlTextEditor.d.ts +7 -0
- package/dist/components/SqlTextEditor.d.ts.map +1 -0
- package/dist/components/SqlTextEditor.js +14 -0
- package/dist/components/UiComponents.js +37 -50
- package/dist/components/selectUtils.js +6 -16
- package/dist/contexts/BaseColorContext.js +3 -5
- package/dist/contexts/HoveredValueContext.js +3 -5
- package/dist/contexts/RootStylesContext.js +3 -5
- package/dist/contexts/SelectedValueContext.js +3 -5
- package/dist/contexts/index.js +4 -14
- package/dist/hooks/index.js +4 -14
- package/dist/hooks/useDashboard.d.ts +7 -0
- package/dist/hooks/useDashboard.d.ts.map +1 -0
- package/dist/hooks/useDashboard.js +48 -0
- package/dist/hooks/useInternalState.js +3 -5
- package/dist/hooks/useOnClickOutside.js +3 -5
- package/dist/hooks/useOnWindowResize.js +4 -6
- package/dist/hooks/useQuill.js +11 -15
- package/dist/hooks/useSelectOnKeyDown.js +4 -6
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -28
- package/dist/internals/ReportBuilder/PivotList.js +14 -19
- package/dist/internals/ReportBuilder/PivotModal.js +84 -91
- package/dist/internals/ReportBuilder/PivotModal.spec.js +70 -72
- package/dist/lib/font.js +2 -5
- package/dist/lib/index.js +3 -19
- package/dist/lib/inputTypes.js +1 -2
- package/dist/lib/utils.js +8 -18
- package/dist/utils/aggregate.js +28 -34
- package/dist/utils/colorToHex.js +1 -4
- package/dist/utils/dataFetcher.js +2 -7
- package/dist/utils/downloadCSV.js +1 -5
- package/package.json +2 -4
package/dist/ReportBuilder.js
CHANGED
|
@@ -1,39 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getPostgresBasicType = void 0;
|
|
7
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
2
|
// @ts-nocheck
|
|
9
|
-
|
|
3
|
+
import { useState, useContext, useCallback, useEffect, useMemo, useRef, } from 'react';
|
|
10
4
|
// import './nightOwlLight.css';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeLoading, onChangePivot, onDateFilterChange, onChangeFields, onError, TextInput =
|
|
22
|
-
const [data, setData] =
|
|
23
|
-
const [client, setClient] =
|
|
24
|
-
const [schema, setSchema] =
|
|
25
|
-
const [theme] =
|
|
26
|
-
const [columns, setColumns] =
|
|
27
|
-
const [fields, setFields] =
|
|
28
|
-
const [loading, setLoading] =
|
|
29
|
-
const [selectedPivot, setSelectedPivot] =
|
|
5
|
+
import { ClientContext, SchemaContext, ThemeContext } from './Context';
|
|
6
|
+
import { convertPostgresColumn } from './SQLEditor';
|
|
7
|
+
import { format } from 'date-fns';
|
|
8
|
+
import { PivotModal, generatePivotTable, } from './internals/ReportBuilder/PivotModal';
|
|
9
|
+
import { getData, getDataFromCloud } from './utils/dataFetcher';
|
|
10
|
+
import { QuillDateRangePicker } from './Dashboard';
|
|
11
|
+
import { getRangeFromPreset, reportBuilderOptions, } from './DateRangePicker/dateRangePickerUtils';
|
|
12
|
+
import Table from './Table';
|
|
13
|
+
import ChartBuilder from './ChartBuilder';
|
|
14
|
+
import { MemoizedModal, MemoizedTextInput, MemoizedSelect, MemoizedButton, MemoizedSecondaryButton, MemoizedHeader, MemoizedLabel, MemoizedDeleteButton, MemoizedText, MemoizedPopover, } from './components/UiComponents';
|
|
15
|
+
export default function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeLoading, onChangePivot, onDateFilterChange, onChangeFields, onError, TextInput = MemoizedTextInput, containerStyle, Select = MemoizedSelect, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, Header = MemoizedHeader, Label = MemoizedLabel, DeleteButton = MemoizedDeleteButton, Text = MemoizedText, Modal = MemoizedModal, Popover = MemoizedPopover, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, tagStyle, tableName, dateColumn, selectedTagBorderColor, chartBuilderEnabled = false, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, editSQLEnabled, navigateToSQLEditor, }) {
|
|
16
|
+
const [data, setData] = useState([]);
|
|
17
|
+
const [client, setClient] = useContext(ClientContext);
|
|
18
|
+
const [schema, setSchema] = useContext(SchemaContext);
|
|
19
|
+
const [theme] = useContext(ThemeContext);
|
|
20
|
+
const [columns, setColumns] = useState([]);
|
|
21
|
+
const [fields, setFields] = useState([]);
|
|
22
|
+
const [loading, setLoading] = useState(false);
|
|
23
|
+
const [selectedPivot, setSelectedPivot] = useState(null);
|
|
30
24
|
const defaultDateRange = [null, null, null];
|
|
31
|
-
const [dateRange, setDateRange] =
|
|
32
|
-
|
|
25
|
+
const [dateRange, setDateRange] = useState(defaultDateRange);
|
|
26
|
+
useEffect(() => {
|
|
33
27
|
let isSubscribed = true;
|
|
34
28
|
async function getClient() {
|
|
35
29
|
try {
|
|
36
|
-
const resp = await
|
|
30
|
+
const resp = await getDataFromCloud(client, `client/${client.publicKey}/`, null, 'GET');
|
|
37
31
|
if (resp) {
|
|
38
32
|
setClient({ ...client, ...resp.client });
|
|
39
33
|
}
|
|
@@ -49,10 +43,10 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
|
|
|
49
43
|
isSubscribed = false;
|
|
50
44
|
};
|
|
51
45
|
}, []);
|
|
52
|
-
|
|
46
|
+
useEffect(() => {
|
|
53
47
|
let isSubscribed = true;
|
|
54
48
|
async function getSchema() {
|
|
55
|
-
const resp = await
|
|
49
|
+
const resp = await getDataFromCloud(client, `schema2/${client.publicKey}/`, null, 'GET');
|
|
56
50
|
if (isSubscribed) {
|
|
57
51
|
setSchema(resp.tables);
|
|
58
52
|
}
|
|
@@ -64,17 +58,17 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
|
|
|
64
58
|
isSubscribed = false;
|
|
65
59
|
};
|
|
66
60
|
}, []);
|
|
67
|
-
|
|
61
|
+
useEffect(() => {
|
|
68
62
|
if (onDateFilterChange) {
|
|
69
63
|
onDateFilterChange(dateRange);
|
|
70
64
|
}
|
|
71
65
|
}, [dateRange]);
|
|
72
|
-
|
|
66
|
+
useEffect(() => {
|
|
73
67
|
if (onDateFilterChange) {
|
|
74
68
|
onDateFilterChange(defaultDateRange);
|
|
75
69
|
}
|
|
76
70
|
}, []);
|
|
77
|
-
|
|
71
|
+
useEffect(() => {
|
|
78
72
|
setColumns([]);
|
|
79
73
|
}, [tableName]);
|
|
80
74
|
const runQuery = async (query) => {
|
|
@@ -85,7 +79,7 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
|
|
|
85
79
|
: { query, task: 'query' },
|
|
86
80
|
};
|
|
87
81
|
const cloudBody = { query };
|
|
88
|
-
const resp = await
|
|
82
|
+
const resp = await getData(client, 'dashquery', 'same-origin', hostedBody, cloudBody);
|
|
89
83
|
if (resp && resp.errorMessage) {
|
|
90
84
|
onError(resp.errorMessage);
|
|
91
85
|
setData([]);
|
|
@@ -100,9 +94,9 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
|
|
|
100
94
|
return;
|
|
101
95
|
}
|
|
102
96
|
setData(resp.rows);
|
|
103
|
-
setColumns(resp.fields.map(elem =>
|
|
97
|
+
setColumns(resp.fields.map(elem => convertPostgresColumn(elem)));
|
|
104
98
|
if (selectedPivot) {
|
|
105
|
-
const { rows, columns } =
|
|
99
|
+
const { rows, columns } = generatePivotTable(selectedPivot, resp.rows, dateRange);
|
|
106
100
|
if (onChangePivot) {
|
|
107
101
|
onChangePivot(selectedPivot, columns, rows);
|
|
108
102
|
}
|
|
@@ -112,7 +106,7 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
|
|
|
112
106
|
onChangeData(resp.rows);
|
|
113
107
|
}
|
|
114
108
|
if (onChangeColumns) {
|
|
115
|
-
onChangeColumns(resp.fields.map(elem =>
|
|
109
|
+
onChangeColumns(resp.fields.map(elem => convertPostgresColumn(elem)));
|
|
116
110
|
}
|
|
117
111
|
}
|
|
118
112
|
setFields(resp.fields);
|
|
@@ -121,7 +115,7 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
|
|
|
121
115
|
}
|
|
122
116
|
setLoading(false);
|
|
123
117
|
};
|
|
124
|
-
|
|
118
|
+
useEffect(() => {
|
|
125
119
|
if (onChangeLoading) {
|
|
126
120
|
onChangeLoading(loading);
|
|
127
121
|
}
|
|
@@ -129,18 +123,17 @@ function ReportBuilder({ onChangeQuery, onChangeData, onChangeColumns, onChangeL
|
|
|
129
123
|
if (!schema || !schema.length || !tableName) {
|
|
130
124
|
return null;
|
|
131
125
|
}
|
|
132
|
-
return ((
|
|
126
|
+
return (_jsx(ReportingTool, { containerStyle: containerStyle, destinationDashboard: destinationDashboard, client: client, editSQLEnabled: editSQLEnabled, navigateToSQLEditor: navigateToSQLEditor, theme: theme, data: data, columns: columns, fields: fields, chartBuilderTitle: chartBuilderTitle, chartBuilderButtonLabel: chartBuilderButtonLabel, onChangeData: onChangeData, onChangeColumns: onChangeColumns, onChangePivot: onChangePivot, selectedPivot: selectedPivot, setSelectedPivot: pivot => {
|
|
133
127
|
setSelectedPivot(pivot);
|
|
134
128
|
if (onChangePivot) {
|
|
135
129
|
const table = pivot
|
|
136
|
-
?
|
|
130
|
+
? generatePivotTable(pivot, data, dateRange)
|
|
137
131
|
: { rows: null, columns: null };
|
|
138
132
|
onChangePivot(pivot, table.columns, table.rows);
|
|
139
133
|
}
|
|
140
134
|
}, schema: schema, tableName: tableName, dateColumn: dateColumn, selectedTagBorderColor: selectedTagBorderColor, onChangeQuery: onChangeQuery, runQuery: runQuery, dateRange: dateRange, setDateRange: setDateRange, defaultDateRange: defaultDateRange, chartBuilderEnabled: chartBuilderEnabled, HeaderComponent: Header, LabelComponent: Label, SelectComponent: Select, TextComponent: Text, ButtonComponent: Button, SecondaryButtonComponent: SecondaryButton, ModalComponent: Modal, PopoverComponent: Popover, TextInputComponent: TextInput, tagStyle: tagStyle, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions }));
|
|
141
135
|
}
|
|
142
|
-
|
|
143
|
-
function getPostgresBasicType(column) {
|
|
136
|
+
export function getPostgresBasicType(column) {
|
|
144
137
|
let format;
|
|
145
138
|
// first check if column.dataTypeID exists
|
|
146
139
|
if (column.dataTypeID) {
|
|
@@ -188,7 +181,6 @@ function getPostgresBasicType(column) {
|
|
|
188
181
|
}
|
|
189
182
|
return format;
|
|
190
183
|
}
|
|
191
|
-
exports.getPostgresBasicType = getPostgresBasicType;
|
|
192
184
|
const newDateWhereAST = (column, dateRange, databaseType) => {
|
|
193
185
|
// all time means no filter
|
|
194
186
|
if (dateRange[2] === 'at') {
|
|
@@ -196,7 +188,7 @@ const newDateWhereAST = (column, dateRange, databaseType) => {
|
|
|
196
188
|
}
|
|
197
189
|
// if using preset
|
|
198
190
|
if (dateRange[2]) {
|
|
199
|
-
const timeInterval =
|
|
191
|
+
const timeInterval = reportBuilderOptions.find(elem => elem.value === dateRange[2])?.dayInterval;
|
|
200
192
|
switch (databaseType) {
|
|
201
193
|
case 'BigQuery': {
|
|
202
194
|
return {
|
|
@@ -328,11 +320,11 @@ const newDateWhereAST = (column, dateRange, databaseType) => {
|
|
|
328
320
|
value: [
|
|
329
321
|
{
|
|
330
322
|
type: 'single_quote_string',
|
|
331
|
-
value:
|
|
323
|
+
value: format(new Date(dateRange[0]), 'MM/dd/yyyy'),
|
|
332
324
|
},
|
|
333
325
|
{
|
|
334
326
|
type: 'single_quote_string',
|
|
335
|
-
value:
|
|
327
|
+
value: format(new Date(dateRange[1]), 'MM/dd/yyyy'),
|
|
336
328
|
},
|
|
337
329
|
],
|
|
338
330
|
},
|
|
@@ -340,11 +332,11 @@ const newDateWhereAST = (column, dateRange, databaseType) => {
|
|
|
340
332
|
}
|
|
341
333
|
};
|
|
342
334
|
function ReportingTool({ schema, data, columns, runQuery, SelectComponent, ButtonComponent, SecondaryButtonComponent, editSQLEnabled, navigateToSQLEditor, onChangeQuery, onChangePivot, selectedPivot, setSelectedPivot, theme, ModalComponent, HeaderComponent, PopoverComponent, TextComponent, TextInputComponent, LabelComponent, tagStyle, tableName, dateColumn, selectedTagBorderColor, dateRange, setDateRange, defaultDateRange, chartBuilderEnabled, fields, containerStyle, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, client, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, }) {
|
|
343
|
-
const selectedTable =
|
|
344
|
-
const [selectedColumn, setSelectedColumn] =
|
|
345
|
-
const parentRef =
|
|
346
|
-
const [filters, setFilters] =
|
|
347
|
-
const [AST, setAST] =
|
|
335
|
+
const selectedTable = useMemo(() => schema.find(t => t.displayName === tableName), [schema, tableName]);
|
|
336
|
+
const [selectedColumn, setSelectedColumn] = useState(schema[0].columns.find(elem => elem.name !== 'id'));
|
|
337
|
+
const parentRef = useRef();
|
|
338
|
+
const [filters, setFilters] = useState([]);
|
|
339
|
+
const [AST, setAST] = useState({
|
|
348
340
|
with: null,
|
|
349
341
|
type: 'select',
|
|
350
342
|
options: null,
|
|
@@ -360,32 +352,32 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
360
352
|
limit: { seperator: '', value: [] },
|
|
361
353
|
window: null,
|
|
362
354
|
});
|
|
363
|
-
const [ASTNoDateColumn, setASTNoDateColumn] =
|
|
364
|
-
const [numberStart, setNumberStart] =
|
|
365
|
-
const [numberEnd, setNumberEnd] =
|
|
366
|
-
const [filterDateRange, setFilterDateRange] =
|
|
367
|
-
const [computedColumns, setComputedColumns] =
|
|
368
|
-
const [stringFilterValues, setStringFilterValues] =
|
|
369
|
-
const [columnType, setColumnType] =
|
|
370
|
-
const [sqlQuery, setSqlQuery] =
|
|
371
|
-
const [sqlQueryNoDateColumn, setSqlQueryNoDateColumn] =
|
|
372
|
-
const [indexBeingEdited, setIndexBeingEdited] =
|
|
373
|
-
const [isAddFilterModalOpen, setIsAddFilterModalOpen] =
|
|
374
|
-
const [isEdittingPivot, setIsEdittingPivot] =
|
|
375
|
-
const [isPivotModalOpen, setIsPivotModalOpen] =
|
|
376
|
-
const [isChartBuilderOpen, setIsChartBuilderOpen] =
|
|
377
|
-
const [selectedPivotIndex, setSelectedPivotIndex] =
|
|
378
|
-
const [createdPivots, setCreatedPivots] =
|
|
379
|
-
const [recommendedPivots, setRecommendedPivots] =
|
|
380
|
-
const [pivotRowField, setPivotRowField] =
|
|
381
|
-
const [pivotColumnField, setPivotColumnField] =
|
|
382
|
-
const [pivotValueField, setPivotValueField] =
|
|
383
|
-
const [pivotAggregation, setPivotAggregation] =
|
|
384
|
-
const [pivotPopUpTitle, setPivotPopUpTitle] =
|
|
385
|
-
|
|
355
|
+
const [ASTNoDateColumn, setASTNoDateColumn] = useState(AST);
|
|
356
|
+
const [numberStart, setNumberStart] = useState(0);
|
|
357
|
+
const [numberEnd, setNumberEnd] = useState(0);
|
|
358
|
+
const [filterDateRange, setFilterDateRange] = useState(getRangeFromPreset('90d'));
|
|
359
|
+
const [computedColumns, setComputedColumns] = useState({});
|
|
360
|
+
const [stringFilterValues, setStringFilterValues] = useState([]);
|
|
361
|
+
const [columnType, setColumnType] = useState(getPostgresBasicType(schema[0].columns[0]));
|
|
362
|
+
const [sqlQuery, setSqlQuery] = useState('');
|
|
363
|
+
const [sqlQueryNoDateColumn, setSqlQueryNoDateColumn] = useState('');
|
|
364
|
+
const [indexBeingEdited, setIndexBeingEdited] = useState(-1);
|
|
365
|
+
const [isAddFilterModalOpen, setIsAddFilterModalOpen] = useState(false);
|
|
366
|
+
const [isEdittingPivot, setIsEdittingPivot] = useState(false);
|
|
367
|
+
const [isPivotModalOpen, setIsPivotModalOpen] = useState(false);
|
|
368
|
+
const [isChartBuilderOpen, setIsChartBuilderOpen] = useState(false);
|
|
369
|
+
const [selectedPivotIndex, setSelectedPivotIndex] = useState(-1);
|
|
370
|
+
const [createdPivots, setCreatedPivots] = useState([]);
|
|
371
|
+
const [recommendedPivots, setRecommendedPivots] = useState([]);
|
|
372
|
+
const [pivotRowField, setPivotRowField] = useState(undefined);
|
|
373
|
+
const [pivotColumnField, setPivotColumnField] = useState(undefined);
|
|
374
|
+
const [pivotValueField, setPivotValueField] = useState(undefined);
|
|
375
|
+
const [pivotAggregation, setPivotAggregation] = useState(undefined);
|
|
376
|
+
const [pivotPopUpTitle, setPivotPopUpTitle] = useState('Add Pivot');
|
|
377
|
+
useEffect(() => {
|
|
386
378
|
setColumnType(getPostgresBasicType(selectedColumn));
|
|
387
379
|
}, [selectedColumn]);
|
|
388
|
-
|
|
380
|
+
useEffect(() => {
|
|
389
381
|
removePivot();
|
|
390
382
|
setCreatedPivots([]);
|
|
391
383
|
setRecommendedPivots([]);
|
|
@@ -398,7 +390,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
398
390
|
setStringFilterValues([]);
|
|
399
391
|
setNumberStart(0);
|
|
400
392
|
setNumberEnd(0);
|
|
401
|
-
setFilterDateRange(
|
|
393
|
+
setFilterDateRange(getRangeFromPreset('90d'));
|
|
402
394
|
return;
|
|
403
395
|
}
|
|
404
396
|
setSelectedColumn(matchingColumn);
|
|
@@ -416,9 +408,9 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
416
408
|
setIndexBeingEdited(index);
|
|
417
409
|
}
|
|
418
410
|
};
|
|
419
|
-
const selectedPivotTable =
|
|
411
|
+
const selectedPivotTable = useMemo(() => {
|
|
420
412
|
if (selectedPivot && data) {
|
|
421
|
-
return
|
|
413
|
+
return generatePivotTable(selectedPivot, data, dateRange);
|
|
422
414
|
}
|
|
423
415
|
else {
|
|
424
416
|
return {};
|
|
@@ -434,7 +426,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
434
426
|
const selectPivot = (pivot, index) => {
|
|
435
427
|
setSelectedPivotIndex(index);
|
|
436
428
|
setSelectedPivot(pivot);
|
|
437
|
-
const pivotTable =
|
|
429
|
+
const pivotTable = generatePivotTable(pivot, data, dateRange);
|
|
438
430
|
if (onChangePivot) {
|
|
439
431
|
onChangePivot(pivot, pivotTable.columns, pivotTable.rows);
|
|
440
432
|
}
|
|
@@ -468,9 +460,9 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
468
460
|
}
|
|
469
461
|
else if (columnType === 'date') {
|
|
470
462
|
const label = filterDateRange[2]
|
|
471
|
-
?
|
|
463
|
+
? reportBuilderOptions.find(elem => elem.value === filterDateRange[2])
|
|
472
464
|
?.text
|
|
473
|
-
: `${
|
|
465
|
+
: `${format(new Date(filterDateRange[0]), 'MMM dd')} - ${format(new Date(filterDateRange[1]), 'MMM dd')}`;
|
|
474
466
|
setFilters(filters => {
|
|
475
467
|
const newFilters = [...filters];
|
|
476
468
|
newFilters[index] = {
|
|
@@ -485,7 +477,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
485
477
|
setStringFilterValues([]);
|
|
486
478
|
setNumberStart(0);
|
|
487
479
|
setNumberEnd(0);
|
|
488
|
-
setFilterDateRange(
|
|
480
|
+
setFilterDateRange(getRangeFromPreset('90d'));
|
|
489
481
|
setIndexBeingEdited(-1);
|
|
490
482
|
return;
|
|
491
483
|
}
|
|
@@ -510,7 +502,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
510
502
|
setStringFilterValues([]);
|
|
511
503
|
setNumberStart(0);
|
|
512
504
|
setNumberEnd(0);
|
|
513
|
-
setFilterDateRange(
|
|
505
|
+
setFilterDateRange(getRangeFromPreset('90d'));
|
|
514
506
|
return;
|
|
515
507
|
}
|
|
516
508
|
else if (columnType === 'number') {
|
|
@@ -529,14 +521,14 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
529
521
|
setStringFilterValues([]);
|
|
530
522
|
setNumberStart(0);
|
|
531
523
|
setNumberEnd(0);
|
|
532
|
-
setFilterDateRange(
|
|
524
|
+
setFilterDateRange(getRangeFromPreset('90d'));
|
|
533
525
|
return;
|
|
534
526
|
}
|
|
535
527
|
else if (columnType === 'date') {
|
|
536
528
|
const label = filterDateRange[2]
|
|
537
|
-
?
|
|
529
|
+
? reportBuilderOptions.find(elem => elem.value === filterDateRange[2])
|
|
538
530
|
?.text
|
|
539
|
-
: `${
|
|
531
|
+
: `${format(new Date(filterDateRange[0]), 'MMM dd')} - ${format(new Date(filterDateRange[1]), 'MMM dd')}`;
|
|
540
532
|
setFilters(filters => {
|
|
541
533
|
return [
|
|
542
534
|
...filters,
|
|
@@ -551,7 +543,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
551
543
|
setStringFilterValues([]);
|
|
552
544
|
setNumberStart(0);
|
|
553
545
|
setNumberEnd(0);
|
|
554
|
-
setFilterDateRange(
|
|
546
|
+
setFilterDateRange(getRangeFromPreset('90d'));
|
|
555
547
|
}
|
|
556
548
|
}
|
|
557
549
|
};
|
|
@@ -561,7 +553,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
561
553
|
runQuery(queryToUse);
|
|
562
554
|
}
|
|
563
555
|
};
|
|
564
|
-
|
|
556
|
+
useEffect(() => {
|
|
565
557
|
// if selected table changes, clear everything
|
|
566
558
|
if (selectedTable.displayName !== AST.from.table) {
|
|
567
559
|
setSelectedColumn(selectedTable.columns.find(elem => elem.name !== 'id'));
|
|
@@ -669,7 +661,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
669
661
|
}
|
|
670
662
|
};
|
|
671
663
|
// USE EFFECT HOOK THAT TRANSFORMS "FILTERS ARRAY INTO AST"
|
|
672
|
-
|
|
664
|
+
useEffect(() => {
|
|
673
665
|
if (filters.length || dateRange) {
|
|
674
666
|
setAST(generateNewAST(true));
|
|
675
667
|
setASTNoDateColumn(generateNewAST(false));
|
|
@@ -683,7 +675,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
683
675
|
});
|
|
684
676
|
setIndexBeingEdited(-1);
|
|
685
677
|
};
|
|
686
|
-
const computeStats =
|
|
678
|
+
const computeStats = useCallback(column => {
|
|
687
679
|
if ((!computedColumns[column.name] ||
|
|
688
680
|
computedColumns[column.name].length === 0) &&
|
|
689
681
|
data) {
|
|
@@ -721,7 +713,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
721
713
|
}
|
|
722
714
|
}, [data, computedColumns]);
|
|
723
715
|
// Call this function whenever the selected column changes
|
|
724
|
-
|
|
716
|
+
useEffect(() => {
|
|
725
717
|
computeStats(selectedColumn);
|
|
726
718
|
}, [selectedColumn, data]);
|
|
727
719
|
// Use the results directly in your component
|
|
@@ -736,11 +728,11 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
736
728
|
// }
|
|
737
729
|
// }
|
|
738
730
|
// }, [AST]);
|
|
739
|
-
|
|
731
|
+
useEffect(() => {
|
|
740
732
|
const getSqlQueryFromAST = async () => {
|
|
741
733
|
try {
|
|
742
734
|
if (AST && AST.from[0].table) {
|
|
743
|
-
const resp = await
|
|
735
|
+
const resp = await getDataFromCloud(client, 'sqlify', {
|
|
744
736
|
ast: AST,
|
|
745
737
|
});
|
|
746
738
|
const newSqlQuery = resp.query; // assuming the response contains the SQL query
|
|
@@ -757,11 +749,11 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
757
749
|
};
|
|
758
750
|
getSqlQueryFromAST();
|
|
759
751
|
}, [AST]);
|
|
760
|
-
|
|
752
|
+
useEffect(() => {
|
|
761
753
|
const getSqlQueryFromAST = async () => {
|
|
762
754
|
try {
|
|
763
755
|
if (ASTNoDateColumn && ASTNoDateColumn.from[0].table) {
|
|
764
|
-
const resp = await
|
|
756
|
+
const resp = await getDataFromCloud(client, 'sqlify', {
|
|
765
757
|
ast: ASTNoDateColumn,
|
|
766
758
|
});
|
|
767
759
|
const newSqlQuery = resp.query; // assuming the response contains the SQL query
|
|
@@ -779,19 +771,19 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
779
771
|
if (!schema || !schema.length) {
|
|
780
772
|
return null;
|
|
781
773
|
}
|
|
782
|
-
return ((
|
|
774
|
+
return (_jsxs("div", { style: { fontFamily: theme?.fontFamily, ...containerStyle }, ref: parentRef, children: [_jsx("div", { style: {
|
|
783
775
|
display: 'flex',
|
|
784
776
|
// marginLeft: '25px',
|
|
785
777
|
// marginRight: '25px',
|
|
786
778
|
justifyContent: 'end',
|
|
787
|
-
}, children: (
|
|
779
|
+
}, children: _jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: '12px' }, children: [editSQLEnabled && (_jsx(SecondaryButtonComponent, { onClick: () => {
|
|
788
780
|
if (navigateToSQLEditor) {
|
|
789
781
|
navigateToSQLEditor(sqlQuery);
|
|
790
782
|
}
|
|
791
|
-
}, label: "Edit Query" })), (
|
|
783
|
+
}, label: "Edit Query" })), _jsx(AddFilterModal2, { filters: filters, selectedColumn: selectedColumn, numberStart: numberStart, numberEnd: numberEnd, setDateRange: setFilterDateRange, dateRange: filterDateRange, columnStats: columnStats, stringFilterValues: stringFilterValues, setStringFilterValues: setStringFilterValues, addFilter: addFilter, parentRef: parentRef, setSelectedColumn: setSelectedColumn, setNumberStart: setNumberStart, setNumberEnd: setNumberEnd, selectedTable: selectedTable, columnType: columnType, removeFilter: removeFilter, selectFilter: selectFilter, indexBeingEdited: indexBeingEdited, updateFilter: updateFilter, SelectComponent: SelectComponent, ButtonComponent: ButtonComponent, PopoverComponent: PopoverComponent, TextInputComponent: TextInputComponent, LabelComponent: LabelComponent, tagStyle: tagStyle, theme: theme, setIsOpen: setIsAddFilterModalOpen, isOpen: isAddFilterModalOpen, selectedTagBorderColor: selectedTagBorderColor }), _jsx(PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotValueField: pivotValueField, setPivotValueField: setPivotValueField, pivotAggregation: pivotAggregation, setPivotAggregation: setPivotAggregation, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, selectedTable: selectedTable, SelectComponent: SelectComponent, ButtonComponent: ButtonComponent, PopoverComponent: PopoverComponent, LabelComponent: LabelComponent, HeaderComponent: HeaderComponent, TextComponent: TextComponent, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, theme: theme, data: data, parentRef: parentRef, columns: columns, setIsOpen: setIsPivotModalOpen, isOpen: isPivotModalOpen, showUpdatePivot: isEdittingPivot, setShowUpdatePivot: setIsEdittingPivot, selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: removePivot, selectPivot: selectPivot, dateRange: dateRange, rightAlign: true })] }) }), _jsx(Table, { rows: selectedPivotTable?.rows || data, columns: selectedPivotTable?.columns || columns, containerStyle: {
|
|
792
784
|
height: 400,
|
|
793
785
|
marginTop: 10,
|
|
794
|
-
} }), chartBuilderEnabled && columns.length > 0 && ((
|
|
786
|
+
} }), chartBuilderEnabled && columns.length > 0 && (_jsxs("div", { children: [_jsx("div", { style: {
|
|
795
787
|
display: 'flex',
|
|
796
788
|
flexDirection: 'row',
|
|
797
789
|
alignItems: 'center',
|
|
@@ -799,7 +791,7 @@ function ReportingTool({ schema, data, columns, runQuery, SelectComponent, Butto
|
|
|
799
791
|
width: '100%',
|
|
800
792
|
height: '70px',
|
|
801
793
|
gap: '8px',
|
|
802
|
-
}, children: (
|
|
794
|
+
}, children: _jsx(ButtonComponent, { onClick: () => setIsChartBuilderOpen(true), label: "Add to dashboard" }) }), _jsx(ChartBuilder, { rows: data, columns: columns, fields: fields, query: sqlQuery, queryNoDateColumn: sqlQueryNoDateColumn, pivot: selectedPivot, title: chartBuilderTitle, buttonLabel: chartBuilderButtonLabel, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, dateRange: dateRange, recommendedPivots: recommendedPivots, destinationDashboard: destinationDashboard, dateColumn: dateColumn })] }))] }));
|
|
803
795
|
}
|
|
804
796
|
function FilterTag({ Label, id, label, removeFilter, isSelected, index, setIsOpen, selectFilter, theme, tagStyle, selectedTagBorderColor, }) {
|
|
805
797
|
const handleRemoveFilter = () => {
|
|
@@ -833,11 +825,11 @@ function FilterTag({ Label, id, label, removeFilter, isSelected, index, setIsOpe
|
|
|
833
825
|
? selectedTagBorderColor || '#B3B4BD'
|
|
834
826
|
: styles.borderColor || '#EFF0FC',
|
|
835
827
|
};
|
|
836
|
-
return ((
|
|
828
|
+
return (_jsxs("div", { id: id, onClick: handleSelectFilter, style: { ...styles, ...borderColor }, children: [_jsx("div", { style: {
|
|
837
829
|
textOverflow: 'ellipsis',
|
|
838
830
|
whiteSpace: 'nowrap',
|
|
839
831
|
overflow: 'hidden',
|
|
840
|
-
}, children: label }), (
|
|
832
|
+
}, children: label }), _jsx("div", {
|
|
841
833
|
// onClick={handleRemoveFilter}
|
|
842
834
|
onClick: e => {
|
|
843
835
|
e.stopPropagation(); // Prevents the event from bubbling up to the parent
|
|
@@ -848,19 +840,19 @@ function FilterTag({ Label, id, label, removeFilter, isSelected, index, setIsOpe
|
|
|
848
840
|
alignItems: 'center',
|
|
849
841
|
cursor: 'pointer',
|
|
850
842
|
paddingLeft: '6px',
|
|
851
|
-
}, children: (
|
|
843
|
+
}, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: tagStyle?.color || theme?.primaryTextColor, height: "20", width: "20", children: _jsx("path", { fillRule: "evenodd", d: "M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z", clipRule: "evenodd" }) }) })] }));
|
|
852
844
|
}
|
|
853
845
|
const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setDateRange, dateRange, columnStats, stringFilterValues, setStringFilterValues, addFilter, setSelectedColumn, setNumberStart, setNumberEnd, selectedTable, columnType, removeFilter, selectFilter, indexBeingEdited, updateFilter, SelectComponent, ButtonComponent, PopoverComponent, LabelComponent, theme, TextInputComponent, tagStyle, selectedTagBorderColor, parentRef, }) => {
|
|
854
|
-
const [isOpen, setIsOpen] =
|
|
855
|
-
return ((
|
|
846
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
847
|
+
return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsxs("div", { style: {
|
|
856
848
|
position: 'relative',
|
|
857
849
|
display: 'inline-block',
|
|
858
850
|
textAlign: 'left',
|
|
859
|
-
}, children: [(
|
|
851
|
+
}, children: [_jsx("div", { style: {
|
|
860
852
|
display: 'flex',
|
|
861
853
|
flexDirection: 'row',
|
|
862
854
|
alignItems: 'center',
|
|
863
|
-
}, children: filters.length > 0 && ((
|
|
855
|
+
}, children: filters.length > 0 && (_jsx("span", { style: {
|
|
864
856
|
height: 10,
|
|
865
857
|
width: 10,
|
|
866
858
|
backgroundColor: theme.primaryButtonColor,
|
|
@@ -868,11 +860,11 @@ const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setD
|
|
|
868
860
|
position: 'absolute',
|
|
869
861
|
top: -2,
|
|
870
862
|
right: -2,
|
|
871
|
-
} })) }), (
|
|
863
|
+
} })) }), _jsx(PopoverComponent, { parentRef: parentRef, label: "Add filter", style: { right: 0, minWidth: 400, overflow: 'visible' }, isOpen: isOpen, onClose: () => setIsOpen(false), title: "Add filter", setIsOpen: setIsOpen, children: _jsxs("div", { style: {
|
|
872
864
|
backgroundColor: 'rgb(255, 255, 255)',
|
|
873
865
|
display: 'flex',
|
|
874
866
|
flexDirection: 'column',
|
|
875
|
-
}, children: [filters.length > 0 && ((
|
|
867
|
+
}, children: [filters.length > 0 && (_jsx("div", { style: { paddingBottom: 20 }, children: _jsx("div", { style: {
|
|
876
868
|
overflowY: 'scroll',
|
|
877
869
|
maxHeight: '300px',
|
|
878
870
|
display: 'flex',
|
|
@@ -880,38 +872,38 @@ const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setD
|
|
|
880
872
|
flexDirection: 'row',
|
|
881
873
|
flexWrap: 'wrap',
|
|
882
874
|
alignItems: 'center',
|
|
883
|
-
}, children: filters.map((elem, index) => ((
|
|
875
|
+
}, children: filters.map((elem, index) => (_jsx(FilterTag, { id: "filter-tag", Label: LabelComponent, label: elem.tag, removeFilter: removeFilter, selectFilter: selectFilter, isSelected: index === indexBeingEdited, index: index, theme: theme, setIsOpen: setIsOpen, tagStyle: tagStyle, selectedTagBorderColor: selectedTagBorderColor }, 'filter' + index))) }) })), _jsx(LabelComponent, { children: "Column" }), _jsx(SelectComponent, { label: 'Column', id: "custom-select", value: selectedColumn.name, onChange: e => {
|
|
884
876
|
const column = selectedTable.columns.find(c => c.name === e);
|
|
885
877
|
setSelectedColumn(column);
|
|
886
878
|
}, options: selectedTable.columns
|
|
887
879
|
.filter(elem => !(elem.name === 'id' || elem.name.endsWith('_id')))
|
|
888
880
|
.map(elem => {
|
|
889
881
|
return { label: elem.name, value: elem.name };
|
|
890
|
-
}) }), columnType === 'number' && ((
|
|
882
|
+
}) }), columnType === 'number' && (_jsx("div", { children: _jsxs("div", { style: {
|
|
891
883
|
display: 'flex',
|
|
892
884
|
flexDirection: 'row',
|
|
893
885
|
alignItems: 'center',
|
|
894
886
|
justifyContent: 'space-between',
|
|
895
|
-
}, children: [(
|
|
887
|
+
}, children: [_jsxs("div", { style: {
|
|
896
888
|
display: 'flex',
|
|
897
889
|
flexDirection: 'column',
|
|
898
890
|
marginTop: '20px',
|
|
899
|
-
}, children: [(
|
|
891
|
+
}, children: [_jsx(LabelComponent, { children: "Minimum" }), _jsx(TextInputComponent, { id: "min-input", value: numberStart, placeholder: "Minimum", onChange: value => setNumberStart(value) })] }), _jsx("div", { style: { width: 16 } }), _jsxs("div", { style: {
|
|
900
892
|
display: 'flex',
|
|
901
893
|
flexDirection: 'column',
|
|
902
894
|
marginTop: '20px',
|
|
903
|
-
}, children: [(
|
|
895
|
+
}, children: [_jsx(LabelComponent, { children: "Maximum" }), _jsx(TextInputComponent, { id: "max-input", placeholder: "Maximum", value: numberEnd, onChange: value => setNumberEnd(value) })] })] }) })), columnType === 'date' && (_jsx("div", { style: {
|
|
904
896
|
display: 'flex',
|
|
905
897
|
flexDirection: 'row',
|
|
906
898
|
justifyContent: 'space-between',
|
|
907
899
|
marginTop: 20,
|
|
908
|
-
}, children: (
|
|
900
|
+
}, children: _jsx(QuillDateRangePicker, { dateRange: dateRange ? [dateRange[0], dateRange[1]] : [null, null], label: '', onChangeDateRange: dateRange => {
|
|
909
901
|
setDateRange([dateRange[0], dateRange[1], null]);
|
|
910
902
|
}, preset: dateRange && dateRange.length === 3 && dateRange[2] !== null
|
|
911
903
|
? dateRange[2]
|
|
912
904
|
: '', onChangePreset: preset => {
|
|
913
905
|
if (typeof preset === 'string') {
|
|
914
|
-
setDateRange(
|
|
906
|
+
setDateRange(getRangeFromPreset(preset));
|
|
915
907
|
return;
|
|
916
908
|
}
|
|
917
909
|
setDateRange([
|
|
@@ -919,28 +911,28 @@ const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setD
|
|
|
919
911
|
new Date(),
|
|
920
912
|
preset?.value || '',
|
|
921
913
|
]);
|
|
922
|
-
}, presetOptions:
|
|
914
|
+
}, presetOptions: reportBuilderOptions }) })), columnType === 'string' &&
|
|
923
915
|
columnStats &&
|
|
924
|
-
columnStats.length > 0 && ((
|
|
916
|
+
columnStats.length > 0 && (_jsx("div", { style: {
|
|
925
917
|
flex: 'flex',
|
|
926
918
|
flexDirection: 'column',
|
|
927
919
|
marginTop: '14px',
|
|
928
920
|
overflow: 'hidden',
|
|
929
|
-
}, children: columnStats.map(value => ((
|
|
921
|
+
}, children: columnStats.map(value => (_jsx("div", { style: {
|
|
930
922
|
display: 'flex',
|
|
931
923
|
flexDirection: 'row',
|
|
932
924
|
alignItems: 'center',
|
|
933
|
-
}, children: (
|
|
925
|
+
}, children: _jsxs("div", { style: {
|
|
934
926
|
display: 'flex',
|
|
935
927
|
flexDirection: 'row',
|
|
936
928
|
alignItems: 'center',
|
|
937
929
|
paddingTop: 6,
|
|
938
930
|
paddingBottom: 6,
|
|
939
|
-
}, children: [(
|
|
931
|
+
}, children: [_jsx(DivCheckbox, { theme: theme, checked: stringFilterValues.includes(value), onChange: () => {
|
|
940
932
|
setStringFilterValues(prev => prev.includes(value)
|
|
941
933
|
? prev.filter(v => v !== value)
|
|
942
934
|
: [...prev, value]);
|
|
943
|
-
} }), (
|
|
935
|
+
} }), _jsx("div", { style: {
|
|
944
936
|
marginLeft: 6,
|
|
945
937
|
display: 'block',
|
|
946
938
|
overflow: 'hidden',
|
|
@@ -948,7 +940,7 @@ const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setD
|
|
|
948
940
|
whiteSpace: 'nowrap',
|
|
949
941
|
color: theme?.primaryTextColor,
|
|
950
942
|
fontFamily: theme?.fontFamily,
|
|
951
|
-
}, children: value })] }, value) }, value))) })), (
|
|
943
|
+
}, children: value })] }, value) }, value))) })), _jsx("div", { style: { height: 20 } }), _jsx("div", { children: _jsx(ButtonComponent, { id: "custom-button", onClick: () => {
|
|
952
944
|
if (columnType === 'date' && !dateRange) {
|
|
953
945
|
return;
|
|
954
946
|
}
|
|
@@ -957,7 +949,7 @@ const AddFilterModal2 = ({ filters, selectedColumn, numberStart, numberEnd, setD
|
|
|
957
949
|
return;
|
|
958
950
|
}
|
|
959
951
|
addFilter();
|
|
960
|
-
}, label: indexBeingEdited > -1 ? 'Edit filter' : 'Add filter' }) })] }) })] }), (
|
|
952
|
+
}, label: indexBeingEdited > -1 ? 'Edit filter' : 'Add filter' }) })] }) })] }), _jsx("div", { style: { height: '12px' } })] }));
|
|
961
953
|
};
|
|
962
954
|
const DivCheckbox = ({ onChange, checked, theme }) => {
|
|
963
955
|
const toggleCheckbox = () => {
|
|
@@ -981,7 +973,7 @@ const DivCheckbox = ({ onChange, checked, theme }) => {
|
|
|
981
973
|
alignItems: 'center',
|
|
982
974
|
justifyContent: 'center',
|
|
983
975
|
};
|
|
984
|
-
return ((
|
|
976
|
+
return (_jsx("div", { style: style, onClick: toggleCheckbox, "aria-checked": checked,
|
|
985
977
|
// className="shadow-sm"
|
|
986
978
|
role: "checkbox", children: checked && (
|
|
987
979
|
// <CheckIcon
|
|
@@ -989,5 +981,5 @@ const DivCheckbox = ({ onChange, checked, theme }) => {
|
|
|
989
981
|
// className="text-white"
|
|
990
982
|
// aria-hidden="true"
|
|
991
983
|
// />
|
|
992
|
-
(
|
|
984
|
+
_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: theme?.backgroundColor, height: "16", width: "16", children: _jsx("path", { fillRule: "evenodd", d: "M19.916 4.626a.75.75 0 01.208 1.04l-9 13.5a.75.75 0 01-1.154.114l-6-6a.75.75 0 011.06-1.06l5.353 5.353 8.493-12.739a.75.75 0 011.04-.208z", clipRule: "evenodd" }) })) }));
|
|
993
985
|
};
|