@quillsql/react 2.12.39 → 2.12.40

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.
Files changed (63) hide show
  1. package/dist/cjs/Dashboard.d.ts +35 -3
  2. package/dist/cjs/Dashboard.d.ts.map +1 -1
  3. package/dist/cjs/Dashboard.js +69 -71
  4. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  5. package/dist/cjs/components/Dashboard/ChartComponent.js +1 -0
  6. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts +12 -0
  7. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -0
  8. package/dist/cjs/components/Dashboard/DashboardTemplate.js +69 -0
  9. package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts +4 -0
  10. package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts.map +1 -0
  11. package/dist/cjs/components/Dashboard/TemplateChartComponent.js +23 -0
  12. package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts +4 -0
  13. package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -0
  14. package/dist/cjs/components/Dashboard/TemplateMetricComponent.js +23 -0
  15. package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts +15 -0
  16. package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts.map +1 -0
  17. package/dist/cjs/components/Dashboard/TemplateTableComponent.js +23 -0
  18. package/dist/cjs/components/Dashboard/util.d.ts +6 -0
  19. package/dist/cjs/components/Dashboard/util.d.ts.map +1 -0
  20. package/dist/cjs/components/Dashboard/util.js +85 -0
  21. package/dist/cjs/components/UiComponents.d.ts +1 -23
  22. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  23. package/dist/cjs/components/UiComponents.js +67 -25
  24. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  25. package/dist/cjs/hooks/useDashboard.js +7 -5
  26. package/dist/cjs/models/Report.d.ts +4 -0
  27. package/dist/cjs/models/Report.d.ts.map +1 -1
  28. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  29. package/dist/cjs/utils/dashboard.js +2 -0
  30. package/dist/cjs/utils/dates.d.ts +1 -1
  31. package/dist/cjs/utils/filterProcessing.d.ts +1 -1
  32. package/dist/esm/Dashboard.d.ts +35 -3
  33. package/dist/esm/Dashboard.d.ts.map +1 -1
  34. package/dist/esm/Dashboard.js +70 -72
  35. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  36. package/dist/esm/components/Dashboard/ChartComponent.js +1 -0
  37. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts +12 -0
  38. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -0
  39. package/dist/esm/components/Dashboard/DashboardTemplate.js +63 -0
  40. package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts +4 -0
  41. package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts.map +1 -0
  42. package/dist/esm/components/Dashboard/TemplateChartComponent.js +17 -0
  43. package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts +4 -0
  44. package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -0
  45. package/dist/esm/components/Dashboard/TemplateMetricComponent.js +17 -0
  46. package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts +15 -0
  47. package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts.map +1 -0
  48. package/dist/esm/components/Dashboard/TemplateTableComponent.js +17 -0
  49. package/dist/esm/components/Dashboard/util.d.ts +6 -0
  50. package/dist/esm/components/Dashboard/util.d.ts.map +1 -0
  51. package/dist/esm/components/Dashboard/util.js +80 -0
  52. package/dist/esm/components/UiComponents.d.ts +1 -23
  53. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  54. package/dist/esm/components/UiComponents.js +65 -23
  55. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  56. package/dist/esm/hooks/useDashboard.js +7 -5
  57. package/dist/esm/models/Report.d.ts +4 -0
  58. package/dist/esm/models/Report.d.ts.map +1 -1
  59. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  60. package/dist/esm/utils/dashboard.js +2 -0
  61. package/dist/esm/utils/dates.d.ts +1 -1
  62. package/dist/esm/utils/filterProcessing.d.ts +1 -1
  63. package/package.json +1 -1
@@ -9,11 +9,12 @@ import DashboardSectionContainer from './components/Dashboard/DashboardSectionCo
9
9
  import QuillMetricComponent from './components/Dashboard/MetricComponent';
10
10
  import QuillTableComponent from './components/Dashboard/TableComponent';
11
11
  import QuillChartComponent from './components/Dashboard/ChartComponent';
12
+ import QuillTemplateChartComponent from './components/Dashboard/TemplateChartComponent';
12
13
  import DashboardSection from './components/Dashboard/DashboardSection';
13
14
  import { styleToProps } from './utils/styles';
14
15
  import { QuillDateRangePicker } from './DateRangePicker/QuillDateRangePicker';
15
16
  import DataLoader, { ChartDataLoader, } from './components/Dashboard/DataLoader';
