@easyquery/enterprise 7.2.0-rc03 → 7.2.0-rc07

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /**
2
- * EasyQuery.JS Enterprise 7.2.0-rc03 (https://korzh.com/easyquery/javascript)
3
- * Copyright 2021 Korzh.com. All rights reserved.
2
+ * EasyQuery.JS Enterprise 7.2.0-rc07 (https://korzh.com/easyquery/javascript)
3
+ * Copyright 2022 Korzh.com. All rights reserved.
4
4
  *
5
5
  * EasyQuery.JS commercial licenses may be obtained at
6
6
  * https://korzh.com/easyquery/javascript#LIC or as a part of
@@ -91,7 +91,7 @@ window["easyquery"] =
91
91
  /******/
92
92
  /******/
93
93
  /******/ // Load entry module and return exports
94
- /******/ return __webpack_require__(__webpack_require__.s = 111);
94
+ /******/ return __webpack_require__(__webpack_require__.s = 112);
95
95
  /******/ })
96
96
  /************************************************************************/
97
97
  /******/ ([
@@ -295,6 +295,7 @@ var meta_entity_MetaEntityAttr = /** @class */ (function () {
295
295
  this.lookupEntity = dto.lent;
296
296
  this.dataAttr = dto.dattr;
297
297
  this.lookupDataAttr = dto.ldattr;
298
+ this.defaultValue = dto.defVal;
298
299
  this.isNullable = utils["a" /* utils */].getIfDefined(dto.nul, this.isNullable);
299
300
  this.isEditable = utils["a" /* utils */].getIfDefined(dto.ied, this.isEditable);
300
301
  this.showOnView = utils["a" /* utils */].getIfDefined(dto.ivis || dto.sov, this.showOnView);
@@ -1349,7 +1350,7 @@ __webpack_require__.d(__webpack_exports__, "DialogFooterAlignment", function() {
1349
1350
  __webpack_require__.d(__webpack_exports__, "dialogs", function() { return /* binding */ dialogs; });
1350
1351
 
1351
1352
  // EXTERNAL MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/easydata/easydata.js/packs/ui/dist/lib/grid/easy_grid.js
1352
- var easy_grid = __webpack_require__(105);
1353
+ var easy_grid = __webpack_require__(106);
1353
1354
 
1354
1355
  // EXTERNAL MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/easydata/easydata.js/packs/ui/dist/lib/grid/easy_grid_options.js
1355
1356
  var easy_grid_options = __webpack_require__(34);
@@ -2102,6 +2103,7 @@ __webpack_require__.d(__webpack_exports__, "Operand", function() { return /* ree
2102
2103
  __webpack_require__.d(__webpack_exports__, "EqValueEditor", function() { return /* reexport */ value_editor["a" /* EqValueEditor */]; });
2103
2104
  __webpack_require__.d(__webpack_exports__, "EqAction", function() { return /* reexport */ EqAction; });
2104
2105
  __webpack_require__.d(__webpack_exports__, "EqModelLoader", function() { return /* reexport */ model_loader["a" /* EqModelLoader */]; });
2106
+ __webpack_require__.d(__webpack_exports__, "InMemoryModelStorage", function() { return /* reexport */ model_storage["a" /* InMemoryModelStorage */]; });
2105
2107
  __webpack_require__.d(__webpack_exports__, "BrowserQueryStorage", function() { return /* reexport */ query_storage["a" /* BrowserQueryStorage */]; });
2106
2108
  __webpack_require__.d(__webpack_exports__, "EqContext", function() { return /* reexport */ context_EqContext; });
2107
2109
  __webpack_require__.d(__webpack_exports__, "Widget", function() { return /* reexport */ widget_Widget; });
@@ -2410,6 +2412,7 @@ var eq_services_EqServiceProvider = /** @class */ (function () {
2410
2412
  this.httpClient = new public_api["HttpClient"]();
2411
2413
  this.httpClient.defaultHeaders['x-eqjs-version'] = '7.2.0';
2412
2414
  this.modelResolver = function (_) { return new data_model["a" /* DataModel */](); };
2415
+ this.modelStorageResolver = null;
2413
2416
  this.queryResolver = function (context) { return new query_query["b" /* Query */](context.getModel()); };
2414
2417
  this.modelLoaderResolver = function (context) { return new EqServerModelLoader(context); };
2415
2418
  this.queryStorageResolver = function (context) { return new query_storage["a" /* BrowserQueryStorage */](context); };
@@ -2420,6 +2423,7 @@ var eq_services_EqServiceProvider = /** @class */ (function () {
2420
2423
  this.aggrCalculatoResolver = function (context) { return new eq_aggr_container["a" /* DefaultAggregatesCalculator */](context); };
2421
2424
  }
2422
2425
  EqServiceProvider.prototype.reset = function () {
2426
+ this.modelStorage = null;
2423
2427
  this.modelLoader = null;
2424
2428
  this.queryStorage = null;
2425
2429
  this.querySynchronizer = null;
@@ -2448,6 +2452,15 @@ var eq_services_EqServiceProvider = /** @class */ (function () {
2448
2452
  }
2449
2453
  return this.modelLoader;
2450
2454
  };
2455
+ EqServiceProvider.prototype.getModelStorage = function () {
2456
+ if (!this.modelStorage) {
2457
+ if (!this.modelStorageResolver) {
2458
+ throw 'ModelStorageResolver is not defined';
2459
+ }
2460
+ this.modelStorage = this.modelStorageResolver(this.context);
2461
+ }
2462
+ return this.modelStorage;
2463
+ };
2451
2464
  EqServiceProvider.prototype.getQueryStorage = function () {
2452
2465
  if (!this.queryStorage) {
2453
2466
  if (!this.queryStorageResolver) {
@@ -2511,6 +2524,9 @@ var eq_services_EqServiceProvider = /** @class */ (function () {
2511
2524
  EqServiceProvider.prototype.registerModelLoaderResolver = function (resolver) {
2512
2525
  this.modelLoaderResolver = resolver;
2513
2526
  };
2527
+ EqServiceProvider.prototype.registerModelStorageResolver = function (resolver) {
2528
+ this.modelStorageResolver = resolver;
2529
+ };
2514
2530
  EqServiceProvider.prototype.registerQueryStorageResolver = function (resolver) {
2515
2531
  this.queryStorageResolver = resolver;
2516
2532
  };
@@ -2609,6 +2625,9 @@ var EqAction;
2609
2625
  EqAction["UploadQueryFile"] = "UploadQueryFile";
2610
2626
  })(EqAction || (EqAction = {}));
2611
2627
  //# sourceMappingURL=eq_actions.js.map
2628
+ // EXTERNAL MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/packs/core/dist/lib/main/model_storage.js
2629
+ var model_storage = __webpack_require__(105);
2630
+
2612
2631
  // EXTERNAL MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/packs/core/dist/lib/query/query_events.js
2613
2632
  var query_events = __webpack_require__(14);
2614
2633
 
@@ -2913,10 +2932,14 @@ var context_EqContext = /** @class */ (function () {
2913
2932
  }
2914
2933
  if (options.endpoint) {
2915
2934
  this.baseEndpoint = options.endpoint;
2916
- console.warn('The `endpoint` option is deprecated and will be ignored.\n'
2935
+ console.warn('The `endpoint` option is deprecated.\n'
2917
2936
  + 'Please use `context.useEndpoint(endpointURL)` function instead.');
2918
2937
  }
2919
2938
  this.setDefaultEndpoints(this.baseEndpoint);
2939
+ if (options.modelStorageResolver) {
2940
+ var eqServices = this.getServices();
2941
+ eqServices.registerModelStorageResolver(options.modelStorageResolver);
2942
+ }
2920
2943
  this.loadQueryOnStart = false;
2921
2944
  if (options.loadQueryOnStart) {
2922
2945
  this.loadQueryOnStart = options.loadQueryOnStart;
@@ -4262,6 +4285,7 @@ addEasyQueryCoreTexts();
4262
4285
 
4263
4286
 
4264
4287
 
4288
+
4265
4289
 
4266
4290
 
4267
4291
  //for backward compatibility
@@ -4707,6 +4731,10 @@ var DomSelectElementBuilder = /** @class */ (function (_super) {
4707
4731
  this.element.appendChild(option);
4708
4732
  return this;
4709
4733
  };
4734
+ DomSelectElementBuilder.prototype.value = function (value) {
4735
+ this.element.value = value;
4736
+ return this;
4737
+ };
4710
4738
  return DomSelectElementBuilder;
4711
4739
  }(DomElementBuilder));
4712
4740
 
@@ -8208,7 +8236,7 @@ var condition_group_renderer = __webpack_require__(78);
8208
8236
  var input_expression_renderer = __webpack_require__(80);
8209
8237
 
8210
8238
  // EXTERNAL MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/packs/ui/dist/lib/widgets/renderers/querypanel/attribute_expression_renderer.js
8211
- var attribute_expression_renderer = __webpack_require__(51);
8239
+ var attribute_expression_renderer = __webpack_require__(52);
8212
8240
 
8213
8241
  // EXTERNAL MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/packs/ui/dist/lib/widgets/renderers/querypanel/addrow_renderer.js
8214
8242
  var addrow_renderer = __webpack_require__(81);
@@ -9597,8 +9625,6 @@ var Query = /** @class */ (function () {
9597
9625
  }
9598
9626
  this.setDefaultName();
9599
9627
  this.description = "";
9600
- this.modelId = "";
9601
- this.modelName = "";
9602
9628
  this.model = (model) ? model : new _dm_data_model__WEBPACK_IMPORTED_MODULE_2__[/* DataModel */ "a"]();
9603
9629
  if (data) {
9604
9630
  this.loadFromData(data);
@@ -9612,10 +9638,14 @@ var Query = /** @class */ (function () {
9612
9638
  this.parentQuery = options.parent;
9613
9639
  }
9614
9640
  this.addChangedCallback(function (ev) {
9615
- if (ev.data && ev.data.part === _query_events__WEBPACK_IMPORTED_MODULE_10__[/* QueryChangePart */ "b"].Columns
9616
- && ev.data.action !== _query_events__WEBPACK_IMPORTED_MODULE_10__[/* QueryChangeAction */ "a"].Modify
9641
+ if (ev.data
9642
+ && ((ev.data.part & _query_events__WEBPACK_IMPORTED_MODULE_10__[/* QueryChangePart */ "b"].Columns) > 0)
9617
9643
  && !ev.data.aggregation) {
9618
- _this.aggrSettings.clear();
9644
+ if (_this._enableAggregation && _this.updateAggregationSettings()) {
9645
+ _this.fireChangedEvent({
9646
+ part: _query_events__WEBPACK_IMPORTED_MODULE_10__[/* QueryChangePart */ "b"].Aggregation
9647
+ });
9648
+ }
9619
9649
  }
9620
9650
  });
9621
9651
  }
@@ -9636,19 +9666,6 @@ var Query = /** @class */ (function () {
9636
9666
  this.processQueryForAggregation();
9637
9667
  var aggrCols = this.columns.filter(function (c) { return c.enabled
9638
9668
  && c.expr.tag == _types_expr_tag__WEBPACK_IMPORTED_MODULE_8__[/* ExprTag */ "a"].AggregateFunction; });
9639
- // // query contains aggregate columns
9640
- // if (aggrCols.length) {
9641
- // for (const col of aggrCols) {
9642
- // const attr = this.model.getAttributeById(col.expr.args[0].value);
9643
- // this.changeColumnType(col, ExprTag.EntityAttribute, {
9644
- // caption: this.model.getAttributeText(attr, `{attr}`)
9645
- // });
9646
- // }
9647
- // this.fireChangedEvent({
9648
- // part: QueryChangePart.Columns,
9649
- // wasModified: true
9650
- // });
9651
- // }
9652
9669
  }
9653
9670
  if (!this._enableAggregation) {
9654
9671
  this.aggrSettings.clear();
@@ -9657,6 +9674,40 @@ var Query = /** @class */ (function () {
9657
9674
  enumerable: true,
9658
9675
  configurable: true
9659
9676
  });
9677
+ Query.prototype.updateAggregationSettings = function () {
9678
+ var hasChanged = false;
9679
+ var aggrSettings = this.getAggregationSettings();
9680
+ for (var i = aggrSettings.groups.length - 1; i >= 0; i--) {
9681
+ var group = aggrSettings.groups[i];
9682
+ var _loop_1 = function (j) {
9683
+ var colId = group.columns[j];
9684
+ if (!this_1.columns.find(function (col) { return col.id === colId; })) {
9685
+ group.columns.splice(j, 1);
9686
+ hasChanged = true;
9687
+ }
9688
+ };
9689
+ var this_1 = this;
9690
+ for (var j = group.columns.length - 1; j >= 0; j--) {
9691
+ _loop_1(j);
9692
+ }
9693
+ if (group.columns.length == 0) {
9694
+ aggrSettings.groups.slice(i, 1);
9695
+ }
9696
+ }
9697
+ var aggregates = aggrSettings.getAggregates();
9698
+ var _loop_2 = function (i) {
9699
+ var aggr = aggregates[i];
9700
+ if (!this_2.columns.find(function (col) { return col.id === aggr.colId; })) {
9701
+ aggregates.splice(i, 1);
9702
+ hasChanged = true;
9703
+ }
9704
+ };
9705
+ var this_2 = this;
9706
+ for (var i = aggregates.length - 1; i >= 0; i--) {
9707
+ _loop_2(i);
9708
+ }
9709
+ return hasChanged;
9710
+ };
9660
9711
  Query.prototype.createSubQuery = function () {
9661
9712
  return new Query(this.model);
9662
9713
  };
@@ -11863,6 +11914,10 @@ var view_View = /** @class */ (function () {
11863
11914
  View.prototype.fetchData = function (options) {
11864
11915
  var _this = this;
11865
11916
  options = options || { refresh: true };
11917
+ this.context.clearResult();
11918
+ //don't run fetch if the query is empty
11919
+ if (this.context.getQuery().isEmpty() && !this.resultOptions.fetchEmptyQueries)
11920
+ return;
11866
11921
  this.showResultSpinner();
11867
11922
  this.context.fetchData({
11868
11923
  elasticPaging: options.elasticPaging,
@@ -15315,21 +15370,6 @@ var EasyGridWidget = /** @class */ (function (_super) {
15315
15370
  this.grid.refresh();
15316
15371
  };
15317
15372
  EasyGridWidget.prototype.attachQueryObserver = function () {
15318
- var _this = this;
15319
- var query = this.getQuery();
15320
- this.queryEventCallbackId = query.addChangedCallback(function (event) {
15321
- //if something has changed, and that change is related to columns
15322
- var edata = event.data;
15323
- if (!edata || (edata.part != _easyquery_core__WEBPACK_IMPORTED_MODULE_0__["QueryChangePart"].Columns && edata.part != _easyquery_core__WEBPACK_IMPORTED_MODULE_0__["QueryChangePart"].All)) {
15324
- return;
15325
- }
15326
- if (event.data.source == _this) {
15327
- _this.grid.refresh();
15328
- }
15329
- else {
15330
- _this.refresh();
15331
- }
15332
- });
15333
15373
  };
15334
15374
  EasyGridWidget.prototype.destroyCore = function () {
15335
15375
  this.detachQueryObserver();
@@ -16585,479 +16625,6 @@ var Condition = /** @class */ (function () {
16585
16625
 
16586
16626
  /***/ }),
16587
16627
  /* 51 */
16588
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
16589
-
16590
- "use strict";
16591
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AttributeExpressionRenderer; });
16592
- /* harmony import */ var _easydata_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
16593
- /* harmony import */ var _easyquery_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
16594
- /* harmony import */ var _easydata_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
16595
- /* harmony import */ var _list_expression_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25);
16596
- /* harmony import */ var _utils_browser_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3);
16597
- /* harmony import */ var _types_qp_editable_part__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10);
16598
- var __extends = (undefined && undefined.__extends) || (function () {
16599
- var extendStatics = function (d, b) {
16600
- extendStatics = Object.setPrototypeOf ||
16601
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
16602
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
16603
- return extendStatics(d, b);
16604
- };
16605
- return function (d, b) {
16606
- extendStatics(d, b);
16607
- function __() { this.constructor = d; }
16608
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
16609
- };
16610
- })();
16611
-
16612
-
16613
-
16614
-
16615
-
16616
-
16617
- var AttributeExpressionRenderer = /** @class */ (function (_super) {
16618
- __extends(AttributeExpressionRenderer, _super);
16619
- function AttributeExpressionRenderer(panel, expression, entitiesMenu, slot) {
16620
- var _this = _super.call(this, panel, expression, null, slot) || this;
16621
- _this.menu = entitiesMenu;
16622
- return _this;
16623
- }
16624
- AttributeExpressionRenderer.prototype.renderEditor = function () {
16625
- //create menu
16626
- };
16627
- AttributeExpressionRenderer.prototype.getLabelText = function () {
16628
- var model = this.panel.getContext().getModel();
16629
- var attrId = this.expression.value;
16630
- var attrObj = attrId ? model.getAttributeByIdSafe(attrId) : null;
16631
- var attrFormat = this.panel.options.attrElementFormat;
16632
- return attrObj ? model.getAttributeText(attrObj, attrFormat) : this.getEmptyText();
16633
- };
16634
- AttributeExpressionRenderer.prototype.setValue = function (value, silent) {
16635
- if (silent === void 0) { silent = false; }
16636
- silent = silent && value !== this.expression.value;
16637
- var result = _super.prototype.setValue.call(this, value, true);
16638
- if (!silent) {
16639
- this.expression.getParent().fireChangedEvent(_easyquery_core__WEBPACK_IMPORTED_MODULE_1__["ConditionPart"].EntityAttr | _easyquery_core__WEBPACK_IMPORTED_MODULE_1__["ConditionPart"].Operator);
16640
- }
16641
- return result;
16642
- };
16643
- AttributeExpressionRenderer.prototype.isEditable = function () {
16644
- return !this.isReadOnly()
16645
- && ((this.panel.options.editableParts & _types_qp_editable_part__WEBPACK_IMPORTED_MODULE_5__[/* QPEditablePart */ "a"].Attribute) === _types_qp_editable_part__WEBPACK_IMPORTED_MODULE_5__[/* QPEditablePart */ "a"].Attribute);
16646
- };
16647
- AttributeExpressionRenderer.prototype.getEmptyText = function () {
16648
- return this.panel.options.emptyTextAttribute || _easydata_core__WEBPACK_IMPORTED_MODULE_0__["i18n"].getText('MsgEmptyAttrValue');
16649
- };
16650
- AttributeExpressionRenderer.prototype.getClassesToAdd = function () {
16651
- return this.cssPrefix + "-condelement " + this.cssPrefix + "-attrelement";
16652
- };
16653
- AttributeExpressionRenderer.prototype.adjustWidth = function () {
16654
- if (_utils_browser_utils__WEBPACK_IMPORTED_MODULE_4__[/* browserUtils */ "a"].isMobileMode()) {
16655
- return;
16656
- }
16657
- var elWidth = this.element.clientWidth;
16658
- var parWidth = this.element.parentElement.clientWidth;
16659
- if (elWidth > parWidth / 2) {
16660
- Object(_easydata_ui__WEBPACK_IMPORTED_MODULE_2__["domel"])(this.element)
16661
- .addClass(this.cssPrefix + "-attrelement-wide");
16662
- }
16663
- };
16664
- return AttributeExpressionRenderer;
16665
- }(_list_expression_renderer__WEBPACK_IMPORTED_MODULE_3__[/* ListExpressionRenderer */ "b"]));
16666
-
16667
- //# sourceMappingURL=attribute_expression_renderer.js.map
16668
-
16669
- /***/ }),
16670
- /* 52 */
16671
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
16672
-
16673
- "use strict";
16674
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return GoogleChartWidget; });
16675
- /* harmony import */ var _easydata_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
16676
- /* harmony import */ var _chart_widget__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(47);
16677
- /* harmony import */ var _chart_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
16678
- var __extends = (undefined && undefined.__extends) || (function () {
16679
- var extendStatics = function (d, b) {
16680
- extendStatics = Object.setPrototypeOf ||
16681
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
16682
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
16683
- return extendStatics(d, b);
16684
- };
16685
- return function (d, b) {
16686
- extendStatics(d, b);
16687
- function __() { this.constructor = d; }
16688
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
16689
- };
16690
- })();
16691
-
16692
-
16693
-
16694
- var GoogleChartWidget = /** @class */ (function (_super) {
16695
- __extends(GoogleChartWidget, _super);
16696
- /**
16697
- * The default constructor.
16698
- * @param slot The html element.
16699
- * @param provider The provider.
16700
- */
16701
- function GoogleChartWidget(slot) {
16702
- var _this = _super.call(this, slot) || this;
16703
- _this.hasChartTypes = [
16704
- _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Column,
16705
- _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Bar,
16706
- _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Histogram,
16707
- _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Combo,
16708
- _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Area,
16709
- _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Line,
16710
- _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].SteppedLine,
16711
- _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Pie,
16712
- _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Doughnut
16713
- ];
16714
- _this.options.legend = {
16715
- show: true,
16716
- position: 'right'
16717
- };
16718
- return _this;
16719
- }
16720
- GoogleChartWidget.prototype.getWidgetType = function () {
16721
- return 'chartGoogle';
16722
- };
16723
- GoogleChartWidget.prototype.canDraw = function () {
16724
- return GoogleChartWidget.hasGoogleCharts();
16725
- };
16726
- GoogleChartWidget.hasGoogleCharts = function () {
16727
- return typeof google !== 'undefined' && typeof google.charts !== 'undefined';
16728
- };
16729
- GoogleChartWidget.prototype.initChart = function () {
16730
- if (GoogleChartWidget.hasGoogleCharts() && this.labelColumn >= 0
16731
- && this.dataColumns && this.dataColumns.length > 0) {
16732
- this.googleDataView =
16733
- new google.visualization.DataView(this.convertToGoogleFormat());
16734
- this.updateChartColumns();
16735
- }
16736
- };
16737
- GoogleChartWidget.prototype.convertToGoogleType = function (type) {
16738
- switch (type) {
16739
- case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Date:
16740
- return "date";
16741
- case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].DateTime:
16742
- return "datetime";
16743
- case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Time:
16744
- return "timeofday";
16745
- case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Byte:
16746
- case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Word:
16747
- case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Int32:
16748
- case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Int64:
16749
- case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Currency:
16750
- case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Float:
16751
- return "number";
16752
- default:
16753
- return "string";
16754
- }
16755
- };
16756
- GoogleChartWidget.prototype.convertToGoogleValue = function (value, type) {
16757
- switch (type) {
16758
- case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Bool:
16759
- return value.toString();
16760
- default:
16761
- return value;
16762
- }
16763
- };
16764
- GoogleChartWidget.prototype.convertToGoogleFormat = function () {
16765
- var googleTable = new google.visualization.DataTable();
16766
- var columns = this.dataTable.columns;
16767
- for (var i = 0; i < columns.count; i++) {
16768
- var column = columns.get(i);
16769
- googleTable.addColumn(this.convertToGoogleType(column.type), column.label, column.id);
16770
- }
16771
- var rows = this.dataTable.getCachedRows();
16772
- googleTable.addRows(rows.length);
16773
- for (var i = 0; i < rows.length; i++) {
16774
- var row = rows[i];
16775
- for (var j = 0; j < columns.count; j++) {
16776
- googleTable.setCell(i, j, this.convertToGoogleValue(row.getValue(j), columns.get(j).type));
16777
- }
16778
- }
16779
- return googleTable;
16780
- };
16781
- GoogleChartWidget.prototype.drawCore = function () {
16782
- if (this.googleDataView != null) {
16783
- this.options.legend = this.options.legend || {};
16784
- var chartOptions = {
16785
- width: "100%",
16786
- height: "100%",
16787
- chartArea: { width: this.getChartAreaWidth }
16788
- };
16789
- if (this.chartType == _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Doughnut) {
16790
- chartOptions.pieHole = 0.4;
16791
- }
16792
- if (!this.options.legend.show) {
16793
- chartOptions.legend = 'none';
16794
- }
16795
- else {
16796
- chartOptions.legend = { position: this.options.legend.position };
16797
- }
16798
- var chart = this.createChart(this.chartDiv);
16799
- chart.draw(this.googleDataView, chartOptions);
16800
- }
16801
- };
16802
- GoogleChartWidget.prototype.getChartAreaWidth = function (chartType) {
16803
- if (chartType == _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Pie) {
16804
- return "100%";
16805
- }
16806
- else {
16807
- return "50%";
16808
- }
16809
- };
16810
- GoogleChartWidget.prototype.updateChartColumns = function () {
16811
- if (this.googleDataView) {
16812
- this.googleDataView.setColumns([].concat(this.labelColumn).concat(this.dataColumns));
16813
- }
16814
- };
16815
- GoogleChartWidget.prototype.createChart = function (slot) {
16816
- switch (this.chartType) {
16817
- case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Column:
16818
- return new google.visualization.ColumnChart(slot);
16819
- case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Histogram:
16820
- return new google.visualization.Histogram(slot);
16821
- case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Bar:
16822
- return new google.visualization.BarChart(slot);
16823
- case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Combo:
16824
- return new google.visualization.ComboChart(slot);
16825
- case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Area:
16826
- return new google.visualization.AreaChart(slot);
16827
- case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Line:
16828
- return new google.visualization.LineChart(slot);
16829
- case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].SteppedLine:
16830
- return new google.visualization.SteppedAreaChart(slot);
16831
- case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Pie:
16832
- case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Doughnut:
16833
- return new google.visualization.PieChart(slot);
16834
- default:
16835
- return new google.visualization.PieChart(slot);
16836
- }
16837
- };
16838
- return GoogleChartWidget;
16839
- }(_chart_widget__WEBPACK_IMPORTED_MODULE_1__[/* ChartWidget */ "a"]));
16840
-
16841
- //# sourceMappingURL=chart_widget_google.js.map
16842
-
16843
- /***/ }),
16844
- /* 53 */
16845
- /***/ (function(module, exports) {
16846
-
16847
- // shim for using process in browser
16848
- var process = module.exports = {};
16849
-
16850
- // cached from whatever global is present so that test runners that stub it
16851
- // don't break things. But we need to wrap it in a try catch in case it is
16852
- // wrapped in strict mode code which doesn't define any globals. It's inside a
16853
- // function because try/catches deoptimize in certain engines.
16854
-
16855
- var cachedSetTimeout;
16856
- var cachedClearTimeout;
16857
-
16858
- function defaultSetTimout() {
16859
- throw new Error('setTimeout has not been defined');
16860
- }
16861
- function defaultClearTimeout () {
16862
- throw new Error('clearTimeout has not been defined');
16863
- }
16864
- (function () {
16865
- try {
16866
- if (typeof setTimeout === 'function') {
16867
- cachedSetTimeout = setTimeout;
16868
- } else {
16869
- cachedSetTimeout = defaultSetTimout;
16870
- }
16871
- } catch (e) {
16872
- cachedSetTimeout = defaultSetTimout;
16873
- }
16874
- try {
16875
- if (typeof clearTimeout === 'function') {
16876
- cachedClearTimeout = clearTimeout;
16877
- } else {
16878
- cachedClearTimeout = defaultClearTimeout;
16879
- }
16880
- } catch (e) {
16881
- cachedClearTimeout = defaultClearTimeout;
16882
- }
16883
- } ())
16884
- function runTimeout(fun) {
16885
- if (cachedSetTimeout === setTimeout) {
16886
- //normal enviroments in sane situations
16887
- return setTimeout(fun, 0);
16888
- }
16889
- // if setTimeout wasn't available but was latter defined
16890
- if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
16891
- cachedSetTimeout = setTimeout;
16892
- return setTimeout(fun, 0);
16893
- }
16894
- try {
16895
- // when when somebody has screwed with setTimeout but no I.E. maddness
16896
- return cachedSetTimeout(fun, 0);
16897
- } catch(e){
16898
- try {
16899
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
16900
- return cachedSetTimeout.call(null, fun, 0);
16901
- } catch(e){
16902
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
16903
- return cachedSetTimeout.call(this, fun, 0);
16904
- }
16905
- }
16906
-
16907
-
16908
- }
16909
- function runClearTimeout(marker) {
16910
- if (cachedClearTimeout === clearTimeout) {
16911
- //normal enviroments in sane situations
16912
- return clearTimeout(marker);
16913
- }
16914
- // if clearTimeout wasn't available but was latter defined
16915
- if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
16916
- cachedClearTimeout = clearTimeout;
16917
- return clearTimeout(marker);
16918
- }
16919
- try {
16920
- // when when somebody has screwed with setTimeout but no I.E. maddness
16921
- return cachedClearTimeout(marker);
16922
- } catch (e){
16923
- try {
16924
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
16925
- return cachedClearTimeout.call(null, marker);
16926
- } catch (e){
16927
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
16928
- // Some versions of I.E. have different rules for clearTimeout vs setTimeout
16929
- return cachedClearTimeout.call(this, marker);
16930
- }
16931
- }
16932
-
16933
-
16934
-
16935
- }
16936
- var queue = [];
16937
- var draining = false;
16938
- var currentQueue;
16939
- var queueIndex = -1;
16940
-
16941
- function cleanUpNextTick() {
16942
- if (!draining || !currentQueue) {
16943
- return;
16944
- }
16945
- draining = false;
16946
- if (currentQueue.length) {
16947
- queue = currentQueue.concat(queue);
16948
- } else {
16949
- queueIndex = -1;
16950
- }
16951
- if (queue.length) {
16952
- drainQueue();
16953
- }
16954
- }
16955
-
16956
- function drainQueue() {
16957
- if (draining) {
16958
- return;
16959
- }
16960
- var timeout = runTimeout(cleanUpNextTick);
16961
- draining = true;
16962
-
16963
- var len = queue.length;
16964
- while(len) {
16965
- currentQueue = queue;
16966
- queue = [];
16967
- while (++queueIndex < len) {
16968
- if (currentQueue) {
16969
- currentQueue[queueIndex].run();
16970
- }
16971
- }
16972
- queueIndex = -1;
16973
- len = queue.length;
16974
- }
16975
- currentQueue = null;
16976
- draining = false;
16977
- runClearTimeout(timeout);
16978
- }
16979
-
16980
- process.nextTick = function (fun) {
16981
- var args = new Array(arguments.length - 1);
16982
- if (arguments.length > 1) {
16983
- for (var i = 1; i < arguments.length; i++) {
16984
- args[i - 1] = arguments[i];
16985
- }
16986
- }
16987
- queue.push(new Item(fun, args));
16988
- if (queue.length === 1 && !draining) {
16989
- runTimeout(drainQueue);
16990
- }
16991
- };
16992
-
16993
- // v8 likes predictible objects
16994
- function Item(fun, array) {
16995
- this.fun = fun;
16996
- this.array = array;
16997
- }
16998
- Item.prototype.run = function () {
16999
- this.fun.apply(null, this.array);
17000
- };
17001
- process.title = 'browser';
17002
- process.browser = true;
17003
- process.env = {};
17004
- process.argv = [];
17005
- process.version = ''; // empty string to avoid regexp issues
17006
- process.versions = {};
17007
-
17008
- function noop() {}
17009
-
17010
- process.on = noop;
17011
- process.addListener = noop;
17012
- process.once = noop;
17013
- process.off = noop;
17014
- process.removeListener = noop;
17015
- process.removeAllListeners = noop;
17016
- process.emit = noop;
17017
- process.prependListener = noop;
17018
- process.prependOnceListener = noop;
17019
-
17020
- process.listeners = function (name) { return [] }
17021
-
17022
- process.binding = function (name) {
17023
- throw new Error('process.binding is not supported');
17024
- };
17025
-
17026
- process.cwd = function () { return '/' };
17027
- process.chdir = function (dir) {
17028
- throw new Error('process.chdir is not supported');
17029
- };
17030
- process.umask = function() { return 0; };
17031
-
17032
-
17033
- /***/ }),
17034
- /* 54 */
17035
- /***/ (function(module, exports) {
17036
-
17037
- var g;
17038
-
17039
- // This works in non-strict mode
17040
- g = (function() {
17041
- return this;
17042
- })();
17043
-
17044
- try {
17045
- // This works if eval is allowed (see CSP)
17046
- g = g || new Function("return this")();
17047
- } catch (e) {
17048
- // This works if the window reference is available
17049
- if (typeof window === "object") g = window;
17050
- }
17051
-
17052
- // g can still be undefined, but nothing to do about it...
17053
- // We return undefined, instead of nothing here, so it's
17054
- // easier to handle this case. if(!global) { ...}
17055
-
17056
- module.exports = g;
17057
-
17058
-
17059
- /***/ }),
17060
- /* 55 */
17061
16628
  /***/ (function(module, exports, __webpack_require__) {
17062
16629
 
17063
16630
  /* WEBPACK VAR INJECTION */(function(process, global) {/*!
@@ -18234,7 +17801,480 @@ return Promise$1;
18234
17801
 
18235
17802
  //# sourceMappingURL=es6-promise.map
18236
17803
 
18237
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(53), __webpack_require__(54)))
17804
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(54), __webpack_require__(55)))
17805
+
17806
+ /***/ }),
17807
+ /* 52 */
17808
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
17809
+
17810
+ "use strict";
17811
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AttributeExpressionRenderer; });
17812
+ /* harmony import */ var _easydata_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
17813
+ /* harmony import */ var _easyquery_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
17814
+ /* harmony import */ var _easydata_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
17815
+ /* harmony import */ var _list_expression_renderer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25);
17816
+ /* harmony import */ var _utils_browser_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3);
17817
+ /* harmony import */ var _types_qp_editable_part__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10);
17818
+ var __extends = (undefined && undefined.__extends) || (function () {
17819
+ var extendStatics = function (d, b) {
17820
+ extendStatics = Object.setPrototypeOf ||
17821
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
17822
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
17823
+ return extendStatics(d, b);
17824
+ };
17825
+ return function (d, b) {
17826
+ extendStatics(d, b);
17827
+ function __() { this.constructor = d; }
17828
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
17829
+ };
17830
+ })();
17831
+
17832
+
17833
+
17834
+
17835
+
17836
+
17837
+ var AttributeExpressionRenderer = /** @class */ (function (_super) {
17838
+ __extends(AttributeExpressionRenderer, _super);
17839
+ function AttributeExpressionRenderer(panel, expression, entitiesMenu, slot) {
17840
+ var _this = _super.call(this, panel, expression, null, slot) || this;
17841
+ _this.menu = entitiesMenu;
17842
+ return _this;
17843
+ }
17844
+ AttributeExpressionRenderer.prototype.renderEditor = function () {
17845
+ //create menu
17846
+ };
17847
+ AttributeExpressionRenderer.prototype.getLabelText = function () {
17848
+ var model = this.panel.getContext().getModel();
17849
+ var attrId = this.expression.value;
17850
+ var attrObj = attrId ? model.getAttributeByIdSafe(attrId) : null;
17851
+ var attrFormat = this.panel.options.attrElementFormat;
17852
+ return attrObj ? model.getAttributeText(attrObj, attrFormat) : this.getEmptyText();
17853
+ };
17854
+ AttributeExpressionRenderer.prototype.setValue = function (value, silent) {
17855
+ if (silent === void 0) { silent = false; }
17856
+ silent = silent && value !== this.expression.value;
17857
+ var result = _super.prototype.setValue.call(this, value, true);
17858
+ if (!silent) {
17859
+ this.expression.getParent().fireChangedEvent(_easyquery_core__WEBPACK_IMPORTED_MODULE_1__["ConditionPart"].EntityAttr | _easyquery_core__WEBPACK_IMPORTED_MODULE_1__["ConditionPart"].Operator);
17860
+ }
17861
+ return result;
17862
+ };
17863
+ AttributeExpressionRenderer.prototype.isEditable = function () {
17864
+ return !this.isReadOnly()
17865
+ && ((this.panel.options.editableParts & _types_qp_editable_part__WEBPACK_IMPORTED_MODULE_5__[/* QPEditablePart */ "a"].Attribute) === _types_qp_editable_part__WEBPACK_IMPORTED_MODULE_5__[/* QPEditablePart */ "a"].Attribute);
17866
+ };
17867
+ AttributeExpressionRenderer.prototype.getEmptyText = function () {
17868
+ return this.panel.options.emptyTextAttribute || _easydata_core__WEBPACK_IMPORTED_MODULE_0__["i18n"].getText('MsgEmptyAttrValue');
17869
+ };
17870
+ AttributeExpressionRenderer.prototype.getClassesToAdd = function () {
17871
+ return this.cssPrefix + "-condelement " + this.cssPrefix + "-attrelement";
17872
+ };
17873
+ AttributeExpressionRenderer.prototype.adjustWidth = function () {
17874
+ if (_utils_browser_utils__WEBPACK_IMPORTED_MODULE_4__[/* browserUtils */ "a"].isMobileMode()) {
17875
+ return;
17876
+ }
17877
+ var elWidth = this.element.clientWidth;
17878
+ var parWidth = this.element.parentElement.clientWidth;
17879
+ if (elWidth > parWidth / 2) {
17880
+ Object(_easydata_ui__WEBPACK_IMPORTED_MODULE_2__["domel"])(this.element)
17881
+ .addClass(this.cssPrefix + "-attrelement-wide");
17882
+ }
17883
+ };
17884
+ return AttributeExpressionRenderer;
17885
+ }(_list_expression_renderer__WEBPACK_IMPORTED_MODULE_3__[/* ListExpressionRenderer */ "b"]));
17886
+
17887
+ //# sourceMappingURL=attribute_expression_renderer.js.map
17888
+
17889
+ /***/ }),
17890
+ /* 53 */
17891
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
17892
+
17893
+ "use strict";
17894
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return GoogleChartWidget; });
17895
+ /* harmony import */ var _easydata_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
17896
+ /* harmony import */ var _chart_widget__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(47);
17897
+ /* harmony import */ var _chart_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5);
17898
+ var __extends = (undefined && undefined.__extends) || (function () {
17899
+ var extendStatics = function (d, b) {
17900
+ extendStatics = Object.setPrototypeOf ||
17901
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
17902
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
17903
+ return extendStatics(d, b);
17904
+ };
17905
+ return function (d, b) {
17906
+ extendStatics(d, b);
17907
+ function __() { this.constructor = d; }
17908
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
17909
+ };
17910
+ })();
17911
+
17912
+
17913
+
17914
+ var GoogleChartWidget = /** @class */ (function (_super) {
17915
+ __extends(GoogleChartWidget, _super);
17916
+ /**
17917
+ * The default constructor.
17918
+ * @param slot The html element.
17919
+ * @param provider The provider.
17920
+ */
17921
+ function GoogleChartWidget(slot) {
17922
+ var _this = _super.call(this, slot) || this;
17923
+ _this.hasChartTypes = [
17924
+ _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Column,
17925
+ _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Bar,
17926
+ _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Histogram,
17927
+ _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Combo,
17928
+ _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Area,
17929
+ _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Line,
17930
+ _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].SteppedLine,
17931
+ _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Pie,
17932
+ _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Doughnut
17933
+ ];
17934
+ _this.options.legend = {
17935
+ show: true,
17936
+ position: 'right'
17937
+ };
17938
+ return _this;
17939
+ }
17940
+ GoogleChartWidget.prototype.getWidgetType = function () {
17941
+ return 'chartGoogle';
17942
+ };
17943
+ GoogleChartWidget.prototype.canDraw = function () {
17944
+ return GoogleChartWidget.hasGoogleCharts();
17945
+ };
17946
+ GoogleChartWidget.hasGoogleCharts = function () {
17947
+ return typeof google !== 'undefined' && typeof google.charts !== 'undefined';
17948
+ };
17949
+ GoogleChartWidget.prototype.initChart = function () {
17950
+ if (GoogleChartWidget.hasGoogleCharts() && this.labelColumn >= 0
17951
+ && this.dataColumns && this.dataColumns.length > 0) {
17952
+ this.googleDataView =
17953
+ new google.visualization.DataView(this.convertToGoogleFormat());
17954
+ this.updateChartColumns();
17955
+ }
17956
+ };
17957
+ GoogleChartWidget.prototype.convertToGoogleType = function (type) {
17958
+ switch (type) {
17959
+ case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Date:
17960
+ return "date";
17961
+ case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].DateTime:
17962
+ return "datetime";
17963
+ case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Time:
17964
+ return "timeofday";
17965
+ case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Byte:
17966
+ case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Word:
17967
+ case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Int32:
17968
+ case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Int64:
17969
+ case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Currency:
17970
+ case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Float:
17971
+ return "number";
17972
+ default:
17973
+ return "string";
17974
+ }
17975
+ };
17976
+ GoogleChartWidget.prototype.convertToGoogleValue = function (value, type) {
17977
+ switch (type) {
17978
+ case _easydata_core__WEBPACK_IMPORTED_MODULE_0__["DataType"].Bool:
17979
+ return value.toString();
17980
+ default:
17981
+ return value;
17982
+ }
17983
+ };
17984
+ GoogleChartWidget.prototype.convertToGoogleFormat = function () {
17985
+ var googleTable = new google.visualization.DataTable();
17986
+ var columns = this.dataTable.columns;
17987
+ for (var i = 0; i < columns.count; i++) {
17988
+ var column = columns.get(i);
17989
+ googleTable.addColumn(this.convertToGoogleType(column.type), column.label, column.id);
17990
+ }
17991
+ var rows = this.dataTable.getCachedRows();
17992
+ googleTable.addRows(rows.length);
17993
+ for (var i = 0; i < rows.length; i++) {
17994
+ var row = rows[i];
17995
+ for (var j = 0; j < columns.count; j++) {
17996
+ googleTable.setCell(i, j, this.convertToGoogleValue(row.getValue(j), columns.get(j).type));
17997
+ }
17998
+ }
17999
+ return googleTable;
18000
+ };
18001
+ GoogleChartWidget.prototype.drawCore = function () {
18002
+ if (this.googleDataView != null) {
18003
+ this.options.legend = this.options.legend || {};
18004
+ var chartOptions = {
18005
+ width: "100%",
18006
+ height: "100%",
18007
+ chartArea: { width: this.getChartAreaWidth }
18008
+ };
18009
+ if (this.chartType == _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Doughnut) {
18010
+ chartOptions.pieHole = 0.4;
18011
+ }
18012
+ if (!this.options.legend.show) {
18013
+ chartOptions.legend = 'none';
18014
+ }
18015
+ else {
18016
+ chartOptions.legend = { position: this.options.legend.position };
18017
+ }
18018
+ var chart = this.createChart(this.chartDiv);
18019
+ chart.draw(this.googleDataView, chartOptions);
18020
+ }
18021
+ };
18022
+ GoogleChartWidget.prototype.getChartAreaWidth = function (chartType) {
18023
+ if (chartType == _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Pie) {
18024
+ return "100%";
18025
+ }
18026
+ else {
18027
+ return "50%";
18028
+ }
18029
+ };
18030
+ GoogleChartWidget.prototype.updateChartColumns = function () {
18031
+ if (this.googleDataView) {
18032
+ this.googleDataView.setColumns([].concat(this.labelColumn).concat(this.dataColumns));
18033
+ }
18034
+ };
18035
+ GoogleChartWidget.prototype.createChart = function (slot) {
18036
+ switch (this.chartType) {
18037
+ case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Column:
18038
+ return new google.visualization.ColumnChart(slot);
18039
+ case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Histogram:
18040
+ return new google.visualization.Histogram(slot);
18041
+ case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Bar:
18042
+ return new google.visualization.BarChart(slot);
18043
+ case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Combo:
18044
+ return new google.visualization.ComboChart(slot);
18045
+ case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Area:
18046
+ return new google.visualization.AreaChart(slot);
18047
+ case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Line:
18048
+ return new google.visualization.LineChart(slot);
18049
+ case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].SteppedLine:
18050
+ return new google.visualization.SteppedAreaChart(slot);
18051
+ case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Pie:
18052
+ case _chart_type__WEBPACK_IMPORTED_MODULE_2__[/* ChartType */ "a"].Doughnut:
18053
+ return new google.visualization.PieChart(slot);
18054
+ default:
18055
+ return new google.visualization.PieChart(slot);
18056
+ }
18057
+ };
18058
+ return GoogleChartWidget;
18059
+ }(_chart_widget__WEBPACK_IMPORTED_MODULE_1__[/* ChartWidget */ "a"]));
18060
+
18061
+ //# sourceMappingURL=chart_widget_google.js.map
18062
+
18063
+ /***/ }),
18064
+ /* 54 */
18065
+ /***/ (function(module, exports) {
18066
+
18067
+ // shim for using process in browser
18068
+ var process = module.exports = {};
18069
+
18070
+ // cached from whatever global is present so that test runners that stub it
18071
+ // don't break things. But we need to wrap it in a try catch in case it is
18072
+ // wrapped in strict mode code which doesn't define any globals. It's inside a
18073
+ // function because try/catches deoptimize in certain engines.
18074
+
18075
+ var cachedSetTimeout;
18076
+ var cachedClearTimeout;
18077
+
18078
+ function defaultSetTimout() {
18079
+ throw new Error('setTimeout has not been defined');
18080
+ }
18081
+ function defaultClearTimeout () {
18082
+ throw new Error('clearTimeout has not been defined');
18083
+ }
18084
+ (function () {
18085
+ try {
18086
+ if (typeof setTimeout === 'function') {
18087
+ cachedSetTimeout = setTimeout;
18088
+ } else {
18089
+ cachedSetTimeout = defaultSetTimout;
18090
+ }
18091
+ } catch (e) {
18092
+ cachedSetTimeout = defaultSetTimout;
18093
+ }
18094
+ try {
18095
+ if (typeof clearTimeout === 'function') {
18096
+ cachedClearTimeout = clearTimeout;
18097
+ } else {
18098
+ cachedClearTimeout = defaultClearTimeout;
18099
+ }
18100
+ } catch (e) {
18101
+ cachedClearTimeout = defaultClearTimeout;
18102
+ }
18103
+ } ())
18104
+ function runTimeout(fun) {
18105
+ if (cachedSetTimeout === setTimeout) {
18106
+ //normal enviroments in sane situations
18107
+ return setTimeout(fun, 0);
18108
+ }
18109
+ // if setTimeout wasn't available but was latter defined
18110
+ if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
18111
+ cachedSetTimeout = setTimeout;
18112
+ return setTimeout(fun, 0);
18113
+ }
18114
+ try {
18115
+ // when when somebody has screwed with setTimeout but no I.E. maddness
18116
+ return cachedSetTimeout(fun, 0);
18117
+ } catch(e){
18118
+ try {
18119
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
18120
+ return cachedSetTimeout.call(null, fun, 0);
18121
+ } catch(e){
18122
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
18123
+ return cachedSetTimeout.call(this, fun, 0);
18124
+ }
18125
+ }
18126
+
18127
+
18128
+ }
18129
+ function runClearTimeout(marker) {
18130
+ if (cachedClearTimeout === clearTimeout) {
18131
+ //normal enviroments in sane situations
18132
+ return clearTimeout(marker);
18133
+ }
18134
+ // if clearTimeout wasn't available but was latter defined
18135
+ if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
18136
+ cachedClearTimeout = clearTimeout;
18137
+ return clearTimeout(marker);
18138
+ }
18139
+ try {
18140
+ // when when somebody has screwed with setTimeout but no I.E. maddness
18141
+ return cachedClearTimeout(marker);
18142
+ } catch (e){
18143
+ try {
18144
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
18145
+ return cachedClearTimeout.call(null, marker);
18146
+ } catch (e){
18147
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
18148
+ // Some versions of I.E. have different rules for clearTimeout vs setTimeout
18149
+ return cachedClearTimeout.call(this, marker);
18150
+ }
18151
+ }
18152
+
18153
+
18154
+
18155
+ }
18156
+ var queue = [];
18157
+ var draining = false;
18158
+ var currentQueue;
18159
+ var queueIndex = -1;
18160
+
18161
+ function cleanUpNextTick() {
18162
+ if (!draining || !currentQueue) {
18163
+ return;
18164
+ }
18165
+ draining = false;
18166
+ if (currentQueue.length) {
18167
+ queue = currentQueue.concat(queue);
18168
+ } else {
18169
+ queueIndex = -1;
18170
+ }
18171
+ if (queue.length) {
18172
+ drainQueue();
18173
+ }
18174
+ }
18175
+
18176
+ function drainQueue() {
18177
+ if (draining) {
18178
+ return;
18179
+ }
18180
+ var timeout = runTimeout(cleanUpNextTick);
18181
+ draining = true;
18182
+
18183
+ var len = queue.length;
18184
+ while(len) {
18185
+ currentQueue = queue;
18186
+ queue = [];
18187
+ while (++queueIndex < len) {
18188
+ if (currentQueue) {
18189
+ currentQueue[queueIndex].run();
18190
+ }
18191
+ }
18192
+ queueIndex = -1;
18193
+ len = queue.length;
18194
+ }
18195
+ currentQueue = null;
18196
+ draining = false;
18197
+ runClearTimeout(timeout);
18198
+ }
18199
+
18200
+ process.nextTick = function (fun) {
18201
+ var args = new Array(arguments.length - 1);
18202
+ if (arguments.length > 1) {
18203
+ for (var i = 1; i < arguments.length; i++) {
18204
+ args[i - 1] = arguments[i];
18205
+ }
18206
+ }
18207
+ queue.push(new Item(fun, args));
18208
+ if (queue.length === 1 && !draining) {
18209
+ runTimeout(drainQueue);
18210
+ }
18211
+ };
18212
+
18213
+ // v8 likes predictible objects
18214
+ function Item(fun, array) {
18215
+ this.fun = fun;
18216
+ this.array = array;
18217
+ }
18218
+ Item.prototype.run = function () {
18219
+ this.fun.apply(null, this.array);
18220
+ };
18221
+ process.title = 'browser';
18222
+ process.browser = true;
18223
+ process.env = {};
18224
+ process.argv = [];
18225
+ process.version = ''; // empty string to avoid regexp issues
18226
+ process.versions = {};
18227
+
18228
+ function noop() {}
18229
+
18230
+ process.on = noop;
18231
+ process.addListener = noop;
18232
+ process.once = noop;
18233
+ process.off = noop;
18234
+ process.removeListener = noop;
18235
+ process.removeAllListeners = noop;
18236
+ process.emit = noop;
18237
+ process.prependListener = noop;
18238
+ process.prependOnceListener = noop;
18239
+
18240
+ process.listeners = function (name) { return [] }
18241
+
18242
+ process.binding = function (name) {
18243
+ throw new Error('process.binding is not supported');
18244
+ };
18245
+
18246
+ process.cwd = function () { return '/' };
18247
+ process.chdir = function (dir) {
18248
+ throw new Error('process.chdir is not supported');
18249
+ };
18250
+ process.umask = function() { return 0; };
18251
+
18252
+
18253
+ /***/ }),
18254
+ /* 55 */
18255
+ /***/ (function(module, exports) {
18256
+
18257
+ var g;
18258
+
18259
+ // This works in non-strict mode
18260
+ g = (function() {
18261
+ return this;
18262
+ })();
18263
+
18264
+ try {
18265
+ // This works if eval is allowed (see CSP)
18266
+ g = g || new Function("return this")();
18267
+ } catch (e) {
18268
+ // This works if the window reference is available
18269
+ if (typeof window === "object") g = window;
18270
+ }
18271
+
18272
+ // g can still be undefined, but nothing to do about it...
18273
+ // We return undefined, instead of nothing here, so it's
18274
+ // easier to handle this case. if(!global) { ...}
18275
+
18276
+ module.exports = g;
18277
+
18238
18278
 
18239
18279
  /***/ }),
