@easyquery/enterprise 7.2.5-beta01 → 7.2.5-rc01
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/easyquery.enterprise.cjs.js +1218 -0
- package/dist/easyquery.enterprise.esm.js +1211 -0
- package/dist/types/dm/model_ex.d.ts +3 -0
- package/dist/types/extensions.d.ts +1 -0
- package/dist/{lib → types}/query/query_ex.d.ts +5 -1
- package/package.json +16 -36
- package/api-eq-enterprise.js +0 -15
- package/dist/browser/eq.enterprise.js +0 -37130
- package/dist/browser/eq.enterprise.js.map +0 -1
- package/dist/browser/eq.enterprise.min.js +0 -2
- package/dist/browser/eq.enterprise.min.js.LICENSE.txt +0 -11
- package/dist/browser/eq.enterprise.min.js.map +0 -1
- package/dist/bundles/easyquery.enterprise.js +0 -8107
- package/dist/bundles/easyquery.enterprise.js.map +0 -1
- package/dist/bundles/easyquery.enterprise.min.js +0 -3
- package/dist/bundles/easyquery.enterprise.min.js.LICENSE.txt +0 -1
- package/dist/bundles/easyquery.enterprise.min.js.map +0 -1
- package/dist/lib/data/data_table_aggr_calculator.js +0 -164
- package/dist/lib/data/data_table_aggr_calculator.js.map +0 -1
- package/dist/lib/data/eqs_aggr_calculator.js +0 -173
- package/dist/lib/data/eqs_aggr_calculator.js.map +0 -1
- package/dist/lib/dm/model_ex.d.ts +0 -9
- package/dist/lib/dm/model_ex.js +0 -152
- package/dist/lib/dm/model_ex.js.map +0 -1
- package/dist/lib/extensions.d.ts +0 -26
- package/dist/lib/extensions.js +0 -115
- package/dist/lib/extensions.js.map +0 -1
- package/dist/lib/license/lc-dialog.js +0 -315
- package/dist/lib/license/lc-dialog.js.map +0 -1
- package/dist/lib/main/eqs_query_storage.js +0 -106
- package/dist/lib/main/eqs_query_storage.js.map +0 -1
- package/dist/lib/public_api.js +0 -8
- package/dist/lib/public_api.js.map +0 -1
- package/dist/lib/query/condition_ex.js +0 -98
- package/dist/lib/query/condition_ex.js.map +0 -1
- package/dist/lib/query/query_column_ex.js +0 -58
- package/dist/lib/query/query_column_ex.js.map +0 -1
- package/dist/lib/query/query_ex.js +0 -78
- package/dist/lib/query/query_ex.js.map +0 -1
- package/dist/lib/utils/lcv.js +0 -103
- package/dist/lib/utils/lcv.js.map +0 -1
- package/tsconfig.json +0 -22
- package/webpack.config.js +0 -118
- /package/dist/{lib → types}/data/data_table_aggr_calculator.d.ts +0 -0
- /package/dist/{lib → types}/data/eqs_aggr_calculator.d.ts +0 -0
- /package/dist/{lib → types}/license/lc-dialog.d.ts +0 -0
- /package/dist/{lib → types}/main/eqs_query_storage.d.ts +0 -0
- /package/dist/{lib → types}/public_api.d.ts +0 -0
- /package/dist/{lib → types}/query/condition_ex.d.ts +0 -0
- /package/dist/{lib → types}/query/query_column_ex.d.ts +0 -0
- /package/dist/{lib → types}/utils/lcv.d.ts +0 -0
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import { EqAggregatesContainer } from '@easyquery/core';
|
|
2
|
-
var DataTableAggregatesCalculator = /** @class */ (function () {
|
|
3
|
-
function DataTableAggregatesCalculator(context) {
|
|
4
|
-
this.context = context;
|
|
5
|
-
//stores current totals by level (group) number
|
|
6
|
-
this.levelsTotals = [];
|
|
7
|
-
this.prevRow = null;
|
|
8
|
-
this.aggrContainer = new EqAggregatesContainer(context);
|
|
9
|
-
}
|
|
10
|
-
DataTableAggregatesCalculator.prototype.getAggrContainer = function () {
|
|
11
|
-
return this.aggrContainer;
|
|
12
|
-
};
|
|
13
|
-
DataTableAggregatesCalculator.prototype.initObjects = function () {
|
|
14
|
-
var _this = this;
|
|
15
|
-
this.aggrSettings = this.context.getQuery().getAggregationSettings();
|
|
16
|
-
this.groups = this.aggrSettings.getGroups();
|
|
17
|
-
this.aggregates = this.aggrSettings.getAggregates();
|
|
18
|
-
this.aggrColIds = this.aggrSettings.getAggregates().map(function (a) { return a.colId; });
|
|
19
|
-
this.aggrCols = this.context.resultTable.columns.getItems()
|
|
20
|
-
.filter(function (col) { return _this.aggrColIds.indexOf(col.id) >= 0; });
|
|
21
|
-
this.levelsTotals = [];
|
|
22
|
-
this.prevRow = null;
|
|
23
|
-
};
|
|
24
|
-
DataTableAggregatesCalculator.prototype.createColumnAggregatesObject = function () {
|
|
25
|
-
return {
|
|
26
|
-
sum: 0,
|
|
27
|
-
min: Number.MAX_VALUE,
|
|
28
|
-
max: Number.MIN_VALUE
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
DataTableAggregatesCalculator.prototype.calculate = function (options) {
|
|
32
|
-
this.initObjects();
|
|
33
|
-
this.aggrContainer.clear();
|
|
34
|
-
options = options || {};
|
|
35
|
-
options.maxLevel = options.maxLevel >= 0
|
|
36
|
-
? options.maxLevel : 0;
|
|
37
|
-
var levelNumber = this.groups.length + 1; //number of groups plus grand totals
|
|
38
|
-
for (var levelIndex = 0; levelIndex < levelNumber; levelIndex++) {
|
|
39
|
-
var levelTotals = { count: 0, columns: {} };
|
|
40
|
-
this.resetLevelTotals(levelTotals);
|
|
41
|
-
this.levelsTotals.push(levelTotals);
|
|
42
|
-
}
|
|
43
|
-
var allRows = this.context.resultTable.getCachedRows();
|
|
44
|
-
if (allRows.length > 0) {
|
|
45
|
-
for (var _i = 0, allRows_1 = allRows; _i < allRows_1.length; _i++) {
|
|
46
|
-
var row = allRows_1[_i];
|
|
47
|
-
this.processDataRow(row);
|
|
48
|
-
}
|
|
49
|
-
//flusing the totals for all group levels
|
|
50
|
-
for (var levelIndex = 1; levelIndex < levelNumber; levelIndex++) {
|
|
51
|
-
this.flushLevelTotals(levelIndex);
|
|
52
|
-
}
|
|
53
|
-
//flusing the grand totals (if they are turned on)
|
|
54
|
-
if (this.aggrSettings.hasGrandTotals()) {
|
|
55
|
-
this.flushLevelTotals(0);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return Promise.resolve();
|
|
59
|
-
};
|
|
60
|
-
DataTableAggregatesCalculator.prototype.resetLevelTotals = function (rowTotals) {
|
|
61
|
-
for (var _i = 0, _a = this.aggrCols; _i < _a.length; _i++) {
|
|
62
|
-
var aggrCol = _a[_i];
|
|
63
|
-
rowTotals.columns[aggrCol.id] = this.createColumnAggregatesObject();
|
|
64
|
-
}
|
|
65
|
-
rowTotals.count = 0;
|
|
66
|
-
};
|
|
67
|
-
DataTableAggregatesCalculator.prototype.processDataRow = function (row) {
|
|
68
|
-
var levelIndexChanged = this.checkLevelChange(row);
|
|
69
|
-
if (levelIndexChanged >= 0) {
|
|
70
|
-
for (var levelIndex_1 = levelIndexChanged; levelIndex_1 < this.levelsTotals.length; levelIndex_1++) {
|
|
71
|
-
this.flushLevelTotals(levelIndex_1);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (this.aggrSettings.hasGrandTotals()) {
|
|
75
|
-
this.updateLevelTotals(0, row);
|
|
76
|
-
}
|
|
77
|
-
var levelIndex = 1;
|
|
78
|
-
for (var _i = 0, _a = this.groups; _i < _a.length; _i++) {
|
|
79
|
-
var group = _a[_i];
|
|
80
|
-
this.updateLevelTotals(levelIndex, row);
|
|
81
|
-
levelIndex++;
|
|
82
|
-
}
|
|
83
|
-
this.prevRow = row;
|
|
84
|
-
};
|
|
85
|
-
/** Checks if the values in group columns were changed
|
|
86
|
-
and return the level number they were */
|
|
87
|
-
DataTableAggregatesCalculator.prototype.checkLevelChange = function (row) {
|
|
88
|
-
if (this.prevRow == null)
|
|
89
|
-
return -1;
|
|
90
|
-
for (var groupIndex = 0; groupIndex < this.groups.length; groupIndex++) {
|
|
91
|
-
var group = this.groups[groupIndex];
|
|
92
|
-
for (var _i = 0, _a = group.columns; _i < _a.length; _i++) {
|
|
93
|
-
var colId = _a[_i];
|
|
94
|
-
var value = row.getValue(colId);
|
|
95
|
-
var prevValue = this.prevRow.getValue(colId);
|
|
96
|
-
if (!this.aggrSettings.compareValues(prevValue, value)) {
|
|
97
|
-
return groupIndex + 1;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return -1;
|
|
102
|
-
};
|
|
103
|
-
/** Saves the current values in levelData for the specified level to AggregateContainer
|
|
104
|
-
and then reset the data row for that level
|
|
105
|
-
*/
|
|
106
|
-
DataTableAggregatesCalculator.prototype.flushLevelTotals = function (levelIndex) {
|
|
107
|
-
var levelTotals = this.levelsTotals[levelIndex];
|
|
108
|
-
var group = levelIndex > 0 ? this.groups[levelIndex - 1] : null;
|
|
109
|
-
var groupKey = this.aggrSettings.buildGroupKey(group, this.prevRow);
|
|
110
|
-
var groupTotals = {};
|
|
111
|
-
for (var _i = 0, _a = this.aggregates; _i < _a.length; _i++) {
|
|
112
|
-
var aggr = _a[_i];
|
|
113
|
-
var columnTotals = levelTotals.columns[aggr.colId];
|
|
114
|
-
groupTotals[aggr.colId] = this.applyAggrFunc(aggr.funcId, columnTotals, levelTotals);
|
|
115
|
-
}
|
|
116
|
-
if (this.aggrSettings.hasRecordCount()) {
|
|
117
|
-
groupTotals[this.aggrSettings.COUNT_FIELD_NAME] = levelTotals.count;
|
|
118
|
-
}
|
|
119
|
-
this.aggrContainer.updateAggregateData(levelIndex, groupKey, groupTotals);
|
|
120
|
-
this.resetLevelTotals(levelTotals);
|
|
121
|
-
};
|
|
122
|
-
DataTableAggregatesCalculator.prototype.applyAggrFunc = function (funcId, columnTotals, levelTotals) {
|
|
123
|
-
switch (funcId) {
|
|
124
|
-
case "SUM":
|
|
125
|
-
return columnTotals.sum;
|
|
126
|
-
case "AVG":
|
|
127
|
-
return columnTotals.sum / levelTotals.count;
|
|
128
|
-
case "COUNT":
|
|
129
|
-
case "CNTDST":
|
|
130
|
-
return levelTotals.count;
|
|
131
|
-
case "MIN":
|
|
132
|
-
return columnTotals.min;
|
|
133
|
-
case "MAX":
|
|
134
|
-
return columnTotals.max;
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
/** Updates the totals by values in the current DataRow
|
|
138
|
-
* and according to the specified aggregate
|
|
139
|
-
*/
|
|
140
|
-
DataTableAggregatesCalculator.prototype.updateLevelTotals = function (levelIndex, row) {
|
|
141
|
-
var levelTotals = this.levelsTotals[levelIndex];
|
|
142
|
-
levelTotals.count += 1;
|
|
143
|
-
for (var _i = 0, _a = this.aggregates; _i < _a.length; _i++) {
|
|
144
|
-
var aggr = _a[_i];
|
|
145
|
-
var value = row.getValue(aggr.colId);
|
|
146
|
-
var columnTotals = levelTotals.columns[aggr.colId];
|
|
147
|
-
columnTotals.sum += value;
|
|
148
|
-
if (value < columnTotals.min) {
|
|
149
|
-
columnTotals.min = value;
|
|
150
|
-
}
|
|
151
|
-
if (value > columnTotals.max) {
|
|
152
|
-
columnTotals.max = value;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
DataTableAggregatesCalculator.prototype.needRecalculation = function () {
|
|
157
|
-
return true;
|
|
158
|
-
};
|
|
159
|
-
DataTableAggregatesCalculator.prototype.reset = function () {
|
|
160
|
-
};
|
|
161
|
-
return DataTableAggregatesCalculator;
|
|
162
|
-
}());
|
|
163
|
-
export { DataTableAggregatesCalculator };
|
|
164
|
-
//# sourceMappingURL=data_table_aggr_calculator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data_table_aggr_calculator.js","sourceRoot":"","sources":["../../../src/data/data_table_aggr_calculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
import { EasyDataTable } from '@easydata/core';
|
|
13
|
-
import { ExprTag, EqAggregatesContainer, Expression } from '@easyquery/core';
|
|
14
|
-
var EqServerAggregatesCalculator = /** @class */ (function () {
|
|
15
|
-
function EqServerAggregatesCalculator(context) {
|
|
16
|
-
this.context = context;
|
|
17
|
-
this._needRecalculation = true;
|
|
18
|
-
this.aggrContainer = new EqAggregatesContainer(context);
|
|
19
|
-
}
|
|
20
|
-
EqServerAggregatesCalculator.prototype.getAggrContainer = function () {
|
|
21
|
-
return this.aggrContainer;
|
|
22
|
-
};
|
|
23
|
-
EqServerAggregatesCalculator.prototype.calculate = function (options) {
|
|
24
|
-
this._needRecalculation = false;
|
|
25
|
-
this.aggrContainer.clear();
|
|
26
|
-
options = options || {};
|
|
27
|
-
options.maxLevel = options.maxLevel >= 0
|
|
28
|
-
? options.maxLevel : 0;
|
|
29
|
-
var levelPromises = [];
|
|
30
|
-
var query = this.context.createQuery();
|
|
31
|
-
query.loadFromData(this.context.getQuery().toJSONData());
|
|
32
|
-
var settings = this.context.getQuery().getAggregationSettings();
|
|
33
|
-
var aggregates = settings.getAggregates();
|
|
34
|
-
var aggrColIds = settings.getAggregates().map(function (a) { return a.colId; });
|
|
35
|
-
var aggrCols = query.getColumns()
|
|
36
|
-
.filter(function (col) { return aggrColIds.indexOf(col.id) >= 0; });
|
|
37
|
-
var _loop_1 = function (col) {
|
|
38
|
-
query.changeColumnType(col, ExprTag.AggregateFunction, { funcId: aggregates.filter(function (a) { return a.colId == col.id; })[0].funcId });
|
|
39
|
-
};
|
|
40
|
-
for (var _i = 0, aggrCols_1 = aggrCols; _i < aggrCols_1.length; _i++) {
|
|
41
|
-
var col = aggrCols_1[_i];
|
|
42
|
-
_loop_1(col);
|
|
43
|
-
}
|
|
44
|
-
//get all non-aggregate columns
|
|
45
|
-
var queryCols = query.getColumns()
|
|
46
|
-
.filter(function (c) { return c.expr.tag !== ExprTag.AggregateFunction; });
|
|
47
|
-
for (var _a = 0, queryCols_1 = queryCols; _a < queryCols_1.length; _a++) {
|
|
48
|
-
var col = queryCols_1[_a];
|
|
49
|
-
col.setHidden(true);
|
|
50
|
-
}
|
|
51
|
-
if (settings.hasRecordCount()) {
|
|
52
|
-
var col = query.createColumn();
|
|
53
|
-
col.caption = settings.COUNT_FIELD_NAME;
|
|
54
|
-
col['_id'] = settings.COUNT_FIELD_NAME;
|
|
55
|
-
var sqlText = 'COUNT(*)';
|
|
56
|
-
var customSqlExpr = new Expression(col);
|
|
57
|
-
customSqlExpr.tag = ExprTag.CustomSql;
|
|
58
|
-
customSqlExpr.sql = sqlText;
|
|
59
|
-
customSqlExpr.baseAttrId = null;
|
|
60
|
-
col.expr = customSqlExpr;
|
|
61
|
-
query.getColumns().push(col);
|
|
62
|
-
}
|
|
63
|
-
if (settings.hasGrandTotals()) {
|
|
64
|
-
levelPromises.push(this.processLevel({
|
|
65
|
-
query: query,
|
|
66
|
-
level: 0,
|
|
67
|
-
groupName: 'Grand Totals',
|
|
68
|
-
resultObtainedCallback: options.resultObtained,
|
|
69
|
-
errorOccurredCallback: options.errorOccurred
|
|
70
|
-
}));
|
|
71
|
-
}
|
|
72
|
-
var groups = settings.getGroups();
|
|
73
|
-
for (var level = 1; level <= groups.length; level++) {
|
|
74
|
-
var group = groups[level - 1];
|
|
75
|
-
for (var _b = 0, queryCols_2 = queryCols; _b < queryCols_2.length; _b++) {
|
|
76
|
-
var col = queryCols_2[_b];
|
|
77
|
-
col.setHidden(group.columns.indexOf(col.id) < 0);
|
|
78
|
-
}
|
|
79
|
-
levelPromises.push(this.processLevel({
|
|
80
|
-
query: query,
|
|
81
|
-
level: level,
|
|
82
|
-
groupName: group.name,
|
|
83
|
-
resultObtainedCallback: options.resultObtained,
|
|
84
|
-
errorOccurredCallback: options.errorOccurred
|
|
85
|
-
}));
|
|
86
|
-
}
|
|
87
|
-
return Promise.all(levelPromises)
|
|
88
|
-
.then(function () {
|
|
89
|
-
return;
|
|
90
|
-
})
|
|
91
|
-
.catch(function (error) { return console.error(error); });
|
|
92
|
-
};
|
|
93
|
-
EqServerAggregatesCalculator.prototype.processLevel = function (options) {
|
|
94
|
-
var _this = this;
|
|
95
|
-
var fetcher = this.context.getServices()
|
|
96
|
-
.getDataFetcher();
|
|
97
|
-
var fetchOptions = {
|
|
98
|
-
aux: true,
|
|
99
|
-
query: options.query
|
|
100
|
-
};
|
|
101
|
-
if (this.context.debugMode) {
|
|
102
|
-
fetchOptions.debug = "Fetching group data. Group: '".concat(options.groupName, "', level: ").concat(options.level);
|
|
103
|
-
}
|
|
104
|
-
var resultPromise = fetcher.fetchData(fetchOptions)
|
|
105
|
-
.then(function (result) {
|
|
106
|
-
var dataTable = new EasyDataTable({
|
|
107
|
-
elasticChunks: true
|
|
108
|
-
});
|
|
109
|
-
var resultSet = result.resultSet;
|
|
110
|
-
for (var _i = 0, _a = resultSet.cols; _i < _a.length; _i++) {
|
|
111
|
-
var col = _a[_i];
|
|
112
|
-
dataTable.columns.add(col);
|
|
113
|
-
}
|
|
114
|
-
for (var _b = 0, _c = resultSet.rows; _b < _c.length; _b++) {
|
|
115
|
-
var row = _c[_b];
|
|
116
|
-
dataTable.addRow(row);
|
|
117
|
-
}
|
|
118
|
-
var levelData = _this.buildLevelData(options.level, dataTable);
|
|
119
|
-
_this.aggrContainer.setAggregateData(options.level, levelData);
|
|
120
|
-
if (options.resultObtainedCallback) {
|
|
121
|
-
options.resultObtainedCallback(result, options.level);
|
|
122
|
-
}
|
|
123
|
-
})
|
|
124
|
-
.catch(function (error) {
|
|
125
|
-
if (options.errorOccurredCallback) {
|
|
126
|
-
options.errorOccurredCallback(__assign(__assign({}, error), { level: options.level }));
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
return resultPromise;
|
|
130
|
-
};
|
|
131
|
-
EqServerAggregatesCalculator.prototype.buildLevelData = function (level, dataTable) {
|
|
132
|
-
var aggrSettings = this.context.getQuery().getAggregationSettings();
|
|
133
|
-
var keyColumns = level > 0
|
|
134
|
-
? aggrSettings.getGroups()[level - 1].columns
|
|
135
|
-
: [];
|
|
136
|
-
var valueColumns = aggrSettings.getAggregates().map(function (a) { return a.colId; });
|
|
137
|
-
if (aggrSettings.hasRecordCount()) {
|
|
138
|
-
valueColumns.push(aggrSettings.COUNT_FIELD_NAME);
|
|
139
|
-
}
|
|
140
|
-
var data = new Map();
|
|
141
|
-
for (var _i = 0, _a = dataTable.getCachedRows(); _i < _a.length; _i++) {
|
|
142
|
-
var row = _a[_i];
|
|
143
|
-
var key = {};
|
|
144
|
-
var value = {};
|
|
145
|
-
for (var _b = 0, keyColumns_1 = keyColumns; _b < keyColumns_1.length; _b++) {
|
|
146
|
-
var keyCol = keyColumns_1[_b];
|
|
147
|
-
var colIdx = dataTable.columns.getIndex(keyCol);
|
|
148
|
-
if (colIdx >= 0) {
|
|
149
|
-
var keyVal = row.getValue(keyCol);
|
|
150
|
-
if (!aggrSettings.caseSensitiveGroups && typeof (keyVal) === 'string') {
|
|
151
|
-
keyVal = keyVal.toLowerCase();
|
|
152
|
-
}
|
|
153
|
-
key[keyCol] = keyVal;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
for (var _c = 0, valueColumns_1 = valueColumns; _c < valueColumns_1.length; _c++) {
|
|
157
|
-
var valueCol = valueColumns_1[_c];
|
|
158
|
-
value[valueCol] = row.getValue(valueCol);
|
|
159
|
-
}
|
|
160
|
-
data.set(JSON.stringify(key), value);
|
|
161
|
-
}
|
|
162
|
-
return data;
|
|
163
|
-
};
|
|
164
|
-
EqServerAggregatesCalculator.prototype.needRecalculation = function () {
|
|
165
|
-
return this._needRecalculation;
|
|
166
|
-
};
|
|
167
|
-
EqServerAggregatesCalculator.prototype.reset = function () {
|
|
168
|
-
this._needRecalculation = true;
|
|
169
|
-
};
|
|
170
|
-
return EqServerAggregatesCalculator;
|
|
171
|
-
}());
|
|
172
|
-
export { EqServerAggregatesCalculator };
|
|
173
|
-
//# sourceMappingURL=eqs_aggr_calculator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eqs_aggr_calculator.js","sourceRoot":"","sources":["../../../src/data/eqs_aggr_calculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { DataModel, Query, Tree, Entity } from "@easyquery/core";
|
|
2
|
-
import { QueryEx } from "../query/query_ex";
|
|
3
|
-
export declare class DataModelEx extends DataModel {
|
|
4
|
-
buildQueryPath(query: Query): Tree<Entity>;
|
|
5
|
-
private addPathToTree;
|
|
6
|
-
private findPath;
|
|
7
|
-
private checkPath;
|
|
8
|
-
createQuery(): QueryEx;
|
|
9
|
-
}
|
package/dist/lib/dm/model_ex.js
DELETED
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
var __extends = (this && this.__extends) || (function () {
|
|
2
|
-
var extendStatics = function (d, b) {
|
|
3
|
-
extendStatics = Object.setPrototypeOf ||
|
|
4
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
-
return extendStatics(d, b);
|
|
7
|
-
};
|
|
8
|
-
return function (d, b) {
|
|
9
|
-
if (typeof b !== "function" && b !== null)
|
|
10
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
-
extendStatics(d, b);
|
|
12
|
-
function __() { this.constructor = d; }
|
|
13
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
-
};
|
|
15
|
-
})();
|
|
16
|
-
import { DataModel, Tree } from "@easyquery/core";
|
|
17
|
-
import { QueryEx } from "../query/query_ex";
|
|
18
|
-
import { lcv } from "../utils/lcv";
|
|
19
|
-
var DataModelEx = /** @class */ (function (_super) {
|
|
20
|
-
__extends(DataModelEx, _super);
|
|
21
|
-
function DataModelEx() {
|
|
22
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
23
|
-
}
|
|
24
|
-
DataModelEx.prototype.buildQueryPath = function (query) {
|
|
25
|
-
if (lcv.__kt <= 1)
|
|
26
|
-
return _super.prototype.buildQueryPath.call(this, query);
|
|
27
|
-
if (this.mainEntity)
|
|
28
|
-
return _super.prototype.buildQueryPath.call(this, query);
|
|
29
|
-
var entities = this.getEntitiesInQuery(query);
|
|
30
|
-
if (entities.length == 0) {
|
|
31
|
-
throw Error("Cannon build path. Path is empty");
|
|
32
|
-
}
|
|
33
|
-
var tree = new Tree(entities[0]);
|
|
34
|
-
for (var i = 1; i < entities.length; i++) {
|
|
35
|
-
var entity = entities[i];
|
|
36
|
-
if (tree.contains(entity)) {
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
var path = this.findPath(tree.value, entity);
|
|
40
|
-
if (path != null) {
|
|
41
|
-
//Add path to tree
|
|
42
|
-
tree = this.addPathToTree(tree, (path[0] === tree.value) ? path.slice(1) : path);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
throw Error("Unable to build query. Cannot build path.");
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
tree.setParents();
|
|
49
|
-
return tree;
|
|
50
|
-
};
|
|
51
|
-
DataModelEx.prototype.addPathToTree = function (tree, path) {
|
|
52
|
-
if (path.length == 0) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
var pathAdded = false;
|
|
56
|
-
for (var _i = 0, _a = tree.childs; _i < _a.length; _i++) {
|
|
57
|
-
var child = _a[_i];
|
|
58
|
-
if (child.value === path[0]) {
|
|
59
|
-
pathAdded = true;
|
|
60
|
-
if (path.length > 1)
|
|
61
|
-
child = this.addPathToTree(child, path.slice(1));
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
if (!pathAdded) {
|
|
66
|
-
var link = this.findLink(tree.value, path[0]);
|
|
67
|
-
if (link) {
|
|
68
|
-
var newNode = new Tree(path[0]);
|
|
69
|
-
tree.addChild(newNode);
|
|
70
|
-
if (path.length > 1)
|
|
71
|
-
newNode = this.addPathToTree(newNode, path.slice(1));
|
|
72
|
-
}
|
|
73
|
-
else if (!tree.parent) {
|
|
74
|
-
var node = new Tree(tree);
|
|
75
|
-
tree = new Tree(path[0]);
|
|
76
|
-
tree.addChild(node);
|
|
77
|
-
if (path.length > 1)
|
|
78
|
-
tree = this.addPathToTree(tree, path.slice(1));
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
throw Error("Unable to build query. Cannot build path.");
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return tree;
|
|
85
|
-
};
|
|
86
|
-
DataModelEx.prototype.findPath = function (entityFrom, entityTo) {
|
|
87
|
-
var curPath = [];
|
|
88
|
-
var curStep = [];
|
|
89
|
-
var nextStep = [];
|
|
90
|
-
var passedEntities = [];
|
|
91
|
-
var pathFound = false;
|
|
92
|
-
curPath.push(entityFrom);
|
|
93
|
-
curStep.push(curPath);
|
|
94
|
-
passedEntities.push(entityFrom);
|
|
95
|
-
while (!pathFound) {
|
|
96
|
-
nextStep = [];
|
|
97
|
-
for (var _i = 0, curStep_1 = curStep; _i < curStep_1.length; _i++) {
|
|
98
|
-
var path = curStep_1[_i];
|
|
99
|
-
pathFound = this.checkPath(path, entityTo, nextStep, passedEntities);
|
|
100
|
-
if (pathFound) {
|
|
101
|
-
path.push(entityTo);
|
|
102
|
-
curPath = path;
|
|
103
|
-
break;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
curStep = [];
|
|
107
|
-
if (!pathFound) {
|
|
108
|
-
if (nextStep.length == 0)
|
|
109
|
-
return null;
|
|
110
|
-
//copy nextStep to curStep
|
|
111
|
-
for (var _a = 0, nextStep_1 = nextStep; _a < nextStep_1.length; _a++) {
|
|
112
|
-
var path = nextStep_1[_a];
|
|
113
|
-
curStep.push(path);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return curPath;
|
|
118
|
-
};
|
|
119
|
-
DataModelEx.prototype.checkPath = function (path, entityTo, nextStep, passedEntities) {
|
|
120
|
-
var endPoint = path[path.length - 1];
|
|
121
|
-
var entityLinks = this.getLinksByEntity(endPoint);
|
|
122
|
-
for (var _i = 0, entityLinks_1 = entityLinks; _i < entityLinks_1.length; _i++) {
|
|
123
|
-
var link = entityLinks_1[_i];
|
|
124
|
-
var entity2 = null;
|
|
125
|
-
if (link.entityFrom == endPoint) {
|
|
126
|
-
entity2 = link.entityTo;
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
entity2 = link.entityFrom;
|
|
130
|
-
}
|
|
131
|
-
if (entity2 == entityTo) { //if reach the destination
|
|
132
|
-
nextStep = [];
|
|
133
|
-
return true;
|
|
134
|
-
}
|
|
135
|
-
//if destination is not reached yet we add current node (entity2) to the path and proceed
|
|
136
|
-
if (path.indexOf(entity2) < 0 && passedEntities.indexOf(entity2) < 0) { //to prevent cycling
|
|
137
|
-
passedEntities.push(entity2);
|
|
138
|
-
var newPath = new Array();
|
|
139
|
-
newPath = newPath.concat(path);
|
|
140
|
-
newPath.push(entity2);
|
|
141
|
-
nextStep.push(newPath);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
return false;
|
|
145
|
-
};
|
|
146
|
-
DataModelEx.prototype.createQuery = function () {
|
|
147
|
-
return new QueryEx(this);
|
|
148
|
-
};
|
|
149
|
-
return DataModelEx;
|
|
150
|
-
}(DataModel));
|
|
151
|
-
export { DataModelEx };
|
|
152
|
-
//# sourceMappingURL=model_ex.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model_ex.js","sourceRoot":"","sources":["../../../src/dm/model_ex.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/extensions.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
declare module '@easyquery/core/dist/lib/main/context' {
|
|
2
|
-
interface EqContext {
|
|
3
|
-
/**
|
|
4
|
-
* Sets the endpoint for getting the license key.
|
|
5
|
-
* @deprecated This method is deprecated and will be ignored. Starting version 7.0.0
|
|
6
|
-
* endpoint set for EasyQuery actions will be used via adding '.lck'
|
|
7
|
-
*/
|
|
8
|
-
setLicenseKeyEndpoint(this: EqContext, endpoint: string): void;
|
|
9
|
-
/**
|
|
10
|
-
* Extension method that activates `Enterprise` functionality
|
|
11
|
-
* @param keyOrInitCallback The license key or a callback wich is called after
|
|
12
|
-
* loading the license key from the back-end.
|
|
13
|
-
* If the callback function is called useEnterprise will try to get the license key from {base}/lck endpoint
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* context.useEnterprise('license key')
|
|
17
|
-
* //or
|
|
18
|
-
* context.useEnterprise(() => {
|
|
19
|
-
* //further logic
|
|
20
|
-
* view.init(options);
|
|
21
|
-
* });
|
|
22
|
-
*/
|
|
23
|
-
useEnterprise(this: EqContext, keyOrInitCallback: string | (() => void)): void;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
export {};
|