@universis/ngx-tables 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/LICENSE +163 -0
  2. package/README.md +121 -0
  3. package/bundles/universis-ngx-tables.umd.js +4591 -0
  4. package/bundles/universis-ngx-tables.umd.js.map +1 -0
  5. package/bundles/universis-ngx-tables.umd.min.js +2 -0
  6. package/bundles/universis-ngx-tables.umd.min.js.map +1 -0
  7. package/esm2015/lib/components/add-items/add-items.component.js +142 -0
  8. package/esm2015/lib/components/advanced-aggregator/advanced-aggregator.component.js +120 -0
  9. package/esm2015/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.js +53 -0
  10. package/esm2015/lib/components/advanced-list/advanced-list.component.js +173 -0
  11. package/esm2015/lib/components/advanced-row-action/advanced-row-action.component.js +175 -0
  12. package/esm2015/lib/components/advanced-search-form/advanced-search-form.component.js +134 -0
  13. package/esm2015/lib/components/advanced-select/advanced-select.component.js +51 -0
  14. package/esm2015/lib/components/advanced-select/advanced-select.service.js +40 -0
  15. package/esm2015/lib/components/advanced-table/advanced-filter-value-provider.service.js +37 -0
  16. package/esm2015/lib/components/advanced-table/advanced-table-resolvers.js +44 -0
  17. package/esm2015/lib/components/advanced-table/advanced-table-search-base.js +23 -0
  18. package/esm2015/lib/components/advanced-table/advanced-table-search.component.js +519 -0
  19. package/esm2015/lib/components/advanced-table/advanced-table-settings.component.js +109 -0
  20. package/esm2015/lib/components/advanced-table/advanced-table.component.js +1007 -0
  21. package/esm2015/lib/components/advanced-table/advanced-table.formatters.interface.js +16 -0
  22. package/esm2015/lib/components/advanced-table/advanced-table.formatters.js +271 -0
  23. package/esm2015/lib/components/advanced-table/advanced-table.interfaces.js +2 -0
  24. package/esm2015/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +379 -0
  25. package/esm2015/lib/components/table-simple-header/table-simple-header.component.js +52 -0
  26. package/esm2015/lib/directives/advanced-table-editor.directive.js +157 -0
  27. package/esm2015/lib/directives/btnexp.directive.js +225 -0
  28. package/esm2015/lib/i18n/tables.el.js +104 -0
  29. package/esm2015/lib/i18n/tables.en.js +103 -0
  30. package/esm2015/lib/pipes/advanced-aggregator.pipe.js +35 -0
  31. package/esm2015/lib/pipes/advansed-aggregator-list-title-parse.pipe.js +46 -0
  32. package/esm2015/lib/services/advanced-aggregator/advanced-aggregator.service.js +117 -0
  33. package/esm2015/lib/tables.activated-table.service.js +36 -0
  34. package/esm2015/lib/tables.module.js +134 -0
  35. package/esm2015/public_api.js +22 -0
  36. package/esm2015/universis-ngx-tables.js +14 -0
  37. package/esm5/lib/components/add-items/add-items.component.js +153 -0
  38. package/esm5/lib/components/advanced-aggregator/advanced-aggregator.component.js +169 -0
  39. package/esm5/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.js +56 -0
  40. package/esm5/lib/components/advanced-list/advanced-list.component.js +185 -0
  41. package/esm5/lib/components/advanced-row-action/advanced-row-action.component.js +179 -0
  42. package/esm5/lib/components/advanced-search-form/advanced-search-form.component.js +137 -0
  43. package/esm5/lib/components/advanced-select/advanced-select.component.js +56 -0
  44. package/esm5/lib/components/advanced-select/advanced-select.service.js +43 -0
  45. package/esm5/lib/components/advanced-table/advanced-filter-value-provider.service.js +50 -0
  46. package/esm5/lib/components/advanced-table/advanced-table-resolvers.js +48 -0
  47. package/esm5/lib/components/advanced-table/advanced-table-search-base.js +29 -0
  48. package/esm5/lib/components/advanced-table/advanced-table-search.component.js +556 -0
  49. package/esm5/lib/components/advanced-table/advanced-table-settings.component.js +115 -0
  50. package/esm5/lib/components/advanced-table/advanced-table.component.js +1035 -0
  51. package/esm5/lib/components/advanced-table/advanced-table.formatters.interface.js +16 -0
  52. package/esm5/lib/components/advanced-table/advanced-table.formatters.js +313 -0
  53. package/esm5/lib/components/advanced-table/advanced-table.interfaces.js +2 -0
  54. package/esm5/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +295 -0
  55. package/esm5/lib/components/table-simple-header/table-simple-header.component.js +58 -0
  56. package/esm5/lib/directives/advanced-table-editor.directive.js +175 -0
  57. package/esm5/lib/directives/btnexp.directive.js +253 -0
  58. package/esm5/lib/i18n/tables.el.js +104 -0
  59. package/esm5/lib/i18n/tables.en.js +103 -0
  60. package/esm5/lib/pipes/advanced-aggregator.pipe.js +39 -0
  61. package/esm5/lib/pipes/advansed-aggregator-list-title-parse.pipe.js +49 -0
  62. package/esm5/lib/services/advanced-aggregator/advanced-aggregator.service.js +130 -0
  63. package/esm5/lib/tables.activated-table.service.js +43 -0
  64. package/esm5/lib/tables.module.js +139 -0
  65. package/esm5/public_api.js +22 -0
  66. package/esm5/universis-ngx-tables.js +14 -0
  67. package/fesm2015/universis-ngx-tables.js +4127 -0
  68. package/fesm2015/universis-ngx-tables.js.map +1 -0
  69. package/fesm5/universis-ngx-tables.js +4313 -0
  70. package/fesm5/universis-ngx-tables.js.map +1 -0
  71. package/lib/advanced-aggregator.d.ts +124 -0
  72. package/lib/components/add-items/add-items.component.d.ts +44 -0
  73. package/lib/components/advanced-aggregator/advanced-aggregator.component.d.ts +45 -0
  74. package/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.d.ts +25 -0
  75. package/lib/components/advanced-list/advanced-list.component.d.ts +42 -0
  76. package/lib/components/advanced-row-action/advanced-row-action.component.d.ts +42 -0
  77. package/lib/components/advanced-search-form/advanced-search-form.component.d.ts +27 -0
  78. package/lib/components/advanced-select/advanced-select.component.d.ts +14 -0
  79. package/lib/components/advanced-select/advanced-select.service.d.ts +9 -0
  80. package/lib/components/advanced-table/advanced-filter-value-provider.service.d.ts +8 -0
  81. package/lib/components/advanced-table/advanced-table-resolvers.d.ts +12 -0
  82. package/lib/components/advanced-table/advanced-table-search-base.d.ts +7 -0
  83. package/lib/components/advanced-table/advanced-table-search.component.d.ts +80 -0
  84. package/lib/components/advanced-table/advanced-table-settings.component.d.ts +35 -0
  85. package/lib/components/advanced-table/advanced-table.component.d.ts +142 -0
  86. package/lib/components/advanced-table/advanced-table.formatters.d.ts +62 -0
  87. package/lib/components/advanced-table/advanced-table.formatters.interface.d.ts +15 -0
  88. package/lib/components/advanced-table/advanced-table.interfaces.d.ts +27 -0
  89. package/lib/components/advanced-table-modal/advanced-table-modal-base.component.d.ts +82 -0
  90. package/lib/components/table-simple-header/table-simple-header.component.d.ts +14 -0
  91. package/lib/directives/advanced-table-editor.directive.d.ts +25 -0
  92. package/lib/directives/btnexp.directive.d.ts +68 -0
  93. package/lib/i18n/tables.el.d.ts +102 -0
  94. package/lib/i18n/tables.en.d.ts +101 -0
  95. package/lib/pipes/advanced-aggregator.pipe.d.ts +21 -0
  96. package/lib/pipes/advansed-aggregator-list-title-parse.pipe.d.ts +21 -0
  97. package/lib/services/advanced-aggregator/advanced-aggregator.service.d.ts +32 -0
  98. package/lib/tables.activated-table.service.d.ts +9 -0
  99. package/lib/tables.module.d.ts +7 -0
  100. package/package.json +51 -0
  101. package/public_api.d.ts +18 -0
  102. package/universis-ngx-tables.d.ts +12 -0
  103. package/universis-ngx-tables.metadata.json +1 -0