18240
18280
  /* 56 */
@@ -19414,7 +19454,7 @@ return Promise$1;
19414
19454
 
19415
19455
  //# sourceMappingURL=es6-promise.map
19416
19456
 
19417
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(53), __webpack_require__(54)))
19457
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(54), __webpack_require__(55)))
19418
19458
 
19419
19459
  /***/ }),
19420
19460
  /* 57 */
@@ -19964,7 +20004,7 @@ var BrowserQueryStorage = /** @class */ (function () {
19964
20004
  }());
19965
20005
 
19966
20006
  //# sourceMappingURL=query_storage.js.map
19967
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(55)))
20007
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(51)))
19968
20008
 
19969
20009
  /***/ }),
19970
20010
  /* 64 */
@@ -20005,7 +20045,7 @@ var EqModelLoader = /** @class */ (function () {
20005
20045
  }());
20006
20046
 
20007
20047
  //# sourceMappingURL=model_loader.js.map
20008
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(55)))
20048
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(51)))
20009
20049
 
20010
20050
  /***/ }),
20011
20051
  /* 65 */
@@ -20123,7 +20163,7 @@ var DefaultAggregatesCalculator = /** @class */ (function () {
20123
20163
  }());
20124
20164
 
20125
20165
  //# sourceMappingURL=eq_aggr_container.js.map
