@quillsql/react 2.13.18 → 2.13.20

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 (83) hide show
  1. package/dist/cjs/Chart.d.ts +3 -3
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +83 -187
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +3 -5
  6. package/dist/cjs/Context.d.ts +24 -3
  7. package/dist/cjs/Context.d.ts.map +1 -1
  8. package/dist/cjs/Context.js +316 -7
  9. package/dist/cjs/Dashboard.js +1 -1
  10. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  11. package/dist/cjs/ReportBuilder.js +0 -2
  12. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  13. package/dist/cjs/SQLEditor.js +1 -4
  14. package/dist/cjs/Table.d.ts.map +1 -1
  15. package/dist/cjs/Table.js +34 -32
  16. package/dist/cjs/components/Dashboard/DashboardFilter.js +1 -1
  17. package/dist/cjs/components/Dashboard/DataLoader.d.ts +4 -2
  18. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  19. package/dist/cjs/components/Dashboard/DataLoader.js +136 -57
  20. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  21. package/dist/cjs/hooks/useDashboard.js +2 -49
  22. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  23. package/dist/cjs/hooks/useQuill.js +64 -42
  24. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -1
  25. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  26. package/dist/cjs/internals/ReportBuilder/PivotModal.js +0 -1
  27. package/dist/cjs/models/Report.d.ts +4 -3
  28. package/dist/cjs/models/Report.d.ts.map +1 -1
  29. package/dist/cjs/utils/columnProcessing.d.ts +2 -1
  30. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  31. package/dist/cjs/utils/columnProcessing.js +2 -2
  32. package/dist/cjs/utils/dataProcessing.js +2 -2
  33. package/dist/cjs/utils/filterProcessing.d.ts +6 -1
  34. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  35. package/dist/cjs/utils/filterProcessing.js +81 -3
  36. package/dist/cjs/utils/pivotConstructor.js +1 -1
  37. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  38. package/dist/cjs/utils/queryConstructor.js +0 -1
  39. package/dist/cjs/utils/report.d.ts +13 -1
  40. package/dist/cjs/utils/report.d.ts.map +1 -1
  41. package/dist/cjs/utils/report.js +79 -51
  42. package/dist/esm/Chart.d.ts +3 -3
  43. package/dist/esm/Chart.d.ts.map +1 -1
  44. package/dist/esm/Chart.js +88 -196
  45. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  46. package/dist/esm/ChartBuilder.js +3 -5
  47. package/dist/esm/Context.d.ts +24 -3
  48. package/dist/esm/Context.d.ts.map +1 -1
  49. package/dist/esm/Context.js +315 -6
  50. package/dist/esm/Dashboard.js +1 -1
  51. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  52. package/dist/esm/ReportBuilder.js +0 -2
  53. package/dist/esm/SQLEditor.d.ts.map +1 -1
  54. package/dist/esm/SQLEditor.js +1 -4
  55. package/dist/esm/Table.d.ts.map +1 -1
  56. package/dist/esm/Table.js +34 -32
  57. package/dist/esm/components/Dashboard/DashboardFilter.js +1 -1
  58. package/dist/esm/components/Dashboard/DataLoader.d.ts +4 -2
  59. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  60. package/dist/esm/components/Dashboard/DataLoader.js +137 -58
  61. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  62. package/dist/esm/hooks/useDashboard.js +3 -50
  63. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  64. package/dist/esm/hooks/useQuill.js +66 -44
  65. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -1
  66. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  67. package/dist/esm/internals/ReportBuilder/PivotModal.js +0 -1
  68. package/dist/esm/models/Report.d.ts +4 -3
  69. package/dist/esm/models/Report.d.ts.map +1 -1
  70. package/dist/esm/utils/columnProcessing.d.ts +2 -1
  71. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  72. package/dist/esm/utils/columnProcessing.js +2 -2
  73. package/dist/esm/utils/dataProcessing.js +2 -2
  74. package/dist/esm/utils/filterProcessing.d.ts +6 -1
  75. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  76. package/dist/esm/utils/filterProcessing.js +78 -2
  77. package/dist/esm/utils/pivotConstructor.js +1 -1
  78. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  79. package/dist/esm/utils/queryConstructor.js +0 -1
  80. package/dist/esm/utils/report.d.ts +13 -1
  81. package/dist/esm/utils/report.d.ts.map +1 -1
  82. package/dist/esm/utils/report.js +77 -51
  83. package/package.json +1 -1
@@ -110,7 +110,7 @@ export declare function getDateString(value: string, dateRange?: {
110
110
  start: Date;
111
111
  end: Date;
112
112
  }, dateBucket?: string): string;