@@ -0,0 +1,253 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { Directive, HostListener } from '@angular/core';
3
+ import { ActivatedTableService } from '../tables.activated-table.service';
4
+ import { AngularDataContext } from '@themost/angular';
5
+ import { ConfigurationService, ErrorService, LoadingService } from '@universis/common';
6
+ import { TranslateService } from '@ngx-translate/core';
7
+ import { ResponseError } from '@themost/client';
8
+ var MAX_EXPORT_ITEMS = 500;
9
+ var BtnExpDirective = /** @class */ (function () {
10
+ function BtnExpDirective(_activatedTable, _context, _config, _translate, _loadingService, _errorService) {
11
+ this._activatedTable = _activatedTable;
12
+ this._context = _context;
13
+ this._config = _config;
14
+ this._translate = _translate;
15
+ this._loadingService = _loadingService;
16
+ this._errorService = _errorService;
17
+ }
18
+ BtnExpDirective.prototype.clickEvent = function (event) {
19
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
20
+ var lastQuery, tableConfig, serviceHeaders, queryModel, query, queryParams, maxExportItems, url;
21
+ return tslib_1.__generator(this, function (_a) {
22
+ event.preventDefault();
23
+ event.stopPropagation();
24
+ if (this._activatedTable.activeTable) {
25
+ lastQuery = this._activatedTable.activeTable.lastQuery;
26
+ tableConfig = this._activatedTable.activeTable.config;
27
+ serviceHeaders = this._context.getService().getHeaders();
28
+ queryModel = lastQuery.getModel();
29
+ query = this._context.model(queryModel).asQueryable();
30
+ queryParams = lastQuery.getParams();
31
+ query = this.constructQuery(query, queryParams, tableConfig, serviceHeaders);
32
+ maxExportItems = 1000;
33
+ if (maxExportItems && typeof maxExportItems === 'number' && maxExportItems > 0) {
34
+ query.skip(0).take(maxExportItems);
35
+ }
36
+ else {
37
+ query.skip(0).take(MAX_EXPORT_ITEMS);
38
+ }
39
+ url = this.constructURL(query);
40
+ this.downloadFile(url, query.getService().getHeaders(), query.getModel());
41
+ }
42
+ return [2 /*return*/];
43
+ });
44
+ });
45
+ };
46
+ /**
47
+ * Sets the parameters to the query based on
48
+ * the active filters of the activated table
49
+ * @param {ClientDataQueryable} query
50
+ * @param params: The filters of the last query of the activated table
51
+ * @return ClientDataQueryable
52
+ */
53
+ BtnExpDirective.prototype.setParams = function (query, params) {
54
+ if (params && typeof params === 'object') {
55
+ Object.keys(params).forEach(function (key) {
56
+ query.setParam(key, params[key]);
57
+ });
58
+ }
59
+ return query;
60
+ };
61
+ /**
62
+ * Sets the headers to the query based on
63
+ * the default headers of the DataContext
64
+ * and appending the accept header to get
65
+ * an xlsx file from the API
66
+ * @param {ClientDataQueryable} query
67
+ * @param {Headers} headers: The headers to append to the query
68
+ * @return ClientDataQueryable
69
+ */
70
+ BtnExpDirective.prototype.setHeaders = function (query, headers) {
71
+ Object.keys(headers).forEach(function (key) {
72
+ if (headers.hasOwnProperty(key)) {
73
+ query.getService().setHeader(key, headers[key]);
74
+ }
75
+ });
76
+ // sets a header to accept xlsx files
77
+ query.getService().setHeader('Accept', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
78
+ return query;
79
+ };
80
+ /**
81
+ * Constructs the select parameter of the
82
+ * ClientDataQuery by replacing the target name
83
+ * of the field based on the localized translation
84
+ * of that property on the advanced tabled
85
+ * @param {ClientDataQueryable} query
86
+ * @param tableConfig: The configuration of the activated table
87
+ * @return ClientDataQueryable
88
+ */
89
+ BtnExpDirective.prototype.constructQueryParam = function (query, tableConfig) {
90
+ var _this = this;
91
+ var selectQuery = query.getParams().$select;
92
+ var selectQueryArray = selectQuery.split(',');
93
+ selectQueryArray = selectQueryArray.map(function (select) {
94
+ var e_1, _a, e_2, _b;
95
+ var words = select.split(' ');
96
+ if (words.length === 3) {
97
+ if (tableConfig && tableConfig.columns) {
98
+ try {
99
+ for (var _c = tslib_1.__values(tableConfig.columns), _d = _c.next(); !_d.done; _d = _c.next()) {
100
+ var column = _d.value;
101
+ if (column.property === words[2] && column.title) {
102
+ words[2] = "\"" + _this._translate.instant(column.title) + "\"";
103
+ }
104
+ else if (column.property === words[2]) {
105
+ words[2] = "\"" + _this._translate.instant(words[2]) + "\"";
106
+ }
107
+ }
108
+ }
109
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
110
+ finally {
111
+ try {
112
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
113
+ }
114
+ finally { if (e_1) throw e_1.error; }
115
+ }
116
+ }
117
+ }
118
+ if (words.length === 1) {
119
+ if (tableConfig && tableConfig.columns) {
120
+ try {
121
+ for (var _e = tslib_1.__values(tableConfig.columns), _f = _e.next(); !_f.done; _f = _e.next()) {
122
+ var column = _f.value;
123
+ if (column.name === words[0] && column.title) {
124
+ words[0] = words[0] + " as \"" + _this._translate.instant(column.title) + "\"";
125
+ break;
126
+ }
127
+ else if (column.name === words[0] && column.property) {
128
+ words[0] = words[0] + " as \"" + _this._translate.instant(column.property) + "\"";
129
+ break;
130
+ }
131
+ else if (words[0] === column.name && words[0] === "id" && column.hidden) {
132
+ break;
133
+ }
134
+ else if (words[0] == column.name || words[0] === column.property) {
135
+ words[0] = words[0] + " as \"" + _this._translate.instant(words[0]) + "\"";
136
+ }
137
+ }
138
+ }
139
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
140
+ finally {
141
+ try {
142
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
143
+ }
144
+ finally { if (e_2) throw e_2.error; }
145
+ }
146
+ }
147
+ return words[0];
148
+ }
149
+ return words.join(' ');
150
+ });
151
+ selectQuery = selectQueryArray.join(',');
152
+ query.setParam('$select', selectQuery);
153
+ return query;
154
+ };
155
+ /**
156
+ * Constructs the fetch URL based the query parameters
157
+ * @param {ClientDataQueryable} query
158
+ * @return String
159
+ */
160
+ BtnExpDirective.prototype.constructURL = function (query) {
161
+ var baseURL = query.getService().getBase();
162
+ var url = baseURL.endsWith('/') ? (baseURL + query.getModel() + '?') : (baseURL + '/' + query.getModel() + '?');
163
+ Object.keys(query.getParams()).forEach(function (key, index) {
164
+ if (index === 0) {
165
+ url += key + '=' + query.getParams()[key];
166
+ }
167
+ else {
168
+ url += '&' + key + '=' + query.getParams()[key];
169
+ }
170
+ });
171
+ return url;
172
+ };
173
+ /**
174
+ * Constructs the query by setting the parameters of the
175
+ * advanced table's active filters, sets the necessary headers
176
+ * and build the select parameter of the query
177
+ * @param {ClientDataQueryable} query
178
+ * @param params: The filters of the last query of the activated table
179
+ * @param tableConfig: The configuration of the activated table
180
+ * @param {Headers} headers: The headers to append to the query
181
+ * @return ClientDataQueryable
182
+ */
183
+ BtnExpDirective.prototype.constructQuery = function (query, params, tableConfig, headers) {
184
+ var _query = this.setParams(query, params);
185
+ _query = this.setHeaders(_query, headers);
186
+ _query = this.constructQueryParam(_query, tableConfig);
187
+ return _query;
188
+ };
189
+ /**
190
+ * Fetches and saves the xlsx file
191
+ * @param {String} url
192
+ * @param {Headers} serviceHeaders: The headers to append to the query
193
+ * @param modelName: The model name of the advanced table
194
+ */
195
+ BtnExpDirective.prototype.downloadFile = function (url, serviceHeaders, modelName) {
196
+ var _this = this;
197
+ this._loadingService.showLoading();
198
+ fetch(encodeURI(url), {
199
+ headers: serviceHeaders,
200
+ credentials: 'include'
201
+ }).then(function (response) {
202
+ if (response && !response.ok) {
203
+ throw new ResponseError(response.statusText, response.status);
204
+ }
205
+ return response.blob();
206
+ }).then(function (blob) {
207
+ var objectUrl = window.URL.createObjectURL(blob);
208
+ var a = document.createElement('a');
209
+ document.body.appendChild(a);
210
+ a.setAttribute('style', 'display: none');
211
+ a.href = objectUrl;
212
+ var downloadName = modelName + ".xlsx";
213
+ a.download = downloadName;
214
+ // this adds support for IE and MS Edge (up to version 44.19041)
215
+ if (window.navigator && window.navigator.msSaveOrOpenBlob) {
216
+ window.navigator.msSaveOrOpenBlob(blob, downloadName);
217
+ }
218
+ else {
219
+ // for all other browsers
220
+ a.click();
221
+ }
222
+ window.URL.revokeObjectURL(objectUrl);
223
+ a.remove();
224
+ _this._loadingService.hideLoading();
225
+ }).catch(function (err) {
226
+ _this._loadingService.hideLoading();
227
+ _this._errorService.showError(err, {
228
+ continueLink: '.'
229
+ });
230
+ });
231
+ };
232
+ BtnExpDirective.decorators = [
233
+ { type: Directive, args: [{
234
+ selector: '.universis-btn-export'
235
+ },] }
236
+ ];
237
+ /** @nocollapse */
238
+ BtnExpDirective.ctorParameters = function () { return [
239
+ { type: ActivatedTableService },
240
+ { type: AngularDataContext },
241
+ { type: ConfigurationService },
242
+ { type: TranslateService },
243
+ { type: LoadingService },
244
+ { type: ErrorService }
245
+ ]; };
246
+ BtnExpDirective.propDecorators = {
247
+ clickEvent: [{ type: HostListener, args: ['click', ['$event'],] }]
248
+ };
249
+ return BtnExpDirective;
250
+ }());
251
+ export { BtnExpDirective };
252
+
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuZXhwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2J0bmV4cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDckYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFzQixhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUduRSxJQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztBQUU3QjtJQUlFLHlCQUFvQixlQUFzQyxFQUN0QyxRQUE0QixFQUM1QixPQUE2QixFQUM3QixVQUE0QixFQUM1QixlQUErQixFQUMvQixhQUEyQjtRQUwzQixvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7UUFDdEMsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDNUIsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFDN0IsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUFjO0lBQy9DLENBQUM7SUFHSyxvQ0FBVSxHQURoQixVQUNpQixLQUFLOzs7O2dCQUNwQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRTtvQkFDOUIsU0FBUyxHQUFHLElB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Q3pCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNYO1lBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1gsS0FBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBQSxHQUFHO1lBQ1YsS0FBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxLQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hDLFlBQVksRUFBRSxHQUFHO2FBQ2xCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBck1GLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQzs7OztnQkFYTyxxQkFBcUI7Z0JBQ3JCLGtCQUFrQjtnQkFDbEIsb0JBQW9CO2dCQUNwQixnQkFBZ0I7Z0JBRG9CLGNBQWM7Z0JBQTVCLFlBQVk7Ozs2QkFtQnZDLFlBQVksU0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0lBMkxuQyxzQkFBQztDQUFBLEFBdk1ELElBdU1DO1NBcE1ZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSG9zdExpc3RlbmVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkVGFibGVTZXJ2aWNlfSBmcm9tICcuLi90YWJsZXMuYWN0aXZhdGVkLXRhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHtBbmd1bGFyRGF0YUNvbnRleHR9IGZyb20gJ0B0aGVtb3N0L2FuZ3VsYXInO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZSwgRXJyb3JTZXJ2aWNlLCBMb2FkaW5nU2VydmljZX0gZnJvbSAnQHVuaXZlcnNpcy9jb21tb24nO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q2xpZW50RGF0YVF1ZXJ5YWJsZSwgUmVzcG9uc2VFcnJvcn0gZnJvbSAnQHRoZW1vc3QvY2xpZW50JztcbmltcG9ydCB7IFRhYmxlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWR2YW5jZWQtdGFibGUvYWR2YW5jZWQtdGFibGUuaW50ZXJmYWNlcyc7XG5cbmNvbnN0IE1BWF9FWFBPUlRfSVRFTVMgPSA1MDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJy51bml2ZXJzaXMtYnRuLWV4cG9ydCdcbn0pXG5leHBvcnQgY2xhc3MgQnRuRXhwRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfYWN0aXZhdGVkVGFibGU6IEFjdGl2YXRlZFRhYmxlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY29udGV4dDogQW5ndWxhckRhdGFDb250ZXh0LFxuICAgICAgICAgICAgICBwcml2YXRlIF9jb25maWc6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2xvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZXJyb3JTZXJ2aWNlOiBFcnJvclNlcnZpY2UpIHtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgYXN5bmMgY2xpY2tFdmVudChldmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMuX2FjdGl2YXRlZFRhYmxlLmFjdGl2ZVRhYmxlKSB7XG4gICAgICBjb25zdCBsYXN0UXVlcnkgPSB0aGlzLl9hY3RpdmF0ZWRUYWJsZS5hY3RpdmVUYWJsZS5sYXN0UXVlcnk7XG4gICAgICBjb25zdCB0YWJsZUNvbmZpZyA9IHRoaXMuX2FjdGl2YXRlZFRhYmxlLmFjdGl2ZVRhYmxlLmNvbmZpZztcbiAgICAgIGNvbnN0IHNlcnZpY2VIZWFkZXJzID0gdGhpcy5fY29udGV4dC5nZXRTZXJ2aWNlKCkuZ2V0SGVhZGVycygpO1xuICAgICAgY29uc3QgcXVlcnlNb2RlbCA9IGxhc3RRdWVyeS5nZXRNb2RlbCgpO1xuICAgICAgbGV0IHF1ZXJ5ID0gdGhpcy5fY29udGV4dC5tb2RlbChxdWVyeU1vZGVsKS5hc1F1ZXJ5YWJsZSgpO1xuICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSBsYXN0UXVlcnkuZ2V0UGFyYW1zKCk7XG4gICAgICBxdWVyeSA9IHRoaXMuY29uc3RydWN0UXVlcnkocXVlcnksIHF1ZXJ5UGFyYW1zLCB0YWJsZUNvbmZpZywgc2VydmljZUhlYWRlcnMpO1xuICAgICAgY29uc3QgbWF4RXhwb3J0SXRlbXMgPSAxMDAwO1xuICAgICAgaWYgKG1heEV4cG9ydEl0ZW1zICYmIHR5cGVvZiBtYXhFeHBvcnRJdGVtcyA9PT0gJ251bWJlcicgJiYgbWF4RXhwb3J0SXRlbXMgPiAwKSB7XG4gICAgICAgIHF1ZXJ5LnNraXAoMCkudGFrZShtYXhFeHBvcnRJdGVtcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBxdWVyeS5za2lwKDApLnRha2UoTUFYX0VYUE9SVF9JVEVNUyk7XG4gICAgICB9XG4gICAgICAvLyBUaGlzIGNvbnN0cnVjdHMgdGhlIFVSSSBiYXNlZCBvbiB0aGUgd2F5IEB0aGVtb3N0IGRvZXNcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uc3RydWN0VVJMKHF1ZXJ5KTtcbiAgICAgIHRoaXMuZG93bmxvYWRGaWxlKHVybCwgcXVlcnkuZ2V0U2VydmljZSgpLmdldEhlYWRlcnMoKSwgcXVlcnkuZ2V0TW9kZWwoKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBhcmFtZXRlcnMgdG8gdGhlIHF1ZXJ5IGJhc2VkIG9uXG4gICAqIHRoZSBhY3RpdmUgZmlsdGVycyBvZiB0aGUgYWN0aXZhdGVkIHRhYmxlXG4gICAqIEBwYXJhbSB7Q2xpZW50RGF0YVF1ZXJ5YWJsZX0gcXVlcnlcbiAgICogQHBhcmFtIHBhcmFtczogVGhlIGZpbHRlcnMgb2YgdGhlIGxhc3QgcXVlcnkgb2YgdGhlIGFjdGl2YXRlZCB0YWJsZVxuICAgKiBAcmV0dXJuIENsaWVudERhdGFRdWVyeWFibGVcbiAgICovXG4gIHNldFBhcmFtcyhxdWVyeTogQ2xpZW50RGF0YVF1ZXJ5YWJsZSwgcGFyYW1zKTogQ2xpZW50RGF0YVF1ZXJ5YWJsZSB7XG4gICAgaWYgKHBhcmFtcyAmJiB0eXBlb2YgcGFyYW1zID09PSAnb2JqZWN0Jykge1xuICAgICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgcXVlcnkuc2V0UGFyYW0oa2V5LCBwYXJhbXNba2V5XSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGhlYWRlcnMgdG8gdGhlIHF1ZXJ5IGJhc2VkIG9uXG4gICAqIHRoZSBkZWZhdWx0IGhlYWRlcnMgb2YgdGhlIERhdGFDb250ZXh0XG4gICAqIGFuZCBhcHBlbmRpbmcgdGhlIGFjY2VwdCBoZWFkZXIgdG8gZ2V0XG4gICAqIGFuIHhsc3ggZmlsZSBmcm9tIHRoZSBBUElcbiAgICogQHBhcmFtIHtDbGllbnREYXRhUXVlcnlhYmxlfSBxdWVyeVxuICAgKiBAcGFyYW0ge0hlYWRlcnN9IGhlYWRlcnM6IFRoZSBoZWFkZXJzIHRvIGFwcGVuZCB0byB0aGUgcXVlcnlcbiAgICogQHJldHVybiBDbGllbnREYXRhUXVlcnlhYmxlXG4gICAqL1xuICBzZXRIZWFkZXJzKHF1ZXJ5OiBDbGllbnREYXRhUXVlcnlhYmxlLCBoZWFkZXJzOiBIZWFkZXJzKTogQ2xpZW50RGF0YVF1ZXJ5YWJsZSB7XG4gICAgT2JqZWN0LmtleXMoaGVhZGVycykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIHF1ZXJ5LmdldFNlcnZpY2UoKS5zZXRIZWFkZXIoa2V5LCBoZWFkZXJzW2tleV0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIHNldHMgYSBoZWFkZXIgdG8gYWNjZXB0IHhsc3ggZmlsZXNcbiAgICBxdWVyeS5nZXRTZXJ2aWNlKCkuc2V0SGVhZGVyKCdBY2NlcHQnLCAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnKTtcbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyB0aGUgc2VsZWN0IHBhcmFtZXRlciBvZiB0aGVcbiAgICogQ2xpZW50RGF0YVF1ZXJ5IGJ5IHJlcGxhY2luZyB0aGUgdGFyZ2V0IG5hbWVcbiAgICogb2YgdGhlIGZpZWxkIGJhc2VkIG9uIHRoZSBsb2NhbGl6ZWQgdHJhbnNsYXRpb25cbiAgICogb2YgdGhhdCBwcm9wZXJ0eSBvbiB0aGUgYWR2YW5jZWQgdGFibGVkXG4gICAqIEBwYXJhbSB7Q2xpZW50RGF0YVF1ZXJ5YWJsZX0gcXVlcnlcbiAgICogQHBhcmFtIHRhYmxlQ29uZmlnOiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgYWN0aXZhdGVkIHRhYmxlXG4gICAqIEByZXR1cm4gQ2xpZW50RGF0YVF1ZXJ5YWJsZVxuICAgKi9cbiAgY29uc3RydWN0UXVlcnlQYXJhbShxdWVyeTogQ2xpZW50RGF0YVF1ZXJ5YWJsZSwgdGFibGVDb25maWc6IFRhYmxlQ29uZmlndXJhdGlvbik6IENsaWVudERhdGFRdWVyeWFibGUge1xuICAgIGxldCBzZWxlY3RRdWVyeSA9IHF1ZXJ5LmdldFBhcmFtcygpLiRzZWxlY3Q7XG4gICAgbGV0IHNlbGVjdFF1ZXJ5QXJyYXkgPSBzZWxlY3RRdWVyeS5zcGxpdCgnLCcpO1xuICAgIHNlbGVjdFF1ZXJ5QXJyYXkgPSBzZWxlY3RRdWVyeUFycmF5Lm1hcCgoc2VsZWN0KSA9PiB7XG4gICAgICBjb25zdCB3b3JkcyA9IHNlbGVjdC5zcGxpdCgnICcpO1xuICAgICAgaWYgKHdvcmRzLmxlbmd0aCA9PT0gMykge1xuICAgICAgICBpZiAodGFibGVDb25maWcgJiYgdGFibGVDb25maWcuY29sdW1ucykge1xuICAgICAgICAgIGZvcihjb25zdCBjb2x1bW4gb2YgdGFibGVDb25maWcuY29sdW1ucykge1xuICAgICAgICAgICAgaWYgKGNvbHVtbi5wcm9wZXJ0eSA9PT0gd29yZHNbMl0gJiYgY29sdW1uLnRpdGxlKSB7XG4gICAgICAgICAgICAgIHdvcmRzWzJdID0gYFwiJHt0aGlzLl90cmFuc2xhdGUuaW5zdGFudChjb2x1bW4udGl0bGUpfVwiYDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29sdW1uLnByb3BlcnR5ID09PSB3b3Jkc1syXSkge1xuICAgICAgICAgICAgICB3b3Jkc1syXSA9IGBcIiR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQod29yZHNbMl0pfVwiYFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHdvcmRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICBpZiAodGFibGVDb25maWcgJiYgdGFibGVDb25maWcuY29sdW1ucykge1xuICAgICAgICAgIGZvcihjb25zdCBjb2x1bW4gb2YgdGFibGVDb25maWcuY29sdW1ucyl7XG4gICAgICAgICAgICBpZiAoY29sdW1uLm5hbWUgPT09IHdvcmRzWzBdICYmIGNvbHVtbi50aXRsZSkge1xuICAgICAgICAgICAgICB3b3Jkc1swXSA9IGAke3dvcmRzWzBdfSBhcyBcIiR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoY29sdW1uLnRpdGxlKX1cImA7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb2x1bW4ubmFtZSA9PT0gd29yZHNbMF0gJiYgY29sdW1uLnByb3BlcnR5KSB7XG4gICAgICAgICAgICAgIHdvcmRzWzBdID0gYCR7d29yZHNbMF19IGFzIFwiJHt0aGlzLl90cmFuc2xhdGUuaW5zdGFudChjb2x1bW4ucHJvcGVydHkpfVwiYDtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHdvcmRzWzBdID09PSBjb2x1bW4ubmFtZSAmJiB3b3Jkc1swXT09PSBcImlkXCIgJiYgY29sdW1uLmhpZGRlbikge1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH0gZWxzZSBpZih3b3Jkc1swXSA9PSBjb2x1bW4ubmFtZSB8fCB3b3Jkc1swXT09PSBjb2x1bW4ucHJvcGVydHkpIHtcbiAgICAgICAgICAgICAgd29yZHNbMF0gPSBgJHt3b3Jkc1swXX0gYXMgXCIke3RoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KHdvcmRzWzBdKX1cImA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB3b3Jkc1swXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB3b3Jkcy5qb2luKCcgJyk7XG4gICAgfSk7XG4gICAgc2VsZWN0UXVlcnkgPSBzZWxlY3RRdWVyeUFycmF5LmpvaW4oJywnKTtcbiAgICBxdWVyeS5zZXRQYXJhbSgnJHNlbGVjdCcsIHNlbGVjdFF1ZXJ5ICk7XG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgdGhlIGZldGNoIFVSTCBiYXNlZCB0aGUgcXVlcnkgcGFyYW1ldGVyc1xuICAgKiBAcGFyYW0ge0NsaWVudERhdGFRdWVyeWFibGV9IHF1ZXJ5XG4gICAqIEByZXR1cm4gU3RyaW5nXG4gICAqL1xuICBjb25zdHJ1Y3RVUkwocXVlcnkpOiBTdHJpbmcge1xuICAgIGNvbnN0IGJhc2VVUkwgPSBxdWVyeS5nZXRTZXJ2aWNlKCkuZ2V0QmFzZSgpO1xuICAgIGxldCB1cmwgPSBiYXNlVVJMLmVuZHNXaXRoKCcvJykgPyAoYmFzZVVSTCArIHF1ZXJ5LmdldE1vZGVsKCkgKyAnPycpIDogKGJhc2VVUkwgKyAnLycgKyBxdWVyeS5nZXRNb2RlbCgpICsgJz8nKTtcbiAgICBPYmplY3Qua2V5cyhxdWVyeS5nZXRQYXJhbXMoKSkuZm9yRWFjaCgoa2V5LCBpbmRleCkgPT4ge1xuICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgIHVybCArPSBrZXkgKyAnPScgKyBxdWVyeS5nZXRQYXJhbXMoKVtrZXldO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXJsICs9ICcmJyArIGtleSArICc9JyArIHF1ZXJ5LmdldFBhcmFtcygpW2tleV07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIHRoZSBxdWVyeSBieSBzZXR0aW5nIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZVxuICAgKiBhZHZhbmNlZCB0YWJsZSdzIGFjdGl2ZSBmaWx0ZXJzLCBzZXRzIHRoZSBuZWNlc3NhcnkgaGVhZGVyc1xuICAgKiBhbmQgYnVpbGQgdGhlIHNlbGVjdCBwYXJhbWV0ZXIgb2YgdGhlIHF1ZXJ5XG4gICAqIEBwYXJhbSB7Q2xpZW50RGF0YVF1ZXJ5YWJsZX0gcXVlcnlcbiAgICogQHBhcmFtIHBhcmFtczogVGhlIGZpbHRlcnMgb2YgdGhlIGxhc3QgcXVlcnkgb2YgdGhlIGFjdGl2YXRlZCB0YWJsZVxuICAgKiBAcGFyYW0gdGFibGVDb25maWc6IFRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBhY3RpdmF0ZWQgdGFibGVcbiAgICogQHBhcmFtIHtIZWFkZXJzfSBoZWFkZXJzOiBUaGUgaGVhZGVycyB0byBhcHBlbmQgdG8gdGhlIHF1ZXJ5XG4gICAqIEByZXR1cm4gQ2xpZW50RGF0YVF1ZXJ5YWJsZVxuICAgKi9cbiAgY29uc3RydWN0UXVlcnkocXVlcnksIHBhcmFtcywgdGFibGVDb25maWcsIGhlYWRlcnM6IEhlYWRlcnMpIHtcbiAgICBsZXQgX3F1ZXJ5ID0gdGhpcy5zZXRQYXJhbXMocXVlcnksIHBhcmFtcyk7XG4gICAgX3F1ZXJ5ID0gdGhpcy5zZXRIZWFkZXJzKF9xdWVyeSwgaGVhZGVycyk7XG4gICAgX3F1ZXJ5ID0gdGhpcy5jb25zdHJ1Y3RRdWVyeVBhcmFtKF9xdWVyeSwgdGFibGVDb25maWcpO1xuICAgIHJldHVybiBfcXVlcnk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyBhbmQgc2F2ZXMgdGhlIHhsc3ggZmlsZVxuICAgKiBAcGFyYW0ge1N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7SGVhZGVyc30gc2VydmljZUhlYWRlcnM6IFRoZSBoZWFkZXJzIHRvIGFwcGVuZCB0byB0aGUgcXVlcnlcbiAgICogQHBhcmFtIG1vZGVsTmFtZTogVGhlIG1vZGVsIG5hbWUgb2YgdGhlIGFkdmFuY2VkIHRhYmxlXG4gICAqL1xuICBkb3dubG9hZEZpbGUodXJsLCBzZXJ2aWNlSGVhZGVyczogSGVhZGVycywgbW9kZWxOYW1lKSB7XG4gICAgdGhpcy5fbG9hZGluZ1NlcnZpY2Uuc2hvd0xvYWRpbmcoKTtcbiAgICBmZXRjaChlbmNvZGVVUkkodXJsKSwge1xuICAgICAgaGVhZGVyczogc2VydmljZUhlYWRlcnMsXG4gICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnXG4gICAgfSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICBpZiAocmVzcG9uc2UgJiYgIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgIHRocm93IG5ldyBSZXNwb25zZUVycm9yKHJlc3BvbnNlLnN0YXR1c1RleHQsIHJlc3BvbnNlLnN0YXR1cyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzcG9uc2UuYmxvYigpO1xuICAgIH0pLnRoZW4oYmxvYiA9PiB7XG4gICAgICBjb25zdCBvYmplY3RVcmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgICAgYS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2Rpc3BsYXk6IG5vbmUnKTtcbiAgICAgIGEuaHJlZiA9IG9iamVjdFVybDtcbiAgICAgIGNvbnN0IGRvd25sb2FkTmFtZSA9IGAke21vZGVsTmFtZX0ueGxzeGA7XG4gICAgICBhLmRvd25sb2FkID0gZG93bmxvYWROYW1lO1xuICAgICAgLy8gdGhpcyBhZGRzIHN1cHBvcnQgZm9yIElFIGFuZCBNUyBFZGdlICh1cCB0byB2ZXJzaW9uIDQ0LjE5MDQxKVxuICAgICAgaWYgKHdpbmRvdy5uYXZpZ2F0b3IgJiYgd2luZG93Lm5hdmlnYXRvci5tc1NhdmVPck9wZW5CbG9iKSB7XG4gICAgICAgIHdpbmRvdy5uYXZpZ2F0b3IubXNTYXZlT3JPcGVuQmxvYihibG9iLCBkb3dubG9hZE5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZm9yIGFsbCBvdGhlciBicm93c2Vyc1xuICAgICAgICBhLmNsaWNrKCk7XG4gICAgICB9XG4gICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVcmwpO1xuICAgICAgYS5yZW1vdmUoKTtcbiAgICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLmhpZGVMb2FkaW5nKCk7XG4gICAgfSkuY2F0Y2goZXJyID0+IHtcbiAgICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLmhpZGVMb2FkaW5nKCk7XG4gICAgICB0aGlzLl9lcnJvclNlcnZpY2Uuc2hvd0Vycm9yKGVyciwge1xuICAgICAgICBjb250aW51ZUxpbms6ICcuJ1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,104 @@
1
+ export var TABLES_EL = {
2
+ "Tables": {
3
+ "Export": "Εξαγωγή",
4
+ "More": "Περισσότερα",
5
+ "Search": "Αναζήτηση",
6
+ "SearchPlaceholder": "Αναζήτηση...",
7
+ "GroupBy": "Ομαδοποίηση ανά",
8
+ "DataTable": {
9
+ "paginate": {
10
+ "first": "Πρώτη σελίδα",
11
+ "last": "Τελεταία σελίδα",
12
+ "next": "Επόμενη",
13
+ "previous": "Προηγούμενη"
14
+ },
15
+ "info": "Εμφάνιση _START_ έως _END_ από _TOTAL_ εγγραφές",
16
+ "infoEmpty": "Δεν βρέθηκαν εγγραφές",
17
+ "loading": "Εμφάνιση δεδομένων...",
18
+ "processing": "Παραλαβή δεδομένων...",
19
+ "emptyTable": "Δεν βρέθηκαν αποτελέσματα."
20
+ },
21
+ "ColumnDisplay": "Επιλογή Εμφάνισης στηλών",
22
+ "ColumnDisplayInfo": "Επιλέξτε τις στήλες που θέλετε να εμφανίζονται.",
23
+ "Save": "Εφαρμογή",
24
+ "Apply": "Εφαρμογή",
25
+ "Cancel": "Ακύρωση",
26
+ "RecordsPerPage": "Εγγραφές ανά σελίδα",
27
+ "PageInfo": "{{start}}-{{end}} από {{recordsTotal}}",
28
+ "SearchListPlaceholder": "Αναζητήστε στη λίστα...",
29
+ "Filters": "Φίλτρα",
30
+ "All": "Όλα",
31
+ "AddItem": "Προσθήκη στοιχείου",
32
+ "EmptyTableTitle": "Δεν βρέθηκαν αποτελέσματα.",
33
+ "EmptyTableMessage": "Προσπαθήστε να χρησιμοποιήσετε άλλες λέξεις κλειδιά.",
34
+ "RemoveItem": "Διαγραφή στοιχείου",
35
+ "Items": "στοιχεία",
36
+ "Item": "στοιχείο",
37
+ "AddItemMessage": {
38
+ "title": "Προσθήκη στοιχείων",
39
+ "one": "Ένα νέο στοιχείο προστέθηκε με επιτυχία.",
40
+ "many": "{{value}} νέα στοιχεία προστέθηκαν με επιτυχία."
41
+ },
42
+ "RemoveItemMessage": {
43
+ "title": "Αφαίρεση στοιχείων",
44
+ "one": "Ένα στοιχείο αφαιρέθηκε με επιτυχία.",
45
+ "many": "{{value}} στοιχεία αφαιρέθηκαν με επιτυχία."
46
+ },
47
+ "RemoveItemsTitle": "Διαγραφή στοιχείου",
48
+ "RemoveItemsMessage": "Πρόκειται να διαγράψετε ένα ή περισσότερα στοιχεία. Θέλετε να προχωρήσετε?",
49
+ "SelectAll": "Επιλογή όλων",
50
+ "ClearSelection": "Αναίρεση επιλογής",
51
+ "Actions": {
52
+ "Label": "Επεξεργασία",
53
+ "Start": "Έναρξη",
54
+ "ActionMessage": {
55
+ "None": "Δεν έχετε επιλέξει κανένα στοιχείο που να ακολουθεί τις προϋποθέσεις της ενέργειας.",
56
+ "One": "Έχετε επιλέξει ένα στοιχείο που ακολουθεί τις προϋποθέσεις της ενέργειας. Πατήστε το πλήκτρο Έναρξη για να ξεκινήσει η διαδικασία.",
57
+ "Many": "Έχετε επιλέξει {{length}} στοιχεία που ακολουθούν τις προϋποθέσεις της ενέργειας. Πατήστε το πλήκτρο Έναρξη για να ξεκινήσει η διαδικασία."
58
+ },
59
+ "CompletedWithErrors": {
60
+ "Title": "Η διαδικασία ολοκληρώθηκε με σφάλματα.",
61
+ "Description": {
62
+ "One": "Ένα στοιχείο δεν ανανεώθηκε λόγω ενός σφάλματος που συνέβη κατά την εκτέλεση της διαδικασίας.",
63
+ "Many": "{{errors}} στοιχεία δεν ανανεώθηκαν λόγω ενός σφάλματος που συνέβη κατά την εκτέλεση της διαδικασίας."
64
+ }
65
+ },
66
+ "CompletedWithSuccess": {
67
+ "Title": "Η διαδικασία ολοκληρώθηκε με επιτυχία."
68
+ }
69
+ }
70
+ },
71
+ "TrueFalse": {
72
+ "long": {
73
+ "Yes": "Ναι",
74
+ "No": "Όχι"
75
+ }
76
+ },
77
+ "AdvancedSearch": {
78
+ "Choose": "<Επιλέξτε μια αναζήτηση>",
79
+ "ChooseDate": "Επιλογή ημερομηνίας",
80
+ "SavedSearches": "Αποθηκευμένες αναζητήσεις",
81
+ "ToggleDropdown": "Εμφάνιση λίστας",
82
+ "SaveCurrentSearch": "Αποθήκευση αναζήτησης",
83
+ "SaveAs": "Αποθήκευση ως",
84
+ "Save": "Αποθήκευση",
85
+ "Delete": "Διαγραφή",
86
+ "More": "Περισσότερα",
87
+ "Less": "Λιγότερα",
88
+ "Modal": {
89
+ "Title": "Αποθήκευση κριτηρίων αναζήτησης",
90
+ "Help": "Ορίστε έναν τίτλο για τα επιλεγμένα κριτήρια αναζήτησης. Αυτός ο τίτλος θα σας βοηθήσει να τα χρησιμοποιήσετε ξανά στο μέλλον.",
91
+ "TitleOnUserError": "Παρακαλώ εισάγετε έναν τίτλο",
92
+ "TitleOnListAlreadyCreated": "Το όνομα αυτό χρησιμοποιείται ήδη. Διαλέξτε ένα διαφορετικό.",
93
+ "NoListDefined": "Δεν έχει οριστεί το σημείο αποθήκευσης της λίστας",
94
+ "EmptyCriteriaList": "Δεν έχετε καθορίσει κανένα κριτήριο για αποθήκευση",
95
+ "SaveNameLabel": "Ονομασία λίστας",
96
+ "SaveNamePlaceholder": "Εισάγετε έναν τίτλο",
97
+ "Accept": "Αποθήκευση",
98
+ "Decline": "Απόρριψη",
99
+ "Close": "Κλείσιμο"
100
+ }
101
+ }
102
+ };
103
+
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVzLmVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL2kxOG4vdGFibGVzLmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFNLFNBQVMsR0FBRztJQUNyQixRQUFRLEVBQUU7UUFDTixRQUFRLEVBQUUsU0FBUztRQUNuQixNQUFNLEVBQUUsYUFBYTtRQUNyQixRQUFRLEVBQUUsV0FBVztRQUNyQixtQkFBbUIsRUFBRSxjQUFjO1FBQ25DLFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsV0FBVyxFQUFFO1lBQ1QsVUFBVSxFQUFFO2dCQUNSLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixNQUFNLEVBQUUsaUJBQWlCO2dCQUN6QixNQUFNLEVBQUUsU0FBUztnQkFDakIsVUFBVSxFQUFFLGFBQWE7YUFDNUI7WUFDRCxNQUFNLEVBQUUsaURBQWlEO1lBQ3pELFdBQVcsRUFBRSx1QkFBdUI7WUFDcEMsU0FBUyxFQUFFLHVCQUF1QjtZQUNsQyxZQUFZLEVBQUUsdUJBQXVCO1lBQ3JDLFlBQVksRUFBRSw0QkFBNEI7U0FDN0M7UUFDSCxlQUFlLEVBQUUsMEJBQTBCO1FBQzNDLG1CQUFtQixFQUFFLGlEQUFpRDtRQUN0RSxNQUFNLEVBQUUsVUFBVTtRQUNsQixPQUFPLEVBQUUsVUFBVTtRQUNuQixRQUFRLEVBQUUsU0FBUztRQUNuQixnQkFBZ0IsRUFBRSxxQkFBcUI7UUFDdkMsVUFBVSxFQUFFLHdDQUF3QztRQUNwRCx1QkFBdUIsRUFBRSx5QkFBeUI7UUFDbEQsU0FBUyxFQUFFLFFBQVE7UUFDbkIsS0FBSyxFQUFFLEtBQUs7UUFDVixTQUFTLEVBQUUsb0JBQW9CO1FBQy9CLGlCQUFpQixFQUFFLDRCQUE0QjtRQUMvQyxtQkFBbUIsRUFBRSxzREFBc0Q7UUFDM0UsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxPQUFPLEVBQUUsVUFBVTtRQUNuQixNQUFNLEVBQUUsVUFBVTtRQUNsQixnQkFBZ0IsRUFBRTtZQUNkLE9BQU8sRUFBRSxvQkFBb0I7WUFDN0IsS0FBSyxFQUFFLDBDQUEwQztZQUNqRCxNQUFNLEVBQUUsaURBQWlEO1NBQzFEO1FBQ0gsbUJBQW1CLEVBQUU7WUFDakIsT0FBTyxFQUFFLG9CQUFvQjtZQUM3QixLQUFLLEVBQUUsc0NBQXNDO1lBQzdDLE1BQU0sRUFBRSw2Q0FBNkM7U0FDeEQ7UUFDRCxrQkFBa0IsRUFBRSxvQkFBb0I7UUFDeEMsb0JBQW9CLEVBQUUsNEVBQTRFO1FBQ2xHLFdBQVcsRUFBRSxjQUFjO1FBQzNCLGdCQUFnQixFQUFFLG1CQUFtQjtRQUN2QyxTQUFTLEVBQUU7WUFDVCxPQUFPLEVBQUUsYUFBYTtZQUN0QixPQUFPLEVBQUUsUUFBUTtZQUNqQixlQUFlLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLHFGQUFxRjtnQkFDN0YsS0FBSyxFQUFFLG9JQUFvSTtnQkFDM0ksTUFBTSxFQUFFLDRJQUE0STthQUNySjtZQUNELHFCQUFxQixFQUFFO2dCQUNyQixPQUFPLEVBQUUsd0NBQXdDO2dCQUNqRCxhQUFhLEVBQUU7b0JBQ2IsS0FBSyxFQUFFLCtGQUErRjtvQkFDdEcsTUFBTSxFQUFFLHVHQUF1RztpQkFDaEg7YUFDRjtZQUNELHNCQUFzQixFQUFFO2dCQUN0QixPQUFPLEVBQUUsd0NBQXdDO2FBQ2xEO1NBQ0Y7S0FDRjtJQUNELFdBQVcsRUFBRTtRQUNULE1BQU0sRUFBRTtZQUNKLEtBQUssRUFBRSxLQUFLO1lBQ1osSUFBSSxFQUFFLEtBQUs7U0FDZDtLQUNKO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDZCxRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLFlBQVksRUFBRSxxQkFBcUI7UUFDbkMsZUFBZSxFQUFFLDJCQUEyQjtRQUM1QyxnQkFBZ0IsRUFBRyxpQkFBaUI7UUFDcEMsbUJBQW1CLEVBQUUsdUJBQXVCO1FBQzVDLFFBQVEsRUFBRyxlQUFlO1FBQzFCLE1BQU0sRUFBRyxZQUFZO1FBQ3JCLFFBQVEsRUFBRyxVQUFVO1FBQ3JCLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE9BQU8sRUFBRztZQUNOLE9BQU8sRUFBRyxpQ0FBaUM7WUFDM0MsTUFBTSxFQUFHLGdJQUFnSTtZQUN6SSxrQkFBa0IsRUFBRyw4QkFBOEI7WUFDbkQsMkJBQTJCLEVBQUcsOERBQThEO1lBQzVGLGVBQWUsRUFBRyxtREFBbUQ7WUFDckUsbUJBQW1CLEVBQUcsb0RBQW9EO1lBQzFFLGVBQWUsRUFBRyxpQkFBaUI7WUFDbkMscUJBQXFCLEVBQUcscUJBQXFCO1lBQzdDLFFBQVEsRUFBRyxZQUFZO1lBQ3ZCLFNBQVMsRUFBRyxVQUFVO1lBQ3RCLE9BQU8sRUFBRyxVQUFVO1NBQ3ZCO0tBQ0o7Q0FDSixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRBQkxFU19FTCA9IHtcbiAgICBcIlRhYmxlc1wiOiB7XG4gICAgICAgIFwiRXhwb3J0XCI6IFwizpXOvs6xzrPPic6zzq5cIixcbiAgICAgICAgXCJNb3JlXCI6IFwizqDOtc+BzrnPg8+Dz4zPhM61z4HOsVwiLFxuICAgICAgICBcIlNlYXJjaFwiOiBcIs6Rzr3Osc62zq7PhM63z4POt1wiLFxuICAgICAgICBcIlNlYXJjaFBsYWNlaG9sZGVyXCI6IFwizpHOvc6xzrbOrs+EzrfPg863Li4uXCIsXG4gICAgICAgIFwiR3JvdXBCeVwiOiBcIs6fzrzOsc60zr/PgM6/zq/Ot8+DzrcgzrHOvc6sXCIsXG4gICAgICAgIFwiRGF0YVRhYmxlXCI6IHtcbiAgICAgICAgICAgIFwicGFnaW5hdGVcIjoge1xuICAgICAgICAgICAgICAgIFwiZmlyc3RcIjogXCLOoM+Bz47PhM63IM+DzrXOu86vzrTOsVwiLFxuICAgICAgICAgICAgICAgIFwibGFzdFwiOiBcIs6kzrXOu861z4TOsc6vzrEgz4POtc67zq/OtM6xXCIsXG4gICAgICAgICAgICAgICAgXCJuZXh0XCI6IFwizpXPgM+MzrzOtc69zrdcIixcbiAgICAgICAgICAgICAgICBcInByZXZpb3VzXCI6IFwizqDPgc6/zrfOs86/z43OvM61zr3Ot1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJpbmZvXCI6IFwizpXOvM+GzqzOvc65z4POtyBfU1RBUlRfIM6tz4nPgiBfRU5EXyDOsc+Az4wgX1RPVEFMXyDOtc6zzrPPgc6xz4bOrc+CXCIsXG4gICAgICAgICAgICBcImluZm9FbXB0eVwiOiBcIs6UzrXOvSDOss+Bzq3OuM63zrrOsc69IM61zrPOs8+BzrHPhs6tz4JcIixcbiAgICAgICAgICAgIFwibG9hZGluZ1wiOiBcIs6VzrzPhs6szr3Ouc+DzrcgzrTOtc60zr/OvM6tzr3Pic69Li4uXCIsXG4gICAgICAgICAgICBcInByb2Nlc3NpbmdcIjogXCLOoM6xz4HOsc67zrHOss6uIM60zrXOtM6/zrzOrc69z4nOvS4uLlwiLFxuICAgICAgICAgICAgXCJlbXB0eVRhYmxlXCI6IFwizpTOtc69IM6yz4HOrc64zrfOus6xzr0gzrHPgM6/z4TOtc67zq3Pg868zrHPhM6xLlwiXG4gICAgICAgIH0sXG4gICAgICBcIkNvbHVtbkRpc3BsYXlcIjogXCLOlc+AzrnOu86/zrPOriDOlc68z4bOrM69zrnPg863z4Igz4PPhM63zrvPjs69XCIsXG4gICAgICBcIkNvbHVtbkRpc3BsYXlJbmZvXCI6IFwizpXPgM65zrvOrc6+z4TOtSDPhM65z4Igz4PPhM6uzrvOtc+CIM+Azr/PhSDOuM6tzrvOtc+EzrUgzr3OsSDOtc68z4bOsc69zq/Ots6/zr3PhM6xzrkuXCIsXG4gICAgICBcIlNhdmVcIjogXCLOlc+GzrHPgc68zr/Os86uXCIsXG4gICAgICBcIkFwcGx5XCI6IFwizpXPhs6xz4HOvM6/zrPOrlwiLFxuICAgICAgXCJDYW5jZWxcIjogXCLOkc66z43Pgc+Jz4POt1wiLFxuICAgICAgXCJSZWNvcmRzUGVyUGFnZVwiOiBcIs6VzrPOs8+BzrHPhs6tz4IgzrHOvc6sIM+DzrXOu86vzrTOsVwiLFxuICAgICAgXCJQYWdlSW5mb1wiOiBcInt7c3RhcnR9fS17e2VuZH19IM6xz4DPjCB7e3JlY29yZHNUb3RhbH19XCIsXG4gICAgICBcIlNlYXJjaExpc3RQbGFjZWhvbGRlclwiOiBcIs6Rzr3Osc62zrfPhM6uz4PPhM61IM+Dz4TOtyDOu86vz4PPhM6xLi4uXCIsXG4gICAgICBcIkZpbHRlcnNcIjogXCLOps6vzrvPhM+BzrFcIixcbiAgICAgIFwiQWxsXCI6IFwizozOu86xXCIsXG4gICAgICAgIFwiQWRkSXRlbVwiOiBcIs6gz4HOv8+DzrjOrs66zrcgz4PPhM6/zrnPh861zq/Ov8+FXCIsXG4gICAgICAgIFwiRW1wdHlUYWJsZVRpdGxlXCI6IFwizpTOtc69IM6yz4HOrc64zrfOus6xzr0gzrHPgM6/z4TOtc67zq3Pg868zrHPhM6xLlwiLFxuICAgICAgICBcIkVtcHR5VGFibGVNZXNzYWdlXCI6IFwizqDPgc6/z4PPgM6xzrjOrs+Dz4TOtSDOvc6xIM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg861z4TOtSDOrM67zrvOtc+CIM67zq3Ovs61zrnPgiDOus67zrXOuc60zrnOrC5cIixcbiAgICAgICAgXCJSZW1vdmVJdGVtXCI6IFwizpTOuc6xzrPPgc6xz4bOriDPg8+Ezr/Ouc+HzrXOr86/z4VcIixcbiAgICAgICAgXCJJdGVtc1wiOiBcIs+Dz4TOv865z4fOtc6vzrFcIixcbiAgICAgICAgXCJJdGVtXCI6IFwiz4PPhM6/zrnPh861zq/Ov1wiLFxuICAgICAgICBcIkFkZEl0ZW1NZXNzYWdlXCI6IHtcbiAgICAgICAgICAgIFwidGl0bGVcIjogXCLOoM+Bzr/Pg864zq7Ous63IM+Dz4TOv865z4fOtc6vz4nOvVwiLFxuICAgICAgICAgICAgXCJvbmVcIjogXCLOiM69zrEgzr3Orc6/IM+Dz4TOv865z4fOtc6vzr8gz4DPgc6/z4PPhM6tzrjOt866zrUgzrzOtSDOtc+AzrnPhM+Fz4fOr86xLlwiLFxuICAgICAgICAgICAgXCJtYW55XCI6IFwie3t2YWx1ZX19IM69zq3OsSDPg8+Ezr/Ouc+HzrXOr86xIM+Az4HOv8+Dz4TOrc64zrfOus6xzr0gzrzOtSDOtc+AzrnPhM+Fz4fOr86xLlwiXG4gICAgICAgICAgfSxcbiAgICAgICAgXCJSZW1vdmVJdGVtTWVzc2FnZVwiOiB7XG4gICAgICAgICAgICBcInRpdGxlXCI6IFwizpHPhs6xzq/Pgc61z4POtyDPg8+Ezr/Ouc+HzrXOr8+Jzr1cIixcbiAgICAgICAgICAgIFwib25lXCI6IFwizojOvc6xIM+Dz4TOv865z4fOtc6vzr8gzrHPhs6xzrnPgc6tzrjOt866zrUgzrzOtSDOtc+AzrnPhM+Fz4fOr86xLlwiLFxuICAgICAgICAgICAgXCJtYW55XCI6IFwie3t2YWx1ZX19IM+Dz4TOv865z4fOtc6vzrEgzrHPhs6xzrnPgc6tzrjOt866zrHOvSDOvM61IM61z4DOuc+Ez4XPh86vzrEuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJSZW1vdmVJdGVtc1RpdGxlXCI6IFwizpTOuc6xzrPPgc6xz4bOriDPg8+Ezr/Ouc+HzrXOr86/z4VcIixcbiAgICAgICAgXCJSZW1vdmVJdGVtc01lc3NhZ2VcIjogXCLOoM+Bz4zOus61zrnPhM6xzrkgzr3OsSDOtM65zrHOs8+BzqzPiM61z4TOtSDOrc69zrEgzq4gz4DOtc+BzrnPg8+Dz4zPhM61z4HOsSDPg8+Ezr/Ouc+HzrXOr86xLiDOmM6tzrvOtc+EzrUgzr3OsSDPgM+Bzr/Ph8+Jz4HOrs+DzrXPhM61P1wiLFxuICAgICAgICBcIlNlbGVjdEFsbFwiOiBcIs6Vz4DOuc67zr/Os86uIM+MzrvPic69XCIsXG4gICAgICAgIFwiQ2xlYXJTZWxlY3Rpb25cIjogXCLOkc69zrHOr8+BzrXPg863IM61z4DOuc67zr/Os86uz4JcIixcbiAgICAgIFwiQWN0aW9uc1wiOiB7XG4gICAgICAgIFwiTGFiZWxcIjogXCLOlc+AzrXOvs61z4HOs86xz4POr86xXCIsXG4gICAgICAgIFwiU3RhcnRcIjogXCLOiM69zrHPgc6+zrdcIixcbiAgICAgICAgXCJBY3Rpb25NZXNzYWdlXCI6IHtcbiAgICAgICAgICBcIk5vbmVcIjogXCLOlM61zr0gzq3Ph861z4TOtSDOtc+AzrnOu86tzr7Otc65IM66zrHOvc6tzr3OsSDPg8+Ezr/Ouc+HzrXOr86/IM+Azr/PhSDOvc6xIM6xzrrOv867zr/Phc64zrXOryDPhM65z4Igz4DPgc6/z4vPgM6/zrjOrc+DzrXOuc+CIM+EzrfPgiDOtc69zq3Pgc6zzrXOuc6xz4IuXCIsXG4gICAgICAgICAgXCJPbmVcIjogXCLOiM+HzrXPhM61IM61z4DOuc67zq3Ovs61zrkgzq3Ovc6xIM+Dz4TOv865z4fOtc6vzr8gz4DOv8+FIM6xzrrOv867zr/Phc64zrXOryDPhM65z4Igz4DPgc6/z4vPgM6/zrjOrc+DzrXOuc+CIM+EzrfPgiDOtc69zq3Pgc6zzrXOuc6xz4IuIM6gzrHPhM6uz4PPhM61IM+Ezr8gz4DOu86uzrrPhM+Bzr8gzojOvc6xz4HOvs63IM6zzrnOsSDOvc6xIM6+zrXOus65zr3Ors+DzrXOuSDOtyDOtM65zrHOtM65zrrOsc+Dzq/OsS5cIixcbiAgICAgICAgICBcIk1hbnlcIjogXCLOiM+HzrXPhM61IM61z4DOuc67zq3Ovs61zrkge3tsZW5ndGh9fSDPg8+Ezr/Ouc+HzrXOr86xIM+Azr/PhSDOsc66zr/Ou86/z4XOuM6/z43OvSDPhM65z4Igz4DPgc6/z4vPgM6/zrjOrc+DzrXOuc+CIM+EzrfPgiDOtc69zq3Pgc6zzrXOuc6xz4IuIM6gzrHPhM6uz4PPhM61IM+Ezr8gz4DOu86uzrrPhM+Bzr8gzojOvc6xz4HOvs63IM6zzrnOsSDOvc6xIM6+zrXOus65zr3Ors+DzrXOuSDOtyDOtM65zrHOtM65zrrOsc+Dzq/OsS5cIlxuICAgICAgICB9LFxuICAgICAgICBcIkNvbXBsZXRlZFdpdGhFcnJvcnNcIjoge1xuICAgICAgICAgIFwiVGl0bGVcIjogXCLOlyDOtM65zrHOtM65zrrOsc+Dzq/OsSDOv867zr/Ous67zrfPgc+OzrjOt866zrUgzrzOtSDPg8+GzqzOu868zrHPhM6xLlwiLFxuICAgICAgICAgIFwiRGVzY3JpcHRpb25cIjoge1xuICAgICAgICAgICAgXCJPbmVcIjogXCLOiM69zrEgz4PPhM6/zrnPh861zq/OvyDOtM61zr0gzrHOvc6xzr3Otc+OzrjOt866zrUgzrvPjM6zz4kgzrXOvc+Mz4Igz4PPhs6szrvOvM6xz4TOv8+CIM+Azr/PhSDPg8+Fzr3Orc6yzrcgzrrOsc+Ezqwgz4TOt869IM61zrrPhM6tzrvOtc+Dzrcgz4TOt8+CIM60zrnOsc60zrnOus6xz4POr86xz4IuXCIsXG4gICAgICAgICAgICBcIk1hbnlcIjogXCJ7e2Vycm9yc319IM+Dz4TOv865z4fOtc6vzrEgzrTOtc69IM6xzr3Osc69zrXPjs64zrfOus6xzr0gzrvPjM6zz4kgzrXOvc+Mz4Igz4PPhs6szrvOvM6xz4TOv8+CIM+Azr/PhSDPg8+Fzr3Orc6yzrcgzrrOsc+Ezqwgz4TOt869IM61zrrPhM6tzrvOtc+Dzrcgz4TOt8+CIM60zrnOsc60zrnOus6xz4POr86xz4IuXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiQ29tcGxldGVkV2l0aFN1Y2Nlc3NcIjoge1xuICAgICAgICAgIFwiVGl0bGVcIjogXCLOlyDOtM65zrHOtM65zrrOsc+Dzq/OsSDOv867zr/Ous67zrfPgc+OzrjOt866zrUgzrzOtSDOtc+AzrnPhM+Fz4fOr86xLlwiXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFwiVHJ1ZUZhbHNlXCI6IHtcbiAgICAgICAgXCJsb25nXCI6IHtcbiAgICAgICAgICAgIFwiWWVzXCI6IFwizp3Osc65XCIsXG4gICAgICAgICAgICBcIk5vXCI6IFwizozPh865XCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAgXCJBZHZhbmNlZFNlYXJjaFwiOiB7XG4gICAgICAgIFwiQ2hvb3NlXCI6IFwiPM6Vz4DOuc67zq3Ovs+EzrUgzrzOuc6xIM6xzr3Osc62zq7PhM63z4POtz5cIixcbiAgICAgICAgXCJDaG9vc2VEYXRlXCI6IFwizpXPgM65zrvOv86zzq4gzrfOvM61z4HOv868zrfOvc6vzrHPglwiLFxuICAgICAgICBcIlNhdmVkU2VhcmNoZXNcIjogXCLOkc+Azr/OuM63zrrOtc+FzrzOrc69zrXPgiDOsc69zrHOts63z4TOrs+DzrXOuc+CXCIsXG4gICAgICAgIFwiVG9nZ2xlRHJvcGRvd25cIiA6IFwizpXOvM+GzqzOvc65z4POtyDOu86vz4PPhM6xz4JcIixcbiAgICAgICAgXCJTYXZlQ3VycmVudFNlYXJjaFwiOiBcIs6Rz4DOv864zq7Ous61z4XPg863IM6xzr3Osc62zq7PhM63z4POt8+CXCIsXG4gICAgICAgIFwiU2F2ZUFzXCIgOiBcIs6Rz4DOv864zq7Ous61z4XPg863IM+Jz4JcIixcbiAgICAgICAgXCJTYXZlXCIgOiBcIs6Rz4DOv864zq7Ous61z4XPg863XCIsXG4gICAgICAgIFwiRGVsZXRlXCIgOiBcIs6UzrnOsc6zz4HOsc+Gzq5cIixcbiAgICAgICAgXCJNb3JlXCI6IFwizqDOtc+BzrnPg8+Dz4zPhM61z4HOsVwiLFxuICAgICAgICBcIkxlc3NcIjogXCLOm865zrPPjM+EzrXPgc6xXCIsXG4gICAgICAgIFwiTW9kYWxcIiA6IHtcbiAgICAgICAgICAgIFwiVGl0bGVcIiA6IFwizpHPgM6/zrjOrs66zrXPhc+DzrcgzrrPgc65z4TOt8+Bzq/Pic69IM6xzr3Osc62zq7PhM63z4POt8+CXCIsXG4gICAgICAgICAgICBcIkhlbHBcIiA6IFwizp/Pgc6vz4PPhM61IM6tzr3Osc69IM+Ezq/PhM67zr8gzrPOuc6xIM+EzrEgzrXPgM65zrvOtc6zzrzOrc69zrEgzrrPgc65z4TOrs+BzrnOsSDOsc69zrHOts6uz4TOt8+DzrfPgi4gzpHPhc+Ez4zPgiDOvyDPhM6vz4TOu86/z4IgzrjOsSDPg86xz4IgzrLOv863zrjOrs+DzrXOuSDOvc6xIM+EzrEgz4fPgc63z4POuc68zr/PgM6/zrnOrs+DzrXPhM61IM6+zrHOvc6sIM+Dz4TOvyDOvM6tzrvOu86/zr0uXCIsXG4gICAgICAgICAgICBcIlRpdGxlT25Vc2VyRXJyb3JcIiA6IFwizqDOsc+BzrHOus6xzrvPjiDOtc65z4POrM6zzrXPhM61IM6tzr3Osc69IM+Ezq/PhM67zr9cIixcbiAgICAgICAgICAgIFwiVGl0bGVPbkxpc3RBbHJlYWR5Q3JlYXRlZFwiIDogXCLOpM6/IM+Mzr3Ov868zrEgzrHPhc+Ez4wgz4fPgc63z4POuc68zr/PgM6/zrnOtc6vz4TOsc65IM6uzrTOty4gzpTOuc6xzrvOrc6+z4TOtSDOrc69zrEgzrTOuc6xz4bOv8+BzrXPhM65zrrPjC5cIixcbiAgICAgICAgICAgIFwiTm9MaXN0RGVmaW5lZFwiIDogXCLOlM61zr0gzq3Ph861zrkgzr/Pgc65z4PPhM61zq8gz4TOvyDPg863zrzOtc6vzr8gzrHPgM6/zrjOrs66zrXPhc+DzrfPgiDPhM63z4IgzrvOr8+Dz4TOsc+CXCIsXG4gICAgICAgICAgICBcIkVtcHR5Q3JpdGVyaWFMaXN0XCIgOiBcIs6UzrXOvSDOrc+HzrXPhM61IM66zrHOuM6/z4HOr8+DzrXOuSDOus6xzr3Orc69zrEgzrrPgc65z4TOrs+BzrnOvyDOs865zrEgzrHPgM6/zrjOrs66zrXPhc+DzrdcIixcbiAgICAgICAgICAgIFwiU2F2ZU5hbWVMYWJlbFwiIDogXCLOn869zr/OvM6xz4POr86xIM67zq/Pg8+EzrHPglwiLFxuICAgICAgICAgICAgXCJTYXZlTmFtZVBsYWNlaG9sZGVyXCIgOiBcIs6VzrnPg86szrPOtc+EzrUgzq3Ovc6xzr0gz4TOr8+EzrvOv1wiLFxuICAgICAgICAgICAgXCJBY2NlcHRcIiA6IFwizpHPgM6/zrjOrs66zrXPhc+DzrdcIixcbiAgICAgICAgICAgIFwiRGVjbGluZVwiIDogXCLOkc+Az4zPgc+BzrnPiM63XCIsXG4gICAgICAgICAgICBcIkNsb3NlXCIgOiBcIs6azrvOtc6vz4POuc68zr9cIlxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,103 @@
1
+ export var TABLES_EN = {
2
+ "Tables": {
3
+ "Export": "Export",
4
+ "More": "More",
5
+ "Search": "Search",
6
+ "SearchPlaceholder": "Search...",
7
+ "GroupBy": "Group by",
8
+ "DataTable": {
9
+ "paginate": {
10
+ "first": "First",
11
+ "last": "Last",
12
+ "next": "Next",
13
+ "previous": "Previous"
14
+ },
15
+ "info": "Showing _START_ to _END_ of _TOTAL_ entries",
16
+ "infoEmpty": "Showing 0 to 0 of 0 entries",
17
+ "processing": "Processing data...",
18
+ "emptyTable": "There are no matching records."
19
+ },
20
+ "ColumnDisplay": "Column Display",
21
+ "ColumnDisplayInfo": "Επιλέξτε τις στήλες που θέλετε να εμφανίζονται.",
22
+ "Save": "Save",
23
+ "Apply": "Apply",
24
+ "Cancel": "Cancel",
25
+ "RecordsPerPage": "Items per page",
26
+ "PageInfo": "{{start}}-{{end}} of {{recordsTotal}}",
27
+ "SearchListPlaceHolder": "Search in list...",
28
+ "Filters": "Filters",
29
+ "All": "All",
30
+ "AddItem": "Add item",
31
+ "EmptyTableTitle": "There are no matching records.",
32
+ "EmptyTableMessage": "Please try to use other keywords or search parameters.",
33
+ "RemoveItem": "Remove item",
34
+ "Items": "items",
35
+ "Item": "item",
36
+ "AddItemMessage": {
37
+ "title": "Add item",
38
+ "one": "A new item has been added successfully.",
39
+ "many": "{{value}} new items have been added successfully."
40
+ },
41
+ "RemoveItemMessage": {
42
+ "title": "Remove items",
43
+ "one": "An item has been successfully removed.",
44
+ "many": "{{value}} items have been successfully removed."
45
+ },
46
+ "RemoveItemsTitle": "Remove items",
47
+ "RemoveItemsMessage": "You are going to remove one or more instructor courses. Do you want to proceed?",
48
+ "SelectAll": "Select all",
49
+ "ClearSelection": "Clear selection",
50
+ "Actions": {
51
+ "Label": "Edit",
52
+ "Start": "Start",
53
+ "ActionMessage": {
54
+ "None": "There is no selected item that meets action requirements.",
55
+ "One": "You have selected one item that meets action requirements.",
56
+ "Many": "You have selected {{length}} items that meet action requirements."
57
+ },
58
+ "CompletedWithErrors": {
59
+ "Title": "The operation was completed with errors.",
60
+ "Description": {
61
+ "One": "One item has not been updated due to an error occurred while executing process.",
62
+ "Many": "{{errors}} items have not been updated due to an error occurred while executing process."
63
+ }
64
+ },
65
+ "CompletedWithSuccess": {
66
+ "Title": "The operation was completed successfully."
67
+ }
68
+ }
69
+ },
70
+ "TrueFalse": {
71
+ "long": {
72
+ "Yes": "Yes",
73
+ "No": "No"
74
+ }
75
+ },
76
+ "AdvancedSearch": {
77
+ "Choose": "<Select a saved search>",
78
+ "ChooseDate": "Choose date",
79
+ "SavedSearches": "Saved searches",
80
+ "ToggleDropdown": "Toggle Dropdown",
81
+ "SaveCurrentSearch": "Save search",
82
+ "SaveAs": "Save as...",
83
+ "Save": "Save",
84
+ "Delete": "Remove",
85
+ "More": "More",
86
+ "Less": "Less",
87
+ "Modal": {
88
+ "Title": "Save current search criteria",
89
+ "Help": "Please add a title for the given search criteria. This title will help you to use those criteria again in the future.",
90
+ "TitleOnUserError": "Please use a valid name for your list",
91
+ "TitleOnListAlreadyCreated": "Name already in use. Please choose a different one",
92
+ "NoListDefined": "Cannot define user storage key.",
93
+ "EmptyCriteriaList": "Please define search criteria before save.",
94
+ "SaveNameLabel": "List name",
95
+ "SaveNamePlaceholder": "Type a title here...",
96
+ "Accept": "Save",
97
+ "Decline": "Decline",
98
+ "Close": "Close"
99
+ }
100
+ }
101
+ };
102
+
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVzLmVuLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL2kxOG4vdGFibGVzLmVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFNLFNBQVMsR0FBRztJQUNyQixRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsUUFBUTtRQUNoQixNQUFNLEVBQUUsTUFBTTtRQUNkLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLG1CQUFtQixFQUFFLFdBQVc7UUFDaEMsU0FBUyxFQUFFLFVBQVU7UUFDckIsV0FBVyxFQUFFO1lBQ1QsVUFBVSxFQUFFO2dCQUNSLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixNQUFNLEVBQUUsTUFBTTtnQkFDZCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxVQUFVLEVBQUUsVUFBVTthQUN6QjtZQUNELE1BQU0sRUFBRSw2Q0FBNkM7WUFDckQsV0FBVyxFQUFFLDZCQUE2QjtZQUMxQyxZQUFZLEVBQUUsb0JBQW9CO1lBQ2xDLFlBQVksRUFBRSxnQ0FBZ0M7U0FDakQ7UUFDSCxlQUFlLEVBQUUsZ0JBQWdCO1FBQ2pDLG1CQUFtQixFQUFFLGlEQUFpRDtRQUN0RSxNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLGdCQUFnQixFQUFFLGdCQUFnQjtRQUNsQyxVQUFVLEVBQUUsdUNBQXVDO1FBQ25ELHVCQUF1QixFQUFFLG1CQUFtQjtRQUM1QyxTQUFTLEVBQUUsU0FBUztRQUNwQixLQUFLLEVBQUUsS0FBSztRQUNaLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLGlCQUFpQixFQUFFLGdDQUFnQztRQUNuRCxtQkFBbUIsRUFBRSx3REFBd0Q7UUFDN0UsWUFBWSxFQUFFLGFBQWE7UUFDM0IsT0FBTyxFQUFFLE9BQU87UUFDaEIsTUFBTSxFQUFFLE1BQU07UUFDaEIsZ0JBQWdCLEVBQUU7WUFDaEIsT0FBTyxFQUFFLFVBQVU7WUFDbkIsS0FBSyxFQUFFLHlDQUF5QztZQUNoRCxNQUFNLEVBQUUsbURBQW1EO1NBQzVEO1FBQ0QsbUJBQW1CLEVBQUU7WUFDbkIsT0FBTyxFQUFFLGNBQWM7WUFDdkIsS0FBSyxFQUFFLHdDQUF3QztZQUMvQyxNQUFNLEVBQUUsaURBQWlEO1NBQzFEO1FBQ0Qsa0JBQWtCLEVBQUUsY0FBYztRQUNsQyxvQkFBb0IsRUFBRSxpRkFBaUY7UUFDckcsV0FBVyxFQUFFLFlBQVk7UUFDekIsZ0JBQWdCLEVBQUUsaUJBQWlCO1FBQ25DLFNBQVMsRUFBRTtZQUNULE9BQU8sRUFBRSxNQUFNO1lBQ2YsT0FBTyxFQUFFLE9BQU87WUFDaEIsZUFBZSxFQUFFO2dCQUNmLE1BQU0sRUFBRSwyREFBMkQ7Z0JBQ25FLEtBQUssRUFBRSw0REFBNEQ7Z0JBQ25FLE1BQU0sRUFBRSxtRUFBbUU7YUFDNUU7WUFDRCxxQkFBcUIsRUFBRTtnQkFDckIsT0FBTyxFQUFFLDBDQUEwQztnQkFDbkQsYUFBYSxFQUFFO29CQUNiLEtBQUssRUFBRSxpRkFBaUY7b0JBQ3hGLE1BQU0sRUFBRSwwRkFBMEY7aUJBQ25HO2FBQ0Y7WUFDRCxzQkFBc0IsRUFBRTtnQkFDdEIsT0FBTyxFQUFFLDJDQUEyQzthQUNyRDtTQUNGO0tBQ0Y7SUFDRCxXQUFXLEVBQUU7UUFDVCxNQUFNLEVBQUU7WUFDSixLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxJQUFJO1NBQ2I7S0FDSjtJQUNELGdCQUFnQixFQUFFO1FBQ2QsUUFBUSxFQUFFLHlCQUF5QjtRQUNuQyxZQUFZLEVBQUUsYUFBYTtRQUMzQixlQUFlLEVBQUUsZ0JBQWdCO1FBQ2pDLGdCQUFnQixFQUFHLGlCQUFpQjtRQUNwQyxtQkFBbUIsRUFBRSxhQUFhO1FBQ2xDLFFBQVEsRUFBRyxZQUFZO1FBQ3ZCLE1BQU0sRUFBRyxNQUFNO1FBQ2YsUUFBUSxFQUFHLFFBQVE7UUFDbkIsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRztZQUNOLE9BQU8sRUFBRyw4QkFBOEI7WUFDeEMsTUFBTSxFQUFHLHVIQUF1SDtZQUNoSSxrQkFBa0IsRUFBRyx1Q0FBdUM7WUFDNUQsMkJBQTJCLEVBQUcsb0RBQW9EO1lBQ2xGLGVBQWUsRUFBRyxpQ0FBaUM7WUFDbkQsbUJBQW1CLEVBQUcsNENBQTRDO1lBQ2xFLGVBQWUsRUFBRyxXQUFXO1lBQzdCLHFCQUFxQixFQUFHLHNCQUFzQjtZQUM5QyxRQUFRLEVBQUcsTUFBTTtZQUNqQixTQUFTLEVBQUcsU0FBUztZQUNyQixPQUFPLEVBQUcsT0FBTztTQUNwQjtLQUNKO0NBQ0osQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUQUJMRVNfRU4gPSB7XG4gICAgXCJUYWJsZXNcIjoge1xuICAgICAgXCJFeHBvcnRcIjogXCJFeHBvcnRcIixcbiAgICAgICAgXCJNb3JlXCI6IFwiTW9yZVwiLFxuICAgICAgICBcIlNlYXJjaFwiOiBcIlNlYXJjaFwiLFxuICAgICAgICBcIlNlYXJjaFBsYWNlaG9sZGVyXCI6IFwiU2VhcmNoLi4uXCIsXG4gICAgICAgIFwiR3JvdXBCeVwiOiBcIkdyb3VwIGJ5XCIsXG4gICAgICAgIFwiRGF0YVRhYmxlXCI6IHtcbiAgICAgICAgICAgIFwicGFnaW5hdGVcIjoge1xuICAgICAgICAgICAgICAgIFwiZmlyc3RcIjogXCJGaXJzdFwiLFxuICAgICAgICAgICAgICAgIFwibGFzdFwiOiBcIkxhc3RcIixcbiAgICAgICAgICAgICAgICBcIm5leHRcIjogXCJOZXh0XCIsXG4gICAgICAgICAgICAgICAgXCJwcmV2aW91c1wiOiBcIlByZXZpb3VzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImluZm9cIjogXCJTaG93aW5nIF9TVEFSVF8gdG8gX0VORF8gb2YgX1RPVEFMXyBlbnRyaWVzXCIsXG4gICAgICAgICAgICBcImluZm9FbXB0eVwiOiBcIlNob3dpbmcgMCB0byAwIG9mIDAgZW50cmllc1wiLFxuICAgICAgICAgICAgXCJwcm9jZXNzaW5nXCI6IFwiUHJvY2Vzc2luZyBkYXRhLi4uXCIsXG4gICAgICAgICAgICBcImVtcHR5VGFibGVcIjogXCJUaGVyZSBhcmUgbm8gbWF0Y2hpbmcgcmVjb3Jkcy5cIlxuICAgICAgICB9LFxuICAgICAgXCJDb2x1bW5EaXNwbGF5XCI6IFwiQ29sdW1uIERpc3BsYXlcIixcbiAgICAgIFwiQ29sdW1uRGlzcGxheUluZm9cIjogXCLOlc+AzrnOu86tzr7PhM61IM+EzrnPgiDPg8+Ezq7Ou861z4Igz4DOv8+FIM64zq3Ou861z4TOtSDOvc6xIM61zrzPhs6xzr3Or862zr/Ovc+EzrHOuS5cIixcbiAgICAgIFwiU2F2ZVwiOiBcIlNhdmVcIixcbiAgICAgIFwiQXBwbHlcIjogXCJBcHBseVwiLFxuICAgICAgXCJDYW5jZWxcIjogXCJDYW5jZWxcIixcbiAgICAgIFwiUmVjb3Jkc1BlclBhZ2VcIjogXCJJdGVtcyBwZXIgcGFnZVwiLFxuICAgICAgXCJQYWdlSW5mb1wiOiBcInt7c3RhcnR9fS17e2VuZH19IG9mIHt7cmVjb3Jkc1RvdGFsfX1cIixcbiAgICAgIFwiU2VhcmNoTGlzdFBsYWNlSG9sZGVyXCI6IFwiU2VhcmNoIGluIGxpc3QuLi5cIixcbiAgICAgIFwiRmlsdGVyc1wiOiBcIkZpbHRlcnNcIixcbiAgICAgIFwiQWxsXCI6IFwiQWxsXCIsXG4gICAgICBcIkFkZEl0ZW1cIjogXCJBZGQgaXRlbVwiLFxuICAgICAgXCJFbXB0eVRhYmxlVGl0bGVcIjogXCJUaGVyZSBhcmUgbm8gbWF0Y2hpbmcgcmVjb3Jkcy5cIixcbiAgICAgIFwiRW1wdHlUYWJsZU1lc3NhZ2VcIjogXCJQbGVhc2UgdHJ5IHRvIHVzZSBvdGhlciBrZXl3b3JkcyBvciBzZWFyY2ggcGFyYW1ldGVycy5cIixcbiAgICAgIFwiUmVtb3ZlSXRlbVwiOiBcIlJlbW92ZSBpdGVtXCIsXG4gICAgICBcIkl0ZW1zXCI6IFwiaXRlbXNcIixcbiAgICAgIFwiSXRlbVwiOiBcIml0ZW1cIixcbiAgICBcIkFkZEl0ZW1NZXNzYWdlXCI6IHtcbiAgICAgIFwidGl0bGVcIjogXCJBZGQgaXRlbVwiLFxuICAgICAgXCJvbmVcIjogXCJBIG5ldyBpdGVtIGhhcyBiZWVuIGFkZGVkIHN1Y2Nlc3NmdWxseS5cIixcbiAgICAgIFwibWFueVwiOiBcInt7dmFsdWV9fSBuZXcgaXRlbXMgaGF2ZSBiZWVuIGFkZGVkIHN1Y2Nlc3NmdWxseS5cIlxuICAgIH0sXG4gICAgXCJSZW1vdmVJdGVtTWVzc2FnZVwiOiB7XG4gICAgICBcInRpdGxlXCI6IFwiUmVtb3ZlIGl0ZW1zXCIsXG4gICAgICBcIm9uZVwiOiBcIkFuIGl0ZW0gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHJlbW92ZWQuXCIsXG4gICAgICBcIm1hbnlcIjogXCJ7e3ZhbHVlfX0gaXRlbXMgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSByZW1vdmVkLlwiXG4gICAgfSxcbiAgICBcIlJlbW92ZUl0ZW1zVGl0bGVcIjogXCJSZW1vdmUgaXRlbXNcIixcbiAgICBcIlJlbW92ZUl0ZW1zTWVzc2FnZVwiOiBcIllvdSBhcmUgZ29pbmcgdG8gcmVtb3ZlIG9uZSBvciBtb3JlIGluc3RydWN0b3IgY291cnNlcy4gRG8geW91IHdhbnQgdG8gcHJvY2VlZD9cIixcbiAgICAgIFwiU2VsZWN0QWxsXCI6IFwiU2VsZWN0IGFsbFwiLFxuICAgICAgXCJDbGVhclNlbGVjdGlvblwiOiBcIkNsZWFyIHNlbGVjdGlvblwiLFxuICAgICAgXCJBY3Rpb25zXCI6IHtcbiAgICAgICAgXCJMYWJlbFwiOiBcIkVkaXRcIixcbiAgICAgICAgXCJTdGFydFwiOiBcIlN0YXJ0XCIsXG4gICAgICAgIFwiQWN0aW9uTWVzc2FnZVwiOiB7XG4gICAgICAgICAgXCJOb25lXCI6IFwiVGhlcmUgaXMgbm8gc2VsZWN0ZWQgaXRlbSB0aGF0IG1lZXRzIGFjdGlvbiByZXF1aXJlbWVudHMuXCIsXG4gICAgICAgICAgXCJPbmVcIjogXCJZb3UgaGF2ZSBzZWxlY3RlZCBvbmUgaXRlbSB0aGF0IG1lZXRzIGFjdGlvbiByZXF1aXJlbWVudHMuXCIsXG4gICAgICAgICAgXCJNYW55XCI6IFwiWW91IGhhdmUgc2VsZWN0ZWQge3tsZW5ndGh9fSBpdGVtcyB0aGF0IG1lZXQgYWN0aW9uIHJlcXVpcmVtZW50cy5cIlxuICAgICAgICB9LFxuICAgICAgICBcIkNvbXBsZXRlZFdpdGhFcnJvcnNcIjoge1xuICAgICAgICAgIFwiVGl0bGVcIjogXCJUaGUgb3BlcmF0aW9uIHdhcyBjb21wbGV0ZWQgd2l0aCBlcnJvcnMuXCIsXG4gICAgICAgICAgXCJEZXNjcmlwdGlvblwiOiB7XG4gICAgICAgICAgICBcIk9uZVwiOiBcIk9uZSBpdGVtIGhhcyBub3QgYmVlbiB1cGRhdGVkIGR1ZSB0byBhbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgcHJvY2Vzcy5cIixcbiAgICAgICAgICAgIFwiTWFueVwiOiBcInt7ZXJyb3JzfX0gaXRlbXMgaGF2ZSBub3QgYmVlbiB1cGRhdGVkIGR1ZSB0byBhbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgcHJvY2Vzcy5cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJDb21wbGV0ZWRXaXRoU3VjY2Vzc1wiOiB7XG4gICAgICAgICAgXCJUaXRsZVwiOiBcIlRoZSBvcGVyYXRpb24gd2FzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuXCJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgXCJUcnVlRmFsc2VcIjoge1xuICAgICAgICBcImxvbmdcIjoge1xuICAgICAgICAgICAgXCJZZXNcIjogXCJZZXNcIixcbiAgICAgICAgICAgIFwiTm9cIjogXCJOb1wiXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFwiQWR2YW5jZWRTZWFyY2hcIjoge1xuICAgICAgICBcIkNob29zZVwiOiBcIjxTZWxlY3QgYSBzYXZlZCBzZWFyY2g+XCIsXG4gICAgICAgIFwiQ2hvb3NlRGF0ZVwiOiBcIkNob29zZSBkYXRlXCIsXG4gICAgICAgIFwiU2F2ZWRTZWFyY2hlc1wiOiBcIlNhdmVkIHNlYXJjaGVzXCIsXG4gICAgICAgIFwiVG9nZ2xlRHJvcGRvd25cIiA6IFwiVG9nZ2xlIERyb3Bkb3duXCIsXG4gICAgICAgIFwiU2F2ZUN1cnJlbnRTZWFyY2hcIjogXCJTYXZlIHNlYXJjaFwiLFxuICAgICAgICBcIlNhdmVBc1wiIDogXCJTYXZlIGFzLi4uXCIsXG4gICAgICAgIFwiU2F2ZVwiIDogXCJTYXZlXCIsXG4gICAgICAgIFwiRGVsZXRlXCIgOiBcIlJlbW92ZVwiLFxuICAgICAgICBcIk1vcmVcIjogXCJNb3JlXCIsXG4gICAgICAgIFwiTGVzc1wiOiBcIkxlc3NcIixcbiAgICAgICAgXCJNb2RhbFwiIDoge1xuICAgICAgICAgICAgXCJUaXRsZVwiIDogXCJTYXZlIGN1cnJlbnQgc2VhcmNoIGNyaXRlcmlhXCIsXG4gICAgICAgICAgICBcIkhlbHBcIiA6IFwiUGxlYXNlIGFkZCBhIHRpdGxlIGZvciB0aGUgZ2l2ZW4gc2VhcmNoIGNyaXRlcmlhLiBUaGlzIHRpdGxlIHdpbGwgaGVscCB5b3UgdG8gdXNlIHRob3NlIGNyaXRlcmlhIGFnYWluIGluIHRoZSBmdXR1cmUuXCIsXG4gICAgICAgICAgICBcIlRpdGxlT25Vc2VyRXJyb3JcIiA6IFwiUGxlYXNlIHVzZSBhIHZhbGlkIG5hbWUgZm9yIHlvdXIgbGlzdFwiLFxuICAgICAgICAgICAgXCJUaXRsZU9uTGlzdEFscmVhZHlDcmVhdGVkXCIgOiBcIk5hbWUgYWxyZWFkeSBpbiB1c2UuIFBsZWFzZSBjaG9vc2UgYSBkaWZmZXJlbnQgb25lXCIsXG4gICAgICAgICAgICBcIk5vTGlzdERlZmluZWRcIiA6IFwiQ2Fubm90IGRlZmluZSB1c2VyIHN0b3JhZ2Uga2V5LlwiLFxuICAgICAgICAgICAgXCJFbXB0eUNyaXRlcmlhTGlzdFwiIDogXCJQbGVhc2UgZGVmaW5lIHNlYXJjaCBjcml0ZXJpYSBiZWZvcmUgc2F2ZS5cIixcbiAgICAgICAgICAgIFwiU2F2ZU5hbWVMYWJlbFwiIDogXCJMaXN0IG5hbWVcIixcbiAgICAgICAgICAgIFwiU2F2ZU5hbWVQbGFjZWhvbGRlclwiIDogXCJUeXBlIGEgdGl0bGUgaGVyZS4uLlwiLFxuICAgICAgICAgICAgXCJBY2NlcHRcIiA6IFwiU2F2ZVwiLFxuICAgICAgICAgICAgXCJEZWNsaW5lXCIgOiBcIkRlY2xpbmVcIixcbiAgICAgICAgICAgIFwiQ2xvc2VcIiA6IFwiQ2xvc2VcIlxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,39 @@
1
+ import { Pipe } from "@angular/core";
2
+ /**
3
+ *
4
+ * @class AdvancedAggregatorPipe
5
+ * @classdesc Given a list of items runs a user defined function against that list
6
+ *
7
+ */
8
+ var AdvancedAggregatorPipe = /** @class */ (function () {
9
+ function AdvancedAggregatorPipe() {
10
+ }
11
+ /**
12
+ *
13
+ * @override
14
+ *
15
+ * @param items The list of items to run the aggregator against
16
+ * @param functionPool The functions that are available from the list caller
17
+ * @param functionName The name of the function to be called
18
+ *
19
+ * @returns {string} The value to show at the UI
20
+ *
21
+ */
22
+ AdvancedAggregatorPipe.prototype.transform = function (items, functionPool, functionName) {
23
+ if (Array.isArray(items) && functionName && functionName in functionPool) {
24
+ return functionPool[functionName](items);
25
+ }
26
+ else {
27
+ return '-';
28
+ }
29
+ };
30
+ AdvancedAggregatorPipe.decorators = [
31
+ { type: Pipe, args: [{
32
+ name: 'callAggregator'
33
+ },] }
34
+ ];
35
+ return AdvancedAggregatorPipe;
36
+ }());
37
+ export { AdvancedAggregatorPipe };
38
+
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL3BpcGVzL2FkdmFuY2VkLWFnZ3JlZ2F0b3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRDs7Ozs7R0FLRztBQUVIO0lBQUE7SUF1QkEsQ0FBQztJQWxCQzs7Ozs7Ozs7OztPQVVHO0lBQ0gsMENBQVMsR0FBVCxVQUFVLEtBQVksRUFBRSxZQUFpQixFQUFFLFlBQW9CO1FBQzdELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxZQUFZLElBQUksWUFBWSxJQUFJLFlBQVksRUFBRTtZQUN4RSxPQUFPLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0wsT0FBTyxHQUFHLENBQUM7U0FDWjtJQUNILENBQUM7O2dCQXRCRixJQUFJLFNBQUM7b0JBQ0osSUFBSSxFQUFFLGdCQUFnQjtpQkFDdkI7O0lBcUJELDZCQUFDO0NBQUEsQUF2QkQsSUF1QkM7U0FwQlksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbi8qKlxuICogXG4gKiBAY2xhc3MgQWR2YW5jZWRBZ2dyZWdhdG9yUGlwZVxuICogQGNsYXNzZGVzYyBHaXZlbiBhIGxpc3Qgb2YgaXRlbXMgcnVucyBhIHVzZXIgZGVmaW5lZCBmdW5jdGlvbiBhZ2FpbnN0IHRoYXQgbGlzdFxuICogXG4gKi9cblxuQFBpcGUoe1xuICBuYW1lOiAnY2FsbEFnZ3JlZ2F0b3InXG59KVxuZXhwb3J0IGNsYXNzIEFkdmFuY2VkQWdncmVnYXRvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAvKipcbiAgICogXG4gICAqIEBvdmVycmlkZVxuICAgKiBcbiAgICogQHBhcmFtIGl0ZW1zIFRoZSBsaXN0IG9mIGl0ZW1zIHRvIHJ1biB0aGUgYWdncmVnYXRvciBhZ2FpbnN0XG4gICAqIEBwYXJhbSBmdW5jdGlvblBvb2wgVGhlIGZ1bmN0aW9ucyB0aGF0IGFyZSBhdmFpbGFibGUgZnJvbSB0aGUgbGlzdCBjYWxsZXJcbiAgICogQHBhcmFtIGZ1bmN0aW9uTmFtZSBUaGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkXG4gICAqIFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgdmFsdWUgdG8gc2hvdyBhdCB0aGUgVUlcbiAgICogXG4gICAqL1xuICB0cmFuc2Zvcm0oaXRlbXM6IGFueVtdLCBmdW5jdGlvblBvb2w6IGFueSwgZnVuY3Rpb25OYW1lOiBzdHJpbmcpOiBhbnkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW1zKSAmJiBmdW5jdGlvbk5hbWUgJiYgZnVuY3Rpb25OYW1lIGluIGZ1bmN0aW9uUG9vbCkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uUG9vbFtmdW5jdGlvbk5hbWVdKGl0ZW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICctJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { Pipe } from "@angular/core";
2
+ import { TranslateService } from "@ngx-translate/core";
3
+ /**
4
+ *
5
+ * @class ParseTitlePipe
6
+ * @classdesc Given a title of an aggregator list, translates and evaluates the parameter if any
7
+ *
8
+ */
9
+ var ParseTitlePipe = /** @class */ (function () {
10
+ function ParseTitlePipe(_translateService) {
11
+ this._translateService = _translateService;
12
+ }
13
+ /**
14
+ *
15
+ * @override
16
+ *
17
+ * @param {string} title The title of the list
18
+ * @param {string} key The current list key that is being used
19
+ *
20
+ */
21
+ ParseTitlePipe.prototype.transform = function (title, key) {
22
+ var _this = this;
23
+ if (!title) {
24
+ return '';
25
+ }
26
+ else {
27
+ if (key === undefined || key === null || key === 'undefined' || key === 'null') {
28
+ key = this._translateService.instant('Tables.NotDefined');
29
+ }
30
+ return title.split(' ')
31
+ .map(function (part) { return _this._translateService.instant(part); })
32
+ .map(function (part) { return part.replace('${param}', key); })
33
+ .join(' ');
34
+ }
35
+ };
36
+ ParseTitlePipe.decorators = [
37
+ { type: Pipe, args: [{
38
+ name: 'aggregatorListTitle'
39
+ },] }
40
+ ];
41
+ /** @nocollapse */
42
+ ParseTitlePipe.ctorParameters = function () { return [
43
+ { type: TranslateService }
44
+ ]; };
45
+ return ParseTitlePipe;
46
+ }());
47
+ export { ParseTitlePipe };
48
+
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5zZWQtYWdncmVnYXRvci1saXN0LXRpdGxlLXBhcnNlLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pdmVyc2lzL25neC10YWJsZXMvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvYWR2YW5zZWQtYWdncmVnYXRvci1saXN0LXRpdGxlLXBhcnNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQ7Ozs7O0dBS0c7QUFFSDtJQUtFLHdCQUNVLGlCQUFtQztRQUFuQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO0lBQzFDLENBQUM7SUFFSjs7Ozs7OztPQU9HO0lBQ0gsa0NBQVMsR0FBVCxVQUFVLEtBQWEsRUFBRSxHQUFXO1FBQXBDLGlCQVlDO1FBWEMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sRUFBRSxDQUFDO1NBQ1g7YUFBTTtZQUNMLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxXQUFXLElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRTtnQkFDOUUsR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUMzRDtZQUNELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7aUJBQ3BCLEdBQUcsQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQXBDLENBQW9DLENBQUM7aUJBQ25ELEdBQUcsQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxFQUE3QixDQUE2QixDQUFDO2lCQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDZDtJQUNILENBQUM7O2dCQTdCRixJQUFJLFNBQUM7b0JBQ0osSUFBSSxFQUFFLHFCQUFxQjtpQkFDNUI7Ozs7Z0JBWFEsZ0JBQWdCOztJQXVDekIscUJBQUM7Q0FBQSxBQTlCRCxJQThCQztTQTNCWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcblxuLyoqXG4gKiBcbiAqIEBjbGFzcyBQYXJzZVRpdGxlUGlwZVxuICogQGNsYXNzZGVzYyBHaXZlbiBhIHRpdGxlIG9mIGFuIGFnZ3JlZ2F0b3IgbGlzdCwgdHJhbnNsYXRlcyBhbmQgZXZhbHVhdGVzIHRoZSBwYXJhbWV0ZXIgaWYgYW55XG4gKiBcbiAqL1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhZ2dyZWdhdG9yTGlzdFRpdGxlJ1xufSlcbmV4cG9ydCBjbGFzcyBQYXJzZVRpdGxlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBcbiAgICogQG92ZXJyaWRlXG4gICAqIFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGUgVGhlIHRpdGxlIG9mIHRoZSBsaXN0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGN1cnJlbnQgbGlzdCBrZXkgdGhhdCBpcyBiZWluZyB1c2VkXG4gICAqIFxuICAgKi9cbiAgdHJhbnNmb3JtKHRpdGxlOiBzdHJpbmcsIGtleTogc3RyaW5nKTogYW55IHtcbiAgICBpZiAoIXRpdGxlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChrZXkgPT09IHVuZGVmaW5lZCB8fCBrZXkgPT09IG51bGwgfHwga2V5ID09PSAndW5kZWZpbmVkJyB8fCBrZXkgPT09ICdudWxsJykge1xuICAgICAgICBrZXkgPSB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ1RhYmxlcy5Ob3REZWZpbmVkJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGl0bGUuc3BsaXQoJyAnKVxuICAgICAgICAubWFwKChwYXJ0KSA9PiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQocGFydCkpXG4gICAgICAgIC5tYXAoKHBhcnQpID0+IHBhcnQucmVwbGFjZSgnJHtwYXJhbX0nLCBrZXkpKVxuICAgICAgICAuam9pbignICcpO1xuICAgIH1cbiAgfVxufVxuIl19