20126
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(55)))
20166
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(51)))
20127
20167
 
20128
20168
  /***/ }),
20129
20169
  /* 66 */
@@ -20182,7 +20222,7 @@ var EasyQueryDataLoader = /** @class */ (function () {
20182
20222
  }());
20183
20223
 
20184
20224
  //# sourceMappingURL=eq_data_loader.js.map
20185
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(55)))
20225
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(51)))
20186
20226
 
20187
20227
  /***/ }),
20188
20228
  /* 67 */
@@ -21524,7 +21564,7 @@ var DefaultDialogSet = /** @class */ (function () {
21524
21564
  }());
21525
21565
 
21526
21566
  //# sourceMappingURL=default_dialog_service.js.map
21527
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(106)))
21567
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(107)))
21528
21568
 
21529
21569
  /***/ }),
21530
21570
  /* 71 */
@@ -23377,7 +23417,6 @@ var AggrFuncColumnRendererCB = /** @class */ (function (_super) {
23377
23417
  .getAttributeByIdSafe(this.column.expr.args[0].value);
23378
23418
  };
23379
23419
  AggrFuncColumnRendererCB.prototype.getDefaultCaption = function () {
23380
- console.log('Calling getDefaultCaption() AGGR');
23381
23420
  return this.getDefaultTitleText(this.baseAttr) + ' '
23382
23421
  + this.bar.getContext().getModel().getAggrFunctionCaption(this.column.expr.func);
23383
23422
  };
@@ -23727,7 +23766,6 @@ var ColumnRendererCB = /** @class */ (function () {
23727
23766
  .toDOM();
23728
23767
  };
23729
23768
  ColumnRendererCB.prototype.getDefaultCaption = function () {
23730
- console.log('Calling getDefaultCaption() BASE');
23731
23769
  return this.getDefaultTitleText(this.baseAttr);
23732
23770
  };
23733
23771
  ColumnRendererCB.prototype.getDefaultTitleText = function (attr) {
@@ -25570,7 +25608,7 @@ var ProcessWidget = /** @class */ (function (_super) {
25570
25608
  /* harmony import */ var _types_facet_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13);
25571
25609
  /* harmony import */ var _result_facet__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(31);
25572
25610
  /* harmony import */ var _widgets_charts_chart_widget_chartjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(46);
25573
- /* harmony import */ var _widgets_charts_chart_widget_google__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(52);
25611
+ /* harmony import */ var _widgets_charts_chart_widget_google__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(53);
25574
25612
  /* harmony import */ var _utils_browser_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
25575
25613
  var __extends = (undefined && undefined.__extends) || (function () {
25576
25614
  var extendStatics = function (d, b) {
@@ -25844,6 +25882,12 @@ var AggrFunc;
25844
25882
  AggrFunc["Max"] = "MAX";
25845
25883
  AggrFunc["Count"] = "COUNT";
25846
25884
  })(AggrFunc || (AggrFunc = {}));
25885
+ var FormFieldType;
25886
+ (function (FormFieldType) {
25887
+ FormFieldType[FormFieldType["ColumnField"] = 0] = "ColumnField";
25888
+ FormFieldType[FormFieldType["RowField"] = 1] = "RowField";
25889
+ FormFieldType[FormFieldType["CellData"] = 2] = "CellData";
25890
+ })(FormFieldType || (FormFieldType = {}));
25847
25891
  var DFMT_REGEX = /{0:(.*?)}/g;
25848
25892
  var PivotTableFacet = /** @class */ (function (_super) {
25849
25893
  __extends(PivotTableFacet, _super);
@@ -25932,9 +25976,10 @@ var PivotTableFacet = /** @class */ (function (_super) {
25932
25976
  }
25933
25977
  return csb;
25934
25978
  };
25935
- PivotTableFacet.prototype.createColumnsSelectBuilder = function (allowedTypes, colName) {
25979
+ PivotTableFacet.prototype.createColumnsSelectBuilder = function (allowedTypes, colName, formFieldType) {
25936
25980
  var dataTable = this.getContextDataTable();
25937
25981
  var csb = Object(_easydata_ui__WEBPACK_IMPORTED_MODULE_0__["domel"])('select');
25982
+ var firstNumericColIndex = null;
25938
25983
  var _loop_2 = function (i) {
25939
25984
  var column = dataTable.columns.get(i);
25940
25985
  var colLabel = column.label;
@@ -25942,6 +25987,9 @@ var PivotTableFacet = /** @class */ (function (_super) {
25942
25987
  var colId = column.id;
25943
25988
  if (allowedTypes && allowedTypes.indexOf(colType) < 0)
25944
25989
  return "continue";
25990
+ if (firstNumericColIndex === null && _easydata_core__WEBPACK_IMPORTED_MODULE_1__["utils"].isNumericType(colType)) {
25991
+ firstNumericColIndex = i;
25992
+ }
25945
25993
  csb.addChild('option', function (b) {
25946
25994
  b
25947
25995
  .attr('value', colId)
@@ -25963,7 +26011,20 @@ var PivotTableFacet = /** @class */ (function (_super) {
25963
26011
  }
25964
26012
  }
25965
26013
  else {
25966
- csb.toDOM().value = options[0].value;
26014
+ switch (formFieldType) {
26015
+ case FormFieldType.ColumnField: {
26016
+ csb.toDOM().value = options[0].value;
26017
+ break;
26018
+ }
26019
+ case FormFieldType.RowField: {
26020
+ csb.toDOM().value = options.length > 1 ? options[1].value : options[0].value;
26021
+ break;
26022
+ }
26023
+ case FormFieldType.CellData: {
26024
+ csb.toDOM().value = firstNumericColIndex === null ? options[0].value : options[firstNumericColIndex].value;
26025
+ break;
26026
+ }
26027
+ }
25967
26028
  }
25968
26029
  }
25969
26030
  return csb;
@@ -26008,7 +26069,7 @@ var PivotTableFacet = /** @class */ (function (_super) {
26008
26069
  .addChild('div', function (b) { return b
26009
26070
  .addClass('kfrm-select')
26010
26071
  .attr('name', 'column_field')
26011
- .addChildElement(_this.createColumnsSelectBuilder(colTypes, settings.colName)
26072
+ .addChildElement(_this.createColumnsSelectBuilder(colTypes, settings.colName, FormFieldType.ColumnField)
26012
26073
  .id('pivotTableColFieldSelector')
26013
26074
  .toDOM()); })
26014
26075
  .addChild('button', function (b) { return b
@@ -26030,7 +26091,7 @@ var PivotTableFacet = /** @class */ (function (_super) {
26030
26091
  .addChild('div', function (b) { return b
26031
26092
  .addClass('kfrm-select')
26032
26093
  .attr('name', 'row_field')
26033
- .addChildElement(_this.createColumnsSelectBuilder(colTypes, settings.rowName)
26094
+ .addChildElement(_this.createColumnsSelectBuilder(colTypes, settings.rowName, FormFieldType.RowField)
26034
26095
  .id('pivotTableRowFieldSelector')
26035
26096
  .toDOM()); });
26036
26097
  current = getCurrent();
@@ -26050,7 +26111,7 @@ var PivotTableFacet = /** @class */ (function (_super) {
26050
26111
  .addChild('div', function (b) { return b
26051
26112
  .addClass('kfrm-select')
26052
26113
  .attr('name', 'data_column')
26053
- .addChildElement(_this.createColumnsSelectBuilder(fieldTypes, settings.fieldName)
26114
+ .addChildElement(_this.createColumnsSelectBuilder(fieldTypes, settings.fieldName, FormFieldType.CellData)
26054
26115
  .on('change', function (ev) {
26055
26116
  var colId = ev.target.value;
26056
26117
  _this.validateSelectedField(colId);
@@ -26817,7 +26878,7 @@ var AggrSettingsDialog = /** @class */ (function () {
26817
26878
  var ds = _this.context.getServices().getDialogService();
26818
26879
  _this.body = _this.renderBody();
26819
26880
  var dlg = ds.open({
26820
- title: 'Aggregation settings',
26881
+ title: _easyquery_core__WEBPACK_IMPORTED_MODULE_1__["i18n"].getText('AggrSettings', 'AggrDialogTitle'),
26821
26882
  body: _this.body,
26822
26883
  onSubmit: function () {
26823
26884
  if (_this.query.enableAggregation && !_this.renderer.isValid())
@@ -26878,10 +26939,10 @@ var AggrSettingsDialog = /** @class */ (function () {
26878
26939
  b.on('change', _this.enableAggrCheckBoxChangeHandler.bind(_this));
26879
26940
  })
26880
26941
  .addChild('span', function (b) { return b
26881
- .addClass('slider round'); }); })
26942
+ .addClass('slider round'); })
26882
26943
  .addChild('span', function (b) { return b
26883
26944
  .addClass('switch-text')
26884
- .addText(_easyquery_core__WEBPACK_IMPORTED_MODULE_1__["i18n"].getText('AggrSettings', 'EnableAggrLabel')); }); })
26945
+ .addText(_easyquery_core__WEBPACK_IMPORTED_MODULE_1__["i18n"].getText('AggrSettings', 'EnableAggrLabel')); }); }); })
26885
26946
  .addChild('div', function (b) { return b
26886
26947
  .id('AggrSettingsComponent'); });
26887
26948
  return b.toDOM();
@@ -27060,10 +27121,10 @@ var AggrSettingsRenderer = /** @class */ (function () {
27060
27121
  b.on('change', _this.countsCheckboxChangeHandler.bind(_this));
27061
27122
  })
27062
27123
  .addChild('span', function (b) { return b
27063
- .addClass('slider round'); }); })
27124
+ .addClass('slider round'); })
27064
27125
  .addChild('span', function (b) { return b
27065
27126
  .addClass('switch-text')
27066
- .addText(_easyquery_core__WEBPACK_IMPORTED_MODULE_3__["i18n"].getText('AggrSettings', 'GroupCountsLabel')); }); })
27127
+ .addText(_easyquery_core__WEBPACK_IMPORTED_MODULE_3__["i18n"].getText('AggrSettings', 'GroupCountsLabel')); }); }); })
27067
27128
  .addChild('div', function (b) { return b
27068
27129
  .addClass(_this.cssPrefix + "-grandtotals")
27069
27130
  .addChild('label', function (b) { return b
@@ -27076,10 +27137,10 @@ var AggrSettingsRenderer = /** @class */ (function () {
27076
27137
  b.on('change', _this.grandCheckboxChangeHandler.bind(_this));
27077
27138
  })
27078
27139
  .addChild('span', function (b) { return b
27079
- .addClass('slider round'); }); })
27140
+ .addClass('slider round'); })
27080
27141
  .addChild('span', function (b) { return b
27081
27142
  .addClass('switch-text')
27082
- .addText(_easyquery_core__WEBPACK_IMPORTED_MODULE_3__["i18n"].getText('AggrSettings', 'GrandTotalsLabel')); }); });
27143
+ .addText(_easyquery_core__WEBPACK_IMPORTED_MODULE_3__["i18n"].getText('AggrSettings', 'GrandTotalsLabel')); }); }); });
27083
27144
  var groups = this.slot.querySelectorAll("." + this.cssPrefix + "-group");
27084
27145
  groups.forEach(function (el) {
27085
27146
  Object(_easydata_ui__WEBPACK_IMPORTED_MODULE_1__["domel"])(el)
@@ -30039,7 +30100,7 @@ return Promise$1;
30039
30100
 
30040
30101
  //# sourceMappingURL=es6-promise.map
30041
30102
 
30042
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(112), __webpack_require__(113)))
30103
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(113), __webpack_require__(114)))
30043
30104
 
