@quillsql/react 2.13.48 → 2.13.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Chart.d.ts +2 -2
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +28 -41
- package/dist/cjs/ChartBuilder.d.ts +2 -2
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +157 -134
- package/dist/cjs/ChartEditor.d.ts +2 -2
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +3 -1
- package/dist/cjs/Context.d.ts +10 -3
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +324 -249
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +10 -23
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +0 -3
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +24 -10
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +472 -96
- package/dist/cjs/QuillProvider.d.ts +3 -1
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +2 -2
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +19 -10
- package/dist/cjs/SQLEditor.d.ts +1 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +50 -16
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +20 -7
- package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +2 -1
- package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +1 -1
- package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -1
- package/dist/cjs/components/Chart/CustomReferenceLine.js +7 -6
- package/dist/cjs/components/Chart/GaugeChart.d.ts +1 -1
- package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/GaugeChart.js +62 -35
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/InternalChart.js +30 -33
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +3 -1
- package/dist/cjs/components/Chart/MapChart.d.ts +3 -3
- package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/MapChart.js +62 -34
- package/dist/cjs/components/Chart/PieChart.d.ts +3 -1
- package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/PieChart.js +80 -39
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +4 -20
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardTemplate.js +2 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +4 -4
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +31 -14
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +2 -2
- package/dist/cjs/components/Dashboard/util.d.ts +1 -1
- package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/util.js +7 -6
- package/dist/cjs/components/QuillMultiSelectSectionList.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectSectionList.js +32 -22
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +186 -159
- package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelect.js +83 -75
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +18 -11
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.js +3 -4
- package/dist/cjs/components/ReportBuilder/ui.d.ts +2 -2
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +4 -7
- package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useAskQuill.js +5 -1
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +96 -58
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +23 -13
- package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +8 -10
- package/dist/cjs/hooks/useReport.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.js +16 -22
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +2 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +19 -7
- package/dist/cjs/models/Client.d.ts +0 -1
- package/dist/cjs/models/Client.d.ts.map +1 -1
- package/dist/cjs/models/Data.d.ts +20 -0
- package/dist/cjs/models/Data.d.ts.map +1 -0
- package/dist/cjs/models/Data.js +2 -0
- package/dist/cjs/models/Filter.d.ts +42 -4
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Pivot.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.d.ts +3 -2
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +28 -37
- package/dist/cjs/utils/client.d.ts +3 -2
- package/dist/cjs/utils/client.d.ts.map +1 -1
- package/dist/cjs/utils/client.js +38 -39
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +14 -3
- package/dist/cjs/utils/constants.d.ts +1 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +2 -1
- package/dist/cjs/utils/dashboard.d.ts +3 -2
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +30 -12
- package/dist/cjs/utils/dataFetcher.d.ts +8 -5
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +189 -65
- package/dist/cjs/utils/filterProcessing.d.ts +2 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +24 -38
- package/dist/cjs/utils/getDomain.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.d.ts +2 -1
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +15 -11
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +3 -5
- package/dist/cjs/utils/queryConstructor.js +1 -1
- package/dist/cjs/utils/report.d.ts +10 -7
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +52 -60
- package/dist/cjs/utils/schema.d.ts +4 -3
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +30 -44
- package/dist/cjs/utils/tableProcessing.d.ts +16 -10
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +91 -90
- package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/textProcessing.js +2 -1
- package/dist/cjs/utils/ui.d.ts.map +1 -1
- package/dist/esm/Chart.d.ts +2 -2
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +30 -43
- package/dist/esm/ChartBuilder.d.ts +2 -2
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +158 -135
- package/dist/esm/ChartEditor.d.ts +2 -2
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +4 -2
- package/dist/esm/Context.d.ts +10 -3
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +326 -251
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +12 -25
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +0 -3
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +24 -10
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +471 -95
- package/dist/esm/QuillProvider.d.ts +3 -1
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +2 -2
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +21 -12
- package/dist/esm/SQLEditor.d.ts +1 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +53 -19
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +21 -8
- package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +2 -1
- package/dist/esm/components/Chart/CustomReferenceLine.d.ts +1 -1
- package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -1
- package/dist/esm/components/Chart/CustomReferenceLine.js +8 -7
- package/dist/esm/components/Chart/GaugeChart.d.ts +1 -1
- package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/GaugeChart.js +64 -37
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/InternalChart.js +32 -35
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +3 -1
- package/dist/esm/components/Chart/MapChart.d.ts +3 -3
- package/dist/esm/components/Chart/MapChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/MapChart.js +67 -39
- package/dist/esm/components/Chart/PieChart.d.ts +3 -1
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/PieChart.js +80 -39
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +5 -21
- package/dist/esm/components/Dashboard/DashboardSection.js +2 -2
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardTemplate.js +3 -2
- package/dist/esm/components/Dashboard/DataLoader.d.ts +4 -4
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +32 -15
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +2 -2
- package/dist/esm/components/Dashboard/util.d.ts +1 -1
- package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/util.js +8 -7
- package/dist/esm/components/QuillMultiSelectSectionList.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectSectionList.js +32 -22
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +187 -160
- package/dist/esm/components/QuillSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillSelect.js +85 -77
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +18 -11
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterStack.js +3 -4
- package/dist/esm/components/ReportBuilder/ui.d.ts +2 -2
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +4 -7
- package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useAskQuill.js +6 -2
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +98 -60
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +25 -15
- package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +9 -11
- package/dist/esm/hooks/useReport.d.ts.map +1 -1
- package/dist/esm/hooks/useReport.js +1 -1
- package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/esm/hooks/useVirtualTables.js +17 -23
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +2 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +20 -8
- package/dist/esm/models/Client.d.ts +0 -1
- package/dist/esm/models/Client.d.ts.map +1 -1
- package/dist/esm/models/Data.d.ts +20 -0
- package/dist/esm/models/Data.d.ts.map +1 -0
- package/dist/esm/models/Data.js +1 -0
- package/dist/esm/models/Filter.d.ts +42 -4
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Pivot.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.d.ts +3 -2
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +28 -37
- package/dist/esm/utils/client.d.ts +3 -2
- package/dist/esm/utils/client.d.ts.map +1 -1
- package/dist/esm/utils/client.js +38 -39
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +14 -3
- package/dist/esm/utils/constants.d.ts +1 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +1 -0
- package/dist/esm/utils/dashboard.d.ts +3 -2
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +31 -13
- package/dist/esm/utils/dataFetcher.d.ts +8 -5
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +187 -65
- package/dist/esm/utils/filterProcessing.d.ts +2 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +25 -39
- package/dist/esm/utils/getDomain.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.d.ts +2 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +16 -12
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +5 -7
- package/dist/esm/utils/queryConstructor.js +1 -1
- package/dist/esm/utils/report.d.ts +10 -7
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +53 -61
- package/dist/esm/utils/schema.d.ts +4 -3
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +30 -44
- package/dist/esm/utils/tableProcessing.d.ts +16 -10
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +93 -92
- package/dist/esm/utils/textProcessing.d.ts.map +1 -1
- package/dist/esm/utils/textProcessing.js +2 -1
- package/dist/esm/utils/ui.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -67,11 +67,13 @@ export const parseData = (data, colors, categoryKey, valueKey) => {
|
|
|
67
67
|
// .toNumber(),
|
|
68
68
|
acc + parseFloat(dataPoint[valueKey] ?? '0'), 0);
|
|
69
69
|
slicedData.forEach((dataPoint) => {
|
|
70
|
+
const rawValue = parseFloat(dataPoint[valueKey] ?? '0');
|
|
70
71
|
dataPoint[valueKey] = totalValue
|
|
71
|
-
? (
|
|
72
|
+
? (rawValue * 100) / totalValue
|
|
72
73
|
: data.length > maxItems
|
|
73
74
|
? 100 / (maxItems + 1)
|
|
74
75
|
: 100 / slicedData.length; // if totalValue is 0, divide datapoints evenly
|
|
76
|
+
dataPoint[`raw_${valueKey}`] = parseFloat(rawValue.toFixed(2));
|
|
75
77
|
});
|
|
76
78
|
const parsedData = slicedData.map((dataPoint, idx) => {
|
|
77
79
|
const baseColor = idx < colors.length ? colors[idx] : colors[colors.length - 1];
|
|
@@ -95,6 +97,7 @@ export const parseData = (data, colors, categoryKey, valueKey) => {
|
|
|
95
97
|
parsedData.push({
|
|
96
98
|
[categoryKey]: 'Other',
|
|
97
99
|
[valueKey]: normalizedOtherSum,
|
|
100
|
+
[`raw_${valueKey}`]: parseFloat(otherSum.toFixed(2)),
|
|
98
101
|
color: otherColor,
|
|
99
102
|
fill: otherColor,
|
|
100
103
|
});
|
|
@@ -114,56 +117,94 @@ export const ChartTooltipFrame = ({ children, theme, }) => (_jsx("div", { style:
|
|
|
114
117
|
borderRadius: '6px',
|
|
115
118
|
boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
|
|
116
119
|
}, children: children }));
|
|
117
|
-
export const ChartTooltipRow = ({ value, name, color, theme, }) => (_jsxs("div", { style: {
|
|
120
|
+
export const ChartTooltipRow = ({ value, rawValue, valueKey, name, color, theme, }) => (_jsxs("div", { style: {
|
|
118
121
|
display: 'flex',
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}, children: [
|
|
122
|
+
flexDirection: 'column',
|
|
123
|
+
gap: 2,
|
|
124
|
+
minWidth: 150,
|
|
125
|
+
position: 'relative',
|
|
126
|
+
}, children: [_jsx("span", { style: {
|
|
127
|
+
position: 'absolute',
|
|
128
|
+
top: '50%',
|
|
129
|
+
transform: 'translateY(-50%)',
|
|
130
|
+
}, children: _jsx("span", { style: {
|
|
131
|
+
background: color,
|
|
132
|
+
borderWidth: 2,
|
|
133
|
+
borderStyle: 'solid',
|
|
134
|
+
borderColor: 'white',
|
|
135
|
+
height: '8px',
|
|
136
|
+
width: '8px',
|
|
137
|
+
display: 'block',
|
|
138
|
+
boxShadow: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',
|
|
139
|
+
borderRadius: '9999px',
|
|
140
|
+
} }) }), _jsx("div", { style: {
|
|
124
141
|
display: 'flex',
|
|
125
142
|
alignItems: 'center',
|
|
143
|
+
width: '100%',
|
|
144
|
+
paddingLeft: '24px',
|
|
145
|
+
}, children: _jsxs("span", { style: {
|
|
146
|
+
flex: 1,
|
|
147
|
+
display: 'flex',
|
|
148
|
+
alignItems: 'center',
|
|
149
|
+
justifyContent: 'space-between',
|
|
150
|
+
}, children: [_jsx("p", { style: {
|
|
151
|
+
marginTop: 0,
|
|
152
|
+
marginBottom: 0,
|
|
153
|
+
marginRight: '24px',
|
|
154
|
+
fontFamily: theme?.fontFamily,
|
|
155
|
+
color: theme?.primaryTextColor,
|
|
156
|
+
fontSize: theme?.fontSizeSmall || '14px',
|
|
157
|
+
fontWeight: theme?.fontWeightMedium || '500',
|
|
158
|
+
minWidth: '60px',
|
|
159
|
+
}, children: name }), _jsx("p", { style: {
|
|
160
|
+
marginTop: 0,
|
|
161
|
+
marginBottom: 0,
|
|
162
|
+
fontFamily: theme?.fontFamily,
|
|
163
|
+
color: theme?.primaryTextColor,
|
|
164
|
+
fontSize: theme?.fontSizeSmall || '14px',
|
|
165
|
+
fontWeight: theme?.fontWeightMedium || '500',
|
|
166
|
+
minWidth: '40px',
|
|
167
|
+
textAlign: 'right',
|
|
168
|
+
}, children: value })] }) }), (rawValue || valueKey) && (_jsx("div", { style: {
|
|
169
|
+
display: 'flex',
|
|
170
|
+
alignItems: 'center',
|
|
171
|
+
width: '100%',
|
|
172
|
+
paddingLeft: '24px',
|
|
126
173
|
justifyContent: 'space-between',
|
|
127
|
-
}, children:
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
whiteSpace: 'nowrap',
|
|
152
|
-
overflow: 'hidden',
|
|
153
|
-
textOverflow: 'ellipsis',
|
|
154
|
-
textAlign: 'right',
|
|
155
|
-
fontSize: theme?.fontSizeSmall || '14px',
|
|
156
|
-
fontWeight: theme?.fontWeightNormal || '400',
|
|
157
|
-
}, children: name })] }));
|
|
174
|
+
}, children: _jsxs("span", { style: {
|
|
175
|
+
flex: 1,
|
|
176
|
+
display: 'flex',
|
|
177
|
+
alignItems: 'center',
|
|
178
|
+
justifyContent: 'space-between',
|
|
179
|
+
}, children: [_jsx("p", { style: {
|
|
180
|
+
marginTop: 0,
|
|
181
|
+
marginBottom: 0,
|
|
182
|
+
marginRight: '24px',
|
|
183
|
+
fontFamily: theme?.fontFamily,
|
|
184
|
+
color: theme?.primaryTextColor,
|
|
185
|
+
fontSize: theme?.fontSizeSmall || '14px',
|
|
186
|
+
fontWeight: theme?.fontWeightMedium || '500',
|
|
187
|
+
minWidth: '60px',
|
|
188
|
+
}, children: valueKey }), _jsx("p", { style: {
|
|
189
|
+
marginTop: 0,
|
|
190
|
+
marginBottom: 0,
|
|
191
|
+
fontFamily: theme?.fontFamily,
|
|
192
|
+
color: theme?.primaryTextColor,
|
|
193
|
+
fontSize: theme?.fontSizeSmall || '14px',
|
|
194
|
+
fontWeight: theme?.fontWeightMedium || '500',
|
|
195
|
+
minWidth: '40px',
|
|
196
|
+
textAlign: 'right',
|
|
197
|
+
}, children: rawValue })] }) }))] }));
|
|
158
198
|
export const DonutChartTooltip = ({ active, payload, valueFormatter, theme, }) => {
|
|
159
199
|
if (active && payload[0]) {
|
|
160
200
|
const payloadRow = payload[0];
|
|
201
|
+
const rawValue = payloadRow.payload[`raw_${payloadRow.dataKey}`];
|
|
161
202
|
return (_jsx(ChartTooltipFrame, { theme: theme, children: _jsx("div", { style: {
|
|
162
203
|
paddingLeft: '1rem',
|
|
163
204
|
paddingRight: '1rem',
|
|
164
205
|
paddingTop: '8px',
|
|
165
206
|
paddingBottom: '8px',
|
|
166
|
-
}, children: _jsx(ChartTooltipRow, { value: valueFormatter(payloadRow.value), name: payloadRow.name, color: payloadRow.payload.color, theme: theme }) }) }));
|
|
207
|
+
}, children: _jsx(ChartTooltipRow, { value: valueFormatter(payloadRow.value), rawValue: rawValue ? rawValue.toString() : undefined, valueKey: payloadRow.dataKey, name: payloadRow.name, color: payloadRow.payload.color, theme: theme }) }) }));
|
|
167
208
|
}
|
|
168
209
|
return null;
|
|
169
210
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAW,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardFilter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
|
-
import { COMPARISON_OPTIONS
|
|
3
|
+
import { COMPARISON_OPTIONS } from '../../DateRangePicker/dateRangePickerUtils';
|
|
4
4
|
import { QuillDateRangePicker, } from '../../DateRangePicker/QuillDateRangePicker';
|
|
5
5
|
import { QuillMultiSelectComponentWithCombo } from '../QuillMultiSelectWithCombo';
|
|
6
6
|
import { QuillSelectComponentWithCombo } from '../QuillSelectWithCombo';
|
|
7
7
|
export function DashboardFilter({ filter, onChangeFilter, SelectComponent = QuillSelectComponentWithCombo, MultiSelectComponent = QuillMultiSelectComponentWithCombo, DateRangePickerComponent = QuillDateRangePicker, theme, isLoading, disabled, containerStyle, }) {
|
|
8
8
|
const preset = useMemo(() => {
|
|
9
|
-
if (
|
|
10
|
-
'startDate' in filter &&
|
|
11
|
-
'endDate' in filter) {
|
|
12
|
-
if (!filter.preset && !filter.primaryRange)
|
|
13
|
-
return '';
|
|
14
|
-
if (!filter.startDate || !filter.endDate)
|
|
15
|
-
return filter.preset?.value ?? filter.primaryRange.value;
|
|
16
|
-
const presetRange = filter.presetRanges?.find((range) => range.value === (filter.preset?.value ?? filter.primaryRange.value)) ?? PRIMARY_RANGE[filter.preset?.value ?? filter.primaryRange.value];
|
|
17
|
-
if (!presetRange)
|
|
18
|
-
return filter.preset?.value ?? filter.primaryRange.value;
|
|
19
|
-
// if (
|
|
20
|
-
// presetRange.startDate !== filter.startDate ||
|
|
21
|
-
// presetRange.endDate !== filter.endDate
|
|
22
|
-
// ) {
|
|
23
|
-
// return '';
|
|
24
|
-
// }
|
|
9
|
+
if ('preset' in filter && 'primaryRange' in filter) {
|
|
25
10
|
return filter.preset?.value ?? filter.primaryRange.value;
|
|
26
11
|
}
|
|
27
|
-
|
|
12
|
+
else {
|
|
13
|
+
return '';
|
|
14
|
+
}
|
|
28
15
|
}, [filter]);
|
|
29
|
-
// if (!filter.options && !isLoading && !(filter.filterType === 'date_range')) {
|
|
30
|
-
// return null;
|
|
31
|
-
// }
|
|
32
16
|
if (filter.filterType === 'string') {
|
|
33
17
|
if (filter.stringFilterType === 'multiselect') {
|
|
34
18
|
return (_jsx("div", { style: containerStyle, children: _jsx(MultiSelectComponent, { label: filter.label, value: filter.values ?? [], onChange: (e) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useContext } from
|
|
3
|
-
import { ThemeContext } from
|
|
2
|
+
import { useContext } from 'react';
|
|
3
|
+
import { ThemeContext } from '../../Context';
|
|
4
4
|
export default function DashboardSection({ section, children, }) {
|
|
5
5
|
const [theme] = useContext(ThemeContext);
|
|
6
6
|
return (_jsxs(_Fragment, { children: [section && (_jsx("div", { style: { display: 'flex', flexDirection: 'column' }, children: _jsx("h1", { style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardTemplate.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,IAAI,EACJ,eAAe,EACf,MAAM,EACN,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,GAChB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,GAAG,CAAC;IACpB,sBAAsB,EAAE,GAAG,CAAC;IAC5B,uBAAuB,EAAE,GAAG,CAAC;IAC7B,sBAAsB,EAAE,GAAG,CAAC;IAC5B,eAAe,EAAE,GAAG,CAAC;CACtB,
|
|
1
|
+
{"version":3,"file":"DashboardTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardTemplate.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,IAAI,EACJ,eAAe,EACf,MAAM,EACN,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,GAChB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,GAAG,CAAC;IACpB,sBAAsB,EAAE,GAAG,CAAC;IAC5B,uBAAuB,EAAE,GAAG,CAAC;IAC7B,sBAAsB,EAAE,GAAG,CAAC;IAC5B,eAAe,EAAE,GAAG,CAAC;CACtB,kDA2GA"}
|
|
@@ -2,10 +2,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useContext, useState } from 'react';
|
|
3
3
|
import { addTemplatesToDashboard, validateTemplatesAgainstFilters, } from './util';
|
|
4
4
|
import { useDashboard } from '../../hooks/useDashboard';
|
|
5
|
-
import { DashboardConfigContext } from '../../Context';
|
|
5
|
+
import { DashboardConfigContext, FetchContext } from '../../Context';
|
|
6
6
|
import Dashboard from '../../Dashboard';
|
|
7
7
|
export default function QuillDashboardTemplate({ name, originDashboard, client, appliedFilters, ModalComponent, TemplateChartComponent, TemplateMetricComponent, TemplateTableComponent, ButtonComponent, }) {
|
|
8
8
|
const { isLoading, data } = useDashboard(name ?? '');
|
|
9
|
+
const { getToken } = useContext(FetchContext);
|
|
9
10
|
const { dashboardConfig, dashboardConfigDispatch } = useContext(DashboardConfigContext);
|
|
10
11
|
const [addItemModalIsOpen, setAddItemModalIsOpen] = useState(false);
|
|
11
12
|
const [selectedTemplates, setSelectedTemplates] = useState([]);
|
|
@@ -23,7 +24,7 @@ export default function QuillDashboardTemplate({ name, originDashboard, client,
|
|
|
23
24
|
setAddItemModalIsOpen(false);
|
|
24
25
|
const newTemplates = selectedTemplates;
|
|
25
26
|
setSelectedTemplates([]);
|
|
26
|
-
const newData = await addTemplatesToDashboard(originDashboard, newTemplates, client, dashboardConfig);
|
|
27
|
+
const newData = await addTemplatesToDashboard(originDashboard, newTemplates, client, dashboardConfig, getToken);
|
|
27
28
|
if (newData) {
|
|
28
29
|
// Dispatch the action to update the dashboard state
|
|
29
30
|
dashboardConfigDispatch({
|
|
@@ -14,13 +14,13 @@ export type DataLoaderChildProps = {
|
|
|
14
14
|
rowCount?: number;
|
|
15
15
|
rowCountIsLoading?: boolean;
|
|
16
16
|
};
|
|
17
|
-
export default function DataLoader({ item, children, filters, userFilters, additionalProcessing: defaultAdditionalProcessing, dashboardName,
|
|
17
|
+
export default function DataLoader({ item, children, filters, userFilters, additionalProcessing: defaultAdditionalProcessing, dashboardName, propagateChanges, }: {
|
|
18
18
|
item: QuillReportInternal;
|
|
19
19
|
filters: DashboardFilter[];
|
|
20
20
|
userFilters?: InternalFilter[];
|
|
21
21
|
additionalProcessing: AdditionalProcessing;
|
|
22
22
|
dashboardName?: string;
|
|
23
|
-
|
|
23
|
+
propagateChanges?: boolean;
|
|
24
24
|
children: ({ isLoading, error, onPageChange, onSortChange, data, }: DataLoaderChildProps) => JSX.Element;
|
|
25
25
|
}): JSX.Element;
|
|
26
26
|
type ColorMapType = {
|
|
@@ -41,7 +41,7 @@ export type ChartDataLoaderChildProps = {
|
|
|
41
41
|
rowCount?: number;
|
|
42
42
|
rowCountIsLoading?: boolean;
|
|
43
43
|
};
|
|
44
|
-
export declare const ChartDataLoader: ({ item, children, dateBucket, additionalProcessing, filters, userFilters, dashboardName,
|
|
44
|
+
export declare const ChartDataLoader: ({ item, children, dateBucket, additionalProcessing, filters, userFilters, dashboardName, propagateChanges, }: {
|
|
45
45
|
item: QuillReportInternal;
|
|
46
46
|
dateBucket?: string;
|
|
47
47
|
mapColorsToFields?: (_report: QuillReport, _theme: QuillTheme) => ColorMapType;
|
|
@@ -49,7 +49,7 @@ export declare const ChartDataLoader: ({ item, children, dateBucket, additionalP
|
|
|
49
49
|
filters: DashboardFilter[];
|
|
50
50
|
userFilters?: InternalFilter[];
|
|
51
51
|
dashboardName?: string;
|
|
52
|
-
|
|
52
|
+
propagateChanges?: boolean;
|
|
53
53
|
children: ({ isLoading, error, data, dateBucket, rowCount, rowCountIsLoading, }: ChartDataLoaderChildProps) => JSX.Element;
|
|
54
54
|
}) => JSX.Element;
|
|
55
55
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAajD,OAAO,EACL,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA4BtE,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AA6KF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,oBAAoB,EAAE,2BAA2B,EACjD,aAAa,EACb,gBAAgB,GACjB,EAAE;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CAwWd;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,eAAe,iHASzB;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAClB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,KACf,YAAY,CAAC;IAClB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,iBAAiB,GAClB,EAAE,yBAAyB,KAAK,GAAG,CAAC,OAAO,CAAC;CAC9C,KAAG,GAAG,CAAC,OAyLP,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
-
import { ClientContext, DashboardFiltersContext, ReportFiltersContext, ReportsContext, SchemaDataContext, TenantContext, } from '../../Context';
|
|
3
|
+
import { ClientContext, DashboardFiltersContext, FetchContext, ReportFiltersContext, ReportsContext, SchemaDataContext, TenantContext, } from '../../Context';
|
|
4
4
|
import { convertInternalReportToReport, EMPTY_INTERNAL_REPORT, fetchReport, fetchReportRowCount, } from '../../utils/report';
|
|
5
5
|
import { shouldFetchMore, DEFAULT_PAGINATION, shouldSortInMemory, } from '../../utils/paginationProcessing';
|
|
6
6
|
import { fetchResultsByReport, } from '../../utils/tableProcessing';
|
|
@@ -33,9 +33,13 @@ function filterValuesEquivalent(filters1, filters2) {
|
|
|
33
33
|
// Find the odd filters out and return false ONLY if they have a selected value or are a date filter
|
|
34
34
|
const filters1Labels = filters1.map((f) => f.label);
|
|
35
35
|
const filters2Labels = filters2.map((f) => f.label);
|
|
36
|
-
const oddFilters = filters1Labels.length > filters2Labels.length
|
|
36
|
+
const oddFilters = filters1Labels.length > filters2Labels.length
|
|
37
|
+
? filters1Labels.filter((label) => !filters2Labels.includes(label))
|
|
38
|
+
: filters2Labels.filter((label) => !filters1Labels.includes(label));
|
|
37
39
|
for (const filter of oddFilters) {
|
|
38
|
-
const filter1 = filters1Labels.length > filters2Labels.length
|
|
40
|
+
const filter1 = filters1Labels.length > filters2Labels.length
|
|
41
|
+
? filters1.find((f) => f.label === filter)
|
|
42
|
+
: filters2.find((f) => f.label === filter);
|
|
39
43
|
if (filter1?.selectedValue || filter1?.startDate || filter1?.endDate) {
|
|
40
44
|
return false;
|
|
41
45
|
}
|
|
@@ -157,13 +161,14 @@ function userFilterValuesEquivalent(filters1, filters2) {
|
|
|
157
161
|
function customFieldsEquivalent(customFields1, customFields2) {
|
|
158
162
|
return equal(customFields1, customFields2);
|
|
159
163
|
}
|
|
160
|
-
export default function DataLoader({ item, children, filters, userFilters, additionalProcessing: defaultAdditionalProcessing, dashboardName,
|
|
164
|
+
export default function DataLoader({ item, children, filters, userFilters, additionalProcessing: defaultAdditionalProcessing, dashboardName, propagateChanges, }) {
|
|
161
165
|
const [client] = useContext(ClientContext);
|
|
162
|
-
const { dashboardReports: dashboard, addReport, updateReport } = useDashboardReports(dashboardName);
|
|
166
|
+
const { dashboardReports: dashboard, addReport, updateReport, } = useDashboardReports(dashboardName);
|
|
163
167
|
const { dashboardFilters } = useContext(DashboardFiltersContext);
|
|
164
168
|
const { tenants, flags } = useContext(TenantContext);
|
|
165
169
|
const { reports, reportsDispatch, fetchIndividualReport } = useContext(ReportsContext);
|
|
166
170
|
const { reportFilters } = useContext(ReportFiltersContext);
|
|
171
|
+
const { getToken } = useContext(FetchContext);
|
|
167
172
|
const contextFilters = useMemo(() => {
|
|
168
173
|
return dashboardName
|
|
169
174
|
? Object.values(dashboardFilters[dashboardName] ?? {}).map((f) => f.filter)
|
|
@@ -210,7 +215,7 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
210
215
|
rowCountAbortController.current?.abort();
|
|
211
216
|
rowCountAbortController.current = new AbortController();
|
|
212
217
|
try {
|
|
213
|
-
const rowCount = await fetchReportRowCount(item.id, client, tenants, flags, true, filters.concat(userFilters ?? []), processing, schemaData.customFields, rowCountAbortController.current.signal);
|
|
218
|
+
const rowCount = await fetchReportRowCount(item.id, client, getToken, tenants, flags, true, filters.concat(userFilters ?? []), processing, schemaData.customFields, rowCountAbortController.current.signal);
|
|
214
219
|
rowCountAbortController.current = null;
|
|
215
220
|
if (rowCount) {
|
|
216
221
|
if (dashboardName) {
|
|
@@ -281,8 +286,7 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
281
286
|
const updatedProcessing = { ...additionalProcessing, ...processing };
|
|
282
287
|
const pivotQuery = (dashboardName ? dashboard : reports)[item.id]
|
|
283
288
|
?.pivotQuery;
|
|
284
|
-
const comparisonPivotQuery = (dashboardName ? dashboard : reports)[item.id]
|
|
285
|
-
?.comparisonPivotQuery;
|
|
289
|
+
const comparisonPivotQuery = (dashboardName ? dashboard : reports)[item.id]?.comparisonPivotQuery;
|
|
286
290
|
const paginatedRows = await fetchResultsByReport({
|
|
287
291
|
reportId: item.id,
|
|
288
292
|
client,
|
|
@@ -296,6 +300,7 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
296
300
|
pivotQuery,
|
|
297
301
|
comparisonPivotQuery,
|
|
298
302
|
getPivotRowCount: false,
|
|
303
|
+
getToken,
|
|
299
304
|
});
|
|
300
305
|
updateTableRowsAbortController.current = null;
|
|
301
306
|
if (paginatedRows.error) {
|
|
@@ -367,6 +372,7 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
367
372
|
rowsOnly: true,
|
|
368
373
|
rowCountOnly: false,
|
|
369
374
|
abortSignal: rowsAbortController.current.signal,
|
|
375
|
+
getToken,
|
|
370
376
|
});
|
|
371
377
|
addReport({
|
|
372
378
|
...fetchedReport,
|
|
@@ -390,7 +396,7 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
390
396
|
additionalProcessing: processing,
|
|
391
397
|
reportAbortController: rowsAbortController.current,
|
|
392
398
|
customFields: schemaData.customFields,
|
|
393
|
-
|
|
399
|
+
propagateChanges,
|
|
394
400
|
});
|
|
395
401
|
rowsAbortController.current = null;
|
|
396
402
|
setError(undefined);
|
|
@@ -425,7 +431,8 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
425
431
|
userFilterValuesEquivalent(previousUserFilters.current ?? [], userFilters ?? []) &&
|
|
426
432
|
// tenantsEquivalent(previousTenants.current ?? [], tenants ?? []) &&
|
|
427
433
|
customFieldsEquivalent(previousCustomFields.current, schemaData.customFields) &&
|
|
428
|
-
((dashboardName ? dashboard : reports)[item.id]?.rows !== undefined ||
|
|
434
|
+
((dashboardName ? dashboard : reports)[item.id]?.rows !== undefined ||
|
|
435
|
+
rowsAbortController.current))) {
|
|
429
436
|
if (!rowsAbortController.current && !schemaData.isSchemaLoading)
|
|
430
437
|
setLoading(false);
|
|
431
438
|
return;
|
|
@@ -452,7 +459,10 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
452
459
|
else if (tempReport?.error) {
|
|
453
460
|
setError(tempReport.error);
|
|
454
461
|
}
|
|
455
|
-
}, [
|
|
462
|
+
}, [
|
|
463
|
+
(dashboardName ? dashboard : reports)[item.id]?.triggerReload,
|
|
464
|
+
(dashboardName ? dashboard : reports)[item.id]?.error,
|
|
465
|
+
]);
|
|
456
466
|
return (_jsx(_Fragment, { children: children({
|
|
457
467
|
isLoading: loading,
|
|
458
468
|
error,
|
|
@@ -465,10 +475,11 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
465
475
|
}
|
|
466
476
|
// The same data-loader pattern as above, but with special logic for charts
|
|
467
477
|
// At some point these may be able to get merged into one function.
|
|
468
|
-
export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, filters, userFilters, dashboardName,
|
|
478
|
+
export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, filters, userFilters, dashboardName, propagateChanges, }) => {
|
|
469
479
|
const { dashboardReports: dashboard, addReport } = useDashboardReports(dashboardName);
|
|
470
480
|
const { dashboardFilters } = useContext(DashboardFiltersContext);
|
|
471
481
|
const { reports, fetchIndividualReport } = useContext(ReportsContext);
|
|
482
|
+
const { getToken } = useContext(FetchContext);
|
|
472
483
|
const { reportFilters } = useContext(ReportFiltersContext);
|
|
473
484
|
const { tenants, flags } = useContext(TenantContext);
|
|
474
485
|
const contextFilters = useMemo(() => {
|
|
@@ -527,6 +538,7 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
|
|
|
527
538
|
dateBucket,
|
|
528
539
|
customFields: schemaData.customFields,
|
|
529
540
|
abortSignal: fetchReportAbortController.current.signal,
|
|
541
|
+
getToken,
|
|
530
542
|
});
|
|
531
543
|
addReport({
|
|
532
544
|
...report,
|
|
@@ -552,7 +564,7 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
|
|
|
552
564
|
dateBucket,
|
|
553
565
|
reportAbortController: fetchReportAbortController.current,
|
|
554
566
|
customFields: schemaData.customFields,
|
|
555
|
-
|
|
567
|
+
propagateChanges,
|
|
556
568
|
});
|
|
557
569
|
setError(undefined);
|
|
558
570
|
}
|
|
@@ -586,7 +598,9 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
|
|
|
586
598
|
// tenantsEquivalent(tenants ?? [], previousTenants.current ?? []) &&
|
|
587
599
|
previousDateBucket.current === dateBucket &&
|
|
588
600
|
customFieldsEquivalent(previousCustomFields.current, schemaData.customFields) &&
|
|
589
|
-
((dashboardName ? dashboard : reports)[item.id]?.rows?.length !==
|
|
601
|
+
((dashboardName ? dashboard : reports)[item.id]?.rows?.length !==
|
|
602
|
+
undefined ||
|
|
603
|
+
fetchReportAbortController.current))) {
|
|
590
604
|
if (!fetchReportAbortController.current && !schemaData.isSchemaLoading)
|
|
591
605
|
setLoading(false);
|
|
592
606
|
return;
|
|
@@ -614,7 +628,10 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
|
|
|
614
628
|
else if (tempReport?.error) {
|
|
615
629
|
setError(tempReport.error);
|
|
616
630
|
}
|
|
617
|
-
}, [
|
|
631
|
+
}, [
|
|
632
|
+
(dashboardName ? dashboard : reports)[item.id]?.triggerReload,
|
|
633
|
+
(dashboardName ? dashboard : reports)[item.id]?.error,
|
|
634
|
+
]);
|
|
618
635
|
return children({
|
|
619
636
|
isLoading: !chartReport || loading,
|
|
620
637
|
data: chartReport,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA4HhC"}
|
|
@@ -74,7 +74,7 @@ export default function QuillMetricComponent({ report, onClick, error, isLoading
|
|
|
74
74
|
}, children: "No results" })) : (_jsx(MetricDisplay, { dateFilter: dateFilter, primaryMetricLabel: primaryMetricLabel, comparisonLabel: comparisonLabel, theme: theme, children: children }))] }) }) }, report?.name));
|
|
75
75
|
}
|
|
76
76
|
const MetricDisplay = ({ children, dateFilter, primaryMetricLabel, comparisonLabel, theme, }) => {
|
|
77
|
-
return _jsx("div", { style: {
|
|
77
|
+
return (_jsx("div", { style: {
|
|
78
78
|
padding: 0,
|
|
79
79
|
height: '100%',
|
|
80
80
|
width: '100%',
|
|
@@ -127,5 +127,5 @@ const MetricDisplay = ({ children, dateFilter, primaryMetricLabel, comparisonLab
|
|
|
127
127
|
marginLeft: 2,
|
|
128
128
|
}, children: comparisonLabel
|
|
129
129
|
? 'in ' + comparisonLabel.toLowerCase()
|
|
130
|
-
: 'previous period' })] }))] }) });
|
|
130
|
+
: 'previous period' })] }))] }) }));
|
|
131
131
|
};
|
|
@@ -3,5 +3,5 @@ export declare function validateTemplatesAgainstFilters(filters: any[], template
|
|
|
3
3
|
valid: boolean;
|
|
4
4
|
error: string;
|
|
5
5
|
};
|
|
6
|
-
export declare function addTemplatesToDashboard(name: any, newTemplates: any[], client: QuillProviderClient, dashboardData: any): Promise<any>;
|
|
6
|
+
export declare function addTemplatesToDashboard(name: any, newTemplates: any[], client: QuillProviderClient, dashboardData: any, getToken: () => Promise<string>): Promise<any>;
|
|
7
7
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK1D,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,GAAG,EAAE,EACd,SAAS,EAAE,GAAG,EAAE,GACf;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiCnC;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK1D,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,GAAG,EAAE,EACd,SAAS,EAAE,GAAG,EAAE,GACf;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiCnC;AAGD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,EAAE,EACnB,MAAM,EAAE,mBAAmB,EAC3B,aAAa,EAAE,GAAG,EAClB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,OAAO,CAAC,GAAG,CAAC,CA8Cd"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { quillFetch } from '../../utils/dataFetcher';
|
|
2
2
|
// WARNING: all of this template code is stale and PROBABLY BROKEN
|
|
3
3
|
export function validateTemplatesAgainstFilters(filters, templates) {
|
|
4
4
|
let error = '';
|
|
@@ -35,23 +35,24 @@ export function validateTemplatesAgainstFilters(filters, templates) {
|
|
|
35
35
|
return { valid: false, error };
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
// TODO: Outdated, revisit and retest
|
|
39
|
+
export async function addTemplatesToDashboard(name, newTemplates, client, dashboardData, getToken) {
|
|
39
40
|
try {
|
|
40
41
|
const { publicKey, tenants } = client;
|
|
41
42
|
if (tenants) {
|
|
42
43
|
// need to implement a way to specify report tenant id
|
|
43
44
|
throw new Error('Adding from template not yet supported for tenants');
|
|
44
45
|
}
|
|
45
|
-
const
|
|
46
|
+
const { data: resp } = await quillFetch({
|
|
47
|
+
client,
|
|
48
|
+
task: 'add-from-template',
|
|
46
49
|
metadata: {
|
|
47
50
|
dashboardName: name,
|
|
48
|
-
task: 'add-from-template',
|
|
49
51
|
clientId: publicKey,
|
|
50
52
|
templateReportIds: newTemplates.map((template) => template._id),
|
|
51
53
|
},
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
'omit', hostedBody, null);
|
|
54
|
+
getToken,
|
|
55
|
+
});
|
|
55
56
|
if (resp.success && resp.newItems && resp.newItems.length > 0) {
|
|
56
57
|
const newData = {
|
|
57
58
|
newQueries: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuillMultiSelectSectionList.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectSectionList.tsx"],"names":[],"mappings":"AAEA,OAAc,EACZ,aAAa,EAKd,MAAM,OAAO,CAAC;AAGf;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,KAAK,EACL,KAAK,GACN,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"QuillMultiSelectSectionList.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectSectionList.tsx"],"names":[],"mappings":"AAEA,OAAc,EACZ,aAAa,EAKd,MAAM,OAAO,CAAC;AAGf;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,KAAK,EACL,KAAK,GACN,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IAC3C,OAAO,EAAE;QACP,CAAC,WAAW,EAAE,MAAM,GAAG;YACrB,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;SACf,EAAE,CAAC;KACL,CAAC;IACF,gBAAgB,CAAC,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACrD,QAAQ,EAAE,CAAC,KAAK,EAAE;QAChB,MAAM,EAAE;YAAE,KAAK,EAAE;gBAAE,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;aAAE,CAAA;SAAE,CAAC;KACxD,KAAK,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,2CA8bA;AAED,eAAO,MAAM,gBAAgB,sCAI1B;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB,4CAwDA,CAAC"}
|