@quillsql/react 2.13.47 → 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 +56 -49
- package/dist/cjs/ChartBuilder.d.ts +3 -2
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +172 -138
- package/dist/cjs/ChartEditor.d.ts +2 -2
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +5 -2
- package/dist/cjs/Context.d.ts +121 -41
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +449 -261
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +26 -25
- 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 +25 -14
- package/dist/cjs/SQLEditor.d.ts +1 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +51 -16
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +85 -14
- 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 +63 -36
- 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 +101 -65
- 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/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +59 -61
- 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/components/UiComponents.d.ts +1 -1
- 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 +2 -2
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +160 -69
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +29 -15
- package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.d.ts +1 -0
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +22 -12
- package/dist/cjs/hooks/useReport.d.ts +2 -2
- package/dist/cjs/hooks/useReport.d.ts.map +1 -1
- package/dist/cjs/hooks/useReport.js +3 -4
- 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/paginationProcessing.d.ts +1 -0
- package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/paginationProcessing.js +6 -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 -9
- 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 +92 -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 +60 -53
- package/dist/esm/ChartBuilder.d.ts +3 -2
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +173 -139
- package/dist/esm/ChartEditor.d.ts +2 -2
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +6 -3
- package/dist/esm/Context.d.ts +121 -41
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +450 -262
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +28 -27
- 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 +28 -17
- package/dist/esm/SQLEditor.d.ts +1 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +54 -19
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +88 -17
- 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 +65 -38
- 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 +102 -66
- 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/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +59 -61
- 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/components/UiComponents.d.ts +1 -1
- 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 +2 -2
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +162 -71
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +31 -17
- package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.d.ts +1 -0
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +23 -13
- package/dist/esm/hooks/useReport.d.ts +2 -2
- package/dist/esm/hooks/useReport.d.ts.map +1 -1
- package/dist/esm/hooks/useReport.js +4 -5
- 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/paginationProcessing.d.ts +1 -0
- package/dist/esm/utils/paginationProcessing.d.ts.map +1 -1
- package/dist/esm/utils/paginationProcessing.js +5 -0
- 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 -10
- 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 +94 -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
|
@@ -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
|
}
|
|
@@ -97,52 +101,74 @@ function userFilterValuesEquivalent(filters1, filters2) {
|
|
|
97
101
|
}
|
|
98
102
|
return true;
|
|
99
103
|
}
|
|
100
|
-
function tenantsEquivalent(
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
104
|
+
// function tenantsEquivalent(
|
|
105
|
+
// tenants1:
|
|
106
|
+
// | { tenantField: string; tenantIds: (string | number)[] }[]
|
|
107
|
+
// | (string | number)[],
|
|
108
|
+
// tenants2:
|
|
109
|
+
// | { tenantField: string; tenantIds: (string | number)[] }[]
|
|
110
|
+
// | (string | number)[],
|
|
111
|
+
// ): boolean {
|
|
112
|
+
// if (!tenants1 && !tenants2) {
|
|
113
|
+
// return true;
|
|
114
|
+
// }
|
|
115
|
+
// if (tenants1?.length !== tenants2?.length) {
|
|
116
|
+
// return false;
|
|
117
|
+
// }
|
|
118
|
+
// if (!tenants1 || !tenants2) {
|
|
119
|
+
// return false;
|
|
120
|
+
// }
|
|
121
|
+
// // The two tenant arrays aren't necessarily in the same order
|
|
122
|
+
// // we can build two dictionaries of [foreignKey, tenantIds] and compare them
|
|
123
|
+
// // if they are arrays of strings or numbers, we can just compare them directly
|
|
124
|
+
// if (
|
|
125
|
+
// (typeof tenants1[0] === 'string' && typeof tenants2[0] === 'string') ||
|
|
126
|
+
// (typeof tenants1[0] === 'number' && typeof tenants2[0] === 'number')
|
|
127
|
+
// ) {
|
|
128
|
+
// return equal(tenants1, tenants2);
|
|
129
|
+
// }
|
|
130
|
+
// if (
|
|
131
|
+
// (typeof tenants1[0] === 'string' && typeof tenants2[0] !== 'string') ||
|
|
132
|
+
// (typeof tenants1[0] === 'number' && typeof tenants2[0] !== 'number')
|
|
133
|
+
// ) {
|
|
134
|
+
// return false;
|
|
135
|
+
// }
|
|
136
|
+
// const mappedTenants1 = (
|
|
137
|
+
// tenants1 as { tenantField: string; tenantIds: (string | number)[] }[]
|
|
138
|
+
// ).reduce(
|
|
139
|
+
// (acc, tenant) => {
|
|
140
|
+
// acc[tenant.tenantField] = tenant.tenantIds;
|
|
141
|
+
// return acc;
|
|
142
|
+
// },
|
|
143
|
+
// {} as { [key: string]: (string | number)[] },
|
|
144
|
+
// );
|
|
145
|
+
// const mappedTenants2 = (
|
|
146
|
+
// tenants2 as { tenantField: string; tenantIds: (string | number)[] }[]
|
|
147
|
+
// ).reduce(
|
|
148
|
+
// (acc, tenant) => {
|
|
149
|
+
// acc[tenant.tenantField] = tenant.tenantIds;
|
|
150
|
+
// return acc;
|
|
151
|
+
// },
|
|
152
|
+
// {} as { [key: string]: (string | number)[] },
|
|
153
|
+
// );
|
|
154
|
+
// for (const key in mappedTenants1) {
|
|
155
|
+
// if (!equal(mappedTenants1[key], mappedTenants2[key])) {
|
|
156
|
+
// return false;
|
|
157
|
+
// }
|
|
158
|
+
// }
|
|
159
|
+
// return true;
|
|
160
|
+
// }
|
|
136
161
|
function customFieldsEquivalent(customFields1, customFields2) {
|
|
137
162
|
return equal(customFields1, customFields2);
|
|
138
163
|
}
|
|
139
|
-
export default function DataLoader({ item, children, filters, userFilters, additionalProcessing: defaultAdditionalProcessing, dashboardName,
|
|
164
|
+
export default function DataLoader({ item, children, filters, userFilters, additionalProcessing: defaultAdditionalProcessing, dashboardName, propagateChanges, }) {
|
|
140
165
|
const [client] = useContext(ClientContext);
|
|
141
|
-
const { dashboardReports: dashboard, addReport, updateReport } = useDashboardReports(dashboardName);
|
|
166
|
+
const { dashboardReports: dashboard, addReport, updateReport, } = useDashboardReports(dashboardName);
|
|
142
167
|
const { dashboardFilters } = useContext(DashboardFiltersContext);
|
|
143
168
|
const { tenants, flags } = useContext(TenantContext);
|
|
144
169
|
const { reports, reportsDispatch, fetchIndividualReport } = useContext(ReportsContext);
|
|
145
170
|
const { reportFilters } = useContext(ReportFiltersContext);
|
|
171
|
+
const { getToken } = useContext(FetchContext);
|
|
146
172
|
const contextFilters = useMemo(() => {
|
|
147
173
|
return dashboardName
|
|
148
174
|
? Object.values(dashboardFilters[dashboardName] ?? {}).map((f) => f.filter)
|
|
@@ -189,7 +215,7 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
189
215
|
rowCountAbortController.current?.abort();
|
|
190
216
|
rowCountAbortController.current = new AbortController();
|
|
191
217
|
try {
|
|
192
|
-
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);
|
|
193
219
|
rowCountAbortController.current = null;
|
|
194
220
|
if (rowCount) {
|
|
195
221
|
if (dashboardName) {
|
|
@@ -260,8 +286,7 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
260
286
|
const updatedProcessing = { ...additionalProcessing, ...processing };
|
|
261
287
|
const pivotQuery = (dashboardName ? dashboard : reports)[item.id]
|
|
262
288
|
?.pivotQuery;
|
|
263
|
-
const comparisonPivotQuery = (dashboardName ? dashboard : reports)[item.id]
|
|
264
|
-
?.comparisonPivotQuery;
|
|
289
|
+
const comparisonPivotQuery = (dashboardName ? dashboard : reports)[item.id]?.comparisonPivotQuery;
|
|
265
290
|
const paginatedRows = await fetchResultsByReport({
|
|
266
291
|
reportId: item.id,
|
|
267
292
|
client,
|
|
@@ -275,6 +300,7 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
275
300
|
pivotQuery,
|
|
276
301
|
comparisonPivotQuery,
|
|
277
302
|
getPivotRowCount: false,
|
|
303
|
+
getToken,
|
|
278
304
|
});
|
|
279
305
|
updateTableRowsAbortController.current = null;
|
|
280
306
|
if (paginatedRows.error) {
|
|
@@ -297,17 +323,15 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
297
323
|
});
|
|
298
324
|
}
|
|
299
325
|
else {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
});
|
|
310
|
-
}
|
|
326
|
+
reportsDispatch({
|
|
327
|
+
type: 'UPDATE_REPORT',
|
|
328
|
+
id: item.id,
|
|
329
|
+
data: {
|
|
330
|
+
[isPivotPagination ? 'pivotRows' : 'rows']: updatedRows,
|
|
331
|
+
loadingRows: false,
|
|
332
|
+
filtersApplied: userFilters,
|
|
333
|
+
},
|
|
334
|
+
});
|
|
311
335
|
}
|
|
312
336
|
setAdditionalProcessing(updatedProcessing);
|
|
313
337
|
}
|
|
@@ -348,6 +372,7 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
348
372
|
rowsOnly: true,
|
|
349
373
|
rowCountOnly: false,
|
|
350
374
|
abortSignal: rowsAbortController.current.signal,
|
|
375
|
+
getToken,
|
|
351
376
|
});
|
|
352
377
|
addReport({
|
|
353
378
|
...fetchedReport,
|
|
@@ -371,7 +396,7 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
371
396
|
additionalProcessing: processing,
|
|
372
397
|
reportAbortController: rowsAbortController.current,
|
|
373
398
|
customFields: schemaData.customFields,
|
|
374
|
-
|
|
399
|
+
propagateChanges,
|
|
375
400
|
});
|
|
376
401
|
rowsAbortController.current = null;
|
|
377
402
|
setError(undefined);
|
|
@@ -404,9 +429,10 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
404
429
|
if (schemaData.isSchemaLoading ||
|
|
405
430
|
(filterValuesEquivalent(previousFilters.current ?? contextFilters, filters) &&
|
|
406
431
|
userFilterValuesEquivalent(previousUserFilters.current ?? [], userFilters ?? []) &&
|
|
407
|
-
tenantsEquivalent(previousTenants.current ?? [], tenants ?? []) &&
|
|
432
|
+
// tenantsEquivalent(previousTenants.current ?? [], tenants ?? []) &&
|
|
408
433
|
customFieldsEquivalent(previousCustomFields.current, schemaData.customFields) &&
|
|
409
|
-
((dashboardName ? dashboard : reports)[item.id]?.rows
|
|
434
|
+
((dashboardName ? dashboard : reports)[item.id]?.rows !== undefined ||
|
|
435
|
+
rowsAbortController.current))) {
|
|
410
436
|
if (!rowsAbortController.current && !schemaData.isSchemaLoading)
|
|
411
437
|
setLoading(false);
|
|
412
438
|
return;
|
|
@@ -421,7 +447,7 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
421
447
|
filters,
|
|
422
448
|
userFilters,
|
|
423
449
|
item.id,
|
|
424
|
-
tenants,
|
|
450
|
+
// tenants,
|
|
425
451
|
schemaData.customFields,
|
|
426
452
|
schemaData.isSchemaLoading,
|
|
427
453
|
]);
|
|
@@ -433,7 +459,10 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
433
459
|
else if (tempReport?.error) {
|
|
434
460
|
setError(tempReport.error);
|
|
435
461
|
}
|
|
436
|
-
}, [
|
|
462
|
+
}, [
|
|
463
|
+
(dashboardName ? dashboard : reports)[item.id]?.triggerReload,
|
|
464
|
+
(dashboardName ? dashboard : reports)[item.id]?.error,
|
|
465
|
+
]);
|
|
437
466
|
return (_jsx(_Fragment, { children: children({
|
|
438
467
|
isLoading: loading,
|
|
439
468
|
error,
|
|
@@ -446,10 +475,11 @@ export default function DataLoader({ item, children, filters, userFilters, addit
|
|
|
446
475
|
}
|
|
447
476
|
// The same data-loader pattern as above, but with special logic for charts
|
|
448
477
|
// At some point these may be able to get merged into one function.
|
|
449
|
-
export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, filters, userFilters, dashboardName,
|
|
478
|
+
export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, filters, userFilters, dashboardName, propagateChanges, }) => {
|
|
450
479
|
const { dashboardReports: dashboard, addReport } = useDashboardReports(dashboardName);
|
|
451
480
|
const { dashboardFilters } = useContext(DashboardFiltersContext);
|
|
452
481
|
const { reports, fetchIndividualReport } = useContext(ReportsContext);
|
|
482
|
+
const { getToken } = useContext(FetchContext);
|
|
453
483
|
const { reportFilters } = useContext(ReportFiltersContext);
|
|
454
484
|
const { tenants, flags } = useContext(TenantContext);
|
|
455
485
|
const contextFilters = useMemo(() => {
|
|
@@ -508,6 +538,7 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
|
|
|
508
538
|
dateBucket,
|
|
509
539
|
customFields: schemaData.customFields,
|
|
510
540
|
abortSignal: fetchReportAbortController.current.signal,
|
|
541
|
+
getToken,
|
|
511
542
|
});
|
|
512
543
|
addReport({
|
|
513
544
|
...report,
|
|
@@ -533,7 +564,7 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
|
|
|
533
564
|
dateBucket,
|
|
534
565
|
reportAbortController: fetchReportAbortController.current,
|
|
535
566
|
customFields: schemaData.customFields,
|
|
536
|
-
|
|
567
|
+
propagateChanges,
|
|
537
568
|
});
|
|
538
569
|
setError(undefined);
|
|
539
570
|
}
|
|
@@ -564,10 +595,12 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
|
|
|
564
595
|
// previousFilters.current ?? contextFilters,
|
|
565
596
|
previousFilters.current ?? [], filters) &&
|
|
566
597
|
userFilterValuesEquivalent(previousUserFilters.current ?? [], userFilters ?? []) &&
|
|
567
|
-
tenantsEquivalent(tenants ?? [], previousTenants.current ?? []) &&
|
|
598
|
+
// tenantsEquivalent(tenants ?? [], previousTenants.current ?? []) &&
|
|
568
599
|
previousDateBucket.current === dateBucket &&
|
|
569
600
|
customFieldsEquivalent(previousCustomFields.current, schemaData.customFields) &&
|
|
570
|
-
((dashboardName ? dashboard : reports)[item.id]?.rows?.length
|
|
601
|
+
((dashboardName ? dashboard : reports)[item.id]?.rows?.length !==
|
|
602
|
+
undefined ||
|
|
603
|
+
fetchReportAbortController.current))) {
|
|
571
604
|
if (!fetchReportAbortController.current && !schemaData.isSchemaLoading)
|
|
572
605
|
setLoading(false);
|
|
573
606
|
return;
|
|
@@ -583,7 +616,7 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
|
|
|
583
616
|
userFilters,
|
|
584
617
|
item.id,
|
|
585
618
|
dateBucket,
|
|
586
|
-
tenants,
|
|
619
|
+
// tenants,
|
|
587
620
|
schemaData.customFields,
|
|
588
621
|
schemaData.isSchemaLoading,
|
|
589
622
|
]);
|
|
@@ -595,7 +628,10 @@ export const ChartDataLoader = ({ item, children, dateBucket, additionalProcessi
|
|
|
595
628
|
else if (tempReport?.error) {
|
|
596
629
|
setError(tempReport.error);
|
|
597
630
|
}
|
|
598
|
-
}, [
|
|
631
|
+
}, [
|
|
632
|
+
(dashboardName ? dashboard : reports)[item.id]?.triggerReload,
|
|
633
|
+
(dashboardName ? dashboard : reports)[item.id]?.error,
|
|
634
|
+
]);
|
|
599
635
|
return children({
|
|
600
636
|
isLoading: !chartReport || loading,
|
|
601
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"}
|
|
@@ -38,19 +38,23 @@ export function QuillMultiSelectSectionList({ options, width, onChange, label, s
|
|
|
38
38
|
const isUuid = sample.value?.match(uuidRegex);
|
|
39
39
|
const isNumber = !isNaN(parseInt(sample.value));
|
|
40
40
|
const filteredOptions = Object.keys(options).reduce((acc, key) => {
|
|
41
|
-
acc[key] =
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
41
|
+
acc[key] =
|
|
42
|
+
options[key]?.filter((option) => {
|
|
43
|
+
if (!option) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
return (searchQuery === '' ||
|
|
47
|
+
option.label
|
|
48
|
+
.toLowerCase()
|
|
49
|
+
.replace(/\s+/g, '')
|
|
50
|
+
.includes(searchQuery.toLowerCase().replace(/\s+/g, '')) ||
|
|
51
|
+
(isNumber || isUuid
|
|
52
|
+
? option.value
|
|
53
|
+
.toLowerCase()
|
|
54
|
+
.replace(/\s+/g, '')
|
|
55
|
+
.includes(searchQuery.toLowerCase().replace(/\s+/g, ''))
|
|
56
|
+
: false));
|
|
57
|
+
}) ?? [];
|
|
54
58
|
return acc;
|
|
55
59
|
}, {});
|
|
56
60
|
const sliceSize = Math.ceil(20 / Object.keys(filteredOptions).length);
|
|
@@ -59,7 +63,9 @@ export function QuillMultiSelectSectionList({ options, width, onChange, label, s
|
|
|
59
63
|
filteredOptions[key] = filteredOptions[key].slice(0, sliceSize);
|
|
60
64
|
}
|
|
61
65
|
});
|
|
62
|
-
return Object.fromEntries(Object.entries(filteredOptions)
|
|
66
|
+
return Object.fromEntries(Object.entries(filteredOptions)
|
|
67
|
+
.filter(([, value]) => !!value?.length)
|
|
68
|
+
.sort(([key]) => (key === owner ? -1 : 1)));
|
|
63
69
|
}, [options, searchQuery]);
|
|
64
70
|
const filteredLength = React.useMemo(() => {
|
|
65
71
|
return Object.values(filteredItems).reduce((a, b) => a + b.length, 0);
|
|
@@ -91,7 +97,7 @@ export function QuillMultiSelectSectionList({ options, width, onChange, label, s
|
|
|
91
97
|
borderRadius: '6px',
|
|
92
98
|
width: width,
|
|
93
99
|
minWidth: width,
|
|
94
|
-
...style
|
|
100
|
+
...style,
|
|
95
101
|
}, children: [label && (_jsx("div", { style: {
|
|
96
102
|
fontSize: 14,
|
|
97
103
|
color: theme?.secondaryTextColor,
|
|
@@ -157,8 +163,7 @@ export function QuillMultiSelectSectionList({ options, width, onChange, label, s
|
|
|
157
163
|
height: 9,
|
|
158
164
|
width: 230,
|
|
159
165
|
borderTop: '1px solid #e7e7e7',
|
|
160
|
-
} })] })), !isLoading &&
|
|
161
|
-
(!filteredItems || filteredLength === 0) && (_jsxs("div", { style: {
|
|
166
|
+
} })] })), !isLoading && (!filteredItems || filteredLength === 0) && (_jsxs("div", { style: {
|
|
162
167
|
display: 'flex',
|
|
163
168
|
alignItems: 'center',
|
|
164
169
|
padding: 8,
|
|
@@ -188,7 +193,7 @@ export function QuillMultiSelectSectionList({ options, width, onChange, label, s
|
|
|
188
193
|
whiteSpace: 'nowrap',
|
|
189
194
|
overflow: 'hidden',
|
|
190
195
|
cursor: 'default',
|
|
191
|
-
}, children: emptyLabel ?? 'No options available' })] })), !isLoading ? Object.keys(filteredItems).map((key) => (_jsxs("div", { children: [_jsxs("button", { style: {
|
|
196
|
+
}, children: emptyLabel ?? 'No options available' })] })), !isLoading ? (Object.keys(filteredItems).map((key) => (_jsxs("div", { children: [_jsxs("button", { style: {
|
|
192
197
|
display: 'flex',
|
|
193
198
|
alignItems: 'center',
|
|
194
199
|
padding: 8,
|
|
@@ -208,7 +213,8 @@ export function QuillMultiSelectSectionList({ options, width, onChange, label, s
|
|
|
208
213
|
overflow: 'hidden',
|
|
209
214
|
}, className: "quill-option", onClick: () => {
|
|
210
215
|
const updatedValue = options[key]?.length === value[key]?.length
|
|
211
|
-
? []
|
|
216
|
+
? []
|
|
217
|
+
: (options[key]?.map((option) => option.value) ?? []);
|
|
212
218
|
const updatedChangeEvent = {
|
|
213
219
|
target: {
|
|
214
220
|
value: {
|
|
@@ -231,7 +237,7 @@ export function QuillMultiSelectSectionList({ options, width, onChange, label, s
|
|
|
231
237
|
whiteSpace: 'nowrap',
|
|
232
238
|
overflow: 'hidden',
|
|
233
239
|
fontWeight: 600,
|
|
234
|
-
}, children: sectionHeaderMap?.[key] ?? key })] },
|
|
240
|
+
}, children: sectionHeaderMap?.[key] ?? key })] }, 'sh-' + key), _jsx("div", { style: {
|
|
235
241
|
height: 1,
|
|
236
242
|
borderTop: '1px solid #e7e7e7',
|
|
237
243
|
marginTop: 2,
|
|
@@ -276,11 +282,15 @@ export function QuillMultiSelectSectionList({ options, width, onChange, label, s
|
|
|
276
282
|
.quill-option:hover {
|
|
277
283
|
background: #F4F4F5;
|
|
278
284
|
}
|
|
279
|
-
` }), _jsx("input", { type: "checkbox", checked: value[key]?.includes(option.value) ?? false, style: {
|
|
285
|
+
` }), _jsx("input", { type: "checkbox", checked: value[key]?.includes(option.value) ?? false, style: {
|
|
286
|
+
width: '14px',
|
|
287
|
+
height: '14px',
|
|
288
|
+
margin: 'auto 0',
|
|
289
|
+
}, readOnly: true }), _jsx("span", { style: {
|
|
280
290
|
textOverflow: 'ellipsis',
|
|
281
291
|
whiteSpace: 'nowrap',
|
|
282
292
|
overflow: 'hidden',
|
|
283
|
-
}, children: option.label })] },
|
|
293
|
+
}, children: option.label })] }, 'v-' + key + '-' + option.value)))] }, 'sp-' + key)))) : (_jsx("div", { children: _jsx(LoadingSpinner, {}) }))] }))] }));
|
|
284
294
|
}
|
|
285
295
|
export const ListboxTextInput = ({ value, onChange, placeholder, }) => {
|
|
286
296
|
return (_jsxs("div", { style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuillMultiSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectWithCombo.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QuillMultiSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectWithCombo.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAkB,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAc,EAEZ,aAAa,EAMd,MAAM,OAAO,CAAC;AAKf;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,KAAK,GACN,EAAE,yBAAyB,GAAG;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,2CAwmBA;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"}
|