30044
30105
  /***/ }),
30045
30106
  /* 101 */
@@ -30049,7 +30110,7 @@ return Promise$1;
30049
30110
  /* WEBPACK VAR INJECTION */(function(Promise) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return HttpResponseError; });
30050
30111
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return HttpClient; });
30051
30112
  /* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11);
30052
- /* harmony import */ var _http_action_result__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(109);
30113
+ /* harmony import */ var _http_action_result__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(110);
30053
30114
  /* harmony import */ var _http_method__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36);
30054
30115
  /* harmony import */ var _http_request__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(57);
30055
30116
  var __extends = (undefined && undefined.__extends) || (function () {
@@ -31373,7 +31434,7 @@ return Promise$1;
31373
31434
 
31374
31435
  //# sourceMappingURL=es6-promise.map
31375
31436
 
31376
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(53), __webpack_require__(54)))
31437
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(54), __webpack_require__(55)))
31377
31438
 
31378
31439
  /***/ }),
31379
31440
  /* 103 */
@@ -31808,6 +31869,33 @@ var GoogleDataConverter = /** @class */ (function () {
31808
31869
  /* 105 */
31809
31870
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
31810
31871
 
31872
+ "use strict";
31873
+ /* WEBPACK VAR INJECTION */(function(Promise) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return InMemoryModelStorage; });
31874
+ /* harmony import */ var _easydata_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
31875
+
31876
+ var InMemoryModelStorage = /** @class */ (function () {
31877
+ function InMemoryModelStorage(models) {
31878
+ this.models = [];
31879
+ if (models) {
31880
+ _easydata_core__WEBPACK_IMPORTED_MODULE_0__["utils"].assign(this.models, [], models);
31881
+ }
31882
+ }
31883
+ InMemoryModelStorage.prototype.getModels = function () {
31884
+ var _this = this;
31885
+ return new Promise(function (resolve, reject) {
31886
+ resolve(_this.models);
31887
+ });
31888
+ };
31889
+ return InMemoryModelStorage;
31890
+ }());
31891
+
31892
+ //# sourceMappingURL=model_storage.js.map
31893
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(51)))
31894
+
31895
+ /***/ }),
31896
+ /* 106 */
31897
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
31898
+
31811
31899
  "use strict";