16
- import { QuillEmptyDashboardComponent, QuillFilterContainerComponent, QuillLoadingDashboardComponent, QuillUserFilterModalComponent, MemoizedButton, MemoizedSecondaryButton, QuillTextInput, MemoizedPopover, QuillErrorMessageComponent, } from './components/UiComponents';
17
+ import { QuillEmptyDashboardComponent, QuillFilterContainerComponent, QuillLoadingDashboardComponent, QuillModalComponent, MemoizedButton, MemoizedSecondaryButton, QuillTextInput, MemoizedPopover, QuillErrorMessageComponent, } from './components/UiComponents';
17
18
  import { DashboardFilter } from './components/Dashboard/DashboardFilter';
18
19
  import { BoolOperator, FieldTypes, NullOperator, NumberOperator, StringOperator, } from './models/Filter';
19
20
  import { QuillMultiSelectComponentWithCombo } from './components/QuillMultiSelectWithCombo';
@@ -26,6 +27,9 @@ import { filterSentence, getType } from './utils/filterProcessing';
26
27
  import { QuillChartErrorWithAction } from './components/Chart/ChartError';
27
28
  import { FilterPopoverWrapper, QuillFilterPopover, } from './components/ReportBuilder/ui';
28
29
  import FilterModal from './components/ReportBuilder/FilterModal';
