@quillsql/react 2.13.39 → 2.13.41
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 +5 -1
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +51 -28
- package/dist/cjs/ChartBuilder.d.ts +13 -1
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +347 -147
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +11 -1
- package/dist/cjs/Context.d.ts +16 -4
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +57 -38
- package/dist/cjs/Dashboard.d.ts +6 -3
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +70 -28
- package/dist/cjs/QuillProvider.d.ts +4 -8
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.d.ts +1 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +117 -45
- package/dist/cjs/SQLEditor.d.ts +7 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +53 -9
- package/dist/cjs/Table.d.ts +21 -1
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +30 -192
- package/dist/cjs/components/Chart/BarChart.d.ts +5 -1
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +4 -3
- package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +2 -0
- package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -0
- package/dist/cjs/components/Chart/CustomReferenceLine.js +26 -0
- package/dist/cjs/components/Chart/GaugeChart.d.ts +11 -0
- package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -0
- package/dist/cjs/components/Chart/GaugeChart.js +198 -0
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/InternalChart.js +14 -11
- package/dist/cjs/components/Chart/LineChart.d.ts +5 -1
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +4 -3
- package/dist/cjs/components/Chart/MapChart.d.ts +36 -0
- package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -0
- package/dist/cjs/components/Chart/MapChart.js +548 -0
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +114 -42
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +57 -54
- package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TableComponent.js +5 -1
- package/dist/cjs/components/QuillMultiSelectSectionList.js +5 -5
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +5 -4
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +12 -11
- package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnModal.js +2 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.js +13 -13
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.js +4 -4
- package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -0
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +28 -7
- package/dist/cjs/components/ReportBuilder/util.d.ts +1 -1
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +15 -2
- package/dist/cjs/components/UiComponents.d.ts +4 -1
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +31 -5
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +11 -9
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +18 -4
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +16 -3
- package/dist/cjs/hooks/useReport.d.ts.map +1 -1
- package/dist/cjs/hooks/useReport.js +1 -7
- package/dist/cjs/hooks/useVirtualTables.d.ts +6 -2
- package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.js +5 -2
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +6 -7
- package/dist/cjs/models/Filter.d.ts +20 -13
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Filter.js +161 -87
- package/dist/cjs/models/Report.d.ts +12 -1
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/models/Schema.d.ts +12 -1
- package/dist/cjs/models/Schema.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +22 -22
- package/dist/cjs/utils/astProcessing.d.ts +2 -2
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +25 -6
- package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/axisFormatter.js +25 -0
- package/dist/cjs/utils/color.d.ts +159 -0
- package/dist/cjs/utils/color.d.ts.map +1 -1
- package/dist/cjs/utils/color.js +14 -5
- package/dist/cjs/utils/columnProcessing.js +3 -3
- package/dist/cjs/utils/constants.d.ts +1 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +2 -1
- package/dist/cjs/utils/dashboard.d.ts +13 -3
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +73 -16
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +3 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +9 -9
- package/dist/cjs/utils/getDomain.d.ts +4 -1
- package/dist/cjs/utils/getDomain.d.ts.map +1 -1
- package/dist/cjs/utils/getDomain.js +11 -1
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +7 -6
- package/dist/cjs/utils/queryConstructor.d.ts +1 -1
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +71 -43
- package/dist/cjs/utils/report.d.ts +23 -5
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +28 -8
- package/dist/cjs/utils/schema.d.ts +26 -3
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +75 -43
- package/dist/cjs/utils/tableProcessing.d.ts +10 -3
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +4 -6
- package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/textProcessing.js +0 -1
- package/dist/esm/Chart.d.ts +5 -1
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +52 -29
- package/dist/esm/ChartBuilder.d.ts +13 -1
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +352 -152
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +11 -1
- package/dist/esm/Context.d.ts +16 -4
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +59 -40
- package/dist/esm/Dashboard.d.ts +6 -3
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +71 -29
- package/dist/esm/QuillProvider.d.ts +4 -8
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.d.ts +1 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +119 -47
- package/dist/esm/SQLEditor.d.ts +7 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +54 -10
- package/dist/esm/Table.d.ts +21 -1
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +34 -196
- package/dist/esm/components/Chart/BarChart.d.ts +5 -1
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +5 -4
- package/dist/esm/components/Chart/CustomReferenceLine.d.ts +2 -0
- package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -0
- package/dist/esm/components/Chart/CustomReferenceLine.js +23 -0
- package/dist/esm/components/Chart/GaugeChart.d.ts +11 -0
- package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/GaugeChart.js +195 -0
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/InternalChart.js +14 -11
- package/dist/esm/components/Chart/LineChart.d.ts +5 -1
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +5 -4
- package/dist/esm/components/Chart/MapChart.d.ts +36 -0
- package/dist/esm/components/Chart/MapChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/MapChart.js +541 -0
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +114 -42
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +57 -54
- package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/TableComponent.js +5 -1
- package/dist/esm/components/QuillMultiSelectSectionList.js +5 -5
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +5 -4
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +12 -11
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnModal.js +2 -1
- package/dist/esm/components/ReportBuilder/FilterModal.js +14 -14
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterStack.js +4 -4
- package/dist/esm/components/ReportBuilder/convert.d.ts +2 -0
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +26 -7
- package/dist/esm/components/ReportBuilder/util.d.ts +1 -1
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.js +15 -2
- package/dist/esm/components/UiComponents.d.ts +4 -1
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +29 -4
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +11 -9
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +19 -5
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +16 -3
- package/dist/esm/hooks/useReport.d.ts.map +1 -1
- package/dist/esm/hooks/useReport.js +1 -7
- package/dist/esm/hooks/useVirtualTables.d.ts +6 -2
- package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/esm/hooks/useVirtualTables.js +6 -3
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +6 -7
- package/dist/esm/models/Filter.d.ts +20 -13
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Filter.js +160 -86
- package/dist/esm/models/Report.d.ts +12 -1
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/models/Schema.d.ts +12 -1
- package/dist/esm/models/Schema.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +23 -23
- package/dist/esm/utils/astProcessing.d.ts +2 -2
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +25 -6
- package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
- package/dist/esm/utils/axisFormatter.js +25 -0
- package/dist/esm/utils/color.d.ts +159 -0
- package/dist/esm/utils/color.d.ts.map +1 -1
- package/dist/esm/utils/color.js +8 -2
- package/dist/esm/utils/columnProcessing.js +3 -3
- package/dist/esm/utils/constants.d.ts +1 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +1 -0
- package/dist/esm/utils/dashboard.d.ts +13 -3
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +73 -16
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +3 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +10 -10
- package/dist/esm/utils/getDomain.d.ts +4 -1
- package/dist/esm/utils/getDomain.d.ts.map +1 -1
- package/dist/esm/utils/getDomain.js +11 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +7 -6
- package/dist/esm/utils/queryConstructor.d.ts +1 -1
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +71 -43
- package/dist/esm/utils/report.d.ts +23 -5
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +29 -9
- package/dist/esm/utils/schema.d.ts +26 -3
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +74 -43
- package/dist/esm/utils/tableProcessing.d.ts +10 -3
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +4 -6
- package/dist/esm/utils/textProcessing.d.ts.map +1 -1
- package/dist/esm/utils/textProcessing.js +0 -1
- package/package.json +8 -3
|
@@ -2,6 +2,17 @@ import { Table } from './Tables';
|
|
|
2
2
|
export type SchemaData = {
|
|
3
3
|
schema: Table[];
|
|
4
4
|
isSchemaLoading: boolean;
|
|
5
|
-
customFields:
|
|
5
|
+
customFields: {
|
|
6
|
+
[tableName: string]: CustomField[];
|
|
7
|
+
} | null;
|
|
8
|
+
schemaWithCustomFields: Table[];
|
|
9
|
+
};
|
|
10
|
+
export type CustomField = {
|
|
11
|
+
viewName: string;
|
|
12
|
+
refTable: string;
|
|
13
|
+
field: string;
|
|
14
|
+
refColumn?: string;
|
|
15
|
+
type?: string;
|
|
16
|
+
refField?: string;
|
|
6
17
|
};
|
|
7
18
|
//# sourceMappingURL=Schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/models/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/models/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5D,sBAAsB,EAAE,KAAK,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BoolOperator, DateOperator, FieldType,
|
|
1
|
+
import { BoolOperator, DateOperator, FieldType, InternalFilterType, NullOperator, NumberOperator, StringOperator, TimeUnit, } from '../models/Filter';
|
|
2
2
|
import { format, isValid, parse, subDays, subHours, subMonths, subWeeks, subYears, } from 'date-fns';
|
|
3
3
|
import { isBoolType, isDateType, isNumberType, isStringType, } from './columnProcessing';
|
|
4
4
|
// Map SQL string operators to corresponding StringOperator enums
|
|
@@ -93,34 +93,34 @@ function mapOperatorToFilterName(operator, fieldType) {
|
|
|
93
93
|
case FieldType.Date:
|
|
94
94
|
switch (operator) {
|
|
95
95
|
case DateOperator.Custom:
|
|
96
|
-
return
|
|
96
|
+
return InternalFilterType.DateCustomFilter;
|
|
97
97
|
case DateOperator.EqualTo:
|
|
98
98
|
case DateOperator.GreaterThan:
|
|
99
99
|
case DateOperator.GreaterThanOrEqualTo:
|
|
100
100
|
case DateOperator.LessThan:
|
|
101
101
|
case DateOperator.LessThanOrEqualTo:
|
|
102
102
|
case DateOperator.NotEqualTo:
|
|
103
|
-
return
|
|
103
|
+
return InternalFilterType.DateComparisonFilter;
|
|
104
104
|
case DateOperator.InTheCurrent:
|
|
105
105
|
case DateOperator.InTheLast:
|
|
106
106
|
case DateOperator.InThePrevious:
|
|
107
|
-
return
|
|
107
|
+
return InternalFilterType.DateFilter;
|
|
108
108
|
}
|
|
109
109
|
// fallthrough
|
|
110
110
|
case FieldType.String:
|
|
111
111
|
switch (operator) {
|
|
112
112
|
case StringOperator.Is:
|
|
113
113
|
case StringOperator.IsNot:
|
|
114
|
-
return
|
|
114
|
+
return InternalFilterType.StringInFilter;
|
|
115
115
|
default:
|
|
116
|
-
return
|
|
116
|
+
return InternalFilterType.StringFilter;
|
|
117
117
|
}
|
|
118
118
|
case FieldType.Number:
|
|
119
|
-
return
|
|
119
|
+
return InternalFilterType.NumericFilter;
|
|
120
120
|
case FieldType.Null:
|
|
121
|
-
return
|
|
121
|
+
return InternalFilterType.NullFilter;
|
|
122
122
|
case FieldType.Boolean:
|
|
123
|
-
return
|
|
123
|
+
return InternalFilterType.BooleanFilter;
|
|
124
124
|
default:
|
|
125
125
|
console.error(`Could not determine filter name: {operator: ${operator}, fieldType: ${fieldType}}`);
|
|
126
126
|
return null;
|
|
@@ -8700,7 +8700,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8700
8700
|
}
|
|
8701
8701
|
// Finally, with the operator, field, and filter name, return the corresponding Filter object
|
|
8702
8702
|
switch (filterName) {
|
|
8703
|
-
case
|
|
8703
|
+
case InternalFilterType.StringFilter:
|
|
8704
8704
|
return {
|
|
8705
8705
|
field: (lowerFunctionToField(field, db) ?? '').replaceAll('%', ''),
|
|
8706
8706
|
filterType: filterName,
|
|
@@ -8708,7 +8708,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8708
8708
|
operator: mappedOperator,
|
|
8709
8709
|
value: (lowerFunctionToField(right, db) ?? '').replaceAll('%', ''),
|
|
8710
8710
|
};
|
|
8711
|
-
case
|
|
8711
|
+
case InternalFilterType.StringInFilter:
|
|
8712
8712
|
return {
|
|
8713
8713
|
field: (lowerFunctionToField(field, db) ?? '').replaceAll('%', ''),
|
|
8714
8714
|
filterType: filterName,
|
|
@@ -8716,7 +8716,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8716
8716
|
operator: mappedOperator,
|
|
8717
8717
|
value: right.value.map((v) => (lowerFunctionToField(v, db) ?? '').replaceAll('%', '')),
|
|
8718
8718
|
};
|
|
8719
|
-
case
|
|
8719
|
+
case InternalFilterType.NumericFilter:
|
|
8720
8720
|
return {
|
|
8721
8721
|
field: field,
|
|
8722
8722
|
filterType: filterName,
|
|
@@ -8724,7 +8724,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8724
8724
|
operator: mappedOperator,
|
|
8725
8725
|
value: Number(right.value),
|
|
8726
8726
|
};
|
|
8727
|
-
case
|
|
8727
|
+
case InternalFilterType.NullFilter:
|
|
8728
8728
|
return {
|
|
8729
8729
|
field: field,
|
|
8730
8730
|
filterType: filterName,
|
|
@@ -8732,7 +8732,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8732
8732
|
operator: mappedOperator,
|
|
8733
8733
|
value: null,
|
|
8734
8734
|
};
|
|
8735
|
-
case
|
|
8735
|
+
case InternalFilterType.DateCustomFilter: {
|
|
8736
8736
|
const rightExprList = right;
|
|
8737
8737
|
const values = parseBetweenDates(rightExprList.value);
|
|
8738
8738
|
if (!values) {
|
|
@@ -8747,7 +8747,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8747
8747
|
value: values,
|
|
8748
8748
|
};
|
|
8749
8749
|
}
|
|
8750
|
-
case
|
|
8750
|
+
case InternalFilterType.DateComparisonFilter: {
|
|
8751
8751
|
const numericDateComparison = reverseOperatorMap(operator, FieldType.Number);
|
|
8752
8752
|
if (numericDateComparison) {
|
|
8753
8753
|
if (!right.value ||
|
|
@@ -8759,7 +8759,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8759
8759
|
if (numericDateComparison === NumberOperator.EqualTo) {
|
|
8760
8760
|
return {
|
|
8761
8761
|
field: field,
|
|
8762
|
-
filterType:
|
|
8762
|
+
filterType: InternalFilterType.DateCustomFilter,
|
|
8763
8763
|
fieldType: FieldType.Date,
|
|
8764
8764
|
operator: DateOperator.Custom,
|
|
8765
8765
|
value: { startDate: right.value, endDate: right.value },
|
|
@@ -8767,7 +8767,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8767
8767
|
}
|
|
8768
8768
|
return {
|
|
8769
8769
|
field: field,
|
|
8770
|
-
filterType:
|
|
8770
|
+
filterType: InternalFilterType.DateComparisonFilter,
|
|
8771
8771
|
fieldType: FieldType.Date,
|
|
8772
8772
|
operator: numericDateComparison,
|
|
8773
8773
|
value: right.value,
|
|
@@ -8776,7 +8776,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8776
8776
|
}
|
|
8777
8777
|
}
|
|
8778
8778
|
// fallthrough
|
|
8779
|
-
case
|
|
8779
|
+
case InternalFilterType.DateFilter: {
|
|
8780
8780
|
const { operator: dateOperator, value } = parseDateOperatorAndValue(ast, db);
|
|
8781
8781
|
if (!value) {
|
|
8782
8782
|
return null;
|
|
@@ -8793,14 +8793,14 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8793
8793
|
else {
|
|
8794
8794
|
return {
|
|
8795
8795
|
field: field,
|
|
8796
|
-
filterType:
|
|
8796
|
+
filterType: InternalFilterType.DateCustomFilter,
|
|
8797
8797
|
fieldType: FieldType.Date,
|
|
8798
8798
|
operator: DateOperator.Custom,
|
|
8799
8799
|
value: value.value,
|
|
8800
8800
|
};
|
|
8801
8801
|
}
|
|
8802
8802
|
}
|
|
8803
|
-
case
|
|
8803
|
+
case InternalFilterType.BooleanFilter: {
|
|
8804
8804
|
const value = right.value !== undefined &&
|
|
8805
8805
|
['boolean', 'string'].includes(typeof right.value)
|
|
8806
8806
|
? Boolean(right.value)
|
|
@@ -8925,7 +8925,7 @@ export const filterToAst = (filter, db) => {
|
|
|
8925
8925
|
}
|
|
8926
8926
|
case FieldType.Date:
|
|
8927
8927
|
switch (filter.filterType) {
|
|
8928
|
-
case
|
|
8928
|
+
case InternalFilterType.DateCustomFilter:
|
|
8929
8929
|
return {
|
|
8930
8930
|
type: 'binary_expr',
|
|
8931
8931
|
operator: mappedOperator,
|
|
@@ -8950,7 +8950,7 @@ export const filterToAst = (filter, db) => {
|
|
|
8950
8950
|
],
|
|
8951
8951
|
},
|
|
8952
8952
|
};
|
|
8953
|
-
case
|
|
8953
|
+
case InternalFilterType.DateFilter:
|
|
8954
8954
|
switch (filter.operator) {
|
|
8955
8955
|
case DateOperator.InTheLast:
|
|
8956
8956
|
switch (db) {
|
|
@@ -10796,7 +10796,7 @@ export const filterToAst = (filter, db) => {
|
|
|
10796
10796
|
default:
|
|
10797
10797
|
return null;
|
|
10798
10798
|
}
|
|
10799
|
-
case
|
|
10799
|
+
case InternalFilterType.DateComparisonFilter:
|
|
10800
10800
|
switch (filter.operator) {
|
|
10801
10801
|
case DateOperator.EqualTo:
|
|
10802
10802
|
return {
|
|
@@ -24,7 +24,7 @@ export declare function getColumnAndTableInfo(tableAliasMap: {
|
|
|
24
24
|
tableName: string;
|
|
25
25
|
columnName: string;
|
|
26
26
|
} | undefined;
|
|
27
|
-
export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: Table[], tableAliasMap: any): {
|
|
27
|
+
export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: Table[], tableAliasMap: any, skipStar?: boolean): {
|
|
28
28
|
[table: string]: string[];
|
|
29
29
|
};
|
|
30
30
|
export declare const isSubquery: (node: any) => boolean;
|
|
@@ -69,7 +69,7 @@ export declare const fetchASTFromQuillReport: (report: QuillReportInternal, clie
|
|
|
69
69
|
schema?: Table[];
|
|
70
70
|
error?: string;
|
|
71
71
|
}>;
|
|
72
|
-
export declare function getTablesHelper(ast: any, allTables: Table[]): {
|
|
72
|
+
export declare function getTablesHelper(ast: any, allTables: Table[], skipStar?: boolean): {
|
|
73
73
|
referencedTablesAndColumns: {
|
|
74
74
|
name: string;
|
|
75
75
|
columns: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getTableNames } from '../components/ReportBuilder/ast';
|
|
2
2
|
import { convertBigQuery, convertGroupBy, convertOrderBy, convertRemoveSimpleParentheses, convertStringComparison, convertUnaryToBinary, convertWildcardColumns, } from '../components/ReportBuilder/convert';
|
|
3
3
|
import { deepCopy, removeNonSelectedTableReferences, removeTableNameAlias, } from '../components/ReportBuilder/util';
|
|
4
|
+
import { getFieldFromExpression } from './astFilterProcessing';
|
|
4
5
|
import { QUILL_SERVER } from './constants';
|
|
5
6
|
import { getUniqueStringValues } from './tableProcessing';
|
|
6
7
|
export function getSelectFromAST(ast) {
|
|
@@ -169,9 +170,10 @@ export function getColumnAndTableInfo(tableAliasMap, column, schemaInfo) {
|
|
|
169
170
|
}
|
|
170
171
|
return { tableName, columnName };
|
|
171
172
|
}
|
|
172
|
-
export function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap) {
|
|
173
|
+
export function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap, skipStar = false) {
|
|
173
174
|
const referencedColumns = {};
|
|
174
|
-
if (
|
|
175
|
+
if (!skipStar &&
|
|
176
|
+
(ast?.columns === '*' || ast?.columns?.[0]?.expr?.column === '*')) {
|
|
175
177
|
// Be sure to select everything from stars
|
|
176
178
|
const tableList = ast.from.map((table) => recursiveSearchByKey(table, 'table'));
|
|
177
179
|
tableList.forEach((table) => {
|
|
@@ -251,6 +253,23 @@ export function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap) {
|
|
|
251
253
|
}
|
|
252
254
|
});
|
|
253
255
|
}
|
|
256
|
+
// Look through the orderby's
|
|
257
|
+
if (ast.orderby) {
|
|
258
|
+
const allColumnReferencesInOrderBy = ast.orderby.map((orderby) => ({
|
|
259
|
+
field: getFieldFromExpression(orderby.expr ?? orderby),
|
|
260
|
+
table: orderby.expr?.table,
|
|
261
|
+
}));
|
|
262
|
+
allColumnReferencesInOrderBy.forEach((column) => {
|
|
263
|
+
const table = column.table || ast.from?.length === 1 ? ast.from[0].table : '';
|
|
264
|
+
if (!table) {
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
if (!referencedColumns[table]) {
|
|
268
|
+
referencedColumns[table] = [];
|
|
269
|
+
}
|
|
270
|
+
referencedColumns[table].push(column.field);
|
|
271
|
+
});
|
|
272
|
+
}
|
|
254
273
|
for (const table in referencedColumns) {
|
|
255
274
|
referencedColumns[table] = Array.from(new Set(referencedColumns[table]));
|
|
256
275
|
}
|
|
@@ -377,7 +396,7 @@ export const fetchAndProcessASTFromPrompt = async (aiPrompt, schema, client, pre
|
|
|
377
396
|
}
|
|
378
397
|
ast = ast.length ? ast[0] : ast;
|
|
379
398
|
newAst = convertBigQuery(ast);
|
|
380
|
-
newAst = removeTableNameAlias(newAst);
|
|
399
|
+
newAst = removeTableNameAlias(newAst, schema);
|
|
381
400
|
newAst = convertWildcardColumns(newAst, schema); // must go before groupby
|
|
382
401
|
({ ast: newAst, pivot } = convertGroupBy(newAst, schema, prevPivot, prevTable));
|
|
383
402
|
newAst = convertOrderBy(newAst, schema);
|
|
@@ -471,7 +490,7 @@ const POSTGRES_DATE_TYPES = [
|
|
|
471
490
|
'time',
|
|
472
491
|
'timetz',
|
|
473
492
|
];
|
|
474
|
-
export function getTablesHelper(ast, allTables) {
|
|
493
|
+
export function getTablesHelper(ast, allTables, skipStar) {
|
|
475
494
|
const tableAliasMap = createTableNameToTableAliasMap(ast);
|
|
476
495
|
const tablesInQuery = Object.values(tableAliasMap);
|
|
477
496
|
// Remove all aliased tables (with statements and subqueries)
|
|
@@ -479,7 +498,7 @@ export function getTablesHelper(ast, allTables) {
|
|
|
479
498
|
.filter((table) => tablesInQuery.includes(table.displayName))
|
|
480
499
|
.map((table) => table.displayName);
|
|
481
500
|
// Get non with statement column references
|
|
482
|
-
let referencedColumns = getColumnsByTableFromASTAndSchema(ast, allTables, tableAliasMap);
|
|
501
|
+
let referencedColumns = getColumnsByTableFromASTAndSchema(ast, allTables, tableAliasMap, skipStar);
|
|
483
502
|
referencedColumns = Object.keys(referencedColumns)
|
|
484
503
|
.filter((table) => onlyReferenceTables.includes(table))
|
|
485
504
|
.reduce((obj, key) => {
|
|
@@ -491,7 +510,7 @@ export function getTablesHelper(ast, allTables) {
|
|
|
491
510
|
for (const withStmt of ast.with) {
|
|
492
511
|
const astFrom = withStmt.stmt.from ?? withStmt.stmt.ast.from;
|
|
493
512
|
if (astFrom) {
|
|
494
|
-
const withReferencedColumns = getColumnsByTableFromASTAndSchema(withStmt.stmt.ast ?? withStmt.stmt, allTables, tableAliasMap);
|
|
513
|
+
const withReferencedColumns = getColumnsByTableFromASTAndSchema(withStmt.stmt.ast ?? withStmt.stmt, allTables, tableAliasMap, skipStar);
|
|
495
514
|
// @ts-ignore
|
|
496
515
|
Object.keys(withReferencedColumns).forEach((tableName) => {
|
|
497
516
|
if (referencedColumns[tableName]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axisFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/axisFormatter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACpD,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,6BAA8B,KAAK,KAAG,
|
|
1
|
+
{"version":3,"file":"axisFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/axisFormatter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACpD,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,6BAA8B,KAAK,KAAG,MA4C/D,CAAC"}
|
|
@@ -23,6 +23,10 @@ export const axisFormatter = ({ value, field, fields }) => {
|
|
|
23
23
|
return formatDollarAmount(value);
|
|
24
24
|
case 'whole_number':
|
|
25
25
|
return formatWholeNumber(value);
|
|
26
|
+
case 'two_decimal_places':
|
|
27
|
+
return formatDecimal2(value);
|
|
28
|
+
case 'one_decimal_place':
|
|
29
|
+
return formatDecimal1(value);
|
|
26
30
|
case 'string':
|
|
27
31
|
return formatString(value);
|
|
28
32
|
case 'yyyy':
|
|
@@ -60,6 +64,26 @@ const formatString = (value) => {
|
|
|
60
64
|
}
|
|
61
65
|
return value.toString();
|
|
62
66
|
};
|
|
67
|
+
const formatterDecimal2 = new Intl.NumberFormat('en-US', {
|
|
68
|
+
style: 'decimal',
|
|
69
|
+
maximumFractionDigits: 2,
|
|
70
|
+
});
|
|
71
|
+
/**
|
|
72
|
+
* Formats the value as a number with two decimal places.
|
|
73
|
+
*/
|
|
74
|
+
const formatDecimal2 = (value) => {
|
|
75
|
+
return formatterDecimal2.format(Number(value));
|
|
76
|
+
};
|
|
77
|
+
const formatterDecimal1 = new Intl.NumberFormat('en-US', {
|
|
78
|
+
style: 'decimal',
|
|
79
|
+
maximumFractionDigits: 1,
|
|
80
|
+
});
|
|
81
|
+
/**
|
|
82
|
+
* Formats the value as a number with one decimal place.
|
|
83
|
+
*/
|
|
84
|
+
const formatDecimal1 = (value) => {
|
|
85
|
+
return formatterDecimal1.format(Number(value));
|
|
86
|
+
};
|
|
63
87
|
// Formats large numbers like 12345.67 -> $12K
|
|
64
88
|
const formatterBigDollars = new Intl.NumberFormat('en-US', {
|
|
65
89
|
style: 'currency',
|
|
@@ -99,6 +123,7 @@ const formatDollarAmount = (value) => {
|
|
|
99
123
|
const formatterBigWholeNumber = new Intl.NumberFormat('en-US', {
|
|
100
124
|
minimumSignificantDigits: 1,
|
|
101
125
|
maximumSignificantDigits: 2,
|
|
126
|
+
maximumFractionDigits: 0,
|
|
102
127
|
notation: 'compact',
|
|
103
128
|
compactDisplay: 'short',
|
|
104
129
|
});
|
|
@@ -15,7 +15,166 @@ export type Color = (typeof colorValues)[number];
|
|
|
15
15
|
* @param index the index of this element in colors
|
|
16
16
|
*/
|
|
17
17
|
export declare function selectColor(element: any, colors: string[], index: number): string;
|
|
18
|
+
/**
|
|
19
|
+
* Transform a hex string to an RGB array.
|
|
20
|
+
*
|
|
21
|
+
* Examples:
|
|
22
|
+
* - #8661f2 -> [134, 97, 242]
|
|
23
|
+
* - #1661ea2e -> [22, 97, 234, 46]
|
|
24
|
+
*
|
|
25
|
+
* TODO: Add support for triplet-style hex codes like this:
|
|
26
|
+
* - #123 -> #112233 -> [17, 34, 51]
|
|
27
|
+
*/
|
|
28
|
+
export declare function hexToRGB(hex: string): number[];
|
|
29
|
+
export declare function RGBToHex(rgb: number[]): string;
|
|
18
30
|
export declare function namedColorToHex(color: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* A comprehensive map of all the CSS named-colors that modern browsers will
|
|
33
|
+
* recognize, and converts them into their hex values.
|
|
34
|
+
*/
|
|
35
|
+
export declare const COLOR_TO_HEX: {
|
|
36
|
+
aliceblue: string;
|
|
37
|
+
antiquewhite: string;
|
|
38
|
+
aqua: string;
|
|
39
|
+
aquamarine: string;
|
|
40
|
+
azure: string;
|
|
41
|
+
beige: string;
|
|
42
|
+
bisque: string;
|
|
43
|
+
black: string;
|
|
44
|
+
blanchedalmond: string;
|
|
45
|
+
blue: string;
|
|
46
|
+
blueviolet: string;
|
|
47
|
+
brown: string;
|
|
48
|
+
burlywood: string;
|
|
49
|
+
cadetblue: string;
|
|
50
|
+
chartreuse: string;
|
|
51
|
+
chocolate: string;
|
|
52
|
+
coral: string;
|
|
53
|
+
cornflowerblue: string;
|
|
54
|
+
cornsilk: string;
|
|
55
|
+
crimson: string;
|
|
56
|
+
cyan: string;
|
|
57
|
+
darkblue: string;
|
|
58
|
+
darkcyan: string;
|
|
59
|
+
darkgoldenrod: string;
|
|
60
|
+
darkgray: string;
|
|
61
|
+
darkgreen: string;
|
|
62
|
+
darkkhaki: string;
|
|
63
|
+
darkmagenta: string;
|
|
64
|
+
darkolivegreen: string;
|
|
65
|
+
darkorange: string;
|
|
66
|
+
darkorchid: string;
|
|
67
|
+
darkred: string;
|
|
68
|
+
darksalmon: string;
|
|
69
|
+
darkseagreen: string;
|
|
70
|
+
darkslateblue: string;
|
|
71
|
+
darkslategray: string;
|
|
72
|
+
darkturquoise: string;
|
|
73
|
+
darkviolet: string;
|
|
74
|
+
deeppink: string;
|
|
75
|
+
deepskyblue: string;
|
|
76
|
+
dimgray: string;
|
|
77
|
+
dodgerblue: string;
|
|
78
|
+
firebrick: string;
|
|
79
|
+
floralwhite: string;
|
|
80
|
+
forestgreen: string;
|
|
81
|
+
fuchsia: string;
|
|
82
|
+
gainsboro: string;
|
|
83
|
+
ghostwhite: string;
|
|
84
|
+
gold: string;
|
|
85
|
+
goldenrod: string;
|
|
86
|
+
gray: string;
|
|
87
|
+
green: string;
|
|
88
|
+
greenyellow: string;
|
|
89
|
+
honeydew: string;
|
|
90
|
+
hotpink: string;
|
|
91
|
+
indianred: string;
|
|
92
|
+
indigo: string;
|
|
93
|
+
ivory: string;
|
|
94
|
+
khaki: string;
|
|
95
|
+
lavender: string;
|
|
96
|
+
lavenderblush: string;
|
|
97
|
+
lawngreen: string;
|
|
98
|
+
lemonchiffon: string;
|
|
99
|
+
lightblue: string;
|
|
100
|
+
lightcoral: string;
|
|
101
|
+
lightcyan: string;
|
|
102
|
+
lightgoldenrodyellow: string;
|
|
103
|
+
lightgrey: string;
|
|
104
|
+
lightgreen: string;
|
|
105
|
+
lightpink: string;
|
|
106
|
+
lightsalmon: string;
|
|
107
|
+
lightseagreen: string;
|
|
108
|
+
lightskyblue: string;
|
|
109
|
+
lightslategray: string;
|
|
110
|
+
lightsteelblue: string;
|
|
111
|
+
lightyellow: string;
|
|
112
|
+
lime: string;
|
|
113
|
+
limegreen: string;
|
|
114
|
+
linen: string;
|
|
115
|
+
magenta: string;
|
|
116
|
+
maroon: string;
|
|
117
|
+
mediumaquamarine: string;
|
|
118
|
+
mediumblue: string;
|
|
119
|
+
mediumorchid: string;
|
|
120
|
+
mediumpurple: string;
|
|
121
|
+
mediumseagreen: string;
|
|
122
|
+
mediumslateblue: string;
|
|
123
|
+
mediumspringgreen: string;
|
|
124
|
+
mediumturquoise: string;
|
|
125
|
+
mediumvioletred: string;
|
|
126
|
+
midnightblue: string;
|
|
127
|
+
mintcream: string;
|
|
128
|
+
mistyrose: string;
|
|
129
|
+
moccasin: string;
|
|
130
|
+
navajowhite: string;
|
|
131
|
+
navy: string;
|
|
132
|
+
oldlace: string;
|
|
133
|
+
olive: string;
|
|
134
|
+
olivedrab: string;
|
|
135
|
+
orange: string;
|
|
136
|
+
orangered: string;
|
|
137
|
+
orchid: string;
|
|
138
|
+
palegoldenrod: string;
|
|
139
|
+
palegreen: string;
|
|
140
|
+
paleturquoise: string;
|
|
141
|
+
palevioletred: string;
|
|
142
|
+
papayawhip: string;
|
|
143
|
+
peachpuff: string;
|
|
144
|
+
peru: string;
|
|
145
|
+
pink: string;
|
|
146
|
+
plum: string;
|
|
147
|
+
powderblue: string;
|
|
148
|
+
purple: string;
|
|
149
|
+
rebeccapurple: string;
|
|
150
|
+
red: string;
|
|
151
|
+
rosybrown: string;
|
|
152
|
+
royalblue: string;
|
|
153
|
+
saddlebrown: string;
|
|
154
|
+
salmon: string;
|
|
155
|
+
sandybrown: string;
|
|
156
|
+
seagreen: string;
|
|
157
|
+
seashell: string;
|
|
158
|
+
sienna: string;
|
|
159
|
+
silver: string;
|
|
160
|
+
skyblue: string;
|
|
161
|
+
slateblue: string;
|
|
162
|
+
slategray: string;
|
|
163
|
+
snow: string;
|
|
164
|
+
springgreen: string;
|
|
165
|
+
steelblue: string;
|
|
166
|
+
tan: string;
|
|
167
|
+
teal: string;
|
|
168
|
+
thistle: string;
|
|
169
|
+
tomato: string;
|
|
170
|
+
turquoise: string;
|
|
171
|
+
violet: string;
|
|
172
|
+
wheat: string;
|
|
173
|
+
white: string;
|
|
174
|
+
whitesmoke: string;
|
|
175
|
+
yellow: string;
|
|
176
|
+
yellowgreen: string;
|
|
177
|
+
};
|
|
19
178
|
/**
|
|
20
179
|
* Converts an RGB color value to HSL. Conversion formula
|
|
21
180
|
* adapted from http://en.wikipedia.org/wiki/HSL_color_space.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/utils/color.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAwBV;AA6ED,QAAA,MAAM,WAAW,mKAkBP,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,UAuBxE;
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/utils/color.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAwBV;AA6ED,QAAA,MAAM,WAAW,mKAkBP,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,UAuBxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAyB9C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAK9C;AAoBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,UAK5C;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8IxB,CAAC;AAIF;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,YA4B9C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,YAuB9C"}
|
package/dist/esm/utils/color.js
CHANGED
|
@@ -152,7 +152,7 @@ export function selectColor(element, colors, index) {
|
|
|
152
152
|
* TODO: Add support for triplet-style hex codes like this:
|
|
153
153
|
* - #123 -> #112233 -> [17, 34, 51]
|
|
154
154
|
*/
|
|
155
|
-
function hexToRGB(hex) {
|
|
155
|
+
export function hexToRGB(hex) {
|
|
156
156
|
// Matches 3-4 pairs of hex digits with an optional leading `#` character
|
|
157
157
|
const regex = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i;
|
|
158
158
|
const result = regex.exec(hex);
|
|
@@ -176,6 +176,12 @@ function hexToRGB(hex) {
|
|
|
176
176
|
}
|
|
177
177
|
return [128, 128, 128]; // unknown color, return 'gray'
|
|
178
178
|
}
|
|
179
|
+
export function RGBToHex(rgb) {
|
|
180
|
+
return `#${rgb
|
|
181
|
+
.map((c) => Math.round(c).toString(16).padStart(2, '0'))
|
|
182
|
+
.join('')
|
|
183
|
+
.toUpperCase()}`;
|
|
184
|
+
}
|
|
179
185
|
/**
|
|
180
186
|
* Converts an RGB object to grayscale.
|
|
181
187
|
*
|
|
@@ -204,7 +210,7 @@ export function namedColorToHex(color) {
|
|
|
204
210
|
* A comprehensive map of all the CSS named-colors that modern browsers will
|
|
205
211
|
* recognize, and converts them into their hex values.
|
|
206
212
|
*/
|
|
207
|
-
const COLOR_TO_HEX = {
|
|
213
|
+
export const COLOR_TO_HEX = {
|
|
208
214
|
aliceblue: '#f0f8ff',
|
|
209
215
|
antiquewhite: '#faebd7',
|
|
210
216
|
aqua: '#00ffff',
|
|
@@ -294,7 +294,7 @@ export function processColumnName(columnName) {
|
|
|
294
294
|
return removeBigQuerySpecialChars(columnName);
|
|
295
295
|
}
|
|
296
296
|
export function isStringType(fieldType) {
|
|
297
|
-
return ['string', 'varchar', 'text', 'char', 'bpchar', 'citext'].includes(fieldType);
|
|
297
|
+
return ['string', 'varchar', 'text', 'char', 'bpchar', 'citext'].includes(fieldType?.toLowerCase());
|
|
298
298
|
}
|
|
299
299
|
export function isDateType(fieldType) {
|
|
300
300
|
return [
|
|
@@ -304,7 +304,7 @@ export function isDateType(fieldType) {
|
|
|
304
304
|
'timestamptz',
|
|
305
305
|
'timestamp',
|
|
306
306
|
'interval',
|
|
307
|
-
].includes(fieldType);
|
|
307
|
+
].includes(fieldType?.toLowerCase());
|
|
308
308
|
}
|
|
309
309
|
export function isNumberType(fieldType) {
|
|
310
310
|
return [
|
|
@@ -318,7 +318,7 @@ export function isNumberType(fieldType) {
|
|
|
318
318
|
'smallint',
|
|
319
319
|
'float2',
|
|
320
320
|
'float16',
|
|
321
|
-
].includes(fieldType);
|
|
321
|
+
].includes(fieldType?.toLowerCase());
|
|
322
322
|
}
|
|
323
323
|
export function isBoolType(fieldType) {
|
|
324
324
|
return ['bool', 'boolean'].includes(fieldType);
|
|
@@ -4,4 +4,5 @@ export declare const QUILL_SERVER: string;
|
|
|
4
4
|
export declare const QUILL_QUERY_ENDPOINT: string;
|
|
5
5
|
export declare const ALL_TENANTS = "QUILL_ALL_TENANTS";
|
|
6
6
|
export declare const SINGLE_TENANT = "QUILL_SINGLE_TENANT";
|
|
7
|
+
export declare const REFERENCE_LINE = "QUILL_REFERENCE_LINE";
|
|
7
8
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,YAAY,QAGoB,CAAC;AAC9C,eAAO,MAAM,oBAAoB,QAGnB,CAAC;AACf,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,eAAO,MAAM,aAAa,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,YAAY,QAGoB,CAAC;AAC9C,eAAO,MAAM,oBAAoB,QAGnB,CAAC;AACf,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,eAAO,MAAM,aAAa,wBAAwB,CAAC;AACnD,eAAO,MAAM,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { QuillReportInternal } from '../models/Report';
|
|
2
2
|
import { QuillProviderClient } from '../models/Client';
|
|
3
3
|
import { AdditionalProcessing } from './tableProcessing';
|
|
4
|
+
import { CustomField } from '../models/Schema';
|
|
4
5
|
/**
|
|
5
6
|
* Returns a cleaned version of the dashboard item we store in state. We clean
|
|
6
7
|
* the dashboard item so that we aren't exposing unnecessary details to the
|
|
@@ -8,9 +9,18 @@ import { AdditionalProcessing } from './tableProcessing';
|
|
|
8
9
|
* interface to build amazing dashboards on top of.
|
|
9
10
|
* @param item
|
|
10
11
|
*/
|
|
11
|
-
export declare function cleanDashboardItem(item: {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
export declare function cleanDashboardItem({ item, dashboardFilters, client, dateBucket, additionalProcessing, customFields, }: {
|
|
13
|
+
item: {
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
} | undefined;
|
|
16
|
+
dashboardFilters: any;
|
|
17
|
+
client: QuillProviderClient;
|
|
18
|
+
dateBucket?: string;
|
|
19
|
+
additionalProcessing?: AdditionalProcessing;
|
|
20
|
+
customFields?: {
|
|
21
|
+
[tableName: string]: CustomField[];
|
|
22
|
+
} | null;
|
|
23
|
+
}): Promise<QuillReportInternal>;
|
|
14
24
|
export declare function getDashboard(dashboardName: string, client: QuillProviderClient, tenants?: {
|
|
15
25
|
tenantField: string;
|
|
16
26
|
tenantIds: (string | number)[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAcvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAcvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAsB/C;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,oBAAoB,EACpB,YAAY,GACb,EAAE;IACD,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,SAAS,CAAC;IACzC,gBAAgB,EAAE,GAAG,CAAC;IACtB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,YAAY,CAAC,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9D,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA6J/B;AA2ID,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EACJ;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EACvB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,GAAG,CAAC,CA6Bd"}
|