@eui/base 16.0.0-next.1 → 16.0.0-next.2

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 (69) hide show
  1. package/docs/dependencies.html +59 -63
  2. package/docs/js/search/search_index.js +2 -2
  3. package/docs/properties.html +1 -1
  4. package/esm2022/lib/ux-models/ux-eu-languages.model.mjs +152 -0
  5. package/{fesm2020 → fesm2022}/eui-base.mjs +98 -98
  6. package/{fesm2020 → fesm2022}/eui-base.mjs.map +1 -1
  7. package/package.json +5 -11
  8. package/esm2020/lib/ux-models/ux-eu-languages.model.mjs +0 -152
  9. package/fesm2015/eui-base.mjs +0 -1219
  10. package/fesm2015/eui-base.mjs.map +0 -1
  11. /package/{esm2020 → esm2022}/eui-base.mjs +0 -0
  12. /package/{esm2020 → esm2022}/index.mjs +0 -0
  13. /package/{esm2020 → esm2022}/lib/eui-models/eui-config/eui-app-config.mjs +0 -0
  14. /package/{esm2020 → esm2022}/lib/eui-models/eui-config/eui-config.mjs +0 -0
  15. /package/{esm2020 → esm2022}/lib/eui-models/eui-config/eui-env-config.mjs +0 -0
  16. /package/{esm2020 → esm2022}/lib/eui-models/eui-config/http-error-handler.config.mjs +0 -0
  17. /package/{esm2020 → esm2022}/lib/eui-models/eui-config/i18n.config.mjs +0 -0
  18. /package/{esm2020 → esm2022}/lib/eui-models/eui-config/index.mjs +0 -0
  19. /package/{esm2020 → esm2022}/lib/eui-models/eui-config/locale.config.mjs +0 -0
  20. /package/{esm2020 → esm2022}/lib/eui-models/eui-config/log.config.mjs +0 -0
  21. /package/{esm2020 → esm2022}/lib/eui-models/eui-config/user.config.mjs +0 -0
  22. /package/{esm2020 → esm2022}/lib/eui-models/eui-pagination/eui-pagination.model.mjs +0 -0
  23. /package/{esm2020 → esm2022}/lib/eui-models/eui-pagination/index.mjs +0 -0
  24. /package/{esm2020 → esm2022}/lib/eui-models/eui-service.model.mjs +0 -0
  25. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/eui-store-service.model.mjs +0 -0
  26. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/index.mjs +0 -0
  27. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/models/app.models.mjs +0 -0
  28. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/models/index.mjs +0 -0
  29. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/models/user.models.mjs +0 -0
  30. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/selectors/app.selectors.mjs +0 -0
  31. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/selectors/core.selectors.mjs +0 -0
  32. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/selectors/i18n.selectors.mjs +0 -0
  33. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/selectors/index.mjs +0 -0
  34. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/selectors/notifications.selectors.mjs +0 -0
  35. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/selectors/user.selectors.mjs +0 -0
  36. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/state/app.state.mjs +0 -0
  37. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/state/core.state.mjs +0 -0
  38. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/state/i18n.state.mjs +0 -0
  39. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/state/index.mjs +0 -0
  40. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/state/locale.state.mjs +0 -0
  41. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/state/notifications.state.mjs +0 -0
  42. /package/{esm2020 → esm2022}/lib/eui-models/eui-store/state/user.state.mjs +0 -0
  43. /package/{esm2020 → esm2022}/lib/eui-models/index.mjs +0 -0
  44. /package/{esm2020 → esm2022}/lib/eui-models/log/console.appender.mjs +0 -0
  45. /package/{esm2020 → esm2022}/lib/eui-models/log/index.mjs +0 -0
  46. /package/{esm2020 → esm2022}/lib/eui-models/log/log.appender.mjs +0 -0
  47. /package/{esm2020 → esm2022}/lib/eui-models/log/log.logger.mjs +0 -0
  48. /package/{esm2020 → esm2022}/lib/eui-models/log/log.logger.mock.mjs +0 -0
  49. /package/{esm2020 → esm2022}/lib/eui-models/log/log.model.mjs +0 -0
  50. /package/{esm2020 → esm2022}/lib/eui-models/log/url.appender.mjs +0 -0
  51. /package/{esm2020 → esm2022}/lib/util/coerce-decorator/coerce.mjs +0 -0
  52. /package/{esm2020 → esm2022}/lib/util/coerce-decorator/coercions.mjs +0 -0
  53. /package/{esm2020 → esm2022}/lib/util/coerce-decorator/index.mjs +0 -0
  54. /package/{esm2020 → esm2022}/lib/util/index.mjs +0 -0
  55. /package/{esm2020 → esm2022}/lib/util/merge.mjs +0 -0
  56. /package/{esm2020 → esm2022}/lib/util/xhr.mjs +0 -0
  57. /package/{esm2020 → esm2022}/lib/ux-models/auth-config.model.mjs +0 -0
  58. /package/{esm2020 → esm2022}/lib/ux-models/index.mjs +0 -0
  59. /package/{esm2020 → esm2022}/lib/ux-models/ux-badge.model.mjs +0 -0
  60. /package/{esm2020 → esm2022}/lib/ux-models/ux-constants.mjs +0 -0
  61. /package/{esm2020 → esm2022}/lib/ux-models/ux-error-feedback.model.mjs +0 -0
  62. /package/{esm2020 → esm2022}/lib/ux-models/ux-language.model.mjs +0 -0
  63. /package/{esm2020 → esm2022}/lib/ux-models/ux-link.model.mjs +0 -0
  64. /package/{esm2020 → esm2022}/lib/ux-models/ux-message.model.mjs +0 -0
  65. /package/{esm2020 → esm2022}/lib/ux-models/ux-modal.model.mjs +0 -0
  66. /package/{esm2020 → esm2022}/lib/ux-models/ux-org-chart-node.model.mjs +0 -0
  67. /package/{esm2020 → esm2022}/lib/ux-models/ux-permission.model.mjs +0 -0
  68. /package/{esm2020 → esm2022}/lib/ux-models/ux-timezones.model.mjs +0 -0
  69. /package/{esm2020 → esm2022}/lib/ux-models/ux-validation-error.model.mjs +0 -0