31812
31900
  /* WEBPACK VAR INJECTION */(function(Promise) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return EasyGrid; });
31813
31901
  /* harmony import */ var _easydata_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
@@ -32975,10 +33063,10 @@ var EasyGrid = /** @class */ (function () {
32975
33063
  }());
32976
33064
 
32977
33065
  //# sourceMappingURL=easy_grid.js.map
32978
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(106)))
33066
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(107)))
32979
33067
 
32980
33068
  /***/ }),
32981
- /* 106 */
33069
+ /* 107 */
32982
33070
  /***/ (function(module, exports, __webpack_require__) {
32983
33071
 
32984
33072
  /* WEBPACK VAR INJECTION */(function(process, global) {/*!
@@ -34155,10 +34243,10 @@ return Promise$1;
34155
34243
 
34156
34244
  //# sourceMappingURL=es6-promise.map
34157
34245
 
34158
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(53), __webpack_require__(54)))
34246
+ /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(54), __webpack_require__(55)))
34159
34247
 
34160
34248
  /***/ }),
34161
- /* 107 */
34249
+ /* 108 */
34162
34250
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
34163
34251
 
34164
34252
  "use strict";
@@ -34887,7 +34975,7 @@ var AdvancedSearchView = /** @class */ (function (_super) {
34887
34975
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(56)))
34888
34976
 
34889
34977
  /***/ }),