113
- export declare function isDateField(fieldType: string): fieldType is "MMM_dd" | "MMM_yyyy" | "MMM_dd_yyyy" | "hh_ap_pm" | "MMM_dd_hh:mm_ap_pm" | "date" | "datetime" | "timestamp" | "timestamptz";
113
+ export declare function isDateField(fieldType: string): fieldType is "date" | "MMM_dd" | "MMM_yyyy" | "MMM_dd_yyyy" | "hh_ap_pm" | "MMM_dd_hh:mm_ap_pm" | "datetime" | "timestamp" | "timestamptz";
114
114
  export declare function generatePivotTable({ pivot, rowLimit, dateBucket, report, client, uniqueValues, }: {
115
115
  pivot: Pivot;
116
116
  rowLimit?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"PivotModal.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAOZ,SAAS,EACV,MAAM,OAAO,CAAC;AAuBf,OAAO,EACL,oBAAoB,EAKrB,MAAM,+BAA+B,CAAC;AAcvC,OAAO,EAAU,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM1D,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,GAAG,CAAC;IACnB,gBAAgB,EAAE,GAAG,CAAC;IACtB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,GAAG,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;IACxB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,GAAG,CAAC;IACzB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,GAAG,CAAC;IACzB,UAAU,EAAE,GAAG,CAAC;IAChB,aAAa,EAAE,GAAG,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC;IACnB,eAAe,EAAE,GAAG,CAAC;IACrB,eAAe,EAAE,GAAG,CAAC;IACrB,aAAa,EAAE,GAAG,CAAC;IACnB,wBAAwB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACvE,gBAAgB,EAAE,CAAC,KAAK,EAAE;QACxB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,eAAe,EAAE,SAAS,CAAC;QAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;KACtC,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3D,cAAc,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAC1D,aAAa,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IACzD,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IACzE,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IACpE,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IACvE,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,kBAAkB,EAAE,GAAG,CAAC;IACxB,qBAAqB,EAAE,GAAG,CAAC;IAC3B,WAAW,EAAE,GAAG,CAAC;IACjB,WAAW,EAAE,GAAG,CAAC;IACjB,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;IACxB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,GAAG,CAAC;IACZ,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;IACf,aAAa,EAAE,GAAG,CAAC;IACnB,gBAAgB,EAAE,GAAG,CAAC;IACtB,iBAAiB,EAAE,GAAG,CAAC;IACvB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,yBAAyB,CAAC,EAAE,GAAG,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAED,eAAO,MAAM,UAAU,+4BAsDpB,eAAe,4CAmlCjB,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,EAAE,EACH,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE;;;YAQ7B,UAAU;IAa9C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAiBvD;AA8BD,wBAAgB,YAAY,CAC1B,SAAS,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,EACjD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,GAAG,GACR;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CA8D5B;AAoCD,wBAAgB,cAAc,CAC5B,SAAS,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,EACjD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,GAAG,EACT,UAAU,CAAC,EAAE,MAAM,UAgBpB;AA+BD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,EACtC,UAAU,CAAC,EAAE,MAAM,UA+CpB;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,8IAY5C;AAgCD,wBAAsB,kBAAkB,CAAC,EACvC,KAAK,EACL,QAAa,EACb,UAAU,EACV,MAAM,EACN,MAAM,EACN,YAAY,GACb,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;;;GAwBA;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,GAAG,EAAE,EACX,SAAS,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,GAAG,SAAS,EACjD,YAAY,EAAE,OAAO,EACrB,QAAQ,SAAK,EACb,SAAS,GAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,GAAG,SAAqB,EAC7D,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,GAAG;;;;;;EA8enB"}
1
+ {"version":3,"file":"PivotModal.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotModal.tsx"],"names":[],"mappings":"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"}
@@ -472,7 +472,6 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
472
472
  }
