@quillsql/react 2.9.1 → 2.9.2
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.d.ts +1 -0
- package/dist/AddToDashboardModal.d.ts.map +1 -1
- package/dist/AddToDashboardModal.js +152 -181
- package/dist/AddToDashboardModal.js.map +1 -1
- package/dist/BarList.d.ts +1 -0
- package/dist/BarList.js +36 -44
- package/dist/Chart.d.ts +5 -24
- package/dist/Chart.d.ts.map +1 -1
- package/dist/Chart.js +203 -802
- package/dist/Chart.js.map +1 -1
- package/dist/ChartBuilder.d.ts +1 -0
- package/dist/ChartBuilder.d.ts.map +1 -1
- package/dist/ChartBuilder.js +89 -91
- package/dist/ChartBuilder.js.map +1 -1
- package/dist/ChartEditor.d.ts +1 -0
- package/dist/ChartEditor.d.ts.map +1 -1
- package/dist/ChartEditor.js +23 -22
- package/dist/ChartEditor.js.map +1 -1
- package/dist/Context.d.ts +20 -0
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +81 -61
- package/dist/Context.js.map +1 -1
- package/dist/Dashboard.d.ts +4 -1
- package/dist/Dashboard.d.ts.map +1 -1
- package/dist/Dashboard.js +250 -251
- package/dist/Dashboard.js.map +1 -1
- package/dist/DateRangePicker/Calendar.d.ts +1 -0
- package/dist/DateRangePicker/Calendar.js +41 -46
- package/dist/DateRangePicker/DateRangePicker.d.ts +1 -0
- package/dist/DateRangePicker/DateRangePicker.js +32 -61
- package/dist/DateRangePicker/DateRangePickerButton.d.ts +1 -0
- package/dist/DateRangePicker/DateRangePickerButton.js +14 -17
- package/dist/DateRangePicker/dateRangePickerUtils.d.ts +1 -0
- package/dist/DateRangePicker/dateRangePickerUtils.js +76 -90
- package/dist/DateRangePicker/index.d.ts +1 -0
- package/dist/DateRangePicker/index.js +1 -9
- package/dist/PieChart.d.ts +1 -0
- package/dist/PieChart.js +35 -70
- package/dist/QuillProvider.d.ts +1 -0
- package/dist/QuillProvider.js +4 -7
- package/dist/ReportBuilder.d.ts +1 -0
- package/dist/ReportBuilder.js +120 -129
- package/dist/SQLEditor.d.ts +1 -0
- package/dist/SQLEditor.js +56 -65
- package/dist/SQLEditor.js.map +1 -1
- package/dist/Table.d.ts +1 -0
- package/dist/Table.d.ts.map +1 -1
- package/dist/Table.js +65 -65
- package/dist/Table.js.map +1 -1
- package/dist/TableChart.d.ts +1 -0
- package/dist/TableChart.js +17 -45
- package/dist/api/ServerClient.d.ts +30 -0
- package/dist/api/ServerClient.d.ts.map +1 -0
- package/dist/api/ServerClient.js +39 -0
- package/dist/api/ServerClient.js.map +1 -0
- package/dist/assets/ArrowDownHeadIcon.d.ts +1 -0
- package/dist/assets/ArrowDownHeadIcon.js +3 -6
- package/dist/assets/ArrowDownIcon.d.ts +1 -0
- package/dist/assets/ArrowDownIcon.js +3 -6
- package/dist/assets/ArrowDownRightIcon.d.ts +1 -0
- package/dist/assets/ArrowDownRightIcon.js +3 -6
- package/dist/assets/ArrowLeftHeadIcon.d.ts +1 -0
- package/dist/assets/ArrowLeftHeadIcon.js +3 -6
- package/dist/assets/ArrowRightHeadIcon.d.ts +1 -0
- package/dist/assets/ArrowRightHeadIcon.js +3 -6
- package/dist/assets/ArrowRightIcon.d.ts +1 -0
- package/dist/assets/ArrowRightIcon.js +3 -6
- package/dist/assets/ArrowUpHeadIcon.d.ts +1 -0
- package/dist/assets/ArrowUpHeadIcon.js +3 -6
- package/dist/assets/ArrowUpIcon.d.ts +1 -0
- package/dist/assets/ArrowUpIcon.js +3 -6
- package/dist/assets/ArrowUpRightIcon.d.ts +1 -0
- package/dist/assets/ArrowUpRightIcon.js +3 -6
- package/dist/assets/CalendarIcon.d.ts +1 -0
- package/dist/assets/CalendarIcon.js +3 -6
- package/dist/assets/CalendarNormalIcon.d.ts +1 -0
- package/dist/assets/CalendarNormalIcon.js +3 -6
- package/dist/assets/DoubleArrowLeftHeadIcon.d.ts +1 -0
- package/dist/assets/DoubleArrowLeftHeadIcon.js +3 -6
- package/dist/assets/DoubleArrowRightHeadIcon.d.ts +1 -0
- package/dist/assets/DoubleArrowRightHeadIcon.js +3 -6
- package/dist/assets/ExclamationFilledIcon.d.ts +1 -0
- package/dist/assets/ExclamationFilledIcon.js +3 -6
- package/dist/assets/FilterIcon.d.ts +1 -0
- package/dist/assets/FilterIcon.js +3 -6
- package/dist/assets/LoadingSpinner.d.ts +1 -0
- package/dist/assets/LoadingSpinner.js +3 -6
- package/dist/assets/RefreshIcon.d.ts +1 -0
- package/dist/assets/RefreshIcon.js +3 -6
- package/dist/assets/SearchIcon.d.ts +1 -0
- package/dist/assets/SearchIcon.js +3 -6
- package/dist/assets/UpLeftArrowsIcon.d.ts +1 -0
- package/dist/assets/UpLeftArrowsIcon.js +3 -6
- package/dist/assets/XCircleIcon.d.ts +1 -0
- package/dist/assets/XCircleIcon.js +3 -6
- package/dist/assets/XIcon.d.ts +1 -0
- package/dist/assets/XIcon.js +3 -6
- package/dist/assets/index.d.ts +1 -0
- package/dist/assets/index.js +21 -49
- package/dist/components/Banner/index.d.ts +1 -0
- package/dist/components/Banner/index.js +6 -10
- package/dist/components/BigModal/BigModal.d.ts +1 -0
- package/dist/components/BigModal/BigModal.js +13 -39
- package/dist/components/Chart/BarChart.d.ts +15 -0
- package/dist/components/Chart/BarChart.d.ts.map +1 -0
- package/dist/components/Chart/BarChart.js +57 -0
- package/dist/components/Chart/BarChart.js.map +1 -0
- package/dist/components/Chart/ChartTooltip.d.ts +29 -0
- package/dist/components/Chart/ChartTooltip.d.ts.map +1 -0
- package/dist/components/Chart/ChartTooltip.js +229 -0
- package/dist/components/Chart/ChartTooltip.js.map +1 -0
- package/dist/components/Chart/ChartTooltipFrame.d.ts +6 -0
- package/dist/components/Chart/ChartTooltipFrame.d.ts.map +1 -0
- package/dist/components/Chart/ChartTooltipFrame.js +12 -0
- package/dist/components/Chart/ChartTooltipFrame.js.map +1 -0
- package/dist/components/Chart/ChartTooltipGroup.d.ts +11 -0
- package/dist/components/Chart/ChartTooltipGroup.d.ts.map +1 -0
- package/dist/components/Chart/ChartTooltipGroup.js +23 -0
- package/dist/components/Chart/ChartTooltipGroup.js.map +1 -0
- package/dist/components/Chart/ChartTooltipRow.d.ts +8 -0
- package/dist/components/Chart/ChartTooltipRow.d.ts.map +1 -0
- package/dist/components/Chart/ChartTooltipRow.js +41 -0
- package/dist/components/Chart/ChartTooltipRow.js.map +1 -0
- package/dist/components/Chart/LineChart.d.ts +13 -0
- package/dist/components/Chart/LineChart.d.ts.map +1 -0
- package/dist/components/Chart/LineChart.js +68 -0
- package/dist/components/Chart/LineChart.js.map +1 -0
- package/dist/components/Dropdown/Dropdown.d.ts +1 -0
- package/dist/components/Dropdown/Dropdown.js +24 -53
- package/dist/components/Dropdown/DropdownItem.d.ts +1 -0
- package/dist/components/Dropdown/DropdownItem.js +9 -35
- package/dist/components/Dropdown/index.d.ts +1 -0
- package/dist/components/Dropdown/index.js +2 -11
- package/dist/components/Modal/Modal.d.ts +1 -0
- package/dist/components/Modal/Modal.js +13 -39
- package/dist/components/Modal/index.d.ts +1 -0
- package/dist/components/Modal/index.js +1 -9
- package/dist/components/QuillCard.d.ts +1 -0
- package/dist/components/QuillCard.js +8 -13
- package/dist/components/ReportBuilder/ColumnSelector.d.ts +24 -6
- package/dist/components/ReportBuilder/ColumnSelector.d.ts.map +1 -1
- package/dist/components/ReportBuilder/ColumnSelector.js +56 -8
- package/dist/components/ReportBuilder/ColumnSelector.js.map +1 -0
- package/dist/components/ReportBuilder/FiltersModal.d.ts +40 -0
- package/dist/components/ReportBuilder/FiltersModal.d.ts.map +1 -0
- package/dist/components/ReportBuilder/FiltersModal.js +273 -0
- package/dist/components/ReportBuilder/FiltersModal.js.map +1 -0
- package/dist/components/ReportBuilder/SortModal.d.ts +28 -0
- package/dist/components/ReportBuilder/SortModal.d.ts.map +1 -0
- package/dist/components/ReportBuilder/SortModal.js +41 -0
- package/dist/components/ReportBuilder/SortModal.js.map +1 -0
- package/dist/components/SqlTextEditor.d.ts +1 -0
- package/dist/components/SqlTextEditor.js +4 -11
- package/dist/components/UiComponents.d.ts +1 -0
- package/dist/components/UiComponents.js +37 -51
- package/dist/components/selectUtils.d.ts +1 -0
- package/dist/components/selectUtils.js +6 -17
- package/dist/contexts/BaseColorContext.d.ts +1 -0
- package/dist/contexts/BaseColorContext.js +3 -6
- package/dist/contexts/HoveredValueContext.d.ts +1 -0
- package/dist/contexts/HoveredValueContext.js +3 -6
- package/dist/contexts/RootStylesContext.d.ts +1 -0
- package/dist/contexts/RootStylesContext.js +3 -6
- package/dist/contexts/SelectedValueContext.d.ts +1 -0
- package/dist/contexts/SelectedValueContext.js +3 -6
- package/dist/contexts/index.d.ts +1 -0
- package/dist/contexts/index.js +4 -15
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +4 -15
- package/dist/hooks/useDashboard.d.ts +1 -0
- package/dist/hooks/useDashboard.js +10 -15
- package/dist/hooks/useInternalState.d.ts +1 -0
- package/dist/hooks/useInternalState.js +3 -6
- package/dist/hooks/useOnClickOutside.d.ts +1 -0
- package/dist/hooks/useOnClickOutside.js +3 -6
- package/dist/hooks/useOnWindowResize.d.ts +1 -0
- package/dist/hooks/useOnWindowResize.js +4 -7
- package/dist/hooks/useQuill.d.ts +3 -2
- package/dist/hooks/useQuill.d.ts.map +1 -1
- package/dist/hooks/useQuill.js +37 -28
- package/dist/hooks/useQuill.js.map +1 -1
- package/dist/hooks/useSelectOnKeyDown.d.ts +1 -0
- package/dist/hooks/useSelectOnKeyDown.js +4 -7
- package/dist/index.d.ts +1 -0
- package/dist/index.js +13 -33
- package/dist/internals/ReportBuilder/PivotList.d.ts +1 -0
- package/dist/internals/ReportBuilder/PivotList.js +14 -20
- package/dist/internals/ReportBuilder/PivotModal.d.ts +3 -2
- package/dist/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/internals/ReportBuilder/PivotModal.js +280 -115
- package/dist/internals/ReportBuilder/PivotModal.js.map +1 -1
- package/dist/internals/ReportBuilder/PivotModal.spec.d.ts +1 -0
- package/dist/internals/ReportBuilder/PivotModal.spec.js +70 -73
- package/dist/lib/font.d.ts +1 -0
- package/dist/lib/font.js +2 -6
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +3 -20
- package/dist/lib/inputTypes.d.ts +1 -0
- package/dist/lib/inputTypes.js +1 -3
- package/dist/lib/utils.d.ts +1 -0
- package/dist/lib/utils.js +8 -19
- package/dist/test-data/tables.d.ts.map +1 -1
- package/dist/test-data/tables.js +27 -585
- package/dist/test-data/tables.js.map +1 -0
- package/dist/utils/aggregate.d.ts +1 -0
- package/dist/utils/aggregate.js +28 -35
- package/dist/utils/ast.d.ts +18 -0
- package/dist/utils/ast.d.ts.map +1 -0
- package/dist/utils/ast.js +310 -0
- package/dist/utils/ast.js.map +1 -0
- package/dist/utils/axisFormatter.d.ts +1 -0
- package/dist/utils/axisFormatter.js +19 -24
- package/dist/utils/color.d.ts +13 -0
- package/dist/utils/color.d.ts.map +1 -0
- package/dist/utils/color.js +247 -0
- package/dist/utils/color.js.map +1 -0
- package/dist/utils/colorToHex.d.ts +1 -0
- package/dist/utils/colorToHex.js +1 -5
- package/dist/utils/crypto.d.ts +2 -0
- package/dist/utils/crypto.d.ts.map +1 -0
- package/dist/utils/crypto.js +6 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/dataFetcher.d.ts +1 -0
- package/dist/utils/dataFetcher.d.ts.map +1 -1
- package/dist/utils/dataFetcher.js +8 -9
- package/dist/utils/dataFetcher.js.map +1 -1
- package/dist/utils/dates.d.ts +10 -0
- package/dist/utils/dates.d.ts.map +1 -0
- package/dist/utils/dates.js +32 -0
- package/dist/utils/dates.js.map +1 -0
- package/dist/utils/downloadCSV.d.ts +1 -0
- package/dist/utils/downloadCSV.js +1 -6
- package/dist/utils/getDomain.d.ts +8 -0
- package/dist/utils/getDomain.d.ts.map +1 -0
- package/dist/utils/getDomain.js +28 -0
- package/dist/utils/getDomain.js.map +1 -0
- package/dist/utils/merge.d.ts +2 -0
- package/dist/utils/merge.d.ts.map +1 -0
- package/dist/utils/merge.js +45 -0
- package/dist/utils/merge.js.map +1 -0
- package/dist/utils/schema.d.ts +7 -2
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +13 -7
- package/dist/utils/schema.js.map +1 -0
- package/dist/utils/sorting.d.ts +5 -0
- package/dist/utils/sorting.d.ts.map +1 -0
- package/dist/utils/sorting.js +14 -0
- package/dist/utils/sorting.js.map +1 -0
- package/dist/utils/textFormatting.d.ts.map +1 -1
- package/dist/utils/textFormatting.js +0 -1
- package/dist/utils/textFormatting.js.map +1 -0
- package/dist/utils/valueFormatter.d.ts +1 -0
- package/dist/utils/valueFormatter.js +19 -24
- package/dist/utils/valueFormatterCSV.d.ts +1 -0
- package/dist/utils/valueFormatterCSV.js +19 -24
- package/package.json +2 -3
- package/dist/DateRangePicker/Calendar.js.map +0 -1
- package/dist/DateRangePicker/dateRangePickerUtils.js.map +0 -1
- package/dist/DateRangePicker/index.js.map +0 -1
- package/dist/PieChart.js.map +0 -1
- package/dist/QuillProvider.js.map +0 -1
- package/dist/assets/ArrowDownIcon.js.map +0 -1
- package/dist/assets/ArrowDownRightIcon.js.map +0 -1
- package/dist/assets/ArrowLeftHeadIcon.js.map +0 -1
- package/dist/assets/ArrowRightHeadIcon.js.map +0 -1
- package/dist/assets/ArrowRightIcon.js.map +0 -1
- package/dist/assets/ArrowUpHeadIcon.js.map +0 -1
- package/dist/assets/ArrowUpIcon.js.map +0 -1
- package/dist/assets/ArrowUpRightIcon.js.map +0 -1
- package/dist/assets/CalendarIcon.js.map +0 -1
- package/dist/assets/CalendarNormalIcon.js.map +0 -1
- package/dist/assets/DoubleArrowLeftHeadIcon.js.map +0 -1
- package/dist/assets/DoubleArrowRightHeadIcon.js.map +0 -1
- package/dist/assets/ExclamationFilledIcon.js.map +0 -1
- package/dist/assets/FilterIcon.js.map +0 -1
- package/dist/assets/LoadingSpinner.js.map +0 -1
- package/dist/assets/RefreshIcon.js.map +0 -1
- package/dist/assets/SearchIcon.js.map +0 -1
- package/dist/assets/UpLeftArrowsIcon.js.map +0 -1
- package/dist/assets/XCircleIcon.js.map +0 -1
- package/dist/assets/XIcon.js.map +0 -1
- package/dist/assets/index.js.map +0 -1
- package/dist/components/BigModal/BigModal.js.map +0 -1
- package/dist/components/Dropdown/Dropdown.js.map +0 -1
- package/dist/components/Dropdown/DropdownItem.js.map +0 -1
- package/dist/components/Dropdown/index.js.map +0 -1
- package/dist/components/Modal/Modal.js.map +0 -1
- package/dist/components/Modal/index.js.map +0 -1
- package/dist/components/QuillCard.js.map +0 -1
- package/dist/components/selectUtils.js.map +0 -1
- package/dist/contexts/BaseColorContext.js.map +0 -1
- package/dist/contexts/HoveredValueContext.js.map +0 -1
- package/dist/contexts/RootStylesContext.js.map +0 -1
- package/dist/contexts/SelectedValueContext.js.map +0 -1
- package/dist/contexts/index.js.map +0 -1
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/useDashboard.js.map +0 -1
- package/dist/hooks/useInternalState.js.map +0 -1
- package/dist/hooks/useOnClickOutside.js.map +0 -1
- package/dist/hooks/useOnWindowResize.js.map +0 -1
- package/dist/hooks/useSelectOnKeyDown.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/internals/ReportBuilder/PivotModal.spec.js.map +0 -1
- package/dist/lib/font.js.map +0 -1
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/inputTypes.js.map +0 -1
- package/dist/lib/utils.js.map +0 -1
- package/dist/utils/aggregate.js.map +0 -1
- package/dist/utils/downloadCSV.js.map +0 -1
|
@@ -1,43 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.formatDateBuckets = exports.isArrayOfValidDates = exports.isValidDate = exports.ChartForm = void 0;
|
|
30
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
31
2
|
// @ts-nocheck
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
3
|
+
import React, { useContext, useEffect, useState } from 'react';
|
|
4
|
+
import { sub, startOfToday } from 'date-fns';
|
|
5
|
+
import { getData, getDataFromCloud } from './utils/dataFetcher';
|
|
6
|
+
import { ClientContext, SchemaContext, ThemeContext, DateFilterContext, DashboardContext, DashboardFiltersContext, } from './Context';
|
|
7
|
+
import { differenceInDays, differenceInHours, differenceInMonths, differenceInYears, startOfDay, startOfHour, startOfMonth, startOfYear, } from 'date-fns';
|
|
8
|
+
import Chart from './Chart';
|
|
9
|
+
import { getPostgresBasicType } from './ReportBuilder';
|
|
10
|
+
import { aggregate } from './utils/aggregate';
|
|
11
|
+
import { ArrowDownHeadIcon } from './assets';
|
|
12
|
+
import { mergeComparisonRange } from './utils/merge';
|
|
41
13
|
function convertPostgresColumn(column) {
|
|
42
14
|
let format;
|
|
43
15
|
switch (column.dataTypeID) {
|
|
@@ -83,7 +55,7 @@ function updateLabels(yAxisFields, values) {
|
|
|
83
55
|
});
|
|
84
56
|
}
|
|
85
57
|
const DefaultSelectComponent = function DefaultSelect({ onChange, value, options, form, field, theme, }) {
|
|
86
|
-
return ((
|
|
58
|
+
return (_jsxs("div", { style: { position: 'relative' }, children: [_jsx("select", { onChange: event => onChange(event.target.value), value: value, id: 'reportbuilderdropdown', style: {
|
|
87
59
|
width: 200,
|
|
88
60
|
outline: 'none',
|
|
89
61
|
textAlign: 'left',
|
|
@@ -102,7 +74,7 @@ const DefaultSelectComponent = function DefaultSelect({ onChange, value, options
|
|
|
102
74
|
color: theme.primaryTextColor,
|
|
103
75
|
boxShadow: '0 1px 2px 0 rgba(0,0,0,.05)',
|
|
104
76
|
fontFamily: theme.fontFamily,
|
|
105
|
-
}, children: options.map((option, index) => ((
|
|
77
|
+
}, children: options.map((option, index) => (_jsx("option", { value: option.value, children: option.label }, option.label + index))) }), _jsx(ArrowDownHeadIcon, { style: {
|
|
106
78
|
height: '20px',
|
|
107
79
|
width: '20px',
|
|
108
80
|
flex: 'none',
|
|
@@ -112,9 +84,9 @@ const DefaultSelectComponent = function DefaultSelect({ onChange, value, options
|
|
|
112
84
|
color: theme?.secondaryTextColor,
|
|
113
85
|
}, "aria-hidden": "true" })] }));
|
|
114
86
|
};
|
|
115
|
-
const MemoizedDefaultSelectComponent =
|
|
87
|
+
const MemoizedDefaultSelectComponent = React.memo(DefaultSelectComponent);
|
|
116
88
|
const DefaultTextInputComponent = function DefaultText({ onChange, value, id, theme, placeholder, }) {
|
|
117
|
-
return ((
|
|
89
|
+
return (_jsx("input", { style: {
|
|
118
90
|
outline: 'none',
|
|
119
91
|
textAlign: 'left',
|
|
120
92
|
whiteSpace: 'nowrap',
|
|
@@ -138,21 +110,22 @@ const DefaultTextInputComponent = function DefaultText({ onChange, value, id, th
|
|
|
138
110
|
fontFamily: theme.fontFamily,
|
|
139
111
|
}, id: id, onChange: onChange, value: value, placeholder: placeholder }));
|
|
140
112
|
};
|
|
141
|
-
const MemoizedDefaultTextInputComponent =
|
|
142
|
-
function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, rows, columns, query, report, ModalComponent, formHeaderStyle, formLabelStyle, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, onAddToDashboardComplete, fields, }) {
|
|
143
|
-
const [theme] =
|
|
144
|
-
const [client] =
|
|
145
|
-
const [schema, setSchema] =
|
|
113
|
+
const MemoizedDefaultTextInputComponent = React.memo(DefaultTextInputComponent);
|
|
114
|
+
export default function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, rows, columns, query, report, ModalComponent, formHeaderStyle, formLabelStyle, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, onAddToDashboardComplete, fields, }) {
|
|
115
|
+
const [theme] = useContext(ThemeContext);
|
|
116
|
+
const [client] = useContext(ClientContext);
|
|
117
|
+
const [schema, setSchema] = useContext(SchemaContext);
|
|
146
118
|
// const [organization, setOrganization] = useState([]);
|
|
147
|
-
const { dispatch } =
|
|
119
|
+
const { dispatch } = useContext(DashboardContext);
|
|
120
|
+
const { dashboardFilters } = useContext(DashboardFiltersContext);
|
|
148
121
|
// showTableFormatOptions = false;
|
|
149
122
|
// showDateFieldOptions = false;
|
|
150
123
|
// showAccessControlOptions = false;3
|
|
151
|
-
|
|
124
|
+
useEffect(() => {
|
|
152
125
|
let isSubscribed = true;
|
|
153
126
|
async function getSchema() {
|
|
154
127
|
if (!schema || !schema.length) {
|
|
155
|
-
const resp = await
|
|
128
|
+
const resp = await getDataFromCloud(client, `schema2/${client.publicKey}/`, null, 'GET');
|
|
156
129
|
if (isSubscribed) {
|
|
157
130
|
setSchema(resp.tables);
|
|
158
131
|
}
|
|
@@ -347,8 +320,11 @@ function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent, TextInputComp
|
|
|
347
320
|
customerId: customerId,
|
|
348
321
|
}
|
|
349
322
|
: { clientId: publicKey }).toString();
|
|
350
|
-
const resp = await
|
|
323
|
+
const resp = await getData(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
|
|
351
324
|
if (resp) {
|
|
325
|
+
if (resp.compareRows) {
|
|
326
|
+
mergeComparisonRange(resp);
|
|
327
|
+
}
|
|
352
328
|
dispatch({
|
|
353
329
|
type: 'UPDATE_DASHBOARD_ITEM',
|
|
354
330
|
id: resp._id,
|
|
@@ -356,6 +332,7 @@ function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent, TextInputComp
|
|
|
356
332
|
...resp,
|
|
357
333
|
rows,
|
|
358
334
|
fields,
|
|
335
|
+
filtersApplied: dashboardFilters
|
|
359
336
|
},
|
|
360
337
|
});
|
|
361
338
|
}
|
|
@@ -369,13 +346,12 @@ function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent, TextInputComp
|
|
|
369
346
|
};
|
|
370
347
|
return (
|
|
371
348
|
// <BigModal theme={theme} showModal={isOpen} setShowModal={setIsOpen}>
|
|
372
|
-
(
|
|
349
|
+
_jsx(_Fragment, { children: ModalComponent ? (_jsx(ModalComponent, { isOpen: isOpen, title: 'Add to dashboard', onClose: () => setIsOpen(false), children: _jsx(ChartForm, { editChart: editChart, theme: theme, schema: schema, data: rows, fields: columns, report: report, query: query, client: client,
|
|
373
350
|
// organizationName={organization?.name}
|
|
374
|
-
SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, formHeaderStyle: formHeaderStyle, formLabelStyle: formLabelStyle, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, newFields: fields }) })) : ((
|
|
351
|
+
SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, formHeaderStyle: formHeaderStyle, formLabelStyle: formLabelStyle, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, newFields: fields }) })) : (_jsx(QuillModal, { isOpen: isOpen, onClose: () => setIsOpen(false), title: 'Add to dashboard', children: _jsx(ChartForm, { editChart: editChart, theme: theme, schema: schema, data: rows, fields: columns, report: report, client: client, query: query,
|
|
375
352
|
// organizationName={organization?.name}
|
|
376
353
|
SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, formHeaderStyle: formHeaderStyle, formLabelStyle: formLabelStyle, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, newFields: fields }) })) }));
|
|
377
354
|
}
|
|
378
|
-
exports.default = AddToDashboardModal;
|
|
379
355
|
function QuillModal({ isOpen, onClose, setIsOpen, title, children }) {
|
|
380
356
|
const scrollPosition = 0;
|
|
381
357
|
// useEffect(() => {
|
|
@@ -397,7 +373,7 @@ function QuillModal({ isOpen, onClose, setIsOpen, title, children }) {
|
|
|
397
373
|
if (!isOpen) {
|
|
398
374
|
return null;
|
|
399
375
|
}
|
|
400
|
-
return ((
|
|
376
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { style: {
|
|
401
377
|
position: 'fixed',
|
|
402
378
|
top: '0',
|
|
403
379
|
right: '0',
|
|
@@ -406,7 +382,7 @@ function QuillModal({ isOpen, onClose, setIsOpen, title, children }) {
|
|
|
406
382
|
zIndex: '50',
|
|
407
383
|
backgroundColor: 'rgba(255, 255, 255, 0.8)',
|
|
408
384
|
backdropFilter: 'blur(5px)',
|
|
409
|
-
}, onClick: onClose }), (
|
|
385
|
+
}, onClick: onClose }), _jsx("div", { style: {
|
|
410
386
|
// position: "absolute",
|
|
411
387
|
position: 'fixed',
|
|
412
388
|
left: '50%',
|
|
@@ -426,7 +402,7 @@ function QuillModal({ isOpen, onClose, setIsOpen, title, children }) {
|
|
|
426
402
|
borderColor: '#e7e7e7',
|
|
427
403
|
overflow: 'hidden',
|
|
428
404
|
// zIndex: 1000,
|
|
429
|
-
}, children: (
|
|
405
|
+
}, children: _jsxs("div", { style: {
|
|
430
406
|
// width: "80%",
|
|
431
407
|
maxHeight: '90vh',
|
|
432
408
|
overflowY: 'scroll',
|
|
@@ -437,7 +413,7 @@ function QuillModal({ isOpen, onClose, setIsOpen, title, children }) {
|
|
|
437
413
|
display: 'flex',
|
|
438
414
|
flexDirection: 'column',
|
|
439
415
|
alignItems: 'center',
|
|
440
|
-
}, children: [(
|
|
416
|
+
}, children: [_jsx("h2", { style: {
|
|
441
417
|
marginLeft: 35,
|
|
442
418
|
marginTop: 25,
|
|
443
419
|
fontSize: 18,
|
|
@@ -446,7 +422,7 @@ function QuillModal({ isOpen, onClose, setIsOpen, title, children }) {
|
|
|
446
422
|
textAlign: 'left',
|
|
447
423
|
}, children: title }), children] }) })] }));
|
|
448
424
|
}
|
|
449
|
-
function ChartForm({ data, fields, theme, saveVisualization, report, editChart, schema, query, organizationName, SelectComponent, TextInputComponent, client, ButtonComponent, SecondaryButtonComponent, formHeaderStyle, formLabelStyle, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, newFields, }) {
|
|
425
|
+
export function ChartForm({ data, fields, theme, saveVisualization, report, editChart, schema, query, organizationName, SelectComponent, TextInputComponent, client, ButtonComponent, SecondaryButtonComponent, formHeaderStyle, formLabelStyle, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, newFields, }) {
|
|
450
426
|
if (report) {
|
|
451
427
|
newFields = report.fields;
|
|
452
428
|
}
|
|
@@ -461,16 +437,16 @@ function ChartForm({ data, fields, theme, saveVisualization, report, editChart,
|
|
|
461
437
|
}));
|
|
462
438
|
const xAxisOptions = data?.length
|
|
463
439
|
? Object.keys(data[0])
|
|
464
|
-
.filter(option =>
|
|
465
|
-
|
|
440
|
+
.filter(option => getPostgresBasicType(newFields.find(field => field.name === option)) === 'date' ||
|
|
441
|
+
getPostgresBasicType(newFields.find(field => field.name === option)) === 'string')
|
|
466
442
|
.map(field => ({
|
|
467
443
|
value: field,
|
|
468
444
|
label: field,
|
|
469
445
|
}))
|
|
470
446
|
: fields
|
|
471
447
|
.filter(option => {
|
|
472
|
-
return (
|
|
473
|
-
|
|
448
|
+
return (getPostgresBasicType(newFields.find(field => field.name === option.field)) === 'date' ||
|
|
449
|
+
getPostgresBasicType(newFields.find(field => field.name === option.field)) === 'string');
|
|
474
450
|
})
|
|
475
451
|
.map(field => ({
|
|
476
452
|
value: field.field,
|
|
@@ -478,22 +454,22 @@ function ChartForm({ data, fields, theme, saveVisualization, report, editChart,
|
|
|
478
454
|
}));
|
|
479
455
|
const yAxisOptions = data?.length
|
|
480
456
|
? Object.keys(data[0])
|
|
481
|
-
.filter(option =>
|
|
457
|
+
.filter(option => getPostgresBasicType(newFields.find(field => field.name === option)) === 'number')
|
|
482
458
|
.map(field => ({
|
|
483
459
|
value: field,
|
|
484
460
|
label: field,
|
|
485
461
|
}))
|
|
486
462
|
: fields
|
|
487
463
|
.filter(option => {
|
|
488
|
-
return (
|
|
464
|
+
return (getPostgresBasicType(newFields.find(field => field.name === option.field)) === 'number');
|
|
489
465
|
})
|
|
490
466
|
.map(field => ({
|
|
491
467
|
value: field.field,
|
|
492
468
|
label: field.field,
|
|
493
469
|
}));
|
|
494
|
-
const [dateFieldOptions, setDateFieldOptions] =
|
|
495
|
-
const [formValues, setFormValues] =
|
|
496
|
-
|
|
470
|
+
const [dateFieldOptions, setDateFieldOptions] = useState([]);
|
|
471
|
+
const [formValues, setFormValues] = useState({});
|
|
472
|
+
useEffect(() => {
|
|
497
473
|
const fetchReferencedTables = async () => {
|
|
498
474
|
if (!query) {
|
|
499
475
|
return;
|
|
@@ -503,7 +479,7 @@ function ChartForm({ data, fields, theme, saveVisualization, report, editChart,
|
|
|
503
479
|
};
|
|
504
480
|
fetchReferencedTables();
|
|
505
481
|
}, [query, schema]);
|
|
506
|
-
return ((
|
|
482
|
+
return (_jsx(FormikForm, { data: data, xAxisOptions: xAxisOptions, yAxisOptions: yAxisOptions, fieldOptions: fieldOptions, dateFieldOptions: dateFieldOptions, theme: theme, saveVisualization: saveVisualization, report: report, editChart: editChart, client: client, fields: fields, newFields: newFields, query: query, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, organizationName: organizationName, SelectComponent: SelectComponent
|
|
507
483
|
? ({ onChange, value, options, form, field, }) => {
|
|
508
484
|
const handleChange = async (option) => {
|
|
509
485
|
if (onChange) {
|
|
@@ -513,14 +489,14 @@ function ChartForm({ data, fields, theme, saveVisualization, report, editChart,
|
|
|
513
489
|
await form.setFieldValue(field.name, option);
|
|
514
490
|
form.setFieldTouched(field.name, true);
|
|
515
491
|
};
|
|
516
|
-
return ((
|
|
492
|
+
return (_jsx(SelectComponent, { onChange: event => handleChange(event.target.value), value: value, options: options }));
|
|
517
493
|
}
|
|
518
494
|
: MemoizedDefaultSelectComponent, TextInputComponent: TextInputComponent
|
|
519
495
|
? TextInputComponent
|
|
520
496
|
: MemoizedDefaultTextInputComponent, ButtonComponent: ButtonComponent
|
|
521
497
|
? ButtonComponent
|
|
522
498
|
: ({ onClick, label }) => {
|
|
523
|
-
return ((
|
|
499
|
+
return (_jsx("div", { style: {
|
|
524
500
|
height: 38,
|
|
525
501
|
background: theme.primaryButtonColor,
|
|
526
502
|
color: theme.backgroundColor,
|
|
@@ -538,7 +514,7 @@ function ChartForm({ data, fields, theme, saveVisualization, report, editChart,
|
|
|
538
514
|
}, SecondaryButtonComponent: ButtonComponent
|
|
539
515
|
? ButtonComponent
|
|
540
516
|
: ({ onClick, label }) => {
|
|
541
|
-
return ((
|
|
517
|
+
return (_jsx("div", { style: {
|
|
542
518
|
height: 38,
|
|
543
519
|
background: theme.backgroundColor,
|
|
544
520
|
borderWidth: theme.borderWidth,
|
|
@@ -556,65 +532,61 @@ function ChartForm({ data, fields, theme, saveVisualization, report, editChart,
|
|
|
556
532
|
}, onClick: onClick, children: label }));
|
|
557
533
|
}, formHeaderStyle: formHeaderStyle, formLabelStyle: formLabelStyle }));
|
|
558
534
|
}
|
|
559
|
-
|
|
560
|
-
function isValidDate(d) {
|
|
535
|
+
export function isValidDate(d) {
|
|
561
536
|
return d instanceof Date && !isNaN(d);
|
|
562
537
|
}
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
exports.isArrayOfValidDates = isArrayOfValidDates;
|
|
566
|
-
function formatDateBuckets(startDate, endDate) {
|
|
538
|
+
export const isArrayOfValidDates = (arr, field) => arr.every(d => new Date(d[field]) instanceof Date && !isNaN(new Date(d[field])));
|
|
539
|
+
export function formatDateBuckets(startDate, endDate) {
|
|
567
540
|
// Calculate the distance in hours
|
|
568
|
-
const distanceInHours = Math.abs(
|
|
541
|
+
const distanceInHours = Math.abs(differenceInHours(endDate, startDate));
|
|
569
542
|
// Check if the distance is less than or equal to one hour
|
|
570
543
|
if (distanceInHours <= 1) {
|
|
571
544
|
return {
|
|
572
545
|
unit: 'hour',
|
|
573
546
|
format: 'h a',
|
|
574
|
-
startOf:
|
|
547
|
+
startOf: startOfHour,
|
|
575
548
|
};
|
|
576
549
|
}
|
|
577
550
|
// Calculate the distance in days
|
|
578
|
-
const distanceInDays = Math.abs(
|
|
551
|
+
const distanceInDays = Math.abs(differenceInDays(endDate, startDate));
|
|
579
552
|
// Check if the distance is less than or equal to one day
|
|
580
553
|
if (distanceInDays <= 1) {
|
|
581
554
|
return {
|
|
582
555
|
unit: 'day',
|
|
583
556
|
format: 'MMM d',
|
|
584
|
-
startOf:
|
|
557
|
+
startOf: startOfDay,
|
|
585
558
|
};
|
|
586
559
|
}
|
|
587
560
|
// Calculate the distance in months
|
|
588
|
-
const distanceInMonths = Math.abs(
|
|
561
|
+
const distanceInMonths = Math.abs(differenceInMonths(endDate, startDate));
|
|
589
562
|
// Check if the distance is less than or equal to one month
|
|
590
563
|
if (distanceInMonths <= 1) {
|
|
591
564
|
return {
|
|
592
565
|
unit: 'month',
|
|
593
566
|
format: 'MMM yyyy',
|
|
594
|
-
startOf:
|
|
567
|
+
startOf: startOfMonth,
|
|
595
568
|
};
|
|
596
569
|
}
|
|
597
570
|
// Calculate the distance in years
|
|
598
|
-
const distanceInYears = Math.abs(
|
|
571
|
+
const distanceInYears = Math.abs(differenceInYears(endDate, startDate));
|
|
599
572
|
// Check if the distance is less than or equal to one year
|
|
600
573
|
if (distanceInYears <= 1) {
|
|
601
574
|
return {
|
|
602
575
|
unit: 'year',
|
|
603
576
|
format: 'yyyy',
|
|
604
|
-
startOf:
|
|
577
|
+
startOf: startOfYear,
|
|
605
578
|
};
|
|
606
579
|
}
|
|
607
580
|
// Otherwise, the distance is more than one year
|
|
608
581
|
return {
|
|
609
582
|
unit: 'year',
|
|
610
583
|
format: 'yyyy',
|
|
611
|
-
startOf:
|
|
584
|
+
startOf: startOfYear,
|
|
612
585
|
};
|
|
613
586
|
}
|
|
614
|
-
exports.formatDateBuckets = formatDateBuckets;
|
|
615
587
|
const FormTextInput = ({ field, form, ...props }) => {
|
|
616
588
|
const { theme, wider } = props;
|
|
617
|
-
return ((
|
|
589
|
+
return (_jsx("input", { className: `px-[12px] text-sm h-[38px] py-1.5 shadow-sm w-[245px] border-[#E7E7E7] ${'text-[#212121]'} border-[1px] bg-[white] rounded-md`, type: "text", ...field, ...props }));
|
|
618
590
|
};
|
|
619
591
|
const POSTGRES_DATE_TYPES = [
|
|
620
592
|
'timestamp',
|
|
@@ -627,7 +599,7 @@ async function getReferencedTables(client, sqlQuery, dbTables) {
|
|
|
627
599
|
// const parser = new Parser();
|
|
628
600
|
const tables = [];
|
|
629
601
|
const withAliases = [];
|
|
630
|
-
const resp = await
|
|
602
|
+
const resp = await getDataFromCloud(client, `astify`, { query: sqlQuery });
|
|
631
603
|
let ast = resp.ast;
|
|
632
604
|
ast = ast.length ? ast[0] : ast;
|
|
633
605
|
if (ast.with && ast.with.length) {
|
|
@@ -678,7 +650,7 @@ const Y_FORMAT_OPTIONS = [
|
|
|
678
650
|
{ value: 'string', label: 'string' },
|
|
679
651
|
];
|
|
680
652
|
const handleBucketData = (dashboardItem, bucketFields, dateFilter) => {
|
|
681
|
-
return
|
|
653
|
+
return aggregate(dashboardItem, bucketFields, dateFilter);
|
|
682
654
|
};
|
|
683
655
|
function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldOptions, theme, report, editChart, fields, newFields, query, client, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, organizationName, formHeaderStyle, formLabelStyle, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, }) {
|
|
684
656
|
// fieldOptions.sort((a, b) => {
|
|
@@ -701,24 +673,24 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
701
673
|
return 1;
|
|
702
674
|
return 0;
|
|
703
675
|
});
|
|
704
|
-
const { dashboardFilters, dashboardFiltersDispatch } =
|
|
705
|
-
const [rows, setRows] =
|
|
706
|
-
const [isSubmitting, setIsSubmitting] =
|
|
707
|
-
const [xAxisField, setXAxisField] =
|
|
676
|
+
const { dashboardFilters, dashboardFiltersDispatch } = useContext(DashboardFiltersContext);
|
|
677
|
+
const [rows, setRows] = useState(null);
|
|
678
|
+
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
679
|
+
const [xAxisField, setXAxisField] = useState(report?.xAxisField ||
|
|
708
680
|
(xAxisOptions && xAxisOptions.length && xAxisOptions[0].value) ||
|
|
709
681
|
'');
|
|
710
|
-
const [xAxisLabel, setXAxisLabel] =
|
|
711
|
-
const [xAxisFormat, setXAxisFormat] =
|
|
682
|
+
const [xAxisLabel, setXAxisLabel] = useState(report?.xAxisLabel || '');
|
|
683
|
+
const [xAxisFormat, setXAxisFormat] = useState(report?.xAxisFormat ||
|
|
712
684
|
(X_FORMAT_OPTIONS.length && X_FORMAT_OPTIONS[0].value) ||
|
|
713
685
|
'');
|
|
714
|
-
const [chartName, setChartName] =
|
|
715
|
-
const [chartType, setChartType] =
|
|
716
|
-
const [dateFieldTable, setDateFieldTable] =
|
|
717
|
-
const [dateField, setDateField] =
|
|
718
|
-
const [template, setTemplate] =
|
|
719
|
-
const [chartConfig, setChartConfig] =
|
|
720
|
-
const { dateFilter, setDateFilter } =
|
|
721
|
-
const [yAxisFields, setYAxisFields] =
|
|
686
|
+
const [chartName, setChartName] = useState(report?.name || '');
|
|
687
|
+
const [chartType, setChartType] = useState(report?.chartType || 'column');
|
|
688
|
+
const [dateFieldTable, setDateFieldTable] = useState((dateFieldOptions.length && dateFieldOptions[0].name) || '');
|
|
689
|
+
const [dateField, setDateField] = useState((dateFieldOptions.length && dateFieldOptions[0].columns[0].name) || '');
|
|
690
|
+
const [template, setTemplate] = useState(report?.template || false);
|
|
691
|
+
const [chartConfig, setChartConfig] = useState({});
|
|
692
|
+
const { dateFilter, setDateFilter } = useContext(DateFilterContext);
|
|
693
|
+
const [yAxisFields, setYAxisFields] = useState(report
|
|
722
694
|
? report.yAxisFields
|
|
723
695
|
: [
|
|
724
696
|
{
|
|
@@ -729,8 +701,8 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
729
701
|
format: 'whole_number',
|
|
730
702
|
},
|
|
731
703
|
]);
|
|
732
|
-
const [bucketFields, setBucketFields] =
|
|
733
|
-
const [columns, setColumns] =
|
|
704
|
+
const [bucketFields, setBucketFields] = useState((report && report.buckets) || []);
|
|
705
|
+
const [columns, setColumns] = useState(report && report.columns.length
|
|
734
706
|
? report.columns
|
|
735
707
|
: fields?.length
|
|
736
708
|
? fields.map(field => convertPostgresColumn(field))
|
|
@@ -785,7 +757,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
785
757
|
]);
|
|
786
758
|
};
|
|
787
759
|
const handleAddBucket = () => {
|
|
788
|
-
const bucketPossibilities = xAxisOptions.filter(option =>
|
|
760
|
+
const bucketPossibilities = xAxisOptions.filter(option => getPostgresBasicType(newFields.find(field => field.name === option.value)) === 'date');
|
|
789
761
|
if (!bucketPossibilities.length) {
|
|
790
762
|
alert('No possible buckets');
|
|
791
763
|
return;
|
|
@@ -801,12 +773,12 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
801
773
|
setXAxisFormat('dynamic');
|
|
802
774
|
}
|
|
803
775
|
else {
|
|
804
|
-
setXAxisFormat(postgresFormatMap(
|
|
776
|
+
setXAxisFormat(postgresFormatMap(getPostgresBasicType(newFields.find(field => field.name === bucketPossibilities[0].value))));
|
|
805
777
|
}
|
|
806
778
|
};
|
|
807
|
-
const [dashboardOptions, setDashboardOptions] =
|
|
808
|
-
const [dashboardName, setDashboardName] =
|
|
809
|
-
|
|
779
|
+
const [dashboardOptions, setDashboardOptions] = useState([]);
|
|
780
|
+
const [dashboardName, setDashboardName] = useState(report?.dashboardName || dashboardOptions[0]);
|
|
781
|
+
useEffect(() => {
|
|
810
782
|
if (!report && dashboardOptions && dashboardOptions.length) {
|
|
811
783
|
setDashboardName(dashboardOptions[0].value);
|
|
812
784
|
}
|
|
@@ -821,8 +793,8 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
821
793
|
dateFieldTable,
|
|
822
794
|
dateField,
|
|
823
795
|
};
|
|
824
|
-
const [selectedTabIndex, setSelectedTabIndex] =
|
|
825
|
-
|
|
796
|
+
const [selectedTabIndex, setSelectedTabIndex] = useState(report && report.template ? 1 : 0);
|
|
797
|
+
React.useEffect(() => {
|
|
826
798
|
async function getDashboards() {
|
|
827
799
|
const { publicKey, customerId, queryEndpoint } = client;
|
|
828
800
|
if (customerId || queryEndpoint) {
|
|
@@ -839,16 +811,16 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
839
811
|
? { orgId: customerId, name, task: 'config' }
|
|
840
812
|
: { name: dashboardName, task: 'config' },
|
|
841
813
|
};
|
|
842
|
-
const resp = await
|
|
814
|
+
const resp = await getData(client, `dashconfig?${searchParams}`, 'omit', hostedBody, null, 'GET');
|
|
843
815
|
const bigFilterObj = {};
|
|
844
816
|
if (resp.dateFilter && Object.keys(resp.dateFilter).length) {
|
|
845
817
|
if (resp.dateFilter.initialRange === 'LAST_90_DAYS') {
|
|
846
818
|
const filter = {
|
|
847
|
-
startDate:
|
|
819
|
+
startDate: sub(startOfToday(), { days: 90 }),
|
|
848
820
|
endDate: new Date(),
|
|
849
821
|
filterType: 'date_range',
|
|
850
822
|
selectedValue: [
|
|
851
|
-
|
|
823
|
+
sub(startOfToday(), { days: 90 }),
|
|
852
824
|
new Date(),
|
|
853
825
|
'90d',
|
|
854
826
|
],
|
|
@@ -867,11 +839,11 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
867
839
|
}
|
|
868
840
|
else if (resp.dateFilter.initialRange === 'LAST_30_DAYS') {
|
|
869
841
|
const filter = {
|
|
870
|
-
startDate:
|
|
842
|
+
startDate: sub(startOfToday(), { days: 30 }),
|
|
871
843
|
endDate: new Date(),
|
|
872
844
|
filterType: 'date_range',
|
|
873
845
|
selectedValue: [
|
|
874
|
-
|
|
846
|
+
sub(startOfToday(), { days: 30 }),
|
|
875
847
|
new Date(),
|
|
876
848
|
't',
|
|
877
849
|
],
|
|
@@ -892,10 +864,10 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
892
864
|
}
|
|
893
865
|
else if (resp.dateFilter.initialRange === 'CURRENT_MONTH') {
|
|
894
866
|
const filter = {
|
|
895
|
-
startDate:
|
|
867
|
+
startDate: startOfMonth(new Date()),
|
|
896
868
|
endDate: new Date(),
|
|
897
869
|
filterType: 'date_range',
|
|
898
|
-
selectedValue: [
|
|
870
|
+
selectedValue: [startOfMonth(new Date()), new Date(), 'm'],
|
|
899
871
|
options: options,
|
|
900
872
|
field: 'date_range',
|
|
901
873
|
label: 'Date',
|
|
@@ -912,11 +884,11 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
912
884
|
}
|
|
913
885
|
else {
|
|
914
886
|
const filter = {
|
|
915
|
-
startDate:
|
|
887
|
+
startDate: sub(startOfToday(), { days: 90 }),
|
|
916
888
|
endDate: new Date(),
|
|
917
889
|
filterType: 'date_range',
|
|
918
890
|
selectedValue: [
|
|
919
|
-
|
|
891
|
+
sub(startOfToday(), { days: 90 }),
|
|
920
892
|
new Date(),
|
|
921
893
|
'90d',
|
|
922
894
|
],
|
|
@@ -959,16 +931,16 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
959
931
|
}
|
|
960
932
|
getDashboards();
|
|
961
933
|
}, [dashboardName, client]);
|
|
962
|
-
|
|
934
|
+
useEffect(() => {
|
|
963
935
|
async function getDashNames() {
|
|
964
|
-
const resp = await
|
|
936
|
+
const resp = await getDataFromCloud(client, `dashnames/${client.publicKey}/`, null, 'GET');
|
|
965
937
|
setDashboardOptions(resp.dashboardNames
|
|
966
938
|
.filter(elem => elem !== null)
|
|
967
939
|
.map(key => ({ label: key, value: key })));
|
|
968
940
|
}
|
|
969
941
|
getDashNames();
|
|
970
942
|
}, []);
|
|
971
|
-
|
|
943
|
+
useEffect(() => {
|
|
972
944
|
// if (!dateField) {
|
|
973
945
|
// return;
|
|
974
946
|
// }
|
|
@@ -986,7 +958,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
986
958
|
return;
|
|
987
959
|
}
|
|
988
960
|
}, [chartType, dateField]);
|
|
989
|
-
|
|
961
|
+
useEffect(() => {
|
|
990
962
|
if (dateFieldOptions.length) {
|
|
991
963
|
setDateFieldTable(dateFieldOptions[0].name);
|
|
992
964
|
setDateField(dateFieldOptions[0].columns[0].name);
|
|
@@ -1012,7 +984,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1012
984
|
setXAxisFormat('dynamic');
|
|
1013
985
|
}
|
|
1014
986
|
else {
|
|
1015
|
-
setXAxisFormat(postgresFormatMap(
|
|
987
|
+
setXAxisFormat(postgresFormatMap(getPostgresBasicType(newFields.find(field => field.name === value))));
|
|
1016
988
|
}
|
|
1017
989
|
};
|
|
1018
990
|
const handleXAxisFieldChange = value => {
|
|
@@ -1030,7 +1002,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1030
1002
|
setXAxisFormat('dynamic');
|
|
1031
1003
|
}
|
|
1032
1004
|
else {
|
|
1033
|
-
setXAxisFormat(postgresFormatMap(
|
|
1005
|
+
setXAxisFormat(postgresFormatMap(getPostgresBasicType(newFields.find(field => field.name === value))));
|
|
1034
1006
|
}
|
|
1035
1007
|
if (bucketFields.length > 0) {
|
|
1036
1008
|
const newBucketFields = [...bucketFields];
|
|
@@ -1072,7 +1044,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1072
1044
|
newColumns[index] = { ...newColumns[index], label: value };
|
|
1073
1045
|
setColumns(newColumns);
|
|
1074
1046
|
};
|
|
1075
|
-
|
|
1047
|
+
useEffect(() => {
|
|
1076
1048
|
const now = new Date();
|
|
1077
1049
|
if (!dateFilter ||
|
|
1078
1050
|
(dateFilter && dateFilter.startDate && dateFilter.endDate)) {
|
|
@@ -1107,15 +1079,15 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1107
1079
|
columns,
|
|
1108
1080
|
dateFilter,
|
|
1109
1081
|
]);
|
|
1110
|
-
return ((
|
|
1082
|
+
return (_jsx("div", { style: { display: 'inline-block' }, children: _jsxs("div", { style: {
|
|
1111
1083
|
display: 'flex',
|
|
1112
1084
|
flexDirection: 'column',
|
|
1113
1085
|
paddingLeft: 25,
|
|
1114
1086
|
paddingRight: chartConfig.chartType === 'pie' ? 25 : undefined,
|
|
1115
|
-
}, children: [(
|
|
1087
|
+
}, children: [_jsxs("div", { style: {
|
|
1116
1088
|
display: 'flex',
|
|
1117
1089
|
flexDirection: 'column',
|
|
1118
|
-
}, children: [(
|
|
1090
|
+
}, children: [_jsx("div", { style: { height: 20 } }), _jsx("div", { style: {
|
|
1119
1091
|
marginRight: chartConfig.chartType === 'pie' ||
|
|
1120
1092
|
chartConfig.chartType === 'table'
|
|
1121
1093
|
? undefined
|
|
@@ -1124,36 +1096,36 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1124
1096
|
chartConfig.chartType === 'table'
|
|
1125
1097
|
? undefined
|
|
1126
1098
|
: -25,
|
|
1127
|
-
}, children: Object.keys(chartConfig).length > 0 && ((
|
|
1099
|
+
}, children: Object.keys(chartConfig).length > 0 && (_jsx(Chart, { config: chartConfig, colors: theme.chartColors, containerStyle: {
|
|
1128
1100
|
width: chartConfig.chartType === 'table'
|
|
1129
1101
|
? 640
|
|
1130
1102
|
: 'calc(100% - 24px)',
|
|
1131
1103
|
height: 300,
|
|
1132
|
-
} })) }), (
|
|
1104
|
+
} })) }), _jsx("div", { style: { height: 40 } }), showTableFormatOptions || showDateFieldOptions ? (_jsx(_Fragment, { children: _jsx("div", { style: formHeaderStyle || {
|
|
1133
1105
|
fontFamily: theme.fontFamily,
|
|
1134
1106
|
color: theme.primaryTextColor,
|
|
1135
1107
|
fontSize: theme.fontSize + 2,
|
|
1136
1108
|
fontWeight: 600,
|
|
1137
|
-
}, children: 'Chart' }) })) : null, (
|
|
1109
|
+
}, children: 'Chart' }) })) : null, _jsxs("div", { style: {
|
|
1138
1110
|
display: 'flex',
|
|
1139
1111
|
flexDirection: 'row',
|
|
1140
1112
|
alignItems: 'center',
|
|
1141
|
-
}, children: [(
|
|
1113
|
+
}, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column', marginTop: 8 }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1142
1114
|
color: theme.secondaryTextColor,
|
|
1143
1115
|
fontFamily: theme?.fontFamily,
|
|
1144
1116
|
fontSize: theme?.fontSize || '14px',
|
|
1145
1117
|
fontWeight: theme.labelFontWeight || '600',
|
|
1146
|
-
}, children: "Name" }), (
|
|
1118
|
+
}, children: "Name" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(TextInputComponent, { onChange: e => setChartName(e.target.value), value: chartName, theme: theme, placeholder: 'Enter a chart name' }) })] }), _jsx("div", { style: { width: 20 } }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column', marginTop: 8 }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1147
1119
|
color: theme.secondaryTextColor,
|
|
1148
1120
|
fontFamily: theme?.fontFamily,
|
|
1149
1121
|
fontSize: theme?.fontSize || '14px',
|
|
1150
1122
|
fontWeight: theme.labelFontWeight || '600',
|
|
1151
|
-
}, children: "Dashboard name" }), (
|
|
1123
|
+
}, children: "Dashboard name" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(SelectComponent, { onChange: value => setDashboardName(value), value: dashboardName, theme: theme, options: dashboardOptions }) })] }), _jsx("div", { style: { width: 20 } }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column', marginTop: 8 }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1152
1124
|
color: theme.secondaryTextColor,
|
|
1153
1125
|
fontFamily: theme?.fontFamily,
|
|
1154
1126
|
fontSize: theme?.fontSize || '14px',
|
|
1155
1127
|
fontWeight: theme.labelFontWeight || '600',
|
|
1156
|
-
}, children: "Chart type" }), (
|
|
1128
|
+
}, children: "Chart type" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(SelectComponent, { onChange: e => setChartType(e), value: chartType, options: [
|
|
1157
1129
|
{ label: 'column', value: 'column' },
|
|
1158
1130
|
{ label: 'bar', value: 'bar' },
|
|
1159
1131
|
{ label: 'line', value: 'line' },
|
|
@@ -1162,29 +1134,29 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1162
1134
|
{ label: 'table', value: 'table' },
|
|
1163
1135
|
], theme: theme }) })] })] })] }), chartType !== 'table' &&
|
|
1164
1136
|
chartType !== 'metric' &&
|
|
1165
|
-
chartType !== 'pie' && ((
|
|
1137
|
+
chartType !== 'pie' && (_jsxs("div", { style: {
|
|
1166
1138
|
display: 'flex',
|
|
1167
1139
|
flexDirection: 'column',
|
|
1168
1140
|
marginTop: 20,
|
|
1169
1141
|
maxWidth: 200,
|
|
1170
|
-
}, children: [(
|
|
1142
|
+
}, children: [_jsx("div", { style: formLabelStyle || {
|
|
1171
1143
|
color: theme.secondaryTextColor,
|
|
1172
1144
|
fontFamily: theme?.fontFamily,
|
|
1173
1145
|
fontSize: theme?.fontSize || '14px',
|
|
1174
1146
|
fontWeight: theme.labelFontWeight || '600',
|
|
1175
|
-
}, children: "Buckets" }), (
|
|
1147
|
+
}, children: "Buckets" }), _jsx("div", { style: {
|
|
1176
1148
|
maxWidth: 200,
|
|
1177
1149
|
// marginTop: 6,
|
|
1178
1150
|
display: 'flex',
|
|
1179
1151
|
flexDirection: 'column',
|
|
1180
|
-
}, children: bucketFields.map((bucketField, index) => ((
|
|
1152
|
+
}, children: bucketFields.map((bucketField, index) => (_jsxs("div", { style: {
|
|
1181
1153
|
display: 'flex',
|
|
1182
1154
|
flexDirection: 'row',
|
|
1183
1155
|
alignItems: 'center',
|
|
1184
1156
|
marginTop: index === 0 ? 6 : 10,
|
|
1185
|
-
}, children: [(
|
|
1157
|
+
}, children: [_jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: option => handleBucketFieldChange(index, option), value: bucketField.field,
|
|
1186
1158
|
// TODO: PROB FILTER OUT NUMBERS LMAO (SO DATE AND STRING ONLY)
|
|
1187
|
-
options: xAxisOptions, theme: theme }) }), (
|
|
1159
|
+
options: xAxisOptions, theme: theme }) }), _jsx("div", { onClick: () => handleDeleteBucketField(index), style: {
|
|
1188
1160
|
cursor: 'pointer',
|
|
1189
1161
|
paddingLeft: 6,
|
|
1190
1162
|
paddingTop: 9,
|
|
@@ -1194,28 +1166,28 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1194
1166
|
display: 'flex',
|
|
1195
1167
|
alignItems: 'center',
|
|
1196
1168
|
justifyContent: 'center',
|
|
1197
|
-
}, children: (
|
|
1169
|
+
}, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: theme?.secondaryTextColor, 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" }) }) })] }, `bucketField-${index}`))) }), !bucketFields.length && (_jsx("div", { style: { marginTop: 12 }, children: _jsx(SecondaryButtonComponent, { onClick: handleAddBucket, label: "Add bucket +" }) }))] })), _jsx("div", { style: {
|
|
1198
1170
|
display: 'flex',
|
|
1199
1171
|
flexDirection: 'row',
|
|
1200
1172
|
alignItems: 'center',
|
|
1201
1173
|
// justifyContent: 'space-between',
|
|
1202
1174
|
marginTop: 20,
|
|
1203
|
-
}, children: chartType !== 'table' && ((
|
|
1175
|
+
}, children: chartType !== 'table' && (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1204
1176
|
color: theme.secondaryTextColor,
|
|
1205
1177
|
fontFamily: theme?.fontFamily,
|
|
1206
1178
|
fontSize: theme?.fontSize || '14px',
|
|
1207
1179
|
fontWeight: theme.labelFontWeight || '600',
|
|
1208
|
-
}, children: chartType === 'pie' ? 'Category column' : 'x-axis column' }), (
|
|
1180
|
+
}, children: chartType === 'pie' ? 'Category column' : 'x-axis column' }), _jsx("div", { style: { height: 6 } }), _jsxs("div", { style: {
|
|
1209
1181
|
display: 'flex',
|
|
1210
1182
|
flexDirection: 'row',
|
|
1211
1183
|
alignItems: 'center',
|
|
1212
|
-
}, children: [(
|
|
1184
|
+
}, children: [_jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: e => handleXAxisFieldChange(e), value: xAxisField, options: xAxisOptions, theme: theme }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: { minWidth: 200 }, children: _jsx(TextInputComponent, { onChange: e => setXAxisLabel(e.target.value), value: xAxisLabel, theme: theme, placeholder: 'Enter a label' }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: e => setXAxisFormat(e), value: xAxisFormat, options: X_FORMAT_OPTIONS, theme: theme }) })] })] })) }), _jsxs("div", { style: {
|
|
1213
1185
|
display: 'flex',
|
|
1214
1186
|
flexDirection: 'row',
|
|
1215
1187
|
alignItems: 'flex-start',
|
|
1216
1188
|
// justifyContent: 'space-between',
|
|
1217
1189
|
marginTop: 20,
|
|
1218
|
-
}, children: [(
|
|
1190
|
+
}, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1219
1191
|
color: theme.secondaryTextColor,
|
|
1220
1192
|
fontFamily: theme?.fontFamily,
|
|
1221
1193
|
fontSize: theme?.fontSize || '14px',
|
|
@@ -1224,32 +1196,32 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1224
1196
|
? 'Columns'
|
|
1225
1197
|
: chartType === 'pie'
|
|
1226
1198
|
? 'Quantity column'
|
|
1227
|
-
: 'y-axis columns' }), (
|
|
1199
|
+
: 'y-axis columns' }), _jsxs("div", { style: {
|
|
1228
1200
|
display: 'flex',
|
|
1229
1201
|
flexDirection: 'column',
|
|
1230
|
-
}, children: [yAxisFields.map((yAxisField, index) => ((
|
|
1202
|
+
}, children: [yAxisFields.map((yAxisField, index) => (_jsx("div", { style: {
|
|
1231
1203
|
display: 'flex',
|
|
1232
1204
|
flexDirection: 'row',
|
|
1233
1205
|
alignItems: 'center',
|
|
1234
1206
|
marginTop: index === 0 ? 6 : 10,
|
|
1235
|
-
}, children: (
|
|
1207
|
+
}, children: _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: option => handleYAxisFieldChange(index, option), value: yAxisField.field, options: chartType === 'table' ? fieldOptions : yAxisOptions, theme: theme }) }) }, `yAxisField-${index}`))), chartType !== 'pie' && (_jsx("div", { style: { marginTop: 12 }, children: _jsx(SecondaryButtonComponent, { onClick: handleAddYAxisField, label: "Add column +" }) })), _jsx("div", { style: { height: 10 } })] })] }), _jsx("div", { style: { width: 20 } }), _jsxs("div", { style: {
|
|
1236
1208
|
display: 'flex',
|
|
1237
1209
|
flexDirection: 'column',
|
|
1238
1210
|
justifyContent: 'flex-start',
|
|
1239
|
-
}, children: [(
|
|
1211
|
+
}, children: [_jsx("div", { style: formLabelStyle || {
|
|
1240
1212
|
color: 'transparent',
|
|
1241
1213
|
fontFamily: theme?.fontFamily,
|
|
1242
1214
|
fontSize: theme?.fontSize || '14px',
|
|
1243
1215
|
fontWeight: theme.labelFontWeight || '600',
|
|
1244
1216
|
}, children: "y-axis label" }), chartType !== 'pie' &&
|
|
1245
|
-
yAxisFields.map((yAxisField, index) => ((
|
|
1217
|
+
yAxisFields.map((yAxisField, index) => (_jsxs("div", { style: {
|
|
1246
1218
|
display: 'flex',
|
|
1247
1219
|
flexDirection: 'row',
|
|
1248
1220
|
// alignItems: 'center',
|
|
1249
1221
|
marginTop: index === 0 ? 6 : 10,
|
|
1250
|
-
}, children: [(
|
|
1222
|
+
}, children: [_jsx("div", { style: { minWidth: 200 }, children: _jsx(TextInputComponent, { value: yAxisFields[index].label, onChange: e => {
|
|
1251
1223
|
handleYAxisLabelChange(index, e.target.value);
|
|
1252
|
-
}, theme: theme, placeholder: 'Enter a label' }) }), (
|
|
1224
|
+
}, theme: theme, placeholder: 'Enter a label' }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: value => handleYAxisFieldFormatChange(index, value), value: yAxisField.format, options: Y_FORMAT_OPTIONS, theme: theme }) }), _jsx("div", { onClick: () => index > 0 ? handleDeleteYAxisField(index) : undefined, style: {
|
|
1253
1225
|
cursor: index > 0 ? 'pointer' : undefined,
|
|
1254
1226
|
paddingLeft: 6,
|
|
1255
1227
|
paddingTop: 12,
|
|
@@ -1259,68 +1231,68 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1259
1231
|
display: 'flex',
|
|
1260
1232
|
alignItems: 'center',
|
|
1261
1233
|
justifyContent: 'center',
|
|
1262
|
-
}, children: (
|
|
1234
|
+
}, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: index > 0 ? theme?.secondaryTextColor : 'rgba(0,0,0,0)', 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" }) }) })] }, `yAxisField-${index}`)))] })] }), _jsx("div", { style: { height: 20 } }), showTableFormatOptions && (_jsxs(_Fragment, { children: [_jsx("div", { style: formHeaderStyle || {
|
|
1263
1235
|
fontFamily: theme.fontFamily,
|
|
1264
1236
|
color: theme.primaryTextColor,
|
|
1265
1237
|
fontSize: theme.fontSize + 2,
|
|
1266
1238
|
fontWeight: 600,
|
|
1267
1239
|
// marginTop: 20,
|
|
1268
|
-
}, children: 'Table' }), (
|
|
1240
|
+
}, children: 'Table' }), _jsx("div", { style: { height: 8 } })] })), showTableFormatOptions && chartType !== 'table' && (_jsx("div", { style: formLabelStyle || {
|
|
1269
1241
|
color: theme.secondaryTextColor,
|
|
1270
1242
|
fontFamily: theme?.fontFamily,
|
|
1271
1243
|
fontSize: theme?.fontSize || '14px',
|
|
1272
1244
|
fontWeight: theme.labelFontWeight || '600',
|
|
1273
|
-
}, children: 'Columns' })), showTableFormatOptions && chartType !== 'table' && ((
|
|
1245
|
+
}, children: 'Columns' })), showTableFormatOptions && chartType !== 'table' && (_jsxs("div", { style: {
|
|
1274
1246
|
display: 'flex',
|
|
1275
1247
|
flexDirection: 'row',
|
|
1276
1248
|
alignItems: 'flex-start',
|
|
1277
1249
|
marginTop: 6,
|
|
1278
1250
|
// justifyContent: 'space-between',
|
|
1279
1251
|
// marginTop: 8,
|
|
1280
|
-
}, children: [(
|
|
1252
|
+
}, children: [_jsx("div", { style: { display: 'flex', flexDirection: 'column' }, children: _jsxs("div", { style: {
|
|
1281
1253
|
display: 'flex',
|
|
1282
1254
|
flexDirection: 'column',
|
|
1283
|
-
}, children: [columns.map((yAxisField, index) => ((
|
|
1255
|
+
}, children: [columns.map((yAxisField, index) => (_jsx("div", { style: {
|
|
1284
1256
|
display: 'flex',
|
|
1285
1257
|
flexDirection: 'row',
|
|
1286
1258
|
alignItems: 'center',
|
|
1287
1259
|
marginTop: index === 0 ? 6 : 10,
|
|
1288
|
-
}, children: (
|
|
1260
|
+
}, children: _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { value: yAxisField.field, onChange: option => {
|
|
1289
1261
|
handleColumnFieldChange(index, option);
|
|
1290
|
-
}, options: fieldOptions, theme: theme }) }) }, `column-${index}`))), (
|
|
1262
|
+
}, options: fieldOptions, theme: theme }) }) }, `column-${index}`))), _jsx("div", { style: { height: 10 } })] }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: {
|
|
1291
1263
|
display: 'flex',
|
|
1292
1264
|
flexDirection: 'column',
|
|
1293
1265
|
justifyContent: 'flex-start',
|
|
1294
|
-
}, children: columns.map((yAxisField, index) => ((
|
|
1266
|
+
}, children: columns.map((yAxisField, index) => (_jsxs("div", { style: {
|
|
1295
1267
|
display: 'flex',
|
|
1296
1268
|
flexDirection: 'row',
|
|
1297
1269
|
alignItems: 'center',
|
|
1298
1270
|
marginTop: index === 0 ? 6 : 10,
|
|
1299
|
-
}, children: [(
|
|
1271
|
+
}, children: [_jsx("div", { style: { minWidth: 200 }, children: _jsx(TextInputComponent, { theme: theme, placeholder: "Enter column label", value: yAxisField.label, onChange: event => handleColumnLabelChange(index, event.target.value) }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { value: yAxisField.format, onChange: option => handleColumnFormatChange(index, option), options: Y_FORMAT_OPTIONS, theme: theme }) })] }, `column-${index}`))) })] })), showDateFieldOptions && _jsx("div", { style: { height: 20 } }), showDateFieldOptions && (_jsxs(_Fragment, { children: [_jsx("div", { style: formHeaderStyle || {
|
|
1300
1272
|
fontFamily: theme.fontFamily,
|
|
1301
1273
|
color: theme.primaryTextColor,
|
|
1302
1274
|
fontSize: theme.fontSize + 2,
|
|
1303
1275
|
fontWeight: 600,
|
|
1304
1276
|
// marginTop: 20,
|
|
1305
|
-
}, children: 'Filters' }), (
|
|
1277
|
+
}, children: 'Filters' }), _jsx("div", { style: { height: 8 } })] })), showDateFieldOptions && (_jsxs("div", { style: {
|
|
1306
1278
|
display: 'flex',
|
|
1307
1279
|
flexDirection: 'row',
|
|
1308
1280
|
alignItems: 'center',
|
|
1309
|
-
}, children: [(
|
|
1281
|
+
}, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1310
1282
|
color: theme.secondaryTextColor,
|
|
1311
1283
|
fontFamily: theme?.fontFamily,
|
|
1312
1284
|
fontSize: theme?.fontSize || '14px',
|
|
1313
1285
|
fontWeight: theme.labelFontWeight || '600',
|
|
1314
|
-
}, children: "Date field table" }), (
|
|
1286
|
+
}, children: "Date field table" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(SelectComponent, { options: !dateFieldOptions.length
|
|
1315
1287
|
? [{ label: '', value: '' }]
|
|
1316
1288
|
: dateFieldOptions.map(elem => {
|
|
1317
1289
|
return { label: elem.name, value: elem.name };
|
|
1318
|
-
}), onChange: e => setDateFieldTable(e), value: dateFieldTable, theme: theme }) })] }), (
|
|
1290
|
+
}), onChange: e => setDateFieldTable(e), value: dateFieldTable, theme: theme }) })] }), _jsx("div", { style: { width: 20 } }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1319
1291
|
color: theme.secondaryTextColor,
|
|
1320
1292
|
fontFamily: theme?.fontFamily,
|
|
1321
1293
|
fontSize: theme?.fontSize || '14px',
|
|
1322
1294
|
fontWeight: theme.labelFontWeight || '600',
|
|
1323
|
-
}, children: "Date field" }), (
|
|
1295
|
+
}, children: "Date field" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(SelectComponent, { options: !dateFieldOptions.length
|
|
1324
1296
|
? [{ label: '', value: '' }]
|
|
1325
1297
|
: dateFieldOptions.filter(elem => elem.name === dateFieldTable // Replace `values.dateFieldTable` with your state variable or prop
|
|
1326
1298
|
).length
|
|
@@ -1329,17 +1301,17 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1329
1301
|
.columns.map(elem => {
|
|
1330
1302
|
return { label: elem.name, value: elem.name };
|
|
1331
1303
|
})
|
|
1332
|
-
: [{ label: '', value: '' }], onChange: value => setDateField(value), value: dateField, theme: theme }) })] })] })), showAccessControlOptions && ((
|
|
1304
|
+
: [{ label: '', value: '' }], onChange: value => setDateField(value), value: dateField, theme: theme }) })] })] })), showAccessControlOptions && (_jsxs("div", { style: {
|
|
1333
1305
|
display: 'flex',
|
|
1334
1306
|
flexDirection: 'column',
|
|
1335
1307
|
marginTop: 40,
|
|
1336
1308
|
marginBottom: 40,
|
|
1337
|
-
}, children: [(
|
|
1309
|
+
}, children: [_jsx("div", { style: {
|
|
1338
1310
|
fontFamily: theme.fontFamily,
|
|
1339
1311
|
color: theme.primaryTextColor,
|
|
1340
1312
|
fontSize: theme.fontSize + 2,
|
|
1341
1313
|
fontWeight: 600,
|
|
1342
|
-
}, children: 'Access Control' }), (
|
|
1314
|
+
}, children: 'Access Control' }), _jsx("div", { style: { height: 12 } }), _jsxs("div", { style: {
|
|
1343
1315
|
padding: '1px',
|
|
1344
1316
|
display: 'flex',
|
|
1345
1317
|
flexDirection: 'row',
|
|
@@ -1350,7 +1322,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1350
1322
|
color: '#212121',
|
|
1351
1323
|
backgroundColor: 'rgba(33, 33, 33, 0.03)',
|
|
1352
1324
|
borderRadius: '6px',
|
|
1353
|
-
}, children: [(
|
|
1325
|
+
}, children: [_jsx("div", { onClick: () => {
|
|
1354
1326
|
setSelectedTabIndex(0);
|
|
1355
1327
|
setTemplate(false);
|
|
1356
1328
|
}, style: {
|
|
@@ -1377,7 +1349,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1377
1349
|
? '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)'
|
|
1378
1350
|
: undefined, // Shadow when selected
|
|
1379
1351
|
outline: 'none', // focus:outline-none
|
|
1380
|
-
}, children: `This Organization${organizationName ? ` (${organizationName})` : ``}` }), (
|
|
1352
|
+
}, children: `This Organization${organizationName ? ` (${organizationName})` : ``}` }), _jsx("div", { onClick: () => {
|
|
1381
1353
|
setSelectedTabIndex(1);
|
|
1382
1354
|
setTemplate(true);
|
|
1383
1355
|
}, style: {
|
|
@@ -1404,7 +1376,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1404
1376
|
? '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)'
|
|
1405
1377
|
: undefined, // Shadow when selected
|
|
1406
1378
|
outline: 'none', // focus:outline-none
|
|
1407
|
-
}, children: 'Global (All Organizations)' })] })] })), (
|
|
1379
|
+
}, children: 'Global (All Organizations)' })] })] })), _jsx("div", { style: { paddingRight: 25 }, children: _jsx(ButtonComponent, { onClick: () => {
|
|
1408
1380
|
const { xAxisField, xAxisLabel, xAxisFormat, chartName, chartType, dashboardName, dateFieldTable, dateField, template, } = chartConfig;
|
|
1409
1381
|
if (isSubmitting === false) {
|
|
1410
1382
|
editChart({
|
|
@@ -1428,6 +1400,5 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1428
1400
|
showTableFormatOptions,
|
|
1429
1401
|
});
|
|
1430
1402
|
}
|
|
1431
|
-
}, label: report ? 'Save changes' : 'Add to dashboard' }) }), (
|
|
1403
|
+
}, label: report ? 'Save changes' : 'Add to dashboard' }) }), _jsx("div", { style: { height: 20 } })] }) }));
|
|
1432
1404
|
}
|
|
1433
|
-
//# sourceMappingURL=AddToDashboardModal.js.map
|