@cubejs-client/vue3 1.6.68 → 1.7.1
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/cubejs-client-vue3.cjs.js +0 -8
- package/dist/cubejs-client-vue3.cjs.js.map +1 -1
- package/dist/cubejs-client-vue3.esm.js +0 -8
- package/dist/cubejs-client-vue3.esm.js.map +1 -1
- package/dist/cubejs-client-vue3.umd.js +0 -8
- package/dist/cubejs-client-vue3.umd.js.map +1 -1
- package/package.json +11 -22
- package/src/QueryBuilder.js +0 -9
|
@@ -631,7 +631,6 @@ var QueryBuilder = {
|
|
|
631
631
|
availableSegments: [],
|
|
632
632
|
limit: null,
|
|
633
633
|
offset: null,
|
|
634
|
-
renewQuery: false,
|
|
635
634
|
order: null,
|
|
636
635
|
prevValidatedQuery: null,
|
|
637
636
|
granularities: core.GRANULARITIES,
|
|
@@ -661,7 +660,6 @@ var QueryBuilder = {
|
|
|
661
660
|
removeLimit = this.removeLimit,
|
|
662
661
|
setOffset = this.setOffset,
|
|
663
662
|
removeOffset = this.removeOffset,
|
|
664
|
-
renewQuery = this.renewQuery,
|
|
665
663
|
order = this.order,
|
|
666
664
|
orderMembers = this.orderMembers;
|
|
667
665
|
var builderProps = {};
|
|
@@ -687,7 +685,6 @@ var QueryBuilder = {
|
|
|
687
685
|
removeLimit: removeLimit,
|
|
688
686
|
setOffset: setOffset,
|
|
689
687
|
removeOffset: removeOffset,
|
|
690
|
-
renewQuery: renewQuery,
|
|
691
688
|
order: order,
|
|
692
689
|
orderMembers: orderMembers,
|
|
693
690
|
setOrder: this.setOrder,
|
|
@@ -835,9 +832,6 @@ var QueryBuilder = {
|
|
|
835
832
|
if (this.order) {
|
|
836
833
|
validatedQuery.order = this.order;
|
|
837
834
|
}
|
|
838
|
-
if (this.renewQuery) {
|
|
839
|
-
validatedQuery.renewQuery = this.renewQuery;
|
|
840
|
-
}
|
|
841
835
|
}
|
|
842
836
|
if (!this.skipHeuristics && !this.disableHeuristics && core.isQueryPresent(validatedQuery) && this.meta) {
|
|
843
837
|
var _validatedQuery;
|
|
@@ -919,7 +913,6 @@ var QueryBuilder = {
|
|
|
919
913
|
filters = _ref4$filters === void 0 ? [] : _ref4$filters,
|
|
920
914
|
limit = _ref4.limit,
|
|
921
915
|
offset = _ref4.offset,
|
|
922
|
-
renewQuery = _ref4.renewQuery,
|
|
923
916
|
order = _ref4.order;
|
|
924
917
|
this.measures = measures.map(function (m, index) {
|
|
925
918
|
return _objectSpread2({
|
|
@@ -963,7 +956,6 @@ var QueryBuilder = {
|
|
|
963
956
|
this.availableSegments = this.meta.membersForQuery({}, 'segments') || [];
|
|
964
957
|
this.limit = limit || 10000;
|
|
965
958
|
this.offset = offset || null;
|
|
966
|
-
this.renewQuery = renewQuery || false;
|
|
967
959
|
this.order = order || null;
|
|
968
960
|
},
|
|
969
961
|
addMember: function addMember(element, member) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cubejs-client-vue3.cjs.js","sources":["../src/QueryRenderer.js","../src/QueryBuilder.js","../src/index.js"],"sourcesContent":["import { toPairs, fromPairs } from 'ramda';\nimport { isQueryPresent, areQueriesEqual } from '@cubejs-client/core';\nimport { h as createElement } from 'vue';\n\nexport default {\n props: {\n query: {\n type: [Object, Array],\n default: () => ({}),\n },\n // TODO: validate with current react implementation\n queries: {\n type: Object,\n },\n loadSql: {\n required: false,\n },\n cubeApi: {\n type: Object,\n required: true,\n },\n builderProps: {\n type: Object,\n required: false,\n default: () => ({}),\n },\n chartType: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n mutexObj: {},\n error: undefined,\n resultSet: undefined,\n loading: false,\n sqlQuery: undefined,\n };\n },\n async mounted() {\n const { query, queries } = this;\n\n if (isQueryPresent(query)) {\n await this.load();\n } else if (isQueryPresent(queries)) {\n await this.loadQueries(queries);\n }\n },\n render() {\n const { $slots, resultSet, error, loading, sqlQuery } = this;\n const empty = createElement('div', {});\n let slot = this.$slots.empty ? this.$slots.empty() : empty;\n let controls = createElement('div', {});\n const onlyDefault = !('empty' in this.$slots) && !('error' in this.$slots);\n\n if ($slots.builder && this.builderProps.measures) {\n controls = $slots.builder({ ...this.builderProps });\n }\n\n if ((!loading && resultSet && !error) || onlyDefault) {\n let slotProps = {\n resultSet,\n sqlQuery,\n query: this.builderProps.query || this.query,\n };\n\n if (onlyDefault) {\n slotProps = {\n loading,\n error,\n refetch: this.load,\n ...this.builderProps,\n ...slotProps,\n };\n }\n slot = $slots.default ? $slots.default(slotProps) : slot;\n } else if (error) {\n slot = $slots.error ? $slots.error({ error, sqlQuery }) : slot;\n }\n\n return createElement('div', {}, [controls, slot]);\n },\n methods: {\n async load() {\n const { query } = this;\n\n if (!isQueryPresent(query)) {\n return;\n }\n\n try {\n this.loading = true;\n this.error = null;\n this.resultSet = null;\n\n if (this.loadSql === 'only') {\n this.sqlQuery = await this.cubeApi.sql(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'sql',\n });\n } else if (this.loadSql) {\n this.sqlQuery = await this.cubeApi.sql(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'sql',\n });\n this.resultSet = await this.cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n });\n } else {\n this.resultSet = await this.cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n });\n }\n\n this.loading = false;\n } catch (error) {\n this.error = error;\n this.resultSet = undefined;\n this.loading = false;\n }\n },\n async loadQueries() {\n const { queries } = this;\n try {\n this.error = undefined;\n this.loading = true;\n\n const resultPromises = Promise.all(\n toPairs(queries).map(([name, query]) =>\n this.cubeApi\n .load(query, {\n mutexObj: this.mutexObj,\n mutexKey: name,\n })\n .then((r) => [name, r])\n )\n );\n\n this.resultSet = fromPairs(await resultPromises);\n this.loading = false;\n } catch (error) {\n this.error = error;\n this.loading = false;\n }\n },\n },\n watch: {\n loading(loading) {\n if (loading === false) {\n this.$emit('queryStatus', {\n isLoading: false,\n error: this.error,\n resultSet: this.resultSet,\n });\n } else {\n this.$emit('queryStatus', { isLoading: true });\n }\n },\n cubeApi() {\n this.load();\n },\n chartType() {\n this.load();\n },\n query: {\n deep: true,\n handler(query, prevQuery) {\n if (!areQueriesEqual(query, prevQuery)) {\n this.load();\n }\n },\n },\n queries: {\n handler(val) {\n if (val) {\n this.loadQueries();\n }\n },\n deep: true,\n },\n },\n};\n","import {\n isQueryPresent,\n defaultOrder,\n defaultHeuristics,\n GRANULARITIES,\n ResultSet,\n getOrderMembersFromOrder,\n moveItemInArray,\n movePivotItem,\n areQueriesEqual,\n} from '@cubejs-client/core';\nimport { h } from 'vue';\nimport { clone, equals } from 'ramda';\n\nimport QueryRenderer from './QueryRenderer';\n\nconst QUERY_ELEMENTS = ['measures', 'dimensions', 'segments', 'timeDimensions', 'filters'];\n\nconst toOrderMember = (member) => ({\n id: member.name,\n title: member.title,\n});\n\nconst reduceOrderMembers = (array) =>\n array.reduce((acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc), []);\n\nconst operators = [ 'and', 'or' ]\n\nconst validateFilters = (filters) =>\n filters.reduce((acc, raw) => {\n if (raw.operator) {\n return [...acc, raw];\n }\n\n const validBooleanFilter = operators.reduce((acc, operator) => {\n const filters = raw[operator];\n\n const booleanFilters = validateFilters(filters || []);\n\n if (booleanFilters.length) {\n return { ...acc, [operator]: booleanFilters };\n }\n\n return acc;\n }, {});\n\n if (operators.some((operator) => validBooleanFilter[operator])) {\n return [...acc, validBooleanFilter];\n }\n\n return acc;\n }, []);\n\nconst getDimensionOrMeasure = (meta, m) => {\n const memberName = m.member || m.dimension;\n return memberName && meta.resolveMember(memberName, ['dimensions', 'measures']);\n};\n\nconst resolveMembers = (meta, arr) =>\n arr &&\n arr.map((e, index) => {\n return {\n ...e,\n member: getDimensionOrMeasure(meta, e),\n index,\n and: resolveMembers(meta, e.and),\n or: resolveMembers(meta, e.or),\n };\n });\n\nexport default {\n components: {\n QueryRenderer,\n },\n props: {\n query: {\n type: Object,\n default: () => ({}),\n },\n cubeApi: {\n type: Object,\n required: true,\n },\n initialChartType: {\n type: String,\n default: () => 'line',\n },\n disableHeuristics: {\n type: Boolean,\n },\n stateChangeHeuristics: {\n type: Function,\n },\n initialVizState: {\n type: Object,\n default: () => ({}),\n },\n },\n data() {\n const {\n query = this.query,\n chartType = this.initialChartType,\n pivotConfig,\n } = this.initialVizState;\n\n return {\n initialQuery: query,\n skipHeuristics: true,\n meta: undefined,\n mutex: {},\n chartType,\n measures: [],\n dimensions: [],\n segments: [],\n timeDimensions: [],\n filters: [],\n availableMeasures: [],\n availableDimensions: [],\n availableTimeDimensions: [],\n availableSegments: [],\n limit: null,\n offset: null,\n renewQuery: false,\n order: null,\n prevValidatedQuery: null,\n granularities: GRANULARITIES,\n pivotConfig: ResultSet.getNormalizedPivotConfig(query || {}, pivotConfig),\n };\n },\n\n render() {\n const {\n chartType,\n cubeApi,\n dimensions,\n filters,\n measures,\n meta,\n query,\n segments,\n timeDimensions,\n validatedQuery,\n isQueryPresent,\n availableSegments,\n availableTimeDimensions,\n availableDimensions,\n availableMeasures,\n limit,\n offset,\n setLimit,\n removeLimit,\n setOffset,\n removeOffset,\n renewQuery,\n order,\n orderMembers,\n } = this;\n\n let builderProps = {};\n\n if (meta) {\n builderProps = {\n query,\n validatedQuery,\n isQueryPresent,\n chartType,\n measures,\n dimensions,\n segments,\n timeDimensions,\n filters,\n availableSegments,\n availableTimeDimensions,\n availableDimensions,\n availableMeasures,\n updateChartType: this.updateChart,\n limit,\n offset,\n setLimit,\n removeLimit,\n setOffset,\n removeOffset,\n renewQuery,\n order,\n orderMembers,\n setOrder: this.setOrder,\n pivotConfig: this.pivotConfig,\n updateOrder: {\n set: (memberId, newOrder) => {\n this.order = reduceOrderMembers(\n orderMembers.map((orderMember) => ({\n ...orderMember,\n order: orderMember.id === memberId ? newOrder : orderMember.order,\n }))\n );\n },\n update: (newOrder) => {\n this.order = newOrder;\n },\n reorder: (sourceIndex, destinationIndex) => {\n this.order = reduceOrderMembers(\n moveItemInArray(orderMembers, sourceIndex, destinationIndex)\n );\n },\n },\n updatePivotConfig: {\n moveItem: ({ sourceIndex, destinationIndex, sourceAxis, destinationAxis }) => {\n this.pivotConfig = movePivotItem(\n this.pivotConfig,\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n );\n },\n update: (pivotConfig) => {\n this.pivotConfig = {\n x: pivotConfig.x || this.pivotConfig.x,\n y: pivotConfig.y || this.pivotConfig.y,\n };\n },\n },\n };\n\n QUERY_ELEMENTS.forEach((elementName) => {\n const name = elementName.charAt(0).toUpperCase() + elementName.slice(1);\n\n builderProps[`add${name}`] = (member) => {\n this.addMember(elementName, member);\n };\n\n builderProps[`update${name}`] = (member, updateWith) => {\n this.updateMember(elementName, member, updateWith);\n };\n\n builderProps[`remove${name}`] = (member) => {\n this.removeMember(elementName, member);\n };\n\n builderProps[`set${name}`] = (members) => {\n this.setMembers(elementName, members);\n };\n });\n }\n\n return h(\n QueryRenderer,\n {\n query: this.validatedQuery,\n cubeApi,\n builderProps,\n slots: this.$slots,\n on: {\n queryStatus: (event) => {\n this.$emit('queryStatus', event);\n },\n },\n },\n this.$slots\n );\n },\n computed: {\n isQueryPresent() {\n const { validatedQuery } = this;\n\n return isQueryPresent(validatedQuery);\n },\n orderMembers() {\n return getOrderMembersFromOrder(\n [\n ...this.measures,\n ...this.dimensions,\n ...this.timeDimensions.reduce((acc, { dimension, granularity }) => {\n if (granularity !== undefined) {\n acc.push(toOrderMember(dimension));\n }\n return acc;\n }, []),\n ]\n .map((member, index) => {\n const id = member.name || member.id;\n\n if (!id) {\n return false;\n }\n\n return {\n index,\n id,\n title: member.title,\n };\n })\n .filter(Boolean),\n this.order\n );\n },\n vizState() {\n return {\n query: this.validatedQuery,\n chartType: this.chartType,\n pivotConfig: this.pivotConfig,\n };\n },\n validatedQuery() {\n let validatedQuery = {};\n let toQuery = (member) => member.name;\n // TODO: implement timezone\n\n let hasElements = false;\n QUERY_ELEMENTS.forEach((element) => {\n if (element === 'timeDimensions') {\n toQuery = (member) => ({\n dimension: member.dimension.name,\n granularity: member.granularity,\n dateRange: member.dateRange,\n });\n } else if (element === 'filters') {\n toQuery = (member) => ({\n member: member.member && member.member.name,\n operator: member.operator,\n values: member.values,\n and: member.and && member.and.map(toQuery),\n or: member.or && member.or.map(toQuery),\n });\n }\n\n if (this[element].length > 0) {\n validatedQuery[element] = this[element].map((x) => toQuery(x));\n\n hasElements = true;\n }\n });\n\n if (validatedQuery.filters) {\n validatedQuery.filters = validateFilters(validatedQuery.filters)\n }\n\n // only set limit and offset if there are elements otherwise an invalid request with just limit/offset\n // gets sent when the component is first mounted, but before the actual query is constructed.\n if (hasElements) {\n if (this.limit) {\n validatedQuery.limit = this.limit;\n }\n\n if (this.offset) {\n validatedQuery.offset = this.offset;\n }\n\n if (this.order) {\n validatedQuery.order = this.order;\n }\n\n if (this.renewQuery) {\n validatedQuery.renewQuery = this.renewQuery;\n }\n }\n\n if (\n !this.skipHeuristics &&\n !this.disableHeuristics &&\n isQueryPresent(validatedQuery) &&\n this.meta\n ) {\n const heuristicsFn = this.stateChangeHeuristics || defaultHeuristics;\n const { query, chartType, shouldApplyHeuristicOrder, pivotConfig } = heuristicsFn(\n {\n query: validatedQuery,\n chartType: this.chartType,\n },\n this.prevValidatedQuery,\n {\n meta: this.meta,\n sessionGranularity: validatedQuery?.timeDimensions?.[0]?.granularity,\n }\n );\n\n validatedQuery = {\n ...validatedQuery,\n ...query,\n ...(shouldApplyHeuristicOrder ? { order: defaultOrder(query) } : null),\n };\n\n this.chartType = chartType || this.chartType;\n let pivot = ResultSet.getNormalizedPivotConfig(\n validatedQuery,\n pivotConfig !== undefined ? pivotConfig : this.pivotConfig\n );\n if (!equals(pivot, this.pivotConfig)) {\n this.pivotConfig = pivot;\n }\n\n if (!areQueriesEqual(this.prevValidatedQuery, validatedQuery)) {\n this.copyQueryFromProps(validatedQuery);\n }\n }\n\n // query heuristics should only apply on query change (not applied to the initial query)\n if (this.prevValidatedQuery !== null && isQueryPresent(validatedQuery)) {\n this.skipHeuristics = false;\n }\n\n if (!areQueriesEqual(this.prevValidatedQuery, validatedQuery)) {\n this.prevValidatedQuery = validatedQuery;\n }\n return validatedQuery;\n },\n },\n\n async mounted() {\n this.meta = await this.cubeApi.meta();\n\n this.copyQueryFromProps();\n\n if (isQueryPresent(this.initialQuery)) {\n const dryRunResponse = await this.cubeApi.dryRun(this.initialQuery);\n this.pivotConfig = ResultSet.getNormalizedPivotConfig(\n dryRunResponse?.pivotQuery || {},\n this.pivotConfig\n );\n }\n },\n\n methods: {\n copyQueryFromProps(query) {\n const {\n measures = [],\n dimensions = [],\n segments = [],\n timeDimensions = [],\n filters = [],\n limit,\n offset,\n renewQuery,\n order,\n } = query || this.initialQuery;\n\n this.measures = measures.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'measures'),\n }));\n this.dimensions = dimensions.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'dimensions'),\n }));\n this.segments = segments.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'segments'),\n }));\n this.timeDimensions = timeDimensions.map((m, index) => ({\n ...m,\n dimension: {\n ...this.meta.resolveMember(m.dimension, 'dimensions'),\n granularities: this.granularities,\n },\n index,\n }));\n\n const memberTypes = ['dimensions', 'measures'];\n this.filters = filters.map((m, index) => {\n const memberName = m.member || m.dimension;\n return {\n ...m,\n member: memberName && this.meta.resolveMember(memberName, memberTypes),\n operators: memberName && this.meta.filterOperatorsForMember(memberName, memberTypes),\n and: resolveMembers(this.meta, m.and),\n or: resolveMembers(this.meta, m.or),\n index,\n };\n });\n\n this.availableMeasures = this.meta.membersForQuery({}, 'measures') || [];\n this.availableDimensions = this.meta.membersForQuery({}, 'dimensions') || [];\n this.availableTimeDimensions = (this.meta.membersForQuery({}, 'dimensions') || []).filter(\n (m) => m.type === 'time'\n );\n this.availableSegments = this.meta.membersForQuery({}, 'segments') || [];\n this.limit = limit || 10000;\n this.offset = offset || null;\n this.renewQuery = renewQuery || false;\n this.order = order || null;\n },\n addMember(element, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((m) => m.name === member.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n granularity: member.granularity,\n dateRange: member.dateRange,\n dimension,\n index: this[element].length,\n };\n }\n } else if (element === 'filters') {\n mem = {\n ...member,\n and: resolveMembers(this.meta, member.and),\n or: resolveMembers(this.meta, member.or),\n member: getDimensionOrMeasure(this.meta, member),\n }\n } else {\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n this[element].push(mem);\n }\n },\n removeMember(element, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((x) => x.name === member);\n } else if (element === 'filters') {\n mem = member;\n } else {\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n const index = this[element].findIndex((x) => x.name === mem);\n this[element].splice(index, 1);\n }\n },\n updateMember(element, old, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n let index;\n\n if (element === 'timeDimensions') {\n index = this[element].findIndex((x) => x.dimension.name === old.dimension);\n mem = this[`available${name}`].find((m) => m.name === member.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n dimension,\n granularity: member.granularity,\n dateRange: member.dateRange,\n index,\n };\n }\n } else if (element === 'filters') {\n index = this[element].findIndex((x) => x.dimension === old);\n mem = {\n ...member,\n and: resolveMembers(this.meta, member.and),\n or: resolveMembers(this.meta, member.or),\n member: getDimensionOrMeasure(this.meta, member),\n };\n } else {\n index = this[element].findIndex((x) => x.name === old);\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n this[element].splice(index, 1, mem);\n }\n },\n setMembers(element, members) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n const elements = [];\n\n members.filter(Boolean).forEach((m) => {\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((x) => x.name === m.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n granularity: m.granularity,\n dateRange: m.dateRange,\n dimension,\n index: this[element].length,\n };\n }\n } else if (element === 'filters') {\n mem = {\n ...m,\n and: resolveMembers(this.meta, m.and),\n or: resolveMembers(this.meta, m.or),\n member: getDimensionOrMeasure(this.meta, m),\n };\n } else {\n mem = this[`available${name}`].find((x) => x.name === m);\n }\n\n if (mem) {\n elements.push(mem);\n }\n });\n\n this[element] = elements;\n },\n setLimit(limit) {\n this.limit = limit;\n },\n removeLimit() {\n this.limit = null;\n },\n setOffset(offset) {\n this.offset = offset;\n },\n removeOffset() {\n this.offset = null;\n },\n updateChart(chartType) {\n this.chartType = chartType;\n },\n setOrder(order = {}) {\n this.order = order;\n },\n emitVizStateChange(partialVizState) {\n this.$emit(\n 'vizStateChange',\n clone({\n ...this.vizState,\n ...partialVizState,\n })\n );\n },\n },\n\n watch: {\n validatedQuery: {\n deep: true,\n handler(query, prevQuery) {\n const hasQueryChanged = !areQueriesEqual(query, prevQuery);\n\n if (hasQueryChanged) {\n this.emitVizStateChange({\n query,\n });\n }\n\n if (isQueryPresent(query) && hasQueryChanged) {\n this.cubeApi\n .dryRun(query, {\n mutexObj: this.mutex,\n })\n .then((result) => {\n const pivotConfig = ResultSet.getNormalizedPivotConfig(result?.pivotQuery, this.pivotConfig);\n\n if (!equals(pivotConfig, this.pivotConfig)) {\n this.pivotConfig = pivotConfig;\n }\n })\n .catch((error) => console.error(error));\n }\n },\n },\n query: {\n deep: true,\n handler(query) {\n if (!this.meta) {\n // this is ok as if meta has not been loaded by the time query prop has changed,\n // then the promise for loading meta (found in mounted()) will call\n // copyQueryFromProps and will therefore update anyway.\n return;\n }\n this.copyQueryFromProps(query);\n },\n },\n pivotConfig: {\n deep: true,\n handler(pivotConfig, prevPivotConfig) {\n if (!equals(pivotConfig, prevPivotConfig)) {\n this.emitVizStateChange({\n pivotConfig,\n });\n }\n },\n },\n chartType(value) {\n this.emitVizStateChange({\n chartType: value,\n });\n },\n },\n};\n","import { GRANULARITIES } from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer';\nimport QueryBuilder from './QueryBuilder';\n\nexport { QueryRenderer, QueryBuilder, GRANULARITIES };\n\nexport default {};\n"],"names":["props","query","type","Object","Array","default","queries","loadSql","required","cubeApi","builderProps","chartType","String","data","mutexObj","error","undefined","resultSet","loading","sqlQuery","mounted","_this","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","isQueryPresent","load","loadQueries","a","render","$slots","empty","createElement","slot","controls","onlyDefault","builder","measures","_objectSpread","slotProps","refetch","methods","_this2","_callee2","_t","_context2","p","sql","mutexKey","v","_this3","_callee3","resultPromises","_t2","_t3","_context3","Promise","all","toPairs","map","_ref","_ref2","_slicedToArray","name","then","r","fromPairs","watch","$emit","isLoading","deep","handler","prevQuery","areQueriesEqual","val","QUERY_ELEMENTS","toOrderMember","member","id","title","reduceOrderMembers","array","reduce","acc","order","concat","_toConsumableArray","operators","validateFilters","filters","raw","operator","validBooleanFilter","booleanFilters","length","_defineProperty","some","getDimensionOrMeasure","meta","memberName","dimension","resolveMember","resolveMembers","arr","e","index","and","or","components","QueryRenderer","initialChartType","disableHeuristics","Boolean","stateChangeHeuristics","Function","initialVizState","_this$initialVizState","_this$initialVizState2","_this$initialVizState3","pivotConfig","initialQuery","skipHeuristics","mutex","dimensions","segments","timeDimensions","availableMeasures","availableDimensions","availableTimeDimensions","availableSegments","limit","offset","renewQuery","prevValidatedQuery","granularities","GRANULARITIES","ResultSet","getNormalizedPivotConfig","validatedQuery","setLimit","removeLimit","setOffset","removeOffset","orderMembers","updateChartType","updateChart","setOrder","updateOrder","set","memberId","newOrder","orderMember","update","reorder","sourceIndex","destinationIndex","moveItemInArray","updatePivotConfig","moveItem","sourceAxis","destinationAxis","movePivotItem","x","y","forEach","elementName","charAt","toUpperCase","slice","addMember","updateWith","updateMember","removeMember","members","setMembers","h","slots","on","queryStatus","event","computed","getOrderMembersFromOrder","_ref3","granularity","push","filter","vizState","toQuery","hasElements","element","dateRange","values","_validatedQuery","heuristicsFn","defaultHeuristics","_heuristicsFn","sessionGranularity","shouldApplyHeuristicOrder","defaultOrder","pivot","equals","copyQueryFromProps","dryRunResponse","dryRun","pivotQuery","_this4","_ref4","_ref4$measures","_ref4$dimensions","_ref4$segments","_ref4$timeDimensions","_ref4$filters","memberTypes","filterOperatorsForMember","membersForQuery","mem","find","findIndex","splice","old","_this5","elements","arguments","emitVizStateChange","partialVizState","clone","_this6","hasQueryChanged","result","console","prevPivotConfig","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cubejs-client-vue3.cjs.js","sources":["../src/QueryRenderer.js","../src/QueryBuilder.js","../src/index.js"],"sourcesContent":["import { toPairs, fromPairs } from 'ramda';\nimport { isQueryPresent, areQueriesEqual } from '@cubejs-client/core';\nimport { h as createElement } from 'vue';\n\nexport default {\n props: {\n query: {\n type: [Object, Array],\n default: () => ({}),\n },\n // TODO: validate with current react implementation\n queries: {\n type: Object,\n },\n loadSql: {\n required: false,\n },\n cubeApi: {\n type: Object,\n required: true,\n },\n builderProps: {\n type: Object,\n required: false,\n default: () => ({}),\n },\n chartType: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n mutexObj: {},\n error: undefined,\n resultSet: undefined,\n loading: false,\n sqlQuery: undefined,\n };\n },\n async mounted() {\n const { query, queries } = this;\n\n if (isQueryPresent(query)) {\n await this.load();\n } else if (isQueryPresent(queries)) {\n await this.loadQueries(queries);\n }\n },\n render() {\n const { $slots, resultSet, error, loading, sqlQuery } = this;\n const empty = createElement('div', {});\n let slot = this.$slots.empty ? this.$slots.empty() : empty;\n let controls = createElement('div', {});\n const onlyDefault = !('empty' in this.$slots) && !('error' in this.$slots);\n\n if ($slots.builder && this.builderProps.measures) {\n controls = $slots.builder({ ...this.builderProps });\n }\n\n if ((!loading && resultSet && !error) || onlyDefault) {\n let slotProps = {\n resultSet,\n sqlQuery,\n query: this.builderProps.query || this.query,\n };\n\n if (onlyDefault) {\n slotProps = {\n loading,\n error,\n refetch: this.load,\n ...this.builderProps,\n ...slotProps,\n };\n }\n slot = $slots.default ? $slots.default(slotProps) : slot;\n } else if (error) {\n slot = $slots.error ? $slots.error({ error, sqlQuery }) : slot;\n }\n\n return createElement('div', {}, [controls, slot]);\n },\n methods: {\n async load() {\n const { query } = this;\n\n if (!isQueryPresent(query)) {\n return;\n }\n\n try {\n this.loading = true;\n this.error = null;\n this.resultSet = null;\n\n if (this.loadSql === 'only') {\n this.sqlQuery = await this.cubeApi.sql(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'sql',\n });\n } else if (this.loadSql) {\n this.sqlQuery = await this.cubeApi.sql(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'sql',\n });\n this.resultSet = await this.cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n });\n } else {\n this.resultSet = await this.cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n });\n }\n\n this.loading = false;\n } catch (error) {\n this.error = error;\n this.resultSet = undefined;\n this.loading = false;\n }\n },\n async loadQueries() {\n const { queries } = this;\n try {\n this.error = undefined;\n this.loading = true;\n\n const resultPromises = Promise.all(\n toPairs(queries).map(([name, query]) =>\n this.cubeApi\n .load(query, {\n mutexObj: this.mutexObj,\n mutexKey: name,\n })\n .then((r) => [name, r])\n )\n );\n\n this.resultSet = fromPairs(await resultPromises);\n this.loading = false;\n } catch (error) {\n this.error = error;\n this.loading = false;\n }\n },\n },\n watch: {\n loading(loading) {\n if (loading === false) {\n this.$emit('queryStatus', {\n isLoading: false,\n error: this.error,\n resultSet: this.resultSet,\n });\n } else {\n this.$emit('queryStatus', { isLoading: true });\n }\n },\n cubeApi() {\n this.load();\n },\n chartType() {\n this.load();\n },\n query: {\n deep: true,\n handler(query, prevQuery) {\n if (!areQueriesEqual(query, prevQuery)) {\n this.load();\n }\n },\n },\n queries: {\n handler(val) {\n if (val) {\n this.loadQueries();\n }\n },\n deep: true,\n },\n },\n};\n","import {\n isQueryPresent,\n defaultOrder,\n defaultHeuristics,\n GRANULARITIES,\n ResultSet,\n getOrderMembersFromOrder,\n moveItemInArray,\n movePivotItem,\n areQueriesEqual,\n} from '@cubejs-client/core';\nimport { h } from 'vue';\nimport { clone, equals } from 'ramda';\n\nimport QueryRenderer from './QueryRenderer';\n\nconst QUERY_ELEMENTS = ['measures', 'dimensions', 'segments', 'timeDimensions', 'filters'];\n\nconst toOrderMember = (member) => ({\n id: member.name,\n title: member.title,\n});\n\nconst reduceOrderMembers = (array) =>\n array.reduce((acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc), []);\n\nconst operators = [ 'and', 'or' ]\n\nconst validateFilters = (filters) =>\n filters.reduce((acc, raw) => {\n if (raw.operator) {\n return [...acc, raw];\n }\n\n const validBooleanFilter = operators.reduce((acc, operator) => {\n const filters = raw[operator];\n\n const booleanFilters = validateFilters(filters || []);\n\n if (booleanFilters.length) {\n return { ...acc, [operator]: booleanFilters };\n }\n\n return acc;\n }, {});\n\n if (operators.some((operator) => validBooleanFilter[operator])) {\n return [...acc, validBooleanFilter];\n }\n\n return acc;\n }, []);\n\nconst getDimensionOrMeasure = (meta, m) => {\n const memberName = m.member || m.dimension;\n return memberName && meta.resolveMember(memberName, ['dimensions', 'measures']);\n};\n\nconst resolveMembers = (meta, arr) =>\n arr &&\n arr.map((e, index) => {\n return {\n ...e,\n member: getDimensionOrMeasure(meta, e),\n index,\n and: resolveMembers(meta, e.and),\n or: resolveMembers(meta, e.or),\n };\n });\n\nexport default {\n components: {\n QueryRenderer,\n },\n props: {\n query: {\n type: Object,\n default: () => ({}),\n },\n cubeApi: {\n type: Object,\n required: true,\n },\n initialChartType: {\n type: String,\n default: () => 'line',\n },\n disableHeuristics: {\n type: Boolean,\n },\n stateChangeHeuristics: {\n type: Function,\n },\n initialVizState: {\n type: Object,\n default: () => ({}),\n },\n },\n data() {\n const {\n query = this.query,\n chartType = this.initialChartType,\n pivotConfig,\n } = this.initialVizState;\n\n return {\n initialQuery: query,\n skipHeuristics: true,\n meta: undefined,\n mutex: {},\n chartType,\n measures: [],\n dimensions: [],\n segments: [],\n timeDimensions: [],\n filters: [],\n availableMeasures: [],\n availableDimensions: [],\n availableTimeDimensions: [],\n availableSegments: [],\n limit: null,\n offset: null,\n order: null,\n prevValidatedQuery: null,\n granularities: GRANULARITIES,\n pivotConfig: ResultSet.getNormalizedPivotConfig(query || {}, pivotConfig),\n };\n },\n\n render() {\n const {\n chartType,\n cubeApi,\n dimensions,\n filters,\n measures,\n meta,\n query,\n segments,\n timeDimensions,\n validatedQuery,\n isQueryPresent,\n availableSegments,\n availableTimeDimensions,\n availableDimensions,\n availableMeasures,\n limit,\n offset,\n setLimit,\n removeLimit,\n setOffset,\n removeOffset,\n order,\n orderMembers,\n } = this;\n\n let builderProps = {};\n\n if (meta) {\n builderProps = {\n query,\n validatedQuery,\n isQueryPresent,\n chartType,\n measures,\n dimensions,\n segments,\n timeDimensions,\n filters,\n availableSegments,\n availableTimeDimensions,\n availableDimensions,\n availableMeasures,\n updateChartType: this.updateChart,\n limit,\n offset,\n setLimit,\n removeLimit,\n setOffset,\n removeOffset,\n order,\n orderMembers,\n setOrder: this.setOrder,\n pivotConfig: this.pivotConfig,\n updateOrder: {\n set: (memberId, newOrder) => {\n this.order = reduceOrderMembers(\n orderMembers.map((orderMember) => ({\n ...orderMember,\n order: orderMember.id === memberId ? newOrder : orderMember.order,\n }))\n );\n },\n update: (newOrder) => {\n this.order = newOrder;\n },\n reorder: (sourceIndex, destinationIndex) => {\n this.order = reduceOrderMembers(\n moveItemInArray(orderMembers, sourceIndex, destinationIndex)\n );\n },\n },\n updatePivotConfig: {\n moveItem: ({ sourceIndex, destinationIndex, sourceAxis, destinationAxis }) => {\n this.pivotConfig = movePivotItem(\n this.pivotConfig,\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n );\n },\n update: (pivotConfig) => {\n this.pivotConfig = {\n x: pivotConfig.x || this.pivotConfig.x,\n y: pivotConfig.y || this.pivotConfig.y,\n };\n },\n },\n };\n\n QUERY_ELEMENTS.forEach((elementName) => {\n const name = elementName.charAt(0).toUpperCase() + elementName.slice(1);\n\n builderProps[`add${name}`] = (member) => {\n this.addMember(elementName, member);\n };\n\n builderProps[`update${name}`] = (member, updateWith) => {\n this.updateMember(elementName, member, updateWith);\n };\n\n builderProps[`remove${name}`] = (member) => {\n this.removeMember(elementName, member);\n };\n\n builderProps[`set${name}`] = (members) => {\n this.setMembers(elementName, members);\n };\n });\n }\n\n return h(\n QueryRenderer,\n {\n query: this.validatedQuery,\n cubeApi,\n builderProps,\n slots: this.$slots,\n on: {\n queryStatus: (event) => {\n this.$emit('queryStatus', event);\n },\n },\n },\n this.$slots\n );\n },\n computed: {\n isQueryPresent() {\n const { validatedQuery } = this;\n\n return isQueryPresent(validatedQuery);\n },\n orderMembers() {\n return getOrderMembersFromOrder(\n [\n ...this.measures,\n ...this.dimensions,\n ...this.timeDimensions.reduce((acc, { dimension, granularity }) => {\n if (granularity !== undefined) {\n acc.push(toOrderMember(dimension));\n }\n return acc;\n }, []),\n ]\n .map((member, index) => {\n const id = member.name || member.id;\n\n if (!id) {\n return false;\n }\n\n return {\n index,\n id,\n title: member.title,\n };\n })\n .filter(Boolean),\n this.order\n );\n },\n vizState() {\n return {\n query: this.validatedQuery,\n chartType: this.chartType,\n pivotConfig: this.pivotConfig,\n };\n },\n validatedQuery() {\n let validatedQuery = {};\n let toQuery = (member) => member.name;\n // TODO: implement timezone\n\n let hasElements = false;\n QUERY_ELEMENTS.forEach((element) => {\n if (element === 'timeDimensions') {\n toQuery = (member) => ({\n dimension: member.dimension.name,\n granularity: member.granularity,\n dateRange: member.dateRange,\n });\n } else if (element === 'filters') {\n toQuery = (member) => ({\n member: member.member && member.member.name,\n operator: member.operator,\n values: member.values,\n and: member.and && member.and.map(toQuery),\n or: member.or && member.or.map(toQuery),\n });\n }\n\n if (this[element].length > 0) {\n validatedQuery[element] = this[element].map((x) => toQuery(x));\n\n hasElements = true;\n }\n });\n\n if (validatedQuery.filters) {\n validatedQuery.filters = validateFilters(validatedQuery.filters)\n }\n\n // only set limit and offset if there are elements otherwise an invalid request with just limit/offset\n // gets sent when the component is first mounted, but before the actual query is constructed.\n if (hasElements) {\n if (this.limit) {\n validatedQuery.limit = this.limit;\n }\n\n if (this.offset) {\n validatedQuery.offset = this.offset;\n }\n\n if (this.order) {\n validatedQuery.order = this.order;\n }\n }\n\n if (\n !this.skipHeuristics &&\n !this.disableHeuristics &&\n isQueryPresent(validatedQuery) &&\n this.meta\n ) {\n const heuristicsFn = this.stateChangeHeuristics || defaultHeuristics;\n const { query, chartType, shouldApplyHeuristicOrder, pivotConfig } = heuristicsFn(\n {\n query: validatedQuery,\n chartType: this.chartType,\n },\n this.prevValidatedQuery,\n {\n meta: this.meta,\n sessionGranularity: validatedQuery?.timeDimensions?.[0]?.granularity,\n }\n );\n\n validatedQuery = {\n ...validatedQuery,\n ...query,\n ...(shouldApplyHeuristicOrder ? { order: defaultOrder(query) } : null),\n };\n\n this.chartType = chartType || this.chartType;\n let pivot = ResultSet.getNormalizedPivotConfig(\n validatedQuery,\n pivotConfig !== undefined ? pivotConfig : this.pivotConfig\n );\n if (!equals(pivot, this.pivotConfig)) {\n this.pivotConfig = pivot;\n }\n\n if (!areQueriesEqual(this.prevValidatedQuery, validatedQuery)) {\n this.copyQueryFromProps(validatedQuery);\n }\n }\n\n // query heuristics should only apply on query change (not applied to the initial query)\n if (this.prevValidatedQuery !== null && isQueryPresent(validatedQuery)) {\n this.skipHeuristics = false;\n }\n\n if (!areQueriesEqual(this.prevValidatedQuery, validatedQuery)) {\n this.prevValidatedQuery = validatedQuery;\n }\n return validatedQuery;\n },\n },\n\n async mounted() {\n this.meta = await this.cubeApi.meta();\n\n this.copyQueryFromProps();\n\n if (isQueryPresent(this.initialQuery)) {\n const dryRunResponse = await this.cubeApi.dryRun(this.initialQuery);\n this.pivotConfig = ResultSet.getNormalizedPivotConfig(\n dryRunResponse?.pivotQuery || {},\n this.pivotConfig\n );\n }\n },\n\n methods: {\n copyQueryFromProps(query) {\n const {\n measures = [],\n dimensions = [],\n segments = [],\n timeDimensions = [],\n filters = [],\n limit,\n offset,\n order,\n } = query || this.initialQuery;\n\n this.measures = measures.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'measures'),\n }));\n this.dimensions = dimensions.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'dimensions'),\n }));\n this.segments = segments.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'segments'),\n }));\n this.timeDimensions = timeDimensions.map((m, index) => ({\n ...m,\n dimension: {\n ...this.meta.resolveMember(m.dimension, 'dimensions'),\n granularities: this.granularities,\n },\n index,\n }));\n\n const memberTypes = ['dimensions', 'measures'];\n this.filters = filters.map((m, index) => {\n const memberName = m.member || m.dimension;\n return {\n ...m,\n member: memberName && this.meta.resolveMember(memberName, memberTypes),\n operators: memberName && this.meta.filterOperatorsForMember(memberName, memberTypes),\n and: resolveMembers(this.meta, m.and),\n or: resolveMembers(this.meta, m.or),\n index,\n };\n });\n\n this.availableMeasures = this.meta.membersForQuery({}, 'measures') || [];\n this.availableDimensions = this.meta.membersForQuery({}, 'dimensions') || [];\n this.availableTimeDimensions = (this.meta.membersForQuery({}, 'dimensions') || []).filter(\n (m) => m.type === 'time'\n );\n this.availableSegments = this.meta.membersForQuery({}, 'segments') || [];\n this.limit = limit || 10000;\n this.offset = offset || null;\n this.order = order || null;\n },\n addMember(element, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((m) => m.name === member.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n granularity: member.granularity,\n dateRange: member.dateRange,\n dimension,\n index: this[element].length,\n };\n }\n } else if (element === 'filters') {\n mem = {\n ...member,\n and: resolveMembers(this.meta, member.and),\n or: resolveMembers(this.meta, member.or),\n member: getDimensionOrMeasure(this.meta, member),\n }\n } else {\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n this[element].push(mem);\n }\n },\n removeMember(element, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((x) => x.name === member);\n } else if (element === 'filters') {\n mem = member;\n } else {\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n const index = this[element].findIndex((x) => x.name === mem);\n this[element].splice(index, 1);\n }\n },\n updateMember(element, old, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n let index;\n\n if (element === 'timeDimensions') {\n index = this[element].findIndex((x) => x.dimension.name === old.dimension);\n mem = this[`available${name}`].find((m) => m.name === member.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n dimension,\n granularity: member.granularity,\n dateRange: member.dateRange,\n index,\n };\n }\n } else if (element === 'filters') {\n index = this[element].findIndex((x) => x.dimension === old);\n mem = {\n ...member,\n and: resolveMembers(this.meta, member.and),\n or: resolveMembers(this.meta, member.or),\n member: getDimensionOrMeasure(this.meta, member),\n };\n } else {\n index = this[element].findIndex((x) => x.name === old);\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n this[element].splice(index, 1, mem);\n }\n },\n setMembers(element, members) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n const elements = [];\n\n members.filter(Boolean).forEach((m) => {\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((x) => x.name === m.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n granularity: m.granularity,\n dateRange: m.dateRange,\n dimension,\n index: this[element].length,\n };\n }\n } else if (element === 'filters') {\n mem = {\n ...m,\n and: resolveMembers(this.meta, m.and),\n or: resolveMembers(this.meta, m.or),\n member: getDimensionOrMeasure(this.meta, m),\n };\n } else {\n mem = this[`available${name}`].find((x) => x.name === m);\n }\n\n if (mem) {\n elements.push(mem);\n }\n });\n\n this[element] = elements;\n },\n setLimit(limit) {\n this.limit = limit;\n },\n removeLimit() {\n this.limit = null;\n },\n setOffset(offset) {\n this.offset = offset;\n },\n removeOffset() {\n this.offset = null;\n },\n updateChart(chartType) {\n this.chartType = chartType;\n },\n setOrder(order = {}) {\n this.order = order;\n },\n emitVizStateChange(partialVizState) {\n this.$emit(\n 'vizStateChange',\n clone({\n ...this.vizState,\n ...partialVizState,\n })\n );\n },\n },\n\n watch: {\n validatedQuery: {\n deep: true,\n handler(query, prevQuery) {\n const hasQueryChanged = !areQueriesEqual(query, prevQuery);\n\n if (hasQueryChanged) {\n this.emitVizStateChange({\n query,\n });\n }\n\n if (isQueryPresent(query) && hasQueryChanged) {\n this.cubeApi\n .dryRun(query, {\n mutexObj: this.mutex,\n })\n .then((result) => {\n const pivotConfig = ResultSet.getNormalizedPivotConfig(result?.pivotQuery, this.pivotConfig);\n\n if (!equals(pivotConfig, this.pivotConfig)) {\n this.pivotConfig = pivotConfig;\n }\n })\n .catch((error) => console.error(error));\n }\n },\n },\n query: {\n deep: true,\n handler(query) {\n if (!this.meta) {\n // this is ok as if meta has not been loaded by the time query prop has changed,\n // then the promise for loading meta (found in mounted()) will call\n // copyQueryFromProps and will therefore update anyway.\n return;\n }\n this.copyQueryFromProps(query);\n },\n },\n pivotConfig: {\n deep: true,\n handler(pivotConfig, prevPivotConfig) {\n if (!equals(pivotConfig, prevPivotConfig)) {\n this.emitVizStateChange({\n pivotConfig,\n });\n }\n },\n },\n chartType(value) {\n this.emitVizStateChange({\n chartType: value,\n });\n },\n },\n};\n","import { GRANULARITIES } from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer';\nimport QueryBuilder from './QueryBuilder';\n\nexport { QueryRenderer, QueryBuilder, GRANULARITIES };\n\nexport default {};\n"],"names":["props","query","type","Object","Array","default","queries","loadSql","required","cubeApi","builderProps","chartType","String","data","mutexObj","error","undefined","resultSet","loading","sqlQuery","mounted","_this","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","isQueryPresent","load","loadQueries","a","render","$slots","empty","createElement","slot","controls","onlyDefault","builder","measures","_objectSpread","slotProps","refetch","methods","_this2","_callee2","_t","_context2","p","sql","mutexKey","v","_this3","_callee3","resultPromises","_t2","_t3","_context3","Promise","all","toPairs","map","_ref","_ref2","_slicedToArray","name","then","r","fromPairs","watch","$emit","isLoading","deep","handler","prevQuery","areQueriesEqual","val","QUERY_ELEMENTS","toOrderMember","member","id","title","reduceOrderMembers","array","reduce","acc","order","concat","_toConsumableArray","operators","validateFilters","filters","raw","operator","validBooleanFilter","booleanFilters","length","_defineProperty","some","getDimensionOrMeasure","meta","memberName","dimension","resolveMember","resolveMembers","arr","e","index","and","or","components","QueryRenderer","initialChartType","disableHeuristics","Boolean","stateChangeHeuristics","Function","initialVizState","_this$initialVizState","_this$initialVizState2","_this$initialVizState3","pivotConfig","initialQuery","skipHeuristics","mutex","dimensions","segments","timeDimensions","availableMeasures","availableDimensions","availableTimeDimensions","availableSegments","limit","offset","prevValidatedQuery","granularities","GRANULARITIES","ResultSet","getNormalizedPivotConfig","validatedQuery","setLimit","removeLimit","setOffset","removeOffset","orderMembers","updateChartType","updateChart","setOrder","updateOrder","set","memberId","newOrder","orderMember","update","reorder","sourceIndex","destinationIndex","moveItemInArray","updatePivotConfig","moveItem","sourceAxis","destinationAxis","movePivotItem","x","y","forEach","elementName","charAt","toUpperCase","slice","addMember","updateWith","updateMember","removeMember","members","setMembers","h","slots","on","queryStatus","event","computed","getOrderMembersFromOrder","_ref3","granularity","push","filter","vizState","toQuery","hasElements","element","dateRange","values","_validatedQuery","heuristicsFn","defaultHeuristics","_heuristicsFn","sessionGranularity","shouldApplyHeuristicOrder","defaultOrder","pivot","equals","copyQueryFromProps","dryRunResponse","dryRun","pivotQuery","_this4","_ref4","_ref4$measures","_ref4$dimensions","_ref4$segments","_ref4$timeDimensions","_ref4$filters","memberTypes","filterOperatorsForMember","membersForQuery","mem","find","findIndex","splice","old","_this5","elements","arguments","emitVizStateChange","partialVizState","clone","_this6","hasQueryChanged","result","console","prevPivotConfig","value"],"mappings":"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"}
|
|
@@ -282,7 +282,6 @@ var QueryBuilder = {
|
|
|
282
282
|
availableSegments: [],
|
|
283
283
|
limit: null,
|
|
284
284
|
offset: null,
|
|
285
|
-
renewQuery: false,
|
|
286
285
|
order: null,
|
|
287
286
|
prevValidatedQuery: null,
|
|
288
287
|
granularities: GRANULARITIES,
|
|
@@ -312,7 +311,6 @@ var QueryBuilder = {
|
|
|
312
311
|
removeLimit,
|
|
313
312
|
setOffset,
|
|
314
313
|
removeOffset,
|
|
315
|
-
renewQuery,
|
|
316
314
|
order,
|
|
317
315
|
orderMembers
|
|
318
316
|
} = this;
|
|
@@ -339,7 +337,6 @@ var QueryBuilder = {
|
|
|
339
337
|
removeLimit,
|
|
340
338
|
setOffset,
|
|
341
339
|
removeOffset,
|
|
342
|
-
renewQuery,
|
|
343
340
|
order,
|
|
344
341
|
orderMembers,
|
|
345
342
|
setOrder: this.setOrder,
|
|
@@ -481,9 +478,6 @@ var QueryBuilder = {
|
|
|
481
478
|
if (this.order) {
|
|
482
479
|
validatedQuery.order = this.order;
|
|
483
480
|
}
|
|
484
|
-
if (this.renewQuery) {
|
|
485
|
-
validatedQuery.renewQuery = this.renewQuery;
|
|
486
|
-
}
|
|
487
481
|
}
|
|
488
482
|
if (!this.skipHeuristics && !this.disableHeuristics && isQueryPresent(validatedQuery) && this.meta) {
|
|
489
483
|
const heuristicsFn = this.stateChangeHeuristics || defaultHeuristics;
|
|
@@ -544,7 +538,6 @@ var QueryBuilder = {
|
|
|
544
538
|
filters = [],
|
|
545
539
|
limit,
|
|
546
540
|
offset,
|
|
547
|
-
renewQuery,
|
|
548
541
|
order
|
|
549
542
|
} = query || this.initialQuery;
|
|
550
543
|
this.measures = measures.map((m, index) => ({
|
|
@@ -585,7 +578,6 @@ var QueryBuilder = {
|
|
|
585
578
|
this.availableSegments = this.meta.membersForQuery({}, 'segments') || [];
|
|
586
579
|
this.limit = limit || 10000;
|
|
587
580
|
this.offset = offset || null;
|
|
588
|
-
this.renewQuery = renewQuery || false;
|
|
589
581
|
this.order = order || null;
|
|
590
582
|
},
|
|
591
583
|
addMember(element, member) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cubejs-client-vue3.esm.js","sources":["../src/QueryRenderer.js","../src/QueryBuilder.js","../src/index.js"],"sourcesContent":["import { toPairs, fromPairs } from 'ramda';\nimport { isQueryPresent, areQueriesEqual } from '@cubejs-client/core';\nimport { h as createElement } from 'vue';\n\nexport default {\n props: {\n query: {\n type: [Object, Array],\n default: () => ({}),\n },\n // TODO: validate with current react implementation\n queries: {\n type: Object,\n },\n loadSql: {\n required: false,\n },\n cubeApi: {\n type: Object,\n required: true,\n },\n builderProps: {\n type: Object,\n required: false,\n default: () => ({}),\n },\n chartType: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n mutexObj: {},\n error: undefined,\n resultSet: undefined,\n loading: false,\n sqlQuery: undefined,\n };\n },\n async mounted() {\n const { query, queries } = this;\n\n if (isQueryPresent(query)) {\n await this.load();\n } else if (isQueryPresent(queries)) {\n await this.loadQueries(queries);\n }\n },\n render() {\n const { $slots, resultSet, error, loading, sqlQuery } = this;\n const empty = createElement('div', {});\n let slot = this.$slots.empty ? this.$slots.empty() : empty;\n let controls = createElement('div', {});\n const onlyDefault = !('empty' in this.$slots) && !('error' in this.$slots);\n\n if ($slots.builder && this.builderProps.measures) {\n controls = $slots.builder({ ...this.builderProps });\n }\n\n if ((!loading && resultSet && !error) || onlyDefault) {\n let slotProps = {\n resultSet,\n sqlQuery,\n query: this.builderProps.query || this.query,\n };\n\n if (onlyDefault) {\n slotProps = {\n loading,\n error,\n refetch: this.load,\n ...this.builderProps,\n ...slotProps,\n };\n }\n slot = $slots.default ? $slots.default(slotProps) : slot;\n } else if (error) {\n slot = $slots.error ? $slots.error({ error, sqlQuery }) : slot;\n }\n\n return createElement('div', {}, [controls, slot]);\n },\n methods: {\n async load() {\n const { query } = this;\n\n if (!isQueryPresent(query)) {\n return;\n }\n\n try {\n this.loading = true;\n this.error = null;\n this.resultSet = null;\n\n if (this.loadSql === 'only') {\n this.sqlQuery = await this.cubeApi.sql(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'sql',\n });\n } else if (this.loadSql) {\n this.sqlQuery = await this.cubeApi.sql(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'sql',\n });\n this.resultSet = await this.cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n });\n } else {\n this.resultSet = await this.cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n });\n }\n\n this.loading = false;\n } catch (error) {\n this.error = error;\n this.resultSet = undefined;\n this.loading = false;\n }\n },\n async loadQueries() {\n const { queries } = this;\n try {\n this.error = undefined;\n this.loading = true;\n\n const resultPromises = Promise.all(\n toPairs(queries).map(([name, query]) =>\n this.cubeApi\n .load(query, {\n mutexObj: this.mutexObj,\n mutexKey: name,\n })\n .then((r) => [name, r])\n )\n );\n\n this.resultSet = fromPairs(await resultPromises);\n this.loading = false;\n } catch (error) {\n this.error = error;\n this.loading = false;\n }\n },\n },\n watch: {\n loading(loading) {\n if (loading === false) {\n this.$emit('queryStatus', {\n isLoading: false,\n error: this.error,\n resultSet: this.resultSet,\n });\n } else {\n this.$emit('queryStatus', { isLoading: true });\n }\n },\n cubeApi() {\n this.load();\n },\n chartType() {\n this.load();\n },\n query: {\n deep: true,\n handler(query, prevQuery) {\n if (!areQueriesEqual(query, prevQuery)) {\n this.load();\n }\n },\n },\n queries: {\n handler(val) {\n if (val) {\n this.loadQueries();\n }\n },\n deep: true,\n },\n },\n};\n","import {\n isQueryPresent,\n defaultOrder,\n defaultHeuristics,\n GRANULARITIES,\n ResultSet,\n getOrderMembersFromOrder,\n moveItemInArray,\n movePivotItem,\n areQueriesEqual,\n} from '@cubejs-client/core';\nimport { h } from 'vue';\nimport { clone, equals } from 'ramda';\n\nimport QueryRenderer from './QueryRenderer';\n\nconst QUERY_ELEMENTS = ['measures', 'dimensions', 'segments', 'timeDimensions', 'filters'];\n\nconst toOrderMember = (member) => ({\n id: member.name,\n title: member.title,\n});\n\nconst reduceOrderMembers = (array) =>\n array.reduce((acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc), []);\n\nconst operators = [ 'and', 'or' ]\n\nconst validateFilters = (filters) =>\n filters.reduce((acc, raw) => {\n if (raw.operator) {\n return [...acc, raw];\n }\n\n const validBooleanFilter = operators.reduce((acc, operator) => {\n const filters = raw[operator];\n\n const booleanFilters = validateFilters(filters || []);\n\n if (booleanFilters.length) {\n return { ...acc, [operator]: booleanFilters };\n }\n\n return acc;\n }, {});\n\n if (operators.some((operator) => validBooleanFilter[operator])) {\n return [...acc, validBooleanFilter];\n }\n\n return acc;\n }, []);\n\nconst getDimensionOrMeasure = (meta, m) => {\n const memberName = m.member || m.dimension;\n return memberName && meta.resolveMember(memberName, ['dimensions', 'measures']);\n};\n\nconst resolveMembers = (meta, arr) =>\n arr &&\n arr.map((e, index) => {\n return {\n ...e,\n member: getDimensionOrMeasure(meta, e),\n index,\n and: resolveMembers(meta, e.and),\n or: resolveMembers(meta, e.or),\n };\n });\n\nexport default {\n components: {\n QueryRenderer,\n },\n props: {\n query: {\n type: Object,\n default: () => ({}),\n },\n cubeApi: {\n type: Object,\n required: true,\n },\n initialChartType: {\n type: String,\n default: () => 'line',\n },\n disableHeuristics: {\n type: Boolean,\n },\n stateChangeHeuristics: {\n type: Function,\n },\n initialVizState: {\n type: Object,\n default: () => ({}),\n },\n },\n data() {\n const {\n query = this.query,\n chartType = this.initialChartType,\n pivotConfig,\n } = this.initialVizState;\n\n return {\n initialQuery: query,\n skipHeuristics: true,\n meta: undefined,\n mutex: {},\n chartType,\n measures: [],\n dimensions: [],\n segments: [],\n timeDimensions: [],\n filters: [],\n availableMeasures: [],\n availableDimensions: [],\n availableTimeDimensions: [],\n availableSegments: [],\n limit: null,\n offset: null,\n renewQuery: false,\n order: null,\n prevValidatedQuery: null,\n granularities: GRANULARITIES,\n pivotConfig: ResultSet.getNormalizedPivotConfig(query || {}, pivotConfig),\n };\n },\n\n render() {\n const {\n chartType,\n cubeApi,\n dimensions,\n filters,\n measures,\n meta,\n query,\n segments,\n timeDimensions,\n validatedQuery,\n isQueryPresent,\n availableSegments,\n availableTimeDimensions,\n availableDimensions,\n availableMeasures,\n limit,\n offset,\n setLimit,\n removeLimit,\n setOffset,\n removeOffset,\n renewQuery,\n order,\n orderMembers,\n } = this;\n\n let builderProps = {};\n\n if (meta) {\n builderProps = {\n query,\n validatedQuery,\n isQueryPresent,\n chartType,\n measures,\n dimensions,\n segments,\n timeDimensions,\n filters,\n availableSegments,\n availableTimeDimensions,\n availableDimensions,\n availableMeasures,\n updateChartType: this.updateChart,\n limit,\n offset,\n setLimit,\n removeLimit,\n setOffset,\n removeOffset,\n renewQuery,\n order,\n orderMembers,\n setOrder: this.setOrder,\n pivotConfig: this.pivotConfig,\n updateOrder: {\n set: (memberId, newOrder) => {\n this.order = reduceOrderMembers(\n orderMembers.map((orderMember) => ({\n ...orderMember,\n order: orderMember.id === memberId ? newOrder : orderMember.order,\n }))\n );\n },\n update: (newOrder) => {\n this.order = newOrder;\n },\n reorder: (sourceIndex, destinationIndex) => {\n this.order = reduceOrderMembers(\n moveItemInArray(orderMembers, sourceIndex, destinationIndex)\n );\n },\n },\n updatePivotConfig: {\n moveItem: ({ sourceIndex, destinationIndex, sourceAxis, destinationAxis }) => {\n this.pivotConfig = movePivotItem(\n this.pivotConfig,\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n );\n },\n update: (pivotConfig) => {\n this.pivotConfig = {\n x: pivotConfig.x || this.pivotConfig.x,\n y: pivotConfig.y || this.pivotConfig.y,\n };\n },\n },\n };\n\n QUERY_ELEMENTS.forEach((elementName) => {\n const name = elementName.charAt(0).toUpperCase() + elementName.slice(1);\n\n builderProps[`add${name}`] = (member) => {\n this.addMember(elementName, member);\n };\n\n builderProps[`update${name}`] = (member, updateWith) => {\n this.updateMember(elementName, member, updateWith);\n };\n\n builderProps[`remove${name}`] = (member) => {\n this.removeMember(elementName, member);\n };\n\n builderProps[`set${name}`] = (members) => {\n this.setMembers(elementName, members);\n };\n });\n }\n\n return h(\n QueryRenderer,\n {\n query: this.validatedQuery,\n cubeApi,\n builderProps,\n slots: this.$slots,\n on: {\n queryStatus: (event) => {\n this.$emit('queryStatus', event);\n },\n },\n },\n this.$slots\n );\n },\n computed: {\n isQueryPresent() {\n const { validatedQuery } = this;\n\n return isQueryPresent(validatedQuery);\n },\n orderMembers() {\n return getOrderMembersFromOrder(\n [\n ...this.measures,\n ...this.dimensions,\n ...this.timeDimensions.reduce((acc, { dimension, granularity }) => {\n if (granularity !== undefined) {\n acc.push(toOrderMember(dimension));\n }\n return acc;\n }, []),\n ]\n .map((member, index) => {\n const id = member.name || member.id;\n\n if (!id) {\n return false;\n }\n\n return {\n index,\n id,\n title: member.title,\n };\n })\n .filter(Boolean),\n this.order\n );\n },\n vizState() {\n return {\n query: this.validatedQuery,\n chartType: this.chartType,\n pivotConfig: this.pivotConfig,\n };\n },\n validatedQuery() {\n let validatedQuery = {};\n let toQuery = (member) => member.name;\n // TODO: implement timezone\n\n let hasElements = false;\n QUERY_ELEMENTS.forEach((element) => {\n if (element === 'timeDimensions') {\n toQuery = (member) => ({\n dimension: member.dimension.name,\n granularity: member.granularity,\n dateRange: member.dateRange,\n });\n } else if (element === 'filters') {\n toQuery = (member) => ({\n member: member.member && member.member.name,\n operator: member.operator,\n values: member.values,\n and: member.and && member.and.map(toQuery),\n or: member.or && member.or.map(toQuery),\n });\n }\n\n if (this[element].length > 0) {\n validatedQuery[element] = this[element].map((x) => toQuery(x));\n\n hasElements = true;\n }\n });\n\n if (validatedQuery.filters) {\n validatedQuery.filters = validateFilters(validatedQuery.filters)\n }\n\n // only set limit and offset if there are elements otherwise an invalid request with just limit/offset\n // gets sent when the component is first mounted, but before the actual query is constructed.\n if (hasElements) {\n if (this.limit) {\n validatedQuery.limit = this.limit;\n }\n\n if (this.offset) {\n validatedQuery.offset = this.offset;\n }\n\n if (this.order) {\n validatedQuery.order = this.order;\n }\n\n if (this.renewQuery) {\n validatedQuery.renewQuery = this.renewQuery;\n }\n }\n\n if (\n !this.skipHeuristics &&\n !this.disableHeuristics &&\n isQueryPresent(validatedQuery) &&\n this.meta\n ) {\n const heuristicsFn = this.stateChangeHeuristics || defaultHeuristics;\n const { query, chartType, shouldApplyHeuristicOrder, pivotConfig } = heuristicsFn(\n {\n query: validatedQuery,\n chartType: this.chartType,\n },\n this.prevValidatedQuery,\n {\n meta: this.meta,\n sessionGranularity: validatedQuery?.timeDimensions?.[0]?.granularity,\n }\n );\n\n validatedQuery = {\n ...validatedQuery,\n ...query,\n ...(shouldApplyHeuristicOrder ? { order: defaultOrder(query) } : null),\n };\n\n this.chartType = chartType || this.chartType;\n let pivot = ResultSet.getNormalizedPivotConfig(\n validatedQuery,\n pivotConfig !== undefined ? pivotConfig : this.pivotConfig\n );\n if (!equals(pivot, this.pivotConfig)) {\n this.pivotConfig = pivot;\n }\n\n if (!areQueriesEqual(this.prevValidatedQuery, validatedQuery)) {\n this.copyQueryFromProps(validatedQuery);\n }\n }\n\n // query heuristics should only apply on query change (not applied to the initial query)\n if (this.prevValidatedQuery !== null && isQueryPresent(validatedQuery)) {\n this.skipHeuristics = false;\n }\n\n if (!areQueriesEqual(this.prevValidatedQuery, validatedQuery)) {\n this.prevValidatedQuery = validatedQuery;\n }\n return validatedQuery;\n },\n },\n\n async mounted() {\n this.meta = await this.cubeApi.meta();\n\n this.copyQueryFromProps();\n\n if (isQueryPresent(this.initialQuery)) {\n const dryRunResponse = await this.cubeApi.dryRun(this.initialQuery);\n this.pivotConfig = ResultSet.getNormalizedPivotConfig(\n dryRunResponse?.pivotQuery || {},\n this.pivotConfig\n );\n }\n },\n\n methods: {\n copyQueryFromProps(query) {\n const {\n measures = [],\n dimensions = [],\n segments = [],\n timeDimensions = [],\n filters = [],\n limit,\n offset,\n renewQuery,\n order,\n } = query || this.initialQuery;\n\n this.measures = measures.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'measures'),\n }));\n this.dimensions = dimensions.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'dimensions'),\n }));\n this.segments = segments.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'segments'),\n }));\n this.timeDimensions = timeDimensions.map((m, index) => ({\n ...m,\n dimension: {\n ...this.meta.resolveMember(m.dimension, 'dimensions'),\n granularities: this.granularities,\n },\n index,\n }));\n\n const memberTypes = ['dimensions', 'measures'];\n this.filters = filters.map((m, index) => {\n const memberName = m.member || m.dimension;\n return {\n ...m,\n member: memberName && this.meta.resolveMember(memberName, memberTypes),\n operators: memberName && this.meta.filterOperatorsForMember(memberName, memberTypes),\n and: resolveMembers(this.meta, m.and),\n or: resolveMembers(this.meta, m.or),\n index,\n };\n });\n\n this.availableMeasures = this.meta.membersForQuery({}, 'measures') || [];\n this.availableDimensions = this.meta.membersForQuery({}, 'dimensions') || [];\n this.availableTimeDimensions = (this.meta.membersForQuery({}, 'dimensions') || []).filter(\n (m) => m.type === 'time'\n );\n this.availableSegments = this.meta.membersForQuery({}, 'segments') || [];\n this.limit = limit || 10000;\n this.offset = offset || null;\n this.renewQuery = renewQuery || false;\n this.order = order || null;\n },\n addMember(element, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((m) => m.name === member.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n granularity: member.granularity,\n dateRange: member.dateRange,\n dimension,\n index: this[element].length,\n };\n }\n } else if (element === 'filters') {\n mem = {\n ...member,\n and: resolveMembers(this.meta, member.and),\n or: resolveMembers(this.meta, member.or),\n member: getDimensionOrMeasure(this.meta, member),\n }\n } else {\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n this[element].push(mem);\n }\n },\n removeMember(element, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((x) => x.name === member);\n } else if (element === 'filters') {\n mem = member;\n } else {\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n const index = this[element].findIndex((x) => x.name === mem);\n this[element].splice(index, 1);\n }\n },\n updateMember(element, old, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n let index;\n\n if (element === 'timeDimensions') {\n index = this[element].findIndex((x) => x.dimension.name === old.dimension);\n mem = this[`available${name}`].find((m) => m.name === member.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n dimension,\n granularity: member.granularity,\n dateRange: member.dateRange,\n index,\n };\n }\n } else if (element === 'filters') {\n index = this[element].findIndex((x) => x.dimension === old);\n mem = {\n ...member,\n and: resolveMembers(this.meta, member.and),\n or: resolveMembers(this.meta, member.or),\n member: getDimensionOrMeasure(this.meta, member),\n };\n } else {\n index = this[element].findIndex((x) => x.name === old);\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n this[element].splice(index, 1, mem);\n }\n },\n setMembers(element, members) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n const elements = [];\n\n members.filter(Boolean).forEach((m) => {\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((x) => x.name === m.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n granularity: m.granularity,\n dateRange: m.dateRange,\n dimension,\n index: this[element].length,\n };\n }\n } else if (element === 'filters') {\n mem = {\n ...m,\n and: resolveMembers(this.meta, m.and),\n or: resolveMembers(this.meta, m.or),\n member: getDimensionOrMeasure(this.meta, m),\n };\n } else {\n mem = this[`available${name}`].find((x) => x.name === m);\n }\n\n if (mem) {\n elements.push(mem);\n }\n });\n\n this[element] = elements;\n },\n setLimit(limit) {\n this.limit = limit;\n },\n removeLimit() {\n this.limit = null;\n },\n setOffset(offset) {\n this.offset = offset;\n },\n removeOffset() {\n this.offset = null;\n },\n updateChart(chartType) {\n this.chartType = chartType;\n },\n setOrder(order = {}) {\n this.order = order;\n },\n emitVizStateChange(partialVizState) {\n this.$emit(\n 'vizStateChange',\n clone({\n ...this.vizState,\n ...partialVizState,\n })\n );\n },\n },\n\n watch: {\n validatedQuery: {\n deep: true,\n handler(query, prevQuery) {\n const hasQueryChanged = !areQueriesEqual(query, prevQuery);\n\n if (hasQueryChanged) {\n this.emitVizStateChange({\n query,\n });\n }\n\n if (isQueryPresent(query) && hasQueryChanged) {\n this.cubeApi\n .dryRun(query, {\n mutexObj: this.mutex,\n })\n .then((result) => {\n const pivotConfig = ResultSet.getNormalizedPivotConfig(result?.pivotQuery, this.pivotConfig);\n\n if (!equals(pivotConfig, this.pivotConfig)) {\n this.pivotConfig = pivotConfig;\n }\n })\n .catch((error) => console.error(error));\n }\n },\n },\n query: {\n deep: true,\n handler(query) {\n if (!this.meta) {\n // this is ok as if meta has not been loaded by the time query prop has changed,\n // then the promise for loading meta (found in mounted()) will call\n // copyQueryFromProps and will therefore update anyway.\n return;\n }\n this.copyQueryFromProps(query);\n },\n },\n pivotConfig: {\n deep: true,\n handler(pivotConfig, prevPivotConfig) {\n if (!equals(pivotConfig, prevPivotConfig)) {\n this.emitVizStateChange({\n pivotConfig,\n });\n }\n },\n },\n chartType(value) {\n this.emitVizStateChange({\n chartType: value,\n });\n },\n },\n};\n","import { GRANULARITIES } from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer';\nimport QueryBuilder from './QueryBuilder';\n\nexport { QueryRenderer, QueryBuilder, GRANULARITIES };\n\nexport default {};\n"],"names":["props","query","type","Object","Array","default","queries","loadSql","required","cubeApi","builderProps","chartType","String","data","mutexObj","error","undefined","resultSet","loading","sqlQuery","mounted","isQueryPresent","load","loadQueries","render","$slots","empty","createElement","slot","controls","onlyDefault","builder","measures","slotProps","refetch","methods","sql","mutexKey","resultPromises","Promise","all","toPairs","map","name","then","r","fromPairs","watch","$emit","isLoading","deep","handler","prevQuery","areQueriesEqual","val","QUERY_ELEMENTS","toOrderMember","member","id","title","reduceOrderMembers","array","reduce","acc","order","operators","validateFilters","filters","raw","operator","validBooleanFilter","booleanFilters","length","some","getDimensionOrMeasure","meta","m","memberName","dimension","resolveMember","resolveMembers","arr","e","index","and","or","components","QueryRenderer","initialChartType","disableHeuristics","Boolean","stateChangeHeuristics","Function","initialVizState","pivotConfig","initialQuery","skipHeuristics","mutex","dimensions","segments","timeDimensions","availableMeasures","availableDimensions","availableTimeDimensions","availableSegments","limit","offset","renewQuery","prevValidatedQuery","granularities","GRANULARITIES","ResultSet","getNormalizedPivotConfig","validatedQuery","setLimit","removeLimit","setOffset","removeOffset","orderMembers","updateChartType","updateChart","setOrder","updateOrder","set","memberId","newOrder","orderMember","update","reorder","sourceIndex","destinationIndex","moveItemInArray","updatePivotConfig","moveItem","sourceAxis","destinationAxis","movePivotItem","x","y","forEach","elementName","charAt","toUpperCase","slice","addMember","updateWith","updateMember","removeMember","members","setMembers","h","slots","on","queryStatus","event","computed","getOrderMembersFromOrder","granularity","push","filter","vizState","toQuery","hasElements","element","dateRange","values","heuristicsFn","defaultHeuristics","shouldApplyHeuristicOrder","sessionGranularity","defaultOrder","pivot","equals","copyQueryFromProps","dryRunResponse","dryRun","pivotQuery","memberTypes","filterOperatorsForMember","membersForQuery","mem","find","findIndex","splice","old","elements","emitVizStateChange","partialVizState","clone","hasQueryChanged","result","catch","console","prevPivotConfig","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cubejs-client-vue3.esm.js","sources":["../src/QueryRenderer.js","../src/QueryBuilder.js","../src/index.js"],"sourcesContent":["import { toPairs, fromPairs } from 'ramda';\nimport { isQueryPresent, areQueriesEqual } from '@cubejs-client/core';\nimport { h as createElement } from 'vue';\n\nexport default {\n props: {\n query: {\n type: [Object, Array],\n default: () => ({}),\n },\n // TODO: validate with current react implementation\n queries: {\n type: Object,\n },\n loadSql: {\n required: false,\n },\n cubeApi: {\n type: Object,\n required: true,\n },\n builderProps: {\n type: Object,\n required: false,\n default: () => ({}),\n },\n chartType: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n mutexObj: {},\n error: undefined,\n resultSet: undefined,\n loading: false,\n sqlQuery: undefined,\n };\n },\n async mounted() {\n const { query, queries } = this;\n\n if (isQueryPresent(query)) {\n await this.load();\n } else if (isQueryPresent(queries)) {\n await this.loadQueries(queries);\n }\n },\n render() {\n const { $slots, resultSet, error, loading, sqlQuery } = this;\n const empty = createElement('div', {});\n let slot = this.$slots.empty ? this.$slots.empty() : empty;\n let controls = createElement('div', {});\n const onlyDefault = !('empty' in this.$slots) && !('error' in this.$slots);\n\n if ($slots.builder && this.builderProps.measures) {\n controls = $slots.builder({ ...this.builderProps });\n }\n\n if ((!loading && resultSet && !error) || onlyDefault) {\n let slotProps = {\n resultSet,\n sqlQuery,\n query: this.builderProps.query || this.query,\n };\n\n if (onlyDefault) {\n slotProps = {\n loading,\n error,\n refetch: this.load,\n ...this.builderProps,\n ...slotProps,\n };\n }\n slot = $slots.default ? $slots.default(slotProps) : slot;\n } else if (error) {\n slot = $slots.error ? $slots.error({ error, sqlQuery }) : slot;\n }\n\n return createElement('div', {}, [controls, slot]);\n },\n methods: {\n async load() {\n const { query } = this;\n\n if (!isQueryPresent(query)) {\n return;\n }\n\n try {\n this.loading = true;\n this.error = null;\n this.resultSet = null;\n\n if (this.loadSql === 'only') {\n this.sqlQuery = await this.cubeApi.sql(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'sql',\n });\n } else if (this.loadSql) {\n this.sqlQuery = await this.cubeApi.sql(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'sql',\n });\n this.resultSet = await this.cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n });\n } else {\n this.resultSet = await this.cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n });\n }\n\n this.loading = false;\n } catch (error) {\n this.error = error;\n this.resultSet = undefined;\n this.loading = false;\n }\n },\n async loadQueries() {\n const { queries } = this;\n try {\n this.error = undefined;\n this.loading = true;\n\n const resultPromises = Promise.all(\n toPairs(queries).map(([name, query]) =>\n this.cubeApi\n .load(query, {\n mutexObj: this.mutexObj,\n mutexKey: name,\n })\n .then((r) => [name, r])\n )\n );\n\n this.resultSet = fromPairs(await resultPromises);\n this.loading = false;\n } catch (error) {\n this.error = error;\n this.loading = false;\n }\n },\n },\n watch: {\n loading(loading) {\n if (loading === false) {\n this.$emit('queryStatus', {\n isLoading: false,\n error: this.error,\n resultSet: this.resultSet,\n });\n } else {\n this.$emit('queryStatus', { isLoading: true });\n }\n },\n cubeApi() {\n this.load();\n },\n chartType() {\n this.load();\n },\n query: {\n deep: true,\n handler(query, prevQuery) {\n if (!areQueriesEqual(query, prevQuery)) {\n this.load();\n }\n },\n },\n queries: {\n handler(val) {\n if (val) {\n this.loadQueries();\n }\n },\n deep: true,\n },\n },\n};\n","import {\n isQueryPresent,\n defaultOrder,\n defaultHeuristics,\n GRANULARITIES,\n ResultSet,\n getOrderMembersFromOrder,\n moveItemInArray,\n movePivotItem,\n areQueriesEqual,\n} from '@cubejs-client/core';\nimport { h } from 'vue';\nimport { clone, equals } from 'ramda';\n\nimport QueryRenderer from './QueryRenderer';\n\nconst QUERY_ELEMENTS = ['measures', 'dimensions', 'segments', 'timeDimensions', 'filters'];\n\nconst toOrderMember = (member) => ({\n id: member.name,\n title: member.title,\n});\n\nconst reduceOrderMembers = (array) =>\n array.reduce((acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc), []);\n\nconst operators = [ 'and', 'or' ]\n\nconst validateFilters = (filters) =>\n filters.reduce((acc, raw) => {\n if (raw.operator) {\n return [...acc, raw];\n }\n\n const validBooleanFilter = operators.reduce((acc, operator) => {\n const filters = raw[operator];\n\n const booleanFilters = validateFilters(filters || []);\n\n if (booleanFilters.length) {\n return { ...acc, [operator]: booleanFilters };\n }\n\n return acc;\n }, {});\n\n if (operators.some((operator) => validBooleanFilter[operator])) {\n return [...acc, validBooleanFilter];\n }\n\n return acc;\n }, []);\n\nconst getDimensionOrMeasure = (meta, m) => {\n const memberName = m.member || m.dimension;\n return memberName && meta.resolveMember(memberName, ['dimensions', 'measures']);\n};\n\nconst resolveMembers = (meta, arr) =>\n arr &&\n arr.map((e, index) => {\n return {\n ...e,\n member: getDimensionOrMeasure(meta, e),\n index,\n and: resolveMembers(meta, e.and),\n or: resolveMembers(meta, e.or),\n };\n });\n\nexport default {\n components: {\n QueryRenderer,\n },\n props: {\n query: {\n type: Object,\n default: () => ({}),\n },\n cubeApi: {\n type: Object,\n required: true,\n },\n initialChartType: {\n type: String,\n default: () => 'line',\n },\n disableHeuristics: {\n type: Boolean,\n },\n stateChangeHeuristics: {\n type: Function,\n },\n initialVizState: {\n type: Object,\n default: () => ({}),\n },\n },\n data() {\n const {\n query = this.query,\n chartType = this.initialChartType,\n pivotConfig,\n } = this.initialVizState;\n\n return {\n initialQuery: query,\n skipHeuristics: true,\n meta: undefined,\n mutex: {},\n chartType,\n measures: [],\n dimensions: [],\n segments: [],\n timeDimensions: [],\n filters: [],\n availableMeasures: [],\n availableDimensions: [],\n availableTimeDimensions: [],\n availableSegments: [],\n limit: null,\n offset: null,\n order: null,\n prevValidatedQuery: null,\n granularities: GRANULARITIES,\n pivotConfig: ResultSet.getNormalizedPivotConfig(query || {}, pivotConfig),\n };\n },\n\n render() {\n const {\n chartType,\n cubeApi,\n dimensions,\n filters,\n measures,\n meta,\n query,\n segments,\n timeDimensions,\n validatedQuery,\n isQueryPresent,\n availableSegments,\n availableTimeDimensions,\n availableDimensions,\n availableMeasures,\n limit,\n offset,\n setLimit,\n removeLimit,\n setOffset,\n removeOffset,\n order,\n orderMembers,\n } = this;\n\n let builderProps = {};\n\n if (meta) {\n builderProps = {\n query,\n validatedQuery,\n isQueryPresent,\n chartType,\n measures,\n dimensions,\n segments,\n timeDimensions,\n filters,\n availableSegments,\n availableTimeDimensions,\n availableDimensions,\n availableMeasures,\n updateChartType: this.updateChart,\n limit,\n offset,\n setLimit,\n removeLimit,\n setOffset,\n removeOffset,\n order,\n orderMembers,\n setOrder: this.setOrder,\n pivotConfig: this.pivotConfig,\n updateOrder: {\n set: (memberId, newOrder) => {\n this.order = reduceOrderMembers(\n orderMembers.map((orderMember) => ({\n ...orderMember,\n order: orderMember.id === memberId ? newOrder : orderMember.order,\n }))\n );\n },\n update: (newOrder) => {\n this.order = newOrder;\n },\n reorder: (sourceIndex, destinationIndex) => {\n this.order = reduceOrderMembers(\n moveItemInArray(orderMembers, sourceIndex, destinationIndex)\n );\n },\n },\n updatePivotConfig: {\n moveItem: ({ sourceIndex, destinationIndex, sourceAxis, destinationAxis }) => {\n this.pivotConfig = movePivotItem(\n this.pivotConfig,\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n );\n },\n update: (pivotConfig) => {\n this.pivotConfig = {\n x: pivotConfig.x || this.pivotConfig.x,\n y: pivotConfig.y || this.pivotConfig.y,\n };\n },\n },\n };\n\n QUERY_ELEMENTS.forEach((elementName) => {\n const name = elementName.charAt(0).toUpperCase() + elementName.slice(1);\n\n builderProps[`add${name}`] = (member) => {\n this.addMember(elementName, member);\n };\n\n builderProps[`update${name}`] = (member, updateWith) => {\n this.updateMember(elementName, member, updateWith);\n };\n\n builderProps[`remove${name}`] = (member) => {\n this.removeMember(elementName, member);\n };\n\n builderProps[`set${name}`] = (members) => {\n this.setMembers(elementName, members);\n };\n });\n }\n\n return h(\n QueryRenderer,\n {\n query: this.validatedQuery,\n cubeApi,\n builderProps,\n slots: this.$slots,\n on: {\n queryStatus: (event) => {\n this.$emit('queryStatus', event);\n },\n },\n },\n this.$slots\n );\n },\n computed: {\n isQueryPresent() {\n const { validatedQuery } = this;\n\n return isQueryPresent(validatedQuery);\n },\n orderMembers() {\n return getOrderMembersFromOrder(\n [\n ...this.measures,\n ...this.dimensions,\n ...this.timeDimensions.reduce((acc, { dimension, granularity }) => {\n if (granularity !== undefined) {\n acc.push(toOrderMember(dimension));\n }\n return acc;\n }, []),\n ]\n .map((member, index) => {\n const id = member.name || member.id;\n\n if (!id) {\n return false;\n }\n\n return {\n index,\n id,\n title: member.title,\n };\n })\n .filter(Boolean),\n this.order\n );\n },\n vizState() {\n return {\n query: this.validatedQuery,\n chartType: this.chartType,\n pivotConfig: this.pivotConfig,\n };\n },\n validatedQuery() {\n let validatedQuery = {};\n let toQuery = (member) => member.name;\n // TODO: implement timezone\n\n let hasElements = false;\n QUERY_ELEMENTS.forEach((element) => {\n if (element === 'timeDimensions') {\n toQuery = (member) => ({\n dimension: member.dimension.name,\n granularity: member.granularity,\n dateRange: member.dateRange,\n });\n } else if (element === 'filters') {\n toQuery = (member) => ({\n member: member.member && member.member.name,\n operator: member.operator,\n values: member.values,\n and: member.and && member.and.map(toQuery),\n or: member.or && member.or.map(toQuery),\n });\n }\n\n if (this[element].length > 0) {\n validatedQuery[element] = this[element].map((x) => toQuery(x));\n\n hasElements = true;\n }\n });\n\n if (validatedQuery.filters) {\n validatedQuery.filters = validateFilters(validatedQuery.filters)\n }\n\n // only set limit and offset if there are elements otherwise an invalid request with just limit/offset\n // gets sent when the component is first mounted, but before the actual query is constructed.\n if (hasElements) {\n if (this.limit) {\n validatedQuery.limit = this.limit;\n }\n\n if (this.offset) {\n validatedQuery.offset = this.offset;\n }\n\n if (this.order) {\n validatedQuery.order = this.order;\n }\n }\n\n if (\n !this.skipHeuristics &&\n !this.disableHeuristics &&\n isQueryPresent(validatedQuery) &&\n this.meta\n ) {\n const heuristicsFn = this.stateChangeHeuristics || defaultHeuristics;\n const { query, chartType, shouldApplyHeuristicOrder, pivotConfig } = heuristicsFn(\n {\n query: validatedQuery,\n chartType: this.chartType,\n },\n this.prevValidatedQuery,\n {\n meta: this.meta,\n sessionGranularity: validatedQuery?.timeDimensions?.[0]?.granularity,\n }\n );\n\n validatedQuery = {\n ...validatedQuery,\n ...query,\n ...(shouldApplyHeuristicOrder ? { order: defaultOrder(query) } : null),\n };\n\n this.chartType = chartType || this.chartType;\n let pivot = ResultSet.getNormalizedPivotConfig(\n validatedQuery,\n pivotConfig !== undefined ? pivotConfig : this.pivotConfig\n );\n if (!equals(pivot, this.pivotConfig)) {\n this.pivotConfig = pivot;\n }\n\n if (!areQueriesEqual(this.prevValidatedQuery, validatedQuery)) {\n this.copyQueryFromProps(validatedQuery);\n }\n }\n\n // query heuristics should only apply on query change (not applied to the initial query)\n if (this.prevValidatedQuery !== null && isQueryPresent(validatedQuery)) {\n this.skipHeuristics = false;\n }\n\n if (!areQueriesEqual(this.prevValidatedQuery, validatedQuery)) {\n this.prevValidatedQuery = validatedQuery;\n }\n return validatedQuery;\n },\n },\n\n async mounted() {\n this.meta = await this.cubeApi.meta();\n\n this.copyQueryFromProps();\n\n if (isQueryPresent(this.initialQuery)) {\n const dryRunResponse = await this.cubeApi.dryRun(this.initialQuery);\n this.pivotConfig = ResultSet.getNormalizedPivotConfig(\n dryRunResponse?.pivotQuery || {},\n this.pivotConfig\n );\n }\n },\n\n methods: {\n copyQueryFromProps(query) {\n const {\n measures = [],\n dimensions = [],\n segments = [],\n timeDimensions = [],\n filters = [],\n limit,\n offset,\n order,\n } = query || this.initialQuery;\n\n this.measures = measures.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'measures'),\n }));\n this.dimensions = dimensions.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'dimensions'),\n }));\n this.segments = segments.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'segments'),\n }));\n this.timeDimensions = timeDimensions.map((m, index) => ({\n ...m,\n dimension: {\n ...this.meta.resolveMember(m.dimension, 'dimensions'),\n granularities: this.granularities,\n },\n index,\n }));\n\n const memberTypes = ['dimensions', 'measures'];\n this.filters = filters.map((m, index) => {\n const memberName = m.member || m.dimension;\n return {\n ...m,\n member: memberName && this.meta.resolveMember(memberName, memberTypes),\n operators: memberName && this.meta.filterOperatorsForMember(memberName, memberTypes),\n and: resolveMembers(this.meta, m.and),\n or: resolveMembers(this.meta, m.or),\n index,\n };\n });\n\n this.availableMeasures = this.meta.membersForQuery({}, 'measures') || [];\n this.availableDimensions = this.meta.membersForQuery({}, 'dimensions') || [];\n this.availableTimeDimensions = (this.meta.membersForQuery({}, 'dimensions') || []).filter(\n (m) => m.type === 'time'\n );\n this.availableSegments = this.meta.membersForQuery({}, 'segments') || [];\n this.limit = limit || 10000;\n this.offset = offset || null;\n this.order = order || null;\n },\n addMember(element, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((m) => m.name === member.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n granularity: member.granularity,\n dateRange: member.dateRange,\n dimension,\n index: this[element].length,\n };\n }\n } else if (element === 'filters') {\n mem = {\n ...member,\n and: resolveMembers(this.meta, member.and),\n or: resolveMembers(this.meta, member.or),\n member: getDimensionOrMeasure(this.meta, member),\n }\n } else {\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n this[element].push(mem);\n }\n },\n removeMember(element, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((x) => x.name === member);\n } else if (element === 'filters') {\n mem = member;\n } else {\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n const index = this[element].findIndex((x) => x.name === mem);\n this[element].splice(index, 1);\n }\n },\n updateMember(element, old, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n let index;\n\n if (element === 'timeDimensions') {\n index = this[element].findIndex((x) => x.dimension.name === old.dimension);\n mem = this[`available${name}`].find((m) => m.name === member.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n dimension,\n granularity: member.granularity,\n dateRange: member.dateRange,\n index,\n };\n }\n } else if (element === 'filters') {\n index = this[element].findIndex((x) => x.dimension === old);\n mem = {\n ...member,\n and: resolveMembers(this.meta, member.and),\n or: resolveMembers(this.meta, member.or),\n member: getDimensionOrMeasure(this.meta, member),\n };\n } else {\n index = this[element].findIndex((x) => x.name === old);\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n this[element].splice(index, 1, mem);\n }\n },\n setMembers(element, members) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n const elements = [];\n\n members.filter(Boolean).forEach((m) => {\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((x) => x.name === m.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n granularity: m.granularity,\n dateRange: m.dateRange,\n dimension,\n index: this[element].length,\n };\n }\n } else if (element === 'filters') {\n mem = {\n ...m,\n and: resolveMembers(this.meta, m.and),\n or: resolveMembers(this.meta, m.or),\n member: getDimensionOrMeasure(this.meta, m),\n };\n } else {\n mem = this[`available${name}`].find((x) => x.name === m);\n }\n\n if (mem) {\n elements.push(mem);\n }\n });\n\n this[element] = elements;\n },\n setLimit(limit) {\n this.limit = limit;\n },\n removeLimit() {\n this.limit = null;\n },\n setOffset(offset) {\n this.offset = offset;\n },\n removeOffset() {\n this.offset = null;\n },\n updateChart(chartType) {\n this.chartType = chartType;\n },\n setOrder(order = {}) {\n this.order = order;\n },\n emitVizStateChange(partialVizState) {\n this.$emit(\n 'vizStateChange',\n clone({\n ...this.vizState,\n ...partialVizState,\n })\n );\n },\n },\n\n watch: {\n validatedQuery: {\n deep: true,\n handler(query, prevQuery) {\n const hasQueryChanged = !areQueriesEqual(query, prevQuery);\n\n if (hasQueryChanged) {\n this.emitVizStateChange({\n query,\n });\n }\n\n if (isQueryPresent(query) && hasQueryChanged) {\n this.cubeApi\n .dryRun(query, {\n mutexObj: this.mutex,\n })\n .then((result) => {\n const pivotConfig = ResultSet.getNormalizedPivotConfig(result?.pivotQuery, this.pivotConfig);\n\n if (!equals(pivotConfig, this.pivotConfig)) {\n this.pivotConfig = pivotConfig;\n }\n })\n .catch((error) => console.error(error));\n }\n },\n },\n query: {\n deep: true,\n handler(query) {\n if (!this.meta) {\n // this is ok as if meta has not been loaded by the time query prop has changed,\n // then the promise for loading meta (found in mounted()) will call\n // copyQueryFromProps and will therefore update anyway.\n return;\n }\n this.copyQueryFromProps(query);\n },\n },\n pivotConfig: {\n deep: true,\n handler(pivotConfig, prevPivotConfig) {\n if (!equals(pivotConfig, prevPivotConfig)) {\n this.emitVizStateChange({\n pivotConfig,\n });\n }\n },\n },\n chartType(value) {\n this.emitVizStateChange({\n chartType: value,\n });\n },\n },\n};\n","import { GRANULARITIES } from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer';\nimport QueryBuilder from './QueryBuilder';\n\nexport { QueryRenderer, QueryBuilder, GRANULARITIES };\n\nexport default {};\n"],"names":["props","query","type","Object","Array","default","queries","loadSql","required","cubeApi","builderProps","chartType","String","data","mutexObj","error","undefined","resultSet","loading","sqlQuery","mounted","isQueryPresent","load","loadQueries","render","$slots","empty","createElement","slot","controls","onlyDefault","builder","measures","slotProps","refetch","methods","sql","mutexKey","resultPromises","Promise","all","toPairs","map","name","then","r","fromPairs","watch","$emit","isLoading","deep","handler","prevQuery","areQueriesEqual","val","QUERY_ELEMENTS","toOrderMember","member","id","title","reduceOrderMembers","array","reduce","acc","order","operators","validateFilters","filters","raw","operator","validBooleanFilter","booleanFilters","length","some","getDimensionOrMeasure","meta","m","memberName","dimension","resolveMember","resolveMembers","arr","e","index","and","or","components","QueryRenderer","initialChartType","disableHeuristics","Boolean","stateChangeHeuristics","Function","initialVizState","pivotConfig","initialQuery","skipHeuristics","mutex","dimensions","segments","timeDimensions","availableMeasures","availableDimensions","availableTimeDimensions","availableSegments","limit","offset","prevValidatedQuery","granularities","GRANULARITIES","ResultSet","getNormalizedPivotConfig","validatedQuery","setLimit","removeLimit","setOffset","removeOffset","orderMembers","updateChartType","updateChart","setOrder","updateOrder","set","memberId","newOrder","orderMember","update","reorder","sourceIndex","destinationIndex","moveItemInArray","updatePivotConfig","moveItem","sourceAxis","destinationAxis","movePivotItem","x","y","forEach","elementName","charAt","toUpperCase","slice","addMember","updateWith","updateMember","removeMember","members","setMembers","h","slots","on","queryStatus","event","computed","getOrderMembersFromOrder","granularity","push","filter","vizState","toQuery","hasElements","element","dateRange","values","heuristicsFn","defaultHeuristics","shouldApplyHeuristicOrder","sessionGranularity","defaultOrder","pivot","equals","copyQueryFromProps","dryRunResponse","dryRun","pivotQuery","memberTypes","filterOperatorsForMember","membersForQuery","mem","find","findIndex","splice","old","elements","emitVizStateChange","partialVizState","clone","hasQueryChanged","result","catch","console","prevPivotConfig","value"],"mappings":"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"}
|
|
@@ -612,7 +612,6 @@
|
|
|
612
612
|
availableSegments: [],
|
|
613
613
|
limit: null,
|
|
614
614
|
offset: null,
|
|
615
|
-
renewQuery: false,
|
|
616
615
|
order: null,
|
|
617
616
|
prevValidatedQuery: null,
|
|
618
617
|
granularities: core.GRANULARITIES,
|
|
@@ -642,7 +641,6 @@
|
|
|
642
641
|
removeLimit = this.removeLimit,
|
|
643
642
|
setOffset = this.setOffset,
|
|
644
643
|
removeOffset = this.removeOffset,
|
|
645
|
-
renewQuery = this.renewQuery,
|
|
646
644
|
order = this.order,
|
|
647
645
|
orderMembers = this.orderMembers;
|
|
648
646
|
var builderProps = {};
|
|
@@ -668,7 +666,6 @@
|
|
|
668
666
|
removeLimit: removeLimit,
|
|
669
667
|
setOffset: setOffset,
|
|
670
668
|
removeOffset: removeOffset,
|
|
671
|
-
renewQuery: renewQuery,
|
|
672
669
|
order: order,
|
|
673
670
|
orderMembers: orderMembers,
|
|
674
671
|
setOrder: this.setOrder,
|
|
@@ -816,9 +813,6 @@
|
|
|
816
813
|
if (this.order) {
|
|
817
814
|
validatedQuery.order = this.order;
|
|
818
815
|
}
|
|
819
|
-
if (this.renewQuery) {
|
|
820
|
-
validatedQuery.renewQuery = this.renewQuery;
|
|
821
|
-
}
|
|
822
816
|
}
|
|
823
817
|
if (!this.skipHeuristics && !this.disableHeuristics && core.isQueryPresent(validatedQuery) && this.meta) {
|
|
824
818
|
var _validatedQuery;
|
|
@@ -900,7 +894,6 @@
|
|
|
900
894
|
filters = _ref4$filters === void 0 ? [] : _ref4$filters,
|
|
901
895
|
limit = _ref4.limit,
|
|
902
896
|
offset = _ref4.offset,
|
|
903
|
-
renewQuery = _ref4.renewQuery,
|
|
904
897
|
order = _ref4.order;
|
|
905
898
|
this.measures = measures.map(function (m, index) {
|
|
906
899
|
return _objectSpread2({
|
|
@@ -944,7 +937,6 @@
|
|
|
944
937
|
this.availableSegments = this.meta.membersForQuery({}, 'segments') || [];
|
|
945
938
|
this.limit = limit || 10000;
|
|
946
939
|
this.offset = offset || null;
|
|
947
|
-
this.renewQuery = renewQuery || false;
|
|
948
940
|
this.order = order || null;
|
|
949
941
|
},
|
|
950
942
|
addMember: function addMember(element, member) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cubejs-client-vue3.umd.js","sources":["../src/QueryRenderer.js","../src/QueryBuilder.js","../src/index.js"],"sourcesContent":["import { toPairs, fromPairs } from 'ramda';\nimport { isQueryPresent, areQueriesEqual } from '@cubejs-client/core';\nimport { h as createElement } from 'vue';\n\nexport default {\n props: {\n query: {\n type: [Object, Array],\n default: () => ({}),\n },\n // TODO: validate with current react implementation\n queries: {\n type: Object,\n },\n loadSql: {\n required: false,\n },\n cubeApi: {\n type: Object,\n required: true,\n },\n builderProps: {\n type: Object,\n required: false,\n default: () => ({}),\n },\n chartType: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n mutexObj: {},\n error: undefined,\n resultSet: undefined,\n loading: false,\n sqlQuery: undefined,\n };\n },\n async mounted() {\n const { query, queries } = this;\n\n if (isQueryPresent(query)) {\n await this.load();\n } else if (isQueryPresent(queries)) {\n await this.loadQueries(queries);\n }\n },\n render() {\n const { $slots, resultSet, error, loading, sqlQuery } = this;\n const empty = createElement('div', {});\n let slot = this.$slots.empty ? this.$slots.empty() : empty;\n let controls = createElement('div', {});\n const onlyDefault = !('empty' in this.$slots) && !('error' in this.$slots);\n\n if ($slots.builder && this.builderProps.measures) {\n controls = $slots.builder({ ...this.builderProps });\n }\n\n if ((!loading && resultSet && !error) || onlyDefault) {\n let slotProps = {\n resultSet,\n sqlQuery,\n query: this.builderProps.query || this.query,\n };\n\n if (onlyDefault) {\n slotProps = {\n loading,\n error,\n refetch: this.load,\n ...this.builderProps,\n ...slotProps,\n };\n }\n slot = $slots.default ? $slots.default(slotProps) : slot;\n } else if (error) {\n slot = $slots.error ? $slots.error({ error, sqlQuery }) : slot;\n }\n\n return createElement('div', {}, [controls, slot]);\n },\n methods: {\n async load() {\n const { query } = this;\n\n if (!isQueryPresent(query)) {\n return;\n }\n\n try {\n this.loading = true;\n this.error = null;\n this.resultSet = null;\n\n if (this.loadSql === 'only') {\n this.sqlQuery = await this.cubeApi.sql(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'sql',\n });\n } else if (this.loadSql) {\n this.sqlQuery = await this.cubeApi.sql(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'sql',\n });\n this.resultSet = await this.cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n });\n } else {\n this.resultSet = await this.cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n });\n }\n\n this.loading = false;\n } catch (error) {\n this.error = error;\n this.resultSet = undefined;\n this.loading = false;\n }\n },\n async loadQueries() {\n const { queries } = this;\n try {\n this.error = undefined;\n this.loading = true;\n\n const resultPromises = Promise.all(\n toPairs(queries).map(([name, query]) =>\n this.cubeApi\n .load(query, {\n mutexObj: this.mutexObj,\n mutexKey: name,\n })\n .then((r) => [name, r])\n )\n );\n\n this.resultSet = fromPairs(await resultPromises);\n this.loading = false;\n } catch (error) {\n this.error = error;\n this.loading = false;\n }\n },\n },\n watch: {\n loading(loading) {\n if (loading === false) {\n this.$emit('queryStatus', {\n isLoading: false,\n error: this.error,\n resultSet: this.resultSet,\n });\n } else {\n this.$emit('queryStatus', { isLoading: true });\n }\n },\n cubeApi() {\n this.load();\n },\n chartType() {\n this.load();\n },\n query: {\n deep: true,\n handler(query, prevQuery) {\n if (!areQueriesEqual(query, prevQuery)) {\n this.load();\n }\n },\n },\n queries: {\n handler(val) {\n if (val) {\n this.loadQueries();\n }\n },\n deep: true,\n },\n },\n};\n","import {\n isQueryPresent,\n defaultOrder,\n defaultHeuristics,\n GRANULARITIES,\n ResultSet,\n getOrderMembersFromOrder,\n moveItemInArray,\n movePivotItem,\n areQueriesEqual,\n} from '@cubejs-client/core';\nimport { h } from 'vue';\nimport { clone, equals } from 'ramda';\n\nimport QueryRenderer from './QueryRenderer';\n\nconst QUERY_ELEMENTS = ['measures', 'dimensions', 'segments', 'timeDimensions', 'filters'];\n\nconst toOrderMember = (member) => ({\n id: member.name,\n title: member.title,\n});\n\nconst reduceOrderMembers = (array) =>\n array.reduce((acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc), []);\n\nconst operators = [ 'and', 'or' ]\n\nconst validateFilters = (filters) =>\n filters.reduce((acc, raw) => {\n if (raw.operator) {\n return [...acc, raw];\n }\n\n const validBooleanFilter = operators.reduce((acc, operator) => {\n const filters = raw[operator];\n\n const booleanFilters = validateFilters(filters || []);\n\n if (booleanFilters.length) {\n return { ...acc, [operator]: booleanFilters };\n }\n\n return acc;\n }, {});\n\n if (operators.some((operator) => validBooleanFilter[operator])) {\n return [...acc, validBooleanFilter];\n }\n\n return acc;\n }, []);\n\nconst getDimensionOrMeasure = (meta, m) => {\n const memberName = m.member || m.dimension;\n return memberName && meta.resolveMember(memberName, ['dimensions', 'measures']);\n};\n\nconst resolveMembers = (meta, arr) =>\n arr &&\n arr.map((e, index) => {\n return {\n ...e,\n member: getDimensionOrMeasure(meta, e),\n index,\n and: resolveMembers(meta, e.and),\n or: resolveMembers(meta, e.or),\n };\n });\n\nexport default {\n components: {\n QueryRenderer,\n },\n props: {\n query: {\n type: Object,\n default: () => ({}),\n },\n cubeApi: {\n type: Object,\n required: true,\n },\n initialChartType: {\n type: String,\n default: () => 'line',\n },\n disableHeuristics: {\n type: Boolean,\n },\n stateChangeHeuristics: {\n type: Function,\n },\n initialVizState: {\n type: Object,\n default: () => ({}),\n },\n },\n data() {\n const {\n query = this.query,\n chartType = this.initialChartType,\n pivotConfig,\n } = this.initialVizState;\n\n return {\n initialQuery: query,\n skipHeuristics: true,\n meta: undefined,\n mutex: {},\n chartType,\n measures: [],\n dimensions: [],\n segments: [],\n timeDimensions: [],\n filters: [],\n availableMeasures: [],\n availableDimensions: [],\n availableTimeDimensions: [],\n availableSegments: [],\n limit: null,\n offset: null,\n renewQuery: false,\n order: null,\n prevValidatedQuery: null,\n granularities: GRANULARITIES,\n pivotConfig: ResultSet.getNormalizedPivotConfig(query || {}, pivotConfig),\n };\n },\n\n render() {\n const {\n chartType,\n cubeApi,\n dimensions,\n filters,\n measures,\n meta,\n query,\n segments,\n timeDimensions,\n validatedQuery,\n isQueryPresent,\n availableSegments,\n availableTimeDimensions,\n availableDimensions,\n availableMeasures,\n limit,\n offset,\n setLimit,\n removeLimit,\n setOffset,\n removeOffset,\n renewQuery,\n order,\n orderMembers,\n } = this;\n\n let builderProps = {};\n\n if (meta) {\n builderProps = {\n query,\n validatedQuery,\n isQueryPresent,\n chartType,\n measures,\n dimensions,\n segments,\n timeDimensions,\n filters,\n availableSegments,\n availableTimeDimensions,\n availableDimensions,\n availableMeasures,\n updateChartType: this.updateChart,\n limit,\n offset,\n setLimit,\n removeLimit,\n setOffset,\n removeOffset,\n renewQuery,\n order,\n orderMembers,\n setOrder: this.setOrder,\n pivotConfig: this.pivotConfig,\n updateOrder: {\n set: (memberId, newOrder) => {\n this.order = reduceOrderMembers(\n orderMembers.map((orderMember) => ({\n ...orderMember,\n order: orderMember.id === memberId ? newOrder : orderMember.order,\n }))\n );\n },\n update: (newOrder) => {\n this.order = newOrder;\n },\n reorder: (sourceIndex, destinationIndex) => {\n this.order = reduceOrderMembers(\n moveItemInArray(orderMembers, sourceIndex, destinationIndex)\n );\n },\n },\n updatePivotConfig: {\n moveItem: ({ sourceIndex, destinationIndex, sourceAxis, destinationAxis }) => {\n this.pivotConfig = movePivotItem(\n this.pivotConfig,\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n );\n },\n update: (pivotConfig) => {\n this.pivotConfig = {\n x: pivotConfig.x || this.pivotConfig.x,\n y: pivotConfig.y || this.pivotConfig.y,\n };\n },\n },\n };\n\n QUERY_ELEMENTS.forEach((elementName) => {\n const name = elementName.charAt(0).toUpperCase() + elementName.slice(1);\n\n builderProps[`add${name}`] = (member) => {\n this.addMember(elementName, member);\n };\n\n builderProps[`update${name}`] = (member, updateWith) => {\n this.updateMember(elementName, member, updateWith);\n };\n\n builderProps[`remove${name}`] = (member) => {\n this.removeMember(elementName, member);\n };\n\n builderProps[`set${name}`] = (members) => {\n this.setMembers(elementName, members);\n };\n });\n }\n\n return h(\n QueryRenderer,\n {\n query: this.validatedQuery,\n cubeApi,\n builderProps,\n slots: this.$slots,\n on: {\n queryStatus: (event) => {\n this.$emit('queryStatus', event);\n },\n },\n },\n this.$slots\n );\n },\n computed: {\n isQueryPresent() {\n const { validatedQuery } = this;\n\n return isQueryPresent(validatedQuery);\n },\n orderMembers() {\n return getOrderMembersFromOrder(\n [\n ...this.measures,\n ...this.dimensions,\n ...this.timeDimensions.reduce((acc, { dimension, granularity }) => {\n if (granularity !== undefined) {\n acc.push(toOrderMember(dimension));\n }\n return acc;\n }, []),\n ]\n .map((member, index) => {\n const id = member.name || member.id;\n\n if (!id) {\n return false;\n }\n\n return {\n index,\n id,\n title: member.title,\n };\n })\n .filter(Boolean),\n this.order\n );\n },\n vizState() {\n return {\n query: this.validatedQuery,\n chartType: this.chartType,\n pivotConfig: this.pivotConfig,\n };\n },\n validatedQuery() {\n let validatedQuery = {};\n let toQuery = (member) => member.name;\n // TODO: implement timezone\n\n let hasElements = false;\n QUERY_ELEMENTS.forEach((element) => {\n if (element === 'timeDimensions') {\n toQuery = (member) => ({\n dimension: member.dimension.name,\n granularity: member.granularity,\n dateRange: member.dateRange,\n });\n } else if (element === 'filters') {\n toQuery = (member) => ({\n member: member.member && member.member.name,\n operator: member.operator,\n values: member.values,\n and: member.and && member.and.map(toQuery),\n or: member.or && member.or.map(toQuery),\n });\n }\n\n if (this[element].length > 0) {\n validatedQuery[element] = this[element].map((x) => toQuery(x));\n\n hasElements = true;\n }\n });\n\n if (validatedQuery.filters) {\n validatedQuery.filters = validateFilters(validatedQuery.filters)\n }\n\n // only set limit and offset if there are elements otherwise an invalid request with just limit/offset\n // gets sent when the component is first mounted, but before the actual query is constructed.\n if (hasElements) {\n if (this.limit) {\n validatedQuery.limit = this.limit;\n }\n\n if (this.offset) {\n validatedQuery.offset = this.offset;\n }\n\n if (this.order) {\n validatedQuery.order = this.order;\n }\n\n if (this.renewQuery) {\n validatedQuery.renewQuery = this.renewQuery;\n }\n }\n\n if (\n !this.skipHeuristics &&\n !this.disableHeuristics &&\n isQueryPresent(validatedQuery) &&\n this.meta\n ) {\n const heuristicsFn = this.stateChangeHeuristics || defaultHeuristics;\n const { query, chartType, shouldApplyHeuristicOrder, pivotConfig } = heuristicsFn(\n {\n query: validatedQuery,\n chartType: this.chartType,\n },\n this.prevValidatedQuery,\n {\n meta: this.meta,\n sessionGranularity: validatedQuery?.timeDimensions?.[0]?.granularity,\n }\n );\n\n validatedQuery = {\n ...validatedQuery,\n ...query,\n ...(shouldApplyHeuristicOrder ? { order: defaultOrder(query) } : null),\n };\n\n this.chartType = chartType || this.chartType;\n let pivot = ResultSet.getNormalizedPivotConfig(\n validatedQuery,\n pivotConfig !== undefined ? pivotConfig : this.pivotConfig\n );\n if (!equals(pivot, this.pivotConfig)) {\n this.pivotConfig = pivot;\n }\n\n if (!areQueriesEqual(this.prevValidatedQuery, validatedQuery)) {\n this.copyQueryFromProps(validatedQuery);\n }\n }\n\n // query heuristics should only apply on query change (not applied to the initial query)\n if (this.prevValidatedQuery !== null && isQueryPresent(validatedQuery)) {\n this.skipHeuristics = false;\n }\n\n if (!areQueriesEqual(this.prevValidatedQuery, validatedQuery)) {\n this.prevValidatedQuery = validatedQuery;\n }\n return validatedQuery;\n },\n },\n\n async mounted() {\n this.meta = await this.cubeApi.meta();\n\n this.copyQueryFromProps();\n\n if (isQueryPresent(this.initialQuery)) {\n const dryRunResponse = await this.cubeApi.dryRun(this.initialQuery);\n this.pivotConfig = ResultSet.getNormalizedPivotConfig(\n dryRunResponse?.pivotQuery || {},\n this.pivotConfig\n );\n }\n },\n\n methods: {\n copyQueryFromProps(query) {\n const {\n measures = [],\n dimensions = [],\n segments = [],\n timeDimensions = [],\n filters = [],\n limit,\n offset,\n renewQuery,\n order,\n } = query || this.initialQuery;\n\n this.measures = measures.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'measures'),\n }));\n this.dimensions = dimensions.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'dimensions'),\n }));\n this.segments = segments.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'segments'),\n }));\n this.timeDimensions = timeDimensions.map((m, index) => ({\n ...m,\n dimension: {\n ...this.meta.resolveMember(m.dimension, 'dimensions'),\n granularities: this.granularities,\n },\n index,\n }));\n\n const memberTypes = ['dimensions', 'measures'];\n this.filters = filters.map((m, index) => {\n const memberName = m.member || m.dimension;\n return {\n ...m,\n member: memberName && this.meta.resolveMember(memberName, memberTypes),\n operators: memberName && this.meta.filterOperatorsForMember(memberName, memberTypes),\n and: resolveMembers(this.meta, m.and),\n or: resolveMembers(this.meta, m.or),\n index,\n };\n });\n\n this.availableMeasures = this.meta.membersForQuery({}, 'measures') || [];\n this.availableDimensions = this.meta.membersForQuery({}, 'dimensions') || [];\n this.availableTimeDimensions = (this.meta.membersForQuery({}, 'dimensions') || []).filter(\n (m) => m.type === 'time'\n );\n this.availableSegments = this.meta.membersForQuery({}, 'segments') || [];\n this.limit = limit || 10000;\n this.offset = offset || null;\n this.renewQuery = renewQuery || false;\n this.order = order || null;\n },\n addMember(element, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((m) => m.name === member.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n granularity: member.granularity,\n dateRange: member.dateRange,\n dimension,\n index: this[element].length,\n };\n }\n } else if (element === 'filters') {\n mem = {\n ...member,\n and: resolveMembers(this.meta, member.and),\n or: resolveMembers(this.meta, member.or),\n member: getDimensionOrMeasure(this.meta, member),\n }\n } else {\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n this[element].push(mem);\n }\n },\n removeMember(element, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((x) => x.name === member);\n } else if (element === 'filters') {\n mem = member;\n } else {\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n const index = this[element].findIndex((x) => x.name === mem);\n this[element].splice(index, 1);\n }\n },\n updateMember(element, old, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n let index;\n\n if (element === 'timeDimensions') {\n index = this[element].findIndex((x) => x.dimension.name === old.dimension);\n mem = this[`available${name}`].find((m) => m.name === member.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n dimension,\n granularity: member.granularity,\n dateRange: member.dateRange,\n index,\n };\n }\n } else if (element === 'filters') {\n index = this[element].findIndex((x) => x.dimension === old);\n mem = {\n ...member,\n and: resolveMembers(this.meta, member.and),\n or: resolveMembers(this.meta, member.or),\n member: getDimensionOrMeasure(this.meta, member),\n };\n } else {\n index = this[element].findIndex((x) => x.name === old);\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n this[element].splice(index, 1, mem);\n }\n },\n setMembers(element, members) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n const elements = [];\n\n members.filter(Boolean).forEach((m) => {\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((x) => x.name === m.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n granularity: m.granularity,\n dateRange: m.dateRange,\n dimension,\n index: this[element].length,\n };\n }\n } else if (element === 'filters') {\n mem = {\n ...m,\n and: resolveMembers(this.meta, m.and),\n or: resolveMembers(this.meta, m.or),\n member: getDimensionOrMeasure(this.meta, m),\n };\n } else {\n mem = this[`available${name}`].find((x) => x.name === m);\n }\n\n if (mem) {\n elements.push(mem);\n }\n });\n\n this[element] = elements;\n },\n setLimit(limit) {\n this.limit = limit;\n },\n removeLimit() {\n this.limit = null;\n },\n setOffset(offset) {\n this.offset = offset;\n },\n removeOffset() {\n this.offset = null;\n },\n updateChart(chartType) {\n this.chartType = chartType;\n },\n setOrder(order = {}) {\n this.order = order;\n },\n emitVizStateChange(partialVizState) {\n this.$emit(\n 'vizStateChange',\n clone({\n ...this.vizState,\n ...partialVizState,\n })\n );\n },\n },\n\n watch: {\n validatedQuery: {\n deep: true,\n handler(query, prevQuery) {\n const hasQueryChanged = !areQueriesEqual(query, prevQuery);\n\n if (hasQueryChanged) {\n this.emitVizStateChange({\n query,\n });\n }\n\n if (isQueryPresent(query) && hasQueryChanged) {\n this.cubeApi\n .dryRun(query, {\n mutexObj: this.mutex,\n })\n .then((result) => {\n const pivotConfig = ResultSet.getNormalizedPivotConfig(result?.pivotQuery, this.pivotConfig);\n\n if (!equals(pivotConfig, this.pivotConfig)) {\n this.pivotConfig = pivotConfig;\n }\n })\n .catch((error) => console.error(error));\n }\n },\n },\n query: {\n deep: true,\n handler(query) {\n if (!this.meta) {\n // this is ok as if meta has not been loaded by the time query prop has changed,\n // then the promise for loading meta (found in mounted()) will call\n // copyQueryFromProps and will therefore update anyway.\n return;\n }\n this.copyQueryFromProps(query);\n },\n },\n pivotConfig: {\n deep: true,\n handler(pivotConfig, prevPivotConfig) {\n if (!equals(pivotConfig, prevPivotConfig)) {\n this.emitVizStateChange({\n pivotConfig,\n });\n }\n },\n },\n chartType(value) {\n this.emitVizStateChange({\n chartType: value,\n });\n },\n },\n};\n","import { GRANULARITIES } from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer';\nimport QueryBuilder from './QueryBuilder';\n\nexport { QueryRenderer, QueryBuilder, GRANULARITIES };\n\nexport default {};\n"],"names":["props","query","type","Object","Array","default","queries","loadSql","required","cubeApi","builderProps","chartType","String","data","mutexObj","error","undefined","resultSet","loading","sqlQuery","mounted","_this","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","isQueryPresent","load","loadQueries","a","render","$slots","empty","createElement","slot","controls","onlyDefault","builder","measures","_objectSpread","slotProps","refetch","methods","_this2","_callee2","_t","_context2","p","sql","mutexKey","v","_this3","_callee3","resultPromises","_t2","_t3","_context3","Promise","all","toPairs","map","_ref","_ref2","_slicedToArray","name","then","r","fromPairs","watch","$emit","isLoading","deep","handler","prevQuery","areQueriesEqual","val","QUERY_ELEMENTS","toOrderMember","member","id","title","reduceOrderMembers","array","reduce","acc","order","concat","_toConsumableArray","operators","validateFilters","filters","raw","operator","validBooleanFilter","booleanFilters","length","_defineProperty","some","getDimensionOrMeasure","meta","memberName","dimension","resolveMember","resolveMembers","arr","e","index","and","or","components","QueryRenderer","initialChartType","disableHeuristics","Boolean","stateChangeHeuristics","Function","initialVizState","_this$initialVizState","_this$initialVizState2","_this$initialVizState3","pivotConfig","initialQuery","skipHeuristics","mutex","dimensions","segments","timeDimensions","availableMeasures","availableDimensions","availableTimeDimensions","availableSegments","limit","offset","renewQuery","prevValidatedQuery","granularities","GRANULARITIES","ResultSet","getNormalizedPivotConfig","validatedQuery","setLimit","removeLimit","setOffset","removeOffset","orderMembers","updateChartType","updateChart","setOrder","updateOrder","set","memberId","newOrder","orderMember","update","reorder","sourceIndex","destinationIndex","moveItemInArray","updatePivotConfig","moveItem","sourceAxis","destinationAxis","movePivotItem","x","y","forEach","elementName","charAt","toUpperCase","slice","addMember","updateWith","updateMember","removeMember","members","setMembers","h","slots","on","queryStatus","event","computed","getOrderMembersFromOrder","_ref3","granularity","push","filter","vizState","toQuery","hasElements","element","dateRange","values","_validatedQuery","heuristicsFn","defaultHeuristics","_heuristicsFn","sessionGranularity","shouldApplyHeuristicOrder","defaultOrder","pivot","equals","copyQueryFromProps","dryRunResponse","dryRun","pivotQuery","_this4","_ref4","_ref4$measures","_ref4$dimensions","_ref4$segments","_ref4$timeDimensions","_ref4$filters","memberTypes","filterOperatorsForMember","membersForQuery","mem","find","findIndex","splice","old","_this5","elements","arguments","emitVizStateChange","partialVizState","clone","_this6","hasQueryChanged","result","console","prevPivotConfig","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,sBAAe;EACbA,EAAAA,KAAK,EAAE;EACLC,IAAAA,KAAK,EAAE;EACLC,MAAAA,IAAI,EAAE,CAACC,MAAM,EAAEC,KAAK,CAAC;QACrB,SAAS,EAAA,SAATC,QAAOA,GAAA;EAAA,QAAA,OAAS,EAAE,CAAA;EAAA,OAAA;OACnB;EACD;EACAC,IAAAA,OAAO,EAAE;EACPJ,MAAAA,IAAI,EAAEC,MAAAA;OACP;EACDI,IAAAA,OAAO,EAAE;EACPC,MAAAA,QAAQ,EAAE,KAAA;OACX;EACDC,IAAAA,OAAO,EAAE;EACPP,MAAAA,IAAI,EAAEC,MAAM;EACZK,MAAAA,QAAQ,EAAE,IAAA;OACX;EACDE,IAAAA,YAAY,EAAE;EACZR,MAAAA,IAAI,EAAEC,MAAM;EACZK,MAAAA,QAAQ,EAAE,KAAK;QACf,SAAS,EAAA,SAATH,QAAOA,GAAA;EAAA,QAAA,OAAS,EAAE,CAAA;EAAA,OAAA;OACnB;EACDM,IAAAA,SAAS,EAAE;EACTT,MAAAA,IAAI,EAAEU,MAAM;EACZJ,MAAAA,QAAQ,EAAE,KAAA;EACZ,KAAA;KACD;IACDK,IAAI,EAAA,SAAJA,IAAIA,GAAG;MACL,OAAO;QACLC,QAAQ,EAAE,EAAE;EACZC,MAAAA,KAAK,EAAEC,SAAS;EAChBC,MAAAA,SAAS,EAAED,SAAS;EACpBE,MAAAA,OAAO,EAAE,KAAK;EACdC,MAAAA,QAAQ,EAAEH,SAAAA;OACX,CAAA;KACF;IACKI,OAAO,EAAA,SAAPA,OAAOA,GAAG;EAAA,IAAA,IAAAC,KAAA,GAAA,IAAA,CAAA;EAAA,IAAA,OAAAC,iBAAA,cAAAC,YAAA,EAAAC,CAAAA,CAAA,UAAAC,OAAA,GAAA;QAAA,IAAAxB,KAAA,EAAAK,OAAA,CAAA;EAAA,MAAA,OAAAiB,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAC,QAAA,EAAA;UAAA,OAAAA,CAAAA,EAAAA,QAAAA,QAAA,CAAAC,CAAA;EAAA,UAAA,KAAA,CAAA;cACN3B,KAAK,GAAcoB,KAAI,CAAvBpB,KAAK,EAAEK,OAAO,GAAKe,KAAI,CAAhBf,OAAO,CAAA;cAAA,IAElBuB,CAAAA,mBAAc,CAAC5B,KAAK,CAAC,EAAA;EAAA0B,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;EAAA,cAAA,MAAA;EAAA,aAAA;EAAAD,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;EAAA,YAAA,OACjBP,KAAI,CAACS,IAAI,EAAE,CAAA;EAAA,UAAA,KAAA,CAAA;EAAAH,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;EAAA,YAAA,MAAA;EAAA,UAAA,KAAA,CAAA;cAAA,IACRC,CAAAA,mBAAc,CAACvB,OAAO,CAAC,EAAA;EAAAqB,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;EAAA,cAAA,MAAA;EAAA,aAAA;EAAAD,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;EAAA,YAAA,OAC1BP,KAAI,CAACU,WAAW,CAACzB,OAAO,CAAC,CAAA;EAAA,UAAA,KAAA,CAAA;cAAA,OAAAqB,QAAA,CAAAK,CAAA,CAAA,CAAA,CAAA,CAAA;EAAA,SAAA;EAAA,OAAA,EAAAP,OAAA,CAAA,CAAA;EAAA,KAAA,CAAA,CAAA,EAAA,CAAA;KAElC;IACDQ,MAAM,EAAA,SAANA,MAAMA,GAAG;EACP,IAAA,IAAQC,MAAM,GAA0C,IAAI,CAApDA,MAAM;QAAEjB,SAAS,GAA+B,IAAI,CAA5CA,SAAS;QAAEF,KAAK,GAAwB,IAAI,CAAjCA,KAAK;QAAEG,OAAO,GAAe,IAAI,CAA1BA,OAAO;QAAEC,QAAQ,GAAK,IAAI,CAAjBA,QAAQ,CAAA;MACnD,IAAMgB,KAAK,GAAGC,KAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;EACtC,IAAA,IAAIC,IAAI,GAAG,IAAI,CAACH,MAAM,CAACC,KAAK,GAAG,IAAI,CAACD,MAAM,CAACC,KAAK,EAAE,GAAGA,KAAK,CAAA;MAC1D,IAAIG,QAAQ,GAAGF,KAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;EACvC,IAAA,IAAMG,WAAW,GAAG,EAAE,OAAO,IAAI,IAAI,CAACL,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,CAACA,MAAM,CAAC,CAAA;MAE1E,IAAIA,MAAM,CAACM,OAAO,IAAI,IAAI,CAAC9B,YAAY,CAAC+B,QAAQ,EAAE;QAChDH,QAAQ,GAAGJ,MAAM,CAACM,OAAO,CAAAE,cAAA,CAAA,EAAA,EAAM,IAAI,CAAChC,YAAY,CAAE,CAAC,CAAA;EACrD,KAAA;MAEA,IAAK,CAACQ,OAAO,IAAID,SAAS,IAAI,CAACF,KAAK,IAAKwB,WAAW,EAAE;EACpD,MAAA,IAAII,SAAS,GAAG;EACd1B,QAAAA,SAAS,EAATA,SAAS;EACTE,QAAAA,QAAQ,EAARA,QAAQ;UACRlB,KAAK,EAAE,IAAI,CAACS,YAAY,CAACT,KAAK,IAAI,IAAI,CAACA,KAAAA;SACxC,CAAA;EAED,MAAA,IAAIsC,WAAW,EAAE;UACfI,SAAS,GAAAD,cAAA,CAAAA,cAAA,CAAA;EACPxB,UAAAA,OAAO,EAAPA,OAAO;EACPH,UAAAA,KAAK,EAALA,KAAK;YACL6B,OAAO,EAAE,IAAI,CAACd,IAAAA;EAAI,SAAA,EACf,IAAI,CAACpB,YAAY,CAAA,EACjBiC,SAAS,CACb,CAAA;EACH,OAAA;QACAN,IAAI,GAAGH,MAAM,CAAA,SAAA,CAAQ,GAAGA,MAAM,WAAQ,CAACS,SAAS,CAAC,GAAGN,IAAI,CAAA;OACzD,MAAM,IAAItB,KAAK,EAAE;QAChBsB,IAAI,GAAGH,MAAM,CAACnB,KAAK,GAAGmB,MAAM,CAACnB,KAAK,CAAC;EAAEA,QAAAA,KAAK,EAALA,KAAK;EAAEI,QAAAA,QAAQ,EAARA,QAAAA;SAAU,CAAC,GAAGkB,IAAI,CAAA;EAChE,KAAA;EAEA,IAAA,OAAOD,KAAa,CAAC,KAAK,EAAE,EAAE,EAAE,CAACE,QAAQ,EAAED,IAAI,CAAC,CAAC,CAAA;KAClD;EACDQ,EAAAA,OAAO,EAAE;MACDf,IAAI,EAAA,SAAJA,IAAIA,GAAG;EAAA,MAAA,IAAAgB,MAAA,GAAA,IAAA,CAAA;EAAA,MAAA,OAAAxB,iBAAA,cAAAC,YAAA,EAAAC,CAAAA,CAAA,UAAAuB,QAAA,GAAA;UAAA,IAAA9C,KAAA,EAAA+C,EAAA,CAAA;EAAA,QAAA,OAAAzB,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAuB,SAAA,EAAA;EAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAC,CAAA,GAAAD,SAAA,CAAArB,CAAA;EAAA,YAAA,KAAA,CAAA;gBACH3B,KAAK,GAAK6C,MAAI,CAAd7C,KAAK,CAAA;gBAAA,IAER4B,mBAAc,CAAC5B,KAAK,CAAC,EAAA;EAAAgD,gBAAAA,SAAA,CAAArB,CAAA,GAAA,CAAA,CAAA;EAAA,gBAAA,MAAA;EAAA,eAAA;gBAAA,OAAAqB,SAAA,CAAAjB,CAAA,CAAA,CAAA,CAAA,CAAA;EAAA,YAAA,KAAA,CAAA;EAAAiB,cAAAA,SAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;gBAKxBJ,MAAI,CAAC5B,OAAO,GAAG,IAAI,CAAA;gBACnB4B,MAAI,CAAC/B,KAAK,GAAG,IAAI,CAAA;gBACjB+B,MAAI,CAAC7B,SAAS,GAAG,IAAI,CAAA;EAAC,cAAA,IAAA,EAElB6B,MAAI,CAACvC,OAAO,KAAK,MAAM,CAAA,EAAA;EAAA0C,gBAAAA,SAAA,CAAArB,CAAA,GAAA,CAAA,CAAA;EAAA,gBAAA,MAAA;EAAA,eAAA;EAAAqB,cAAAA,SAAA,CAAArB,CAAA,GAAA,CAAA,CAAA;EAAA,cAAA,OACHkB,MAAI,CAACrC,OAAO,CAAC0C,GAAG,CAAClD,KAAK,EAAE;kBAC5Ca,QAAQ,EAAEgC,MAAI,CAAChC,QAAQ;EACvBsC,gBAAAA,QAAQ,EAAE,KAAA;EACZ,eAAC,CAAC,CAAA;EAAA,YAAA,KAAA,CAAA;EAHFN,cAAAA,MAAI,CAAC3B,QAAQ,GAAA8B,SAAA,CAAAI,CAAA,CAAA;EAAAJ,cAAAA,SAAA,CAAArB,CAAA,GAAA,CAAA,CAAA;EAAA,cAAA,MAAA;EAAA,YAAA,KAAA,CAAA;gBAAA,IAIJkB,CAAAA,MAAI,CAACvC,OAAO,EAAA;EAAA0C,gBAAAA,SAAA,CAAArB,CAAA,GAAA,CAAA,CAAA;EAAA,gBAAA,MAAA;EAAA,eAAA;EAAAqB,cAAAA,SAAA,CAAArB,CAAA,GAAA,CAAA,CAAA;EAAA,cAAA,OACCkB,MAAI,CAACrC,OAAO,CAAC0C,GAAG,CAAClD,KAAK,EAAE;kBAC5Ca,QAAQ,EAAEgC,MAAI,CAAChC,QAAQ;EACvBsC,gBAAAA,QAAQ,EAAE,KAAA;EACZ,eAAC,CAAC,CAAA;EAAA,YAAA,KAAA,CAAA;EAHFN,cAAAA,MAAI,CAAC3B,QAAQ,GAAA8B,SAAA,CAAAI,CAAA,CAAA;EAAAJ,cAAAA,SAAA,CAAArB,CAAA,GAAA,CAAA,CAAA;EAAA,cAAA,OAIUkB,MAAI,CAACrC,OAAO,CAACqB,IAAI,CAAC7B,KAAK,EAAE;kBAC9Ca,QAAQ,EAAEgC,MAAI,CAAChC,QAAQ;EACvBsC,gBAAAA,QAAQ,EAAE,OAAA;EACZ,eAAC,CAAC,CAAA;EAAA,YAAA,KAAA,CAAA;EAHFN,cAAAA,MAAI,CAAC7B,SAAS,GAAAgC,SAAA,CAAAI,CAAA,CAAA;EAAAJ,cAAAA,SAAA,CAAArB,CAAA,GAAA,CAAA,CAAA;EAAA,cAAA,MAAA;EAAA,YAAA,KAAA,CAAA;EAAAqB,cAAAA,SAAA,CAAArB,CAAA,GAAA,CAAA,CAAA;EAAA,cAAA,OAKSkB,MAAI,CAACrC,OAAO,CAACqB,IAAI,CAAC7B,KAAK,EAAE;kBAC9Ca,QAAQ,EAAEgC,MAAI,CAAChC,QAAQ;EACvBsC,gBAAAA,QAAQ,EAAE,OAAA;EACZ,eAAC,CAAC,CAAA;EAAA,YAAA,KAAA,CAAA;EAHFN,cAAAA,MAAI,CAAC7B,SAAS,GAAAgC,SAAA,CAAAI,CAAA,CAAA;EAAA,YAAA,KAAA,CAAA;gBAMhBP,MAAI,CAAC5B,OAAO,GAAG,KAAK,CAAA;EAAC+B,cAAAA,SAAA,CAAArB,CAAA,GAAA,EAAA,CAAA;EAAA,cAAA,MAAA;EAAA,YAAA,KAAA,CAAA;EAAAqB,cAAAA,SAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;gBAAAF,EAAA,GAAAC,SAAA,CAAAI,CAAA,CAAA;gBAErBP,MAAI,CAAC/B,KAAK,GAAAiC,EAAQ,CAAA;gBAClBF,MAAI,CAAC7B,SAAS,GAAGD,SAAS,CAAA;gBAC1B8B,MAAI,CAAC5B,OAAO,GAAG,KAAK,CAAA;EAAC,YAAA,KAAA,EAAA;gBAAA,OAAA+B,SAAA,CAAAjB,CAAA,CAAA,CAAA,CAAA,CAAA;EAAA,WAAA;EAAA,SAAA,EAAAe,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAA,OAAA,CAAA,CAAA,EAAA,CAAA;OAExB;MACKhB,WAAW,EAAA,SAAXA,WAAWA,GAAG;EAAA,MAAA,IAAAuB,MAAA,GAAA,IAAA,CAAA;EAAA,MAAA,OAAAhC,iBAAA,cAAAC,YAAA,EAAAC,CAAAA,CAAA,UAAA+B,QAAA,GAAA;EAAA,QAAA,IAAAjD,OAAA,EAAAkD,cAAA,EAAAC,GAAA,EAAAC,GAAA,CAAA;EAAA,QAAA,OAAAnC,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAiC,SAAA,EAAA;EAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAT,CAAA,GAAAS,SAAA,CAAA/B,CAAA;EAAA,YAAA,KAAA,CAAA;gBACVtB,OAAO,GAAKgD,MAAI,CAAhBhD,OAAO,CAAA;EAAAqD,cAAAA,SAAA,CAAAT,CAAA,GAAA,CAAA,CAAA;gBAEbI,MAAI,CAACvC,KAAK,GAAGC,SAAS,CAAA;gBACtBsC,MAAI,CAACpC,OAAO,GAAG,IAAI,CAAA;EAEbsC,cAAAA,cAAc,GAAGI,OAAO,CAACC,GAAG,CAChCC,aAAO,CAACxD,OAAO,CAAC,CAACyD,GAAG,CAAC,UAAAC,IAAA,EAAA;EAAA,gBAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA,EAAA,CAAA,CAAA;EAAEG,kBAAAA,IAAI,GAAAF,KAAA,CAAA,CAAA,CAAA;EAAEhE,kBAAAA,KAAK,GAAAgE,KAAA,CAAA,CAAA,CAAA,CAAA;EAAA,gBAAA,OAChCX,MAAI,CAAC7C,OAAO,CACTqB,IAAI,CAAC7B,KAAK,EAAE;oBACXa,QAAQ,EAAEwC,MAAI,CAACxC,QAAQ;EACvBsC,kBAAAA,QAAQ,EAAEe,IAAAA;EACZ,iBAAC,CAAC,CACDC,IAAI,CAAC,UAACC,CAAC,EAAA;EAAA,kBAAA,OAAK,CAACF,IAAI,EAAEE,CAAC,CAAC,CAAA;mBAAC,CAAA,CAAA;EAAA,eAC3B,CACF,CAAC,CAAA;EAAAZ,cAAAA,GAAA,GAEgBa,eAAS,CAAA;EAAAX,cAAAA,SAAA,CAAA/B,CAAA,GAAA,CAAA,CAAA;EAAA,cAAA,OAAO4B,cAAc,CAAA;EAAA,YAAA,KAAA,CAAA;EAA/CF,cAAAA,MAAI,CAACrC,SAAS,GAAAwC,GAAA,CAAAE,SAAA,CAAAN,CAAA,CAAA,CAAA;gBACdC,MAAI,CAACpC,OAAO,GAAG,KAAK,CAAA;EAACyC,cAAAA,SAAA,CAAA/B,CAAA,GAAA,CAAA,CAAA;EAAA,cAAA,MAAA;EAAA,YAAA,KAAA,CAAA;EAAA+B,cAAAA,SAAA,CAAAT,CAAA,GAAA,CAAA,CAAA;gBAAAQ,GAAA,GAAAC,SAAA,CAAAN,CAAA,CAAA;gBAErBC,MAAI,CAACvC,KAAK,GAAA2C,GAAQ,CAAA;gBAClBJ,MAAI,CAACpC,OAAO,GAAG,KAAK,CAAA;EAAC,YAAA,KAAA,CAAA;gBAAA,OAAAyC,SAAA,CAAA3B,CAAA,CAAA,CAAA,CAAA,CAAA;EAAA,WAAA;EAAA,SAAA,EAAAuB,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;EAAA,OAAA,CAAA,CAAA,EAAA,CAAA;EAEzB,KAAA;KACD;EACDgB,EAAAA,KAAK,EAAE;EACLrD,IAAAA,OAAO,EAAPA,SAAAA,OAAOA,CAACA,QAAO,EAAE;QACf,IAAIA,QAAO,KAAK,KAAK,EAAE;EACrB,QAAA,IAAI,CAACsD,KAAK,CAAC,aAAa,EAAE;EACxBC,UAAAA,SAAS,EAAE,KAAK;YAChB1D,KAAK,EAAE,IAAI,CAACA,KAAK;YACjBE,SAAS,EAAE,IAAI,CAACA,SAAAA;EAClB,SAAC,CAAC,CAAA;EACJ,OAAC,MAAM;EACL,QAAA,IAAI,CAACuD,KAAK,CAAC,aAAa,EAAE;EAAEC,UAAAA,SAAS,EAAE,IAAA;EAAK,SAAC,CAAC,CAAA;EAChD,OAAA;OACD;MACDhE,OAAO,EAAA,SAAPA,OAAOA,GAAG;QACR,IAAI,CAACqB,IAAI,EAAE,CAAA;OACZ;MACDnB,SAAS,EAAA,SAATA,SAASA,GAAG;QACV,IAAI,CAACmB,IAAI,EAAE,CAAA;OACZ;EACD7B,IAAAA,KAAK,EAAE;EACLyE,MAAAA,IAAI,EAAE,IAAI;EACVC,MAAAA,OAAO,WAAPA,OAAOA,CAAC1E,KAAK,EAAE2E,SAAS,EAAE;EACxB,QAAA,IAAI,CAACC,oBAAe,CAAC5E,KAAK,EAAE2E,SAAS,CAAC,EAAE;YACtC,IAAI,CAAC9C,IAAI,EAAE,CAAA;EACb,SAAA;EACF,OAAA;OACD;EACDxB,IAAAA,OAAO,EAAE;EACPqE,MAAAA,OAAO,EAAPA,SAAAA,OAAOA,CAACG,GAAG,EAAE;EACX,QAAA,IAAIA,GAAG,EAAE;YACP,IAAI,CAAC/C,WAAW,EAAE,CAAA;EACpB,SAAA;SACD;EACD2C,MAAAA,IAAI,EAAE,IAAA;EACR,KAAA;EACF,GAAA;EACF,CAAC;;ECxKD,IAAMK,cAAc,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAA;EAE1F,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,MAAM,EAAA;IAAA,OAAM;MACjCC,EAAE,EAAED,MAAM,CAACd,IAAI;MACfgB,KAAK,EAAEF,MAAM,CAACE,KAAAA;KACf,CAAA;EAAA,CAAC,CAAA;EAEF,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,KAAK,EAAA;EAAA,EAAA,OAC/BA,KAAK,CAACC,MAAM,CAAC,UAACC,GAAG,EAAAvB,IAAA,EAAA;EAAA,IAAA,IAAIkB,EAAE,GAAAlB,IAAA,CAAFkB,EAAE;QAAEM,KAAK,GAAAxB,IAAA,CAALwB,KAAK,CAAA;EAAA,IAAA,OAAQA,KAAK,KAAK,MAAM,GAAAC,EAAAA,CAAAA,MAAA,CAAAC,kBAAA,CAAOH,GAAG,CAAA,EAAA,CAAE,CAACL,EAAE,EAAEM,KAAK,CAAC,KAAID,GAAG,CAAA;KAAC,EAAE,EAAE,CAAC,CAAA;EAAA,CAAA,CAAA;EAE5F,IAAMI,SAAS,GAAG,CAAE,KAAK,EAAE,IAAI,CAAE,CAAA;EAEjC,IAAMC,gBAAe,GAAG,SAAlBA,eAAeA,CAAIC,OAAO,EAAA;IAAA,OAC9BA,OAAO,CAACP,MAAM,CAAC,UAACC,GAAG,EAAEO,GAAG,EAAK;MAC3B,IAAIA,GAAG,CAACC,QAAQ,EAAE;EAChB,MAAA,OAAA,EAAA,CAAAN,MAAA,CAAAC,kBAAA,CAAWH,GAAG,IAAEO,GAAG,CAAA,CAAA,CAAA;EACrB,KAAA;MAEA,IAAME,kBAAkB,GAAGL,SAAS,CAACL,MAAM,CAAC,UAACC,GAAG,EAAEQ,QAAQ,EAAK;EAC7D,MAAA,IAAMF,OAAO,GAAGC,GAAG,CAACC,QAAQ,CAAC,CAAA;EAE7B,MAAA,IAAME,cAAc,GAAGL,gBAAe,CAACC,OAAO,IAAI,EAAE,CAAC,CAAA;QAErD,IAAII,cAAc,CAACC,MAAM,EAAE;UACzB,OAAAxD,cAAA,CAAAA,cAAA,CAAY6C,EAAAA,EAAAA,GAAG,OAAAY,eAAA,CAAA,EAAA,EAAGJ,QAAQ,EAAGE,cAAc,CAAA,CAAA,CAAA;EAC7C,OAAA;EAEA,MAAA,OAAOV,GAAG,CAAA;OACX,EAAE,EAAE,CAAC,CAAA;EAEN,IAAA,IAAII,SAAS,CAACS,IAAI,CAAC,UAACL,QAAQ,EAAA;QAAA,OAAKC,kBAAkB,CAACD,QAAQ,CAAC,CAAA;EAAA,KAAA,CAAC,EAAE;EAC9D,MAAA,OAAA,EAAA,CAAAN,MAAA,CAAAC,kBAAA,CAAWH,GAAG,IAAES,kBAAkB,CAAA,CAAA,CAAA;EACpC,KAAA;EAEA,IAAA,OAAOT,GAAG,CAAA;KACX,EAAE,EAAE,CAAC,CAAA;EAAA,CAAA,CAAA;EAER,IAAMc,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,IAAI,EAAE9E,CAAC,EAAK;IACzC,IAAM+E,UAAU,GAAG/E,CAAC,CAACyD,MAAM,IAAIzD,CAAC,CAACgF,SAAS,CAAA;EAC1C,EAAA,OAAOD,UAAU,IAAID,IAAI,CAACG,aAAa,CAACF,UAAU,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAA;EACjF,CAAC,CAAA;EAED,IAAMG,eAAc,GAAG,SAAjBA,cAAcA,CAAIJ,IAAI,EAAEK,GAAG,EAAA;IAAA,OAC/BA,GAAG,IACHA,GAAG,CAAC5C,GAAG,CAAC,UAAC6C,CAAC,EAAEC,KAAK,EAAK;EACpB,IAAA,OAAAnE,cAAA,CAAAA,cAAA,CAAA,EAAA,EACKkE,CAAC,CAAA,EAAA,EAAA,EAAA;EACJ3B,MAAAA,MAAM,EAAEoB,qBAAqB,CAACC,IAAI,EAAEM,CAAC,CAAC;EACtCC,MAAAA,KAAK,EAALA,KAAK;QACLC,GAAG,EAAEJ,eAAc,CAACJ,IAAI,EAAEM,CAAC,CAACE,GAAG,CAAC;EAChCC,MAAAA,EAAE,EAAEL,eAAc,CAACJ,IAAI,EAAEM,CAAC,CAACG,EAAE,CAAA;EAAC,KAAA,CAAA,CAAA;EAElC,GAAC,CAAC,CAAA;EAAA,CAAA,CAAA;AAEJ,qBAAe;EACbC,EAAAA,UAAU,EAAE;EACVC,IAAAA,aAAa,EAAbA,aAAAA;KACD;EACDjH,EAAAA,KAAK,EAAE;EACLC,IAAAA,KAAK,EAAE;EACLC,MAAAA,IAAI,EAAEC,MAAM;QACZ,SAAS,EAAA,SAATE,QAAOA,GAAA;EAAA,QAAA,OAAS,EAAE,CAAA;EAAA,OAAA;OACnB;EACDI,IAAAA,OAAO,EAAE;EACPP,MAAAA,IAAI,EAAEC,MAAM;EACZK,MAAAA,QAAQ,EAAE,IAAA;OACX;EACD0G,IAAAA,gBAAgB,EAAE;EAChBhH,MAAAA,IAAI,EAAEU,MAAM;QACZ,SAAS,EAAA,SAATP,QAAOA,GAAA;EAAA,QAAA,OAAQ,MAAM,CAAA;EAAA,OAAA;OACtB;EACD8G,IAAAA,iBAAiB,EAAE;EACjBjH,MAAAA,IAAI,EAAEkH,OAAAA;OACP;EACDC,IAAAA,qBAAqB,EAAE;EACrBnH,MAAAA,IAAI,EAAEoH,QAAAA;OACP;EACDC,IAAAA,eAAe,EAAE;EACfrH,MAAAA,IAAI,EAAEC,MAAM;QACZ,SAAS,EAAA,SAATE,QAAOA,GAAA;EAAA,QAAA,OAAS,EAAE,CAAA;EAAA,OAAA;EACpB,KAAA;KACD;IACDQ,IAAI,EAAA,SAAJA,IAAIA,GAAG;EACL,IAAA,IAAA2G,qBAAA,GAII,IAAI,CAACD,eAAe;QAAAE,sBAAA,GAAAD,qBAAA,CAHtBvH,KAAK;EAALA,MAAAA,KAAK,GAAAwH,sBAAA,KAAA,KAAA,CAAA,GAAG,IAAI,CAACxH,KAAK,GAAAwH,sBAAA;QAAAC,sBAAA,GAAAF,qBAAA,CAClB7G,SAAS;EAATA,MAAAA,SAAS,GAAA+G,sBAAA,KAAA,KAAA,CAAA,GAAG,IAAI,CAACR,gBAAgB,GAAAQ,sBAAA;QACjCC,WAAW,GAAAH,qBAAA,CAAXG,WAAW,CAAA;MAGb,OAAO;EACLC,MAAAA,YAAY,EAAE3H,KAAK;EACnB4H,MAAAA,cAAc,EAAE,IAAI;EACpBvB,MAAAA,IAAI,EAAEtF,SAAS;QACf8G,KAAK,EAAE,EAAE;EACTnH,MAAAA,SAAS,EAATA,SAAS;EACT8B,MAAAA,QAAQ,EAAE,EAAE;EACZsF,MAAAA,UAAU,EAAE,EAAE;EACdC,MAAAA,QAAQ,EAAE,EAAE;EACZC,MAAAA,cAAc,EAAE,EAAE;EAClBpC,MAAAA,OAAO,EAAE,EAAE;EACXqC,MAAAA,iBAAiB,EAAE,EAAE;EACrBC,MAAAA,mBAAmB,EAAE,EAAE;EACvBC,MAAAA,uBAAuB,EAAE,EAAE;EAC3BC,MAAAA,iBAAiB,EAAE,EAAE;EACrBC,MAAAA,KAAK,EAAE,IAAI;EACXC,MAAAA,MAAM,EAAE,IAAI;EACZC,MAAAA,UAAU,EAAE,KAAK;EACjBhD,MAAAA,KAAK,EAAE,IAAI;EACXiD,MAAAA,kBAAkB,EAAE,IAAI;EACxBC,MAAAA,aAAa,EAAEC,kBAAa;QAC5BhB,WAAW,EAAEiB,cAAS,CAACC,wBAAwB,CAAC5I,KAAK,IAAI,EAAE,EAAE0H,WAAW,CAAA;OACzE,CAAA;KACF;IAED1F,MAAM,EAAA,SAANA,MAAMA,GAAG;EAAA,IAAA,IAAAZ,KAAA,GAAA,IAAA,CAAA;EACP,IAAA,IACEV,SAAS,GAwBP,IAAI,CAxBNA,SAAS;QACTF,OAAO,GAuBL,IAAI,CAvBNA,OAAO;QACPsH,UAAU,GAsBR,IAAI,CAtBNA,UAAU;QACVlC,OAAO,GAqBL,IAAI,CArBNA,OAAO;QACPpD,QAAQ,GAoBN,IAAI,CApBNA,QAAQ;QACR6D,IAAI,GAmBF,IAAI,CAnBNA,IAAI;QACJrG,KAAK,GAkBH,IAAI,CAlBNA,KAAK;QACL+H,QAAQ,GAiBN,IAAI,CAjBNA,QAAQ;QACRC,cAAc,GAgBZ,IAAI,CAhBNA,cAAc;QACda,cAAc,GAeZ,IAAI,CAfNA,cAAc;QACdjH,cAAc,GAcZ,IAAI,CAdNA,cAAc;QACdwG,iBAAiB,GAaf,IAAI,CAbNA,iBAAiB;QACjBD,uBAAuB,GAYrB,IAAI,CAZNA,uBAAuB;QACvBD,mBAAmB,GAWjB,IAAI,CAXNA,mBAAmB;QACnBD,iBAAiB,GAUf,IAAI,CAVNA,iBAAiB;QACjBI,KAAK,GASH,IAAI,CATNA,KAAK;QACLC,MAAM,GAQJ,IAAI,CARNA,MAAM;QACNQ,QAAQ,GAON,IAAI,CAPNA,QAAQ;QACRC,WAAW,GAMT,IAAI,CANNA,WAAW;QACXC,SAAS,GAKP,IAAI,CALNA,SAAS;QACTC,YAAY,GAIV,IAAI,CAJNA,YAAY;QACZV,UAAU,GAGR,IAAI,CAHNA,UAAU;QACVhD,KAAK,GAEH,IAAI,CAFNA,KAAK;QACL2D,YAAY,GACV,IAAI,CADNA,YAAY,CAAA;MAGd,IAAIzI,YAAY,GAAG,EAAE,CAAA;EAErB,IAAA,IAAI4F,IAAI,EAAE;EACR5F,MAAAA,YAAY,GAAG;EACbT,QAAAA,KAAK,EAALA,KAAK;EACL6I,QAAAA,cAAc,EAAdA,cAAc;EACdjH,QAAAA,cAAc,EAAdA,cAAc;EACdlB,QAAAA,SAAS,EAATA,SAAS;EACT8B,QAAAA,QAAQ,EAARA,QAAQ;EACRsF,QAAAA,UAAU,EAAVA,UAAU;EACVC,QAAAA,QAAQ,EAARA,QAAQ;EACRC,QAAAA,cAAc,EAAdA,cAAc;EACdpC,QAAAA,OAAO,EAAPA,OAAO;EACPwC,QAAAA,iBAAiB,EAAjBA,iBAAiB;EACjBD,QAAAA,uBAAuB,EAAvBA,uBAAuB;EACvBD,QAAAA,mBAAmB,EAAnBA,mBAAmB;EACnBD,QAAAA,iBAAiB,EAAjBA,iBAAiB;UACjBkB,eAAe,EAAE,IAAI,CAACC,WAAW;EACjCf,QAAAA,KAAK,EAALA,KAAK;EACLC,QAAAA,MAAM,EAANA,MAAM;EACNQ,QAAAA,QAAQ,EAARA,QAAQ;EACRC,QAAAA,WAAW,EAAXA,WAAW;EACXC,QAAAA,SAAS,EAATA,SAAS;EACTC,QAAAA,YAAY,EAAZA,YAAY;EACZV,QAAAA,UAAU,EAAVA,UAAU;EACVhD,QAAAA,KAAK,EAALA,KAAK;EACL2D,QAAAA,YAAY,EAAZA,YAAY;UACZG,QAAQ,EAAE,IAAI,CAACA,QAAQ;UACvB3B,WAAW,EAAE,IAAI,CAACA,WAAW;EAC7B4B,QAAAA,WAAW,EAAE;EACXC,UAAAA,GAAG,EAAE,SAALA,GAAGA,CAAGC,QAAQ,EAAEC,QAAQ,EAAK;cAC3BrI,KAAI,CAACmE,KAAK,GAAGJ,kBAAkB,CAC7B+D,YAAY,CAACpF,GAAG,CAAC,UAAC4F,WAAW,EAAA;EAAA,cAAA,OAAAjH,cAAA,CAAAA,cAAA,CAAA,EAAA,EACxBiH,WAAW,CAAA,EAAA,EAAA,EAAA;kBACdnE,KAAK,EAAEmE,WAAW,CAACzE,EAAE,KAAKuE,QAAQ,GAAGC,QAAQ,GAAGC,WAAW,CAACnE,KAAAA;EAAK,eAAA,CAAA,CAAA;EAAA,aACjE,CACJ,CAAC,CAAA;aACF;EACDoE,UAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGF,QAAQ,EAAK;cACpBrI,KAAI,CAACmE,KAAK,GAAGkE,QAAQ,CAAA;aACtB;EACDG,UAAAA,OAAO,EAAE,SAATA,OAAOA,CAAGC,WAAW,EAAEC,gBAAgB,EAAK;EAC1C1I,YAAAA,KAAI,CAACmE,KAAK,GAAGJ,kBAAkB,CAC7B4E,oBAAe,CAACb,YAAY,EAAEW,WAAW,EAAEC,gBAAgB,CAC7D,CAAC,CAAA;EACH,WAAA;WACD;EACDE,QAAAA,iBAAiB,EAAE;EACjBC,UAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAAjG,KAAA,EAAsE;EAAA,YAAA,IAAjE6F,WAAW,GAAA7F,KAAA,CAAX6F,WAAW;gBAAEC,gBAAgB,GAAA9F,KAAA,CAAhB8F,gBAAgB;gBAAEI,UAAU,GAAAlG,KAAA,CAAVkG,UAAU;gBAAEC,eAAe,GAAAnG,KAAA,CAAfmG,eAAe,CAAA;EACrE/I,YAAAA,KAAI,CAACsG,WAAW,GAAG0C,kBAAa,CAC9BhJ,KAAI,CAACsG,WAAW,EAChBmC,WAAW,EACXC,gBAAgB,EAChBI,UAAU,EACVC,eACF,CAAC,CAAA;aACF;EACDR,UAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGjC,WAAW,EAAK;cACvBtG,KAAI,CAACsG,WAAW,GAAG;gBACjB2C,CAAC,EAAE3C,WAAW,CAAC2C,CAAC,IAAIjJ,KAAI,CAACsG,WAAW,CAAC2C,CAAC;gBACtCC,CAAC,EAAE5C,WAAW,CAAC4C,CAAC,IAAIlJ,KAAI,CAACsG,WAAW,CAAC4C,CAAAA;eACtC,CAAA;EACH,WAAA;EACF,SAAA;SACD,CAAA;EAEDxF,MAAAA,cAAc,CAACyF,OAAO,CAAC,UAACC,WAAW,EAAK;EACtC,QAAA,IAAMtG,IAAI,GAAGsG,WAAW,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGF,WAAW,CAACG,KAAK,CAAC,CAAC,CAAC,CAAA;UAEvElK,YAAY,CAAA,KAAA,CAAA+E,MAAA,CAAOtB,IAAI,EAAG,GAAG,UAACc,MAAM,EAAK;EACvC5D,UAAAA,KAAI,CAACwJ,SAAS,CAACJ,WAAW,EAAExF,MAAM,CAAC,CAAA;WACpC,CAAA;UAEDvE,YAAY,CAAA,QAAA,CAAA+E,MAAA,CAAUtB,IAAI,CAAA,CAAG,GAAG,UAACc,MAAM,EAAE6F,UAAU,EAAK;YACtDzJ,KAAI,CAAC0J,YAAY,CAACN,WAAW,EAAExF,MAAM,EAAE6F,UAAU,CAAC,CAAA;WACnD,CAAA;UAEDpK,YAAY,CAAA,QAAA,CAAA+E,MAAA,CAAUtB,IAAI,EAAG,GAAG,UAACc,MAAM,EAAK;EAC1C5D,UAAAA,KAAI,CAAC2J,YAAY,CAACP,WAAW,EAAExF,MAAM,CAAC,CAAA;WACvC,CAAA;UAEDvE,YAAY,CAAA,KAAA,CAAA+E,MAAA,CAAOtB,IAAI,EAAG,GAAG,UAAC8G,OAAO,EAAK;EACxC5J,UAAAA,KAAI,CAAC6J,UAAU,CAACT,WAAW,EAAEQ,OAAO,CAAC,CAAA;WACtC,CAAA;EACH,OAAC,CAAC,CAAA;EACJ,KAAA;MAEA,OAAOE,KAAC,CACNlE,aAAa,EACb;QACEhH,KAAK,EAAE,IAAI,CAAC6I,cAAc;EAC1BrI,MAAAA,OAAO,EAAPA,OAAO;EACPC,MAAAA,YAAY,EAAZA,YAAY;QACZ0K,KAAK,EAAE,IAAI,CAAClJ,MAAM;EAClBmJ,MAAAA,EAAE,EAAE;EACFC,QAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAGC,KAAK,EAAK;EACtBlK,UAAAA,KAAI,CAACmD,KAAK,CAAC,aAAa,EAAE+G,KAAK,CAAC,CAAA;EAClC,SAAA;EACF,OAAA;EACF,KAAC,EACD,IAAI,CAACrJ,MACP,CAAC,CAAA;KACF;EACDsJ,EAAAA,QAAQ,EAAE;MACR3J,cAAc,EAAA,SAAdA,cAAcA,GAAG;EACf,MAAA,IAAQiH,cAAc,GAAK,IAAI,CAAvBA,cAAc,CAAA;QAEtB,OAAOjH,mBAAc,CAACiH,cAAc,CAAC,CAAA;OACtC;MACDK,YAAY,EAAA,SAAZA,YAAYA,GAAG;EACb,MAAA,OAAOsC,6BAAwB,CAC7B,EAAAhG,CAAAA,MAAA,CAAAC,kBAAA,CACK,IAAI,CAACjD,QAAQ,CAAAiD,EAAAA,kBAAA,CACb,IAAI,CAACqC,UAAU,CAAArC,EAAAA,kBAAA,CACf,IAAI,CAACuC,cAAc,CAAC3C,MAAM,CAAC,UAACC,GAAG,EAAAmG,KAAA,EAAiC;EAAA,QAAA,IAA7BlF,SAAS,GAAAkF,KAAA,CAATlF,SAAS;YAAEmF,WAAW,GAAAD,KAAA,CAAXC,WAAW,CAAA;UAC1D,IAAIA,WAAW,KAAK3K,SAAS,EAAE;EAC7BuE,UAAAA,GAAG,CAACqG,IAAI,CAAC5G,aAAa,CAACwB,SAAS,CAAC,CAAC,CAAA;EACpC,SAAA;EACA,QAAA,OAAOjB,GAAG,CAAA;SACX,EAAE,EAAE,CAAC,CAELxB,CAAAA,CAAAA,GAAG,CAAC,UAACkB,MAAM,EAAE4B,KAAK,EAAK;UACtB,IAAM3B,EAAE,GAAGD,MAAM,CAACd,IAAI,IAAIc,MAAM,CAACC,EAAE,CAAA;UAEnC,IAAI,CAACA,EAAE,EAAE;EACP,UAAA,OAAO,KAAK,CAAA;EACd,SAAA;UAEA,OAAO;EACL2B,UAAAA,KAAK,EAALA,KAAK;EACL3B,UAAAA,EAAE,EAAFA,EAAE;YACFC,KAAK,EAAEF,MAAM,CAACE,KAAAA;WACf,CAAA;SACF,CAAC,CACD0G,MAAM,CAACzE,OAAO,CAAC,EAClB,IAAI,CAAC5B,KACP,CAAC,CAAA;OACF;MACDsG,QAAQ,EAAA,SAARA,QAAQA,GAAG;QACT,OAAO;UACL7L,KAAK,EAAE,IAAI,CAAC6I,cAAc;UAC1BnI,SAAS,EAAE,IAAI,CAACA,SAAS;UACzBgH,WAAW,EAAE,IAAI,CAACA,WAAAA;SACnB,CAAA;OACF;MACDmB,cAAc,EAAA,SAAdA,cAAcA,GAAG;EAAA,MAAA,IAAAhG,MAAA,GAAA,IAAA,CAAA;QACf,IAAIgG,cAAc,GAAG,EAAE,CAAA;EACvB,MAAA,IAAIiD,QAAO,GAAG,SAAVA,OAAOA,CAAI9G,MAAM,EAAA;UAAA,OAAKA,MAAM,CAACd,IAAI,CAAA;EAAA,OAAA,CAAA;EACrC;;QAEA,IAAI6H,WAAW,GAAG,KAAK,CAAA;EACvBjH,MAAAA,cAAc,CAACyF,OAAO,CAAC,UAACyB,OAAO,EAAK;UAClC,IAAIA,OAAO,KAAK,gBAAgB,EAAE;EAChCF,UAAAA,QAAO,GAAG,SAAVA,OAAOA,CAAI9G,MAAM,EAAA;cAAA,OAAM;EACrBuB,cAAAA,SAAS,EAAEvB,MAAM,CAACuB,SAAS,CAACrC,IAAI;gBAChCwH,WAAW,EAAE1G,MAAM,CAAC0G,WAAW;gBAC/BO,SAAS,EAAEjH,MAAM,CAACiH,SAAAA;eACnB,CAAA;aAAC,CAAA;EACJ,SAAC,MAAM,IAAID,OAAO,KAAK,SAAS,EAAE;EAChCF,UAAAA,QAAO,GAAG,SAAVA,OAAOA,CAAI9G,MAAM,EAAA;cAAA,OAAM;gBACrBA,MAAM,EAAEA,MAAM,CAACA,MAAM,IAAIA,MAAM,CAACA,MAAM,CAACd,IAAI;gBAC3C4B,QAAQ,EAAEd,MAAM,CAACc,QAAQ;gBACzBoG,MAAM,EAAElH,MAAM,CAACkH,MAAM;EACrBrF,cAAAA,GAAG,EAAE7B,MAAM,CAAC6B,GAAG,IAAI7B,MAAM,CAAC6B,GAAG,CAAC/C,GAAG,CAACgI,QAAO,CAAC;gBAC1ChF,EAAE,EAAE9B,MAAM,CAAC8B,EAAE,IAAI9B,MAAM,CAAC8B,EAAE,CAAChD,GAAG,CAACgI,QAAO,CAAA;eACvC,CAAA;aAAC,CAAA;EACJ,SAAA;UAEA,IAAIjJ,MAAI,CAACmJ,OAAO,CAAC,CAAC/F,MAAM,GAAG,CAAC,EAAE;EAC5B4C,UAAAA,cAAc,CAACmD,OAAO,CAAC,GAAGnJ,MAAI,CAACmJ,OAAO,CAAC,CAAClI,GAAG,CAAC,UAACuG,CAAC,EAAA;cAAA,OAAKyB,QAAO,CAACzB,CAAC,CAAC,CAAA;aAAC,CAAA,CAAA;EAE9D0B,UAAAA,WAAW,GAAG,IAAI,CAAA;EACpB,SAAA;EACF,OAAC,CAAC,CAAA;QAEF,IAAIlD,cAAc,CAACjD,OAAO,EAAE;UAC1BiD,cAAc,CAACjD,OAAO,GAAGD,gBAAe,CAACkD,cAAc,CAACjD,OAAO,CAAC,CAAA;EAClE,OAAA;;EAEA;EACA;EACA,MAAA,IAAImG,WAAW,EAAE;UACf,IAAI,IAAI,CAAC1D,KAAK,EAAE;EACdQ,UAAAA,cAAc,CAACR,KAAK,GAAG,IAAI,CAACA,KAAK,CAAA;EACnC,SAAA;UAEA,IAAI,IAAI,CAACC,MAAM,EAAE;EACfO,UAAAA,cAAc,CAACP,MAAM,GAAG,IAAI,CAACA,MAAM,CAAA;EACrC,SAAA;UAEA,IAAI,IAAI,CAAC/C,KAAK,EAAE;EACdsD,UAAAA,cAAc,CAACtD,KAAK,GAAG,IAAI,CAACA,KAAK,CAAA;EACnC,SAAA;UAEA,IAAI,IAAI,CAACgD,UAAU,EAAE;EACnBM,UAAAA,cAAc,CAACN,UAAU,GAAG,IAAI,CAACA,UAAU,CAAA;EAC7C,SAAA;EACF,OAAA;EAEA,MAAA,IACE,CAAC,IAAI,CAACX,cAAc,IACpB,CAAC,IAAI,CAACV,iBAAiB,IACvBtF,mBAAc,CAACiH,cAAc,CAAC,IAC9B,IAAI,CAACxC,IAAI,EACT;EAAA,QAAA,IAAA8F,eAAA,CAAA;EACA,QAAA,IAAMC,YAAY,GAAG,IAAI,CAAChF,qBAAqB,IAAIiF,sBAAiB,CAAA;UACpE,IAAAC,aAAA,GAAqEF,YAAY,CAC/E;EACEpM,YAAAA,KAAK,EAAE6I,cAAc;cACrBnI,SAAS,EAAE,IAAI,CAACA,SAAAA;EAClB,WAAC,EACD,IAAI,CAAC8H,kBAAkB,EACvB;cACEnC,IAAI,EAAE,IAAI,CAACA,IAAI;cACfkG,kBAAkB,EAAA,CAAAJ,eAAA,GAAEtD,cAAc,MAAA,IAAA,IAAAsD,eAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,eAAA,GAAdA,eAAA,CAAgBnE,cAAc,cAAAmE,eAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,eAAA,GAA9BA,eAAA,CAAiC,CAAC,CAAC,MAAAA,IAAAA,IAAAA,eAAA,KAAnCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAA,CAAqCT,WAAAA;EAC3D,WACF,CAAC;YAVO1L,KAAK,GAAAsM,aAAA,CAALtM,KAAK;YAAEU,SAAS,GAAA4L,aAAA,CAAT5L,SAAS;YAAE8L,yBAAyB,GAAAF,aAAA,CAAzBE,yBAAyB;YAAE9E,WAAW,GAAA4E,aAAA,CAAX5E,WAAW,CAAA;EAYhEmB,QAAAA,cAAc,GAAApG,cAAA,CAAAA,cAAA,CAAAA,cAAA,CACToG,EAAAA,EAAAA,cAAc,CACd7I,EAAAA,KAAK,CACJwM,EAAAA,yBAAyB,GAAG;YAAEjH,KAAK,EAAEkH,iBAAY,CAACzM,KAAK,CAAA;WAAG,GAAG,IAAI,CACtE,CAAA;EAED,QAAA,IAAI,CAACU,SAAS,GAAGA,SAAS,IAAI,IAAI,CAACA,SAAS,CAAA;EAC5C,QAAA,IAAIgM,KAAK,GAAG/D,cAAS,CAACC,wBAAwB,CAC5CC,cAAc,EACdnB,WAAW,KAAK3G,SAAS,GAAG2G,WAAW,GAAG,IAAI,CAACA,WACjD,CAAC,CAAA;UACD,IAAI,CAACiF,YAAM,CAACD,KAAK,EAAE,IAAI,CAAChF,WAAW,CAAC,EAAE;YACpC,IAAI,CAACA,WAAW,GAAGgF,KAAK,CAAA;EAC1B,SAAA;UAEA,IAAI,CAAC9H,oBAAe,CAAC,IAAI,CAAC4D,kBAAkB,EAAEK,cAAc,CAAC,EAAE;EAC7D,UAAA,IAAI,CAAC+D,kBAAkB,CAAC/D,cAAc,CAAC,CAAA;EACzC,SAAA;EACF,OAAA;;EAEA;QACA,IAAI,IAAI,CAACL,kBAAkB,KAAK,IAAI,IAAI5G,mBAAc,CAACiH,cAAc,CAAC,EAAE;UACtE,IAAI,CAACjB,cAAc,GAAG,KAAK,CAAA;EAC7B,OAAA;QAEA,IAAI,CAAChD,oBAAe,CAAC,IAAI,CAAC4D,kBAAkB,EAAEK,cAAc,CAAC,EAAE;UAC7D,IAAI,CAACL,kBAAkB,GAAGK,cAAc,CAAA;EAC1C,OAAA;EACA,MAAA,OAAOA,cAAc,CAAA;EACvB,KAAA;KACD;IAEK1H,OAAO,EAAA,SAAPA,OAAOA,GAAG;EAAA,IAAA,IAAAkC,MAAA,GAAA,IAAA,CAAA;EAAA,IAAA,OAAAhC,iBAAA,cAAAC,YAAA,EAAAC,CAAAA,CAAA,UAAAC,OAAA,GAAA;EAAA,MAAA,IAAAqL,cAAA,CAAA;EAAA,MAAA,OAAAvL,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAC,QAAA,EAAA;UAAA,OAAAA,CAAAA,EAAAA,QAAAA,QAAA,CAAAC,CAAA;EAAA,UAAA,KAAA,CAAA;EAAAD,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;EAAA,YAAA,OACI0B,MAAI,CAAC7C,OAAO,CAAC6F,IAAI,EAAE,CAAA;EAAA,UAAA,KAAA,CAAA;EAArChD,YAAAA,MAAI,CAACgD,IAAI,GAAA3E,QAAA,CAAA0B,CAAA,CAAA;cAETC,MAAI,CAACuJ,kBAAkB,EAAE,CAAA;EAAC,YAAA,IAAA,CAEtBhL,mBAAc,CAACyB,MAAI,CAACsE,YAAY,CAAC,EAAA;EAAAjG,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;EAAA,cAAA,MAAA;EAAA,aAAA;EAAAD,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA,CAAA;cAAA,OACN0B,MAAI,CAAC7C,OAAO,CAACsM,MAAM,CAACzJ,MAAI,CAACsE,YAAY,CAAC,CAAA;EAAA,UAAA,KAAA,CAAA;cAA7DkF,cAAc,GAAAnL,QAAA,CAAA0B,CAAA,CAAA;cACpBC,MAAI,CAACqE,WAAW,GAAGiB,cAAS,CAACC,wBAAwB,CACnD,CAAAiE,cAAc,KAAdA,IAAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAEE,UAAU,KAAI,EAAE,EAChC1J,MAAI,CAACqE,WACP,CAAC,CAAA;EAAC,UAAA,KAAA,CAAA;cAAA,OAAAhG,QAAA,CAAAK,CAAA,CAAA,CAAA,CAAA,CAAA;EAAA,SAAA;EAAA,OAAA,EAAAP,OAAA,CAAA,CAAA;EAAA,KAAA,CAAA,CAAA,EAAA,CAAA;KAEL;EAEDoB,EAAAA,OAAO,EAAE;EACPgK,IAAAA,kBAAkB,EAAlBA,SAAAA,kBAAkBA,CAAC5M,KAAK,EAAE;EAAA,MAAA,IAAAgN,MAAA,GAAA,IAAA,CAAA;EACxB,MAAA,IAAAC,KAAA,GAUIjN,KAAK,IAAI,IAAI,CAAC2H,YAAY;UAAAuF,cAAA,GAAAD,KAAA,CAT5BzK,QAAQ;EAARA,QAAAA,QAAQ,GAAA0K,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;UAAAC,gBAAA,GAAAF,KAAA,CACbnF,UAAU;EAAVA,QAAAA,UAAU,GAAAqF,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;UAAAC,cAAA,GAAAH,KAAA,CACflF,QAAQ;EAARA,QAAAA,QAAQ,GAAAqF,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;UAAAC,oBAAA,GAAAJ,KAAA,CACbjF,cAAc;EAAdA,QAAAA,cAAc,GAAAqF,oBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,oBAAA;UAAAC,aAAA,GAAAL,KAAA,CACnBrH,OAAO;EAAPA,QAAAA,OAAO,GAAA0H,aAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,aAAA;UACZjF,KAAK,GAAA4E,KAAA,CAAL5E,KAAK;UACLC,MAAM,GAAA2E,KAAA,CAAN3E,MAAM;UACNC,UAAU,GAAA0E,KAAA,CAAV1E,UAAU;UACVhD,KAAK,GAAA0H,KAAA,CAAL1H,KAAK,CAAA;QAGP,IAAI,CAAC/C,QAAQ,GAAGA,QAAQ,CAACsB,GAAG,CAAC,UAACvC,CAAC,EAAEqF,KAAK,EAAA;EAAA,QAAA,OAAAnE,cAAA,CAAA;EACpCmE,UAAAA,KAAK,EAALA,KAAAA;WACGoG,EAAAA,MAAI,CAAC3G,IAAI,CAACG,aAAa,CAACjF,CAAC,EAAE,UAAU,CAAC,CAAA,CAAA;EAAA,OACzC,CAAC,CAAA;QACH,IAAI,CAACuG,UAAU,GAAGA,UAAU,CAAChE,GAAG,CAAC,UAACvC,CAAC,EAAEqF,KAAK,EAAA;EAAA,QAAA,OAAAnE,cAAA,CAAA;EACxCmE,UAAAA,KAAK,EAALA,KAAAA;WACGoG,EAAAA,MAAI,CAAC3G,IAAI,CAACG,aAAa,CAACjF,CAAC,EAAE,YAAY,CAAC,CAAA,CAAA;EAAA,OAC3C,CAAC,CAAA;QACH,IAAI,CAACwG,QAAQ,GAAGA,QAAQ,CAACjE,GAAG,CAAC,UAACvC,CAAC,EAAEqF,KAAK,EAAA;EAAA,QAAA,OAAAnE,cAAA,CAAA;EACpCmE,UAAAA,KAAK,EAALA,KAAAA;WACGoG,EAAAA,MAAI,CAAC3G,IAAI,CAACG,aAAa,CAACjF,CAAC,EAAE,UAAU,CAAC,CAAA,CAAA;EAAA,OACzC,CAAC,CAAA;QACH,IAAI,CAACyG,cAAc,GAAGA,cAAc,CAAClE,GAAG,CAAC,UAACvC,CAAC,EAAEqF,KAAK,EAAA;EAAA,QAAA,OAAAnE,cAAA,CAAAA,cAAA,CAAA,EAAA,EAC7ClB,CAAC,CAAA,EAAA,EAAA,EAAA;EACJgF,UAAAA,SAAS,EAAA9D,cAAA,CAAAA,cAAA,CAAA,EAAA,EACJuK,MAAI,CAAC3G,IAAI,CAACG,aAAa,CAACjF,CAAC,CAACgF,SAAS,EAAE,YAAY,CAAC,CAAA,EAAA,EAAA,EAAA;cACrDkC,aAAa,EAAEuE,MAAI,CAACvE,aAAAA;aACrB,CAAA;EACD7B,UAAAA,KAAK,EAALA,KAAAA;EAAK,SAAA,CAAA,CAAA;EAAA,OACL,CAAC,CAAA;EAEH,MAAA,IAAM2G,WAAW,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QAC9C,IAAI,CAAC3H,OAAO,GAAGA,OAAO,CAAC9B,GAAG,CAAC,UAACvC,CAAC,EAAEqF,KAAK,EAAK;UACvC,IAAMN,UAAU,GAAG/E,CAAC,CAACyD,MAAM,IAAIzD,CAAC,CAACgF,SAAS,CAAA;EAC1C,QAAA,OAAA9D,cAAA,CAAAA,cAAA,CAAA,EAAA,EACKlB,CAAC,CAAA,EAAA,EAAA,EAAA;EACJyD,UAAAA,MAAM,EAAEsB,UAAU,IAAI0G,MAAI,CAAC3G,IAAI,CAACG,aAAa,CAACF,UAAU,EAAEiH,WAAW,CAAC;EACtE7H,UAAAA,SAAS,EAAEY,UAAU,IAAI0G,MAAI,CAAC3G,IAAI,CAACmH,wBAAwB,CAAClH,UAAU,EAAEiH,WAAW,CAAC;YACpF1G,GAAG,EAAEJ,eAAc,CAACuG,MAAI,CAAC3G,IAAI,EAAE9E,CAAC,CAACsF,GAAG,CAAC;YACrCC,EAAE,EAAEL,eAAc,CAACuG,MAAI,CAAC3G,IAAI,EAAE9E,CAAC,CAACuF,EAAE,CAAC;EACnCF,UAAAA,KAAK,EAALA,KAAAA;EAAK,SAAA,CAAA,CAAA;EAET,OAAC,CAAC,CAAA;EAEF,MAAA,IAAI,CAACqB,iBAAiB,GAAG,IAAI,CAAC5B,IAAI,CAACoH,eAAe,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,CAAA;EACxE,MAAA,IAAI,CAACvF,mBAAmB,GAAG,IAAI,CAAC7B,IAAI,CAACoH,eAAe,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,CAAA;QAC5E,IAAI,CAACtF,uBAAuB,GAAG,CAAC,IAAI,CAAC9B,IAAI,CAACoH,eAAe,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE7B,MAAM,CACvF,UAACrK,CAAC,EAAA;EAAA,QAAA,OAAKA,CAAC,CAACtB,IAAI,KAAK,MAAM,CAAA;EAAA,OAC1B,CAAC,CAAA;EACD,MAAA,IAAI,CAACmI,iBAAiB,GAAG,IAAI,CAAC/B,IAAI,CAACoH,eAAe,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,CAAA;EACxE,MAAA,IAAI,CAACpF,KAAK,GAAGA,KAAK,IAAI,KAAK,CAAA;EAC3B,MAAA,IAAI,CAACC,MAAM,GAAGA,MAAM,IAAI,IAAI,CAAA;EAC5B,MAAA,IAAI,CAACC,UAAU,GAAGA,UAAU,IAAI,KAAK,CAAA;EACrC,MAAA,IAAI,CAAChD,KAAK,GAAGA,KAAK,IAAI,IAAI,CAAA;OAC3B;EACDqF,IAAAA,SAAS,WAATA,SAASA,CAACoB,OAAO,EAAEhH,MAAM,EAAE;EACzB,MAAA,IAAMd,IAAI,GAAG8H,OAAO,CAACvB,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGsB,OAAO,CAACrB,KAAK,CAAC,CAAC,CAAC,CAAA;EAC/D,MAAA,IAAI+C,GAAG,CAAA;QAEP,IAAI1B,OAAO,KAAK,gBAAgB,EAAE;UAChC0B,GAAG,GAAG,IAAI,CAAA,WAAA,CAAAlI,MAAA,CAAatB,IAAI,CAAA,CAAG,CAACyJ,IAAI,CAAC,UAACpM,CAAC,EAAA;EAAA,UAAA,OAAKA,CAAC,CAAC2C,IAAI,KAAKc,MAAM,CAACuB,SAAS,CAAA;WAAC,CAAA,CAAA;EACvE,QAAA,IAAImH,GAAG,EAAE;EACP,UAAA,IAAMnH,SAAS,GAAA9D,cAAA,CAAAA,cAAA,KACV,IAAI,CAAC4D,IAAI,CAACG,aAAa,CAACkH,GAAG,CAACxJ,IAAI,EAAE,YAAY,CAAC,CAAA,EAAA,EAAA,EAAA;cAClDuE,aAAa,EAAE,IAAI,CAACA,aAAAA;aACrB,CAAA,CAAA;EAEDiF,UAAAA,GAAG,GAAAjL,cAAA,CAAAA,cAAA,KACEiL,GAAG,CAAA,EAAA,EAAA,EAAA;cACNhC,WAAW,EAAE1G,MAAM,CAAC0G,WAAW;cAC/BO,SAAS,EAAEjH,MAAM,CAACiH,SAAS;EAC3B1F,YAAAA,SAAS,EAATA,SAAS;EACTK,YAAAA,KAAK,EAAE,IAAI,CAACoF,OAAO,CAAC,CAAC/F,MAAAA;aACtB,CAAA,CAAA;EACH,SAAA;EACF,OAAC,MAAM,IAAI+F,OAAO,KAAK,SAAS,EAAE;EAChC0B,QAAAA,GAAG,GAAAjL,cAAA,CAAAA,cAAA,KACEuC,MAAM,CAAA,EAAA,EAAA,EAAA;YACT6B,GAAG,EAAEJ,eAAc,CAAC,IAAI,CAACJ,IAAI,EAAErB,MAAM,CAAC6B,GAAG,CAAC;YAC1CC,EAAE,EAAEL,eAAc,CAAC,IAAI,CAACJ,IAAI,EAAErB,MAAM,CAAC8B,EAAE,CAAC;EACxC9B,UAAAA,MAAM,EAAEoB,qBAAqB,CAAC,IAAI,CAACC,IAAI,EAAErB,MAAM,CAAA;WAChD,CAAA,CAAA;EACH,OAAC,MAAM;UACL0I,GAAG,GAAG,IAAI,CAAA,WAAA,CAAAlI,MAAA,CAAatB,IAAI,CAAA,CAAG,CAACyJ,IAAI,CAAC,UAACpM,CAAC,EAAA;EAAA,UAAA,OAAKA,CAAC,CAAC2C,IAAI,KAAKc,MAAM,CAAA;WAAC,CAAA,CAAA;EAC/D,OAAA;EAEA,MAAA,IAAI0I,GAAG,EAAE;EACP,QAAA,IAAI,CAAC1B,OAAO,CAAC,CAACL,IAAI,CAAC+B,GAAG,CAAC,CAAA;EACzB,OAAA;OACD;EACD3C,IAAAA,YAAY,WAAZA,YAAYA,CAACiB,OAAO,EAAEhH,MAAM,EAAE;EAC5B,MAAA,IAAMd,IAAI,GAAG8H,OAAO,CAACvB,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGsB,OAAO,CAACrB,KAAK,CAAC,CAAC,CAAC,CAAA;EAC/D,MAAA,IAAI+C,GAAG,CAAA;QAEP,IAAI1B,OAAO,KAAK,gBAAgB,EAAE;UAChC0B,GAAG,GAAG,IAAI,CAAA,WAAA,CAAAlI,MAAA,CAAatB,IAAI,CAAA,CAAG,CAACyJ,IAAI,CAAC,UAACtD,CAAC,EAAA;EAAA,UAAA,OAAKA,CAAC,CAACnG,IAAI,KAAKc,MAAM,CAAA;WAAC,CAAA,CAAA;EAC/D,OAAC,MAAM,IAAIgH,OAAO,KAAK,SAAS,EAAE;EAChC0B,QAAAA,GAAG,GAAG1I,MAAM,CAAA;EACd,OAAC,MAAM;UACL0I,GAAG,GAAG,IAAI,CAAA,WAAA,CAAAlI,MAAA,CAAatB,IAAI,CAAA,CAAG,CAACyJ,IAAI,CAAC,UAACpM,CAAC,EAAA;EAAA,UAAA,OAAKA,CAAC,CAAC2C,IAAI,KAAKc,MAAM,CAAA;WAAC,CAAA,CAAA;EAC/D,OAAA;EAEA,MAAA,IAAI0I,GAAG,EAAE;UACP,IAAM9G,KAAK,GAAG,IAAI,CAACoF,OAAO,CAAC,CAAC4B,SAAS,CAAC,UAACvD,CAAC,EAAA;EAAA,UAAA,OAAKA,CAAC,CAACnG,IAAI,KAAKwJ,GAAG,CAAA;WAAC,CAAA,CAAA;UAC5D,IAAI,CAAC1B,OAAO,CAAC,CAAC6B,MAAM,CAACjH,KAAK,EAAE,CAAC,CAAC,CAAA;EAChC,OAAA;OACD;MACDkE,YAAY,EAAA,SAAZA,YAAYA,CAACkB,OAAO,EAAE8B,GAAG,EAAE9I,MAAM,EAAE;EACjC,MAAA,IAAMd,IAAI,GAAG8H,OAAO,CAACvB,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGsB,OAAO,CAACrB,KAAK,CAAC,CAAC,CAAC,CAAA;EAC/D,MAAA,IAAI+C,GAAG,CAAA;EACP,MAAA,IAAI9G,KAAK,CAAA;QAET,IAAIoF,OAAO,KAAK,gBAAgB,EAAE;UAChCpF,KAAK,GAAG,IAAI,CAACoF,OAAO,CAAC,CAAC4B,SAAS,CAAC,UAACvD,CAAC,EAAA;YAAA,OAAKA,CAAC,CAAC9D,SAAS,CAACrC,IAAI,KAAK4J,GAAG,CAACvH,SAAS,CAAA;WAAC,CAAA,CAAA;UAC1EmH,GAAG,GAAG,IAAI,CAAA,WAAA,CAAAlI,MAAA,CAAatB,IAAI,CAAA,CAAG,CAACyJ,IAAI,CAAC,UAACpM,CAAC,EAAA;EAAA,UAAA,OAAKA,CAAC,CAAC2C,IAAI,KAAKc,MAAM,CAACuB,SAAS,CAAA;WAAC,CAAA,CAAA;EACvE,QAAA,IAAImH,GAAG,EAAE;EACP,UAAA,IAAMnH,SAAS,GAAA9D,cAAA,CAAAA,cAAA,KACV,IAAI,CAAC4D,IAAI,CAACG,aAAa,CAACkH,GAAG,CAACxJ,IAAI,EAAE,YAAY,CAAC,CAAA,EAAA,EAAA,EAAA;cAClDuE,aAAa,EAAE,IAAI,CAACA,aAAAA;aACrB,CAAA,CAAA;EAEDiF,UAAAA,GAAG,GAAAjL,cAAA,CAAAA,cAAA,KACEiL,GAAG,CAAA,EAAA,EAAA,EAAA;EACNnH,YAAAA,SAAS,EAATA,SAAS;cACTmF,WAAW,EAAE1G,MAAM,CAAC0G,WAAW;cAC/BO,SAAS,EAAEjH,MAAM,CAACiH,SAAS;EAC3BrF,YAAAA,KAAK,EAALA,KAAAA;aACD,CAAA,CAAA;EACH,SAAA;EACF,OAAC,MAAM,IAAIoF,OAAO,KAAK,SAAS,EAAE;UAChCpF,KAAK,GAAG,IAAI,CAACoF,OAAO,CAAC,CAAC4B,SAAS,CAAC,UAACvD,CAAC,EAAA;EAAA,UAAA,OAAKA,CAAC,CAAC9D,SAAS,KAAKuH,GAAG,CAAA;WAAC,CAAA,CAAA;EAC3DJ,QAAAA,GAAG,GAAAjL,cAAA,CAAAA,cAAA,KACEuC,MAAM,CAAA,EAAA,EAAA,EAAA;YACT6B,GAAG,EAAEJ,eAAc,CAAC,IAAI,CAACJ,IAAI,EAAErB,MAAM,CAAC6B,GAAG,CAAC;YAC1CC,EAAE,EAAEL,eAAc,CAAC,IAAI,CAACJ,IAAI,EAAErB,MAAM,CAAC8B,EAAE,CAAC;EACxC9B,UAAAA,MAAM,EAAEoB,qBAAqB,CAAC,IAAI,CAACC,IAAI,EAAErB,MAAM,CAAA;WAChD,CAAA,CAAA;EACH,OAAC,MAAM;UACL4B,KAAK,GAAG,IAAI,CAACoF,OAAO,CAAC,CAAC4B,SAAS,CAAC,UAACvD,CAAC,EAAA;EAAA,UAAA,OAAKA,CAAC,CAACnG,IAAI,KAAK4J,GAAG,CAAA;WAAC,CAAA,CAAA;UACtDJ,GAAG,GAAG,IAAI,CAAA,WAAA,CAAAlI,MAAA,CAAatB,IAAI,CAAA,CAAG,CAACyJ,IAAI,CAAC,UAACpM,CAAC,EAAA;EAAA,UAAA,OAAKA,CAAC,CAAC2C,IAAI,KAAKc,MAAM,CAAA;WAAC,CAAA,CAAA;EAC/D,OAAA;EAEA,MAAA,IAAI0I,GAAG,EAAE;UACP,IAAI,CAAC1B,OAAO,CAAC,CAAC6B,MAAM,CAACjH,KAAK,EAAE,CAAC,EAAE8G,GAAG,CAAC,CAAA;EACrC,OAAA;OACD;EACDzC,IAAAA,UAAU,WAAVA,UAAUA,CAACe,OAAO,EAAEhB,OAAO,EAAE;EAAA,MAAA,IAAA+C,MAAA,GAAA,IAAA,CAAA;EAC3B,MAAA,IAAM7J,IAAI,GAAG8H,OAAO,CAACvB,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGsB,OAAO,CAACrB,KAAK,CAAC,CAAC,CAAC,CAAA;EAC/D,MAAA,IAAI+C,GAAG,CAAA;QACP,IAAMM,QAAQ,GAAG,EAAE,CAAA;QAEnBhD,OAAO,CAACY,MAAM,CAACzE,OAAO,CAAC,CAACoD,OAAO,CAAC,UAAChJ,CAAC,EAAK;UACrC,IAAIyK,OAAO,KAAK,gBAAgB,EAAE;YAChC0B,GAAG,GAAGK,MAAI,CAAA,WAAA,CAAAvI,MAAA,CAAatB,IAAI,CAAA,CAAG,CAACyJ,IAAI,CAAC,UAACtD,CAAC,EAAA;EAAA,YAAA,OAAKA,CAAC,CAACnG,IAAI,KAAK3C,CAAC,CAACgF,SAAS,CAAA;aAAC,CAAA,CAAA;EAClE,UAAA,IAAImH,GAAG,EAAE;EACP,YAAA,IAAMnH,SAAS,GAAA9D,cAAA,CAAAA,cAAA,KACVsL,MAAI,CAAC1H,IAAI,CAACG,aAAa,CAACkH,GAAG,CAACxJ,IAAI,EAAE,YAAY,CAAC,CAAA,EAAA,EAAA,EAAA;gBAClDuE,aAAa,EAAEsF,MAAI,CAACtF,aAAAA;eACrB,CAAA,CAAA;EAEDiF,YAAAA,GAAG,GAAAjL,cAAA,CAAAA,cAAA,KACEiL,GAAG,CAAA,EAAA,EAAA,EAAA;gBACNhC,WAAW,EAAEnK,CAAC,CAACmK,WAAW;gBAC1BO,SAAS,EAAE1K,CAAC,CAAC0K,SAAS;EACtB1F,cAAAA,SAAS,EAATA,SAAS;EACTK,cAAAA,KAAK,EAAEmH,MAAI,CAAC/B,OAAO,CAAC,CAAC/F,MAAAA;eACtB,CAAA,CAAA;EACH,WAAA;EACF,SAAC,MAAM,IAAI+F,OAAO,KAAK,SAAS,EAAE;EAChC0B,UAAAA,GAAG,GAAAjL,cAAA,CAAAA,cAAA,KACElB,CAAC,CAAA,EAAA,EAAA,EAAA;cACJsF,GAAG,EAAEJ,eAAc,CAACsH,MAAI,CAAC1H,IAAI,EAAE9E,CAAC,CAACsF,GAAG,CAAC;cACrCC,EAAE,EAAEL,eAAc,CAACsH,MAAI,CAAC1H,IAAI,EAAE9E,CAAC,CAACuF,EAAE,CAAC;EACnC9B,YAAAA,MAAM,EAAEoB,qBAAqB,CAAC2H,MAAI,CAAC1H,IAAI,EAAE9E,CAAC,CAAA;aAC3C,CAAA,CAAA;EACH,SAAC,MAAM;YACLmM,GAAG,GAAGK,MAAI,CAAA,WAAA,CAAAvI,MAAA,CAAatB,IAAI,CAAA,CAAG,CAACyJ,IAAI,CAAC,UAACtD,CAAC,EAAA;EAAA,YAAA,OAAKA,CAAC,CAACnG,IAAI,KAAK3C,CAAC,CAAA;aAAC,CAAA,CAAA;EAC1D,SAAA;EAEA,QAAA,IAAImM,GAAG,EAAE;EACPM,UAAAA,QAAQ,CAACrC,IAAI,CAAC+B,GAAG,CAAC,CAAA;EACpB,SAAA;EACF,OAAC,CAAC,CAAA;EAEF,MAAA,IAAI,CAAC1B,OAAO,CAAC,GAAGgC,QAAQ,CAAA;OACzB;EACDlF,IAAAA,QAAQ,EAARA,SAAAA,QAAQA,CAACT,KAAK,EAAE;QACd,IAAI,CAACA,KAAK,GAAGA,KAAK,CAAA;OACnB;MACDU,WAAW,EAAA,SAAXA,WAAWA,GAAG;QACZ,IAAI,CAACV,KAAK,GAAG,IAAI,CAAA;OAClB;EACDW,IAAAA,SAAS,EAATA,SAAAA,SAASA,CAACV,MAAM,EAAE;QAChB,IAAI,CAACA,MAAM,GAAGA,MAAM,CAAA;OACrB;MACDW,YAAY,EAAA,SAAZA,YAAYA,GAAG;QACb,IAAI,CAACX,MAAM,GAAG,IAAI,CAAA;OACnB;EACDc,IAAAA,WAAW,EAAXA,SAAAA,WAAWA,CAAC1I,SAAS,EAAE;QACrB,IAAI,CAACA,SAAS,GAAGA,SAAS,CAAA;OAC3B;MACD2I,QAAQ,EAAA,SAARA,QAAQA,GAAa;EAAA,MAAA,IAAZ9D,KAAK,GAAA0I,SAAA,CAAAhI,MAAA,GAAA,CAAA,IAAAgI,SAAA,CAAA,CAAA,CAAA,KAAAlN,SAAA,GAAAkN,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC1I,KAAK,GAAGA,KAAK,CAAA;OACnB;EACD2I,IAAAA,kBAAkB,EAAlBA,SAAAA,kBAAkBA,CAACC,eAAe,EAAE;EAClC,MAAA,IAAI,CAAC5J,KAAK,CACR,gBAAgB,EAChB6J,WAAK,CAAA3L,cAAA,CAAAA,cAAA,CAAA,EAAA,EACA,IAAI,CAACoJ,QAAQ,GACbsC,eAAe,CACnB,CACH,CAAC,CAAA;EACH,KAAA;KACD;EAED7J,EAAAA,KAAK,EAAE;EACLuE,IAAAA,cAAc,EAAE;EACdpE,MAAAA,IAAI,EAAE,IAAI;EACVC,MAAAA,OAAO,WAAPA,OAAOA,CAAC1E,KAAK,EAAE2E,SAAS,EAAE;EAAA,QAAA,IAAA0J,MAAA,GAAA,IAAA,CAAA;UACxB,IAAMC,eAAe,GAAG,CAAC1J,oBAAe,CAAC5E,KAAK,EAAE2E,SAAS,CAAC,CAAA;EAE1D,QAAA,IAAI2J,eAAe,EAAE;YACnB,IAAI,CAACJ,kBAAkB,CAAC;EACtBlO,YAAAA,KAAK,EAALA,KAAAA;EACF,WAAC,CAAC,CAAA;EACJ,SAAA;EAEA,QAAA,IAAI4B,mBAAc,CAAC5B,KAAK,CAAC,IAAIsO,eAAe,EAAE;EAC5C,UAAA,IAAI,CAAC9N,OAAO,CACTsM,MAAM,CAAC9M,KAAK,EAAE;cACba,QAAQ,EAAE,IAAI,CAACgH,KAAAA;EACjB,WAAC,CAAC,CACD1D,IAAI,CAAC,UAACoK,MAAM,EAAK;EAChB,YAAA,IAAM7G,WAAW,GAAGiB,cAAS,CAACC,wBAAwB,CAAC2F,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAExB,UAAU,EAAEsB,MAAI,CAAC3G,WAAW,CAAC,CAAA;cAE5F,IAAI,CAACiF,YAAM,CAACjF,WAAW,EAAE2G,MAAI,CAAC3G,WAAW,CAAC,EAAE;gBAC1C2G,MAAI,CAAC3G,WAAW,GAAGA,WAAW,CAAA;EAChC,aAAA;EACF,WAAC,CAAC,CAAA,OAAA,CACI,CAAC,UAAC5G,KAAK,EAAA;EAAA,YAAA,OAAK0N,OAAO,CAAC1N,KAAK,CAACA,KAAK,CAAC,CAAA;aAAC,CAAA,CAAA;EAC3C,SAAA;EACF,OAAA;OACD;EACDd,IAAAA,KAAK,EAAE;EACLyE,MAAAA,IAAI,EAAE,IAAI;EACVC,MAAAA,OAAO,EAAPA,SAAAA,OAAOA,CAAC1E,KAAK,EAAE;EACb,QAAA,IAAI,CAAC,IAAI,CAACqG,IAAI,EAAE;EACd;EACA;EACA;EACA,UAAA,OAAA;EACF,SAAA;EACA,QAAA,IAAI,CAACuG,kBAAkB,CAAC5M,KAAK,CAAC,CAAA;EAChC,OAAA;OACD;EACD0H,IAAAA,WAAW,EAAE;EACXjD,MAAAA,IAAI,EAAE,IAAI;EACVC,MAAAA,OAAO,WAAPA,OAAOA,CAACgD,WAAW,EAAE+G,eAAe,EAAE;EACpC,QAAA,IAAI,CAAC9B,YAAM,CAACjF,WAAW,EAAE+G,eAAe,CAAC,EAAE;YACzC,IAAI,CAACP,kBAAkB,CAAC;EACtBxG,YAAAA,WAAW,EAAXA,WAAAA;EACF,WAAC,CAAC,CAAA;EACJ,SAAA;EACF,OAAA;OACD;EACDhH,IAAAA,SAAS,EAATA,SAAAA,SAASA,CAACgO,KAAK,EAAE;QACf,IAAI,CAACR,kBAAkB,CAAC;EACtBxN,QAAAA,SAAS,EAAEgO,KAAAA;EACb,OAAC,CAAC,CAAA;EACJ,KAAA;EACF,GAAA;EACF,CAAC;;AClrBD,cAAe,EAAE;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"cubejs-client-vue3.umd.js","sources":["../src/QueryRenderer.js","../src/QueryBuilder.js","../src/index.js"],"sourcesContent":["import { toPairs, fromPairs } from 'ramda';\nimport { isQueryPresent, areQueriesEqual } from '@cubejs-client/core';\nimport { h as createElement } from 'vue';\n\nexport default {\n props: {\n query: {\n type: [Object, Array],\n default: () => ({}),\n },\n // TODO: validate with current react implementation\n queries: {\n type: Object,\n },\n loadSql: {\n required: false,\n },\n cubeApi: {\n type: Object,\n required: true,\n },\n builderProps: {\n type: Object,\n required: false,\n default: () => ({}),\n },\n chartType: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n mutexObj: {},\n error: undefined,\n resultSet: undefined,\n loading: false,\n sqlQuery: undefined,\n };\n },\n async mounted() {\n const { query, queries } = this;\n\n if (isQueryPresent(query)) {\n await this.load();\n } else if (isQueryPresent(queries)) {\n await this.loadQueries(queries);\n }\n },\n render() {\n const { $slots, resultSet, error, loading, sqlQuery } = this;\n const empty = createElement('div', {});\n let slot = this.$slots.empty ? this.$slots.empty() : empty;\n let controls = createElement('div', {});\n const onlyDefault = !('empty' in this.$slots) && !('error' in this.$slots);\n\n if ($slots.builder && this.builderProps.measures) {\n controls = $slots.builder({ ...this.builderProps });\n }\n\n if ((!loading && resultSet && !error) || onlyDefault) {\n let slotProps = {\n resultSet,\n sqlQuery,\n query: this.builderProps.query || this.query,\n };\n\n if (onlyDefault) {\n slotProps = {\n loading,\n error,\n refetch: this.load,\n ...this.builderProps,\n ...slotProps,\n };\n }\n slot = $slots.default ? $slots.default(slotProps) : slot;\n } else if (error) {\n slot = $slots.error ? $slots.error({ error, sqlQuery }) : slot;\n }\n\n return createElement('div', {}, [controls, slot]);\n },\n methods: {\n async load() {\n const { query } = this;\n\n if (!isQueryPresent(query)) {\n return;\n }\n\n try {\n this.loading = true;\n this.error = null;\n this.resultSet = null;\n\n if (this.loadSql === 'only') {\n this.sqlQuery = await this.cubeApi.sql(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'sql',\n });\n } else if (this.loadSql) {\n this.sqlQuery = await this.cubeApi.sql(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'sql',\n });\n this.resultSet = await this.cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n });\n } else {\n this.resultSet = await this.cubeApi.load(query, {\n mutexObj: this.mutexObj,\n mutexKey: 'query',\n });\n }\n\n this.loading = false;\n } catch (error) {\n this.error = error;\n this.resultSet = undefined;\n this.loading = false;\n }\n },\n async loadQueries() {\n const { queries } = this;\n try {\n this.error = undefined;\n this.loading = true;\n\n const resultPromises = Promise.all(\n toPairs(queries).map(([name, query]) =>\n this.cubeApi\n .load(query, {\n mutexObj: this.mutexObj,\n mutexKey: name,\n })\n .then((r) => [name, r])\n )\n );\n\n this.resultSet = fromPairs(await resultPromises);\n this.loading = false;\n } catch (error) {\n this.error = error;\n this.loading = false;\n }\n },\n },\n watch: {\n loading(loading) {\n if (loading === false) {\n this.$emit('queryStatus', {\n isLoading: false,\n error: this.error,\n resultSet: this.resultSet,\n });\n } else {\n this.$emit('queryStatus', { isLoading: true });\n }\n },\n cubeApi() {\n this.load();\n },\n chartType() {\n this.load();\n },\n query: {\n deep: true,\n handler(query, prevQuery) {\n if (!areQueriesEqual(query, prevQuery)) {\n this.load();\n }\n },\n },\n queries: {\n handler(val) {\n if (val) {\n this.loadQueries();\n }\n },\n deep: true,\n },\n },\n};\n","import {\n isQueryPresent,\n defaultOrder,\n defaultHeuristics,\n GRANULARITIES,\n ResultSet,\n getOrderMembersFromOrder,\n moveItemInArray,\n movePivotItem,\n areQueriesEqual,\n} from '@cubejs-client/core';\nimport { h } from 'vue';\nimport { clone, equals } from 'ramda';\n\nimport QueryRenderer from './QueryRenderer';\n\nconst QUERY_ELEMENTS = ['measures', 'dimensions', 'segments', 'timeDimensions', 'filters'];\n\nconst toOrderMember = (member) => ({\n id: member.name,\n title: member.title,\n});\n\nconst reduceOrderMembers = (array) =>\n array.reduce((acc, { id, order }) => (order !== 'none' ? [...acc, [id, order]] : acc), []);\n\nconst operators = [ 'and', 'or' ]\n\nconst validateFilters = (filters) =>\n filters.reduce((acc, raw) => {\n if (raw.operator) {\n return [...acc, raw];\n }\n\n const validBooleanFilter = operators.reduce((acc, operator) => {\n const filters = raw[operator];\n\n const booleanFilters = validateFilters(filters || []);\n\n if (booleanFilters.length) {\n return { ...acc, [operator]: booleanFilters };\n }\n\n return acc;\n }, {});\n\n if (operators.some((operator) => validBooleanFilter[operator])) {\n return [...acc, validBooleanFilter];\n }\n\n return acc;\n }, []);\n\nconst getDimensionOrMeasure = (meta, m) => {\n const memberName = m.member || m.dimension;\n return memberName && meta.resolveMember(memberName, ['dimensions', 'measures']);\n};\n\nconst resolveMembers = (meta, arr) =>\n arr &&\n arr.map((e, index) => {\n return {\n ...e,\n member: getDimensionOrMeasure(meta, e),\n index,\n and: resolveMembers(meta, e.and),\n or: resolveMembers(meta, e.or),\n };\n });\n\nexport default {\n components: {\n QueryRenderer,\n },\n props: {\n query: {\n type: Object,\n default: () => ({}),\n },\n cubeApi: {\n type: Object,\n required: true,\n },\n initialChartType: {\n type: String,\n default: () => 'line',\n },\n disableHeuristics: {\n type: Boolean,\n },\n stateChangeHeuristics: {\n type: Function,\n },\n initialVizState: {\n type: Object,\n default: () => ({}),\n },\n },\n data() {\n const {\n query = this.query,\n chartType = this.initialChartType,\n pivotConfig,\n } = this.initialVizState;\n\n return {\n initialQuery: query,\n skipHeuristics: true,\n meta: undefined,\n mutex: {},\n chartType,\n measures: [],\n dimensions: [],\n segments: [],\n timeDimensions: [],\n filters: [],\n availableMeasures: [],\n availableDimensions: [],\n availableTimeDimensions: [],\n availableSegments: [],\n limit: null,\n offset: null,\n order: null,\n prevValidatedQuery: null,\n granularities: GRANULARITIES,\n pivotConfig: ResultSet.getNormalizedPivotConfig(query || {}, pivotConfig),\n };\n },\n\n render() {\n const {\n chartType,\n cubeApi,\n dimensions,\n filters,\n measures,\n meta,\n query,\n segments,\n timeDimensions,\n validatedQuery,\n isQueryPresent,\n availableSegments,\n availableTimeDimensions,\n availableDimensions,\n availableMeasures,\n limit,\n offset,\n setLimit,\n removeLimit,\n setOffset,\n removeOffset,\n order,\n orderMembers,\n } = this;\n\n let builderProps = {};\n\n if (meta) {\n builderProps = {\n query,\n validatedQuery,\n isQueryPresent,\n chartType,\n measures,\n dimensions,\n segments,\n timeDimensions,\n filters,\n availableSegments,\n availableTimeDimensions,\n availableDimensions,\n availableMeasures,\n updateChartType: this.updateChart,\n limit,\n offset,\n setLimit,\n removeLimit,\n setOffset,\n removeOffset,\n order,\n orderMembers,\n setOrder: this.setOrder,\n pivotConfig: this.pivotConfig,\n updateOrder: {\n set: (memberId, newOrder) => {\n this.order = reduceOrderMembers(\n orderMembers.map((orderMember) => ({\n ...orderMember,\n order: orderMember.id === memberId ? newOrder : orderMember.order,\n }))\n );\n },\n update: (newOrder) => {\n this.order = newOrder;\n },\n reorder: (sourceIndex, destinationIndex) => {\n this.order = reduceOrderMembers(\n moveItemInArray(orderMembers, sourceIndex, destinationIndex)\n );\n },\n },\n updatePivotConfig: {\n moveItem: ({ sourceIndex, destinationIndex, sourceAxis, destinationAxis }) => {\n this.pivotConfig = movePivotItem(\n this.pivotConfig,\n sourceIndex,\n destinationIndex,\n sourceAxis,\n destinationAxis\n );\n },\n update: (pivotConfig) => {\n this.pivotConfig = {\n x: pivotConfig.x || this.pivotConfig.x,\n y: pivotConfig.y || this.pivotConfig.y,\n };\n },\n },\n };\n\n QUERY_ELEMENTS.forEach((elementName) => {\n const name = elementName.charAt(0).toUpperCase() + elementName.slice(1);\n\n builderProps[`add${name}`] = (member) => {\n this.addMember(elementName, member);\n };\n\n builderProps[`update${name}`] = (member, updateWith) => {\n this.updateMember(elementName, member, updateWith);\n };\n\n builderProps[`remove${name}`] = (member) => {\n this.removeMember(elementName, member);\n };\n\n builderProps[`set${name}`] = (members) => {\n this.setMembers(elementName, members);\n };\n });\n }\n\n return h(\n QueryRenderer,\n {\n query: this.validatedQuery,\n cubeApi,\n builderProps,\n slots: this.$slots,\n on: {\n queryStatus: (event) => {\n this.$emit('queryStatus', event);\n },\n },\n },\n this.$slots\n );\n },\n computed: {\n isQueryPresent() {\n const { validatedQuery } = this;\n\n return isQueryPresent(validatedQuery);\n },\n orderMembers() {\n return getOrderMembersFromOrder(\n [\n ...this.measures,\n ...this.dimensions,\n ...this.timeDimensions.reduce((acc, { dimension, granularity }) => {\n if (granularity !== undefined) {\n acc.push(toOrderMember(dimension));\n }\n return acc;\n }, []),\n ]\n .map((member, index) => {\n const id = member.name || member.id;\n\n if (!id) {\n return false;\n }\n\n return {\n index,\n id,\n title: member.title,\n };\n })\n .filter(Boolean),\n this.order\n );\n },\n vizState() {\n return {\n query: this.validatedQuery,\n chartType: this.chartType,\n pivotConfig: this.pivotConfig,\n };\n },\n validatedQuery() {\n let validatedQuery = {};\n let toQuery = (member) => member.name;\n // TODO: implement timezone\n\n let hasElements = false;\n QUERY_ELEMENTS.forEach((element) => {\n if (element === 'timeDimensions') {\n toQuery = (member) => ({\n dimension: member.dimension.name,\n granularity: member.granularity,\n dateRange: member.dateRange,\n });\n } else if (element === 'filters') {\n toQuery = (member) => ({\n member: member.member && member.member.name,\n operator: member.operator,\n values: member.values,\n and: member.and && member.and.map(toQuery),\n or: member.or && member.or.map(toQuery),\n });\n }\n\n if (this[element].length > 0) {\n validatedQuery[element] = this[element].map((x) => toQuery(x));\n\n hasElements = true;\n }\n });\n\n if (validatedQuery.filters) {\n validatedQuery.filters = validateFilters(validatedQuery.filters)\n }\n\n // only set limit and offset if there are elements otherwise an invalid request with just limit/offset\n // gets sent when the component is first mounted, but before the actual query is constructed.\n if (hasElements) {\n if (this.limit) {\n validatedQuery.limit = this.limit;\n }\n\n if (this.offset) {\n validatedQuery.offset = this.offset;\n }\n\n if (this.order) {\n validatedQuery.order = this.order;\n }\n }\n\n if (\n !this.skipHeuristics &&\n !this.disableHeuristics &&\n isQueryPresent(validatedQuery) &&\n this.meta\n ) {\n const heuristicsFn = this.stateChangeHeuristics || defaultHeuristics;\n const { query, chartType, shouldApplyHeuristicOrder, pivotConfig } = heuristicsFn(\n {\n query: validatedQuery,\n chartType: this.chartType,\n },\n this.prevValidatedQuery,\n {\n meta: this.meta,\n sessionGranularity: validatedQuery?.timeDimensions?.[0]?.granularity,\n }\n );\n\n validatedQuery = {\n ...validatedQuery,\n ...query,\n ...(shouldApplyHeuristicOrder ? { order: defaultOrder(query) } : null),\n };\n\n this.chartType = chartType || this.chartType;\n let pivot = ResultSet.getNormalizedPivotConfig(\n validatedQuery,\n pivotConfig !== undefined ? pivotConfig : this.pivotConfig\n );\n if (!equals(pivot, this.pivotConfig)) {\n this.pivotConfig = pivot;\n }\n\n if (!areQueriesEqual(this.prevValidatedQuery, validatedQuery)) {\n this.copyQueryFromProps(validatedQuery);\n }\n }\n\n // query heuristics should only apply on query change (not applied to the initial query)\n if (this.prevValidatedQuery !== null && isQueryPresent(validatedQuery)) {\n this.skipHeuristics = false;\n }\n\n if (!areQueriesEqual(this.prevValidatedQuery, validatedQuery)) {\n this.prevValidatedQuery = validatedQuery;\n }\n return validatedQuery;\n },\n },\n\n async mounted() {\n this.meta = await this.cubeApi.meta();\n\n this.copyQueryFromProps();\n\n if (isQueryPresent(this.initialQuery)) {\n const dryRunResponse = await this.cubeApi.dryRun(this.initialQuery);\n this.pivotConfig = ResultSet.getNormalizedPivotConfig(\n dryRunResponse?.pivotQuery || {},\n this.pivotConfig\n );\n }\n },\n\n methods: {\n copyQueryFromProps(query) {\n const {\n measures = [],\n dimensions = [],\n segments = [],\n timeDimensions = [],\n filters = [],\n limit,\n offset,\n order,\n } = query || this.initialQuery;\n\n this.measures = measures.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'measures'),\n }));\n this.dimensions = dimensions.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'dimensions'),\n }));\n this.segments = segments.map((m, index) => ({\n index,\n ...this.meta.resolveMember(m, 'segments'),\n }));\n this.timeDimensions = timeDimensions.map((m, index) => ({\n ...m,\n dimension: {\n ...this.meta.resolveMember(m.dimension, 'dimensions'),\n granularities: this.granularities,\n },\n index,\n }));\n\n const memberTypes = ['dimensions', 'measures'];\n this.filters = filters.map((m, index) => {\n const memberName = m.member || m.dimension;\n return {\n ...m,\n member: memberName && this.meta.resolveMember(memberName, memberTypes),\n operators: memberName && this.meta.filterOperatorsForMember(memberName, memberTypes),\n and: resolveMembers(this.meta, m.and),\n or: resolveMembers(this.meta, m.or),\n index,\n };\n });\n\n this.availableMeasures = this.meta.membersForQuery({}, 'measures') || [];\n this.availableDimensions = this.meta.membersForQuery({}, 'dimensions') || [];\n this.availableTimeDimensions = (this.meta.membersForQuery({}, 'dimensions') || []).filter(\n (m) => m.type === 'time'\n );\n this.availableSegments = this.meta.membersForQuery({}, 'segments') || [];\n this.limit = limit || 10000;\n this.offset = offset || null;\n this.order = order || null;\n },\n addMember(element, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((m) => m.name === member.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n granularity: member.granularity,\n dateRange: member.dateRange,\n dimension,\n index: this[element].length,\n };\n }\n } else if (element === 'filters') {\n mem = {\n ...member,\n and: resolveMembers(this.meta, member.and),\n or: resolveMembers(this.meta, member.or),\n member: getDimensionOrMeasure(this.meta, member),\n }\n } else {\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n this[element].push(mem);\n }\n },\n removeMember(element, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((x) => x.name === member);\n } else if (element === 'filters') {\n mem = member;\n } else {\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n const index = this[element].findIndex((x) => x.name === mem);\n this[element].splice(index, 1);\n }\n },\n updateMember(element, old, member) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n let index;\n\n if (element === 'timeDimensions') {\n index = this[element].findIndex((x) => x.dimension.name === old.dimension);\n mem = this[`available${name}`].find((m) => m.name === member.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n dimension,\n granularity: member.granularity,\n dateRange: member.dateRange,\n index,\n };\n }\n } else if (element === 'filters') {\n index = this[element].findIndex((x) => x.dimension === old);\n mem = {\n ...member,\n and: resolveMembers(this.meta, member.and),\n or: resolveMembers(this.meta, member.or),\n member: getDimensionOrMeasure(this.meta, member),\n };\n } else {\n index = this[element].findIndex((x) => x.name === old);\n mem = this[`available${name}`].find((m) => m.name === member);\n }\n\n if (mem) {\n this[element].splice(index, 1, mem);\n }\n },\n setMembers(element, members) {\n const name = element.charAt(0).toUpperCase() + element.slice(1);\n let mem;\n const elements = [];\n\n members.filter(Boolean).forEach((m) => {\n if (element === 'timeDimensions') {\n mem = this[`available${name}`].find((x) => x.name === m.dimension);\n if (mem) {\n const dimension = {\n ...this.meta.resolveMember(mem.name, 'dimensions'),\n granularities: this.granularities,\n };\n\n mem = {\n ...mem,\n granularity: m.granularity,\n dateRange: m.dateRange,\n dimension,\n index: this[element].length,\n };\n }\n } else if (element === 'filters') {\n mem = {\n ...m,\n and: resolveMembers(this.meta, m.and),\n or: resolveMembers(this.meta, m.or),\n member: getDimensionOrMeasure(this.meta, m),\n };\n } else {\n mem = this[`available${name}`].find((x) => x.name === m);\n }\n\n if (mem) {\n elements.push(mem);\n }\n });\n\n this[element] = elements;\n },\n setLimit(limit) {\n this.limit = limit;\n },\n removeLimit() {\n this.limit = null;\n },\n setOffset(offset) {\n this.offset = offset;\n },\n removeOffset() {\n this.offset = null;\n },\n updateChart(chartType) {\n this.chartType = chartType;\n },\n setOrder(order = {}) {\n this.order = order;\n },\n emitVizStateChange(partialVizState) {\n this.$emit(\n 'vizStateChange',\n clone({\n ...this.vizState,\n ...partialVizState,\n })\n );\n },\n },\n\n watch: {\n validatedQuery: {\n deep: true,\n handler(query, prevQuery) {\n const hasQueryChanged = !areQueriesEqual(query, prevQuery);\n\n if (hasQueryChanged) {\n this.emitVizStateChange({\n query,\n });\n }\n\n if (isQueryPresent(query) && hasQueryChanged) {\n this.cubeApi\n .dryRun(query, {\n mutexObj: this.mutex,\n })\n .then((result) => {\n const pivotConfig = ResultSet.getNormalizedPivotConfig(result?.pivotQuery, this.pivotConfig);\n\n if (!equals(pivotConfig, this.pivotConfig)) {\n this.pivotConfig = pivotConfig;\n }\n })\n .catch((error) => console.error(error));\n }\n },\n },\n query: {\n deep: true,\n handler(query) {\n if (!this.meta) {\n // this is ok as if meta has not been loaded by the time query prop has changed,\n // then the promise for loading meta (found in mounted()) will call\n // copyQueryFromProps and will therefore update anyway.\n return;\n }\n this.copyQueryFromProps(query);\n },\n },\n pivotConfig: {\n deep: true,\n handler(pivotConfig, prevPivotConfig) {\n if (!equals(pivotConfig, prevPivotConfig)) {\n this.emitVizStateChange({\n pivotConfig,\n });\n }\n },\n },\n chartType(value) {\n this.emitVizStateChange({\n chartType: value,\n });\n },\n },\n};\n","import { GRANULARITIES } from '@cubejs-client/core';\n\nimport QueryRenderer from './QueryRenderer';\nimport QueryBuilder from './QueryBuilder';\n\nexport { QueryRenderer, QueryBuilder, GRANULARITIES };\n\nexport default {};\n"],"names":["props","query","type","Object","Array","default","queries","loadSql","required","cubeApi","builderProps","chartType","String","data","mutexObj","error","undefined","resultSet","loading","sqlQuery","mounted","_this","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","isQueryPresent","load","loadQueries","a","render","$slots","empty","createElement","slot","controls","onlyDefault","builder","measures","_objectSpread","slotProps","refetch","methods","_this2","_callee2","_t","_context2","p","sql","mutexKey","v","_this3","_callee3","resultPromises","_t2","_t3","_context3","Promise","all","toPairs","map","_ref","_ref2","_slicedToArray","name","then","r","fromPairs","watch","$emit","isLoading","deep","handler","prevQuery","areQueriesEqual","val","QUERY_ELEMENTS","toOrderMember","member","id","title","reduceOrderMembers","array","reduce","acc","order","concat","_toConsumableArray","operators","validateFilters","filters","raw","operator","validBooleanFilter","booleanFilters","length","_defineProperty","some","getDimensionOrMeasure","meta","memberName","dimension","resolveMember","resolveMembers","arr","e","index","and","or","components","QueryRenderer","initialChartType","disableHeuristics","Boolean","stateChangeHeuristics","Function","initialVizState","_this$initialVizState","_this$initialVizState2","_this$initialVizState3","pivotConfig","initialQuery","skipHeuristics","mutex","dimensions","segments","timeDimensions","availableMeasures","availableDimensions","availableTimeDimensions","availableSegments","limit","offset","prevValidatedQuery","granularities","GRANULARITIES","ResultSet","getNormalizedPivotConfig","validatedQuery","setLimit","removeLimit","setOffset","removeOffset","orderMembers","updateChartType","updateChart","setOrder","updateOrder","set","memberId","newOrder","orderMember","update","reorder","sourceIndex","destinationIndex","moveItemInArray","updatePivotConfig","moveItem","sourceAxis","destinationAxis","movePivotItem","x","y","forEach","elementName","charAt","toUpperCase","slice","addMember","updateWith","updateMember","removeMember","members","setMembers","h","slots","on","queryStatus","event","computed","getOrderMembersFromOrder","_ref3","granularity","push","filter","vizState","toQuery","hasElements","element","dateRange","values","_validatedQuery","heuristicsFn","defaultHeuristics","_heuristicsFn","sessionGranularity","shouldApplyHeuristicOrder","defaultOrder","pivot","equals","copyQueryFromProps","dryRunResponse","dryRun","pivotQuery","_this4","_ref4","_ref4$measures","_ref4$dimensions","_ref4$segments","_ref4$timeDimensions","_ref4$filters","memberTypes","filterOperatorsForMember","membersForQuery","mem","find","findIndex","splice","old","_this5","elements","arguments","emitVizStateChange","partialVizState","clone","_this6","hasQueryChanged","result","console","prevPivotConfig","value"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cubejs-client/vue3",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"engines": {},
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,8 +14,7 @@
|
|
|
14
14
|
"Cube Dev, Inc."
|
|
15
15
|
],
|
|
16
16
|
"scripts": {
|
|
17
|
-
"
|
|
18
|
-
"lint": "vue-cli-service lint",
|
|
17
|
+
"lint": "eslint src tests",
|
|
19
18
|
"test": "jest",
|
|
20
19
|
"unit": "npm run test:unit",
|
|
21
20
|
"test:unit": "jest",
|
|
@@ -28,22 +27,15 @@
|
|
|
28
27
|
"src"
|
|
29
28
|
],
|
|
30
29
|
"dependencies": {
|
|
31
|
-
"@cubejs-client/core": "1.
|
|
30
|
+
"@cubejs-client/core": "1.7.1",
|
|
32
31
|
"ramda": "^0.27.0"
|
|
33
32
|
},
|
|
34
33
|
"devDependencies": {
|
|
35
|
-
"@babel/
|
|
36
|
-
"@
|
|
37
|
-
"@vue/cli-plugin-babel": "^5.0",
|
|
38
|
-
"@vue/cli-plugin-eslint": "^5.0",
|
|
39
|
-
"@vue/cli-service": "^5.0",
|
|
34
|
+
"@babel/core": "^7",
|
|
35
|
+
"@babel/preset-env": "^7",
|
|
40
36
|
"@vue/test-utils": "^2.4",
|
|
41
|
-
"@vue/vue3-jest": "^29",
|
|
42
|
-
"babel-core": "7.0.0-bridge.0",
|
|
43
|
-
"babel-eslint": "^10.1.0",
|
|
44
37
|
"babel-jest": "^29",
|
|
45
38
|
"eslint": "^7.21.0",
|
|
46
|
-
"eslint-plugin-vue": "^6.2.1",
|
|
47
39
|
"jest": "^29",
|
|
48
40
|
"jest-environment-jsdom": "^29",
|
|
49
41
|
"vue": "^3.0"
|
|
@@ -54,20 +46,17 @@
|
|
|
54
46
|
"eslintConfig": {
|
|
55
47
|
"root": true,
|
|
56
48
|
"env": {
|
|
57
|
-
"
|
|
49
|
+
"es2021": true,
|
|
50
|
+
"node": true,
|
|
51
|
+
"jest": true
|
|
58
52
|
},
|
|
59
53
|
"extends": [
|
|
60
|
-
"plugin:vue/essential",
|
|
61
54
|
"eslint:recommended"
|
|
62
55
|
],
|
|
63
56
|
"rules": {},
|
|
64
57
|
"parserOptions": {
|
|
65
|
-
"
|
|
66
|
-
|
|
67
|
-
},
|
|
68
|
-
"postcss": {
|
|
69
|
-
"plugins": {
|
|
70
|
-
"autoprefixer": {}
|
|
58
|
+
"ecmaVersion": 2021,
|
|
59
|
+
"sourceType": "module"
|
|
71
60
|
}
|
|
72
61
|
},
|
|
73
62
|
"browserslist": [
|
|
@@ -79,5 +68,5 @@
|
|
|
79
68
|
"publishConfig": {
|
|
80
69
|
"access": "public"
|
|
81
70
|
},
|
|
82
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "1b202da2bfd06f2efcc0ff08289ba8f90a15d648"
|
|
83
72
|
}
|
package/src/QueryBuilder.js
CHANGED
|
@@ -120,7 +120,6 @@ export default {
|
|
|
120
120
|
availableSegments: [],
|
|
121
121
|
limit: null,
|
|
122
122
|
offset: null,
|
|
123
|
-
renewQuery: false,
|
|
124
123
|
order: null,
|
|
125
124
|
prevValidatedQuery: null,
|
|
126
125
|
granularities: GRANULARITIES,
|
|
@@ -151,7 +150,6 @@ export default {
|
|
|
151
150
|
removeLimit,
|
|
152
151
|
setOffset,
|
|
153
152
|
removeOffset,
|
|
154
|
-
renewQuery,
|
|
155
153
|
order,
|
|
156
154
|
orderMembers,
|
|
157
155
|
} = this;
|
|
@@ -180,7 +178,6 @@ export default {
|
|
|
180
178
|
removeLimit,
|
|
181
179
|
setOffset,
|
|
182
180
|
removeOffset,
|
|
183
|
-
renewQuery,
|
|
184
181
|
order,
|
|
185
182
|
orderMembers,
|
|
186
183
|
setOrder: this.setOrder,
|
|
@@ -349,10 +346,6 @@ export default {
|
|
|
349
346
|
if (this.order) {
|
|
350
347
|
validatedQuery.order = this.order;
|
|
351
348
|
}
|
|
352
|
-
|
|
353
|
-
if (this.renewQuery) {
|
|
354
|
-
validatedQuery.renewQuery = this.renewQuery;
|
|
355
|
-
}
|
|
356
349
|
}
|
|
357
350
|
|
|
358
351
|
if (
|
|
@@ -430,7 +423,6 @@ export default {
|
|
|
430
423
|
filters = [],
|
|
431
424
|
limit,
|
|
432
425
|
offset,
|
|
433
|
-
renewQuery,
|
|
434
426
|
order,
|
|
435
427
|
} = query || this.initialQuery;
|
|
436
428
|
|
|
@@ -476,7 +468,6 @@ export default {
|
|
|
476
468
|
this.availableSegments = this.meta.membersForQuery({}, 'segments') || [];
|
|
477
469
|
this.limit = limit || 10000;
|
|
478
470
|
this.offset = offset || null;
|
|
479
|
-
this.renewQuery = renewQuery || false;
|
|
480
471
|
this.order = order || null;
|
|
481
472
|
},
|
|
482
473
|
addMember(element, member) {
|