34890
- /* 108 */
34978
+ /* 109 */
34891
34979
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
34892
34980
 
34893
34981
  "use strict";
@@ -35012,7 +35100,6 @@ var EqServerAggregatesCalculator = /** @class */ (function () {
35012
35100
  dataTable.addRow(row);
35013
35101
  }
35014
35102
  var levelData = _this.buildLevelData(options.level, dataTable);
35015
- console.log('Level', options.level, levelData);
35016
35103
  _this.aggrContainer.setAggregateData(options.level, levelData);
35017
35104
  if (options.resultObtainedCallback) {
35018
35105
  options.resultObtainedCallback(result, options.level);
@@ -35071,7 +35158,7 @@ var EqServerAggregatesCalculator = /** @class */ (function () {
35071
35158
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(100)))
35072
35159
 
35073
35160
  /***/ }),
35074
- /* 109 */
35161
+ /* 110 */
35075
35162
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
35076
35163
 
35077
35164
  "use strict";
@@ -35102,7 +35189,7 @@ var HttpActionResult = /** @class */ (function () {
35102
35189
  //# sourceMappingURL=http_action_result.js.map
35103
35190
 
35104
35191
  /***/ }),
35105
- /* 110 */
35192
+ /* 111 */
35106
35193
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
35107
35194
 
