@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.
- package/dist/cjs/Chart.d.ts +3 -3
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +83 -187
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +3 -5
- package/dist/cjs/Context.d.ts +24 -3
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +316 -7
- package/dist/cjs/Dashboard.js +1 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +0 -2
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +1 -4
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +34 -32
- package/dist/cjs/components/Dashboard/DashboardFilter.js +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +4 -2
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +136 -57
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +2 -49
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +64 -42
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +0 -1
- package/dist/cjs/models/Report.d.ts +4 -3
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.d.ts +2 -1
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +2 -2
- package/dist/cjs/utils/dataProcessing.js +2 -2
- package/dist/cjs/utils/filterProcessing.d.ts +6 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +81 -3
- package/dist/cjs/utils/pivotConstructor.js +1 -1
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +0 -1
- package/dist/cjs/utils/report.d.ts +13 -1
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +79 -51
- package/dist/esm/Chart.d.ts +3 -3
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +88 -196
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +3 -5
- package/dist/esm/Context.d.ts +24 -3
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +315 -6
- package/dist/esm/Dashboard.js +1 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +0 -2
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +1 -4
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +34 -32
- package/dist/esm/components/Dashboard/DashboardFilter.js +1 -1
- package/dist/esm/components/Dashboard/DataLoader.d.ts +4 -2
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +137 -58
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +3 -50
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +66 -44
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +0 -1
- package/dist/esm/models/Report.d.ts +4 -3
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.d.ts +2 -1
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +2 -2
- package/dist/esm/utils/dataProcessing.js +2 -2
- package/dist/esm/utils/filterProcessing.d.ts +6 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +78 -2
- package/dist/esm/utils/pivotConstructor.js +1 -1
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +0 -1
- package/dist/esm/utils/report.d.ts +13 -1
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +77 -51
- 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" | "
|
|
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,
|
|
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,4CAklCjB,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"}
|
|
@@ -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,
|
|
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,
|
|
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(
|
|
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.
|
|
97
|
-
const maxDateBucket = getDateString(maxDate.
|
|
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,
|
|
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(
|
|
360
|
-
endDate: new Date(
|
|
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.
|
|
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,
|
|
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;
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils/report.js
CHANGED
|
@@ -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
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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 (
|
|
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) {
|