@vizzly/services 0.15.0-dev-8a72201c3d82e791bf61245fda865c4ef9852097 → 0.15.0-dev-9ba9cfcf5d6fdab60b458c0b97e98590696c65ea
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/index.js +1 -1
- package/dist/results-driver/src/driver/VizzlyQuery/AdditionalFilter/toQueries.d.ts +4 -4
- package/dist/shared-logic/src/AdditionalFilter/AdditionalFilter.d.ts +2 -1
- package/dist/shared-logic/src/AdditionalFilter/FilterConfig.d.ts +15 -2
- package/dist/shared-logic/src/AdditionalFilter/types.d.ts +2 -1
- package/dist/shared-logic/src/Component/sharedSchemas.d.ts +1 -0
- package/dist/shared-logic/src/CustomField/AggregateMath/index.d.ts +2 -1
- package/dist/shared-logic/src/CustomField/Conditional/index.d.ts +2 -2
- package/dist/shared-logic/src/CustomField/DateCalculation/index.d.ts +2 -1
- package/dist/shared-logic/src/CustomField/Percentage/index.d.ts +4 -3
- package/dist/shared-logic/src/CustomField/RoundedNumber/index.d.ts +2 -1
- package/dist/shared-logic/src/CustomField/Rules/index.d.ts +2 -2
- package/dist/shared-logic/src/CustomField/constants.d.ts +15 -0
- package/dist/shared-logic/src/Filter/Filter.d.ts +40 -0
- package/dist/shared-logic/src/Query/buildFromQueryAttributes.d.ts +2 -2
- package/package.json +1 -1
- package/dist/shared-logic/src/CustomField/CustomMetric/combineForCustomMetricFilters.d.ts +0 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { AdditionalFilter } from '../../../../../shared-logic/src/AdditionalFilter/types';
|
|
1
2
|
import { DataSet } from '../../../../../shared-logic/src/DataSet/types';
|
|
2
|
-
import { QueryEngineConfig } from '../../../../../shared-logic/src/QueryEngineConfig/types';
|
|
3
3
|
import { PreparedQuery, Query as QueryType } from '../../../../../shared-logic/src/Query/types';
|
|
4
|
-
import { Result as ResultType } from '../../../../../shared-logic/src/Result/types';
|
|
5
4
|
import { QueryAttributes } from '../../../../../shared-logic/src/QueryAttributes/types';
|
|
6
|
-
import {
|
|
5
|
+
import { QueryEngineConfig } from '../../../../../shared-logic/src/QueryEngineConfig/types';
|
|
6
|
+
import { Result as ResultType } from '../../../../../shared-logic/src/Result/types';
|
|
7
7
|
import { Params } from '../../../types';
|
|
8
8
|
export declare const toQueries: (additionalFilter: AdditionalFilter, dataSets: DataSet[], queryEngineConfig: QueryEngineConfig, params: Params) => {
|
|
9
9
|
queries: (QueryType | PreparedQuery)[];
|
|
@@ -12,5 +12,5 @@ export declare const toQueries: (additionalFilter: AdditionalFilter, dataSets: D
|
|
|
12
12
|
export declare function getOptionsFilters(additionalFilter: AdditionalFilter, field: {
|
|
13
13
|
dataSetId: string;
|
|
14
14
|
fieldId: string;
|
|
15
|
-
}):
|
|
15
|
+
}): QueryType['filter'];
|
|
16
16
|
export declare function getOptionsOrders(dataSetField: DataSet.Field): QueryAttributes.Order[] | [];
|
|
@@ -5,6 +5,7 @@ import * as Filter from '../Filter';
|
|
|
5
5
|
import { QueryAttributes } from '../QueryAttributes/types';
|
|
6
6
|
import { QueryEngineConfig } from '../QueryEngineConfig/types';
|
|
7
7
|
import { TextOverride } from '../Translations/types';
|
|
8
|
+
import { VariableList } from '../Variables/types';
|
|
8
9
|
import { AdditionalFilter, DateAndTimeFilter, DateFilter, Field, LegacyNumericFilterValue, OptionalFilters } from './types';
|
|
9
10
|
export declare const typeToString: (type: AdditionalFilter['type'], textOverride: TextOverride) => string;
|
|
10
11
|
export declare const NULL_VALUE_OPT = "__vizzly_null_value_option";
|
|
@@ -41,7 +42,7 @@ export declare enum DateOp {
|
|
|
41
42
|
Less = 1
|
|
42
43
|
}
|
|
43
44
|
export declare function inclusiveExclusiveCurrent(op: DateOp, filter: DateFilter | DateAndTimeFilter): string;
|
|
44
|
-
export declare function getCascadeOptionsFilters(globalFilters: AdditionalFilter[], dataSets: DataSet[], dateFilterOptions: DateTimeFilterOptions, cascadeFilterSelection?: boolean): OptionalFilters | undefined;
|
|
45
|
+
export declare function getCascadeOptionsFilters(globalFilters: AdditionalFilter[], dataSets: DataSet[], dateFilterOptions: DateTimeFilterOptions, variables: VariableList, cascadeFilterSelection?: boolean): OptionalFilters | undefined;
|
|
45
46
|
export declare const updateFilterForOptionalPulledFromOptions: (filter: AdditionalFilter) => AdditionalFilter;
|
|
46
47
|
export declare const buildAdvancedFilters: (filterValue: QueryAttributes.Filter[][], field: Field, dataSetId: string) => QueryAttributes.Filter[][];
|
|
47
48
|
export declare function getFilterDataType(filter: AdditionalFilter, dataSets: DataSet[]): "string" | "number" | "boolean" | "date_time" | "string[]" | undefined;
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
import { FilterConfig, TimeRangeOptions } from './types';
|
|
2
|
-
import { QueryAttributes } from '../QueryAttributes/types';
|
|
3
1
|
import { DataSet } from '../DataSet/types';
|
|
2
|
+
import { Query } from '../Query/types';
|
|
3
|
+
import { QueryAttributes } from '../QueryAttributes/types';
|
|
4
|
+
import { VariableList } from '../Variables/types';
|
|
5
|
+
import { AdditionalFilter, FilterConfig, TimeRangeOptions } from './types';
|
|
4
6
|
export declare const fromFilterConfig: (filterConfig: FilterConfig, dataSet: DataSet, timeRangeOptions: TimeRangeOptions) => QueryAttributes.Filter[][];
|
|
7
|
+
export declare const processAdditionalFilter: (filter: AdditionalFilter, dataSet: DataSet, timeRangeOptions: TimeRangeOptions, variables: VariableList) => Query['filter'];
|
|
8
|
+
/**
|
|
9
|
+
* Combines different types of filters (global, local, and view filters) into a single Query filter structure.
|
|
10
|
+
*
|
|
11
|
+
* @param filterConfig - Configuration containing different filter types
|
|
12
|
+
* @param dataSet - Dataset to validate filters against
|
|
13
|
+
* @param timeRangeOptions - Time range configuration for date filters
|
|
14
|
+
* @param variables - Variable list for template substitution
|
|
15
|
+
* @returns Combined Query filter with proper AND/OR structure
|
|
16
|
+
*/
|
|
17
|
+
export declare const combineFiltersFromFilterConfig: (filterConfig: FilterConfig, dataSet: DataSet, timeRangeOptions: TimeRangeOptions, variables: VariableList) => Query['filter'];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Query } from '@vizzly/sqlbuilder-public';
|
|
1
2
|
import { QueryAttributes } from '../QueryAttributes/types';
|
|
2
3
|
import * as FilterType from './constants';
|
|
3
4
|
export declare type FilterConfig = {
|
|
@@ -15,7 +16,7 @@ export declare type Field = {
|
|
|
15
16
|
};
|
|
16
17
|
declare type AdditionalFilterType = typeof FilterType.DATE_FILTER | typeof FilterType.DATE_TIME_FILTER | typeof FilterType.DATE_AND_TIME_FILTER | typeof FilterType.SINGLE_SELECT_FILTER | typeof FilterType.MULTI_SELECT_FILTER | typeof FilterType.NUMERIC_FILTER | typeof FilterType.ADVANCED_FILTER;
|
|
17
18
|
export declare type OptionalFilters = {
|
|
18
|
-
[dataSetId: string]:
|
|
19
|
+
[dataSetId: string]: Query['filter'];
|
|
19
20
|
};
|
|
20
21
|
declare type BaseAdditionalFilter<T extends AdditionalFilterType> = {
|
|
21
22
|
/**
|
|
@@ -8,6 +8,7 @@ export declare const measureSchema: (supportedAggregates: SupportedAggregates, a
|
|
|
8
8
|
export declare const orderSchema: (queryEngineConfig: QueryEngineConfig) => Joi.ObjectSchema<any>;
|
|
9
9
|
export declare const timeDimensionSchema: (supportedTimeTruncFunctions: SupportedTimeTruncFunctions) => Joi.ObjectSchema<any>;
|
|
10
10
|
export declare const dimensionSchema: (supportedTimeTruncFunctions: SupportedTimeTruncFunctions, attributeSchemaOptions: ComponentInterfaceConfig['attributesSchemaOptions']) => Joi.ArraySchema<any[]>;
|
|
11
|
+
export declare const queryFilterSchema: (queryEngineConfig: QueryEngineConfig, maxDepth?: number) => Joi.Schema;
|
|
11
12
|
export declare const filterSchema: (queryEngineConfig: QueryEngineConfig) => Joi.ObjectSchema<any>;
|
|
12
13
|
export declare const queryAttributesFilter: (queryEngineConfig: QueryEngineConfig) => Joi.ArraySchema<any[]>;
|
|
13
14
|
export declare const queryAttributesLimit: () => Joi.NumberSchema<number>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AggregateMathField, AggregateNested } from '../../CustomField/types';
|
|
2
2
|
import { Query } from '../../Query/types';
|
|
3
3
|
import { QueryEngineConfig } from '../../QueryEngineConfig/types';
|
|
4
|
+
import { VariableList } from '../../Variables/types';
|
|
4
5
|
import { MathOperator } from '../types';
|
|
5
6
|
export declare const init: (publicName: string, leftFieldId: string, leftFunction: string, operator: MathOperator, rightFieldId: string, rightFunction: string, queryEngineConfig: QueryEngineConfig, leftNested: AggregateNested | undefined, rightNested: AggregateNested | undefined) => AggregateMathField;
|
|
6
|
-
export declare const build: (customField: AggregateMathField) => Query['measure'][number];
|
|
7
|
+
export declare const build: (customField: AggregateMathField, variables: VariableList) => Query['measure'][number];
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { Params } from '../../../../results-driver/src/types';
|
|
1
2
|
import { DataSet } from '../../DataSet/types';
|
|
3
|
+
import * as Filter from '../../Filter';
|
|
2
4
|
import { Query } from '../../Query/types';
|
|
3
5
|
import { QueryAttributes } from '../../QueryAttributes/types';
|
|
4
6
|
import { QueryEngineConfig } from '../../QueryEngineConfig/types';
|
|
5
7
|
import { ConditionalField } from '../types';
|
|
6
|
-
import * as Filter from '../../Filter';
|
|
7
|
-
import { Params } from '../../../../results-driver/src/types';
|
|
8
8
|
export declare const init: (publicName: string, fieldId: string, func: string, rule: QueryAttributes.Filter[][], queryEngineConfig: QueryEngineConfig) => ConditionalField;
|
|
9
9
|
export declare const build: (field: ConditionalField, queryEngineConfig: QueryEngineConfig, dataSet: DataSet, params: Params) => Query['measure'][number];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Query } from '../../Query/types';
|
|
2
2
|
import { QueryAttributes } from '../../QueryAttributes/types';
|
|
3
3
|
import { QueryEngineConfig } from '../../QueryEngineConfig/types';
|
|
4
|
+
import { VariableList } from '../../Variables/types';
|
|
4
5
|
import { DateCalculationField } from '../types';
|
|
5
6
|
export declare const init: (publicName: string, leftFieldId: string, dateCalculationFunction: DateCalculationField['dateCalculationFunction'], rightFieldId: string, queryEngineConfig: QueryEngineConfig) => DateCalculationField;
|
|
6
|
-
export declare const build: (measureAttribute: QueryAttributes.Measure, customField: DateCalculationField) => Query['measure'][number];
|
|
7
|
+
export declare const build: (measureAttribute: QueryAttributes.Measure, customField: DateCalculationField, variables: VariableList) => Query['measure'][number];
|
|
@@ -3,13 +3,14 @@ import { DataSet } from '../../DataSet/types';
|
|
|
3
3
|
import { Query } from '../../Query/types';
|
|
4
4
|
import { QueryAttributes } from '../../QueryAttributes/types';
|
|
5
5
|
import { QueryEngineConfig } from '../../QueryEngineConfig/types';
|
|
6
|
+
import { VariableList } from '../../Variables/types';
|
|
6
7
|
import { PercentageField } from '../types';
|
|
7
8
|
/**
|
|
8
9
|
* Creates a new custom percentage field.
|
|
9
10
|
*/
|
|
10
11
|
export declare const init: (publicName: string, denominatorFieldId: string, denominatorAggregate: string, numeratorFieldId: string | null, numeratorAggregate: string | null, numeratorFilter: QueryAttributes['filter'], denominatorFilter: QueryAttributes['filter'], queryEngineConfig: QueryEngineConfig, denominatorScope?: PercentageField['denominatorScope']) => PercentageField;
|
|
11
12
|
export declare const build: (customField: PercentageField, queryEngineConfig: QueryEngineConfig, dataSet: DataSet, _queryHasDimension: boolean, params: Params) => Query['measure'][number];
|
|
12
|
-
export declare function buildPercentageFilters(
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
export declare function buildPercentageFilters(customField: PercentageField, variables: VariableList): {
|
|
14
|
+
queryFilterFromNumeratorFilter: import("@vizzly/sqlbuilder-public").RecursiveFilter;
|
|
15
|
+
queryFilterFromDenominatorFilter: import("@vizzly/sqlbuilder-public").RecursiveFilter;
|
|
15
16
|
};
|
|
@@ -2,5 +2,6 @@ import { RoundedNumberField } from '../../CustomField/types';
|
|
|
2
2
|
import { Query } from '../../Query/types';
|
|
3
3
|
import { QueryAttributes } from '../../QueryAttributes/types';
|
|
4
4
|
import { QueryEngineConfig } from '../../QueryEngineConfig/types';
|
|
5
|
+
import { VariableList } from '../../Variables/types';
|
|
5
6
|
export declare const init: (publicName: string, fieldId: string, roundToDecimalPlaces: 0 | 2, queryEngineConfig: QueryEngineConfig) => RoundedNumberField;
|
|
6
|
-
export declare const build: (measureAttribute: QueryAttributes.Measure, customField: RoundedNumberField) => Query['measure'][number];
|
|
7
|
+
export declare const build: (measureAttribute: QueryAttributes.Measure, customField: RoundedNumberField, variables: VariableList) => Query['measure'][number];
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Params } from '../../../../results-driver/src/types';
|
|
2
2
|
import { RulesField } from '../../CustomField/types';
|
|
3
|
+
import { DataSet } from '../../DataSet/types';
|
|
3
4
|
import { Query, QueryNameSpace } from '../../Query/types';
|
|
4
5
|
import { QueryAttributes } from '../../QueryAttributes/types';
|
|
5
6
|
import { QueryEngineConfig } from '../../QueryEngineConfig/types';
|
|
6
7
|
import { Rules } from './types';
|
|
7
|
-
import { Params } from '../../../../results-driver/src/types';
|
|
8
8
|
export declare const init: (publicName: string, rules: Rules[], queryEngineConfig: QueryEngineConfig) => RulesField;
|
|
9
9
|
export declare const build: (measureAttribute: QueryAttributes.Measure, customField: RulesField, queryEngineConfig: QueryEngineConfig, dataSet: DataSet, params: Params) => Query['measure'][number];
|
|
10
10
|
export declare const convertToCases: (rules: Rules[], queryEngineConfig: QueryEngineConfig, dataSet: DataSet, params: Params) => QueryNameSpace.Cases[];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Clause } from '../Filter/types';
|
|
2
|
+
export declare const alwaysTrueFilter: {
|
|
3
|
+
type: Clause.AND_WHERE;
|
|
4
|
+
value: {
|
|
5
|
+
type: Clause.WHERE;
|
|
6
|
+
value: {
|
|
7
|
+
field: {
|
|
8
|
+
type: "number";
|
|
9
|
+
value: number;
|
|
10
|
+
};
|
|
11
|
+
op: string;
|
|
12
|
+
value: number;
|
|
13
|
+
};
|
|
14
|
+
}[];
|
|
15
|
+
};
|
|
@@ -3,8 +3,48 @@ import { DataSet } from '../DataSet/types';
|
|
|
3
3
|
import { Query } from '../Query/types';
|
|
4
4
|
import { QueryAttributes } from '../QueryAttributes/types';
|
|
5
5
|
import { QueryEngineConfig } from '../QueryEngineConfig/types';
|
|
6
|
+
import { VariableList } from '../Variables/types';
|
|
6
7
|
export declare const addAndFilters: (filter: QueryAttributes['filter'], filterToAddToAll: QueryAttributes.Filter[][]) => QueryAttributes['filter'];
|
|
7
8
|
export declare const filterAttributeToQueryFilter: (filterAttrs: QueryAttributes.Filter[][], queryEngineConfig: QueryEngineConfig, dataSet: DataSet, params: Params) => Query['filter'];
|
|
9
|
+
export declare const convertArrayFilterStructureToQueryFilter: (arrayFilterStructure: QueryAttributes.Filter[][], variables: VariableList) => Query['filter'];
|
|
10
|
+
export declare const combineQueryFilters: (filter: Query['filter'], filterToAddToAll: Query['filter']) => Query['filter'];
|
|
11
|
+
/**
|
|
12
|
+
* Iterates through a query filter and, for each custom metric field, builds a custom metric.
|
|
13
|
+
*/
|
|
14
|
+
export declare function buildQueryCustomMetrics(filter: Query['filter'], dataSet: DataSet, queryEngineConfig: QueryEngineConfig, params: Params): Query['filter'];
|
|
15
|
+
export declare function getFieldFromFilter(filter: Query['filter']): {
|
|
16
|
+
type: "number";
|
|
17
|
+
value: number;
|
|
18
|
+
as?: string | undefined;
|
|
19
|
+
} | {
|
|
20
|
+
type: "string";
|
|
21
|
+
value: string;
|
|
22
|
+
as?: string | undefined;
|
|
23
|
+
} | {
|
|
24
|
+
type: "boolean";
|
|
25
|
+
value: boolean | null;
|
|
26
|
+
as?: string | undefined;
|
|
27
|
+
} | {
|
|
28
|
+
type: "field";
|
|
29
|
+
value: string;
|
|
30
|
+
function: string;
|
|
31
|
+
as?: string | undefined;
|
|
32
|
+
} | {
|
|
33
|
+
type: "switchField";
|
|
34
|
+
value: {
|
|
35
|
+
cases: import("@vizzly/sqlbuilder-public/dist/Query/types").QueryNameSpace.Cases<string>[];
|
|
36
|
+
};
|
|
37
|
+
as?: string | undefined;
|
|
38
|
+
} | {
|
|
39
|
+
type: "subquery";
|
|
40
|
+
value: import("@vizzly/sqlbuilder-public").SubQuery<string, string, "/" | "*" | "-" | "+", import("@vizzly/sqlbuilder-public").RecursiveFilter>;
|
|
41
|
+
as?: string | undefined;
|
|
42
|
+
} | {
|
|
43
|
+
type: "function";
|
|
44
|
+
function: string;
|
|
45
|
+
value: import("@vizzly/sqlbuilder-public/dist/Query/types").QueryNameSpace.FieldDefinition<string, string, "/" | "*" | "-" | "+", import("@vizzly/sqlbuilder-public").RecursiveFilter>;
|
|
46
|
+
as?: string | undefined;
|
|
47
|
+
} | null;
|
|
8
48
|
export declare const takeUsedFields: (filter: QueryAttributes['filter']) => string[];
|
|
9
49
|
export declare const isAvailable: (filter?: QueryAttributes['filter']) => boolean | undefined;
|
|
10
50
|
export declare const isAdditionalFilter: (value: any) => boolean;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { Params } from '../../../results-driver/src/types';
|
|
2
|
+
import { DataSet } from '../DataSet/types';
|
|
1
3
|
import { QueryAttributes } from '../QueryAttributes/types';
|
|
2
4
|
import { QueryEngineConfig } from '../QueryEngineConfig/types';
|
|
3
5
|
import { MeasureDescription, Query } from './types';
|
|
4
|
-
import { DataSet } from '../DataSet/types';
|
|
5
|
-
import { Params } from '../../../results-driver/src/types';
|
|
6
6
|
export declare const buildFromQueryAttributes: (dataSet: DataSet, measureAttr: QueryAttributes.Measure[], filterAttr: QueryAttributes.Filter[][], orderAttr: QueryAttributes.Order[], dimensionAttr: QueryAttributes.Dimension[], timeDimensionAttr: QueryAttributes.TimeDimension | null, limitAttr: QueryAttributes.Limit | undefined, offsetAttr: QueryAttributes.Offset | undefined, queryEngineConfig: QueryEngineConfig, params: Params) => {
|
|
7
7
|
query: Query;
|
|
8
8
|
measureDescription: Array<MeasureDescription>;
|
package/package.json
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"fix-type-alias": "tsc-alias -p tsconfig.json",
|
|
27
27
|
"prepare": "yarn build"
|
|
28
28
|
},
|
|
29
|
-
"version": "0.15.0-dev-
|
|
29
|
+
"version": "0.15.0-dev-9ba9cfcf5d6fdab60b458c0b97e98590696c65ea",
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@vizzly/api-client": "0.0.57",
|
|
32
32
|
"@vizzly/joi": "^17.11.0",
|