35108
35195
  "use strict";
@@ -35277,14 +35364,14 @@ var DataTableAggregatesCalculator = /** @class */ (function () {
35277
35364
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(100)))
35278
35365
 
35279
35366
  /***/ }),
35280
- /* 111 */
35367
+ /* 112 */
35281
35368
  /***/ (function(module, exports, __webpack_require__) {
35282
35369
 
35283
- module.exports = __webpack_require__(114);
35370
+ module.exports = __webpack_require__(115);
35284
35371
 
35285
35372
 
35286
35373
  /***/ }),
35287
- /* 112 */
35374
+ /* 113 */
35288
35375
  /***/ (function(module, exports) {
35289
35376
 
35290
35377
  // shim for using process in browser
@@ -35474,7 +35561,7 @@ process.umask = function() { return 0; };
35474
35561
 
35475
35562
 
35476
35563
  /***/ }),
35477
- /* 113 */
35564
+ /* 114 */
35478
35565
  /***/ (function(module, exports) {
35479
35566
 
35480
35567
  var g;
@@ -35500,7 +35587,7 @@ module.exports = g;
35500
35587
 
35501
35588
 
35502
35589
  /***/ }),
35503
- /* 114 */
35590
+ /* 115 */
35504
35591
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
35505
35592
 
35506
35593
  "use strict";
