@cubejs-client/ngx 0.28.6 → 0.29.26

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.
@@ -1 +1 @@
1
- {"version":3,"file":"cubejs-client-ngx.js","sources":["../../src/client.ts","../../src/module.ts","../../src/query-builder/common.ts","../../src/query-builder/query-members.ts","../../src/query-builder/query.ts","../../src/query-builder/builder-meta.ts","../../src/query-builder/pivot-config.ts","../../src/query-builder/chart-type.ts","../../src/query-builder/query-builder.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from, BehaviorSubject } from 'rxjs';\nimport cubejs, {\n CubejsApi,\n CubeJSApiOptions,\n DryRunResponse,\n LoadMethodOptions,\n Meta,\n Query,\n ResultSet,\n SqlQuery,\n} from '@cubejs-client/core';\n\nexport type CubejsConfig = {\n token: string;\n options?: CubeJSApiOptions;\n};\n\n@Injectable()\nexport class CubejsClient {\n public ready$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n private cubeJsApi: CubejsApi;\n\n constructor(@Inject('config') private config: any | Observable<any>) {\n if (this.config instanceof Observable) {\n this.config.subscribe(() => {\n this.ready$.next(true);\n });\n } else {\n this.ready$.next(true);\n }\n }\n\n private apiInstace(): CubejsApi {\n if (!this.cubeJsApi) {\n if (this.config instanceof Observable) {\n this.config.subscribe((config) => {\n this.cubeJsApi = cubejs(config.token, config.options);\n\n if (!this.cubeJsApi) {\n throw new Error(\n 'Cannot create CubejsApi instance. Please check that the config is passed correctly and contains all required options.'\n );\n }\n });\n } else {\n this.cubeJsApi = cubejs(this.config.token, this.config.options);\n }\n }\n\n return this.cubeJsApi;\n }\n\n public load(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<ResultSet> {\n return from(<Promise<ResultSet>>this.apiInstace().load(query, options));\n }\n\n public sql(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<SqlQuery> {\n return from(this.apiInstace().sql(query, options));\n }\n\n public dryRun(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<DryRunResponse> {\n return from(this.apiInstace().dryRun(query, options));\n }\n\n public meta(options?: LoadMethodOptions): Observable<Meta> {\n return from(this.apiInstace().meta(options));\n }\n\n public watch(query, params = {}): Observable<ResultSet> {\n return new Observable((observer) =>\n query.subscribe({\n next: async (query) => {\n const resultSet = await this.apiInstace().load(query, params);\n observer.next(resultSet);\n },\n })\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CubejsClient } from './client';\n\n@NgModule({\n providers: [CubejsClient],\n})\nexport class CubejsClientModule {\n public static forRoot(config: any): ModuleWithProviders<CubejsClientModule> {\n return {\n ngModule: CubejsClientModule,\n providers: [\n CubejsClient,\n {\n provide: 'config',\n useValue: config,\n },\n ],\n };\n }\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class StateSubject<T = any> {\n subject: BehaviorSubject<T>;\n\n constructor(value: T) {\n this.subject = new BehaviorSubject(value);\n }\n\n get() {\n return this.subject.getValue();\n }\n\n set(value: T) {\n this.subject.next(value);\n }\n}\n","import {\n TimeDimensionGranularity,\n TQueryOrderObject,\n TQueryOrderArray,\n moveItemInArray,\n Filter,\n UnaryFilter,\n BinaryFilter,\n} from '@cubejs-client/core';\nimport { BehaviorSubject } from 'rxjs';\nimport equal from 'fast-deep-equal';\n\nimport { Query } from './query';\n\nexport type TOrder = 'asc' | 'desc' | 'none';\n\nexport type TOrderMember = {\n id: string;\n order: TOrder;\n title: string;\n};\n\nexport class BaseMember {\n constructor(\n private query: Query,\n private field: 'measures' | 'dimensions' | 'segments'\n ) {}\n\n private get members() {\n return this.query.asCubeQuery()[this.field] || [];\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n [this.field]: [...this.members, name],\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n [this.field]: this.members.map((currentName) =>\n currentName === name ? replaceWithName : currentName\n ),\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n [this.field]: this.query\n .asCubeQuery()\n [this.field].filter((currentName, index) => {\n if (typeof by === 'string') {\n return currentName !== by;\n }\n\n return index !== by;\n }),\n });\n }\n\n set(members: string[]) {\n this.query.setPartialQuery({\n [this.field]: members,\n });\n }\n\n asArray() {\n return (this.query.asCubeQuery()[this.field] || []).map((name) =>\n this.query.meta.resolveMember(name, this.field)\n );\n }\n}\n\nexport class TimeDimensionMember {\n constructor(private query: Query) {}\n\n private get members() {\n return this.query.asCubeQuery().timeDimensions || [];\n }\n\n get granularity() {\n return this.members[0]?.granularity;\n }\n\n updateTimeDimension(by: string | number, updateWith: any) {\n const timeDimensions = this.members.map((td, index) => {\n if (td.dimension === by || index === by) {\n return {\n ...td,\n ...updateWith,\n };\n }\n return td;\n });\n\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n timeDimensions: [\n {\n dimension: name,\n },\n ],\n });\n }\n\n remove(name: string) {\n this.query.setPartialQuery({\n timeDimensions: this.members.filter(\n ({ dimension }) => dimension !== name\n ),\n });\n }\n\n set(timeDimensions: any[]) {\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n setDateRange(by: string | number, dateRange: string | string[]) {\n this.updateTimeDimension(by, { dateRange });\n }\n\n setGranularity(by: string | number, granularity: TimeDimensionGranularity) {\n this.updateTimeDimension(by, { granularity });\n }\n\n asArray(): any[] {\n return (this.query.asCubeQuery().timeDimensions || []).map((td) => {\n return {\n ...this.query.meta.resolveMember(td.dimension, 'dimensions'),\n ...td,\n };\n });\n }\n}\n\nexport class Order {\n orderMembers = new BehaviorSubject<TOrderMember[]>([]);\n\n constructor(private query: Query) {\n this.query.subject.subscribe(this.handleQueryChange.bind(this));\n this.orderMembers.subscribe(this.handleOrderMembersChange.bind(this));\n }\n\n private handleOrderMembersChange(orderMembers: TOrderMember[]) {\n const order = orderMembers\n .filter(({ order }) => order !== 'none')\n .reduce(\n (memo, { id, order }) => ({ ...memo, [id]: order }),\n {}\n ) as TQueryOrderObject;\n\n if (!equal(order, this.asObject())) {\n this.query.setPartialQuery({ order });\n }\n }\n\n private handleQueryChange() {\n this.orderMembers.next(\n [\n ...this.query.measures.asArray(),\n ...this.query.dimensions.asArray(),\n ...this.query.timeDimensions.asArray(),\n ].map<TOrderMember>(({ name, title }) => {\n return {\n id: name,\n order: this.of(name),\n title,\n };\n })\n );\n }\n\n setMemberOrder(id: string, order: TOrder) {\n this.orderMembers.next(\n this.orderMembers.getValue().map((orderMember) => {\n if (orderMember.id === id) {\n return {\n ...orderMember,\n order,\n };\n }\n return orderMember;\n })\n );\n }\n\n reorder(sourceIndex: number, destinationIndex: number) {\n this.orderMembers.next(\n moveItemInArray(\n this.orderMembers.getValue(),\n sourceIndex,\n destinationIndex\n )\n );\n }\n\n of(member: string) {\n return (this.query.asCubeQuery().order || {})[member] || 'none';\n }\n\n set(order: TQueryOrderObject | TQueryOrderArray) {\n this.query.setPartialQuery({ order });\n }\n\n asArray(): TQueryOrderArray {\n if (Array.isArray(this.query.asCubeQuery().order)) {\n return this.query.asCubeQuery().order as TQueryOrderArray;\n }\n\n return Object.entries(this.query.asCubeQuery().order || {});\n }\n\n asObject(): TQueryOrderObject {\n return this.asArray().reduce(\n (memo, [key, value]) => ({ ...memo, [key]: value }),\n {}\n );\n }\n}\n\nexport class FilterMember {\n constructor(private query: Query) {}\n\n private get filters() {\n // TODO: update this type assertion once the QueryBuilder supports logical and/or\n return (this.query.asCubeQuery().filters || []) as (UnaryFilter | BinaryFilter)[];\n }\n\n update(by: string | number, updateWith: Partial<Filter>) {\n const filters = this.filters.map((filter, index) => {\n if (index === by || filter.member === by || filter.dimension === by) {\n return {\n ...filter,\n ...updateWith,\n };\n }\n return filter;\n });\n\n this.query.setPartialQuery({\n filters: filters as Filter[],\n });\n }\n\n add(filter: Filter) {\n this.query.setPartialQuery({\n filters: [...this.filters, filter],\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n filters: this.filters.filter((filter, index) => {\n if (filter.member === by || filter.dimension === by || index === by) {\n return false;\n }\n\n return true;\n }),\n });\n }\n\n set(filters: Filter[]) {\n this.query.setPartialQuery({\n filters,\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n filters: this.filters.map((filter) => {\n const field = filter.member ? 'member' : 'dimension';\n return filter.member || filter.dimension === name\n ? {\n ...filter,\n [field]: replaceWithName,\n }\n : filter;\n }),\n });\n }\n\n asArray(): any[] {\n return this.filters.map((filter) => {\n return {\n ...this.query.meta.resolveMember(filter.member || filter.dimension, [\n 'dimensions',\n 'measures',\n ]),\n operators: this.query.meta.filterOperatorsForMember(\n filter.member || filter.dimension,\n ['dimensions', 'measures']\n ),\n ...filter,\n };\n });\n }\n}\n","import { isQueryPresent, Meta, Query as TCubeQuery } from '@cubejs-client/core';\n\nimport { StateSubject } from './common';\nimport { BaseMember, FilterMember, Order, TimeDimensionMember } from './query-members';\n\nexport enum MemberType {\n Measures = 'measures',\n Dimensions = 'dimensions',\n Segments = 'segments',\n TimeDimensions = 'timeDimensions',\n Filters = 'filters',\n Order = 'order',\n}\n\nexport type OnChangeCallback = (\n newQuery: TCubeQuery,\n oldQuery: TCubeQuery,\n query: Query\n) => TCubeQuery;\n\nexport class Query extends StateSubject<TCubeQuery> {\n measures: BaseMember;\n dimensions: BaseMember;\n segments: BaseMember;\n timeDimensions: TimeDimensionMember;\n filters: FilterMember;\n order: Order;\n\n constructor(\n public meta: Meta,\n private _onBeforeChange: OnChangeCallback = (newQuery) => newQuery\n ) {\n super({});\n this.init();\n }\n\n private init() {\n this.measures = new BaseMember(this, MemberType.Measures);\n this.dimensions = new BaseMember(this, MemberType.Dimensions);\n this.segments = new BaseMember(this, MemberType.Segments);\n this.timeDimensions = new TimeDimensionMember(this);\n this.filters = new FilterMember(this);\n this.order = new Order(this);\n }\n\n asCubeQuery(): TCubeQuery {\n return this.subject.getValue() || {};\n }\n\n setQuery(query: TCubeQuery) {\n this.subject.next(this._onBeforeChange(query, this.subject.getValue(), this));\n }\n\n setPartialQuery(partialQuery: Partial<TCubeQuery>) {\n this.subject.next(\n this._onBeforeChange(\n {\n ...this.subject.getValue(),\n ...partialQuery,\n },\n this.subject.getValue(),\n this\n )\n );\n }\n\n setLimit(limit: number) {\n this.setPartialQuery({ limit });\n }\n \n isPresent(): boolean {\n return isQueryPresent(this.asCubeQuery());\n }\n}\n","import {\n Meta,\n TCubeDimension,\n TCubeMeasure,\n TCubeMember,\n} from '@cubejs-client/core';\n\nexport class BuilderMeta {\n measures: TCubeMeasure[];\n dimensions: TCubeDimension[];\n segments: TCubeMember[];\n timeDimensions: TCubeDimension[];\n filters: Array<TCubeMeasure | TCubeDimension>;\n\n constructor(public readonly meta: Meta) {\n this.mapMeta();\n }\n\n private mapMeta() {\n const allDimensions = <TCubeDimension[]>(\n this.meta.membersForQuery(null, 'dimensions')\n );\n\n this.measures = <TCubeMeasure[]>this.meta.membersForQuery(null, 'measures');\n this.segments = this.meta.membersForQuery(null, 'segments');\n this.dimensions = allDimensions.filter(({ type }) => type !== 'time');\n this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');\n this.filters = [...allDimensions, ...this.measures].map((member) => {\n return {\n ...member,\n operators: this.meta.filterOperatorsForMember(member.name, [\n 'dimensions',\n 'measures',\n ]),\n };\n });\n }\n}\n","import {\n movePivotItem,\n PivotConfig as TPivotConfig,\n TSourceAxis,\n} from '@cubejs-client/core';\nimport { StateSubject } from './common';\n\nexport class PivotConfig extends StateSubject<TPivotConfig> {\n constructor(pivotConfig: TPivotConfig) {\n super(pivotConfig);\n }\n \n moveItem(\n sourceIndex: number,\n destinationIndex: number,\n sourceAxis: TSourceAxis,\n destinationAxis: TSourceAxis\n ) {\n this.subject.next(\n movePivotItem(\n this.get(),\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n )\n );\n }\n \n setFillMissingDates(fillMissingDates: boolean) {\n this.subject.next({\n ...this.get(),\n fillMissingDates\n });\n }\n}\n","import { StateSubject } from './common';\n\nexport type TChartType = 'line' | 'area' | 'bar' | 'number' | 'table' | 'pie';\n\nexport class ChartType extends StateSubject<TChartType> {\n constructor(value) {\n super(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Meta,\n ResultSet,\n Query as TCubeQuery,\n PivotConfig as TPivotConfig,\n isQueryPresent,\n defaultHeuristics,\n} from '@cubejs-client/core';\nimport { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\n\nimport { CubejsClient } from '../client';\nimport { Query } from './query';\nimport { BuilderMeta } from './builder-meta';\nimport { PivotConfig } from './pivot-config';\nimport { ChartType, TChartType } from './chart-type';\nimport { StateSubject } from './common';\n\nexport type TQueryBuilderState = {\n query?: TCubeQuery;\n pivotConfig?: TPivotConfig;\n chartType?: TChartType;\n};\n\n@Injectable()\nexport class QueryBuilderService {\n private _cubejs: CubejsClient;\n private _meta: Meta;\n private _query: Query;\n private _disableHeuristics: boolean = false;\n private _resolveQuery: (query: Query) => void;\n private _resolveBuilderMeta: (query: BuilderMeta) => void;\n private _heuristicChange$ = new Subject<any>();\n\n readonly builderMeta = new Promise<BuilderMeta>(\n (resolve) => (this._resolveBuilderMeta = resolve)\n );\n readonly query = new Promise<Query>(\n (resolve) => (this._resolveQuery = resolve)\n );\n readonly state = new BehaviorSubject<TQueryBuilderState>({});\n\n pivotConfig: PivotConfig;\n chartType: ChartType;\n\n private async init() {\n this.pivotConfig = new PivotConfig(null);\n this.chartType = new ChartType('line');\n\n this._cubejs.meta().subscribe((meta) => {\n this._meta = meta;\n\n this._query = new Query(\n this._meta,\n this._handleQueryChange.bind(this)\n );\n this._resolveQuery(this._query);\n this._resolveBuilderMeta(new BuilderMeta(this._meta));\n });\n\n this.subscribe();\n\n if (!this._disableHeuristics) {\n this._heuristicChange$\n .pipe(\n switchMap((data) => {\n return combineLatest([\n this._cubejs.dryRun(data.query).pipe(catchError((error) => {\n console.error(error);\n return of(null);\n })),\n of(data.shouldApplyHeuristicOrder),\n ]);\n })\n )\n .subscribe(\n ([dryRunResponse, shouldApplyHeuristicOrder]) => {\n if (!dryRunResponse) {\n return;\n }\n \n const { pivotQuery, queryOrder } = dryRunResponse;\n \n this.pivotConfig.set(\n ResultSet.getNormalizedPivotConfig(\n pivotQuery,\n this.pivotConfig.get()\n )\n );\n if (shouldApplyHeuristicOrder) {\n this._query.order.set(\n queryOrder.reduce((a, b) => ({ ...a, ...b }), {})\n );\n }\n }\n );\n }\n }\n\n private _handleQueryChange(newQuery, oldQuery) {\n const {\n chartType,\n shouldApplyHeuristicOrder,\n query: heuristicQuery,\n } = defaultHeuristics(newQuery, oldQuery, {\n meta: this._meta,\n sessionGranularity: newQuery?.timeDimensions?.[0]?.granularity,\n });\n\n const query = this._disableHeuristics\n ? newQuery\n : heuristicQuery || newQuery;\n\n if (isQueryPresent(query) && !this._disableHeuristics) {\n this._heuristicChange$.next({\n shouldApplyHeuristicOrder: Boolean(shouldApplyHeuristicOrder),\n query,\n });\n }\n\n if (!this._disableHeuristics && chartType) {\n this.chartType.set(chartType);\n }\n\n return query;\n }\n\n setCubejsClient(cubejsClient: CubejsClient) {\n this._cubejs = cubejsClient;\n this.init();\n }\n\n private subscribe() {\n Object.getOwnPropertyNames(this).forEach((key) => {\n if (this[key] instanceof StateSubject) {\n this[key].subject.subscribe((value) =>\n this.setPartialState({\n [key]: value,\n })\n );\n }\n });\n this.query.then((query) => {\n query.subject.subscribe((cubeQuery) => {\n this.setPartialState({\n query: cubeQuery,\n });\n });\n });\n }\n\n async deserialize(state) {\n if (state.query) {\n (await this.query).setQuery(state.query);\n }\n\n Object.entries(state).forEach(([key, value]) => {\n if (this[key] instanceof StateSubject) {\n this[key].set(value);\n }\n });\n\n this.subscribe();\n }\n\n setPartialState(partialState) {\n this.state.next({\n ...this.state.getValue(),\n ...partialState,\n });\n }\n\n disableHeuristics() {\n this._disableHeuristics = false;\n }\n\n enableHeuristics() {\n this._disableHeuristics = true;\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cubejs-client-ngx.js","sources":["../../src/client.ts","../../src/module.ts","../../src/query-builder/common.ts","../../src/query-builder/query-members.ts","../../src/query-builder/query.ts","../../src/query-builder/builder-meta.ts","../../src/query-builder/pivot-config.ts","../../src/query-builder/chart-type.ts","../../src/query-builder/query-builder.service.ts","../../src/public_api.ts","../../index.ts","../../cubejs-client-ngx.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from, BehaviorSubject } from 'rxjs';\nimport cubejs, {\n CubejsApi,\n CubeJSApiOptions,\n DryRunResponse,\n LoadMethodOptions,\n Meta,\n Query,\n ResultSet,\n SqlQuery,\n} from '@cubejs-client/core';\n\nexport type CubejsConfig = {\n token: string;\n options?: CubeJSApiOptions;\n};\n\n@Injectable()\nexport class CubejsClient {\n public ready$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n private cubeJsApi: CubejsApi;\n\n constructor(@Inject('config') private config: any | Observable<any>) {\n if (this.config instanceof Observable) {\n this.config.subscribe(() => {\n this.ready$.next(true);\n });\n } else {\n this.ready$.next(true);\n }\n }\n\n private apiInstance(): CubejsApi {\n if (!this.cubeJsApi) {\n if (this.config instanceof Observable) {\n this.config.subscribe((config) => {\n this.cubeJsApi = cubejs(config.token, config.options);\n\n if (!this.cubeJsApi) {\n throw new Error(\n 'Cannot create CubejsApi instance. Please check that the config is passed correctly and contains all required options.'\n );\n }\n });\n } else {\n this.cubeJsApi = cubejs(this.config.token, this.config.options);\n }\n }\n\n return this.cubeJsApi;\n }\n\n public load(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<ResultSet> {\n return from(<Promise<ResultSet>>this.apiInstance().load(query, options));\n }\n\n public sql(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<SqlQuery> {\n return from(this.apiInstance().sql(query, options));\n }\n\n public dryRun(\n query: Query | Query[],\n options?: LoadMethodOptions\n ): Observable<DryRunResponse> {\n return from(this.apiInstance().dryRun(query, options));\n }\n\n public meta(options?: LoadMethodOptions): Observable<Meta> {\n return from(this.apiInstance().meta(options));\n }\n\n public watch(query, params = {}): Observable<ResultSet> {\n return new Observable((observer) =>\n query.subscribe({\n next: async (query) => {\n try {\n const resultSet = await this.apiInstance().load(query, params);\n observer.next(resultSet);\n } catch(err) {\n observer.error(err);\n }\n\n },\n })\n );\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CubejsClient } from './client';\n\n@NgModule({\n providers: [CubejsClient],\n})\nexport class CubejsClientModule {\n public static forRoot(config: any): ModuleWithProviders<CubejsClientModule> {\n return {\n ngModule: CubejsClientModule,\n providers: [\n CubejsClient,\n {\n provide: 'config',\n useValue: config,\n },\n ],\n };\n }\n}\n","import { BehaviorSubject } from 'rxjs';\n\nexport class StateSubject<T = any> {\n subject: BehaviorSubject<T>;\n\n constructor(value: T) {\n this.subject = new BehaviorSubject(value);\n }\n\n get() {\n return this.subject.getValue();\n }\n\n set(value: T) {\n this.subject.next(value);\n }\n}\n","import {\n TimeDimensionGranularity,\n TQueryOrderObject,\n TQueryOrderArray,\n moveItemInArray,\n Filter,\n UnaryFilter,\n BinaryFilter,\n} from '@cubejs-client/core';\nimport { BehaviorSubject } from 'rxjs';\nimport equal from 'fast-deep-equal';\n\nimport { Query } from './query';\n\nexport type TOrder = 'asc' | 'desc' | 'none';\n\nexport type TOrderMember = {\n id: string;\n order: TOrder;\n title: string;\n};\n\nexport class BaseMember {\n constructor(\n private query: Query,\n private field: 'measures' | 'dimensions' | 'segments'\n ) {}\n\n private get members() {\n return this.query.asCubeQuery()[this.field] || [];\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n [this.field]: [...this.members, name],\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n [this.field]: this.members.map((currentName) =>\n currentName === name ? replaceWithName : currentName\n ),\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n [this.field]: this.query\n .asCubeQuery()\n [this.field].filter((currentName, index) => {\n if (typeof by === 'string') {\n return currentName !== by;\n }\n\n return index !== by;\n }),\n });\n }\n\n set(members: string[]) {\n this.query.setPartialQuery({\n [this.field]: members,\n });\n }\n\n asArray() {\n return (this.query.asCubeQuery()[this.field] || []).map((name) =>\n this.query.meta.resolveMember(name, this.field)\n );\n }\n}\n\nexport class TimeDimensionMember {\n constructor(private query: Query) {}\n\n private get members() {\n return this.query.asCubeQuery().timeDimensions || [];\n }\n\n get granularity() {\n return this.members[0]?.granularity;\n }\n\n updateTimeDimension(by: string | number, updateWith: any) {\n const timeDimensions = this.members.map((td, index) => {\n if (td.dimension === by || index === by) {\n return {\n ...td,\n ...updateWith,\n };\n }\n return td;\n });\n\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n add(name: string) {\n this.query.setPartialQuery({\n timeDimensions: [\n {\n dimension: name,\n },\n ],\n });\n }\n\n remove(name: string) {\n this.query.setPartialQuery({\n timeDimensions: this.members.filter(\n ({ dimension }) => dimension !== name\n ),\n });\n }\n\n set(timeDimensions: any[]) {\n this.query.setPartialQuery({\n timeDimensions,\n });\n }\n\n setDateRange(by: string | number, dateRange: string | string[]) {\n this.updateTimeDimension(by, { dateRange });\n }\n\n setGranularity(by: string | number, granularity: TimeDimensionGranularity) {\n this.updateTimeDimension(by, { granularity });\n }\n\n asArray(): any[] {\n return (this.query.asCubeQuery().timeDimensions || []).map((td) => {\n return {\n ...this.query.meta.resolveMember(td.dimension, 'dimensions'),\n ...td,\n };\n });\n }\n}\n\nexport class Order {\n orderMembers = new BehaviorSubject<TOrderMember[]>([]);\n\n constructor(private query: Query) {\n this.query.subject.subscribe(this.handleQueryChange.bind(this));\n this.orderMembers.subscribe(this.handleOrderMembersChange.bind(this));\n }\n\n private handleOrderMembersChange(orderMembers: TOrderMember[]) {\n const order = orderMembers\n .filter(({ order }) => order !== 'none')\n .reduce(\n (memo, { id, order }) => ({ ...memo, [id]: order }),\n {}\n ) as TQueryOrderObject;\n\n if (!equal(order, this.asObject())) {\n this.query.setPartialQuery({ order });\n }\n }\n\n private handleQueryChange() {\n this.orderMembers.next(\n [\n ...this.query.measures.asArray(),\n ...this.query.dimensions.asArray(),\n ...this.query.timeDimensions.asArray(),\n ].map<TOrderMember>(({ name, title }) => {\n return {\n id: name,\n order: this.of(name),\n title,\n };\n })\n );\n }\n\n setMemberOrder(id: string, order: TOrder) {\n this.orderMembers.next(\n this.orderMembers.getValue().map((orderMember) => {\n if (orderMember.id === id) {\n return {\n ...orderMember,\n order,\n };\n }\n return orderMember;\n })\n );\n }\n\n reorder(sourceIndex: number, destinationIndex: number) {\n this.orderMembers.next(\n moveItemInArray(\n this.orderMembers.getValue(),\n sourceIndex,\n destinationIndex\n )\n );\n }\n\n of(member: string) {\n return (this.query.asCubeQuery().order || {})[member] || 'none';\n }\n\n set(order: TQueryOrderObject | TQueryOrderArray) {\n this.query.setPartialQuery({ order });\n }\n\n asArray(): TQueryOrderArray {\n if (Array.isArray(this.query.asCubeQuery().order)) {\n return this.query.asCubeQuery().order as TQueryOrderArray;\n }\n\n return Object.entries(this.query.asCubeQuery().order || {});\n }\n\n asObject(): TQueryOrderObject {\n return this.asArray().reduce(\n (memo, [key, value]) => ({ ...memo, [key]: value }),\n {}\n );\n }\n}\n\nexport class FilterMember {\n constructor(private query: Query) {}\n\n private get filters() {\n // TODO: update this type assertion once the QueryBuilder supports logical and/or\n return (this.query.asCubeQuery().filters || []) as (UnaryFilter | BinaryFilter)[];\n }\n\n update(by: string | number, updateWith: Partial<Filter>) {\n const filters = this.filters.map((filter, index) => {\n if (index === by || filter.member === by || filter.dimension === by) {\n return {\n ...filter,\n ...updateWith,\n };\n }\n return filter;\n });\n\n this.query.setPartialQuery({\n filters: filters as Filter[],\n });\n }\n\n add(filter: Filter) {\n this.query.setPartialQuery({\n filters: [...this.filters, filter],\n });\n }\n\n remove(by: string | number) {\n this.query.setPartialQuery({\n filters: this.filters.filter((filter, index) => {\n if (filter.member === by || filter.dimension === by || index === by) {\n return false;\n }\n\n return true;\n }),\n });\n }\n\n set(filters: Filter[]) {\n this.query.setPartialQuery({\n filters,\n });\n }\n\n replace(name: string, replaceWithName: string) {\n this.query.setPartialQuery({\n filters: this.filters.map((filter) => {\n const field = filter.member ? 'member' : 'dimension';\n return filter.member === name || filter.dimension === name\n ? {\n ...filter,\n [field]: replaceWithName,\n }\n : filter;\n }),\n });\n }\n\n asArray(): any[] {\n return this.filters.map((filter) => {\n return {\n ...this.query.meta.resolveMember(filter.member || filter.dimension, [\n 'dimensions',\n 'measures',\n ]),\n operators: this.query.meta.filterOperatorsForMember(\n filter.member || filter.dimension,\n ['dimensions', 'measures']\n ),\n ...filter,\n };\n });\n }\n}\n","import { isQueryPresent, Meta, Query as TCubeQuery } from '@cubejs-client/core';\n\nimport { StateSubject } from './common';\nimport { BaseMember, FilterMember, Order, TimeDimensionMember } from './query-members';\n\nexport enum MemberType {\n Measures = 'measures',\n Dimensions = 'dimensions',\n Segments = 'segments',\n TimeDimensions = 'timeDimensions',\n Filters = 'filters',\n Order = 'order',\n}\n\nexport type OnChangeCallback = (\n newQuery: TCubeQuery,\n oldQuery: TCubeQuery,\n query: Query\n) => TCubeQuery;\n\nexport class Query extends StateSubject<TCubeQuery> {\n measures: BaseMember;\n dimensions: BaseMember;\n segments: BaseMember;\n timeDimensions: TimeDimensionMember;\n filters: FilterMember;\n order: Order;\n\n constructor(\n public meta: Meta,\n private _onBeforeChange: OnChangeCallback = (newQuery) => newQuery\n ) {\n super({});\n this.init();\n }\n\n private init() {\n this.measures = new BaseMember(this, MemberType.Measures);\n this.dimensions = new BaseMember(this, MemberType.Dimensions);\n this.segments = new BaseMember(this, MemberType.Segments);\n this.timeDimensions = new TimeDimensionMember(this);\n this.filters = new FilterMember(this);\n this.order = new Order(this);\n }\n\n asCubeQuery(): TCubeQuery {\n return this.subject.getValue() || {};\n }\n\n setQuery(query: TCubeQuery) {\n this.subject.next(this._onBeforeChange(query, this.subject.getValue(), this));\n }\n\n setPartialQuery(partialQuery: Partial<TCubeQuery>) {\n this.subject.next(\n this._onBeforeChange(\n {\n ...this.subject.getValue(),\n ...partialQuery,\n },\n this.subject.getValue(),\n this\n )\n );\n }\n\n setLimit(limit: number) {\n this.setPartialQuery({ limit });\n }\n \n isPresent(): boolean {\n return isQueryPresent(this.asCubeQuery());\n }\n}\n","import {\n Meta,\n TCubeDimension,\n TCubeMeasure,\n TCubeMember,\n} from '@cubejs-client/core';\n\nexport class BuilderMeta {\n measures: TCubeMeasure[];\n dimensions: TCubeDimension[];\n segments: TCubeMember[];\n timeDimensions: TCubeDimension[];\n filters: Array<TCubeMeasure | TCubeDimension>;\n\n constructor(public readonly meta: Meta) {\n this.mapMeta();\n }\n\n private mapMeta() {\n const allDimensions = <TCubeDimension[]>(\n this.meta.membersForQuery(null, 'dimensions')\n );\n\n this.measures = <TCubeMeasure[]>this.meta.membersForQuery(null, 'measures');\n this.segments = this.meta.membersForQuery(null, 'segments');\n this.dimensions = allDimensions.filter(({ type }) => type !== 'time');\n this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');\n this.filters = [...allDimensions, ...this.measures].map((member) => {\n return {\n ...member,\n operators: this.meta.filterOperatorsForMember(member.name, [\n 'dimensions',\n 'measures',\n ]),\n };\n });\n }\n}\n","import {\n movePivotItem,\n PivotConfig as TPivotConfig,\n TSourceAxis,\n} from '@cubejs-client/core';\nimport { StateSubject } from './common';\n\nexport class PivotConfig extends StateSubject<TPivotConfig> {\n constructor(pivotConfig: TPivotConfig) {\n super(pivotConfig);\n }\n \n moveItem(\n sourceIndex: number,\n destinationIndex: number,\n sourceAxis: TSourceAxis,\n destinationAxis: TSourceAxis\n ) {\n this.subject.next(\n movePivotItem(\n this.get(),\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n )\n );\n }\n \n setFillMissingDates(fillMissingDates: boolean) {\n this.subject.next({\n ...this.get(),\n fillMissingDates\n });\n }\n}\n","import { StateSubject } from './common';\n\nexport type TChartType = 'line' | 'area' | 'bar' | 'number' | 'table' | 'pie';\n\nexport class ChartType extends StateSubject<TChartType> {\n constructor(value) {\n super(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Meta,\n ResultSet,\n Query as TCubeQuery,\n PivotConfig as TPivotConfig,\n isQueryPresent,\n defaultHeuristics,\n} from '@cubejs-client/core';\nimport { BehaviorSubject, combineLatest, of, Subject } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\n\nimport { CubejsClient } from '../client';\nimport { Query } from './query';\nimport { BuilderMeta } from './builder-meta';\nimport { PivotConfig } from './pivot-config';\nimport { ChartType, TChartType } from './chart-type';\nimport { StateSubject } from './common';\n\nexport type TQueryBuilderState = {\n query?: TCubeQuery;\n pivotConfig?: TPivotConfig;\n chartType?: TChartType;\n};\n\n@Injectable()\nexport class QueryBuilderService {\n private _cubejs: CubejsClient;\n private _meta: Meta;\n private _query: Query;\n private _disableHeuristics: boolean = false;\n private _resolveQuery: (query: Query) => void;\n private _resolveBuilderMeta: (query: BuilderMeta) => void;\n private _heuristicChange$ = new Subject<any>();\n\n readonly builderMeta = new Promise<BuilderMeta>(\n (resolve) => (this._resolveBuilderMeta = resolve)\n );\n readonly query = new Promise<Query>(\n (resolve) => (this._resolveQuery = resolve)\n );\n readonly state = new BehaviorSubject<TQueryBuilderState>({});\n\n pivotConfig: PivotConfig;\n chartType: ChartType;\n\n private async init() {\n this.pivotConfig = new PivotConfig(null);\n this.chartType = new ChartType('line');\n\n this._cubejs.meta().subscribe((meta) => {\n this._meta = meta;\n\n this._query = new Query(\n this._meta,\n this._handleQueryChange.bind(this)\n );\n this._resolveQuery(this._query);\n this._resolveBuilderMeta(new BuilderMeta(this._meta));\n });\n\n this.subscribe();\n\n if (!this._disableHeuristics) {\n this._heuristicChange$\n .pipe(\n switchMap((data) => {\n return combineLatest([\n this._cubejs.dryRun(data.query).pipe(catchError((error) => {\n console.error(error);\n return of(null);\n })),\n of(data.shouldApplyHeuristicOrder),\n ]);\n })\n )\n .subscribe(\n ([dryRunResponse, shouldApplyHeuristicOrder]) => {\n if (!dryRunResponse) {\n return;\n }\n \n const { pivotQuery, queryOrder } = dryRunResponse;\n \n this.pivotConfig.set(\n ResultSet.getNormalizedPivotConfig(\n pivotQuery,\n this.pivotConfig.get()\n )\n );\n if (shouldApplyHeuristicOrder) {\n this._query.order.set(\n queryOrder.reduce((a, b) => ({ ...a, ...b }), {})\n );\n }\n }\n );\n }\n }\n\n private _handleQueryChange(newQuery, oldQuery) {\n const {\n chartType,\n shouldApplyHeuristicOrder,\n query: heuristicQuery,\n } = defaultHeuristics(newQuery, oldQuery, {\n meta: this._meta,\n sessionGranularity: newQuery?.timeDimensions?.[0]?.granularity,\n });\n\n const query = this._disableHeuristics\n ? newQuery\n : heuristicQuery || newQuery;\n\n if (isQueryPresent(query) && !this._disableHeuristics) {\n this._heuristicChange$.next({\n shouldApplyHeuristicOrder: Boolean(shouldApplyHeuristicOrder),\n query,\n });\n }\n\n if (!this._disableHeuristics && chartType) {\n this.chartType.set(chartType);\n }\n\n return query;\n }\n\n setCubejsClient(cubejsClient: CubejsClient) {\n this._cubejs = cubejsClient;\n this.init();\n }\n\n private subscribe() {\n Object.getOwnPropertyNames(this).forEach((key) => {\n if (this[key] instanceof StateSubject) {\n this[key].subject.subscribe((value) =>\n this.setPartialState({\n [key]: value,\n })\n );\n }\n });\n this.query.then((query) => {\n query.subject.subscribe((cubeQuery) => {\n this.setPartialState({\n query: cubeQuery,\n });\n });\n });\n }\n\n async deserialize(state) {\n if (state.query) {\n (await this.query).setQuery(state.query);\n }\n\n Object.entries(state).forEach(([key, value]) => {\n if (this[key] instanceof StateSubject) {\n this[key].set(value);\n }\n });\n\n this.subscribe();\n }\n\n setPartialState(partialState) {\n this.state.next({\n ...this.state.getValue(),\n ...partialState,\n });\n }\n\n disableHeuristics() {\n this._disableHeuristics = false;\n }\n\n enableHeuristics() {\n this._disableHeuristics = true;\n }\n}\n","/*\n * Public API Surface of cubejs-client-ngx\n */\n\nexport { CubejsClientModule } from './module';\nexport * from './client';\nexport * from './query-builder/query-builder.service';\nexport * from './query-builder/query';\nexport * from './query-builder/builder-meta';\nexport * from './query-builder/query-members';\nexport * from './query-builder/pivot-config';\nexport * from './query-builder/chart-type';\n","// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './src/public_api';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {StateSubject as ɵa} from './src/query-builder/common';"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export declare class CubejsClient {
9
9
  ready$: BehaviorSubject<boolean>;
10
10
  private cubeJsApi;
11
11
  constructor(config: any | Observable<any>);
12
- private apiInstace;
12
+ private apiInstance;
13
13
  load(query: Query | Query[], options?: LoadMethodOptions): Observable<ResultSet>;
14
14
  sql(query: Query | Query[], options?: LoadMethodOptions): Observable<SqlQuery>;
15
15
  dryRun(query: Query | Query[], options?: LoadMethodOptions): Observable<DryRunResponse>;
@@ -16,7 +16,7 @@ export declare class BaseMember {
16
16
  replace(name: string, replaceWithName: string): void;
17
17
  remove(by: string | number): void;
18
18
  set(members: string[]): void;
19
- asArray(): (Pick<import("@cubejs-client/core").TCubeMember, "title" | "name" | "shortTitle"> | import("@cubejs-client/core").TCubeMeasure | import("@cubejs-client/core").TCubeDimension | {
19
+ asArray(): (import("@cubejs-client/core").TCubeMeasure | import("@cubejs-client/core").TCubeDimension | import("@cubejs-client/core").TCubeSegment | {
20
20
  title: string;
21
21
  error: string;
22
22
  })[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cubejs-client/ngx",
3
- "version": "0.28.6",
3
+ "version": "0.29.26",
4
4
  "author": "Cube Dev, Inc.",
5
5
  "engines": {},
6
6
  "repository": {
@@ -14,15 +14,6 @@
14
14
  "dist"
15
15
  ],
16
16
  "license": "MIT",
17
- "dependencies": {
18
- "fast-deep-equal": "^3.1.3",
19
- "tslib": "^2.0.0"
20
- },
21
- "peerDependencies": {
22
- "@angular/core": "^10.0.5",
23
- "@cubejs-client/core": "^0.26.60",
24
- "rxjs": "^6.6.0"
25
- },
26
17
  "watch": {
27
18
  "dev:publish": "dist/*"
28
19
  },
@@ -31,17 +22,24 @@
31
22
  "ng:watch": "./node_modules/ng-packagr/cli/main.js -c tsconfig.json -p ng-package.json --watch && rm dist/package.json",
32
23
  "dev": "yarn build && yalc publish --push"
33
24
  },
25
+ "dependencies": {
26
+ "fast-deep-equal": "^3.1.3",
27
+ "tslib": "^2.0.0"
28
+ },
34
29
  "devDependencies": {
35
- "@angular-devkit/build-angular": "^0.1000.3",
36
- "@angular-devkit/build-ng-packagr": "^0.1000.3",
37
- "@angular/cli": "^10.2.3",
38
- "@angular/compiler": "^10.2.4",
39
- "@angular/compiler-cli": "^10.2.4",
40
- "@angular/core": "^10.2.4",
41
- "ng-packagr": "^10.1.2",
30
+ "@angular-devkit/build-angular": "^12.1.2",
31
+ "@angular/cli": "^12.1.2",
32
+ "@angular/compiler": "^12.1.2",
33
+ "@angular/compiler-cli": "^12.1.2",
34
+ "@angular/core": "^12.1.2",
35
+ "ng-packagr": "^12.1.2",
42
36
  "npm-watch": "^0.7.0",
43
37
  "tsickle": "^0.39.1",
44
- "typescript": "^3.9.7"
38
+ "typescript": "~4.2.4"
39
+ },
40
+ "peerDependencies": {
41
+ "@cubejs-client/core": ">=0.28.1",
42
+ "rxjs": ">=6.6.0"
45
43
  },
46
44
  "publishConfig": {
47
45
  "access": "public"
@@ -57,5 +55,5 @@
57
55
  "typings": "dist/cubejs-client-ngx.d.ts",
58
56
  "metadata": "dist/cubejs-client-ngx.metadata.json",
59
57
  "sideEffects": false,
60
- "gitHead": "453a92cd048b64cdc5281bcdb417e1f0daa41d64"
58
+ "gitHead": "210d10f05a665f94f741ccfa2e124933c71718eb"
61
59
  }