@quillsql/react 2.13.44 → 2.13.46
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 +3 -1
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +27 -30
- package/dist/cjs/ChartBuilder.d.ts +1 -2
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +46 -26
- package/dist/cjs/ChartEditor.d.ts +1 -1
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +6 -8
- package/dist/cjs/Context.d.ts +18 -6
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +98 -54
- package/dist/cjs/Dashboard.d.ts +7 -1
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +74 -24
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +201 -76
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +3 -3
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +1 -2
- package/dist/cjs/components/Chart/GaugeChart.js +1 -1
- package/dist/cjs/components/Chart/LineChart.js +1 -1
- package/dist/cjs/components/Chart/MapChart.js +1 -1
- package/dist/cjs/components/Chart/PieChart.js +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +6 -4
- package/dist/cjs/components/Dashboard/DashboardSection.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardSection.js +0 -1
- package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardSectionContainer.js +0 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +6 -4
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +108 -139
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +61 -59
- package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +4 -1
- package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnModal.js +59 -63
- package/dist/cjs/components/ReportBuilder/schema.d.ts +7 -0
- package/dist/cjs/components/ReportBuilder/schema.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +11 -3
- package/dist/cjs/hooks/useDashboard.d.ts +23 -2
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +133 -3
- package/dist/cjs/hooks/useExport.js +3 -3
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +8 -7
- package/dist/cjs/hooks/useReport.d.ts.map +1 -1
- package/dist/cjs/hooks/useReport.js +13 -12
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/models/Client.d.ts +1 -0
- package/dist/cjs/models/Client.d.ts.map +1 -1
- package/dist/cjs/models/Dashboard.d.ts +5 -1
- package/dist/cjs/models/Dashboard.d.ts.map +1 -1
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Filter.js +0 -2
- package/dist/cjs/models/Report.d.ts +1 -2
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/utils/client.d.ts.map +1 -1
- package/dist/cjs/utils/client.js +1 -0
- package/dist/cjs/utils/dashboard.js +1 -1
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +2 -2
- package/dist/cjs/utils/reportBuilder.d.ts +11 -2
- package/dist/cjs/utils/reportBuilder.d.ts.map +1 -1
- package/dist/cjs/utils/reportBuilder.js +127 -1
- package/dist/cjs/utils/schema.d.ts +2 -7
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +4 -0
- package/dist/esm/Chart.d.ts +3 -1
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +28 -31
- package/dist/esm/ChartBuilder.d.ts +1 -2
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +47 -27
- package/dist/esm/ChartEditor.d.ts +1 -1
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +7 -9
- package/dist/esm/Context.d.ts +18 -6
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +100 -56
- package/dist/esm/Dashboard.d.ts +7 -1
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +74 -24
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +206 -81
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +3 -3
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +1 -2
- package/dist/esm/components/Chart/GaugeChart.js +1 -1
- package/dist/esm/components/Chart/LineChart.js +1 -1
- package/dist/esm/components/Chart/MapChart.js +1 -1
- package/dist/esm/components/Chart/PieChart.js +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +6 -4
- package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardSection.js +0 -1
- package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardSectionContainer.js +0 -1
- package/dist/esm/components/Dashboard/DataLoader.d.ts +6 -4
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +109 -140
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +61 -59
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +4 -1
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnModal.js +59 -63
- package/dist/esm/components/ReportBuilder/schema.d.ts +7 -0
- package/dist/esm/components/ReportBuilder/schema.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +11 -3
- package/dist/esm/hooks/useDashboard.d.ts +23 -2
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +131 -3
- package/dist/esm/hooks/useExport.js +4 -4
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +9 -8
- package/dist/esm/hooks/useReport.d.ts.map +1 -1
- package/dist/esm/hooks/useReport.js +14 -13
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/models/Client.d.ts +1 -0
- package/dist/esm/models/Client.d.ts.map +1 -1
- package/dist/esm/models/Dashboard.d.ts +5 -1
- package/dist/esm/models/Dashboard.d.ts.map +1 -1
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Filter.js +0 -2
- package/dist/esm/models/Report.d.ts +1 -2
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/utils/client.d.ts.map +1 -1
- package/dist/esm/utils/client.js +1 -0
- package/dist/esm/utils/dashboard.js +1 -1
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +2 -2
- package/dist/esm/utils/reportBuilder.d.ts +11 -2
- package/dist/esm/utils/reportBuilder.d.ts.map +1 -1
- package/dist/esm/utils/reportBuilder.js +124 -0
- package/dist/esm/utils/schema.d.ts +2 -7
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +4 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardSectionContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardSectionContainer.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAChD,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"DashboardSectionContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardSectionContainer.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAChD,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,GAAG,GAAG,GAAG,CAAC,OAAO,CAcnB"}
|
|
@@ -14,12 +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,
|
|
17
|
+
export default function DataLoader({ item, children, filters, userFilters, additionalProcessing: defaultAdditionalProcessing, dashboardName, propogateChanges, }: {
|
|
18
18
|
item: QuillReportInternal;
|
|
19
19
|
filters: DashboardFilter[];
|
|
20
20
|
userFilters?: InternalFilter[];
|
|
21
21
|
additionalProcessing: AdditionalProcessing;
|
|
22
|
-
|
|
22
|
+
dashboardName?: string;
|
|
23
|
+
propogateChanges?: boolean;
|
|
23
24
|
children: ({ isLoading, error, onPageChange, onSortChange, data, }: DataLoaderChildProps) => JSX.Element;
|
|
24
25
|
}): JSX.Element;
|
|
25
26
|
type ColorMapType = {
|
|
@@ -40,14 +41,15 @@ export type ChartDataLoaderChildProps = {
|
|
|
40
41
|
rowCount?: number;
|
|
41
42
|
rowCountIsLoading?: boolean;
|
|
42
43
|
};
|
|
43
|
-
export declare const ChartDataLoader: ({ item, children, dateBucket, additionalProcessing, filters, userFilters,
|
|
44
|
+
export declare const ChartDataLoader: ({ item, children, dateBucket, additionalProcessing, filters, userFilters, dashboardName, propogateChanges, }: {
|
|
44
45
|
item: QuillReportInternal;
|
|
45
46
|
dateBucket?: string;
|
|
46
47
|
mapColorsToFields?: (_report: QuillReport, _theme: QuillTheme) => ColorMapType;
|
|
47
48
|
additionalProcessing: AdditionalProcessing;
|
|
48
49
|
filters: DashboardFilter[];
|
|
49
50
|
userFilters?: InternalFilter[];
|
|
50
|
-
|
|
51
|
+
dashboardName?: string;
|
|
52
|
+
propogateChanges?: boolean;
|
|
51
53
|
children: ({ isLoading, error, data, dateBucket, rowCount, rowCountIsLoading, }: ChartDataLoaderChildProps) => JSX.Element;
|
|
52
54
|
}) => JSX.Element;
|
|
53
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":"AASA,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;AA+KF,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,CA8Vd;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,OAiLP,CAAC"}
|
|
@@ -14,6 +14,7 @@ const tableProcessing_1 = require("../../utils/tableProcessing");
|
|
|
14
14
|
// import { didFiltersChange } from '../../Chart';
|
|
15
15
|
const merge_1 = require("../../utils/merge");
|
|
16
16
|
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
17
|
+
const useDashboard_1 = require("../../hooks/useDashboard");
|
|
17
18
|
const constructReportFromItem = (item) => {
|
|
18
19
|
return {
|
|
19
20
|
...report_1.EMPTY_INTERNAL_REPORT,
|
|
@@ -36,13 +37,13 @@ const constructReportFromItem = (item) => {
|
|
|
36
37
|
};
|
|
37
38
|
function filterValuesEquivalent(filters1, filters2) {
|
|
38
39
|
if (filters1.length !== filters2.length) {
|
|
39
|
-
// Find the odd filters out and return false ONLY if they have a selected value
|
|
40
|
+
// Find the odd filters out and return false ONLY if they have a selected value or are a date filter
|
|
40
41
|
const filters1Labels = filters1.map((f) => f.label);
|
|
41
42
|
const filters2Labels = filters2.map((f) => f.label);
|
|
42
|
-
const oddFilters = filters1Labels.filter((label) => !filters2Labels.includes(label));
|
|
43
|
+
const oddFilters = filters1Labels.length > filters2Labels.length ? filters1Labels.filter((label) => !filters2Labels.includes(label)) : filters2Labels.filter((label) => !filters1Labels.includes(label));
|
|
43
44
|
for (const filter of oddFilters) {
|
|
44
|
-
const filter1 = filters1.find((f) => f.label === filter);
|
|
45
|
-
if (filter1?.selectedValue) {
|
|
45
|
+
const filter1 = filters1Labels.length > filters2Labels.length ? filters1.find((f) => f.label === filter) : filters2.find((f) => f.label === filter);
|
|
46
|
+
if (filter1?.selectedValue || filter1?.startDate || filter1?.endDate) {
|
|
46
47
|
return false;
|
|
47
48
|
}
|
|
48
49
|
}
|
|
@@ -142,33 +143,33 @@ function tenantsEquivalent(tenants1, tenants2) {
|
|
|
142
143
|
function customFieldsEquivalent(customFields1, customFields2) {
|
|
143
144
|
return (0, fast_deep_equal_1.default)(customFields1, customFields2);
|
|
144
145
|
}
|
|
145
|
-
function DataLoader({ item, children, filters, userFilters, additionalProcessing: defaultAdditionalProcessing,
|
|
146
|
+
function DataLoader({ item, children, filters, userFilters, additionalProcessing: defaultAdditionalProcessing, dashboardName, propogateChanges, }) {
|
|
146
147
|
const [client] = (0, react_1.useContext)(Context_1.ClientContext);
|
|
147
|
-
const
|
|
148
|
+
const { dashboardReports: dashboard, addReport, updateReport } = (0, useDashboard_1.useDashboardReports)(dashboardName);
|
|
148
149
|
const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
|
|
149
150
|
const { tenants, flags } = (0, react_1.useContext)(Context_1.TenantContext);
|
|
150
151
|
const { reports, reportsDispatch, fetchIndividualReport } = (0, react_1.useContext)(Context_1.ReportsContext);
|
|
151
152
|
const { reportFilters } = (0, react_1.useContext)(Context_1.ReportFiltersContext);
|
|
152
|
-
const contextFilters = () => {
|
|
153
|
-
return
|
|
154
|
-
? Object.values(
|
|
155
|
-
: Object.values(
|
|
156
|
-
};
|
|
153
|
+
const contextFilters = (0, react_1.useMemo)(() => {
|
|
154
|
+
return dashboardName
|
|
155
|
+
? Object.values(dashboardFilters[dashboardName] ?? {}).map((f) => f.filter)
|
|
156
|
+
: Object.values(reportFilters[item.id] ?? {}).map((f) => f.filter);
|
|
157
|
+
}, [dashboardFilters, reportFilters, dashboardName, item.id]);
|
|
157
158
|
const [schemaData] = (0, react_1.useContext)(Context_1.SchemaDataContext);
|
|
158
159
|
const [loading, setLoading] = (0, react_1.useState)(true);
|
|
159
160
|
const [error, setError] = (0, react_1.useState)(undefined);
|
|
160
161
|
const [previousPage, setPreviousPage] = (0, react_1.useState)(0);
|
|
161
162
|
const [additionalProcessing, setAdditionalProcessing] = (0, react_1.useState)(defaultAdditionalProcessing);
|
|
162
163
|
const chartReport = (0, react_1.useMemo)(() => {
|
|
163
|
-
const report = (
|
|
164
|
+
const report = (dashboardName ? dashboard : reports)[item.id];
|
|
164
165
|
if (report) {
|
|
165
|
-
return (0, report_1.convertInternalReportToReport)((0, merge_1.mergeComparisonRange)(report), contextFilters
|
|
166
|
+
return (0, report_1.convertInternalReportToReport)((0, merge_1.mergeComparisonRange)(report), contextFilters);
|
|
166
167
|
}
|
|
167
168
|
else {
|
|
168
169
|
return constructReportFromItem(item);
|
|
169
170
|
}
|
|
170
171
|
}, [
|
|
171
|
-
(
|
|
172
|
+
(dashboardName ? dashboard : reports)[item.id],
|
|
172
173
|
reportFilters,
|
|
173
174
|
dashboardFilters,
|
|
174
175
|
]);
|
|
@@ -198,16 +199,12 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
198
199
|
const rowCount = await (0, report_1.fetchReportRowCount)(item.id, client, tenants, flags, true, filters.concat(userFilters ?? []), processing, schemaData.customFields, rowCountAbortController.current.signal);
|
|
199
200
|
rowCountAbortController.current = null;
|
|
200
201
|
if (rowCount) {
|
|
201
|
-
if (
|
|
202
|
-
|
|
203
|
-
type: 'UPDATE_REPORT',
|
|
204
|
-
id: item.id,
|
|
205
|
-
data: { rowCount },
|
|
206
|
-
});
|
|
202
|
+
if (dashboardName) {
|
|
203
|
+
updateReport({ id: item.id, rowCount });
|
|
207
204
|
}
|
|
208
205
|
else {
|
|
209
|
-
|
|
210
|
-
type: '
|
|
206
|
+
reportsDispatch({
|
|
207
|
+
type: 'UPDATE_REPORT',
|
|
211
208
|
id: item.id,
|
|
212
209
|
data: { rowCount },
|
|
213
210
|
});
|
|
@@ -243,7 +240,7 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
243
240
|
}
|
|
244
241
|
};
|
|
245
242
|
const onSortChange = (sort) => {
|
|
246
|
-
const report = (
|
|
243
|
+
const report = (dashboardName ? dashboard : reports)[item.id];
|
|
247
244
|
if ((0, paginationProcessing_1.shouldSortInMemory)(additionalProcessing.page ?? paginationProcessing_1.DEFAULT_PAGINATION, report?.rowCount)) {
|
|
248
245
|
return;
|
|
249
246
|
}
|
|
@@ -268,9 +265,9 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
268
265
|
updateTableRowsAbortController.current?.abort();
|
|
269
266
|
updateTableRowsAbortController.current = new AbortController();
|
|
270
267
|
const updatedProcessing = { ...additionalProcessing, ...processing };
|
|
271
|
-
const pivotQuery = (
|
|
268
|
+
const pivotQuery = (dashboardName ? dashboard : reports)[item.id]
|
|
272
269
|
?.pivotQuery;
|
|
273
|
-
const comparisonPivotQuery = (
|
|
270
|
+
const comparisonPivotQuery = (dashboardName ? dashboard : reports)[item.id]
|
|
274
271
|
?.comparisonPivotQuery;
|
|
275
272
|
const paginatedRows = await (0, tableProcessing_1.fetchResultsByReport)({
|
|
276
273
|
reportId: item.id,
|
|
@@ -292,54 +289,27 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
292
289
|
}
|
|
293
290
|
const isPivotPagination = !!(item.pivot && pivotQuery);
|
|
294
291
|
const prevRows = isPivotPagination
|
|
295
|
-
? (
|
|
296
|
-
: (
|
|
292
|
+
? (dashboardName ? dashboard : reports)[item.id]?.pivotRows
|
|
293
|
+
: (dashboardName ? dashboard : reports)[item.id]?.rows;
|
|
297
294
|
let updatedRows = [...(prevRows ?? []), ...paginatedRows.rows];
|
|
298
295
|
if (resetRows) {
|
|
299
296
|
updatedRows = paginatedRows.rows;
|
|
300
297
|
}
|
|
301
|
-
if (
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
loadingRows: false,
|
|
309
|
-
filtersApplied: userFilters,
|
|
310
|
-
},
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
else {
|
|
314
|
-
reportsDispatch({
|
|
315
|
-
type: 'UPDATE_REPORT',
|
|
316
|
-
id: item.id,
|
|
317
|
-
data: {
|
|
318
|
-
rows: updatedRows,
|
|
319
|
-
loadingRows: false,
|
|
320
|
-
filtersApplied: userFilters,
|
|
321
|
-
},
|
|
322
|
-
});
|
|
323
|
-
}
|
|
298
|
+
if (dashboardName) {
|
|
299
|
+
updateReport({
|
|
300
|
+
id: item.id,
|
|
301
|
+
[isPivotPagination ? 'pivotRows' : 'rows']: updatedRows,
|
|
302
|
+
loadingRows: false,
|
|
303
|
+
filtersApplied: userFilters,
|
|
304
|
+
});
|
|
324
305
|
}
|
|
325
306
|
else {
|
|
326
307
|
if (isPivotPagination) {
|
|
327
|
-
|
|
328
|
-
type: '
|
|
329
|
-
id: item.id,
|
|
330
|
-
data: {
|
|
331
|
-
pivotRows: updatedRows,
|
|
332
|
-
loadingRows: false,
|
|
333
|
-
filtersApplied: userFilters,
|
|
334
|
-
},
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
else {
|
|
338
|
-
dispatch({
|
|
339
|
-
type: 'UPDATE_DASHBOARD_ITEM',
|
|
308
|
+
reportsDispatch({
|
|
309
|
+
type: 'UPDATE_REPORT',
|
|
340
310
|
id: item.id,
|
|
341
311
|
data: {
|
|
342
|
-
rows: updatedRows,
|
|
312
|
+
[isPivotPagination ? 'pivotRows' : 'rows']: updatedRows,
|
|
343
313
|
loadingRows: false,
|
|
344
314
|
filtersApplied: userFilters,
|
|
345
315
|
},
|
|
@@ -372,7 +342,32 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
372
342
|
rowsAbortController.current?.abort();
|
|
373
343
|
rowsAbortController.current = new AbortController();
|
|
374
344
|
try {
|
|
375
|
-
if (
|
|
345
|
+
if (dashboardName) {
|
|
346
|
+
const { report: fetchedReport, error } = await (0, report_1.fetchReport)({
|
|
347
|
+
reportId: item.id,
|
|
348
|
+
client,
|
|
349
|
+
tenants,
|
|
350
|
+
flags,
|
|
351
|
+
useReportTask: true,
|
|
352
|
+
filters: filters.concat(userFilters ?? []),
|
|
353
|
+
additionalProcessing: processing,
|
|
354
|
+
customFields: schemaData.customFields,
|
|
355
|
+
rowsOnly: true,
|
|
356
|
+
rowCountOnly: false,
|
|
357
|
+
abortSignal: rowsAbortController.current.signal,
|
|
358
|
+
});
|
|
359
|
+
addReport({
|
|
360
|
+
...fetchedReport,
|
|
361
|
+
id: item.id,
|
|
362
|
+
triggerReload: false,
|
|
363
|
+
rowCount: fetchedReport.pivot ? fetchedReport.rowCount : 0,
|
|
364
|
+
filtersApplied: userFilters,
|
|
365
|
+
loadingRows: false,
|
|
366
|
+
// rowCount 0 indicates it's still loading if row length is nonzero
|
|
367
|
+
});
|
|
368
|
+
setError(error);
|
|
369
|
+
}
|
|
370
|
+
else {
|
|
376
371
|
try {
|
|
377
372
|
await fetchIndividualReport({
|
|
378
373
|
reportId: item.id,
|
|
@@ -383,6 +378,7 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
383
378
|
additionalProcessing: processing,
|
|
384
379
|
reportAbortController: rowsAbortController.current,
|
|
385
380
|
customFields: schemaData.customFields,
|
|
381
|
+
propogateChanges,
|
|
386
382
|
});
|
|
387
383
|
rowsAbortController.current = null;
|
|
388
384
|
setError(undefined);
|
|
@@ -391,33 +387,6 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
391
387
|
setError(e.message ?? 'Error fetching report');
|
|
392
388
|
}
|
|
393
389
|
}
|
|
394
|
-
else {
|
|
395
|
-
const { report: fetchedReport, error } = await (0, report_1.fetchReport)({
|
|
396
|
-
reportId: item.id,
|
|
397
|
-
client,
|
|
398
|
-
tenants,
|
|
399
|
-
flags,
|
|
400
|
-
useReportTask: true,
|
|
401
|
-
filters: filters.concat(userFilters ?? []),
|
|
402
|
-
additionalProcessing: processing,
|
|
403
|
-
customFields: schemaData.customFields,
|
|
404
|
-
rowsOnly: true,
|
|
405
|
-
rowCountOnly: false,
|
|
406
|
-
abortSignal: rowsAbortController.current.signal,
|
|
407
|
-
});
|
|
408
|
-
dispatch({
|
|
409
|
-
type: 'ADD_DASHBOARD_ITEM',
|
|
410
|
-
id: item.id,
|
|
411
|
-
data: {
|
|
412
|
-
...fetchedReport,
|
|
413
|
-
triggerReload: false,
|
|
414
|
-
rowCount: fetchedReport.pivot ? fetchedReport.rowCount : 0,
|
|
415
|
-
filtersApplied: userFilters,
|
|
416
|
-
loadingRows: false,
|
|
417
|
-
}, // rowCount 0 indicates it's still loading if row length is nonzero
|
|
418
|
-
});
|
|
419
|
-
setError(error);
|
|
420
|
-
}
|
|
421
390
|
if (!item.pivot) {
|
|
422
391
|
fetchRowCount(processing);
|
|
423
392
|
}
|
|
@@ -440,11 +409,11 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
440
409
|
// we should be fetching this data directly when mutating filters/tenants rather than using a magical effect
|
|
441
410
|
(0, react_1.useEffect)(() => {
|
|
442
411
|
if (schemaData.isSchemaLoading ||
|
|
443
|
-
(filterValuesEquivalent(previousFilters.current ?? contextFilters
|
|
412
|
+
(filterValuesEquivalent(previousFilters.current ?? contextFilters, filters) &&
|
|
444
413
|
userFilterValuesEquivalent(previousUserFilters.current ?? [], userFilters ?? []) &&
|
|
445
414
|
tenantsEquivalent(previousTenants.current ?? [], tenants ?? []) &&
|
|
446
415
|
customFieldsEquivalent(previousCustomFields.current, schemaData.customFields) &&
|
|
447
|
-
((
|
|
416
|
+
((dashboardName ? dashboard : reports)[item.id]?.rows?.length || rowsAbortController.current))) {
|
|
448
417
|
if (!rowsAbortController.current && !schemaData.isSchemaLoading)
|
|
449
418
|
setLoading(false);
|
|
450
419
|
return;
|
|
@@ -464,14 +433,14 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
464
433
|
schemaData.isSchemaLoading,
|
|
465
434
|
]);
|
|
466
435
|
(0, react_1.useEffect)(() => {
|
|
467
|
-
const tempReport = (
|
|
436
|
+
const tempReport = (dashboardName ? dashboard : reports)[item.id];
|
|
468
437
|
if (tempReport?.triggerReload) {
|
|
469
438
|
fetchReportHelper(additionalProcessing);
|
|
470
439
|
}
|
|
471
440
|
else if (tempReport?.error) {
|
|
472
441
|
setError(tempReport.error);
|
|
473
442
|
}
|
|
474
|
-
}, [(
|
|
443
|
+
}, [(dashboardName ? dashboard : reports)[item.id]?.triggerReload, (dashboardName ? dashboard : reports)[item.id]?.error]);
|
|
475
444
|
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children({
|
|
476
445
|
isLoading: loading,
|
|
477
446
|
error,
|
|
@@ -484,17 +453,17 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
484
453
|
}
|
|
485
454
|
// The same data-loader pattern as above, but with special logic for charts
|
|
486
455
|
// At some point these may be able to get merged into one function.
|
|
487
|
-
const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, filters, userFilters,
|
|
488
|
-
const
|
|
456
|
+
const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, filters, userFilters, dashboardName, propogateChanges, }) => {
|
|
457
|
+
const { dashboardReports: dashboard, addReport } = (0, useDashboard_1.useDashboardReports)(dashboardName);
|
|
489
458
|
const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
|
|
490
459
|
const { reports, fetchIndividualReport } = (0, react_1.useContext)(Context_1.ReportsContext);
|
|
491
460
|
const { reportFilters } = (0, react_1.useContext)(Context_1.ReportFiltersContext);
|
|
492
461
|
const { tenants, flags } = (0, react_1.useContext)(Context_1.TenantContext);
|
|
493
|
-
const contextFilters = () => {
|
|
494
|
-
return
|
|
495
|
-
? Object.values(
|
|
496
|
-
: Object.values(
|
|
497
|
-
};
|
|
462
|
+
const contextFilters = (0, react_1.useMemo)(() => {
|
|
463
|
+
return dashboardName
|
|
464
|
+
? Object.values(dashboardFilters[dashboardName] ?? {}).map((f) => f.filter)
|
|
465
|
+
: Object.values(reportFilters[item.id] ?? {}).map((f) => f.filter);
|
|
466
|
+
}, [dashboardFilters, reportFilters, dashboardName, item.id]);
|
|
498
467
|
const [loading, setLoading] = (0, react_1.useState)(true);
|
|
499
468
|
const [error, setError] = (0, react_1.useState)(undefined);
|
|
500
469
|
const [client] = (0, react_1.useContext)(Context_1.ClientContext);
|
|
@@ -507,13 +476,13 @@ const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, fil
|
|
|
507
476
|
const fetchReportAbortController = (0, react_1.useRef)(null);
|
|
508
477
|
const rowsRequestId = (0, react_1.useRef)(0);
|
|
509
478
|
const chartReport = (0, react_1.useMemo)(() => {
|
|
510
|
-
const report =
|
|
479
|
+
const report = dashboardName ? dashboard[item.id] : reports[item.id];
|
|
511
480
|
if (!report) {
|
|
512
481
|
return constructReportFromItem(item);
|
|
513
482
|
}
|
|
514
|
-
return (0, report_1.convertInternalReportToReport)((0, merge_1.mergeComparisonRange)(report), contextFilters
|
|
483
|
+
return (0, report_1.convertInternalReportToReport)((0, merge_1.mergeComparisonRange)(report), contextFilters);
|
|
515
484
|
}, [
|
|
516
|
-
(
|
|
485
|
+
(dashboardName ? dashboard : reports)[item.id],
|
|
517
486
|
reportFilters,
|
|
518
487
|
dashboardFilters,
|
|
519
488
|
]);
|
|
@@ -531,7 +500,32 @@ const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, fil
|
|
|
531
500
|
fetchReportAbortController.current?.abort();
|
|
532
501
|
fetchReportAbortController.current = new AbortController();
|
|
533
502
|
try {
|
|
534
|
-
if (
|
|
503
|
+
if (dashboardName) {
|
|
504
|
+
const { report, error } = await (0, report_1.fetchReport)({
|
|
505
|
+
reportId: item.id,
|
|
506
|
+
client,
|
|
507
|
+
tenants,
|
|
508
|
+
flags,
|
|
509
|
+
useReportTask,
|
|
510
|
+
filters: filters.concat(userFilters ?? []),
|
|
511
|
+
additionalProcessing: {
|
|
512
|
+
...additionalProcessing,
|
|
513
|
+
...{ page: paginationProcessing_1.DEFAULT_PAGINATION },
|
|
514
|
+
},
|
|
515
|
+
dateBucket,
|
|
516
|
+
customFields: schemaData.customFields,
|
|
517
|
+
abortSignal: fetchReportAbortController.current.signal,
|
|
518
|
+
});
|
|
519
|
+
addReport({
|
|
520
|
+
...report,
|
|
521
|
+
id: item.id,
|
|
522
|
+
triggerReload: false,
|
|
523
|
+
filtersApplied: userFilters,
|
|
524
|
+
loadingRows: false,
|
|
525
|
+
});
|
|
526
|
+
setError(error);
|
|
527
|
+
}
|
|
528
|
+
else {
|
|
535
529
|
try {
|
|
536
530
|
await fetchIndividualReport({
|
|
537
531
|
reportId: item.id,
|
|
@@ -546,6 +540,7 @@ const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, fil
|
|
|
546
540
|
dateBucket,
|
|
547
541
|
reportAbortController: fetchReportAbortController.current,
|
|
548
542
|
customFields: schemaData.customFields,
|
|
543
|
+
propogateChanges,
|
|
549
544
|
});
|
|
550
545
|
setError(undefined);
|
|
551
546
|
}
|
|
@@ -553,34 +548,6 @@ const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, fil
|
|
|
553
548
|
setError(e.message ?? 'Error fetching report');
|
|
554
549
|
}
|
|
555
550
|
}
|
|
556
|
-
else {
|
|
557
|
-
const { report, error } = await (0, report_1.fetchReport)({
|
|
558
|
-
reportId: item.id,
|
|
559
|
-
client,
|
|
560
|
-
tenants,
|
|
561
|
-
flags,
|
|
562
|
-
useReportTask,
|
|
563
|
-
filters: filters.concat(userFilters ?? []),
|
|
564
|
-
additionalProcessing: {
|
|
565
|
-
...additionalProcessing,
|
|
566
|
-
...{ page: paginationProcessing_1.DEFAULT_PAGINATION },
|
|
567
|
-
},
|
|
568
|
-
dateBucket,
|
|
569
|
-
customFields: schemaData.customFields,
|
|
570
|
-
abortSignal: fetchReportAbortController.current.signal,
|
|
571
|
-
});
|
|
572
|
-
dispatch({
|
|
573
|
-
type: 'ADD_DASHBOARD_ITEM',
|
|
574
|
-
id: item.id,
|
|
575
|
-
data: {
|
|
576
|
-
...report,
|
|
577
|
-
triggerReload: false,
|
|
578
|
-
filtersApplied: userFilters,
|
|
579
|
-
loadingRows: false,
|
|
580
|
-
},
|
|
581
|
-
});
|
|
582
|
-
setError(error);
|
|
583
|
-
}
|
|
584
551
|
}
|
|
585
552
|
catch (e) {
|
|
586
553
|
if (e instanceof Error && e.name === 'AbortError') {
|
|
@@ -600,12 +567,14 @@ const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, fil
|
|
|
600
567
|
return;
|
|
601
568
|
}
|
|
602
569
|
if (schemaData.isSchemaLoading ||
|
|
603
|
-
(filterValuesEquivalent(
|
|
570
|
+
(filterValuesEquivalent(
|
|
571
|
+
// previousFilters.current ?? contextFilters,
|
|
572
|
+
previousFilters.current ?? [], filters) &&
|
|
604
573
|
userFilterValuesEquivalent(previousUserFilters.current ?? [], userFilters ?? []) &&
|
|
605
574
|
tenantsEquivalent(tenants ?? [], previousTenants.current ?? []) &&
|
|
606
575
|
previousDateBucket.current === dateBucket &&
|
|
607
576
|
customFieldsEquivalent(previousCustomFields.current, schemaData.customFields) &&
|
|
608
|
-
((
|
|
577
|
+
((dashboardName ? dashboard : reports)[item.id]?.rows?.length || fetchReportAbortController.current))) {
|
|
609
578
|
if (!fetchReportAbortController.current && !schemaData.isSchemaLoading)
|
|
610
579
|
setLoading(false);
|
|
611
580
|
return;
|
|
@@ -626,14 +595,14 @@ const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, fil
|
|
|
626
595
|
schemaData.isSchemaLoading,
|
|
627
596
|
]);
|
|
628
597
|
(0, react_1.useEffect)(() => {
|
|
629
|
-
const tempReport = (
|
|
598
|
+
const tempReport = (dashboardName ? dashboard : reports)[item.id];
|
|
630
599
|
if (tempReport && tempReport.triggerReload) {
|
|
631
600
|
fetchReportHelper();
|
|
632
601
|
}
|
|
633
602
|
else if (tempReport?.error) {
|
|
634
603
|
setError(tempReport.error);
|
|
635
604
|
}
|
|
636
|
-
}, [(
|
|
605
|
+
}, [(dashboardName ? dashboard : reports)[item.id]?.triggerReload, (dashboardName ? dashboard : reports)[item.id]?.error]);
|
|
637
606
|
return children({
|
|
638
607
|
isLoading: !chartReport || loading,
|
|
639
608
|
data: chartReport,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAyB,MAAM,gBAAgB,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,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;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,WAAW,EACX,IAAI,EACJ,qBAA4B,EAC5B,cAAc,EACd,SAAS,EACT,gBAAwC,EACxC,WAAgB,EAChB,eAA8B,EAC9B,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAyB,MAAM,gBAAgB,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,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;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,WAAW,EACX,IAAI,EACJ,qBAA4B,EAC5B,cAAc,EACd,SAAS,EACT,gBAAwC,EACxC,WAAgB,EAChB,eAA8B,EAC9B,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,EAAE,wBAAwB,2CAsf1B"}
|