@@ -36057,7 +36144,7 @@ var chart_type = __webpack_require__(5);
36057
36144
  var chart_widget = __webpack_require__(47);
36058
36145
 
36059
36146
  // EXTERNAL MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/packs/ui/dist/lib/widgets/charts/chart_widget_google.js
36060
- var chart_widget_google = __webpack_require__(52);
36147
+ var chart_widget_google = __webpack_require__(53);
36061
36148
 
36062
36149
  // EXTERNAL MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/packs/ui/dist/lib/widgets/charts/chart_widget_chartjs.js
36063
36150
  var chart_widget_chartjs = __webpack_require__(46);
@@ -36105,7 +36192,7 @@ var condition_renderer = __webpack_require__(35);
36105
36192
  var condition_group_renderer = __webpack_require__(78);
36106
36193
 
36107
36194
  // EXTERNAL MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/packs/ui/dist/lib/widgets/renderers/querypanel/attribute_expression_renderer.js
36108
- var attribute_expression_renderer = __webpack_require__(51);
36195
+ var attribute_expression_renderer = __webpack_require__(52);
36109
36196
 
36110
36197
  // EXTERNAL MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/packs/ui/dist/lib/widgets/renderers/querypanel/expression_renderer.js
36111
36198
  var expression_renderer = __webpack_require__(23);
@@ -36141,7 +36228,7 @@ var pivot_table_facet = __webpack_require__(90);
36141
36228
  var view = __webpack_require__(32);
36142
36229
 
36143
36230
  // EXTERNAL MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/packs/ui/dist/lib/views/adv_search_view.js
36144
- var adv_search_view = __webpack_require__(107);
36231
+ var adv_search_view = __webpack_require__(108);
36145
36232
 
36146
36233
  // CONCATENATED MODULE: c:/azuredevops-agents/korzhdev/_work/1/s/packs/ui/dist/lib/views/data_filter_view.js
36147
36234
  var data_filter_view_extends = (undefined && undefined.__extends) || (function () {
@@ -36165,7 +36252,9 @@ var data_filter_view_extends = (undefined && undefined.__extends) || (function (
36165
36252
  var data_filter_view_DataFilterView = /** @class */ (function (_super) {
36166
36253
  data_filter_view_extends(DataFilterView, _super);
36167
36254
  function DataFilterView() {
36168
- return _super !== null && _super.apply(this, arguments) || this;
36255
+ var _this = _super.call(this) || this;
36256
+ _this.resultOptions.fetchEmptyQueries = true;
36257
+ return _this;
36169
36258
  }
36170
36259
  DataFilterView.prototype.initOptions = function (options) {
36171
36260
  var _this = this;
@@ -36243,7 +36332,9 @@ var html_data_filter_view_extends = (undefined && undefined.__extends) || (funct
36243
36332
  var html_data_filter_view_HtmlDataFilterView = /** @class */ (function (_super) {
36244
36333
  html_data_filter_view_extends(HtmlDataFilterView, _super);
36245
36334
  function HtmlDataFilterView() {
36246
- return _super.call(this) || this;
36335
+ var _this = _super.call(this) || this;
36336
+ _this.resultOptions.fetchEmptyQueries = true;
36337
+ return _this;
36247
36338
  }
36248
36339
  /**
36249
36340
  * Creates the widget that represents Grid Widget.
@@ -36316,7 +36407,7 @@ var report_view_ReportView = /** @class */ (function (_super) {
36316
36407
  _this.loadReportButtonClickHandler = _this.loadReportButtonClick.bind(_this);
36317
36408
  _this.saveReportButtonClickHandler = _this.saveReportButtonClick.bind(_this);
36318
36409
  _this.removeReportButtonClickHandler = _this.removeReportButtonClick.bind(_this);
36319
- _this.updateReportButtonClickHandler = _this.updateReportButtonClick.bind(_this);
36410
+ _this.reloadReportDataButtonClickHandler = _this.reloadReportDataButtonClick.bind(_this);
36320
36411
  browser_utils["a" /* browserUtils */].onMobileModeChanged(function (_) {
36321
36412
  document.location.reload();
36322
36413
  });
@@ -36403,7 +36494,7 @@ var report_view_ReportView = /** @class */ (function (_super) {
36403
36494
  var loadReportButton = "LoadReportButton";
36404
36495
  var saveReportButton = "SaveReportButton";
36405
36496
  var removeReportButton = "RemoveReportButton";
36406
- var updateReportButton = "UpdateReportButton";
36497
+ var reloadReportDataButton = "ReloadReportDataButton";
36407
36498
  var resultCountSpan = "ResultCount";
36408
36499
  var exportButtons = "ResultExportButtons";
36409
36500
  var exportClass = this.exportClass;
@@ -36415,7 +36506,7 @@ var report_view_ReportView = /** @class */ (function (_super) {
36415
36506
  loadReportButton = options.slots.loadReportButton || loadReportButton;
36416
36507
  saveReportButton = options.slots.saveReportButton || saveReportButton;
36417
36508
  removeReportButton = options.slots.removeReportButton || removeReportButton;
36418
- updateReportButton = options.slots.updateReportButton || updateReportButton;
36509
+ reloadReportDataButton = options.slots.reloadReportDataButton || reloadReportDataButton;
36419
36510
  exportClass = options.slots.exportClass || exportClass;
36420
36511
  }
36421
36512
  this.exportButtons = this.domRoots.reduce(function (elems, root) {
@@ -36462,10 +36553,14 @@ var report_view_ReportView = /** @class */ (function (_super) {
36462
36553
  this.removeReportButton.addEventListener('click', this.removeReportButtonClickHandler);
36463
36554
  }
36464
36555
  }
36465
- if (!this.updateReportButton) {
36466
- this.updateReportButton = this.resolveElement(updateReportButton);
36467
- if (this.updateReportButton) {
36468
- this.updateReportButton.addEventListener('click', this.updateReportButtonClickHandler);
36556
+ if (!this.reloadReportDataButton) {
36557
+ this.reloadReportDataButton = this.resolveElement(reloadReportDataButton);
36558
+ //OBSOLETE: remove the next 3 lines. We just support the old default button ID here
36559
+ if (!this.reloadReportDataButton) {
36560
+ this.reloadReportDataButton = this.resolveElement('UpdateReportButton');
36561
+ }
36562
+ if (this.reloadReportDataButton) {
36563
+ this.reloadReportDataButton.addEventListener('click', this.reloadReportDataButtonClickHandler);
36469
36564
  }
36470
36565
  }
36471
36566
  this.reportListSlot = document.getElementById('ReportList');
@@ -36770,8 +36865,8 @@ var report_view_ReportView = /** @class */ (function (_super) {
36770
36865
  this.removeReportButton.removeEventListener('click', this.removeReportButtonClickHandler);
36771
36866
  this.removeReportButton = null;
36772
36867
  }
36773
- if (this.updateReportButton) {
36774
- this.updateReportButton.removeEventListener('click', this.updateReportButtonClickHandler);
36868
+ if (this.reloadReportDataButton) {
36869
+ this.reloadReportDataButton.removeEventListener('click', this.reloadReportDataButtonClickHandler);
36775
36870
  this.removeReportButton = null;
36776
36871
  }
36777
36872
  if (this.reportListSlot) {
@@ -36872,7 +36967,7 @@ var report_view_ReportView = /** @class */ (function (_super) {
36872
36967
  /**
36873
36968
  * The handler of the "Update" button click.
36874
36969
  */
36875
- ReportView.prototype.updateReportButtonClick = function () {
36970
+ ReportView.prototype.reloadReportDataButtonClick = function () {
36876
36971
  this.fetchData();
36877
36972
  };
36878
36973
  /**
@@ -37237,6 +37332,7 @@ function addEasyQueryUITexts() {
37237
37332
  UnaggrBtn: 'Remove column aggregation',
37238
37333
  GrandTotalsLabel: 'Show grand totals',
37239
37334
  GroupCountsLabel: 'Show record count for groups',
37335
+ AggrDialogTitle: 'Aggregation/grouping',
37240
37336
  EnableAggrLabel: 'Enable aggregation',
37241
37337
  SelectedError: 'Complete the action with selected column(s)',
37242
37338
  NoGroupsOrAggrError: 'Add at least one group or aggregation',
@@ -37857,7 +37953,7 @@ var model_ex_DataModelEx = /** @class */ (function (_super) {
37857
37953
 
37858
37954
  //# sourceMappingURL=model_ex.js.map
37859
37955
  // EXTERNAL MODULE: ./dist/lib/data/data_table_aggr_calculator.js
37860
- var data_table_aggr_calculator = __webpack_require__(110);
37956
+ var data_table_aggr_calculator = __webpack_require__(111);
37861
37957
 
37862
37958
  // CONCATENATED MODULE: ./dist/lib/extensions.js
37863
37959
 
@@ -38011,7 +38107,7 @@ function hideTrialWM() {
38011
38107
  }
38012
38108
  //# sourceMappingURL=extensions.js.map
38013
38109
  // EXTERNAL MODULE: ./dist/lib/data/eqs_aggr_calculator.js
38014
- var eqs_aggr_calculator = __webpack_require__(108);
38110
+ var eqs_aggr_calculator = __webpack_require__(109);
38015
38111
 
38016
38112
  // CONCATENATED MODULE: ./dist/lib/public_api.js
38017
38113