@cubejs-client/vue3 0.35.0 → 0.36.0
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.esm.js +43 -121
- package/dist/cubejs-client-vue3.esm.js.map +1 -1
- package/dist/cubejs-client-vue3.js +74 -172
- package/dist/cubejs-client-vue3.js.map +1 -1
- package/dist/cubejs-client-vue3.umd.js +164 -463
- package/dist/cubejs-client-vue3.umd.js.map +1 -1
- package/package.json +3 -3
|
@@ -42,9 +42,8 @@ var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGene
|
|
|
42
42
|
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
43
43
|
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
44
44
|
|
|
45
|
-
function ownKeys$1(
|
|
46
|
-
|
|
47
|
-
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
45
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
46
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty__default['default'](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
48
47
|
var QueryRenderer = {
|
|
49
48
|
props: {
|
|
50
49
|
query: {
|
|
@@ -87,7 +86,6 @@ var QueryRenderer = {
|
|
|
87
86
|
},
|
|
88
87
|
mounted: function mounted() {
|
|
89
88
|
var _this = this;
|
|
90
|
-
|
|
91
89
|
return _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
|
|
92
90
|
var query, queries;
|
|
93
91
|
return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
|
|
@@ -95,28 +93,22 @@ var QueryRenderer = {
|
|
|
95
93
|
switch (_context.prev = _context.next) {
|
|
96
94
|
case 0:
|
|
97
95
|
query = _this.query, queries = _this.queries;
|
|
98
|
-
|
|
99
96
|
if (!core.isQueryPresent(query)) {
|
|
100
97
|
_context.next = 6;
|
|
101
98
|
break;
|
|
102
99
|
}
|
|
103
|
-
|
|
104
100
|
_context.next = 4;
|
|
105
101
|
return _this.load();
|
|
106
|
-
|
|
107
102
|
case 4:
|
|
108
103
|
_context.next = 9;
|
|
109
104
|
break;
|
|
110
|
-
|
|
111
105
|
case 6:
|
|
112
106
|
if (!core.isQueryPresent(queries)) {
|
|
113
107
|
_context.next = 9;
|
|
114
108
|
break;
|
|
115
109
|
}
|
|
116
|
-
|
|
117
110
|
_context.next = 9;
|
|
118
111
|
return _this.loadQueries(queries);
|
|
119
|
-
|
|
120
112
|
case 9:
|
|
121
113
|
case "end":
|
|
122
114
|
return _context.stop();
|
|
@@ -127,26 +119,23 @@ var QueryRenderer = {
|
|
|
127
119
|
},
|
|
128
120
|
render: function render() {
|
|
129
121
|
var $slots = this.$slots,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
122
|
+
resultSet = this.resultSet,
|
|
123
|
+
error = this.error,
|
|
124
|
+
loading = this.loading,
|
|
125
|
+
sqlQuery = this.sqlQuery;
|
|
134
126
|
var empty = vue.h('div', {});
|
|
135
127
|
var slot = this.$slots.empty ? this.$slots.empty() : empty;
|
|
136
128
|
var controls = vue.h('div', {});
|
|
137
129
|
var onlyDefault = !('empty' in this.$slots) && !('error' in this.$slots);
|
|
138
|
-
|
|
139
130
|
if ($slots.builder && this.builderProps.measures) {
|
|
140
131
|
controls = $slots.builder(_objectSpread$1({}, this.builderProps));
|
|
141
132
|
}
|
|
142
|
-
|
|
143
133
|
if (!loading && resultSet && !error || onlyDefault) {
|
|
144
134
|
var slotProps = {
|
|
145
135
|
resultSet: resultSet,
|
|
146
136
|
sqlQuery: sqlQuery,
|
|
147
137
|
query: this.builderProps.query || this.query
|
|
148
138
|
};
|
|
149
|
-
|
|
150
139
|
if (onlyDefault) {
|
|
151
140
|
slotProps = _objectSpread$1(_objectSpread$1({
|
|
152
141
|
loading: loading,
|
|
@@ -154,7 +143,6 @@ var QueryRenderer = {
|
|
|
154
143
|
refetch: this.load
|
|
155
144
|
}, this.builderProps), slotProps);
|
|
156
145
|
}
|
|
157
|
-
|
|
158
146
|
slot = $slots["default"] ? $slots["default"](slotProps) : slot;
|
|
159
147
|
} else if (error) {
|
|
160
148
|
slot = $slots.error ? $slots.error({
|
|
@@ -162,13 +150,11 @@ var QueryRenderer = {
|
|
|
162
150
|
sqlQuery: sqlQuery
|
|
163
151
|
}) : slot;
|
|
164
152
|
}
|
|
165
|
-
|
|
166
153
|
return vue.h('div', {}, [controls, slot]);
|
|
167
154
|
},
|
|
168
155
|
methods: {
|
|
169
156
|
load: function load() {
|
|
170
157
|
var _this2 = this;
|
|
171
|
-
|
|
172
158
|
return _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2() {
|
|
173
159
|
var query;
|
|
174
160
|
return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
|
|
@@ -176,48 +162,39 @@ var QueryRenderer = {
|
|
|
176
162
|
switch (_context2.prev = _context2.next) {
|
|
177
163
|
case 0:
|
|
178
164
|
query = _this2.query;
|
|
179
|
-
|
|
180
165
|
if (core.isQueryPresent(query)) {
|
|
181
166
|
_context2.next = 3;
|
|
182
167
|
break;
|
|
183
168
|
}
|
|
184
|
-
|
|
185
169
|
return _context2.abrupt("return");
|
|
186
|
-
|
|
187
170
|
case 3:
|
|
188
171
|
_context2.prev = 3;
|
|
189
172
|
_this2.loading = true;
|
|
190
173
|
_this2.error = null;
|
|
191
174
|
_this2.resultSet = null;
|
|
192
|
-
|
|
193
175
|
if (!(_this2.loadSql === 'only')) {
|
|
194
176
|
_context2.next = 13;
|
|
195
177
|
break;
|
|
196
178
|
}
|
|
197
|
-
|
|
198
179
|
_context2.next = 10;
|
|
199
180
|
return _this2.cubeApi.sql(query, {
|
|
200
181
|
mutexObj: _this2.mutexObj,
|
|
201
182
|
mutexKey: 'sql'
|
|
202
183
|
});
|
|
203
|
-
|
|
204
184
|
case 10:
|
|
205
185
|
_this2.sqlQuery = _context2.sent;
|
|
206
186
|
_context2.next = 25;
|
|
207
187
|
break;
|
|
208
|
-
|
|
209
188
|
case 13:
|
|
210
189
|
if (!_this2.loadSql) {
|
|
211
190
|
_context2.next = 22;
|
|
212
191
|
break;
|
|
213
192
|
}
|
|
214
|
-
|
|
215
193
|
_context2.next = 16;
|
|
216
194
|
return _this2.cubeApi.sql(query, {
|
|
217
195
|
mutexObj: _this2.mutexObj,
|
|
218
196
|
mutexKey: 'sql'
|
|
219
197
|
});
|
|
220
|
-
|
|
221
198
|
case 16:
|
|
222
199
|
_this2.sqlQuery = _context2.sent;
|
|
223
200
|
_context2.next = 19;
|
|
@@ -225,34 +202,28 @@ var QueryRenderer = {
|
|
|
225
202
|
mutexObj: _this2.mutexObj,
|
|
226
203
|
mutexKey: 'query'
|
|
227
204
|
});
|
|
228
|
-
|
|
229
205
|
case 19:
|
|
230
206
|
_this2.resultSet = _context2.sent;
|
|
231
207
|
_context2.next = 25;
|
|
232
208
|
break;
|
|
233
|
-
|
|
234
209
|
case 22:
|
|
235
210
|
_context2.next = 24;
|
|
236
211
|
return _this2.cubeApi.load(query, {
|
|
237
212
|
mutexObj: _this2.mutexObj,
|
|
238
213
|
mutexKey: 'query'
|
|
239
214
|
});
|
|
240
|
-
|
|
241
215
|
case 24:
|
|
242
216
|
_this2.resultSet = _context2.sent;
|
|
243
|
-
|
|
244
217
|
case 25:
|
|
245
218
|
_this2.loading = false;
|
|
246
219
|
_context2.next = 33;
|
|
247
220
|
break;
|
|
248
|
-
|
|
249
221
|
case 28:
|
|
250
222
|
_context2.prev = 28;
|
|
251
223
|
_context2.t0 = _context2["catch"](3);
|
|
252
224
|
_this2.error = _context2.t0;
|
|
253
225
|
_this2.resultSet = undefined;
|
|
254
226
|
_this2.loading = false;
|
|
255
|
-
|
|
256
227
|
case 33:
|
|
257
228
|
case "end":
|
|
258
229
|
return _context2.stop();
|
|
@@ -263,7 +234,6 @@ var QueryRenderer = {
|
|
|
263
234
|
},
|
|
264
235
|
loadQueries: function loadQueries() {
|
|
265
236
|
var _this3 = this;
|
|
266
|
-
|
|
267
237
|
return _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3() {
|
|
268
238
|
var queries, resultPromises;
|
|
269
239
|
return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
|
|
@@ -276,9 +246,8 @@ var QueryRenderer = {
|
|
|
276
246
|
_this3.loading = true;
|
|
277
247
|
resultPromises = Promise.all(ramda.toPairs(queries).map(function (_ref) {
|
|
278
248
|
var _ref2 = _slicedToArray__default['default'](_ref, 2),
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
249
|
+
name = _ref2[0],
|
|
250
|
+
query = _ref2[1];
|
|
282
251
|
return _this3.cubeApi.load(query, {
|
|
283
252
|
mutexObj: _this3.mutexObj,
|
|
284
253
|
mutexKey: name
|
|
@@ -289,20 +258,17 @@ var QueryRenderer = {
|
|
|
289
258
|
_context3.t0 = ramda.fromPairs;
|
|
290
259
|
_context3.next = 8;
|
|
291
260
|
return resultPromises;
|
|
292
|
-
|
|
293
261
|
case 8:
|
|
294
262
|
_context3.t1 = _context3.sent;
|
|
295
263
|
_this3.resultSet = (0, _context3.t0)(_context3.t1);
|
|
296
264
|
_this3.loading = false;
|
|
297
265
|
_context3.next = 17;
|
|
298
266
|
break;
|
|
299
|
-
|
|
300
267
|
case 13:
|
|
301
268
|
_context3.prev = 13;
|
|
302
269
|
_context3.t2 = _context3["catch"](1);
|
|
303
270
|
_this3.error = _context3.t2;
|
|
304
271
|
_this3.loading = false;
|
|
305
|
-
|
|
306
272
|
case 17:
|
|
307
273
|
case "end":
|
|
308
274
|
return _context3.stop();
|
|
@@ -351,60 +317,48 @@ var QueryRenderer = {
|
|
|
351
317
|
}
|
|
352
318
|
};
|
|
353
319
|
|
|
354
|
-
function ownKeys(
|
|
355
|
-
|
|
356
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
320
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
321
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default['default'](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
357
322
|
var QUERY_ELEMENTS = ['measures', 'dimensions', 'segments', 'timeDimensions', 'filters'];
|
|
358
|
-
|
|
359
323
|
var toOrderMember = function toOrderMember(member) {
|
|
360
324
|
return {
|
|
361
325
|
id: member.name,
|
|
362
326
|
title: member.title
|
|
363
327
|
};
|
|
364
328
|
};
|
|
365
|
-
|
|
366
329
|
var reduceOrderMembers = function reduceOrderMembers(array) {
|
|
367
330
|
return array.reduce(function (acc, _ref) {
|
|
368
331
|
var id = _ref.id,
|
|
369
|
-
|
|
332
|
+
order = _ref.order;
|
|
370
333
|
return order !== 'none' ? [].concat(_toConsumableArray__default['default'](acc), [[id, order]]) : acc;
|
|
371
334
|
}, []);
|
|
372
335
|
};
|
|
373
|
-
|
|
374
336
|
var operators = ['and', 'or'];
|
|
375
|
-
|
|
376
337
|
var validateFilters = function validateFilters(filters) {
|
|
377
338
|
return filters.reduce(function (acc, raw) {
|
|
378
339
|
if (raw.operator) {
|
|
379
340
|
return [].concat(_toConsumableArray__default['default'](acc), [raw]);
|
|
380
341
|
}
|
|
381
|
-
|
|
382
342
|
var validBooleanFilter = operators.reduce(function (acc, operator) {
|
|
383
343
|
var filters = raw[operator];
|
|
384
344
|
var booleanFilters = validateFilters(filters || []);
|
|
385
|
-
|
|
386
345
|
if (booleanFilters.length) {
|
|
387
346
|
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty__default['default']({}, operator, booleanFilters));
|
|
388
347
|
}
|
|
389
|
-
|
|
390
348
|
return acc;
|
|
391
349
|
}, {});
|
|
392
|
-
|
|
393
350
|
if (operators.some(function (operator) {
|
|
394
351
|
return validBooleanFilter[operator];
|
|
395
352
|
})) {
|
|
396
353
|
return [].concat(_toConsumableArray__default['default'](acc), [validBooleanFilter]);
|
|
397
354
|
}
|
|
398
|
-
|
|
399
355
|
return acc;
|
|
400
356
|
}, []);
|
|
401
357
|
};
|
|
402
|
-
|
|
403
358
|
var getDimensionOrMeasure = function getDimensionOrMeasure(meta, m) {
|
|
404
359
|
var memberName = m.member || m.dimension;
|
|
405
360
|
return memberName && meta.resolveMember(memberName, ['dimensions', 'measures']);
|
|
406
361
|
};
|
|
407
|
-
|
|
408
362
|
var resolveMembers = function resolveMembers(meta, arr) {
|
|
409
363
|
return arr && arr.map(function (e, index) {
|
|
410
364
|
return _objectSpread(_objectSpread({}, e), {}, {
|
|
@@ -415,7 +369,6 @@ var resolveMembers = function resolveMembers(meta, arr) {
|
|
|
415
369
|
});
|
|
416
370
|
});
|
|
417
371
|
};
|
|
418
|
-
|
|
419
372
|
var QueryBuilder = {
|
|
420
373
|
components: {
|
|
421
374
|
QueryRenderer: QueryRenderer
|
|
@@ -452,11 +405,11 @@ var QueryBuilder = {
|
|
|
452
405
|
},
|
|
453
406
|
data: function data() {
|
|
454
407
|
var _this$initialVizState = this.initialVizState,
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
408
|
+
_this$initialVizState2 = _this$initialVizState.query,
|
|
409
|
+
query = _this$initialVizState2 === void 0 ? this.query : _this$initialVizState2,
|
|
410
|
+
_this$initialVizState3 = _this$initialVizState.chartType,
|
|
411
|
+
chartType = _this$initialVizState3 === void 0 ? this.initialChartType : _this$initialVizState3,
|
|
412
|
+
pivotConfig = _this$initialVizState.pivotConfig;
|
|
460
413
|
return {
|
|
461
414
|
initialQuery: query,
|
|
462
415
|
skipHeuristics: true,
|
|
@@ -483,33 +436,31 @@ var QueryBuilder = {
|
|
|
483
436
|
},
|
|
484
437
|
render: function render() {
|
|
485
438
|
var _this = this;
|
|
486
|
-
|
|
487
439
|
var chartType = this.chartType,
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
440
|
+
cubeApi = this.cubeApi,
|
|
441
|
+
dimensions = this.dimensions,
|
|
442
|
+
filters = this.filters,
|
|
443
|
+
measures = this.measures,
|
|
444
|
+
meta = this.meta,
|
|
445
|
+
query = this.query,
|
|
446
|
+
segments = this.segments,
|
|
447
|
+
timeDimensions = this.timeDimensions,
|
|
448
|
+
validatedQuery = this.validatedQuery,
|
|
449
|
+
isQueryPresent = this.isQueryPresent,
|
|
450
|
+
availableSegments = this.availableSegments,
|
|
451
|
+
availableTimeDimensions = this.availableTimeDimensions,
|
|
452
|
+
availableDimensions = this.availableDimensions,
|
|
453
|
+
availableMeasures = this.availableMeasures,
|
|
454
|
+
limit = this.limit,
|
|
455
|
+
offset = this.offset,
|
|
456
|
+
setLimit = this.setLimit,
|
|
457
|
+
removeLimit = this.removeLimit,
|
|
458
|
+
setOffset = this.setOffset,
|
|
459
|
+
removeOffset = this.removeOffset,
|
|
460
|
+
renewQuery = this.renewQuery,
|
|
461
|
+
order = this.order,
|
|
462
|
+
orderMembers = this.orderMembers;
|
|
511
463
|
var builderProps = {};
|
|
512
|
-
|
|
513
464
|
if (meta) {
|
|
514
465
|
builderProps = {
|
|
515
466
|
query: query,
|
|
@@ -555,9 +506,9 @@ var QueryBuilder = {
|
|
|
555
506
|
updatePivotConfig: {
|
|
556
507
|
moveItem: function moveItem(_ref2) {
|
|
557
508
|
var sourceIndex = _ref2.sourceIndex,
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
509
|
+
destinationIndex = _ref2.destinationIndex,
|
|
510
|
+
sourceAxis = _ref2.sourceAxis,
|
|
511
|
+
destinationAxis = _ref2.destinationAxis;
|
|
561
512
|
_this.pivotConfig = core.movePivotItem(_this.pivotConfig, sourceIndex, destinationIndex, sourceAxis, destinationAxis);
|
|
562
513
|
},
|
|
563
514
|
update: function update(pivotConfig) {
|
|
@@ -570,25 +521,20 @@ var QueryBuilder = {
|
|
|
570
521
|
};
|
|
571
522
|
QUERY_ELEMENTS.forEach(function (elementName) {
|
|
572
523
|
var name = elementName.charAt(0).toUpperCase() + elementName.slice(1);
|
|
573
|
-
|
|
574
524
|
builderProps["add".concat(name)] = function (member) {
|
|
575
525
|
_this.addMember(elementName, member);
|
|
576
526
|
};
|
|
577
|
-
|
|
578
527
|
builderProps["update".concat(name)] = function (member, updateWith) {
|
|
579
528
|
_this.updateMember(elementName, member, updateWith);
|
|
580
529
|
};
|
|
581
|
-
|
|
582
530
|
builderProps["remove".concat(name)] = function (member) {
|
|
583
531
|
_this.removeMember(elementName, member);
|
|
584
532
|
};
|
|
585
|
-
|
|
586
533
|
builderProps["set".concat(name)] = function (members) {
|
|
587
534
|
_this.setMembers(elementName, members);
|
|
588
535
|
};
|
|
589
536
|
});
|
|
590
537
|
}
|
|
591
|
-
|
|
592
538
|
return vue.h(QueryRenderer, {
|
|
593
539
|
query: this.validatedQuery,
|
|
594
540
|
cubeApi: cubeApi,
|
|
@@ -609,20 +555,16 @@ var QueryBuilder = {
|
|
|
609
555
|
orderMembers: function orderMembers() {
|
|
610
556
|
return core.getOrderMembersFromOrder([].concat(_toConsumableArray__default['default'](this.measures), _toConsumableArray__default['default'](this.dimensions), _toConsumableArray__default['default'](this.timeDimensions.reduce(function (acc, _ref3) {
|
|
611
557
|
var dimension = _ref3.dimension,
|
|
612
|
-
|
|
613
|
-
|
|
558
|
+
granularity = _ref3.granularity;
|
|
614
559
|
if (granularity !== undefined) {
|
|
615
560
|
acc.push(toOrderMember(dimension));
|
|
616
561
|
}
|
|
617
|
-
|
|
618
562
|
return acc;
|
|
619
563
|
}, []))).map(function (member, index) {
|
|
620
564
|
var id = member.name || member.id;
|
|
621
|
-
|
|
622
565
|
if (!id) {
|
|
623
566
|
return false;
|
|
624
567
|
}
|
|
625
|
-
|
|
626
568
|
return {
|
|
627
569
|
index: index,
|
|
628
570
|
id: id,
|
|
@@ -639,13 +581,11 @@ var QueryBuilder = {
|
|
|
639
581
|
},
|
|
640
582
|
validatedQuery: function validatedQuery() {
|
|
641
583
|
var _this2 = this;
|
|
642
|
-
|
|
643
584
|
var validatedQuery = {};
|
|
644
|
-
|
|
645
585
|
var _toQuery = function toQuery(member) {
|
|
646
586
|
return member.name;
|
|
647
|
-
};
|
|
648
|
-
|
|
587
|
+
};
|
|
588
|
+
// TODO: implement timezone
|
|
649
589
|
|
|
650
590
|
var hasElements = false;
|
|
651
591
|
QUERY_ELEMENTS.forEach(function (element) {
|
|
@@ -668,7 +608,6 @@ var QueryBuilder = {
|
|
|
668
608
|
};
|
|
669
609
|
};
|
|
670
610
|
}
|
|
671
|
-
|
|
672
611
|
if (_this2[element].length > 0) {
|
|
673
612
|
validatedQuery[element] = _this2[element].map(function (x) {
|
|
674
613
|
return _toQuery(x);
|
|
@@ -676,68 +615,58 @@ var QueryBuilder = {
|
|
|
676
615
|
hasElements = true;
|
|
677
616
|
}
|
|
678
617
|
});
|
|
679
|
-
|
|
680
618
|
if (validatedQuery.filters) {
|
|
681
619
|
validatedQuery.filters = validateFilters(validatedQuery.filters);
|
|
682
|
-
}
|
|
683
|
-
// gets sent when the component is first mounted, but before the actual query is constructed.
|
|
684
|
-
|
|
620
|
+
}
|
|
685
621
|
|
|
622
|
+
// only set limit and offset if there are elements otherwise an invalid request with just limit/offset
|
|
623
|
+
// gets sent when the component is first mounted, but before the actual query is constructed.
|
|
686
624
|
if (hasElements) {
|
|
687
625
|
if (this.limit) {
|
|
688
626
|
validatedQuery.limit = this.limit;
|
|
689
627
|
}
|
|
690
|
-
|
|
691
628
|
if (this.offset) {
|
|
692
629
|
validatedQuery.offset = this.offset;
|
|
693
630
|
}
|
|
694
|
-
|
|
695
631
|
if (this.order) {
|
|
696
632
|
validatedQuery.order = this.order;
|
|
697
633
|
}
|
|
698
|
-
|
|
699
634
|
if (this.renewQuery) {
|
|
700
635
|
validatedQuery.renewQuery = this.renewQuery;
|
|
701
636
|
}
|
|
702
637
|
}
|
|
703
|
-
|
|
704
638
|
if (!this.skipHeuristics && !this.disableHeuristics && core.isQueryPresent(validatedQuery) && this.meta) {
|
|
705
639
|
var _validatedQuery, _validatedQuery$timeD, _validatedQuery$timeD2;
|
|
706
|
-
|
|
707
640
|
var heuristicsFn = this.stateChangeHeuristics || core.defaultHeuristics;
|
|
708
|
-
|
|
709
641
|
var _heuristicsFn = heuristicsFn({
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
642
|
+
query: validatedQuery,
|
|
643
|
+
chartType: this.chartType
|
|
644
|
+
}, this.prevValidatedQuery, {
|
|
645
|
+
meta: this.meta,
|
|
646
|
+
sessionGranularity: (_validatedQuery = validatedQuery) === null || _validatedQuery === void 0 ? void 0 : (_validatedQuery$timeD = _validatedQuery.timeDimensions) === null || _validatedQuery$timeD === void 0 ? void 0 : (_validatedQuery$timeD2 = _validatedQuery$timeD[0]) === null || _validatedQuery$timeD2 === void 0 ? void 0 : _validatedQuery$timeD2.granularity
|
|
647
|
+
}),
|
|
648
|
+
query = _heuristicsFn.query,
|
|
649
|
+
chartType = _heuristicsFn.chartType,
|
|
650
|
+
shouldApplyHeuristicOrder = _heuristicsFn.shouldApplyHeuristicOrder,
|
|
651
|
+
pivotConfig = _heuristicsFn.pivotConfig;
|
|
721
652
|
validatedQuery = _objectSpread(_objectSpread(_objectSpread({}, validatedQuery), query), shouldApplyHeuristicOrder ? {
|
|
722
653
|
order: core.defaultOrder(query)
|
|
723
654
|
} : null);
|
|
724
655
|
this.chartType = chartType || this.chartType;
|
|
725
656
|
this.pivotConfig = core.ResultSet.getNormalizedPivotConfig(validatedQuery, pivotConfig !== undefined ? pivotConfig : this.pivotConfig);
|
|
726
657
|
this.copyQueryFromProps(validatedQuery);
|
|
727
|
-
}
|
|
728
|
-
|
|
658
|
+
}
|
|
729
659
|
|
|
660
|
+
// query heuristics should only apply on query change (not applied to the initial query)
|
|
730
661
|
if (this.prevValidatedQuery !== null) {
|
|
731
662
|
this.skipHeuristics = false;
|
|
732
663
|
}
|
|
733
|
-
|
|
734
664
|
this.prevValidatedQuery = validatedQuery;
|
|
735
665
|
return validatedQuery;
|
|
736
666
|
}
|
|
737
667
|
},
|
|
738
668
|
mounted: function mounted() {
|
|
739
669
|
var _this3 = this;
|
|
740
|
-
|
|
741
670
|
return _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee() {
|
|
742
671
|
var dryRunResponse;
|
|
743
672
|
return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
|
|
@@ -746,24 +675,18 @@ var QueryBuilder = {
|
|
|
746
675
|
case 0:
|
|
747
676
|
_context.next = 2;
|
|
748
677
|
return _this3.cubeApi.meta();
|
|
749
|
-
|
|
750
678
|
case 2:
|
|
751
679
|
_this3.meta = _context.sent;
|
|
752
|
-
|
|
753
680
|
_this3.copyQueryFromProps();
|
|
754
|
-
|
|
755
681
|
if (!core.isQueryPresent(_this3.initialQuery)) {
|
|
756
682
|
_context.next = 9;
|
|
757
683
|
break;
|
|
758
684
|
}
|
|
759
|
-
|
|
760
685
|
_context.next = 7;
|
|
761
686
|
return _this3.cubeApi.dryRun(_this3.initialQuery);
|
|
762
|
-
|
|
763
687
|
case 7:
|
|
764
688
|
dryRunResponse = _context.sent;
|
|
765
689
|
_this3.pivotConfig = core.ResultSet.getNormalizedPivotConfig((dryRunResponse === null || dryRunResponse === void 0 ? void 0 : dryRunResponse.pivotQuery) || {}, _this3.pivotConfig);
|
|
766
|
-
|
|
767
690
|
case 9:
|
|
768
691
|
case "end":
|
|
769
692
|
return _context.stop();
|
|
@@ -775,23 +698,21 @@ var QueryBuilder = {
|
|
|
775
698
|
methods: {
|
|
776
699
|
copyQueryFromProps: function copyQueryFromProps(query) {
|
|
777
700
|
var _this4 = this;
|
|
778
|
-
|
|
779
701
|
var _ref4 = query || this.initialQuery,
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
702
|
+
_ref4$measures = _ref4.measures,
|
|
703
|
+
measures = _ref4$measures === void 0 ? [] : _ref4$measures,
|
|
704
|
+
_ref4$dimensions = _ref4.dimensions,
|
|
705
|
+
dimensions = _ref4$dimensions === void 0 ? [] : _ref4$dimensions,
|
|
706
|
+
_ref4$segments = _ref4.segments,
|
|
707
|
+
segments = _ref4$segments === void 0 ? [] : _ref4$segments,
|
|
708
|
+
_ref4$timeDimensions = _ref4.timeDimensions,
|
|
709
|
+
timeDimensions = _ref4$timeDimensions === void 0 ? [] : _ref4$timeDimensions,
|
|
710
|
+
_ref4$filters = _ref4.filters,
|
|
711
|
+
filters = _ref4$filters === void 0 ? [] : _ref4$filters,
|
|
712
|
+
limit = _ref4.limit,
|
|
713
|
+
offset = _ref4.offset,
|
|
714
|
+
renewQuery = _ref4.renewQuery,
|
|
715
|
+
order = _ref4.order;
|
|
795
716
|
this.measures = measures.map(function (m, index) {
|
|
796
717
|
return _objectSpread({
|
|
797
718
|
index: index
|
|
@@ -840,17 +761,14 @@ var QueryBuilder = {
|
|
|
840
761
|
addMember: function addMember(element, member) {
|
|
841
762
|
var name = element.charAt(0).toUpperCase() + element.slice(1);
|
|
842
763
|
var mem;
|
|
843
|
-
|
|
844
764
|
if (element === 'timeDimensions') {
|
|
845
765
|
mem = this["available".concat(name)].find(function (m) {
|
|
846
766
|
return m.name === member.dimension;
|
|
847
767
|
});
|
|
848
|
-
|
|
849
768
|
if (mem) {
|
|
850
769
|
var dimension = _objectSpread(_objectSpread({}, this.meta.resolveMember(mem.name, 'dimensions')), {}, {
|
|
851
770
|
granularities: this.granularities
|
|
852
771
|
});
|
|
853
|
-
|
|
854
772
|
mem = _objectSpread(_objectSpread({}, mem), {}, {
|
|
855
773
|
granularity: member.granularity,
|
|
856
774
|
dateRange: member.dateRange,
|
|
@@ -869,7 +787,6 @@ var QueryBuilder = {
|
|
|
869
787
|
return m.name === member;
|
|
870
788
|
});
|
|
871
789
|
}
|
|
872
|
-
|
|
873
790
|
if (mem) {
|
|
874
791
|
this[element].push(mem);
|
|
875
792
|
}
|
|
@@ -877,7 +794,6 @@ var QueryBuilder = {
|
|
|
877
794
|
removeMember: function removeMember(element, member) {
|
|
878
795
|
var name = element.charAt(0).toUpperCase() + element.slice(1);
|
|
879
796
|
var mem;
|
|
880
|
-
|
|
881
797
|
if (element === 'timeDimensions') {
|
|
882
798
|
mem = this["available".concat(name)].find(function (x) {
|
|
883
799
|
return x.name === member;
|
|
@@ -889,7 +805,6 @@ var QueryBuilder = {
|
|
|
889
805
|
return m.name === member;
|
|
890
806
|
});
|
|
891
807
|
}
|
|
892
|
-
|
|
893
808
|
if (mem) {
|
|
894
809
|
var index = this[element].findIndex(function (x) {
|
|
895
810
|
return x.name === mem;
|
|
@@ -901,7 +816,6 @@ var QueryBuilder = {
|
|
|
901
816
|
var name = element.charAt(0).toUpperCase() + element.slice(1);
|
|
902
817
|
var mem;
|
|
903
818
|
var index;
|
|
904
|
-
|
|
905
819
|
if (element === 'timeDimensions') {
|
|
906
820
|
index = this[element].findIndex(function (x) {
|
|
907
821
|
return x.dimension.name === old.dimension;
|
|
@@ -909,12 +823,10 @@ var QueryBuilder = {
|
|
|
909
823
|
mem = this["available".concat(name)].find(function (m) {
|
|
910
824
|
return m.name === member.dimension;
|
|
911
825
|
});
|
|
912
|
-
|
|
913
826
|
if (mem) {
|
|
914
827
|
var dimension = _objectSpread(_objectSpread({}, this.meta.resolveMember(mem.name, 'dimensions')), {}, {
|
|
915
828
|
granularities: this.granularities
|
|
916
829
|
});
|
|
917
|
-
|
|
918
830
|
mem = _objectSpread(_objectSpread({}, mem), {}, {
|
|
919
831
|
dimension: dimension,
|
|
920
832
|
granularity: member.granularity,
|
|
@@ -939,14 +851,12 @@ var QueryBuilder = {
|
|
|
939
851
|
return m.name === member;
|
|
940
852
|
});
|
|
941
853
|
}
|
|
942
|
-
|
|
943
854
|
if (mem) {
|
|
944
855
|
this[element].splice(index, 1, mem);
|
|
945
856
|
}
|
|
946
857
|
},
|
|
947
858
|
setMembers: function setMembers(element, members) {
|
|
948
859
|
var _this5 = this;
|
|
949
|
-
|
|
950
860
|
var name = element.charAt(0).toUpperCase() + element.slice(1);
|
|
951
861
|
var mem;
|
|
952
862
|
var elements = [];
|
|
@@ -955,12 +865,10 @@ var QueryBuilder = {
|
|
|
955
865
|
mem = _this5["available".concat(name)].find(function (x) {
|
|
956
866
|
return x.name === m.dimension;
|
|
957
867
|
});
|
|
958
|
-
|
|
959
868
|
if (mem) {
|
|
960
869
|
var dimension = _objectSpread(_objectSpread({}, _this5.meta.resolveMember(mem.name, 'dimensions')), {}, {
|
|
961
870
|
granularities: _this5.granularities
|
|
962
871
|
});
|
|
963
|
-
|
|
964
872
|
mem = _objectSpread(_objectSpread({}, mem), {}, {
|
|
965
873
|
granularity: m.granularity,
|
|
966
874
|
dateRange: m.dateRange,
|
|
@@ -979,7 +887,6 @@ var QueryBuilder = {
|
|
|
979
887
|
return x.name === m;
|
|
980
888
|
});
|
|
981
889
|
}
|
|
982
|
-
|
|
983
890
|
if (mem) {
|
|
984
891
|
elements.push(mem);
|
|
985
892
|
}
|
|
@@ -1014,22 +921,18 @@ var QueryBuilder = {
|
|
|
1014
921
|
deep: true,
|
|
1015
922
|
handler: function handler(query, prevQuery) {
|
|
1016
923
|
var _this6 = this;
|
|
1017
|
-
|
|
1018
924
|
var hasQueryChanged = !core.areQueriesEqual(query, prevQuery);
|
|
1019
|
-
|
|
1020
925
|
if (hasQueryChanged) {
|
|
1021
926
|
this.emitVizStateChange({
|
|
1022
927
|
query: query
|
|
1023
928
|
});
|
|
1024
929
|
}
|
|
1025
|
-
|
|
1026
930
|
if (core.isQueryPresent(query) && hasQueryChanged) {
|
|
1027
931
|
this.cubeApi.dryRun(query, {
|
|
1028
932
|
mutexObj: this.mutex
|
|
1029
933
|
}).then(function (_ref5) {
|
|
1030
934
|
var pivotQuery = _ref5.pivotQuery;
|
|
1031
935
|
var pivotConfig = core.ResultSet.getNormalizedPivotConfig(pivotQuery, _this6.pivotConfig);
|
|
1032
|
-
|
|
1033
936
|
if (!ramda.equals(pivotConfig, _this6.pivotConfig)) {
|
|
1034
937
|
_this6.pivotConfig = pivotConfig;
|
|
1035
938
|
}
|
|
@@ -1048,7 +951,6 @@ var QueryBuilder = {
|
|
|
1048
951
|
// copyQueryFromProps and will therefore update anyway.
|
|
1049
952
|
return;
|
|
1050
953
|
}
|
|
1051
|
-
|
|
1052
954
|
this.copyQueryFromProps(query);
|
|
1053
955
|
}
|
|
1054
956
|
},
|