473
473
  setTimeout(async () => {
474
474
  try {
475
- console.log('HELP: ', pivot);
476
475
  const { rows, columns } = await generatePivotTable({
477
476
  pivot,
478
477
  rowLimit: 6, // limit previews
@@ -1,5 +1,6 @@
1
1
  import { AxisFormat } from '../Dashboard';
2
2
  import { Column, ColumnInternal } from './Columns';
3
+ import { InternalFilter } from './Filter';
3
4
  import { Pagination } from './Pagination';
4
5
  import { Pivot } from './Pivot';
5
6
  /**
@@ -71,9 +72,7 @@ export interface QuillReport {
71
72
  [key: string]: string;
72
73
  }[];
73
74
  /** An array filters that have been applied to this query. */
74
- filtersApplied: {
75
- [key: string]: any;
76
- }[];
75
+ filtersApplied?: InternalFilter[];
77
76
  pagination?: Pagination;
78
77
  sort?: {
79
78
  field: string;
@@ -107,5 +106,7 @@ export interface QuillReportInternal extends QuillReport {
107
106
  triggerReload?: boolean;
108
107
  /** An internal flag to force a report to trigger a reload from the backend */
109
108
  columnInternal: ColumnInternal[];
109
+ /** Represents if the report is currently loading rows */
110
+ loadingRows?: boolean;
110
111
  }
111
112
  //# sourceMappingURL=Report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Report.d.ts","sourceRoot":"","sources":["../../../src/models/Report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IAEX,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IAEtB,0DAA0D;IAC1D,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAElC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,uEAAuE;IACvE,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAEnD,4CAA4C;IAC5C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,WAAW,EAAE,UAAU,CAAC;IAExB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE;QACX,gCAAgC;QAChC,KAAK,EAAE,MAAM,CAAC;QAEd,uCAAuC;QACvC,KAAK,EAAE,MAAM,CAAC;QAEd,4CAA4C;QAC5C,MAAM,EAAE,UAAU,CAAC;KACpB,EAAE,CAAC;IAEJ;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAEzC,6DAA6D;IAC7D,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,CAAC;IAGzC,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAG5C,QAAQ,EAAE,MAAM,CAAC;IAGjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,0BAA0B;IAC1B,SAAS,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAExC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,kEAAkE;IAClE,iBAAiB,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IAElD,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,8EAA8E;IAC9E,cAAc,EAAE,cAAc,EAAE,CAAC;CAClC"}
1
+ {"version":3,"file":"Report.d.ts","sourceRoot":"","sources":["../../../src/models/Report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IAEX,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IAEtB,0DAA0D;IAC1D,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAElC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,uEAAuE;IACvE,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAEnD,4CAA4C;IAC5C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,WAAW,EAAE,UAAU,CAAC;IAExB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE;QACX,gCAAgC;QAChC,KAAK,EAAE,MAAM,CAAC;QAEd,uCAAuC;QACvC,KAAK,EAAE,MAAM,CAAC;QAEd,4CAA4C;QAC5C,MAAM,EAAE,UAAU,CAAC;KACpB,EAAE,CAAC;IAEJ;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAEzC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAGlC,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAG5C,QAAQ,EAAE,MAAM,CAAC;IAGjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,0BAA0B;IAC1B,SAAS,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAExC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,kEAAkE;IAClE,iBAAiB,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IAElD,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,8EAA8E;IAC9E,cAAc,EAAE,cAAc,EAAE,CAAC;IAEjC,yDAAyD;IACzD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
@@ -1,5 +1,6 @@
1
1
  import { ColumnInfo } from '../components/ReportBuilder/schema';
2
2
  import { Column, ColumnInternal } from '../models/Columns';
3
+ import { DashboardFilter } from '../models/Filter';
3
4
  import { QuillReportInternal } from '../models/Report';
4
5
  interface ConvertPostgresColumnParamsWithColumnInternal {
5
6
  field: string;
@@ -15,6 +16,6 @@ export declare function convertColumnInfoToColumnInternal(columnInfo: ColumnInfo
15
16
  export declare function convertFieldTypeToJSType(fieldType: string): string;
16
17
  export declare function convertFormatToJsType(column: Column): string;
17
18
  export declare function processColumnName(columnName: string): string;
18
- export declare const getYAxisFields: (report: QuillReportInternal) => any[];
19
+ export declare const getYAxisFields: (report: QuillReportInternal, dashboardFilters: DashboardFilter[]) => any[];
19
20
  export {};
20
21
  //# sourceMappingURL=columnProcessing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,UAAU,6CAA6C;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,oCAAoC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,2BAA2B,GAC5B,6CAA6C,GAC7C,oCAAoC,CAAC;AAEzC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,2BAA2B,GACjC,cAAc,CAgJhB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AAsED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwDlE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,eAAO,MAAM,cAAc,WAAY,mBAAmB,UAoDzD,CAAC"}
1
+ {"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,UAAU,6CAA6C;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,oCAAoC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,2BAA2B,GAC5B,6CAA6C,GAC7C,oCAAoC,CAAC;AAEzC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,2BAA2B,GACjC,cAAc,CAgJhB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AAsED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwDlE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,eAAO,MAAM,cAAc,WACjB,mBAAmB,oBACT,eAAe,EAAE,UAqDpC,CAAC"}
@@ -290,9 +290,9 @@ export function convertFormatToJsType(column) {
290
290
  export function processColumnName(columnName) {
291
291
  return removeBigQuerySpecialChars(columnName);
292
292
  }
293
- export const getYAxisFields = (report) => {
293
+ export const getYAxisFields = (report, dashboardFilters) => {
294
294
  try {
295
- const curDateFilter = findAndProcessDateFilter(report.filtersApplied);
295
+ const curDateFilter = findAndProcessDateFilter(dashboardFilters);
296
296
  if (report.pivot && report.pivotColumns && report.pivot.columnField) {
297
297
  return (report.pivotColumns
298
298
  .slice(1)
@@ -93,8 +93,8 @@ export const getPointToPointPercentageChange = (data) => {
93
93
  start: minDate,
94
94
  end: maxDate,
95
95
  });
96
- const minDateBucket = getDateString(minDate.toDateString(), undefined, dateBucket);
97
- const maxDateBucket = getDateString(maxDate.toDateString(), undefined, dateBucket);
96
+ const minDateBucket = getDateString(minDate.toISOString().split('T')[0], undefined, dateBucket);
97
+ const maxDateBucket = getDateString(maxDate.toISOString().split('T')[0], undefined, dateBucket);
98
98
  const minDateRows = data.rows.filter((row) => {
99
99
  const rowValue = row[dateField];
100
100
  if (rowValue) {
@@ -1,4 +1,5 @@
1
- import { FieldType, InternalFilter, DashboardFilter } from '../models/Filter';
1
+ import { FieldType, InternalFilter, DashboardFilter, DashboardDateFilter } from '../models/Filter';
2
+ import { QuillReport } from '../models/Report';
2
3
  import { UniqueValuesByColumn } from '../models/Tables';
3
4
  import { FilterTreeNode } from './astFilterProcessing';
4
5
  export declare function findAndProcessDateFilter(filters: any[]): any;
@@ -27,10 +28,14 @@ export declare function buildQueryFromFilters(baseAst: any, filters: FilterTreeN
27
28
  error?: string;
28
29
  }>;
29
30
  export declare function mergeCustomFilters(filters: DashboardFilter[], customFilters: InternalFilter[]): any[];
31
+ export declare function filtersAreEquivalent(filters1?: InternalFilter[], filters2?: InternalFilter[]): boolean;
30
32
  /**
31
33
  * Helper function that converts a UniqueValuesByColumn interface to a string map
32
34
  */
33
35
  export declare function uniqueValuesToStringMap(uniqueValues: UniqueValuesByColumn): {
34
36
  [key: string]: string[];
35
37
  };
38
+ export declare const createDefaultDateFilter: (filter: DashboardDateFilter, reports: QuillReport[], dashboardName: string) => (DashboardDateFilter & {
39
+ dateField: string[];
40
+ }) | undefined;
36
41
  //# sourceMappingURL=filterProcessing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,SAAS,EACT,cAAc,EAEd,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,GAAU,EACjB,UAAU,EAAE,GAAU,EACtB,aAAa,EAAE,MAAM,OAmGtB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,6EAwDhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwB7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,EAAE,CAoCrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,yBAgCnD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B/D;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,EAAE,EAC1B,aAAa,EAAE,cAAc,EAAE,GAC9B,GAAG,EAAE,CAoCP;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,oBAAoB,GAAG;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA"}
1
+ {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,SAAS,EACT,cAAc,EAEd,eAAe,EAEf,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,GAAU,EACjB,UAAU,EAAE,GAAU,EACtB,aAAa,EAAE,MAAM,OAmGtB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,6EAwDhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwB7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,EAAE,CAoCrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,yBAgCnD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B/D;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,EAAE,EAC1B,aAAa,EAAE,cAAc,EAAE,GAC9B,GAAG,EAAE,CAsCP;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAC1B,OAAO,CA+BT;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,oBAAoB,GAAG;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA;AAED,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,WAClB,WAAW,EAAE,iBACP,MAAM,KACpB,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAqDpD,CAAC"}
@@ -338,6 +338,8 @@ export function mergeCustomFilters(filters, customFilters) {
338
338
  }
339
339
  const withoutDate = filters.filter((filter) => filter.filterType !== DashboardFilterType.Date);
340
340
  const customWithoutDate = customFilters.filter((filter) => filter.filterType !== FilterType.DateCustomFilter);
341
+ const startDate = customDateFilters[0]?.value.startDate;
342
+ const endDate = customDateFilters[0]?.value.endDate;
341
343
  return withoutDate
342
344
  .concat([
343
345
  {
@@ -356,12 +358,36 @@ export function mergeCustomFilters(filters, customFilters) {
356
358
  label: 'Custom',
357
359
  value: 'custom',
358
360
  },
359
- startDate: new Date(customDateFilters[0].value.startDate),
360
- endDate: new Date(customDateFilters[0].value.endDate),
361
+ startDate: new Date(startDate),
362
+ endDate: new Date(endDate),
361
363
  },
362
364
  ])
363
365
  .concat(customWithoutDate);
364
366
  }
367
+ export function filtersAreEquivalent(filters1, filters2) {
368
+ if (!filters1 && !filters2) {
369
+ return true;
370
+ }
371
+ if (!filters1 || !filters2) {
372
+ return false;
373
+ }
374
+ if (filters1.length !== filters2.length) {
375
+ return false;
376
+ }
377
+ const sortedFilters1 = [...filters1].sort((a, b) => `${a.table ?? ''}.${a.field}`.localeCompare(`${b.table ?? ''}.${b.field}`));
378
+ const sortedFilters2 = [...filters2].sort((a, b) => `${a.table ?? ''}.${a.field}`.localeCompare(`${b.table ?? ''}.${b.field}`));
379
+ for (let i = 0; i < sortedFilters1.length; i++) {
380
+ if (sortedFilters1[i]?.field !== sortedFilters2[i]?.field ||
381
+ sortedFilters1[i]?.filterType !== sortedFilters2[i]?.filterType ||
382
+ sortedFilters1[i]?.fieldType !== sortedFilters2[i]?.fieldType ||
383
+ sortedFilters1[i]?.operator !== sortedFilters2[i]?.operator ||
384
+ sortedFilters1[i]?.value !== sortedFilters2[i]?.value ||
385
+ sortedFilters1[i]?.table !== sortedFilters2[i]?.table) {
386
+ return false;
387
+ }
388
+ }
389
+ return true;
390
+ }
365
391
  /**
366
392
  * Helper function that converts a UniqueValuesByColumn interface to a string map
367
393
  */
@@ -375,3 +401,53 @@ export function uniqueValuesToStringMap(uniqueValues) {
375
401
  }
376
402
  return fieldValues;
377
403
  }
404
+ export const createDefaultDateFilter = (filter, reports, dashboardName) => {
405
+ const comparisonRangeStart = getComparisonRange(filter, 'startDate');
406
+ const comparisonRangeEnd = getComparisonRange(filter, 'endDate');
407
+ const range = filter?.presetRanges?.find((range) => range.value === filter.primaryRange?.value) ??
408
+ PRIMARY_RANGE[filter.primaryRange?.value ?? 'LAST_30_DAYS'] ??
409
+ PRIMARY_RANGE['LAST_30_DAYS'];
410
+ return filter
411
+ ? {
412
+ ...filter,
413
+ startDate: !range.startDate || range.startDate instanceof Date
414
+ ? range.startDate
415
+ : new Date(range.startDate), // when range.startDate is a string
416
+ endDate: !range.endDate || range.endDate instanceof Date
417
+ ? range.endDate
418
+ : new Date(range.endDate), // when range.endDate is a string
419
+ filterType: DashboardFilterType.Date,
420
+ dateField: [
421
+ ...new Map(reports.map((report) => {
422
+ const key = JSON.stringify(report.dateField);
423
+ return [key, report.dateField];
424
+ })).values(),
425
+ ],
426
+ options: defaultOptionsV2,
427
+ preset: filter.primaryRange,
428
+ dashboardName: dashboardName,
429
+ comparisonRange: filter.comparison && comparisonRangeStart && comparisonRangeEnd
430
+ ? {
431
+ startDate: comparisonRangeStart,
432
+ endDate: comparisonRangeEnd,
433
+ value: filter.comparisonRange?.value ??
434
+ filter?.defaultComparisonRange ??
435
+ 'NO_COMPARISON',
436
+ }
437
+ : undefined,
438
+ }
439
+ : undefined;
440
+ };
441
+ const getComparisonRange = (dateFilter, rangeType) => {
442
+ const range = dateFilter?.presetRanges?.find((range) => range.value === dateFilter?.primaryRange?.value) ?? PRIMARY_RANGE[dateFilter?.primaryRange?.value ?? 'LAST_30_DAYS'];
443
+ return (dateFilter?.comparisonRange?.[rangeType] ??
444
+ COMPARISON_RANGE[dateFilter?.defaultComparisonRange ??
445
+ 'NO_COMPARISON']({
446
+ startDate: !range.startDate || range.startDate instanceof Date
447
+ ? range.startDate
448
+ : new Date(range.startDate), // when range.startDate is a string
449
+ endDate: !range.endDate || range.endDate instanceof Date
450
+ ? range.endDate
451
+ : new Date(range.endDate), // when range.endDate is a string
452
+ })?.[rangeType]);
453
+ };
@@ -97,7 +97,7 @@ export async function generatePivotWithSQL(pivot, report, client, dateBucket, da
97
97
  const dateSet = new Set(rows.map((row) => row[pivot.rowField || '']));
98
98
  // create a loop that will go through each formatted date and add a row if it doesn't exist going to the current date
99
99
  for (let date = dateFilter.startDate; date <= dateFilter.endDate; date = new Date(date.getTime() + 24 * 60 * 60 * 1000)) {
100
- const formattedDate = getDateString(date.toDateString(), undefined, dateBucket);
100
+ const formattedDate = getDateString(date.toISOString().split('T')[0], undefined, dateBucket);
101
101
  if (!dateSet.has(formattedDate)) {
102
102
  const newRow = {};
103
103
  newRow[pivot.rowField] = formattedDate;
@@ -1 +1 @@
1
- {"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAoBxC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,uBAAuB,CAAC,EAAE,OAAO,EACjC,sBAAsB,CAAC,EAAE,OAAO,UAqEjC;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAsBrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAYrB;AAiDD,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAarB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAiCpB"}
1
+ {"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAoBxC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,uBAAuB,CAAC,EAAE,OAAO,EACjC,sBAAsB,CAAC,EAAE,OAAO,UAqEjC;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAsBrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAYrB;AAiDD,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAarB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAgCpB"}
@@ -197,7 +197,6 @@ export function generatePivotQuery(pivot, itemQueries, databaseType, comparisonI
197
197
  return undefined;
198
198
  }
199
199
  if (pivot.columnField) {
200
- console.log('1');
201
200
  return create2DPivotQuery(pivot, itemQueries, databaseType, dateBucket, comparisonInterval, distinctStrings, rowLimit);
202
201
  }
203
202
  if (pivot.rowField) {
@@ -1,5 +1,6 @@
1
1
  import { QuillProviderClient } from '../models/Client';
2
2
  import { ColumnInternal } from '../models/Columns';
3
+ import { DashboardFilter, InternalFilter } from '../models/Filter';
3
4
  import { Pivot } from '../models/Pivot';
4
5
  import { QuillReport, QuillReportInternal } from '../models/Report';
5
6
  import { DateRangesByColumn, Table, UniqueValuesByTable } from '../models/Tables';
@@ -27,6 +28,17 @@ export declare function fetchReport(reportId: string, client: QuillProviderClien
27
28
  report: QuillReportInternal;
28
29
  error?: string;
29
30
  }>;
31
+ export declare function processReportResponse({ resp, client, filters, dateBucket, additionalProcessing, }: {
32
+ resp: any;
33
+ client: QuillProviderClient;
34
+ filters?: (DashboardFilter | InternalFilter)[];
35
+ dateBucket?: string;
36
+ additionalProcessing?: AdditionalProcessing;
37
+ }): Promise<QuillReportInternal>;
38
+ export declare function fetchReportInfo(reportId: string, client: QuillProviderClient): Promise<{
39
+ report: any;
40
+ filters: any;
41
+ }>;
30
42
  export declare function fetchReportRowCount(reportId: string, client: QuillProviderClient, useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, customFields?: any, abortSignal?: AbortSignal): Promise<number | undefined>;
31
43
  export declare function saveReport({ report, dashboardItemId, client, }: {
32
44
  report: any;
@@ -34,7 +46,7 @@ export declare function saveReport({ report, dashboardItemId, client, }: {
34
46
  client: QuillProviderClient;
35
47
  }): Promise<any>;
36
48
  export declare const formatRowsFromReport: (report: any) => any;
37
- export declare function convertInternalReportToReport(report: QuillReportInternal): QuillReport;
49
+ export declare function convertInternalReportToReport(report: QuillReportInternal, dashboardFilters: DashboardFilter[]): QuillReport;
38
50
  export declare const fetchReportBuilderDataFromAST: (baseAst: any, formData: any, schema: Table[], client: QuillProviderClient, pivot?: Pivot, previousFormData?: any, currentTable?: string, previousRelevant?: {
39
51
  uniqueStrings: UniqueValuesByTable;
40
52
  dateRanges: DateRangesByColumn;
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAY1B,OAAO,EACL,oBAAoB,EAIrB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAkB1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,mBAGnC,CAAC;AA4BF,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,EAC3B,aAAa,UAAO,EACpB,OAAO,GAAE,GAAG,EAAO,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,GAAG,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,YAAY,CAAC,EAAE,OAAO,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,0BAA0B,CAAC,EAAE,OAAO,GACnC,OAAO,CAAC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2I1D;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,EAC3B,aAAa,UAAO,EACpB,OAAO,GAAE,GAAG,EAAO,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,YAAY,CAAC,EAAE,GAAG,EAClB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAmC7B;AAED,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EACN,eAAe,EACf,MAAM,GACP,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,GAAG,OAAO,CAAC,GAAG,CAAC,CA4Cf;AAED,eAAO,MAAM,oBAAoB,WAAY,GAAG,QAkB/C,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,GAC1B,WAAW,CAsDb;AAED,eAAO,MAAM,6BAA6B,YAC/B,GAAG,YACF,GAAG,UACL,KAAK,EAAE,UACP,mBAAmB,UACnB,KAAK,qBACM,GAAG,iBACP,MAAM,qBACF;IACjB,aAAa,EAAE,mBAAmB,CAAC;IACnC,UAAU,EAAE,kBAAkB,CAAC;CAChC,WACQ,mBAAmB,iBACb,GAAG,qBACC,OAAO,iBACX,OAAO,eACT,oBAAoB,KAChC,OAAO,CAAC,iBAAiB,CAgK3B,CAAC"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { createInitialFormData } from '../ChartBuilder';
2
2
  import { getTableNames } from '../components/ReportBuilder/ast';
3
3
  import { generatePivotTable } from '../internals/ReportBuilder/PivotModal';
4
+ import { FilterType } from '../models/Filter';
4
5
  import { createBasicSelectASTFromColumns } from './astProcessing';
5
6
  import { getYAxisFields } from './columnProcessing';
6
7
  import { cleanDashboardItem } from './dashboard';
@@ -8,7 +9,6 @@ import { fetchSqlQuery, getData } from './dataFetcher';
8
9
  import { parseValueFromBigQueryDates } from './dataProcessing';
9
10
  import { getDateBucketFromRange } from './dates';
10
11
  import { DataLoadError } from './error';
11
- import { processFilterErrorList } from './errorProcessing';
12
12
  import { internalLog } from './logging';
13
13
  import { DEFAULT_PAGINATION } from './paginationProcessing';
14
14
  import { isPivotPossible, isValidPivot } from './pivotProcessing';
@@ -89,59 +89,20 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
89
89
  useNewNodeSql: true,
90
90
  };
91
91
  const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody, 'POST', 'fetch-data', abortSignal);
92
- processFilterErrorList(resp);
93
- const dashboardItem = {
94
- ...resp,
95
- filtersApplied: getDefaultDashboardFilters ? resp.filters : filters,
96
- };
97
- if (resp.errorMessage) {
98
- throw new DataLoadError(resp?.errorMessage, {
99
- ...resp,
100
- useReportTask,
101
- });
102
- }
103
- if (client.databaseType &&
104
- client.databaseType.toLowerCase() === 'bigquery') {
105
- parseValueFromBigQueryDates(dashboardItem.rows, resp.fields);
106
- }
107
- if (dashboardItem.compareRows) {
108
- if (client.databaseType &&
109
- client.databaseType.toLowerCase() === 'bigquery') {
110
- parseValueFromBigQueryDates(dashboardItem.compareRows, resp.fields);
111
- }
112
- }
113
- reportInfo = await cleanDashboardItem(dashboardItem, filters, client, dateBucket);
114
- if (additionalProcessing) {
115
- reportInfo.pagination = additionalProcessing.page;
116
- reportInfo.sort = additionalProcessing.sort;
117
- }
118
- // Ensure the report columns don't reference any columns that aren't present in the rows
119
- const observedColumns = reportInfo?.rows[0]
120
- ? Object.keys(reportInfo.rows[0])
121
- : null;
122
- if (observedColumns &&
123
- reportInfo &&
124
- !reportInfo.pivot &&
125
- !reportInfo.pivotColumns &&
126
- !reportInfo.error &&
127
- useReportTask &&
128
- reportInfo.columns?.filter((col) => !observedColumns.includes(col.field))
129
- ?.length > 0) {
130
- reportInfo.columns = reportInfo.columns.filter((col) => observedColumns.includes(col.field));
131
- reportInfo.columnInternal = reportInfo.columnInternal.filter((col) => observedColumns.includes(col.field));
132
- await saveReport({
133
- report: { ...dashboardItem, query: reportInfo.queryString },
134
- dashboardItemId: reportId,
135
- client,
136
- });
137
- }
92
+ reportInfo = await processReportResponse({
93
+ resp,
94
+ client,
95
+ filters,
96
+ dateBucket,
97
+ additionalProcessing,
98
+ });
138
99
  }
139
100
  catch (error) {
140
101
  if (error instanceof Error && error.name === 'AbortError') {
141
102
  throw error;
142
103
  }
143
104
  if (error instanceof DataLoadError) {
144
- if (error.data.useReportTask) {
105
+ if (useReportTask) {
145
106
  internalLog('USING ITEM AS BACKUP');
146
107
  const { report, error } = await fetchReport(reportId, client, false, filters, additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly);
147
108
  reportInfo = report;
@@ -170,6 +131,71 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
170
131
  }
171
132
  return { report: reportInfo || EMPTY_INTERNAL_REPORT, error: errorMessage };
172
133
  }
134
+ export async function processReportResponse({ resp, client, filters, dateBucket, additionalProcessing, }) {
135
+ const dashboardItem = {
136
+ ...resp,
137
+ filtersApplied: filters?.filter((filter) => filter.filterType in FilterType),
138
+ };
139
+ if (resp.errorMessage) {
140
+ throw new DataLoadError(resp?.errorMessage, {
141
+ ...resp,
142
+ useReportTask: true,
143
+ });
144
+ }
145
+ if (client.databaseType && client.databaseType.toLowerCase() === 'bigquery') {
146
+ parseValueFromBigQueryDates(dashboardItem.rows, resp.fields);
147
+ }
148
+ if (dashboardItem.compareRows) {
149
+ if (client.databaseType &&
150
+ client.databaseType.toLowerCase() === 'bigquery') {
151
+ parseValueFromBigQueryDates(dashboardItem.compareRows, resp.fields);
152
+ }
153
+ }
154
+ const reportInfo = await cleanDashboardItem(dashboardItem, filters, client, dateBucket);
155
+ if (additionalProcessing) {
156
+ reportInfo.pagination = additionalProcessing.page;
157
+ reportInfo.sort = additionalProcessing.sort;
158
+ }
159
+ //TODO: Revisit this code
160
+ // It's purpose is to filter out columns that are not present in the rows
161
+ // But it appears to be confusing dashboardItem and reportInfo
162
+ // Ensure the report columns don't reference any columns that aren't present in the rows
163
+ const observedColumns = reportInfo?.rows[0]
164
+ ? Object.keys(reportInfo.rows[0])
165
+ : null;
166
+ if (observedColumns &&
167
+ reportInfo &&
168
+ !reportInfo.pivot &&
169
+ !reportInfo.pivotColumns &&
170
+ !reportInfo.error &&
171
+ reportInfo.columns?.filter((col) => !observedColumns.includes(col.field))
172
+ ?.length > 0) {
173
+ reportInfo.columns = reportInfo.columns.filter((col) => observedColumns.includes(col.field));
174
+ reportInfo.columnInternal = reportInfo.columnInternal.filter((col) => observedColumns.includes(col.field));
175
+ await saveReport({
176
+ report: { ...reportInfo, query: reportInfo.queryString },
177
+ dashboardItemId: reportInfo.id,
178
+ client,
179
+ });
180
+ }
181
+ return reportInfo;
182
+ }
183
+ export async function fetchReportInfo(reportId, client) {
184
+ const hostedBody = {
185
+ metadata: {
186
+ reportId,
187
+ clientId: client.publicKey,
188
+ task: 'report-info',
189
+ orgId: client.organizationId || '*',
190
+ },
191
+ };
192
+ const cloudBody = {
193
+ id: reportId,
194
+ useNewNodeSql: true,
195
+ };
196
+ const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody, 'POST', 'fetch-data');
197
+ return { report: resp.report, filters: resp.filters };
198
+ }
173
199
  export async function fetchReportRowCount(reportId, client, useReportTask = true, filters = [], additionalProcessing, customFields, abortSignal) {
174
200
  // Remove extra fields on each filter so we don't confuse the backend.
175
201
  const hostedBody = {
@@ -246,7 +272,7 @@ export const formatRowsFromReport = (report) => {
246
272
  }, {});
247
273
  });
248
274
  };
249
- export function convertInternalReportToReport(report) {
275
+ export function convertInternalReportToReport(report, dashboardFilters) {
250
276
  try {
251
277
  if (!report) {
252
278
  return EMPTY_REPORT;
@@ -283,7 +309,7 @@ export function convertInternalReportToReport(report) {
283
309
  return {
284
310
  ...extractAllReportValuesFromQuillInternalReport(formattedReport),
285
311
  rows: rows,
286
- yAxisFields: getYAxisFields(report),
312
+ yAxisFields: getYAxisFields(report, dashboardFilters),
287
313
  columns: columns,
288
314
  rowCount: rows ? rows.length : 0,
289
315
  };
@@ -295,7 +321,7 @@ export function convertInternalReportToReport(report) {
295
321
  return {
296
322
  ...extractAllReportValuesFromQuillInternalReport(formattedReport),
297
323
  rows: rows,
298
- yAxisFields: getYAxisFields(report),
324
+ yAxisFields: getYAxisFields(report, dashboardFilters),
299
325
  };
300
326
  }
301
327
  catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillsql/react",
3
- "version": "2.13.18",
3
+ "version": "2.13.20",
4
4
  "exports": {
5
5
  ".": {
6
6
  "import": "./dist/esm/index.js",