@quillsql/react 2.12.30 → 2.12.32
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 +6 -37
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +86 -327
- package/dist/cjs/ChartBuilder.d.ts +12 -49
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +68 -36
- package/dist/cjs/ChartEditor.d.ts +1 -1
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +11 -7
- package/dist/cjs/Context.d.ts +4 -1
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +10 -4
- package/dist/cjs/Dashboard.d.ts +61 -114
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +261 -30
- package/dist/cjs/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/DateRangePicker.js +0 -26
- package/dist/cjs/ReportBuilder.d.ts +1 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +62 -97
- package/dist/cjs/SQLEditor.d.ts +2 -2
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +10 -5
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +41 -43
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +12 -1
- package/dist/cjs/components/Chart/LineChart.d.ts +2 -1
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +25 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +7 -7
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +64 -28
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +11 -45
- package/dist/cjs/components/Dashboard/TableComponent.d.ts +1 -1
- package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TableComponent.js +1 -30
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +16 -1
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +4 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +10 -2
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.js +94 -70
- package/dist/cjs/components/ReportBuilder/convert.d.ts +7 -2
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +53 -1
- package/dist/cjs/components/ReportBuilder/ui.d.ts +6 -6
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +6 -22
- package/dist/cjs/components/UiComponents.d.ts +26 -1
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +97 -4
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +19 -3
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -0
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/models/Columns.d.ts +2 -1
- package/dist/cjs/models/Columns.d.ts.map +1 -1
- package/dist/cjs/models/Filter.d.ts +15 -4
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Filter.js +9 -1
- package/dist/cjs/models/Report.d.ts +10 -23
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +37 -2
- package/dist/cjs/utils/columnProcessing.d.ts +2 -0
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +54 -1
- package/dist/cjs/utils/dashboard.d.ts +1 -1
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +3 -56
- package/dist/cjs/utils/dataProcessing.d.ts +4 -2
- package/dist/cjs/utils/dataProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/dataProcessing.js +18 -1
- package/dist/cjs/utils/dates.d.ts +2 -1
- package/dist/cjs/utils/dates.d.ts.map +1 -1
- package/dist/cjs/utils/dates.js +23 -1
- package/dist/cjs/utils/filterProcessing.d.ts +7 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +100 -13
- 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 +7 -1
- package/dist/cjs/utils/report.d.ts +4 -1
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +94 -7
- package/dist/cjs/utils/tableProcessing.d.ts +1 -1
- package/dist/esm/Chart.d.ts +6 -37
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +87 -329
- package/dist/esm/ChartBuilder.d.ts +12 -49
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +68 -33
- package/dist/esm/ChartEditor.d.ts +1 -1
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +11 -7
- package/dist/esm/Context.d.ts +4 -1
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +9 -3
- package/dist/esm/Dashboard.d.ts +61 -114
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +263 -32
- package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/DateRangePicker.js +0 -26
- package/dist/esm/ReportBuilder.d.ts +1 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +64 -99
- package/dist/esm/SQLEditor.d.ts +2 -2
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +11 -6
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +42 -44
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +13 -2
- package/dist/esm/components/Chart/LineChart.d.ts +2 -1
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +26 -2
- package/dist/esm/components/Dashboard/DataLoader.d.ts +7 -7
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +65 -29
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +11 -45
- package/dist/esm/components/Dashboard/TableComponent.d.ts +1 -1
- package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/TableComponent.js +1 -30
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +16 -1
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +5 -2
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts +10 -2
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterModal.js +94 -70
- package/dist/esm/components/ReportBuilder/convert.d.ts +7 -2
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +51 -0
- package/dist/esm/components/ReportBuilder/ui.d.ts +6 -6
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +6 -22
- package/dist/esm/components/UiComponents.d.ts +26 -1
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +95 -3
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +19 -3
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -0
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/models/Columns.d.ts +2 -1
- package/dist/esm/models/Columns.d.ts.map +1 -1
- package/dist/esm/models/Filter.d.ts +15 -4
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Filter.js +8 -0
- package/dist/esm/models/Report.d.ts +10 -23
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +38 -3
- package/dist/esm/utils/columnProcessing.d.ts +2 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +52 -0
- package/dist/esm/utils/dashboard.d.ts +1 -1
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +3 -56
- package/dist/esm/utils/dataProcessing.d.ts +4 -2
- package/dist/esm/utils/dataProcessing.d.ts.map +1 -1
- package/dist/esm/utils/dataProcessing.js +16 -0
- package/dist/esm/utils/dates.d.ts +2 -1
- package/dist/esm/utils/dates.d.ts.map +1 -1
- package/dist/esm/utils/dates.js +21 -0
- package/dist/esm/utils/filterProcessing.d.ts +7 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +97 -12
- 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 +7 -1
- package/dist/esm/utils/report.d.ts +4 -1
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +92 -6
- package/dist/esm/utils/tableProcessing.d.ts +1 -1
- package/package.json +1 -1
- package/dist/esm/components/ReportBuilder/convert.uspec.d.ts +0 -2
- package/dist/esm/components/ReportBuilder/convert.uspec.d.ts.map +0 -1
- package/dist/esm/components/ReportBuilder/convert.uspec.js +0 -1152
- package/dist/esm/utils/astFilterProcessing.uspec.d.ts +0 -2
- package/dist/esm/utils/astFilterProcessing.uspec.d.ts.map +0 -1
- package/dist/esm/utils/astFilterProcessing.uspec.js +0 -2729
- package/dist/esm/utils/dataProcessing.uspec.d.ts +0 -2
- package/dist/esm/utils/dataProcessing.uspec.d.ts.map +0 -1
- package/dist/esm/utils/dataProcessing.uspec.js +0 -204
- package/dist/esm/utils/queryConstructor.uspec.d.ts +0 -2
- package/dist/esm/utils/queryConstructor.uspec.d.ts.map +0 -1
- package/dist/esm/utils/queryConstructor.uspec.js +0 -223
- package/dist/esm/utils/report.ispec.d.ts +0 -2
- package/dist/esm/utils/report.ispec.d.ts.map +0 -1
- package/dist/esm/utils/report.ispec.js +0 -46
- package/dist/esm/utils/tableProcessing.ispec.d.ts +0 -2
- package/dist/esm/utils/tableProcessing.ispec.d.ts.map +0 -1
- package/dist/esm/utils/tableProcessing.ispec.js +0 -61
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { QuillReport } from '../../
|
|
2
|
+
import { QuillReport } from '../../models/Report';
|
|
3
3
|
import { QuillTheme } from '../../QuillProvider';
|
|
4
4
|
export type DataLoaderChildProps = {
|
|
5
5
|
isLoading: boolean;
|
|
@@ -9,10 +9,10 @@ export type DataLoaderChildProps = {
|
|
|
9
9
|
field: string;
|
|
10
10
|
direction: string;
|
|
11
11
|
}) => void;
|
|
12
|
-
data
|
|
12
|
+
data: QuillReport;
|
|
13
13
|
};
|
|
14
|
-
export default function DataLoader({
|
|
15
|
-
|
|
14
|
+
export default function DataLoader({ item, children, filters, }: {
|
|
15
|
+
item: any;
|
|
16
16
|
filters?: any;
|
|
17
17
|
children: ({ isLoading, error, onPageChange, onSortChange, data, }: DataLoaderChildProps) => JSX.Element;
|
|
18
18
|
}): JSX.Element;
|
|
@@ -29,11 +29,11 @@ type ColorMapType = {
|
|
|
29
29
|
export type ChartDataLoaderChildProps = {
|
|
30
30
|
isLoading: boolean;
|
|
31
31
|
error?: string;
|
|
32
|
-
data
|
|
32
|
+
data: QuillReport;
|
|
33
33
|
dateBucket?: string;
|
|
34
34
|
};
|
|
35
|
-
export declare const ChartDataLoader: ({
|
|
36
|
-
|
|
35
|
+
export declare const ChartDataLoader: ({ item, children, dateBucket, additionalProcessing, filters, }: {
|
|
36
|
+
item: any;
|
|
37
37
|
dateBucket?: string | undefined;
|
|
38
38
|
mapColorsToFields?: ((_report: QuillReport, _theme: QuillTheme) => ColorMapType) | undefined;
|
|
39
39
|
additionalProcessing?: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAuB,MAAM,
|
|
1
|
+
{"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmCjD,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;CACnB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,GACR,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,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,CA4Id;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;CACrB,CAAC;AAIF,eAAO,MAAM,eAAe;UAOpB,GAAG;;mCAGE,WAAW,UACZ,UAAU,KACf,YAAY;2BACM,GAAG;cAChB,GAAG;wDAMV,yBAAyB,KAAK,WAAW;MAC1C,WAsEH,CAAC"}
|
|
@@ -8,14 +8,34 @@ const Context_1 = require("../../Context");
|
|
|
8
8
|
const report_1 = require("../../utils/report");
|
|
9
9
|
const paginationProcessing_1 = require("../../utils/paginationProcessing");
|
|
10
10
|
const tableProcessing_1 = require("../../utils/tableProcessing");
|
|
11
|
-
|
|
11
|
+
const constructReportFromItem = (item) => {
|
|
12
|
+
return {
|
|
13
|
+
...report_1.EMPTY_REPORT,
|
|
14
|
+
id: item._id,
|
|
15
|
+
name: item.name,
|
|
16
|
+
dashboardName: item.dashboardName,
|
|
17
|
+
rows: [],
|
|
18
|
+
columns: [],
|
|
19
|
+
chartType: item.chartType,
|
|
20
|
+
dateField: item.dateField,
|
|
21
|
+
pivot: item.pivot,
|
|
22
|
+
xAxisLabel: item.xAxisLabel,
|
|
23
|
+
xAxisField: item.xAxisField,
|
|
24
|
+
xAxisFormat: item.xAxisFormat,
|
|
25
|
+
yAxisFields: item.yAxisFields,
|
|
26
|
+
order: item.order,
|
|
27
|
+
compareRows: item.compareRows,
|
|
28
|
+
filtersApplied: item.filtersApplied,
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
function DataLoader({ item, children, filters, }) {
|
|
12
32
|
const [client] = (0, react_1.useContext)(Context_1.ClientContext);
|
|
13
|
-
const
|
|
33
|
+
const [dashboard, dispatch] = (0, react_1.useContext)(Context_1.DashboardContext);
|
|
14
34
|
const [customFields] = (0, react_1.useContext)(Context_1.CustomFieldContext);
|
|
15
35
|
const [loading, setLoading] = (0, react_1.useState)(false);
|
|
16
36
|
const [error, setError] = (0, react_1.useState)(undefined);
|
|
17
37
|
const [previousPage, setPreviousPage] = (0, react_1.useState)(0);
|
|
18
|
-
const [report, setReport] = (0, react_1.useState)(dashboard[
|
|
38
|
+
const [report, setReport] = (0, react_1.useState)(dashboard[item._id] ?? constructReportFromItem(item));
|
|
19
39
|
const [additionalProcessing, setAdditionProcessing] = (0, react_1.useState)({
|
|
20
40
|
page: paginationProcessing_1.DEFAULT_PAGINATION,
|
|
21
41
|
});
|
|
@@ -36,7 +56,7 @@ function DataLoader({ id, children, filters, }) {
|
|
|
36
56
|
}
|
|
37
57
|
};
|
|
38
58
|
const onSortChange = (sort) => {
|
|
39
|
-
if ((0, paginationProcessing_1.shouldSortInMemory)(paginationProcessing_1.DEFAULT_PAGINATION, report.rowCount, report.pivot)) {
|
|
59
|
+
if ((0, paginationProcessing_1.shouldSortInMemory)(paginationProcessing_1.DEFAULT_PAGINATION, report.rowCount, !!report.pivot)) {
|
|
40
60
|
return;
|
|
41
61
|
}
|
|
42
62
|
const updatedProcessing = { page: paginationProcessing_1.DEFAULT_PAGINATION, sort };
|
|
@@ -57,7 +77,11 @@ function DataLoader({ id, children, filters, }) {
|
|
|
57
77
|
if (resetRows) {
|
|
58
78
|
tempRows = paginatedRows.rows;
|
|
59
79
|
}
|
|
60
|
-
|
|
80
|
+
const convertedReport = (0, report_1.convertInternalReportToReport)({
|
|
81
|
+
...report,
|
|
82
|
+
rows: tempRows,
|
|
83
|
+
});
|
|
84
|
+
setReport(convertedReport);
|
|
61
85
|
setAdditionProcessing(updatedProcessing);
|
|
62
86
|
setTimeout(() => {
|
|
63
87
|
setLoading(false);
|
|
@@ -70,71 +94,82 @@ function DataLoader({ id, children, filters, }) {
|
|
|
70
94
|
}
|
|
71
95
|
};
|
|
72
96
|
const fetchReportHelper = async (useReportTask = true, processing) => {
|
|
73
|
-
if (
|
|
97
|
+
if (dashboard[item._id] &&
|
|
98
|
+
!(0, Chart_1.didFiltersChange)(dashboard[item._id], filters) &&
|
|
74
99
|
!loading &&
|
|
75
|
-
|
|
100
|
+
// @ts-ignore
|
|
101
|
+
!dashboard[item._id].triggerReload) {
|
|
76
102
|
setLoading(false);
|
|
77
|
-
|
|
103
|
+
const convertedReport = (0, report_1.convertInternalReportToReport)(
|
|
104
|
+
// @ts-ignore
|
|
105
|
+
dashboard[item._id]);
|
|
106
|
+
setReport(convertedReport);
|
|
78
107
|
return;
|
|
79
108
|
}
|
|
80
109
|
setLoading(true);
|
|
81
|
-
const { report, error } = await (0, report_1.fetchReport)(
|
|
110
|
+
const { report, error } = await (0, report_1.fetchReport)(item._id, client, useReportTask, filters, processing, undefined, customFields);
|
|
82
111
|
dispatch({
|
|
83
112
|
type: 'UPDATE_DASHBOARD_ITEM',
|
|
84
|
-
id:
|
|
113
|
+
id: item._id,
|
|
85
114
|
data: { ...report, triggerReload: false },
|
|
86
115
|
});
|
|
87
|
-
|
|
116
|
+
const convertedReport = (0, report_1.convertInternalReportToReport)(report);
|
|
117
|
+
setReport(convertedReport);
|
|
88
118
|
setAdditionProcessing(processing);
|
|
89
119
|
setError(error);
|
|
90
120
|
setLoading(false);
|
|
91
121
|
};
|
|
92
122
|
(0, react_1.useEffect)(() => {
|
|
93
123
|
fetchReportHelper(true, additionalProcessing);
|
|
94
|
-
}, [filters,
|
|
124
|
+
}, [filters, item._id]);
|
|
95
125
|
(0, react_1.useEffect)(() => {
|
|
96
|
-
|
|
126
|
+
// @ts-ignore
|
|
127
|
+
if (dashboard[item._id] && dashboard[item._id].triggerReload) {
|
|
97
128
|
fetchReportHelper(true, additionalProcessing);
|
|
98
129
|
}
|
|
99
|
-
}, [dashboard[
|
|
130
|
+
}, [dashboard[item._id]]);
|
|
100
131
|
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children({
|
|
101
132
|
isLoading: loading,
|
|
102
133
|
error,
|
|
103
134
|
onPageChange,
|
|
104
135
|
onSortChange,
|
|
105
|
-
data: report
|
|
136
|
+
data: report,
|
|
106
137
|
}) }));
|
|
107
138
|
}
|
|
108
139
|
exports.default = DataLoader;
|
|
109
140
|
// The same data-loader pattern as above, but with special logic for charts
|
|
110
141
|
// At some point these may be able to get merged into one function.
|
|
111
|
-
const ChartDataLoader = ({
|
|
112
|
-
const
|
|
142
|
+
const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, filters, }) => {
|
|
143
|
+
const [dashboard, dispatch] = (0, react_1.useContext)(Context_1.DashboardContext);
|
|
113
144
|
const [initialLoad, setInitialLoad] = (0, react_1.useState)(true);
|
|
114
145
|
const [loading, setLoading] = (0, react_1.useState)(false);
|
|
115
146
|
const [error, setError] = (0, react_1.useState)(undefined);
|
|
116
147
|
const [localDateBucket, setLocalDateBucket] = (0, react_1.useState)(undefined);
|
|
117
148
|
const [localAdditionalProcessing, setLocalAdditionalProcessing] = (0, react_1.useState)();
|
|
118
|
-
const [report, setReport] = (0, react_1.useState)(dashboard[
|
|
149
|
+
const [report, setReport] = (0, react_1.useState)(dashboard[item._id] ?? constructReportFromItem(item));
|
|
119
150
|
const [client] = (0, react_1.useContext)(Context_1.ClientContext);
|
|
120
151
|
const [customFields] = (0, react_1.useContext)(Context_1.CustomFieldContext);
|
|
121
152
|
const fetchReportHelper = async (useReportTask = true) => {
|
|
122
|
-
|
|
123
|
-
|
|
153
|
+
const tempReport = dashboard[item._id];
|
|
154
|
+
if (tempReport &&
|
|
155
|
+
!(0, Chart_1.didFiltersChange)(tempReport, filters) &&
|
|
156
|
+
!tempReport.triggerReload &&
|
|
124
157
|
dateBucket === localDateBucket &&
|
|
125
158
|
additionalProcessing?.last === localAdditionalProcessing?.last) {
|
|
126
159
|
setLoading(false);
|
|
127
|
-
|
|
160
|
+
const convertedReport = (0, report_1.convertInternalReportToReport)(tempReport);
|
|
161
|
+
setReport(convertedReport);
|
|
128
162
|
return;
|
|
129
163
|
}
|
|
130
164
|
setLoading(true);
|
|
131
|
-
const { report, error } = await (0, report_1.fetchReport)(
|
|
165
|
+
const { report, error } = await (0, report_1.fetchReport)(item._id, client, useReportTask, filters, additionalProcessing, dateBucket, customFields);
|
|
132
166
|
dispatch({
|
|
133
167
|
type: 'UPDATE_DASHBOARD_ITEM',
|
|
134
|
-
id:
|
|
168
|
+
id: item._id,
|
|
135
169
|
data: { ...report, triggerReload: false },
|
|
136
170
|
});
|
|
137
|
-
|
|
171
|
+
const convertedReport = (0, report_1.convertInternalReportToReport)(report);
|
|
172
|
+
setReport(convertedReport);
|
|
138
173
|
setLocalDateBucket(dateBucket);
|
|
139
174
|
setLocalAdditionalProcessing(additionalProcessing);
|
|
140
175
|
setError(error);
|
|
@@ -143,15 +178,16 @@ const ChartDataLoader = ({ id, children, dateBucket, additionalProcessing, filte
|
|
|
143
178
|
(0, react_1.useEffect)(() => {
|
|
144
179
|
setInitialLoad(false);
|
|
145
180
|
fetchReportHelper();
|
|
146
|
-
}, [filters,
|
|
181
|
+
}, [filters, item._id, dateBucket, additionalProcessing]);
|
|
147
182
|
(0, react_1.useEffect)(() => {
|
|
148
|
-
|
|
183
|
+
const tempReport = dashboard[item._id];
|
|
184
|
+
if (tempReport && tempReport.triggerReload) {
|
|
149
185
|
fetchReportHelper();
|
|
150
186
|
}
|
|
151
|
-
}, [dashboard[
|
|
187
|
+
}, [dashboard[item._id]]);
|
|
152
188
|
return children({
|
|
153
189
|
isLoading: loading || initialLoad,
|
|
154
|
-
data: report
|
|
190
|
+
data: report,
|
|
155
191
|
error,
|
|
156
192
|
dateBucket,
|
|
157
193
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAgOhC"}
|
|
@@ -4,29 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
const react_1 = require("react");
|
|
8
7
|
const dateRangePickerUtils_1 = require("../../DateRangePicker/dateRangePickerUtils");
|
|
9
|
-
const valueFormatter_1 = require("../../utils/valueFormatter");
|
|
10
8
|
const ChartError_1 = __importDefault(require("../Chart/ChartError"));
|
|
11
9
|
const ChartSkeleton_1 = __importDefault(require("../Chart/ChartSkeleton"));
|
|
12
10
|
const hooks_1 = require("../../hooks");
|
|
13
|
-
const useQuill_1 = require("../../hooks/useQuill");
|
|
14
11
|
function QuillMetricComponent({ report, onClick, error, isLoading, }) {
|
|
15
12
|
const theme = (0, hooks_1.useTheme)();
|
|
16
13
|
const dateFilter = report?.filtersApplied?.find((filter) => filter.filterType == 'date_range');
|
|
17
|
-
const [rows, setRows] = (0, react_1.useState)(report?.rows ?? []);
|
|
18
|
-
const pivotData = (0, useQuill_1.usePivot)(report.id);
|
|
19
|
-
(0, react_1.useEffect)(() => {
|
|
20
|
-
if (pivotData.data) {
|
|
21
|
-
setRows(pivotData.data.rows);
|
|
22
|
-
}
|
|
23
|
-
else if (report?.rows) {
|
|
24
|
-
setRows(report.rows);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
setRows([]);
|
|
28
|
-
}
|
|
29
|
-
}, [pivotData?.data?.rows, report?.rows]);
|
|
30
14
|
const primaryMetricLabel = report?.filtersApplied?.date_range?.preset?.label;
|
|
31
15
|
const comparisonKey = report?.filtersApplied?.date_range?.comparisonRange?.value;
|
|
32
16
|
const comparisonLabel = dateRangePickerUtils_1.COMPARISON_OPTIONS.find((opt) => opt.value === comparisonKey)?.text;
|
|
@@ -35,6 +19,7 @@ function QuillMetricComponent({ report, onClick, error, isLoading, }) {
|
|
|
35
19
|
boxSizing: 'content-box',
|
|
36
20
|
borderRadius: 8,
|
|
37
21
|
paddingBottom: isLoading ? 0 : 30,
|
|
22
|
+
width: '100%',
|
|
38
23
|
}, children: (0, jsx_runtime_1.jsx)("div", { style: {
|
|
39
24
|
width: '100%',
|
|
40
25
|
height: '100%',
|
|
@@ -55,7 +40,7 @@ function QuillMetricComponent({ report, onClick, error, isLoading, }) {
|
|
|
55
40
|
justifyContent: 'space-between',
|
|
56
41
|
boxSizing: 'content-box',
|
|
57
42
|
paddingBottom: 5,
|
|
58
|
-
}, children: [(0, jsx_runtime_1.jsx)("div", { style: {
|
|
43
|
+
}, children: [onClick && ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
59
44
|
fontFamily: theme.fontFamily,
|
|
60
45
|
color: theme.primaryTextColor,
|
|
61
46
|
boxSizing: 'content-box',
|
|
@@ -67,7 +52,7 @@ function QuillMetricComponent({ report, onClick, error, isLoading, }) {
|
|
|
67
52
|
display: 'block',
|
|
68
53
|
maxWidth: '100%',
|
|
69
54
|
overflow: 'hidden',
|
|
70
|
-
}, children: report?.name }), onClick && report?.name ? ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
55
|
+
}, children: report?.name })), onClick && report?.name ? ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
71
56
|
fontFamily: theme.fontFamily,
|
|
72
57
|
color: theme.primaryTextColor,
|
|
73
58
|
boxSizing: 'content-box',
|
|
@@ -80,7 +65,8 @@ function QuillMetricComponent({ report, onClick, error, isLoading, }) {
|
|
|
80
65
|
}, children: 'view report →' })) : null] }), isLoading ? ((0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, { containerStyle: {
|
|
81
66
|
maxHeight: '78px',
|
|
82
67
|
height: '100%',
|
|
83
|
-
} })) : error ? ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(ChartError_1.default, { errorMessage: error }) })) : rows?.length === 0 ||
|
|
68
|
+
} })) : error ? ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(ChartError_1.default, { errorMessage: error }) })) : report.rows?.length === 0 ||
|
|
69
|
+
report.rows[0][report.xAxisField] === null ? ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
84
70
|
display: 'flex',
|
|
85
71
|
flex: '1 0 auto',
|
|
86
72
|
height: '100%',
|
|
@@ -117,19 +103,9 @@ function QuillMetricComponent({ report, onClick, error, isLoading, }) {
|
|
|
117
103
|
gap: 4,
|
|
118
104
|
alignItems: 'baseline',
|
|
119
105
|
marginRight: 'auto',
|
|
120
|
-
}, children: [(0, jsx_runtime_1.jsx)("span", { children: rows.length > 0 &&
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
field: report.xAxisField,
|
|
124
|
-
fields: [
|
|
125
|
-
{
|
|
126
|
-
field: report.xAxisField,
|
|
127
|
-
format: report.xAxisFormat,
|
|
128
|
-
label: report.xAxisLabel,
|
|
129
|
-
_id: report.id || 'dummy',
|
|
130
|
-
},
|
|
131
|
-
],
|
|
132
|
-
}) }), dateFilter?.comparison && ((0, jsx_runtime_1.jsx)("span", { style: {
|
|
106
|
+
}, children: [(0, jsx_runtime_1.jsx)("span", { children: (report.rows.length > 0 &&
|
|
107
|
+
report.rows[0][report.xAxisField]) ??
|
|
108
|
+
0 }), dateFilter?.comparison && ((0, jsx_runtime_1.jsx)("span", { style: {
|
|
133
109
|
fontSize: 13,
|
|
134
110
|
fontWeight: '500',
|
|
135
111
|
fontFamily: theme?.fontFamily,
|
|
@@ -148,19 +124,9 @@ function QuillMetricComponent({ report, onClick, error, isLoading, }) {
|
|
|
148
124
|
fontWeight: '500',
|
|
149
125
|
fontFamily: theme?.fontFamily,
|
|
150
126
|
color: theme?.secondaryTextColor,
|
|
151
|
-
}, children: rows.length > 0 &&
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
field: report.xAxisField,
|
|
155
|
-
fields: [
|
|
156
|
-
{
|
|
157
|
-
field: report.xAxisField,
|
|
158
|
-
format: report.xAxisFormat,
|
|
159
|
-
label: report.xAxisLabel,
|
|
160
|
-
_id: report.id || 'dummy',
|
|
161
|
-
},
|
|
162
|
-
],
|
|
163
|
-
}) }), (0, jsx_runtime_1.jsx)("span", { style: {
|
|
127
|
+
}, children: (report.rows.length > 0 &&
|
|
128
|
+
report.rows[0][`comparison_${report.xAxisField}`]) ??
|
|
129
|
+
0 }), (0, jsx_runtime_1.jsx)("span", { style: {
|
|
164
130
|
fontSize: 13,
|
|
165
131
|
fontWeight: '500',
|
|
166
132
|
fontFamily: theme?.fontFamily,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { QuillReport } from '../../
|
|
2
|
+
import { QuillReport } from '../../models/Report';
|
|
3
3
|
export default function QuillTableComponent({ report, onClick, isLoading, error, rowCount, onPageChange, onSortChange, }: {
|
|
4
4
|
report: QuillReport;
|
|
5
5
|
onClick?: (report: QuillReport) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrE,GAAG,GAAG,CAAC,OAAO,CAwGd"}
|
|
@@ -6,48 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
7
|
const react_1 = require("react");
|
|
8
8
|
const QuillTable_1 = __importDefault(require("../QuillTable"));
|
|
9
|
-
const valueFormatter_1 = require("../../utils/valueFormatter");
|
|
10
9
|
const ChartSkeleton_1 = __importDefault(require("../Chart/ChartSkeleton"));
|
|
11
10
|
const ChartError_1 = __importDefault(require("../Chart/ChartError"));
|
|
12
11
|
const hooks_1 = require("../../hooks");
|
|
13
12
|
const useExport_1 = require("../../hooks/useExport");
|
|
14
|
-
const useQuill_1 = require("../../hooks/useQuill");
|
|
15
13
|
function QuillTableComponent({ report, onClick, isLoading, error, rowCount, onPageChange, onSortChange, }) {
|
|
16
14
|
const theme = (0, hooks_1.useTheme)();
|
|
17
15
|
const [initialLoad, setInitialLoad] = (0, react_1.useState)(true);
|
|
18
16
|
const { downloadCSV } = (0, useExport_1.useExport)(report?.id);
|
|
19
|
-
const pivotData = (0, useQuill_1.usePivot)(report.id);
|
|
20
|
-
const [rows, setRows] = (0, react_1.useState)(report?.rows ?? []);
|
|
21
|
-
const [columns, setColumns] = (0, react_1.useState)(report?.columns ?? report?.yAxisFields ?? []);
|
|
22
|
-
(0, react_1.useEffect)(() => {
|
|
23
|
-
if (!report.rows || !report.columns) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
if (report.pivot !== null && pivotData.data) {
|
|
27
|
-
setRows(pivotData.data.rows);
|
|
28
|
-
setColumns(pivotData.data.columns);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
setRows(report?.rows ?? []);
|
|
32
|
-
setColumns(report?.columns ?? report?.yAxisFields ?? []);
|
|
33
|
-
}
|
|
34
|
-
}, [pivotData, report]);
|
|
35
17
|
(0, react_1.useEffect)(() => {
|
|
36
18
|
if (!isLoading) {
|
|
37
19
|
setInitialLoad(false);
|
|
38
20
|
}
|
|
39
21
|
}, [isLoading]);
|
|
40
|
-
const formattedRows = rows.map((row) => {
|
|
41
|
-
return columns.reduce((formattedRow, column) => {
|
|
42
|
-
// Apply the format function to each field in the row
|
|
43
|
-
const formattedValue = (0, valueFormatter_1.quillFormat)({
|
|
44
|
-
value: row[column.field],
|
|
45
|
-
format: column.format,
|
|
46
|
-
});
|
|
47
|
-
formattedRow[column.field] = formattedValue;
|
|
48
|
-
return formattedRow;
|
|
49
|
-
}, {});
|
|
50
|
-
});
|
|
51
22
|
return ((0, jsx_runtime_1.jsxs)("div", { style: { cursor: 'pointer' }, onClick: () => onClick && onClick(report), children: [(0, jsx_runtime_1.jsxs)("div", { style: {
|
|
52
23
|
display: 'flex',
|
|
53
24
|
flexDirection: 'row',
|
|
@@ -83,7 +54,7 @@ function QuillTableComponent({ report, onClick, isLoading, error, rowCount, onPa
|
|
|
83
54
|
} })) : error ? ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
84
55
|
width: '100%',
|
|
85
56
|
height: '400px',
|
|
86
|
-
}, children: (0, jsx_runtime_1.jsx)(ChartError_1.default, { errorMessage: error }) })) : ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { isLoading: isLoading, rows:
|
|
57
|
+
}, children: (0, jsx_runtime_1.jsx)(ChartError_1.default, { errorMessage: error }) })) : ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { isLoading: isLoading, rows: report.rows ?? [], rowCount: rowCount, columns: report.columns, rowsPerPage: 10, containerStyle: {
|
|
87
58
|
width: '100%',
|
|
88
59
|
height: '400px',
|
|
89
60
|
}, downloadCSV: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuillMultiSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"QuillMultiSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAiC3D;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,yBAAyB,2CAqS3B;AAED,eAAO,MAAM,gBAAgB;WAKpB,MAAM;kBACC,MAAM,KAAK,IAAI;iBAChB,MAAM;6CAwDpB,CAAC"}
|
|
@@ -28,6 +28,21 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
28
28
|
const hooks_1 = require("../hooks");
|
|
29
29
|
const react_1 = __importStar(require("react"));
|
|
30
30
|
const Context_1 = require("../Context");
|
|
31
|
+
/**
|
|
32
|
+
* Helper function for displaying option labels
|
|
33
|
+
*/
|
|
34
|
+
function displaySelectedOptionLabels({ options, value, }) {
|
|
35
|
+
if (!value || !value.length) {
|
|
36
|
+
return 'Select';
|
|
37
|
+
}
|
|
38
|
+
const matchingOptions = options.filter((elem) => value.includes(elem.value));
|
|
39
|
+
if (!matchingOptions.length) {
|
|
40
|
+
return 'Select';
|
|
41
|
+
}
|
|
42
|
+
return matchingOptions
|
|
43
|
+
.map((elem) => elem.label)
|
|
44
|
+
.join(', ');
|
|
45
|
+
}
|
|
31
46
|
/**
|
|
32
47
|
* A robust select component that implements the new minimal Select interface.
|
|
33
48
|
*/
|
|
@@ -126,7 +141,7 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
|
|
|
126
141
|
width: '100%',
|
|
127
142
|
textAlign: 'left',
|
|
128
143
|
zIndex: 1,
|
|
129
|
-
}, children:
|
|
144
|
+
}, children: displaySelectedOptionLabels({ options, value }) }), (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true", "data-slot": "icon", height: 20, width: 20, style: { minHeight: 20, minWidth: 20 }, children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z", clipRule: "evenodd" }) })] }), showModal && ((0, jsx_runtime_1.jsxs)("div", { ref: modalRef, style: {
|
|
130
145
|
position: 'absolute',
|
|
131
146
|
width: '100%',
|
|
132
147
|
display: 'flex',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuillSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"QuillSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAYtD;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE,oBAAoB,2CAoPtB"}
|
|
@@ -37,8 +37,11 @@ function QuillSelectComponentWithCombo({ options, value, width, onChange, label,
|
|
|
37
37
|
const [showModal, setShowModal] = (0, react_1.useState)(false);
|
|
38
38
|
const modalRef = (0, react_1.useRef)(null);
|
|
39
39
|
const [searchQuery, setSearchQuery] = react_1.default.useState('');
|
|
40
|
-
const [filteredItems, setFilteredItems] = react_1.default.useState(
|
|
40
|
+
const [filteredItems, setFilteredItems] = react_1.default.useState([]);
|
|
41
41
|
(0, hooks_1.useOnClickOutside)(modalRef, () => setShowModal(false));
|
|
42
|
+
(0, react_1.useEffect)(() => {
|
|
43
|
+
setFilteredItems(options.slice(0, 20));
|
|
44
|
+
}, [options]);
|
|
42
45
|
const handleSearchChange = (value) => {
|
|
43
46
|
setSearchQuery(value);
|
|
44
47
|
const curFilteredItems = value === ''
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { Filter } from '../../models/Filter';
|
|
2
|
+
import { Filter, Operator } from '../../models/Filter';
|
|
3
3
|
interface FilterModalProps {
|
|
4
4
|
schema: any;
|
|
5
5
|
filter?: Filter;
|
|
6
6
|
fieldValuesMap: {
|
|
7
7
|
[key: string]: string[];
|
|
8
|
+
} | {
|
|
9
|
+
[key: string]: {
|
|
10
|
+
[key: string]: string[];
|
|
11
|
+
};
|
|
8
12
|
};
|
|
13
|
+
customOperatorOptions?: OperatorOptionsMap;
|
|
9
14
|
onSubmitFilter: (filter: Filter) => void;
|
|
10
15
|
onDeleteFilter: () => void;
|
|
11
16
|
ButtonComponent: React.ComponentType<any>;
|
|
@@ -14,9 +19,12 @@ interface FilterModalProps {
|
|
|
14
19
|
SecondaryButtonComponent?: React.ComponentType<any>;
|
|
15
20
|
MultiSelectComponent: React.ComponentType<any>;
|
|
16
21
|
}
|
|
22
|
+
type OperatorOptionsMap = {
|
|
23
|
+
[key: string]: Operator[];
|
|
24
|
+
};
|
|
17
25
|
/**
|
|
18
26
|
* Modal for adding, editing, and deleting Filters
|
|
19
27
|
*/
|
|
20
|
-
export default function FilterModal({ schema, filter, fieldValuesMap, onSubmitFilter, onDeleteFilter, ButtonComponent, SelectComponent, TextInputComponent, SecondaryButtonComponent, MultiSelectComponent, }: FilterModalProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export default function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, onSubmitFilter, onDeleteFilter, ButtonComponent, SelectComponent, TextInputComponent, SecondaryButtonComponent, MultiSelectComponent, }: FilterModalProps): import("react/jsx-runtime").JSX.Element;
|
|
21
29
|
export {};
|
|
22
30
|
//# sourceMappingURL=FilterModal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterModal.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/FilterModal.tsx"],"names":[],"mappings":";AAIA,OAAO,EACL,MAAM,
|
|
1
|
+
{"version":3,"file":"FilterModal.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/FilterModal.tsx"],"names":[],"mappings":";AAIA,OAAO,EACL,MAAM,EAIN,QAAQ,EAOT,MAAM,qBAAqB,CAAC;AAM7B,UAAU,gBAAgB;IACxB,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EACZ;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,GACzB;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IACnD,qBAAqB,CAAC,EAAE,kBAAkB,CAAC;IAC3C,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1C,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1C,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7C,wBAAwB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACpD,oBAAoB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAChD;AAQD,KAAK,kBAAkB,GAAG;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GACrB,EAAE,gBAAgB,2CAwvBlB"}
|