@quillsql/react 2.14.1 → 2.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/Chart.js CHANGED
@@ -172,7 +172,7 @@ function isEquivalent(filters1, filters2) {
172
172
  }
173
173
  function Chart({ colors, reportId, className, containerStyle, isAnimationActive, hideXAxis, hideYAxis, hideCartesianGrid, hideHorizontalCartesianGrid = false, hideVerticalCartesianGrid = true, hideSubsequentXAxisTicks = false, cartesianGridLineStyle = 'solid', cartesianGridLineColor, comparisonLineStyle, hideDateRangeFilter = false, hideFilters = false, mapColorsToFields, LoadingComponent = ChartSkeleton_1.QuillLoadingSkeleton, SelectComponent = QuillSelect_1.QuillSelectComponent, MultiSelectComponent = QuillMultiSelectWithCombo_1.QuillMultiSelectComponentWithCombo, DateRangePickerComponent = QuillDateRangePicker_1.QuillDateRangePicker, FilterContainerComponent = UiComponents_1.QuillFilterContainerComponent, TableComponent = TableComponent_1.default, MetricComponent = MetricComponent_1.default, filters, onClickChartElement, dateBucket, propagateChanges, }) {
174
174
  const [schemaData] = (0, react_1.useContext)(Context_1.SchemaDataContext);
175
- const { reload } = (0, useReport_1.useReport)(reportId);
175
+ const { reload } = (0, useReport_1.useReportInternal)(reportId);
176
176
  const { reports, reportsDispatch, fetchIndividualReport } = (0, react_1.useContext)(Context_1.ReportsContext);
177
177
  const { reportFiltersDispatch, reportFilters, customReportFiltersDispatch, customReportFilters, } = (0, react_1.useContext)(Context_1.ReportFiltersContext);
178
178
  const { isLoading: isDashboardsLoading } = (0, react_1.useContext)(Context_1.DashboardConfigContext);
@@ -85,6 +85,9 @@ export declare const DashboardConfigContext: React.Context<{
85
85
  type ReportState = {
86
86
  [id: string]: QuillReportInternal;
87
87
  };
88
+ type ReportLoadingState = {
89
+ [id: string]: boolean;
90
+ };
88
91
  type ReportAction = {
89
92
  type: 'ADD_REPORT';
90
93
  id: string;
@@ -99,6 +102,11 @@ type ReportAction = {
99
102
  } | {
100
103
  type: 'CLEAR_REPORTS';
101
104
  };
105
+ type ReportLoadingStateAction = {
106
+ type: 'SET_REPORT_LOADING';
107
+ id: string;
108
+ data: boolean;
109
+ };
102
110
  export declare const ReportsContext: React.Context<{
103
111
  reports: ReportState;
104
112
  reportsDispatch: React.Dispatch<ReportAction>;
@@ -116,6 +124,8 @@ export declare const ReportsContext: React.Context<{
116
124
  } | null;
117
125
  propagateChanges?: boolean;
118
126
  }) => Promise<void>;
127
+ reportsLoadingState: ReportLoadingState;
128
+ reportsLoadingStateDispatch: React.Dispatch<ReportLoadingStateAction>;
119
129
  }>;
120
130
  type ReportFiltersState = {
121
131
  [id: string]: {
@@ -1 +1 @@
1
- {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/Context.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/Context.tsx"],"names":[],"mappings":"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"}
@@ -193,10 +193,20 @@ const reportsReducer = (state = {}, action) => {
193
193
  return state;
194
194
  }
195
195
  };
196
+ const reportsLoadingStateReducer = (state = {}, action) => {
197
+ switch (action.type) {
198
+ case 'SET_REPORT_LOADING':
199
+ return { ...state, [action.id]: action.data };
200
+ default:
201
+ return state;
202
+ }
203
+ };
196
204
  exports.ReportsContext = (0, react_1.createContext)({
197
205
  reports: {},
198
206
  reportsDispatch: dummySetter,
199
207
  fetchIndividualReport: async () => { },
208
+ reportsLoadingState: {},
209
+ reportsLoadingStateDispatch: dummySetter,
200
210
  });
201
211
  const customReportFiltersReducer = (state, action) => {
202
212
  switch (action.type) {
@@ -377,6 +387,7 @@ const ContextProvider = ({ children, initialTheme, publicKey, queryEndpoint, que
377
387
  const [reportFilters, reportFiltersDispatch] = (0, react_1.useReducer)(reportFiltersReducer, {});
378
388
  const reportFilterOptionsAbortControllers = (0, react_1.useRef)({});
379
389
  const [reports, reportsDispatch] = (0, react_1.useReducer)(reportsReducer, {});
390
+ const [reportsLoadingState, reportsLoadingStateDispatch] = (0, react_1.useReducer)(reportsLoadingStateReducer, {});
380
391
  const reportsAbortControllers = (0, react_1.useRef)({});
381
392
  const fetchSchemaAbortController = (0, react_1.useRef)(null);
382
393
  const fetchSchemaProcessId = (0, react_1.useRef)(0);
@@ -750,17 +761,17 @@ const ContextProvider = ({ children, initialTheme, publicKey, queryEndpoint, que
750
761
  },
751
762
  });
752
763
  // Should we be updating the filters for all attached reports when the dashboard filters change?
753
- reportFiltersDispatch({
754
- type: 'UPDATE_REPORT_FILTER',
755
- id: filter.label,
756
- data: {
757
- filter: {
758
- ...filter,
759
- options: filterOptions,
760
- },
761
- loading: false,
762
- },
763
- });
764
+ // reportFiltersDispatch({
765
+ // type: 'UPDATE_REPORT_FILTER',
766
+ // id: filter.label, // should be a reportId
767
+ // data: {
768
+ // filter: {
769
+ // ...filter,
770
+ // options: filterOptions,
771
+ // },
772
+ // loading: false,
773
+ // },
774
+ // });
764
775
  return null;
765
776
  }
766
777
  catch (error) {
@@ -1268,6 +1279,8 @@ const ContextProvider = ({ children, initialTheme, publicKey, queryEndpoint, que
1268
1279
  reports,
1269
1280
  reportsDispatch,
1270
1281
  fetchIndividualReport,
1282
+ reportsLoadingState,
1283
+ reportsLoadingStateDispatch,
1271
1284
  }, children: (0, jsx_runtime_1.jsx)(exports.TenantContext.Provider, { value: {
1272
1285
  tenants: populatedClient?.currentTenants ?? tenants,
1273
1286
  flags: populatedClient?.currentFlags ?? flags,
@@ -1,9 +1,7 @@
1
- import { QuillReport } from './models/Report';
2
1
  export interface StaticChartProps {
3
- report: QuillReport;
4
- loading: boolean;
2
+ reportId: string;
5
3
  onClickChartElement?: (data: any) => void;
6
4
  containerStyle?: React.CSSProperties;
7
5
  }
8
- export default function StaticChart({ report, loading, onClickChartElement, containerStyle, }: StaticChartProps): import("react/jsx-runtime").JSX.Element;
6
+ export default function StaticChart({ reportId, onClickChartElement, containerStyle, }: StaticChartProps): import("react/jsx-runtime").JSX.Element;
9
7
  //# sourceMappingURL=StaticChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StaticChart.d.ts","sourceRoot":"","sources":["../../src/StaticChart.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,OAAO,EACP,mBAAmB,EACnB,cAAc,GACf,EAAE,gBAAgB,2CAUlB"}
1
+ {"version":3,"file":"StaticChart.d.ts","sourceRoot":"","sources":["../../src/StaticChart.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,QAAQ,EACR,mBAAmB,EACnB,cAAc,GACf,EAAE,gBAAgB,2CAWlB"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = StaticChart;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const Chart_1 = require("./Chart");
6
- function StaticChart({ report, loading, onClickChartElement, containerStyle, }) {
7
- return ((0, jsx_runtime_1.jsx)(Chart_1.ChartDisplay, { reportId: report.id, config: report, onClickChartElement: onClickChartElement, loading: loading, containerStyle: containerStyle }));
6
+ const useDashboard_1 = require("./hooks/useDashboard");
7
+ function StaticChart({ reportId, onClickChartElement, containerStyle, }) {
8
+ const { report, loading } = (0, useDashboard_1.useDashboardReport)(reportId);
9
+ return ((0, jsx_runtime_1.jsx)(Chart_1.ChartDisplay, { reportId: reportId, config: report ?? undefined, onClickChartElement: onClickChartElement, loading: loading, containerStyle: containerStyle }));
8
10
  }
@@ -63,7 +63,7 @@ export declare const useDashboards: () => {
63
63
  }) => Promise<void>;
64
64
  deleteDashboard: (name: string) => Promise<void>;
65
65
  };
66
- export declare const useDashboard: (dashboardName: string, fetchDataWithHook?: boolean) => {
66
+ export declare const useDashboard: (dashboardName: string) => {
67
67
  isLoading: boolean;
68
68
  sections: {
69
69
  name: string;
@@ -78,4 +78,8 @@ export declare const useDashboard: (dashboardName: string, fetchDataWithHook?: b
78
78
  };
79
79
  } | Filter>) => void;
80
80
  };
81
+ export declare const useDashboardReport: (reportId: string) => {
82
+ report: QuillReport | null;
83
+ loading: boolean;
84
+ };
81
85
  //# sourceMappingURL=useDashboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDashboard.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAGL,uBAAuB,EAGvB,MAAM,EACN,cAAc,EAGd,eAAe,EAGhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,eAAO,MAAM,oBAAoB,kBAChB,MAAM,GAAG,IAAI,kBACZ,cAAc,EAAE;;;;2CA0Mc,MAAM;qCAtK1B,MAAM,4CAEf;QACb,MAAM,EAAE,WAAW,GAAG;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC7B,oBACiB;QAChB,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;oCAmFa;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE;CAwF3E,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBAAoB,MAAM;;;;yBAK5B,OAAO,CAAC,mBAAmB,CAAC;sBAiB/B,mBAAmB;CAoB7C,CAAC;AAEF,eAAO,MAAM,aAAa;;;;CAqBzB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;uEAsCrB;QACD,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,UAAU,CAAC,EAAE,uBAAuB,CAAC;KACtC;4BAqDO,MAAM,gEAOT;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,UAAU,CAAC,EAAE,uBAAuB,CAAC;QACrC,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB;4BAyOkC,MAAM;CAwB5C,CAAC;AAGF,eAAO,MAAM,YAAY,kBACR,MAAM,kCAEpB;IACD,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAA;KAAE,EAAE,CAAC;IACrD,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,EAAE,CACZ,OAAO,EAAE,KAAK,CACV;QACE,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG;YAAE,SAAS,CAAC,EAAE,IAAI,CAAC;YAAC,OAAO,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KACjE,GACD,MAAM,CACT,KACE,IAAI,CAAC;CAmOX,CAAC"}
1
+ {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDashboard.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAGL,uBAAuB,EAGvB,MAAM,EACN,cAAc,EAGd,eAAe,EAGhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,eAAO,MAAM,oBAAoB,kBAChB,MAAM,GAAG,IAAI,kBACZ,cAAc,EAAE;;;;2CA0Mc,MAAM;qCAtK1B,MAAM,4CAEf;QACb,MAAM,EAAE,WAAW,GAAG;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC7B,oBACiB;QAChB,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;oCAmFa;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE;CAwF3E,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBAAoB,MAAM;;;;yBAK5B,OAAO,CAAC,mBAAmB,CAAC;sBAiB/B,mBAAmB;CAoB7C,CAAC;AAEF,eAAO,MAAM,aAAa;;;;CAqBzB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;uEAsCrB;QACD,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,UAAU,CAAC,EAAE,uBAAuB,CAAC;KACtC;4BAqDO,MAAM,gEAOT;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,UAAU,CAAC,EAAE,uBAAuB,CAAC;QACrC,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB;4BAyOkC,MAAM;CAwB5C,CAAC;AAGF,eAAO,MAAM,YAAY,kBACR,MAAM,KAEpB;IACD,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAA;KAAE,EAAE,CAAC;IACrD,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,EAAE,CACZ,OAAO,EAAE,KAAK,CACV;QACE,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG;YAAE,SAAS,CAAC,EAAE,IAAI,CAAC;YAAC,OAAO,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KACjE,GACD,MAAM,CACT,KACE,IAAI,CAAC;CAmOX,CAAC;AAGF,eAAO,MAAM,kBAAkB,aACnB,MAAM,KACf;IACD,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAQlB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useDashboard = exports.useDashboards = exports.useAllReports = exports.useDashboardReports = exports.useDashboardInternal = void 0;
3
+ exports.useDashboardReport = exports.useDashboard = exports.useDashboards = exports.useAllReports = exports.useDashboardReports = exports.useDashboardInternal = void 0;
4
4
  const react_1 = require("react");
5
5
  const Context_1 = require("../Context");
6
6
  const dateRangePickerUtils_1 = require("../DateRangePicker/dateRangePickerUtils");
@@ -509,12 +509,12 @@ const useDashboards = () => {
509
509
  };
510
510
  exports.useDashboards = useDashboards;
511
511
  // Dev facing
512
- const useDashboard = (dashboardName, fetchDataWithHook = true) => {
512
+ const useDashboard = (dashboardName) => {
513
513
  const { data, dashboardFilters, reload, isLoading } = (0, exports.useDashboardInternal)(dashboardName);
514
514
  const { customFilterDispatch } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
515
+ const { reportsDispatch, reportsLoadingStateDispatch } = (0, react_1.useContext)(Context_1.ReportsContext);
515
516
  const initialLoad = (0, react_1.useRef)(true);
516
517
  const fetchedInitialReports = (0, react_1.useRef)(false);
517
- const [isFetching, setIsFetching] = (0, react_1.useState)(false);
518
518
  const [client] = (0, react_1.useContext)(Context_1.ClientContext);
519
519
  const { tenants, flags } = (0, react_1.useContext)(Context_1.TenantContext);
520
520
  const { getToken } = (0, react_1.useContext)(Context_1.FetchContext);
@@ -535,20 +535,19 @@ const useDashboard = (dashboardName, fetchDataWithHook = true) => {
535
535
  .filter((v) => v !== undefined),
536
536
  }));
537
537
  }, [data?.sections, allReportsById]);
538
- const [sectionReports, setSectionReports] = (0, react_1.useState)({});
539
538
  const sections = (0, react_1.useMemo)(() => {
540
539
  return dashboardSections.map((section) => ({
541
540
  ...section,
542
- reports: section.reports.map((report) => sectionReports[report.id] ?? report),
541
+ reports: section.reports,
543
542
  }));
544
- }, [dashboardSections, sectionReports]);
543
+ }, [dashboardSections]);
545
544
  const filters = (0, react_1.useMemo)(() => {
546
545
  if (!dashboardFilters)
547
546
  return [];
548
547
  return dashboardFilters.map(Filter_1.convertInternalDashboardFilterToDashboardFilter);
549
548
  }, [dashboardFilters]);
550
549
  (0, react_1.useEffect)(() => {
551
- if (!fetchedInitialReports.current && data && fetchDataWithHook) {
550
+ if (!fetchedInitialReports.current && data) {
552
551
  fetchedInitialReports.current = true;
553
552
  fetchReports([], dashboardFilters ?? []);
554
553
  }
@@ -643,16 +642,18 @@ const useDashboard = (dashboardName, fetchDataWithHook = true) => {
643
642
  const customFilters = filters.filter(isFilter);
644
643
  const newCustomFilters = applyCustomFilters(customFilters);
645
644
  const newDashboardFilters = applyDashboardFilters(dashboardFilters);
646
- if (fetchDataWithHook) {
647
- fetchReports(newCustomFilters, newDashboardFilters);
648
- }
645
+ fetchReports(newCustomFilters, newDashboardFilters);
649
646
  };
650
647
  const fetchReports = async (customFilters, dashboardFilters) => {
651
648
  if (!client)
652
649
  return;
653
- setIsFetching(true);
654
650
  const allReportIds = sections.flatMap((section) => section.reports.map((report) => report.id));
655
- const newReports = (await Promise.all(allReportIds.map(async (reportId) => {
651
+ await Promise.all(allReportIds.map(async (reportId) => {
652
+ reportsLoadingStateDispatch({
653
+ type: 'SET_REPORT_LOADING',
654
+ id: reportId,
655
+ data: true,
656
+ });
656
657
  const { report, error } = await (0, report_1.fetchReport)({
657
658
  reportId,
658
659
  client,
@@ -665,20 +666,34 @@ const useDashboard = (dashboardName, fetchDataWithHook = true) => {
665
666
  console.error(error);
666
667
  return null;
667
668
  }
668
- return (0, report_1.convertInternalReportToReport)((0, merge_1.mergeComparisonRange)(report), dashboardFilters);
669
- }))).filter((r) => r !== null);
670
- const newSectionReports = newReports.reduce((acc, report) => {
671
- acc[report.id] = report;
672
- return acc;
673
- }, {});
674
- setSectionReports(newSectionReports);
675
- setIsFetching(false);
669
+ const convertedReport = (0, report_1.convertInternalReportToReport)((0, merge_1.mergeComparisonRange)(report), dashboardFilters);
670
+ reportsDispatch({
671
+ type: 'UPDATE_REPORT',
672
+ id: reportId,
673
+ data: convertedReport,
674
+ });
675
+ reportsLoadingStateDispatch({
676
+ type: 'SET_REPORT_LOADING',
677
+ id: reportId,
678
+ data: false,
679
+ });
680
+ return convertedReport;
681
+ }));
676
682
  };
677
683
  return {
678
- isLoading: !!isLoading || isFetching,
684
+ isLoading: !!isLoading,
679
685
  sections,
680
686
  filters,
681
687
  applyFilters,
682
688
  };
683
689
  };
684
690
  exports.useDashboard = useDashboard;
691
+ // useDashboard accompanying hook
692
+ const useDashboardReport = (reportId) => {
693
+ const { reports, reportsLoadingState } = (0, react_1.useContext)(Context_1.ReportsContext);
694
+ return {
695
+ report: reportsLoadingState[reportId] ? null : (reports[reportId] ?? null),
696
+ loading: !!reportsLoadingState[reportId],
697
+ };
698
+ };
699
+ exports.useDashboardReport = useDashboardReport;
@@ -3,7 +3,7 @@ import { InternalDashboardFilter, InternalFilter } from '../models/Filter';
3
3
  export declare const useReports: () => {
4
4
  reloadFilteredReports: (predicate: (report: QuillReportInternal) => boolean) => void;
5
5
  };
6
- export declare const useReport: (reportId: string) => {
6
+ export declare const useReportInternal: (reportId: string) => {
7
7
  reload: (overrideFilters: {
8
8
  filters: InternalDashboardFilter[];
9
9
  editedFilterLabel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"useReport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useReport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG3E,eAAO,MAAM,UAAU;uCAIR,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO;CAmBtD,CAAC;AAIF,eAAO,MAAM,SAAS,aAAc,MAAM;8BAIrB;QACf,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,kBACc,cAAc,EAAE,cACpB,OAAO,GAAG,UAAU,GAAG,WAAW;CA4BhD,CAAC"}
1
+ {"version":3,"file":"useReport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useReport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG3E,eAAO,MAAM,UAAU;uCAIR,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO;CAmBtD,CAAC;AAIF,eAAO,MAAM,iBAAiB,aAAc,MAAM;8BAI7B;QACf,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,kBACc,cAAc,EAAE,cACpB,OAAO,GAAG,UAAU,GAAG,WAAW;CA4BhD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useReport = exports.useReports = void 0;
3
+ exports.useReportInternal = exports.useReports = void 0;
4
4
  const react_1 = require("react");
5
5
  const Context_1 = require("../Context");
6
6
  const useDashboard_1 = require("./useDashboard");
@@ -27,7 +27,7 @@ const useReports = () => {
27
27
  exports.useReports = useReports;
28
28
  // Exposes context operations with the "Report" scope
29
29
  // Not meant to be customer facing
30
- const useReport = (reportId) => {
30
+ const useReportInternal = (reportId) => {
31
31
  const { loadFiltersForReport } = (0, react_1.useContext)(Context_1.ReportFiltersContext);
32
32
  const { allReportsById } = (0, useDashboard_1.useAllReports)();
33
33
  const reload = async (overrideFilters, customFilters = [], initiator = 'Chart') => {
@@ -47,4 +47,4 @@ const useReport = (reportId) => {
47
47
  };
48
48
  return { reload };
49
49
  };
50
- exports.useReport = useReport;
50
+ exports.useReportInternal = useReportInternal;
@@ -16,7 +16,7 @@ export type { ChartEditorProps } from './ChartEditor';
16
16
  export { default as StaticChart } from './StaticChart';
17
17
  export type { StaticChartProps } from './StaticChart';
18
18
  export { quillFormat as format } from './utils/valueFormatter';
19
- import { useDashboard, useDashboardInternal, useDashboards, useDashboardReports, useAllReports } from './hooks/useDashboard';
19
+ import { useDashboard, useDashboardInternal, useDashboards, useDashboardReports, useAllReports, useDashboardReport } from './hooks/useDashboard';
20
20
  export { useReports } from './hooks/useReport';
21
21
  export { useQuill } from './hooks/useQuill';
22
22
  export { useExport } from './hooks/useExport';
@@ -33,5 +33,5 @@ export type { DashboardSectionComponentProps } from './components/Dashboard/Dash
33
33
  export { Calculation } from './utils/dataProcessing';
34
34
  export { StringOperator, NullOperator, DateOperator, NumberOperator, FilterType, DashboardFilterType, type Filter, type InternalFilter, type InternalDashboardDateFilter, type QuillCustomInterval, type QuillCustomRelativeInterval, } from './models/Filter';
35
35
  export { ALL_TENANTS, SINGLE_TENANT } from './utils/constants';
36
- export { useDashboard, useDashboardInternal, useDashboards, useDashboardReports, useAllReports, };
36
+ export { useDashboard, useDashboardInternal, useDashboards, useDashboardReports, useAllReports, useDashboardReport, };
37
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.useAllReports = exports.useDashboardReports = exports.useDashboards = exports.useDashboardInternal = exports.useDashboard = exports.SINGLE_TENANT = exports.ALL_TENANTS = exports.DashboardFilterType = exports.FilterType = exports.NumberOperator = exports.DateOperator = exports.NullOperator = exports.StringOperator = exports.Calculation = exports.ThemeContext = exports.downloadCSV = exports.useVirtualTables = exports.useAskQuill = exports.useMemoizedRows = exports.useExport = exports.useQuill = exports.useReports = exports.format = exports.StaticChart = exports.ChartEditor = exports.ReportBuilder = exports.SchemaListComponent = exports.SQLEditor = exports.Table = exports.Chart = exports.QuillProvider = exports.Dashboard = void 0;
6
+ exports.useDashboardReport = exports.useAllReports = exports.useDashboardReports = exports.useDashboards = exports.useDashboardInternal = exports.useDashboard = exports.SINGLE_TENANT = exports.ALL_TENANTS = exports.DashboardFilterType = exports.FilterType = exports.NumberOperator = exports.DateOperator = exports.NullOperator = exports.StringOperator = exports.Calculation = exports.ThemeContext = exports.downloadCSV = exports.useVirtualTables = exports.useAskQuill = exports.useMemoizedRows = exports.useExport = exports.useQuill = exports.useReports = exports.format = exports.StaticChart = exports.ChartEditor = exports.ReportBuilder = exports.SchemaListComponent = exports.SQLEditor = exports.Table = exports.Chart = exports.QuillProvider = exports.Dashboard = void 0;
7
7
  // src/index.ts
8
8
  var Dashboard_1 = require("./Dashboard");
9
9
  Object.defineProperty(exports, "Dashboard", { enumerable: true, get: function () { return __importDefault(Dashboard_1).default; } });
@@ -30,6 +30,7 @@ Object.defineProperty(exports, "useDashboardInternal", { enumerable: true, get:
30
30
  Object.defineProperty(exports, "useDashboards", { enumerable: true, get: function () { return useDashboard_1.useDashboards; } });
31
31
  Object.defineProperty(exports, "useDashboardReports", { enumerable: true, get: function () { return useDashboard_1.useDashboardReports; } });
32
32
  Object.defineProperty(exports, "useAllReports", { enumerable: true, get: function () { return useDashboard_1.useAllReports; } });
33
+ Object.defineProperty(exports, "useDashboardReport", { enumerable: true, get: function () { return useDashboard_1.useDashboardReport; } });
33
34
  var useReport_1 = require("./hooks/useReport");
34
35
  Object.defineProperty(exports, "useReports", { enumerable: true, get: function () { return useReport_1.useReports; } });
35
36
  var useQuill_1 = require("./hooks/useQuill");
package/dist/esm/Chart.js CHANGED
@@ -22,7 +22,7 @@ import QuillMetricComponent from './components/Dashboard/MetricComponent';
22
22
  import DataLoader, { ChartDataLoader, } from './components/Dashboard/DataLoader';
23
23
  import QuillTableComponent from './components/Dashboard/TableComponent';
24
24
  import { COMPARISON_RANGE, convertPresetOptionsToSelectableList, defaultOptionsV2, getRangeFromPresetOptions, } from './DateRangePicker/dateRangePickerUtils';
25
- import { useReport } from './hooks/useReport';
25
+ import { useReportInternal } from './hooks/useReport';
26
26
  import equal from 'fast-deep-equal';
27
27
  import { QuillMultiSelectComponentWithCombo } from './components/QuillMultiSelectWithCombo';
28
28
  import { USMap, WorldMap } from './components/Chart/MapChart';
@@ -131,7 +131,7 @@ export function isEquivalent(filters1, filters2) {
131
131
  }
132
132
  export default function Chart({ colors, reportId, className, containerStyle, isAnimationActive, hideXAxis, hideYAxis, hideCartesianGrid, hideHorizontalCartesianGrid = false, hideVerticalCartesianGrid = true, hideSubsequentXAxisTicks = false, cartesianGridLineStyle = 'solid', cartesianGridLineColor, comparisonLineStyle, hideDateRangeFilter = false, hideFilters = false, mapColorsToFields, LoadingComponent = QuillLoadingSkeleton, SelectComponent = QuillSelectComponent, MultiSelectComponent = QuillMultiSelectComponentWithCombo, DateRangePickerComponent = QuillDateRangePicker, FilterContainerComponent = QuillFilterContainerComponent, TableComponent = QuillTableComponent, MetricComponent = QuillMetricComponent, filters, onClickChartElement, dateBucket, propagateChanges, }) {
133
133
  const [schemaData] = useContext(SchemaDataContext);
134
- const { reload } = useReport(reportId);
134
+ const { reload } = useReportInternal(reportId);
135
135
  const { reports, reportsDispatch, fetchIndividualReport } = useContext(ReportsContext);
136
136
  const { reportFiltersDispatch, reportFilters, customReportFiltersDispatch, customReportFilters, } = useContext(ReportFiltersContext);
137
137
  const { isLoading: isDashboardsLoading } = useContext(DashboardConfigContext);
@@ -85,6 +85,9 @@ export declare const DashboardConfigContext: React.Context<{
85
85
  type ReportState = {
86
86
  [id: string]: QuillReportInternal;
87
87
  };
88
+ type ReportLoadingState = {
89
+ [id: string]: boolean;
90
+ };
88
91
  type ReportAction = {
89
92
  type: 'ADD_REPORT';
90
93
  id: string;
@@ -99,6 +102,11 @@ type ReportAction = {
99
102
  } | {
100
103
  type: 'CLEAR_REPORTS';
101
104
  };
105
+ type ReportLoadingStateAction = {
106
+ type: 'SET_REPORT_LOADING';
107
+ id: string;
108
+ data: boolean;
109
+ };
102
110
  export declare const ReportsContext: React.Context<{
103
111
  reports: ReportState;
104
112
  reportsDispatch: React.Dispatch<ReportAction>;
@@ -116,6 +124,8 @@ export declare const ReportsContext: React.Context<{
116
124
  } | null;
117
125
  propagateChanges?: boolean;
118
126
  }) => Promise<void>;
127
+ reportsLoadingState: ReportLoadingState;
128
+ reportsLoadingStateDispatch: React.Dispatch<ReportLoadingStateAction>;
119
129
  }>;
120
130
  type ReportFiltersState = {
121
131
  [id: string]: {
@@ -1 +1 @@
1
- {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/Context.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/Context.tsx"],"names":[],"mappings":"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"}
@@ -187,10 +187,20 @@ const reportsReducer = (state = {}, action) => {
187
187
  return state;
188
188
  }
189
189
  };
190
+ const reportsLoadingStateReducer = (state = {}, action) => {
191
+ switch (action.type) {
192
+ case 'SET_REPORT_LOADING':
193
+ return { ...state, [action.id]: action.data };
194
+ default:
195
+ return state;
196
+ }
197
+ };
190
198
  export const ReportsContext = createContext({
191
199
  reports: {},
192
200
  reportsDispatch: dummySetter,
193
201
  fetchIndividualReport: async () => { },
202
+ reportsLoadingState: {},
203
+ reportsLoadingStateDispatch: dummySetter,
194
204
  });
195
205
  const customReportFiltersReducer = (state, action) => {
196
206
  switch (action.type) {
@@ -371,6 +381,7 @@ export const ContextProvider = ({ children, initialTheme, publicKey, queryEndpoi
371
381
  const [reportFilters, reportFiltersDispatch] = useReducer(reportFiltersReducer, {});
372
382
  const reportFilterOptionsAbortControllers = useRef({});
373
383
  const [reports, reportsDispatch] = useReducer(reportsReducer, {});
384
+ const [reportsLoadingState, reportsLoadingStateDispatch] = useReducer(reportsLoadingStateReducer, {});
374
385
  const reportsAbortControllers = useRef({});
375
386
  const fetchSchemaAbortController = useRef(null);
376
387
  const fetchSchemaProcessId = useRef(0);
@@ -744,17 +755,17 @@ export const ContextProvider = ({ children, initialTheme, publicKey, queryEndpoi
744
755
  },
745
756
  });
746
757
  // Should we be updating the filters for all attached reports when the dashboard filters change?
747
- reportFiltersDispatch({
748
- type: 'UPDATE_REPORT_FILTER',
749
- id: filter.label,
750
- data: {
751
- filter: {
752
- ...filter,
753
- options: filterOptions,
754
- },
755
- loading: false,
756
- },
757
- });
758
+ // reportFiltersDispatch({
759
+ // type: 'UPDATE_REPORT_FILTER',
760
+ // id: filter.label, // should be a reportId
761
+ // data: {
762
+ // filter: {
763
+ // ...filter,
764
+ // options: filterOptions,
765
+ // },
766
+ // loading: false,
767
+ // },
768
+ // });
758
769
  return null;
759
770
  }
760
771
  catch (error) {
@@ -1262,6 +1273,8 @@ export const ContextProvider = ({ children, initialTheme, publicKey, queryEndpoi
1262
1273
  reports,
1263
1274
  reportsDispatch,
1264
1275
  fetchIndividualReport,
1276
+ reportsLoadingState,
1277
+ reportsLoadingStateDispatch,
1265
1278
  }, children: _jsx(TenantContext.Provider, { value: {
1266
1279
  tenants: populatedClient?.currentTenants ?? tenants,
1267
1280
  flags: populatedClient?.currentFlags ?? flags,
@@ -1,9 +1,7 @@
1
- import { QuillReport } from './models/Report';
2
1
  export interface StaticChartProps {
3
- report: QuillReport;
4
- loading: boolean;
2
+ reportId: string;
5
3
  onClickChartElement?: (data: any) => void;
6
4
  containerStyle?: React.CSSProperties;
7
5
  }
8
- export default function StaticChart({ report, loading, onClickChartElement, containerStyle, }: StaticChartProps): import("react/jsx-runtime").JSX.Element;
6
+ export default function StaticChart({ reportId, onClickChartElement, containerStyle, }: StaticChartProps): import("react/jsx-runtime").JSX.Element;
9
7
  //# sourceMappingURL=StaticChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StaticChart.d.ts","sourceRoot":"","sources":["../../src/StaticChart.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,OAAO,EACP,mBAAmB,EACnB,cAAc,GACf,EAAE,gBAAgB,2CAUlB"}
1
+ {"version":3,"file":"StaticChart.d.ts","sourceRoot":"","sources":["../../src/StaticChart.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,QAAQ,EACR,mBAAmB,EACnB,cAAc,GACf,EAAE,gBAAgB,2CAWlB"}
@@ -1,5 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { ChartDisplay } from './Chart';
3
- export default function StaticChart({ report, loading, onClickChartElement, containerStyle, }) {
4
- return (_jsx(ChartDisplay, { reportId: report.id, config: report, onClickChartElement: onClickChartElement, loading: loading, containerStyle: containerStyle }));
3
+ import { useDashboardReport } from './hooks/useDashboard';
4
+ export default function StaticChart({ reportId, onClickChartElement, containerStyle, }) {
5
+ const { report, loading } = useDashboardReport(reportId);
6
+ return (_jsx(ChartDisplay, { reportId: reportId, config: report ?? undefined, onClickChartElement: onClickChartElement, loading: loading, containerStyle: containerStyle }));
5
7
  }
@@ -63,7 +63,7 @@ export declare const useDashboards: () => {
63
63
  }) => Promise<void>;
64
64
  deleteDashboard: (name: string) => Promise<void>;
65
65
  };
66
- export declare const useDashboard: (dashboardName: string, fetchDataWithHook?: boolean) => {
66
+ export declare const useDashboard: (dashboardName: string) => {
67
67
  isLoading: boolean;
68
68
  sections: {
69
69
  name: string;
@@ -78,4 +78,8 @@ export declare const useDashboard: (dashboardName: string, fetchDataWithHook?: b
78
78
  };
79
79
  } | Filter>) => void;
80
80
  };
81
+ export declare const useDashboardReport: (reportId: string) => {
82
+ report: QuillReport | null;
83
+ loading: boolean;
84
+ };
81
85
  //# sourceMappingURL=useDashboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDashboard.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAGL,uBAAuB,EAGvB,MAAM,EACN,cAAc,EAGd,eAAe,EAGhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,eAAO,MAAM,oBAAoB,kBAChB,MAAM,GAAG,IAAI,kBACZ,cAAc,EAAE;;;;2CA0Mc,MAAM;qCAtK1B,MAAM,4CAEf;QACb,MAAM,EAAE,WAAW,GAAG;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC7B,oBACiB;QAChB,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;oCAmFa;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE;CAwF3E,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBAAoB,MAAM;;;;yBAK5B,OAAO,CAAC,mBAAmB,CAAC;sBAiB/B,mBAAmB;CAoB7C,CAAC;AAEF,eAAO,MAAM,aAAa;;;;CAqBzB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;uEAsCrB;QACD,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,UAAU,CAAC,EAAE,uBAAuB,CAAC;KACtC;4BAqDO,MAAM,gEAOT;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,UAAU,CAAC,EAAE,uBAAuB,CAAC;QACrC,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB;4BAyOkC,MAAM;CAwB5C,CAAC;AAGF,eAAO,MAAM,YAAY,kBACR,MAAM,kCAEpB;IACD,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAA;KAAE,EAAE,CAAC;IACrD,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,EAAE,CACZ,OAAO,EAAE,KAAK,CACV;QACE,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG;YAAE,SAAS,CAAC,EAAE,IAAI,CAAC;YAAC,OAAO,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KACjE,GACD,MAAM,CACT,KACE,IAAI,CAAC;CAmOX,CAAC"}
1
+ {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDashboard.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAGL,uBAAuB,EAGvB,MAAM,EACN,cAAc,EAGd,eAAe,EAGhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,eAAO,MAAM,oBAAoB,kBAChB,MAAM,GAAG,IAAI,kBACZ,cAAc,EAAE;;;;2CA0Mc,MAAM;qCAtK1B,MAAM,4CAEf;QACb,MAAM,EAAE,WAAW,GAAG;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC7B,oBACiB;QAChB,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;oCAmFa;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE;CAwF3E,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBAAoB,MAAM;;;;yBAK5B,OAAO,CAAC,mBAAmB,CAAC;sBAiB/B,mBAAmB;CAoB7C,CAAC;AAEF,eAAO,MAAM,aAAa;;;;CAqBzB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;uEAsCrB;QACD,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,UAAU,CAAC,EAAE,uBAAuB,CAAC;KACtC;4BAqDO,MAAM,gEAOT;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,UAAU,CAAC,EAAE,uBAAuB,CAAC;QACrC,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB;4BAyOkC,MAAM;CAwB5C,CAAC;AAGF,eAAO,MAAM,YAAY,kBACR,MAAM,KAEpB;IACD,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAA;KAAE,EAAE,CAAC;IACrD,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,EAAE,CACZ,OAAO,EAAE,KAAK,CACV;QACE,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG;YAAE,SAAS,CAAC,EAAE,IAAI,CAAC;YAAC,OAAO,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KACjE,GACD,MAAM,CACT,KACE,IAAI,CAAC;CAmOX,CAAC;AAGF,eAAO,MAAM,kBAAkB,aACnB,MAAM,KACf;IACD,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAQlB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { useContext, useEffect, useMemo, useRef, useState } from 'react';
1
+ import { useContext, useEffect, useMemo, useRef } from 'react';
2
2
  import { ClientContext, DashboardConfigContext, DashboardContext, DashboardFiltersContext, FetchContext, ReportFiltersContext, ReportsContext, TenantContext, } from '../Context';
3
3
  import { convertPresetOptionsToSelectableList, PRIMARY_RANGE, } from '../DateRangePicker/dateRangePickerUtils';
4
4
  import { convertCustomFilter, InternalDashboardFilterType, StringFilterType, convertInternalDashboardFilterToDashboardFilter, } from '../models/Filter';
@@ -502,12 +502,12 @@ export const useDashboards = () => {
502
502
  };
503
503
  };
504
504
  // Dev facing
505
- export const useDashboard = (dashboardName, fetchDataWithHook = true) => {
505
+ export const useDashboard = (dashboardName) => {
506
506
  const { data, dashboardFilters, reload, isLoading } = useDashboardInternal(dashboardName);
507
507
  const { customFilterDispatch } = useContext(DashboardFiltersContext);
508
+ const { reportsDispatch, reportsLoadingStateDispatch } = useContext(ReportsContext);
508
509
  const initialLoad = useRef(true);
509
510
  const fetchedInitialReports = useRef(false);
510
- const [isFetching, setIsFetching] = useState(false);
511
511
  const [client] = useContext(ClientContext);
512
512
  const { tenants, flags } = useContext(TenantContext);
513
513
  const { getToken } = useContext(FetchContext);
@@ -528,20 +528,19 @@ export const useDashboard = (dashboardName, fetchDataWithHook = true) => {
528
528
  .filter((v) => v !== undefined),
529
529
  }));
530
530
  }, [data?.sections, allReportsById]);
531
- const [sectionReports, setSectionReports] = useState({});
532
531
  const sections = useMemo(() => {
533
532
  return dashboardSections.map((section) => ({
534
533
  ...section,
535
- reports: section.reports.map((report) => sectionReports[report.id] ?? report),
534
+ reports: section.reports,
536
535
  }));
537
- }, [dashboardSections, sectionReports]);
536
+ }, [dashboardSections]);
538
537
  const filters = useMemo(() => {
539
538
  if (!dashboardFilters)
540
539
  return [];
541
540
  return dashboardFilters.map(convertInternalDashboardFilterToDashboardFilter);
542
541
  }, [dashboardFilters]);
543
542
  useEffect(() => {
544
- if (!fetchedInitialReports.current && data && fetchDataWithHook) {
543
+ if (!fetchedInitialReports.current && data) {
545
544
  fetchedInitialReports.current = true;
546
545
  fetchReports([], dashboardFilters ?? []);
547
546
  }
@@ -636,16 +635,18 @@ export const useDashboard = (dashboardName, fetchDataWithHook = true) => {
636
635
  const customFilters = filters.filter(isFilter);
637
636
  const newCustomFilters = applyCustomFilters(customFilters);
638
637
  const newDashboardFilters = applyDashboardFilters(dashboardFilters);
639
- if (fetchDataWithHook) {
640
- fetchReports(newCustomFilters, newDashboardFilters);
641
- }
638
+ fetchReports(newCustomFilters, newDashboardFilters);
642
639
  };
643
640
  const fetchReports = async (customFilters, dashboardFilters) => {
644
641
  if (!client)
645
642
  return;
646
- setIsFetching(true);
647
643
  const allReportIds = sections.flatMap((section) => section.reports.map((report) => report.id));
648
- const newReports = (await Promise.all(allReportIds.map(async (reportId) => {
644
+ await Promise.all(allReportIds.map(async (reportId) => {
645
+ reportsLoadingStateDispatch({
646
+ type: 'SET_REPORT_LOADING',
647
+ id: reportId,
648
+ data: true,
649
+ });
649
650
  const { report, error } = await fetchReport({
650
651
  reportId,
651
652
  client,
@@ -658,19 +659,32 @@ export const useDashboard = (dashboardName, fetchDataWithHook = true) => {
658
659
  console.error(error);
659
660
  return null;
660
661
  }
661
- return convertInternalReportToReport(mergeComparisonRange(report), dashboardFilters);
662
- }))).filter((r) => r !== null);
663
- const newSectionReports = newReports.reduce((acc, report) => {
664
- acc[report.id] = report;
665
- return acc;
666
- }, {});
667
- setSectionReports(newSectionReports);
668
- setIsFetching(false);
662
+ const convertedReport = convertInternalReportToReport(mergeComparisonRange(report), dashboardFilters);
663
+ reportsDispatch({
664
+ type: 'UPDATE_REPORT',
665
+ id: reportId,
666
+ data: convertedReport,
667
+ });
668
+ reportsLoadingStateDispatch({
669
+ type: 'SET_REPORT_LOADING',
670
+ id: reportId,
671
+ data: false,
672
+ });
673
+ return convertedReport;
674
+ }));
669
675
  };
670
676
  return {
671
- isLoading: !!isLoading || isFetching,
677
+ isLoading: !!isLoading,
672
678
  sections,
673
679
  filters,
674
680
  applyFilters,
675
681
  };
676
682
  };
683
+ // useDashboard accompanying hook
684
+ export const useDashboardReport = (reportId) => {
685
+ const { reports, reportsLoadingState } = useContext(ReportsContext);
686
+ return {
687
+ report: reportsLoadingState[reportId] ? null : (reports[reportId] ?? null),
688
+ loading: !!reportsLoadingState[reportId],
689
+ };
690
+ };
@@ -3,7 +3,7 @@ import { InternalDashboardFilter, InternalFilter } from '../models/Filter';
3
3
  export declare const useReports: () => {
4
4
  reloadFilteredReports: (predicate: (report: QuillReportInternal) => boolean) => void;
5
5
  };
6
- export declare const useReport: (reportId: string) => {
6
+ export declare const useReportInternal: (reportId: string) => {
7
7
  reload: (overrideFilters: {
8
8
  filters: InternalDashboardFilter[];
9
9
  editedFilterLabel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"useReport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useReport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG3E,eAAO,MAAM,UAAU;uCAIR,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO;CAmBtD,CAAC;AAIF,eAAO,MAAM,SAAS,aAAc,MAAM;8BAIrB;QACf,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,kBACc,cAAc,EAAE,cACpB,OAAO,GAAG,UAAU,GAAG,WAAW;CA4BhD,CAAC"}
1
+ {"version":3,"file":"useReport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useReport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG3E,eAAO,MAAM,UAAU;uCAIR,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO;CAmBtD,CAAC;AAIF,eAAO,MAAM,iBAAiB,aAAc,MAAM;8BAI7B;QACf,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,kBACc,cAAc,EAAE,cACpB,OAAO,GAAG,UAAU,GAAG,WAAW;CA4BhD,CAAC"}
@@ -23,7 +23,7 @@ export const useReports = () => {
23
23
  };
24
24
  // Exposes context operations with the "Report" scope
25
25
  // Not meant to be customer facing
26
- export const useReport = (reportId) => {
26
+ export const useReportInternal = (reportId) => {
27
27
  const { loadFiltersForReport } = useContext(ReportFiltersContext);
28
28
  const { allReportsById } = useAllReports();
29
29
  const reload = async (overrideFilters, customFilters = [], initiator = 'Chart') => {
@@ -16,7 +16,7 @@ export type { ChartEditorProps } from './ChartEditor';
16
16
  export { default as StaticChart } from './StaticChart';
17
17
  export type { StaticChartProps } from './StaticChart';
18
18
  export { quillFormat as format } from './utils/valueFormatter';
19
- import { useDashboard, useDashboardInternal, useDashboards, useDashboardReports, useAllReports } from './hooks/useDashboard';
19
+ import { useDashboard, useDashboardInternal, useDashboards, useDashboardReports, useAllReports, useDashboardReport } from './hooks/useDashboard';
20
20
  export { useReports } from './hooks/useReport';
21
21
  export { useQuill } from './hooks/useQuill';
22
22
  export { useExport } from './hooks/useExport';
@@ -33,5 +33,5 @@ export type { DashboardSectionComponentProps } from './components/Dashboard/Dash
33
33
  export { Calculation } from './utils/dataProcessing';
34
34
  export { StringOperator, NullOperator, DateOperator, NumberOperator, FilterType, DashboardFilterType, type Filter, type InternalFilter, type InternalDashboardDateFilter, type QuillCustomInterval, type QuillCustomRelativeInterval, } from './models/Filter';
35
35
  export { ALL_TENANTS, SINGLE_TENANT } from './utils/constants';
36
- export { useDashboard, useDashboardInternal, useDashboards, useDashboardReports, useAllReports, };
36
+ export { useDashboard, useDashboardInternal, useDashboards, useDashboardReports, useAllReports, useDashboardReport, };
37
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -8,7 +8,7 @@ export { default as ReportBuilder } from './ReportBuilder';
8
8
  export { default as ChartEditor } from './ChartEditor';
9
9
  export { default as StaticChart } from './StaticChart';
10
10
  export { quillFormat as format } from './utils/valueFormatter';
11
- import { useDashboard, useDashboardInternal, useDashboards, useDashboardReports, useAllReports, } from './hooks/useDashboard';
11
+ import { useDashboard, useDashboardInternal, useDashboards, useDashboardReports, useAllReports, useDashboardReport, } from './hooks/useDashboard';
12
12
  export { useReports } from './hooks/useReport';
13
13
  export { useQuill } from './hooks/useQuill';
14
14
  export { useExport } from './hooks/useExport';
@@ -20,4 +20,4 @@ export { ThemeContext } from './Context';
20
20
  export { Calculation } from './utils/dataProcessing';
21
21
  export { StringOperator, NullOperator, DateOperator, NumberOperator, FilterType, DashboardFilterType, } from './models/Filter';
22
22
  export { ALL_TENANTS, SINGLE_TENANT } from './utils/constants';
23
- export { useDashboard, useDashboardInternal, useDashboards, useDashboardReports, useAllReports, };
23
+ export { useDashboard, useDashboardInternal, useDashboards, useDashboardReports, useAllReports, useDashboardReport, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillsql/react",
3
- "version": "2.14.1",
3
+ "version": "2.14.2",
4
4
  "exports": {
5
5
  ".": {
6
6
  "import": "./dist/esm/index.js",