30
+ import QuillTemplateMetricComponent from './components/Dashboard/TemplateMetricComponent';
31
+ import QuillTemplateTableComponent from './components/Dashboard/TemplateTableComponent';
32
+ import QuillDashboardTemplate from './components/Dashboard/DashboardTemplate';
29
33
  const defaultChartContainerStyles = {
30
34
  display: 'flex',
31
35
  width: '100%',
@@ -63,7 +67,7 @@ const defaultChartContainerStyles = {
63
67
  * ### API Reference
64
68
  * @see https://docs.quillsql.com/components/dashboard
65
69
  */
66
- export default function Dashboard({ name, hidden = false, SelectComponent = QuillSelectComponentWithCombo, MultiSelectComponent = QuillMultiSelectComponentWithCombo, UserFilterModalComponent = QuillUserFilterModalComponent, ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, FilterTagComponent = QuillFilterPopover, PopoverComponent = MemoizedPopover, TextInputComponent = QuillTextInput, EmptyDashboardComponent = QuillEmptyDashboardComponent, DateRangePickerComponent = QuillDateRangePicker, MetricComponent = QuillMetricComponent, ChartComponent = QuillChartComponent, TableComponent = QuillTableComponent, DashboardSectionComponent = DashboardSection, DashboardSectionContainerComponent = DashboardSectionContainer, FilterContainerComponent = QuillFilterContainerComponent, DashboardLoadingComponent = QuillLoadingDashboardComponent, ErrorComponent = QuillChartErrorWithAction, onClickReport, onChangeLoading, hideFilters, hideXAxis = false, hideYAxis = false, hideCartesianGrid = false, comparisonLineStyle = 'solid', containerStyle, className, chartContainerStyle = defaultChartContainerStyles, filters, onClickChartElement, dateBucket, additionalProcessing, hideAdminErrors = true, }) {
70
+ export default function Dashboard({ name, hidden = false, SelectComponent = QuillSelectComponentWithCombo, MultiSelectComponent = QuillMultiSelectComponentWithCombo, ModalComponent = QuillModalComponent, ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, FilterTagComponent = QuillFilterPopover, PopoverComponent = MemoizedPopover, TextInputComponent = QuillTextInput, EmptyDashboardComponent = QuillEmptyDashboardComponent, DateRangePickerComponent = QuillDateRangePicker, MetricComponent = QuillMetricComponent, ChartComponent = QuillChartComponent, TableComponent = QuillTableComponent, TemplateMetricComponent = QuillTemplateMetricComponent, TemplateChartComponent = QuillTemplateChartComponent, TemplateTableComponent = QuillTemplateTableComponent, DashboardSectionComponent = DashboardSection, DashboardSectionContainerComponent = DashboardSectionContainer, FilterContainerComponent = QuillFilterContainerComponent, DashboardLoadingComponent = QuillLoadingDashboardComponent, ErrorComponent = QuillChartErrorWithAction, onClickReport, onChangeLoading, hideFilters, hideXAxis = false, hideYAxis = false, hideCartesianGrid = false, comparisonLineStyle = 'solid', containerStyle, className, chartContainerStyle = defaultChartContainerStyles, filters, onClickChartElement, dateBucket, additionalProcessing, hideAdminErrors = true, templateDashboardName, }) {
67
71
  const [dashboard] = useContext(DashboardContext);
68
72
  const { isLoading: isDataLoading, data, reload, } = useDashboard(name);
69
73
  const [dashboardSections, setDashboardSections] = useState(null);
@@ -85,8 +89,12 @@ export default function Dashboard({ name, hidden = false, SelectComponent = Quil
85
89
  const [filterListIsOpen, setFilterListIsOpen] = useState(false);
86
90
  const [filterListAddFilterPopoverIsOpen, setFilterListAddFilterPopoverIsOpen,] = useState(false);
87
91
  const [uniqueCounter, setUniqueCounter] = useState(0);
88
- const [userFilters, setUserFilters] = useState([]);
89
- const [adminFilters, setAdminFilters] = useState([]);
92
+ const userFilters = appliedFilters
93
+ .map((filter, index) => {
94
+ return { filter, index };
95
+ })
96
+ .filter((filter) => filter.filter.isUserFilter);
97
+ const adminFilters = appliedFilters.filter((filter) => !filter.isUserFilter);
90
98
  const customOperatorOptions = {
91
99
  [FieldTypes.Numeric]: [
92
100
  NumberOperator.EqualTo,
@@ -159,12 +167,6 @@ export default function Dashboard({ name, hidden = false, SelectComponent = Quil
159
167
  };
160
168
  fetchData();
161
169
  }, [referencedTables]);
162
- useEffect(() => {
163
- setUserFilters([...appliedFilters.filter((filter) => filter.isUserFilter)]);
164
- setAdminFilters([
165
- ...appliedFilters.filter((filter) => !filter.isUserFilter),
166
- ]);
167
- }, [appliedFilters]);
168
170
  const getUniqueStringValues = async (columns, tableName) => {
169
171
  const convertedStringColumns = columns
170
172
  .filter((column) => {
@@ -548,10 +550,10 @@ export default function Dashboard({ name, hidden = false, SelectComponent = Quil
548
550
  const tables = (section) => dashboardSections[section]
549
551
  .filter(({ chartType }) => chartType === 'table')
550
552
  .sort(sortByOrdering);
551
- if (hidden || isLoading) {
553
+ if (hidden || isLoading || !dashboardSections) {
552
554
  return (_jsx(DashboardLoadingComponent, { containerStyle: containerStyle, chartContainerStyle: chartContainerStyle }));
553
555
  }
554
- if (!dashboardSections || Object.keys(dashboardSections).length == 0) {
556
+ if (Object.keys(dashboardSections).length == 0) {
555
557
  if (initialLoad || isLoading)
556
558
  return null;
557
559
  return _jsx(EmptyDashboardComponent, {});
@@ -561,69 +563,65 @@ export default function Dashboard({ name, hidden = false, SelectComponent = Quil
561
563
  filterSchemaIsLoaded &&
562
564
  !hideAdminErrors &&
563
565
  !hideFilters &&
566
+ data &&
567
+ data.customFiltersEnabled &&
564
568
  filterSchema &&
565
- filterSchema.columns.length === 0 && (_jsx("div", { style: { marginBottom: 10 }, children: _jsx(QuillErrorMessageComponent, { errorMessage: "Warning: No custom filter options because there are no common views among the charts in the dashboard" }) })), !hideFilters && (_jsxs(FilterContainerComponent, { children: [adminFilters.map((filter, index) => (_jsx(DashboardFilter, { filter: filter, onChangeFilter: updateFilter, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))), _jsxs("div", { style: {
566
- display: 'flex',
567
- flexDirection: 'column',
568
- }, children: [data && data.customFiltersEnabled && (_jsx(SecondaryButtonComponent, { onClick: () => {
569
- if (fieldValuesIsLoaded) {
570
- setAddFilterPopoverIsOpen(true);
571
- setFilterListIsOpen(false);
572
- }
573
- }, label: `Add Filter` })), _jsx(PopoverComponent, { isOpen: addFilterPopoverIsOpen, setIsOpen: setAddFilterPopoverIsOpen, popoverTitle: "Add Filter", popoverChildren: _jsx(FilterModal, { schema: filterSchema, fieldValuesMap: fieldValuesMap, onSubmitFilter: (filter) => {
574
- setAddFilterPopoverIsOpen(false);
575
- updateUserFilter(filter, appliedFilters.length);
576
- }, onDeleteFilter: () => { }, ButtonComponent: ButtonComponent, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, TextInputComponent: TextInputComponent }), containerStyle: { position: 'relative', top: 10 } })] }), userFilters.length > 0 && (_jsx(UserFilterModalComponent, { triggerLabel: `Filters${userFilters.length > 0 ? ` (${userFilters.length})` : ''}`, isOpen: filterListIsOpen, setIsOpen: setFilterListIsOpen, title: "Filters", children: _jsxs("div", { style: {
577
- display: 'flex',
578
- flexDirection: 'column',
579
- alignItems: 'start',
580
- }, children: [userFilters.map((filter, index) => (_jsx(FilterPopoverWrapper, { schema: filterSchema, filter: {
581
- name: filter.name,
582
- type: filter.type,
583
- field: filter.field,
584
- operator: filter.operator,
585
- value: filter.value,
586
- }, filterLabel: filter ? filterSentence(filter) : '', index: index, fieldValuesMap: fieldValuesMap, customOperatorOptions: customOperatorOptions, FilterTagComponent: FilterTagComponent, FilterModal: FilterModal, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, handleFilterSave: (newFilter) => {
587
- const updatedFilter = getUserFilter(newFilter, filter._id, filter);
588
- const updateIndex = appliedFilters.findIndex((val) => {
589
- return val._id === filter._id;
590
- });
591
- dashboardFiltersDispatch({
592
- type: 'UPDATE_DASHBOARD_FILTER',
593
- id: updatedFilter._id,
594
- data: updateFilter,
595
- });
596
- setAppliedFilters([
597
- ...appliedFilters.slice(0, updateIndex),
598
- updatedFilter,
599
- ...appliedFilters.slice(updateIndex + 1),
600
- ]);
601
- }, handleFilterDelete: () => {
602
- const deleteIndex = appliedFilters.findIndex((val) => {
603
- return val._id === filter._id;
604
- });
605
- dashboardFiltersDispatch({
606
- type: 'DELETE_DASHBOARD_FILTER',
607
- id: appliedFilters[deleteIndex]._id,
608
- });
609
- setAppliedFilters([
610
- ...appliedFilters.slice(0, deleteIndex),
611
- ...appliedFilters.slice(deleteIndex + 1),
612
- ]);
613
- }, containerStyle: { width: 300, marginBottom: 10 } }, `userFilter_${index}`))), _jsxs("div", { style: {
569
+ filterSchema.columns.length === 0 && (_jsx("div", { style: { marginBottom: 10 }, children: _jsx(QuillErrorMessageComponent, { errorMessage: "Warning: No custom filter options because there are no common views among the charts in the dashboard" }) })), _jsxs("div", { style: { display: 'flex', flexDirection: 'row', alignItems: 'center' }, children: [!hideFilters && (_jsxs(FilterContainerComponent, { children: [adminFilters.map((filter, index) => (_jsx(DashboardFilter, { filter: filter, onChangeFilter: updateFilter, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))), _jsxs("div", { style: {
570
+ display: 'flex',
571
+ flexDirection: 'column',
572
+ }, children: [data && data.customFiltersEnabled && (_jsx(SecondaryButtonComponent, { onClick: () => {
573
+ if (fieldValuesIsLoaded) {
574
+ setAddFilterPopoverIsOpen(true);
575
+ setFilterListIsOpen(false);
576
+ }
577
+ }, label: `Add Filter` })), _jsx(PopoverComponent, { isOpen: addFilterPopoverIsOpen, setIsOpen: setAddFilterPopoverIsOpen, popoverTitle: "Add Filter", popoverChildren: _jsx(FilterModal, { schema: filterSchema, fieldValuesMap: fieldValuesMap, onSubmitFilter: (filter) => {
578
+ setAddFilterPopoverIsOpen(false);
579
+ updateUserFilter(filter, appliedFilters.length);
580
+ }, onDeleteFilter: () => { }, ButtonComponent: ButtonComponent, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, TextInputComponent: TextInputComponent }), containerStyle: { position: 'relative', top: 10 } })] }), userFilters.length > 0 && (_jsx(ModalComponent, { triggerLabel: `Filters${userFilters.length > 0 ? ` (${userFilters.length})` : ''}`, isOpen: filterListIsOpen, setIsOpen: setFilterListIsOpen, title: "Filters", children: _jsxs("div", { style: {
614
581
  display: 'flex',
615
582
  flexDirection: 'column',
616
- }, children: [_jsx(SecondaryButtonComponent, { onClick: () => {
617
- if (fieldValuesIsLoaded) {
618
- setFilterListAddFilterPopoverIsOpen(true);
619
- }
620
- }, label: `Add Filter` }), _jsx(PopoverComponent, { isOpen: filterListAddFilterPopoverIsOpen, setIsOpen: setFilterListAddFilterPopoverIsOpen, popoverTitle: "Add Filter", popoverChildren: _jsx(FilterModal, { schema: filterSchema, fieldValuesMap: fieldValuesMap, onSubmitFilter: (filter) => {
621
- setFilterListAddFilterPopoverIsOpen(false);
622
- setFilterListIsOpen(false);
623
- const id = uniqueCounter;
624
- setUniqueCounter(uniqueCounter + 1);
625
- updateUserFilter(filter, id);
626
- }, onDeleteFilter: () => { }, ButtonComponent: ButtonComponent, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, TextInputComponent: TextInputComponent }), containerStyle: { position: 'relative', top: 10 } })] })] }) }))] })), Object.keys(dashboardSections)
583
+ alignItems: 'start',
584
+ }, children: [userFilters.map(({ filter, index }) => (_jsx(FilterPopoverWrapper, { schema: filterSchema, filter: {
585
+ name: filter.name,
586
+ type: filter.type,
587
+ field: filter.field,
588
+ operator: filter.operator,
589
+ value: filter.value,
590
+ }, filterLabel: filter ? filterSentence(filter) : '', index: index, fieldValuesMap: fieldValuesMap, customOperatorOptions: customOperatorOptions, FilterTagComponent: FilterTagComponent, FilterModal: FilterModal, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, handleFilterSave: (newFilter) => {
591
+ const updatedFilter = getUserFilter(newFilter, filter._id, filter);
592
+ dashboardFiltersDispatch({
593
+ type: 'UPDATE_DASHBOARD_FILTER',
594
+ id: updatedFilter._id,
595
+ data: updateFilter,
596
+ });
597
+ setAppliedFilters([
598
+ ...appliedFilters.slice(0, index),
599
+ updatedFilter,
600
+ ...appliedFilters.slice(index + 1),
601
+ ]);
602
+ }, handleFilterDelete: () => {
603
+ dashboardFiltersDispatch({
604
+ type: 'DELETE_DASHBOARD_FILTER',
605
+ id: appliedFilters[index]._id,
606
+ });
607
+ setAppliedFilters([
608
+ ...appliedFilters.slice(0, index),
609
+ ...appliedFilters.slice(index + 1),
610
+ ]);
611
+ }, containerStyle: { width: 300, marginBottom: 10 } }, `userFilter_${index}_${filter ? filterSentence(filter) : ''}`))), _jsxs("div", { style: {
612
+ display: 'flex',
613
+ flexDirection: 'column',
614
+ }, children: [_jsx(SecondaryButtonComponent, { onClick: () => {
615
+ if (fieldValuesIsLoaded) {
616
+ setFilterListAddFilterPopoverIsOpen(true);
617
+ }
618
+ }, label: `Add Filter` }), _jsx(PopoverComponent, { isOpen: filterListAddFilterPopoverIsOpen, setIsOpen: setFilterListAddFilterPopoverIsOpen, popoverTitle: "Add Filter", popoverChildren: _jsx(FilterModal, { schema: filterSchema, fieldValuesMap: fieldValuesMap, onSubmitFilter: (filter) => {
619
+ setFilterListAddFilterPopoverIsOpen(false);
620
+ setFilterListIsOpen(false);
621
+ const id = uniqueCounter;
622
+ setUniqueCounter(uniqueCounter + 1);
623
+ updateUserFilter(filter, id);
624
+ }, onDeleteFilter: () => { }, ButtonComponent: ButtonComponent, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, TextInputComponent: TextInputComponent }), containerStyle: { position: 'relative', top: 10 } })] })] }) }))] })), templateDashboardName && (_jsx(QuillDashboardTemplate, { name: templateDashboardName, originDashboard: name, client: client, appliedFilters: appliedFilters, ModalComponent: ModalComponent, TemplateChartComponent: TemplateChartComponent, TemplateMetricComponent: TemplateMetricComponent, TemplateTableComponent: TemplateTableComponent, ButtonComponent: SecondaryButtonComponent }))] }), Object.keys(dashboardSections)
627
625
  .sort(function (a, b) {
628
626
  return a.length - b.length;
629
627
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ChartComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/ChartComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAInD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAsGhC"}
1
+ {"version":3,"file":"ChartComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/ChartComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAInD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAuGhC"}
@@ -6,6 +6,7 @@ export default function QuillChartComponent({ report, onClick, children, isLoadi
6
6
  return (_jsx("div", { onClick: () => onClick && onClick(report), style: {
7
7
  cursor: 'pointer',
8
8
  boxSizing: 'content-box',
9
+ height: '100%',
9
10
  minHeight: 400,
10
11
  borderRadius: 8,
11
12
  }, children: _jsx("div", { style: {
@@ -0,0 +1,12 @@
1
+ export default function QuillDashboardTemplate({ name, originDashboard, client, appliedFilters, ModalComponent, TemplateChartComponent, TemplateMetricComponent, TemplateTableComponent, ButtonComponent, }: {
2
+ name: string;
3
+ originDashboard: string;
4
+ client: any;
5
+ appliedFilters: any;
6
+ ModalComponent: any;
7
+ TemplateChartComponent: any;
8
+ TemplateMetricComponent: any;
9
+ TemplateTableComponent: any;
10
+ ButtonComponent: any;
11
+ }): import("react/jsx-runtime").JSX.Element | null;
12
+ //# sourceMappingURL=DashboardTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardTemplate.tsx"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,IAAI,EACJ,eAAe,EACf,MAAM,EACN,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,GAChB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC;IACZ,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,GAAG,CAAC;IACpB,sBAAsB,EAAE,GAAG,CAAC;IAC5B,uBAAuB,EAAE,GAAG,CAAC;IAC7B,sBAAsB,EAAE,GAAG,CAAC;IAC5B,eAAe,EAAE,GAAG,CAAC;CACtB,kDAyGA"}
@@ -0,0 +1,63 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useContext, useState } from 'react';
3
+ import { addTemplatesToDashboard, validateTemplatesAgainstFilters, } from './util';
4
+ import { useDashboard } from '../../hooks/useDashboard';
5
+ import { DashboardDataContext } from '../../Context';
6
+ import Dashboard from '../../Dashboard';
7
+ export default function QuillDashboardTemplate({ name, originDashboard, client, appliedFilters, ModalComponent, TemplateChartComponent, TemplateMetricComponent, TemplateTableComponent, ButtonComponent, }) {
8
+ const { isLoading, data } = useDashboard(name ?? '');
9
+ const { dashboardData, dashboardDataDispatch } = useContext(DashboardDataContext);
10
+ const [addItemModalIsOpen, setAddItemModalIsOpen] = useState(false);
11
+ const [selectedTemplates, setSelectedTemplates] = useState([]);
12
+ const [selectingTemplate, setSelectingTemplate] = useState(false);
13
+ const [submittingTemplate, setSubmittingTemplate] = useState(false);
14
+ const templateSections = data?.sections;
15
+ const onSubmitTemplates = async () => {
16
+ setSubmittingTemplate(true);
17
+ // validate that filters don't conflict
18
+ const { valid, error } = validateTemplatesAgainstFilters(appliedFilters, selectedTemplates);
19
+ if (!valid) {
20
+ alert(error);
21
+ }
22
+ else {
23
+ setAddItemModalIsOpen(false);
24
+ const newTemplates = selectedTemplates;
25
+ setSelectedTemplates([]);
26
+ const newData = await addTemplatesToDashboard(originDashboard, newTemplates, client, dashboardData);
27
+ console.log('updating context with', newData);
28
+ if (newData) {
29
+ // Dispatch the action to update the dashboard state
30
+ dashboardDataDispatch({
31
+ type: 'UPDATE_DASHBOARD',
32
+ id: originDashboard,
33
+ data: newData,
34
+ });
35
+ }
36
+ }
37
+ setSubmittingTemplate(false);
38
+ };
39
+ return data ? (_jsxs(ModalComponent, { isOpen: addItemModalIsOpen, setIsOpen: setAddItemModalIsOpen, triggerLabel: "Add Items To Dashboard", title: "Add Items To Dashboard", children: [_jsx("div", { style: {
40
+ overflow: 'scroll',
41
+ }, children: _jsx(Dashboard, { name: name, ChartComponent: TemplateChartComponent, TableComponent: TemplateTableComponent, MetricComponent: TemplateMetricComponent, onClickReport: (report) => {
42
+ if (!selectingTemplate) {
43
+ setSelectingTemplate(true);
44
+ if (selectedTemplates.some((template) => template._id === report._id)) {
45
+ setSelectedTemplates(selectedTemplates.filter((template) => template._id !== report._id));
46
+ }
47
+ else {
48
+ setSelectedTemplates([...selectedTemplates, report]);
49
+ }
50
+ setSelectingTemplate(false);
51
+ }
52
+ }, hideFilters: true }) }), _jsx("div", { style: {
53
+ display: 'flex',
54
+ justifyContent: 'flex-end',
55
+ flexDirection: 'row',
56
+ marginTop: '20px',
57
+ width: '100%',
58
+ }, children: _jsx(ButtonComponent, { disabled: isLoading || !templateSections, label: 'Add to dashboard', onClick: () => {
59
+ if (!submittingTemplate) {
60
+ onSubmitTemplates();
61
+ }
62
+ } }) })] })) : null;
63
+ }
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { QuillReportProps } from '../../Dashboard';
3
+ export default function QuillTemplateChartComponent({ report, onClick, children, isLoading, }: QuillReportProps): JSX.Element;
4
+ //# sourceMappingURL=TemplateChartComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateChartComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TemplateChartComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAClD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAyBhC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import QuillChartComponent from './ChartComponent';
4
+ export default function QuillTemplateChartComponent({ report, onClick, children, isLoading, }) {
5
+ const [isSelected, setIsSelected] = useState(false);
6
+ return (_jsx("div", { onClick: () => {
7
+ if (onClick) {
8
+ setIsSelected(!isSelected);
9
+ onClick(report);
10
+ }
11
+ }, style: {
12
+ backgroundColor: isSelected ? 'lightgrey' : 'white',
13
+ borderRadius: '15px',
14
+ padding: '10px',
15
+ cursor: 'pointer',
16
+ }, children: _jsx(QuillChartComponent, { report: report, children: children, isLoading: isLoading }) }));
17
+ }
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { QuillReportProps } from '../../Dashboard';
3
+ export default function QuillTemplateMetricComponent({ report, onClick, children, isLoading, }: QuillReportProps): JSX.Element;
4
+ //# sourceMappingURL=TemplateMetricComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateMetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TemplateMetricComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACnD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAyBhC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import QuillMetricComponent from './MetricComponent';
4
+ export default function QuillTemplateMetricComponent({ report, onClick, children, isLoading, }) {
5
+ const [isSelected, setIsSelected] = useState(false);
6
+ return (_jsx("div", { onClick: () => {
7
+ if (onClick) {
8
+ setIsSelected(!isSelected);
9
+ onClick(report);
10
+ }
11
+ }, style: {
12
+ backgroundColor: isSelected ? 'lightgrey' : 'white',
13
+ borderRadius: '15px',
14
+ padding: '10px',
15
+ cursor: 'pointer',
16
+ }, children: _jsx(QuillMetricComponent, { report: report, children: children, isLoading: isLoading }) }));
17
+ }
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import { QuillReport } from '../../models/Report';
3
+ export default function QuillTemplateTableComponent({ report, onClick, isLoading, error, rowCount, onPageChange, onSortChange, }: {
4
+ report: QuillReport;
5
+ onClick?: (report: QuillReport) => void;
6
+ isLoading?: boolean;
7
+ error?: string;
8
+ rowCount?: number;
9
+ onPageChange?: (page: number) => void;
10
+ onSortChange?: (sort: {
11
+ field: string;
12
+ direction: string;
13
+ }) => void;
14
+ }): JSX.Element;
15
+ //# sourceMappingURL=TemplateTableComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateTableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TemplateTableComponent.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAClD,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,CA4Bd"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import QuillTableComponent from './TableComponent';
4
+ export default function QuillTemplateTableComponent({ report, onClick, isLoading, error, rowCount, onPageChange, onSortChange, }) {
5
+ const [isSelected, setIsSelected] = useState(false);
6
+ return (_jsx("div", { onClick: () => {
7
+ if (onClick) {
8
+ setIsSelected(!isSelected);
9
+ onClick(report);
10
+ }
11
+ }, style: {
12
+ backgroundColor: isSelected ? 'lightgrey' : 'white',
13
+ borderRadius: '15px',
14
+ padding: '10px',
15
+ cursor: 'pointer',
16
+ }, children: _jsx(QuillTableComponent, { report: report, isLoading: isLoading, error: error, rowCount: rowCount, onPageChange: onPageChange, onSortChange: onSortChange }) }));
17
+ }
@@ -0,0 +1,6 @@
1
+ export declare function validateTemplatesAgainstFilters(filters: any[], templates: any[]): {
2
+ valid: boolean;
3
+ error: string;
4
+ };
5
+ export declare function addTemplatesToDashboard(name: any, newTemplates: any[], client: any, dashboardData: any): Promise<any>;
6
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/util.ts"],"names":[],"mappings":"AAEA,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,GAAG,EAAE,EACd,SAAS,EAAE,GAAG,EAAE,GACf;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiCnC;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,EAAE,EACnB,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,GAAG,GACjB,OAAO,CAAC,GAAG,CAAC,CAiDd"}
@@ -0,0 +1,80 @@
1
+ import { getData } from '../../utils/dataFetcher';
2
+ export function validateTemplatesAgainstFilters(filters, templates) {
3
+ let error = '';
4
+ filters.every((filter) => {
5
+ if (filter.filterType === 'date_range') {
6
+ templates.every((template) => {
7
+ if (!template.dateField?.field) {
8
+ error = `Please remove the date filter or unselect ${template.name}`;
9
+ return false;
10
+ }
11
+ return true;
12
+ });
13
+ }
14
+ else {
15
+ templates.every((template) => {
16
+ if (!template.referencedTables?.includes(filter.table)) {
17
+ error = `Please remove filters on ${filter.table} or unselect ${template.name}`;
18
+ return false;
19
+ }
20
+ return true;
21
+ });
22
+ }
23
+ if (error !== '') {
24
+ return false;
25
+ }
26
+ else {
27
+ return true;
28
+ }
29
+ });
30
+ if (error === '') {
31
+ return { valid: true, error };
32
+ }
33
+ else {
34
+ return { valid: false, error };
35
+ }
36
+ }
37
+ export async function addTemplatesToDashboard(name, newTemplates, client, dashboardData) {
38
+ try {
39
+ const { publicKey, customerId } = client;
40
+ const hostedBody = {
41
+ metadata: {
42
+ dashboardName: name,
43
+ task: 'add-from-template',
44
+ clientId: publicKey,
45
+ orgId: customerId || '*',
46
+ templateReportIds: newTemplates.map((template) => template._id),
47
+ },
48
+ };
49
+ const resp = await getData(client, ``, // no cloud fallback
50
+ 'omit', hostedBody, null);
51
+ if (resp.success && resp.newItems && resp.newItems.length > 0) {
52
+ const newData = {
53
+ newQueries: {
54
+ ...(dashboardData[name]?.newQueries ?? []),
55
+ ...resp.newItems.reduce((acc, item) => {
56
+ acc[item._id] = item;
57
+ return acc;
58
+ }, {}),
59
+ },
60
+ sections: {
61
+ ...dashboardData[name].sections,
62
+ '': [
63
+ ...(dashboardData[name]?.sections?.[''] ?? []),
64
+ ...resp.newItems.map((item) => ({
65
+ ...item,
66
+ id: item._id,
67
+ })),
68
+ ],
69
+ },
70
+ };
71
+ return newData;
72
+ }
73
+ else {
74
+ return null;
75
+ }
76
+ }
77
+ catch (error) {
78
+ console.error('Error while updating dashboard:', error);
79
+ }
80
+ }
@@ -1,5 +1,4 @@
1
1
  import React, { ChangeEvent, CSSProperties, ReactNode } from 'react';
2
- import { Filter } from '../models/Filter';
3
2
  export interface Option {
4
3
  value: string;
5
4
  label: string;
@@ -187,28 +186,7 @@ export declare const QuillPivotColumnContainer: ({ children, }: {
187
186
  export declare const QuillFilterContainerComponent: ({ children, }: {
188
187
  children: ReactNode;
189
188
  }) => import("react/jsx-runtime").JSX.Element;
190
- export declare const QuillUserFilterModalComponent: ({ isOpen, setIsOpen, children, triggerLabel, title, }: ModalComponentProps) => import("react/jsx-runtime").JSX.Element;
191
- export interface UserFilterModalComponentProps {
192
- filters: Filter[];
193
- label: string;
194
- schema: any;
195
- fieldValuesMap: any;
196
- fieldValuesIsLoaded: boolean;
197
- updateUserFilter: any;
198
- uniqueCounter: any;
199
- setUniqueCounter: any;
200
- handleFilterSave: (oldFilter: any, newFilter: Filter) => void;
201
- handleFilterDelete: (filter: any) => void;
202
- ButtonComponent?: any;
203
- SecondaryButtonComponent?: any;
204
- FilterListModal?: any;
205
- FilterTagComponent?: any;
206
- PopoverComponent?: any;
207
- SelectComponent?: any;
208
- MultiSelectComponent?: any;
209
- TextInputComponent?: any;
210
- containerStyle?: any;
211
- }
189
+ export declare const QuillModalComponent: ({ isOpen, setIsOpen, children, triggerLabel, title, }: ModalComponentProps) => import("react/jsx-runtime").JSX.Element;
212
190
  export declare const QuillChartBuilderFormContainer: ({ children, }: {
213
191
  children: ReactNode;
214
192
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}