@@ -1,1219 +0,0 @@
1
- import { __awaiter } from 'tslib';
2
- import { coerceBooleanProperty, coerceArray as coerceArray$1, coerceCssPixelValue, coerceElement as coerceElement$1, coerceNumberProperty } from '@angular/cdk/coercion';
3
- import { Subject } from 'rxjs';
4
- import { createSelector } from 'reselect';
5
- import { filter, switchMap } from 'rxjs/operators';
6
- import { HttpClient } from '@angular/common/http';
7
-
8
- const isObject = (item) => item && typeof item === 'object' && !Array.isArray(item);
9
- function merge(target, ...sources) {
10
- return mergeDeep(target, ...sources);
11
- }
12
- /* eslint-enable */
13
- /**
14
- * deep merge of two or more objects
15
- *
16
- * @param target immutable target
17
- * @param sources immutable sources to apply to target
18
- * @returns a new merged object
19
- */
20
- const mergeDeep = (target, ...sources) => {
21
- const output = Object.assign({}, target);
22
- if (!sources.length) {
23
- return output;
24
- }
25
- const source = sources.shift();
26
- if (isObject(target) && isObject(source)) {
27
- Object.keys(source).forEach((key) => {
28
- if (isObject(source[key])) {
29
- if (!(key in target)) {
30
- Object.assign(output, { [key]: source[key] });
31
- }
32
- else {
33
- output[key] = mergeDeep(target[key], source[key]);
34
- }
35
- }
36
- else {
37
- Object.assign(output, { [key]: source[key] });
38
- }
39
- });
40
- }
41
- return mergeDeep(output, ...sources);
42
- };
43
- const mergeAll = (array) => array.reduce((prev, next) => mergeDeep(prev, next), {});
44
-
45
- /**
46
- * Default xhr configuration
47
- */
48
- const DEFAULT_XHR_CONFIG = {
49
- url: null,
50
- method: 'GET',
51
- responseType: 'json',
52
- headers: {},
53
- body: null,
54
- withCredentials: false,
55
- timeout: 0,
56
- };
57
- function xhr(urlOrConfig) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- // create the configuration and apply the default values
60
- let config = typeof urlOrConfig === 'string' ? { url: urlOrConfig } : urlOrConfig;
61
- config = Object.assign({}, DEFAULT_XHR_CONFIG, config);
62
- // create the promise
63
- return new Promise((resolve, reject) => {
64
- // configure and open the request
65
- const request = new XMLHttpRequest();
66
- request.open(config.method, config.url, true);
67
- request.responseType = config.responseType;
68
- Object.keys(config.headers || {}).map(name => request.setRequestHeader(name, config.headers[name]));
69
- request.withCredentials = config.withCredentials;
70
- request.timeout = config.timeout;
71
- // called in case of timeout
72
- request.ontimeout = function () {
73
- reject(`Request timeout after ${request.timeout} milliseconds`);
74
- };
75
- // called after the response is received
76
- request.onload = function () {
77
- if (request.status === 200) {
78
- // the response is loaded properly
79
- resolve(request.response);
80
- }
81
- else {
82
- // status error
83
- reject(`Request failed with status ${request.status} (${request.statusText})`);
84
- }
85
- };
86
- // called in case of generic error
87
- request.onerror = function () {
88
- reject(`Request failed`);
89
- };
90
- // send the request
91
- request.send(config.body);
92
- });
93
- });
94
- }
95
- /* eslint-enable */
96
-
97
- /* eslint-disable */
98
- function coerce(coerceFn, afterFn) {
99
- return function (target, propertyKey) {
100
- const _key = Symbol();
101
- target[_key] = target[propertyKey];
102
- Object.defineProperty(target, propertyKey, {
103
- get: function () {
104
- return this[_key];
105
- },
106
- set: afterFn
107
- ? function (v) {
108
- this[_key] = coerceFn.call(this, v, this);
109
- afterFn.call(this, this[_key], this);
110
- }
111
- : function (v) {
112
- this[_key] = coerceFn.call(this, v, this);
113
- }
114
- });
115
- };
116
- }
117
-
118
- const coerceBoolean = coerce(coerceBooleanProperty);
119
- const coerceArray = coerce(coerceArray$1);
120
- const coercePixel = coerce(coerceCssPixelValue);
121
- const coerceElement = coerce(coerceElement$1);
122
- const coerceNumber = coerce(coerceNumberProperty);
123
-
124
- const DEFAULT_AUTH_CONFIG = {
125
- isLoggedIn: true,
126
- redirectUrl: '',
127
- loginPageUrl: '',
128
- };
129
-
130
- class UxBadge {
131
- constructor(values = {}) {
132
- this.typeClass = 'secondary';
133
- Object.assign(this, values);
134
- }
135
- }
136
-
137
- class UxErrorOutput {
138
- constructor(info, errorFeedback, subErrors, errGroupMap) {
139
- this.severity = UxMessageSeverity.danger;
140
- if (!subErrors) {
141
- Object.assign(this, Object.assign({}, info), Object.assign({}, errorFeedback));
142
- }
143
- else {
144
- Object.assign(this, Object.assign({}, info), Object.assign({}, errorFeedback), { subErrors }, { errGroupMap });
145
- }
146
- }
147
- getFeedBacks(byKey) {
148
- if (this.subErrors) {
149
- return this.subErrors
150
- .filter((err) => {
151
- if (err instanceof UxValidationErrorClass) {
152
- if (byKey && err.attributes) {
153
- return this.checkAttribute(byKey, err.attributes);
154
- }
155
- else if (byKey && !err.attributes) {
156
- return false;
157
- }
158
- else if (!byKey) {
159
- return true;
160
- }
161
- }
162
- })
163
- .map((err) => ({
164
- msgId: err.msgId,
165
- description: err.description,
166
- severity: err.severity,
167
- attributes: err.attributes,
168
- errGroupId: err.errGroupId,
169
- br: err.br,
170
- doc: err.doc,
171
- }));
172
- }
173
- else {
174
- if (!byKey) {
175
- return [{ msgId: this.msgId, description: this.description, severity: this.severity, doc: this.doc }];
176
- }
177
- else {
178
- return [];
179
- }
180
- }
181
- }
182
- checkAttribute(key, attributes) {
183
- return attributes.some((attr) => key === attr.key);
184
- }
185
- }
186
- class UxErrorGroupOnClickEvent {
187
- constructor(groupId, err) {
188
- this.groupId = groupId;
189
- this.err = err;
190
- }
191
- }
192
- var UxMessageSeverity;
193
- (function (UxMessageSeverity) {
194
- UxMessageSeverity["info"] = "info";
195
- UxMessageSeverity["warning"] = "warning";
196
- UxMessageSeverity["danger"] = "danger";
197
- UxMessageSeverity["success"] = "success";
198
- })(UxMessageSeverity || (UxMessageSeverity = {}));
199
- var UxMessageSeverityMetrics;
200
- (function (UxMessageSeverityMetrics) {
201
- UxMessageSeverityMetrics[UxMessageSeverityMetrics["info"] = 0] = "info";
202
- UxMessageSeverityMetrics[UxMessageSeverityMetrics["warning"] = 1] = "warning";
203
- UxMessageSeverityMetrics[UxMessageSeverityMetrics["danger"] = 2] = "danger";
204
- UxMessageSeverityMetrics[UxMessageSeverityMetrics["success"] = 3] = "success";
205
- })(UxMessageSeverityMetrics || (UxMessageSeverityMetrics = {}));
206
- class UxValidationErrorClass {
207
- constructor(data) {
208
- this.severity = UxMessageSeverity.danger;
209
- Object.assign(this, data);
210
- }
211
- }
212
- const transformToUxHttpResponse = (resp, mapper) => {
213
- const updatedErr = resp;
214
- updatedErr.uxHttpErrorOutput = mapper(resp.error);
215
- return updatedErr;
216
- };
217
- class UxPublishErrorFeedbackEvent {
218
- constructor(err, id, groupId, accumulate) {
219
- this.err = err;
220
- this.id = id;
221
- this.groupId = groupId;
222
- this.accumulate = accumulate;
223
- }
224
- }
225
- class UxClearErrorFeedbackEvent {
226
- constructor(id, groupId) {
227
- this.id = id;
228
- this.groupId = groupId;
229
- }
230
- }
231
-
232
- class UxLink {
233
- constructor(values = {}) {
234
- this.urlExternalTarget = '_blank';
235
- this.disabled = false;
236
- this.hasIconBg = false;
237
- this.active = false;
238
- this.visible = true;
239
- this.expanded = false;
240
- this.hasMarker = false;
241
- this.hasTag = false;
242
- this.badgeTypeClass = 'secondary';
243
- this.isHome = false;
244
- this.isSeparator = false;
245
- this.isScreenReaderClickable = false;
246
- this.selected = false;
247
- this.indeterminate = false;
248
- Object.assign(this, values);
249
- if (this.id === null || this.id === undefined) {
250
- this.id = 'no_id';
251
- }
252
- this.e2eAttr = 'ux-link-e2e-' + this.id;
253
- }
254
- get hasChildren() {
255
- return this.children != null;
256
- }
257
- }
258
-
259
- class UxTimezones {
260
- constructor() {
261
- this.primary = 'Europe/Brussels';
262
- this.secondary = 'Europe/Brussels';
263
- }
264
- }
265
-
266
- class UxEuLanguages {
267
- /**
268
- * Matches the given string array to the EU languages and returns a UxLanguage array.
269
- * In case that no codes provided it returns the EU Languages array.
270
- *
271
- * @param codes A string array of 2 char codes
272
- */
273
- static getLanguages(codes = Object.keys(this.languages)) {
274
- return this.filterInvalidLanguageCodes(codes).map((c) => (typeof c === 'string' ? this.languages[c] : c));
275
- }
276
- /**
277
- * filters and removes language codes that are not part of the EULanguage
278
- * e.g. 'ko' does not map to any EULanguage code on the array.
279
- * { code: 'ko', label: 'whatever' } is valid though
280
- *
281
- * @param codes codes A string array of 2 char codescodes A string array of 2 char codes
282
- */
283
- static filterInvalidLanguageCodes(codes) {
284
- return codes.filter((c) => (typeof c === 'string' ? Object.keys(this.languages).indexOf(c) !== -1 : true));
285
- }
286
- /**
287
- * return the given list ordered based on the EULanguage order
288
- *
289
- * @param codes codes A string array of 2 char codes
290
- */
291
- static getOrderedLanguages(codes = Object.keys(this.languages)) {
292
- return this.getLanguages(codes).sort((a, b) => Object.keys(this.languages).findIndex((c) => c === a.code) - Object.keys(this.languages).findIndex((c) => c === b.code));
293
- }
294
- /**
295
- * retrieve language codes (string array) from a given array of string and UxLanguage items
296
- *
297
- * @param array It can be an mixed array of string and UxLanguage items
298
- */
299
- static getLanguageCodes(array) {
300
- return array.map((language) => (typeof language === 'string' ? language : language.code));
301
- }
302
- /**
303
- * filter non EU languages from given array
304
- *
305
- * @param array An array of UxLanguage items
306
- */
307
- static filterNonEULanguages(array) {
308
- return array ? array.filter((lang) => !Object.keys(this.languages).includes(lang.code)) : [];
309
- }
310
- /**
311
- * filter EU Languages from given array
312
- *
313
- * @param array An array of UxLanguage items
314
- */
315
- static filterEULanguages(array) {
316
- return array ? array.filter((lang) => Object.keys(this.languages).includes(lang.code)) : [];
317
- }
318
- }
319
- UxEuLanguages.languages = {
320
- bg: {
321
- code: 'bg',
322
- label: 'български',
323
- },
324
- cs: {
325
- code: 'cs',
326
- label: 'čeština',
327
- },
328
- da: {
329
- code: 'da',
330
- label: 'dansk',
331
- },
332
- de: {
333
- code: 'de',
334
- label: 'Deutsch',
335
- },
336
- et: {
337
- code: 'et',
338
- label: 'eesti keel',
339
- },
340
- el: {
341
- code: 'el',
342
- label: 'ελληνικά',
343
- },
344
- en: {
345
- code: 'en',
346
- label: 'English',
347
- },
348
- es: {
349
- code: 'es',
350
- label: 'español',
351
- },
352
- fr: {
353
- code: 'fr',
354
- label: 'français',
355
- },
356
- ga: {
357
- code: 'ga',
358
- label: 'Gaeilge',
359
- },
360
- hr: {
361
- code: 'hr',
362
- label: 'hrvatski',
363
- },
364
- it: {
365
- code: 'it',
366
- label: 'italiano',
367
- },
368
- lv: {
369
- code: 'lv',
370
- label: 'latviešu valoda',
371
- },
372
- lt: {
373
- code: 'lt',
374
- label: 'lietuvių kalba',
375
- },
376
- hu: {
377
- code: 'hu',
378
- label: 'magyar',
379
- },
380
- mt: {
381
- code: 'mt',
382
- label: 'Malti',
383
- },
384
- nl: {
385
- code: 'nl',
386
- label: 'Nederlands',
387
- },
388
- pl: {
389
- code: 'pl',
390
- label: 'polski',
391
- },
392
- pt: {
393
- code: 'pt',
394
- label: 'português',
395
- },
396
- ro: {
397
- code: 'ro',
398
- label: 'română',
399
- },
400
- sk: {
401
- code: 'sk',
402
- label: 'slovenčina',
403
- },
404
- sl: {
405
- code: 'sl',
406
- label: 'slovenščina',
407
- },
408
- fi: {
409
- code: 'fi',
410
- label: 'suomi',
411
- },
412
- sv: {
413
- code: 'sv',
414
- label: 'svenska',
415
- },
416
- };
417
-
418
- const UX_COLORS = {
419
- text: '#333333',
420
- default: '#333333',
421
- black: '#000000',
422
- white: '#ffffff',
423
- primary: '#004494',
424
- primaryDark: '#003e8c',
425
- primaryDarker: '#003581',
426
- primaryDarkest: '#002d77',
427
- primaryDarkester: '#001f65',
428
- primaryDarkester2: '#00174c',
429
- primaryLight: '#2660a4',
430
- primaryLighter: '#4d7cb4',
431
- primaryLightest: '#80a2ca',
432
- primaryLightester: '#b3c7df',
433
- primaryLightester2: '#e0e9f2 ',
434
- accent: '#ffeb3b',
435
- accentDark: '#ffd114',
436
- accentDarker: '#fc1',
437
- accentDarkest: '#ffc60d',
438
- accentDarkester: '#ffbc07',
439
- accentDarkester2: '#edad00',
440
- accentLight: '#ffdc3a',
441
- accentLighter: '#ffe25d',
442
- accentLightest: '#ffeb8b',
443
- accentLightester: '#fff3b9',
444
- accentLightester2: '#fffae3',
445
- info: '#03a9f4',
446
- infoDark: '#039be5',
447
- infoDarker: '#0288d1',
448
- infoDarkest: '#0277bd',
449
- infoDarkester: '#01579b',
450
- infoDarkester2: '#003473',
451
- infoLight: '#29b6f6',
452
- infoLighter: '#4fc3f7',
453
- infoLightest: '#81d4fa',
454
- infoLightester: '#b3e5fc',
455
- infoLightester2: '#e0eef6',
456
- success: '#4caf50',
457
- successDark: '#3f7233',
458
- successDarker: '#37672c',
459
- successDarkest: '#2f5d24',
460
- successDarkester: '#204a17',
461
- successDarkester2: '#183711',
462
- successLight: '#628e57',
463
- successLighter: '#7ea274',
464
- successLightest: '#a3bd9c',
465
- successLightester: '#c8d7c4',
466
- successLightester2: '#e9efe7',
467
- warning: '#ff9800',
468
- warningDark: '#f08d23',
469
- warningDarker: '#ee821d',
470
- warningDarkest: '#ec7817',
471
- warningDarkester: '#e8670e',
472
- warningDarkester2: '#d05c0d',
473
- warningLight: '#f4a547',
474
- warningLighter: '#f6b568',
475
- warningLightest: '#f9ca93',
476
- warningLightester: '#fbdfbe',
477
- warningLightester2: '#fdf2e5',
478
- danger: '#f44336',
479
- dangerDark: '#d61d2b',
480
- dangerDarker: '#d01824',
481
- dangerDarkest: '#cb141e',
482
- dangerDarkester: '#c20b13',
483
- dangerDarkester2: '#aa0a11',
484
- dangerLight: '#e0424f',
485
- dangerLighter: '#e5646e',
486
- dangerLightest: '#ed9098',
487
- dangerLightester: '#f4bcc1',
488
- dangerLightester2: '#fbe4e6',
489
- grey: '#9e9e9e',
490
- greyDark: '#757575',
491
- greyDarker: '#616161',
492
- greyDarkest: '#424242',
493
- greyDarkester: '#212121',
494
- greyDarkester2: '#141414',
495
- greyLight: '#bdbdbd',
496
- greyLighter: '#d2d2d2',
497
- greyLightest: '#eeeeee',
498
- greyLightester: '#f5f5f5',
499
- greyLightester2: '#fafafa',
500
- };
501
-
502
- const getAppState = (state) => state.app;
503
- const getUserState = (state) => state.user;
504
- const getNotificationsState = (state) => state.notifications;
505
- const getI18nState = (state) => state.i18n;
506
- const getLocaleState = (state) => state.locale;
507
-
508
- const getAppVersion = createSelector(getAppState, (state) => state.version);
509
- const getAppConnection = createSelector(getAppState, (state) => state.connected);
510
- const getAppLoadedConfigModules = createSelector(getAppState, (state) => state.loadedConfigModules);
511
- const getLastAddedModule = createSelector(getAppState, (state) => state.loadedConfigModules.lastAddedModule);
512
- const getAppStatus = createSelector(getAppState, (state) => state.status);
513
- const getCurrentModule = createSelector(getAppState, (state) => state.currentModule);
514
- const getApiQueue = createSelector(getAppState, (state) => state.apiQueue);
515
- const getApiQueueItem = (itemId) => createSelector(getAppState, (state) => state.apiQueue[itemId]);
516
-
517
- const getActiveLang = createSelector(getI18nState, (state) => state.activeLang);
518
-
519
- const getUserDetails = createSelector(getUserState, (state) => state);
520
- const getUserPreferences = createSelector(getUserState, (state) => state.preferences);
521
- const getUserId = createSelector(getUserDetails, (state) => state.userId);
522
- const getUserFirstName = createSelector(getUserDetails, (state) => state.firstName);
523
- const getUserLastName = createSelector(getUserDetails, (state) => state.lastName);
524
- const getUserFullName = createSelector(getUserDetails, (state) => state.fullName);
525
- const getUserLocale = createSelector(getUserPreferences, (state) => state.locale);
526
- const getUserLang = createSelector(getUserPreferences, (state) => state.lang);
527
- const getUserRights = createSelector(getUserState, (state) => state.rights);
528
- const getUserRight = (rightId) => createSelector(getUserRights, (state) => state.find((right) => right && right.id === rightId));
529
- const getUserRightPermissions = (rightId) => createSelector(getUserRight(rightId), (state) => state && state.permissions);
530
- const getUserDashboard = createSelector(getUserPreferences, (state) => state.dashboard);
531
-
532
- const getNotificationsList = createSelector(getNotificationsState, (state) => state.list);
533
-
534
- class EuiService {
535
- constructor(defaultState) {
536
- this.onStateChange = new Subject();
537
- this.stateInstance = defaultState;
538
- }
539
- initEuiService() {
540
- this.unSubscribe();
541
- this.$stateSubs = this.getState().subscribe((newState) => {
542
- // set previous state of service
543
- this.prevStateInstance = this.copy(this.stateInstance);
544
- // update state before emit event
545
- this.stateInstance = this.copy(newState);
546
- // inform about state change
547
- this.onStateChange.next(newState);
548
- });
549
- }
550
- // updateStateProperty(property: keyof T, newVal) {
551
- // if (typeof this.stateInstance === 'object') {
552
- // this.updateState({
553
- // ...this.stateInstance,
554
- // [property]: {
555
- // ...this.stateInstance[property],
556
- // ...newVal,
557
- // },
558
- // });
559
- // } else {
560
- // console.log('This helper method can not be used except for objects');
561
- // }
562
- // }
563
- unSubscribe() {
564
- if (this.$stateSubs && this.$stateSubs.unsubscribe) {
565
- this.$stateSubs.unsubscribe();
566
- }
567
- if (this.$stateLazyLoadSubs && this.$stateLazyLoadSubs.unsubscribe) {
568
- this.$stateLazyLoadSubs.unsubscribe();
569
- }
570
- }
571
- /**
572
- * returns a copy of the given value whether this value is object or primitive. For the arrays it will cover
573
- * multidimensional arrays, but it will not cover an object that contain functions. JSON.parse and JSON.stringify
574
- * might have performance issues on large scale objects but that's an edge case scenario. In case that happens in
575
- * the future follow the technique of NGRX with function caching.
576
- *
577
- * @param state
578
- */
579
- copy(state) {
580
- if (typeof state === 'undefined') {
581
- return undefined;
582
- }
583
- return JSON.parse(JSON.stringify(state));
584
- }
585
- }
586
- class EuiLazyService extends EuiService {
587
- constructor(defaultState) {
588
- super(defaultState);
589
- }
590
- // todo it should use abstract store service
591
- initEuiService(storeForLazyLoad) {
592
- super.initEuiService();
593
- if (storeForLazyLoad) {
594
- this.$stateLazyLoadSubs = storeForLazyLoad
595
- .select(getAppLoadedConfigModules)
596
- .pipe(filter((loadedConfigModules) => { var _a; return ((_a = loadedConfigModules === null || loadedConfigModules === void 0 ? void 0 : loadedConfigModules.modulesConfig) === null || _a === void 0 ? void 0 : _a[loadedConfigModules.lastAddedModule]) ? true : false; }), switchMap((loadedConfigModules) => this.lazyLoadInit(loadedConfigModules.modulesConfig[loadedConfigModules.lastAddedModule], loadedConfigModules.lastAddedModule)))
597
- .subscribe(() => { });
598
- }
599
- }
600
- }
601
-
602
- /**
603
- * Abstract Log Appender
604
- */
605
- class LogAppender {
606
- constructor(config, injector = null) {
607
- this.config = config;
608
- this.injector = injector;
609
- }
610
- /**
611
- * Gets the config
612
- *
613
- * @returns the config
614
- */
615
- getConfig() {
616
- return this.config;
617
- }
618
- }
619
-
620
- /** Log level */
621
- var LogLevel;
622
- (function (LogLevel) {
623
- LogLevel[LogLevel["OFF"] = 0] = "OFF";
624
- LogLevel[LogLevel["FATAL"] = 1] = "FATAL";
625
- LogLevel[LogLevel["ERROR"] = 2] = "ERROR";
626
- LogLevel[LogLevel["WARN"] = 3] = "WARN";
627
- LogLevel[LogLevel["INFO"] = 4] = "INFO";
628
- LogLevel[LogLevel["DEBUG"] = 5] = "DEBUG";
629
- LogLevel[LogLevel["TRACE"] = 6] = "TRACE";
630
- LogLevel[LogLevel["ALL"] = 7] = "ALL";
631
- })(LogLevel || (LogLevel = {}));
632
- /** Associated log level names */
633
- var LogLevelName;
634
- (function (LogLevelName) {
635
- LogLevelName["FATAL"] = "FATAL";
636
- LogLevelName["ERROR"] = "ERROR";
637
- LogLevelName["WARN"] = "WARNING";
638
- LogLevelName["INFO"] = "INFO";
639
- LogLevelName["DEBUG"] = "DEBUG";
640
- LogLevelName["TRACE"] = "TRACE";
641
- })(LogLevelName || (LogLevelName = {}));
642
-
643
- /** Default console prefix converters */
644
- const DEFAULT_CONSOLE_APPENDER_PREFIX_CONVERTERS = {
645
- '{level}': (event) => event.levelName,
646
- '{logger}': (event) => event.loggerName,
647
- '{date}': (event) => event.timestamp.toLocaleDateString(),
648
- '{time}': (event) => event.timestamp.toLocaleTimeString(),
649
- };
650
- /**
651
- * Console Appender
652
- */
653
- class ConsoleAppender extends LogAppender {
654
- constructor(config = {}) {
655
- super(config);
656
- this.config = config;
657
- // apply the default prefix converters
658
- config.prefixConverters = Object.assign({}, DEFAULT_CONSOLE_APPENDER_PREFIX_CONVERTERS, config.prefixConverters);
659
- }
660
- /**
661
- * Logs an event in the console
662
- */
663
- append(event) {
664
- // retrieve the prefix
665
- const prefix = this.getPrefix(event);
666
- // append it to the message array
667
- const messages = prefix ? [prefix, ...event.messages] : event.messages;
668
- // log the event in the console
669
- switch (event.level) {
670
- case LogLevel.FATAL:
671
- case LogLevel.ERROR:
672
- console.error(...messages);
673
- break;
674
- case LogLevel.WARN:
675
- console.warn(...messages);
676
- break;
677
- default:
678
- console.log(...messages);
679
- break;
680
- }
681
- }
682
- /**
683
- * Returns the prefix to be added to the messages
684
- *
685
- * @param event the log event
686
- * @returns the formatted prefix, as string
687
- */
688
- getPrefix(event) {
689
- // in case of no prefixFormat, return null
690
- if (!this.config || !this.config.prefixFormat) {
691
- return null;
692
- }
693
- // start creating the prefix from the format
694
- let prefix = this.config.prefixFormat;
695
- // apply the prefix converters
696
- Object.keys(this.config.prefixConverters).forEach((key) => {
697
- prefix = this.convert(prefix, key, this.config.prefixConverters[key](event));
698
- });
699
- return prefix;
700
- }
701
- /**
702
- * Utility method to replace a placeholder
703
- *
704
- * @param str the string with placeholders
705
- * @param find the placeholder
706
- * @param replace the string to replace the placeholder
707
- * @returns the converted string
708
- */
709
- convert(str, find, replace) {
710
- return str.replace(new RegExp(find, 'g'), replace);
711
- }
712
- }
713
-
714
- /**
715
- * Logger
716
- */
717
- class Logger {
718
- constructor(name, level, appenders) {
719
- this.name = name;
720
- this.level = level;
721
- this.appenders = appenders;
722
- this.isDisabled = () => this.level === LogLevel.OFF;
723
- this.isEnabledFor = (level) => Logger.isEnabledFor(this.level, level);
724
- this.isFatalEnabled = () => this.isEnabledFor(LogLevel.FATAL);
725
- this.isErrorEnabled = () => this.isEnabledFor(LogLevel.ERROR);
726
- this.isWarnEnabled = () => this.isEnabledFor(LogLevel.WARN);
727
- this.isInfoEnabled = () => this.isEnabledFor(LogLevel.INFO);
728
- this.isDebugEnabled = () => this.isEnabledFor(LogLevel.DEBUG);
729
- this.isTraceEnabled = () => this.isEnabledFor(LogLevel.TRACE);
730
- this.isAllEnabled = () => this.isEnabledFor(LogLevel.ALL);
731
- }
732
- static isEnabledFor(enabledFromLevel, level) {
733
- return enabledFromLevel >= level;
734
- }
735
- /**
736
- * Gets the logger name
737
- *
738
- * @returns the logger name
739
- */
740
- getName() {
741
- return this.name;
742
- }
743
- /**
744
- * Gets the log level
745
- *
746
- * @returns the log level
747
- */
748
- getLevel() {
749
- return this.level;
750
- }
751
- /**
752
- * Sets the log level
753
- *
754
- * @param level log level
755
- */
756
- setLevel(level) {
757
- this.level = level;
758
- }
759
- /**
760
- * Fatal log
761
- *
762
- * @param message mandatory message
763
- * @param additionalMessages optional messages
764
- */
765
- fatal(message, ...additionalMessages) {
766
- return this.log({
767
- level: LogLevel.FATAL,
768
- levelName: LogLevelName.FATAL,
769
- loggerName: this.name,
770
- timestamp: new Date(),
771
- messages: [message, ...additionalMessages],
772
- });
773
- }
774
- /**
775
- * Error log
776
- *
777
- * @param message mandatory message
778
- * @param additionalMessages optional messages
779
- */
780
- error(message, ...additionalMessages) {
781
- return this.log({
782
- level: LogLevel.ERROR,
783
- levelName: LogLevelName.ERROR,
784
- loggerName: this.name,
785
- timestamp: new Date(),
786
- messages: [message, ...additionalMessages],
787
- });
788
- }
789
- /**
790
- * Warning log
791
- *
792
- * @param message mandatory message
793
- * @param additionalMessages optional messages
794
- */
795
- warn(message, ...additionalMessages) {
796
- return this.log({
797
- level: LogLevel.WARN,
798
- levelName: LogLevelName.WARN,
799
- loggerName: this.name,
800
- timestamp: new Date(),
801
- messages: [message, ...additionalMessages],
802
- });
803
- }
804
- /**
805
- * Info log
806
- *
807
- * @param message mandatory message
808
- * @param additionalMessages optional messages
809
- */
810
- info(message, ...additionalMessages) {
811
- return this.log({
812
- level: LogLevel.INFO,
813
- levelName: LogLevelName.INFO,
814
- loggerName: this.name,
815
- timestamp: new Date(),
816
- messages: [message, ...additionalMessages],
817
- });
818
- }
819
- /**
820
- * Debug log
821
- *
822
- * @param message mandatory message
823
- * @param additionalMessages optional messages
824
- */
825
- debug(message, ...additionalMessages) {
826
- return this.log({
827
- level: LogLevel.DEBUG,
828
- levelName: LogLevelName.DEBUG,
829
- loggerName: this.name,
830
- timestamp: new Date(),
831
- messages: [message, ...additionalMessages],
832
- });
833
- }
834
- /**
835
- * Trace log
836
- *
837
- * @param message mandatory message
838
- * @param additionalMessages optional messages
839
- */
840
- trace(message, ...additionalMessages) {
841
- return this.log({
842
- level: LogLevel.TRACE,
843
- levelName: LogLevelName.TRACE,
844
- loggerName: this.name,
845
- timestamp: new Date(),
846
- messages: [message, ...additionalMessages],
847
- });
848
- }
849
- /**
850
- * Generic log method, checking the log level and calling the specified appenders
851
- *
852
- * @param event the log event
853
- */
854
- log(event) {
855
- this.appenders
856
- // filter the appender by their custom logLevel or the logger (main) logLevel
857
- .filter((appender) => Logger.isEnabledFor(appender.getConfig().logLevel || this.level, event.level), this)
858
- // execute the remaining appenders
859
- .forEach((appender) => appender.append(event));
860
- }
861
- }
862
-
863
- class LoggerMock extends Logger {
864
- constructor() {
865
- super(null, null, null);
866
- this.isDisabled = () => false;
867
- this.isEnabledFor = () => false;
868
- this.isFatalEnabled = () => false;
869
- this.isErrorEnabled = () => false;
870
- this.isWarnEnabled = () => false;
871
- this.isInfoEnabled = () => false;
872
- this.isDebugEnabled = () => false;
873
- this.isTraceEnabled = () => false;
874
- this.isAllEnabled = () => false;
875
- }
876
- getLevel() {
877
- return null;
878
- }
879
- setLevel() { }
880
- fatal() { }
881
- error() { }
882
- warn() { }
883
- info() { }
884
- debug() { }
885
- trace() { }
886
- }
887
-
888
- /**
889
- * Url Appender
890
- */
891
- class UrlAppender extends LogAppender {
892
- constructor(config, injector) {
893
- super(config, injector);
894
- this.config = config;
895
- this.injector = injector;
896
- // set the http client
897
- this.http = injector && injector.get(HttpClient);
898
- if (!this.http) {
899
- console.error('UrlAppender needs HttpClient service to be defined as a provider.');
900
- }
901
- }
902
- /**
903
- * Logs an event to a server
904
- */
905
- append(event) {
906
- // eventual http errors will be caught by the HttpErrorHandlerInterceptor
907
- if (this.http) {
908
- this.http.post(this.config.url, this.toUrlEvent(event)).subscribe();
909
- }
910
- }
911
- /**
912
- * Maps a LogEvent into a UrlLogEvent
913
- */
914
- toUrlEvent(event) {
915
- // check if the urlEventFromLevel allows the mapping to url log event
916
- const toUrlEvent = this.config.detailedEventFromLevel && Logger.isEnabledFor(this.config.detailedEventFromLevel, event.level);
917
- // returns the url event or the regular log event
918
- return toUrlEvent
919
- ? Object.assign({}, this.filterErrorType(event), {
920
- position: this.getPosition(),
921
- location: this.getLocation(),
922
- })
923
- : event;
924
- }
925
- /**
926
- * returns the code position from where the log has been triggered
927
- */
928
- getPosition() {
929
- // create a dummy error, just for the stack trace
930
- const error = new Error();
931
- try {
932
- // throw it ...
933
- throw error;
934
- }
935
- catch (e) {
936
- // ... and catch it
937
- try {
938
- // extract the correct stack line
939
- let stackLine = error.stack.split('\n')[3].trim();
940
- if (stackLine.startsWith('at ')) {
941
- stackLine = stackLine.substring('at '.length);
942
- }
943
- // if the path is specified in parentheses
944
- if (stackLine.lastIndexOf('(') > 0) {
945
- stackLine = stackLine.substring(stackLine.lastIndexOf('(') + 1, stackLine.indexOf(')'));
946
- }
947
- // strip base path, then parse file, line and column
948
- const data = stackLine.substring(stackLine.lastIndexOf('/') + 1).split(':');
949
- // if the data is parsed correctly
950
- if (data.length === 3) {
951
- return {
952
- file: data[0],
953
- line: +data[1],
954
- column: +data[2],
955
- };
956
- }
957
- }
958
- catch (err) { }
959
- }
960
- return null;
961
- }
962
- /**
963
- * returns the url of the current page
964
- */
965
- getLocation() {
966
- return window && window.location && window.location.href;
967
- }
968
- /**
969
- * check messages if object type is Error and make its properties enumerable
970
- */
971
- filterErrorType(event) {
972
- event.messages = event.messages.map((m) => (m instanceof Error ? Object.getOwnPropertyDescriptors(m) : m));
973
- return event;
974
- }
975
- }
976
-
977
- const getI18nServiceConfigFromBase = (baseGlobalConfig) => {
978
- const i18nServiceConfig = baseGlobalConfig && baseGlobalConfig.i18n && baseGlobalConfig.i18n.i18nService;
979
- const { languages, defaultLanguage } = getI18nServiceConfig(i18nServiceConfig);
980
- return { languages, defaultLanguage };
981
- };
982
- const getI18nServiceConfig = (config) => Object.assign({}, config);
983
- const getI18nLoaderConfig = (config) => {
984
- const { i18nFolders, i18nServices, i18nResources } = Object.assign({}, config);
985
- return { i18nFolders, i18nServices, i18nResources };
986
- };
987
- /**
988
- * returns a language code based on https://tools.ietf.org/rfc/bcp/bcp47.txt specification. To get the Browser's
989
- * it's using the navigator.language, splits by hyphen and get the first part.
990
- */
991
- const getBrowserDefaultLanguage = () => navigator.language.split('-')[0];
992
- /**
993
- * returns an array of DOMStrings representing the user's preferred languages. The language is described using BCP 47
994
- * language tags. In the returned array they are ordered by preference with the most preferred language first.
995
- * The array languages will be lower cased 2 char code.
996
- */
997
- const getBrowserPreferredLanguages = () => navigator.languages.map((lang) => lang.split('-')[0]);
998
-
999
- /**
1000
- * responsible to extract the attributes "available" and "id" from the locale configuration
1001
- */
1002
- const getLocaleServiceConfigFromBase = (baseGlobalConfig) => {
1003
- const { available, id, bindWithTranslate, affectGlobalLocale } = baseGlobalConfig.locale;
1004
- return { available, id, bindWithTranslate, affectGlobalLocale };
1005
- };
1006
-
1007
- // TODO: move this to externals since Dashboard functionality moved there
1008
- // export interface UserDashboard extends WidgetDashboard {}
1009
- const initialUserPreferences = Object.assign({}, {
1010
- lang: null,
1011
- dashboard: null,
1012
- });
1013
-
1014
- const initialAppState = Object.assign({}, {
1015
- version: '0.0.0',
1016
- connected: true,
1017
- loadedConfigModules: {
1018
- modulesConfig: {},
1019
- },
1020
- status: 'idle',
1021
- currentModule: '',
1022
- apiQueue: {},
1023
- });
1024
-
1025
- const initialUserState = Object.assign({}, {
1026
- userId: '',
1027
- firstName: '',
1028
- lastName: '',
1029
- fullName: '',
1030
- preferences: initialUserPreferences,
1031
- rights: [],
1032
- });
1033
-
1034
- const initialNotificationsState = {
1035
- list: [],
1036
- };
1037
-
1038
- const initialI18nState = {
1039
- activeLang: null,
1040
- };
1041
-
1042
- const initialLocaleState = {
1043
- id: 'en',
1044
- };
1045
-
1046
- const initialCoreState = Object.assign({}, {
1047
- app: initialAppState,
1048
- user: initialUserState,
1049
- notifications: initialNotificationsState,
1050
- i18n: initialI18nState,
1051
- locale: initialLocaleState,
1052
- });
1053
-
1054
- const DefaultConfig = {
1055
- totalItems: 0,
1056
- pageSize: 10,
1057
- currentPage: 1,
1058
- pageWindowSize: 5,
1059
- };
1060
- class EuiPagination {
1061
- constructor(totalItems = DefaultConfig.totalItems, pageSize = DefaultConfig.pageSize, currentPage = DefaultConfig.currentPage, pageWindowSize = DefaultConfig.pageWindowSize) {
1062
- this.totalItems = totalItems;
1063
- this.pageSize = pageSize;
1064
- this.currentPage = currentPage;
1065
- this.pageWindowSize = pageWindowSize;
1066
- }
1067
- static create(config = DefaultConfig) {
1068
- if (config.totalItems < 0) {
1069
- throw new Error('total items cannot be negative');
1070
- }
1071
- if (config.pageSize <= 0) {
1072
- throw new Error('page size must be bigger than zero');
1073
- }
1074
- if (config.pageWindowSize <= 0) {
1075
- throw new Error('page window size must be bigger than zero');
1076
- }
1077
- return new EuiPagination(config.totalItems, config.pageSize, config.currentPage, config.pageWindowSize);
1078
- }
1079
- getFirstPage() {
1080
- return 1;
1081
- }
1082
- getLastPage() {
1083
- return this.getPagesCount();
1084
- }
1085
- isFirstPageActive() {
1086
- return this.getCurrentPage() === 1;
1087
- }
1088
- isLastPageActive() {
1089
- return this.getCurrentPage() === this.getPagesCount();
1090
- }
1091
- hasItems() {
1092
- return this.getTotalItems() > 0;
1093
- }
1094
- getPagesCount() {
1095
- const pagesCount = Math.ceil(this.totalItems / this.pageSize);
1096
- return Math.max(pagesCount, 1);
1097
- }
1098
- getPages() {
1099
- const pageWindowSize = this.getPageWindowSize();
1100
- const pagesCount = this.getPagesCount();
1101
- const currentPage = this.getCurrentPage();
1102
- let leftPageWindowSize;
1103
- let rightPageWindowSize;
1104
- let startPage;
1105
- let endPage;
1106
- // should not be bigger than pages count
1107
- const truncatedPageWindowSize = Math.min(...[this.getPageWindowSize(), this.getPagesCount()]);
1108
- if (truncatedPageWindowSize % 2 === 0) {
1109
- // nonsymetrical pager (...*....)
1110
- leftPageWindowSize = truncatedPageWindowSize / 2 - 1;
1111
- rightPageWindowSize = leftPageWindowSize + 1;
1112
- }
1113
- else {
1114
- // symmetrical pager (...*...)
1115
- leftPageWindowSize = rightPageWindowSize = Math.floor(pageWindowSize / 2);
1116
- }
1117
- if (currentPage <= leftPageWindowSize) {
1118
- // start
1119
- startPage = 1;
1120
- endPage = truncatedPageWindowSize;
1121
- }
1122
- else if (currentPage > pagesCount - rightPageWindowSize) {
1123
- // end
1124
- startPage = pagesCount - truncatedPageWindowSize + 1;
1125
- endPage = pagesCount;
1126
- }
1127
- else {
1128
- // middle
1129
- startPage = currentPage - leftPageWindowSize;
1130
- endPage = currentPage + rightPageWindowSize;
1131
- }
1132
- return range(startPage, endPage + 1);
1133
- }
1134
- goToPage(page) {
1135
- const pagesCount = this.getPagesCount();
1136
- const upperTrunc = Math.min(...[page, pagesCount]);
1137
- const truncated = Math.max(...[upperTrunc, 1]);
1138
- this.currentPage = truncated;
1139
- }
1140
- goToFirstPage() {
1141
- this.goToPage(1);
1142
- }
1143
- goToLastPage() {
1144
- const lastPage = this.getPagesCount();
1145
- this.goToPage(lastPage);
1146
- }
1147
- goToNextPage() {
1148
- const nextPage = this.getCurrentPage() + 1;
1149
- this.goToPage(nextPage);
1150
- }
1151
- goToPreviousPage() {
1152
- const previousPage = this.getCurrentPage() - 1;
1153
- this.goToPage(previousPage);
1154
- }
1155
- hasPreviousPage() {
1156
- return this.getCurrentPage() > 1;
1157
- }
1158
- hasNextPage() {
1159
- return this.getCurrentPage() < this.getPagesCount();
1160
- }
1161
- getTotalItems() {
1162
- return this.totalItems;
1163
- }
1164
- getPageSize() {
1165
- return this.pageSize;
1166
- }
1167
- setPageSize(size) {
1168
- const truncated = Math.max(...[size, 1]);
1169
- this.pageSize = truncated;
1170
- }
1171
- getCurrentPage() {
1172
- return this.currentPage;
1173
- }
1174
- getPageWindowSize() {
1175
- return this.pageWindowSize;
1176
- }
1177
- setPageWindowSize(size) {
1178
- const truncated = Math.max(...[size, 1]);
1179
- this.pageWindowSize = truncated;
1180
- }
1181
- getShowingFrom() {
1182
- const startingIndex = (this.getCurrentPage() - 1) * this.getPageSize();
1183
- let startingPage = startingIndex + 1;
1184
- if (!this.hasItems()) {
1185
- startingPage = 0;
1186
- }
1187
- return startingPage;
1188
- }
1189
- getShowingTo() {
1190
- const displayStartItem = this.getShowingFrom();
1191
- const pageSize = this.getPageSize();
1192
- const totalItems = this.getTotalItems();
1193
- if (!this.hasItems()) {
1194
- return 0;
1195
- }
1196
- const pageEnd = Math.min(...[displayStartItem + pageSize - 1, totalItems]);
1197
- return pageEnd;
1198
- }
1199
- }
1200
- const range = (start, end, step = 1) => {
1201
- const output = [];
1202
- if (typeof end === 'undefined') {
1203
- end = start;
1204
- start = 0;
1205
- }
1206
- for (let i = start; i < end; i += step) {
1207
- output.push(i);
1208
- }
1209
- return output;
1210
- };
1211
-
1212
- // export * from './lib/base.module';
1213
-
1214
- /**
1215
- * Generated bundle index. Do not edit.
1216
- */
1217
-
1218
- export { ConsoleAppender, DEFAULT_AUTH_CONFIG, DEFAULT_CONSOLE_APPENDER_PREFIX_CONVERTERS, DEFAULT_XHR_CONFIG, DefaultConfig, EuiLazyService, EuiPagination, EuiService, LogAppender, LogLevel, LogLevelName, Logger, LoggerMock, UX_COLORS, UrlAppender, UxBadge, UxClearErrorFeedbackEvent, UxErrorGroupOnClickEvent, UxErrorOutput, UxEuLanguages, UxLink, UxMessageSeverity, UxMessageSeverityMetrics, UxPublishErrorFeedbackEvent, UxTimezones, UxValidationErrorClass, coerce, coerceArray, coerceBoolean, coerceElement, coerceNumber, coercePixel, getActiveLang, getApiQueue, getApiQueueItem, getAppConnection, getAppLoadedConfigModules, getAppState, getAppStatus, getAppVersion, getBrowserDefaultLanguage, getBrowserPreferredLanguages, getCurrentModule, getI18nLoaderConfig, getI18nServiceConfig, getI18nServiceConfigFromBase, getI18nState, getLastAddedModule, getLocaleServiceConfigFromBase, getLocaleState, getNotificationsList, getNotificationsState, getUserDashboard, getUserDetails, getUserFirstName, getUserFullName, getUserId, getUserLang, getUserLastName, getUserLocale, getUserPreferences, getUserRight, getUserRightPermissions, getUserRights, getUserState, initialAppState, initialCoreState, initialI18nState, initialLocaleState, initialNotificationsState, initialUserPreferences, initialUserState, isObject, merge, mergeAll, mergeDeep, range, transformToUxHttpResponse, xhr };
1219
- //# sourceMappingURL=eui-base.mjs.map