ontimize-web-ngx 15.6.0-next.0 → 15.6.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 (45) hide show
  1. package/esm2020/lib/components/app-header/o-app-header.component.mjs +3 -3
  2. package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +3 -3
  3. package/esm2020/lib/components/input/o-form-service-component.class.mjs +2 -2
  4. package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +8 -3
  5. package/esm2020/lib/components/list/o-list.component.mjs +16 -3
  6. package/esm2020/lib/components/table/extensions/o-table.dao.mjs +9 -11
  7. package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
  8. package/esm2020/lib/components/user-info/o-user-info.component.mjs +5 -4
  9. package/esm2020/lib/config/app-config.mjs +1 -1
  10. package/esm2020/lib/config/o-providers.mjs +3 -5
  11. package/esm2020/lib/services/base-data-service.class.mjs +2 -1
  12. package/esm2020/lib/services/factories.mjs +7 -7
  13. package/esm2020/lib/services/index.mjs +2 -1
  14. package/esm2020/lib/services/jsonapi/jsonapi-preferences.service.mjs +16 -14
  15. package/esm2020/lib/services/jsonapi/jsonapi.service.mjs +1 -2
  16. package/esm2020/lib/services/ontimize/index.mjs +1 -2
  17. package/esm2020/lib/services/ontimize/ontimize-ee.service.mjs +1 -5
  18. package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +2 -2
  19. package/esm2020/lib/services/ontimize/ontimize-preferences.service.mjs +4 -6
  20. package/esm2020/lib/services/query-arguments/jsonapi-query-arguments.adapter.mjs +2 -3
  21. package/esm2020/lib/services/translate/o-translate.service.mjs +7 -4
  22. package/esm2020/lib/util/preference-mapping-util.mjs +22 -7
  23. package/esm2020/lib/util/util.mjs +16 -1
  24. package/fesm2015/ontimize-web-ngx.mjs +345 -316
  25. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  26. package/fesm2020/ontimize-web-ngx.mjs +342 -315
  27. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  28. package/lib/components/list/o-list.component.d.ts +3 -1
  29. package/lib/components/table/extensions/o-table.dao.d.ts +3 -2
  30. package/lib/components/table/o-table-base.class.d.ts +1 -0
  31. package/lib/components/user-info/o-user-info.component.d.ts +2 -1
  32. package/lib/config/app-config.d.ts +1 -1
  33. package/lib/services/base-data-service.class.d.ts +1 -0
  34. package/lib/services/factories.d.ts +3 -3
  35. package/lib/services/index.d.ts +1 -0
  36. package/lib/services/jsonapi/jsonapi-preferences.service.d.ts +1 -1
  37. package/lib/services/jsonapi/jsonapi.service.d.ts +0 -1
  38. package/lib/services/ontimize/index.d.ts +0 -1
  39. package/lib/services/ontimize/ontimize-ee.service.d.ts +0 -1
  40. package/lib/services/translate/o-translate.service.d.ts +1 -0
  41. package/lib/util/preference-mapping-util.d.ts +22 -3
  42. package/lib/util/util.d.ts +2 -0
  43. package/package.json +1 -1
  44. package/esm2020/lib/services/ontimize/o-preference-query-argument.adapter.mjs +0 -17
  45. package/lib/services/ontimize/o-preference-query-argument.adapter.d.ts +0 -7
@@ -7,9 +7,9 @@ import * as i1 from '@angular/material/dialog';
7
7
  import { MatDialog, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
8
8
  import * as i1$7 from '@angular/common/http';
9
9
  import { HttpClient, HttpHeaders, HttpRequest, HttpEventType, HttpErrorResponse, HttpClientModule } from '@angular/common/http';
10
+ import { MatSnackBar, MatSnackBarRef, MatSnackBarModule } from '@angular/material/snack-bar';
10
11
  import * as i2$2 from '@ngx-translate/core';
11
12
  import { TranslateService, TranslateDefaultParser, TranslateModule, TranslateLoader, TranslateParser } from '@ngx-translate/core';
12
- import { MatSnackBar, MatSnackBarRef, MatSnackBarModule } from '@angular/material/snack-bar';
13
13
  import * as i1$1 from '@angular/common';
14
14
  import { Location, CommonModule, DOCUMENT, LOCATION_INITIALIZED } from '@angular/common';
15
15
  import * as i2 from '@angular/flex-layout/flex';
@@ -1394,6 +1394,9 @@ class OTranslateService {
1394
1394
  observer.next(langRes);
1395
1395
  }
1396
1396
  }
1397
+ getNgxTranslateService() {
1398
+ return this.ngxTranslateService;
1399
+ }
1397
1400
  getCurrentLang() {
1398
1401
  return this.ngxTranslateService.currentLang;
1399
1402
  }
@@ -1982,6 +1985,7 @@ class BaseDataService extends BaseService {
1982
1985
  constructor(injector) {
1983
1986
  super(injector);
1984
1987
  this.injector = injector;
1988
+ this.path = '';
1985
1989
  }
1986
1990
  clientErrorFallback(errorCode) {
1987
1991
  if (errorCode === 401) {
@@ -2000,7 +2004,6 @@ class JSONAPIService extends BaseDataService {
2000
2004
  constructor(injector) {
2001
2005
  super(injector);
2002
2006
  this.injector = injector;
2003
- this.path = '';
2004
2007
  this.config = this.injector.get(AppConfig);
2005
2008
  }
2006
2009
  startsession(user, password) {
@@ -2155,36 +2158,133 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2155
2158
  type: Injectable
2156
2159
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
2157
2160
 
2161
+ class OPreferenceMappingUtils {
2162
+ static transformKeys(data, keyMapping) {
2163
+ if (!Array.isArray(data)) {
2164
+ return data;
2165
+ }
2166
+ return data.map((key) => keyMapping[key] || key);
2167
+ }
2168
+ static mapObjectKeys(obj, keyMapping, parameterKeyMapping) {
2169
+ return Object.entries(obj).reduce((newObj, [key, value]) => {
2170
+ const newKey = keyMapping[key] || key;
2171
+ if (Array.isArray(value) && value.every((item) => typeof item === "object" && !Array.isArray(item))) {
2172
+ newObj[newKey] = value.map((item) => this.mapObjectKeys(item, parameterKeyMapping || {}));
2173
+ }
2174
+ else if (typeof value === "object" && value !== null && newKey !== "params") {
2175
+ newObj[newKey] = this.mapObjectKeys(value, parameterKeyMapping || {});
2176
+ }
2177
+ else {
2178
+ newObj[newKey] = value;
2179
+ }
2180
+ return newObj;
2181
+ }, {});
2182
+ }
2183
+ static transformData(data, keyMapping, parameterKeyMapping) {
2184
+ if (Array.isArray(data)) {
2185
+ return data.map((obj) => this.mapObjectKeys(obj, keyMapping, parameterKeyMapping));
2186
+ }
2187
+ else if (typeof data === "object" && data !== null) {
2188
+ return this.mapObjectKeys(data, keyMapping, parameterKeyMapping);
2189
+ }
2190
+ return data;
2191
+ }
2192
+ static standarDataMapping(array) {
2193
+ return OPreferenceMappingUtils.transformData(array, OPreferenceMappingUtils.STANDARDREPORTMAPPING, OPreferenceMappingUtils.STANDARDPARAMETERMAPPING);
2194
+ }
2195
+ static standarMappingKeys(array) {
2196
+ return OPreferenceMappingUtils.transformKeys(array, OPreferenceMappingUtils.STANDARDREPORTMAPPING);
2197
+ }
2198
+ static ontimizePreferencesMappingKeys(array) {
2199
+ return OPreferenceMappingUtils.transformKeys(array, OPreferenceMappingUtils.ONTIMIZEPREFERENCESMAPPING);
2200
+ }
2201
+ static ontimizePreferencesDataMapping(array) {
2202
+ return OPreferenceMappingUtils.transformData(array, OPreferenceMappingUtils.ONTIMIZEPREFERENCESMAPPING, OPreferenceMappingUtils.ONTIMIZEPARAMETERMAPPING);
2203
+ }
2204
+ static jsonApiPreferencesMappingKeys(array) {
2205
+ return OPreferenceMappingUtils.transformKeys(array, OPreferenceMappingUtils.JSONAPIPREFERENCESMAPPING);
2206
+ }
2207
+ static jsonApiPreferencesDataMapping(array) {
2208
+ return OPreferenceMappingUtils.transformData(array, OPreferenceMappingUtils.JSONAPIPREFERENCESMAPPING);
2209
+ }
2210
+ }
2211
+ OPreferenceMappingUtils.STANDARDREPORTMAPPING = {
2212
+ "ID": "PREFERENCEID",
2213
+ "NAME": "PREFERENCENAME",
2214
+ "DESCRIPTION": "PREFERENCEDESCRIPTION",
2215
+ "ENTITY": "PREFERENCEENTITY",
2216
+ "SERVICE": "PREFERENCESERVICE",
2217
+ "TYPE": "PREFERENCETYPE",
2218
+ "PREFERENCES": "PREFERENCEPREFERENCES"
2219
+ };
2220
+ OPreferenceMappingUtils.STANDARDINSERTREPORTMAPPING = {
2221
+ "id": "preferenceid",
2222
+ "name": "preferencename",
2223
+ "description": "preferencedescription",
2224
+ "entity": "preferenceentity",
2225
+ "service": "preferenceservice",
2226
+ "type": "preferencetype",
2227
+ "params": "preferenceparameters"
2228
+ };
2229
+ OPreferenceMappingUtils.STANDARDPARAMETERMAPPING = {
2230
+ "name": "reportParameterName",
2231
+ "description": "reportParameterDescription"
2232
+ };
2233
+ OPreferenceMappingUtils.ONTIMIZEPARAMETERMAPPING = {
2234
+ "reportParameterName": "name",
2235
+ "reportParameterDescription": "description"
2236
+ };
2237
+ OPreferenceMappingUtils.ONTIMIZEPREFERENCESMAPPING = {
2238
+ "preferenceid": "id",
2239
+ "preferencename": "name",
2240
+ "preferencedescription": "description",
2241
+ "preferenceentity": "entity",
2242
+ "preferenceservice": "service",
2243
+ "preferencetype": "type",
2244
+ "preferenceparameters": "params"
2245
+ };
2246
+ OPreferenceMappingUtils.JSONAPIPREFERENCESMAPPING = {
2247
+ "preferenceid": "PREFERENCEID",
2248
+ "preferencename": "PREFERENCENAME",
2249
+ "preferencedescription": "PREFERENCEDESCRIPTION",
2250
+ "preferenceentity": "PREFERENCEENTITY",
2251
+ "preferenceservice": "PREFERENCESERVICE",
2252
+ "preferencetype": "PREFERENCETYPE",
2253
+ "preferenceparameters": "PREFERENCEPREFERENCES"
2254
+ };
2255
+
2158
2256
  class JSONAPIPreferencesService extends JSONAPIService {
2159
2257
  configureService(config) {
2258
+ var _a, _b;
2160
2259
  super.configureService(config);
2161
- this.path = config.path || '/preferences';
2260
+ this.path = ((_a = config['preferences']) === null || _a === void 0 ? void 0 : _a.path) ? (_b = config['preferences']) === null || _b === void 0 ? void 0 : _b.path : '/Preference';
2261
+ }
2262
+ parseObjectToPreference(preferencesparams) {
2263
+ preferencesparams['preferenceparameters'] = btoa(JSON.stringify(preferencesparams['preferenceparameters']));
2264
+ preferencesparams['preferenceentity'] = preferencesparams['preferenceentity'] + '-' + preferencesparams['preferenceservice'];
2265
+ preferencesparams['preferencetype'] = preferencesparams['preferencetype'] === 'REPORT' ? 0 : 1;
2266
+ delete preferencesparams['preferenceservice'];
2267
+ return preferencesparams;
2162
2268
  }
2163
2269
  saveAsPreferences(preferencesparams) {
2164
2270
  preferencesparams = this.parseObjectToPreference(preferencesparams);
2271
+ preferencesparams = OPreferenceMappingUtils.jsonApiPreferencesDataMapping(preferencesparams);
2165
2272
  return super.insert(preferencesparams, 'Preference');
2166
2273
  }
2167
2274
  savePreferences(id, preferencesparams) {
2168
2275
  preferencesparams = this.parseObjectToPreference(preferencesparams);
2169
- return super.update({ id: id }, preferencesparams, 'Preference');
2170
- }
2171
- parseObjectToPreference(preferencesparams) {
2172
- preferencesparams['preferencepreferences'] = btoa(JSON.stringify(preferencesparams['preferenceparameters']));
2173
- preferencesparams['preferenceentity'] = preferencesparams['preferenceentity'] + '-' + preferencesparams['preferenceservice'];
2174
- preferencesparams['preferencetype'] = preferencesparams['preferencetype'] === 'REPORT' ? 0 : 1;
2175
- delete preferencesparams['preferenceparameters'];
2176
- delete preferencesparams['preferenceservice'];
2177
- return preferencesparams;
2276
+ preferencesparams = OPreferenceMappingUtils.jsonApiPreferencesDataMapping(preferencesparams);
2277
+ return super.update({ PREFERENCEID: id }, preferencesparams, 'Preference');
2178
2278
  }
2179
2279
  getPreferences(entity, service, type) {
2180
2280
  let queryParams = { fields: {}, filter: {} };
2181
- let fields = { preference: 'preferenceid,preferencename,preferencedescription,preferencepreferences,preferenceentity,preferencetype' };
2182
- queryParams.fields['Preference'] = this.nameConvention.parseColumnsToNameConventionForJSONAPI(fields);
2281
+ let fields = { preference: 'PREFERENCEID,PREFERENCENAME,PREFERENCEDESCRIPTION,PREFERENCEPREFERENCES,PREFERENCEENTITY,PREFERENCETYPE' };
2282
+ queryParams.fields['Preference'] = fields.preference;
2183
2283
  queryParams.filter = { preferenceentity: entity + '-' + service, preferencetype: (type === 'REPORT' ? 0 : 1) };
2184
2284
  return super.query(queryParams);
2185
2285
  }
2186
2286
  deletePreferences(id) {
2187
- const url = this.urlBase + '/Preference/' + id;
2287
+ const url = `${this.urlBase}${this.path}/${id}`;
2188
2288
  return this.doRequest({
2189
2289
  method: 'DELETE',
2190
2290
  url: url
@@ -2270,6 +2370,176 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
2270
2370
  type: Injectable
2271
2371
  }] });
2272
2372
 
2373
+ class LocalStorageService {
2374
+ constructor(injector) {
2375
+ this.injector = injector;
2376
+ this.onRouteChange = new EventEmitter();
2377
+ this.onSetLocalStorage = new EventEmitter();
2378
+ this._config = this.injector.get(AppConfig).getConfiguration();
2379
+ this._router = this.injector.get(Router);
2380
+ this.authService = this.injector.get(AuthService);
2381
+ const self = this;
2382
+ this._router.events.subscribe(event => {
2383
+ if (event instanceof NavigationStart) {
2384
+ ObservableWrapper.callEmit(self.onRouteChange, {});
2385
+ }
2386
+ });
2387
+ }
2388
+ getComponentStorage(comp, routeKey) {
2389
+ const componentKey = comp.getComponentKey();
2390
+ let completeKey = componentKey;
2391
+ if (routeKey) {
2392
+ completeKey += '_' + routeKey;
2393
+ }
2394
+ return this.getAppComponentData(completeKey) || {};
2395
+ }
2396
+ updateComponentStorage(comp, routeKey) {
2397
+ const dataToStore = comp.getDataToStore();
2398
+ const componentKey = comp.getComponentKey();
2399
+ if (!Util.isDefined(componentKey)) {
2400
+ return;
2401
+ }
2402
+ let completeKey = componentKey;
2403
+ if (routeKey) {
2404
+ completeKey += '_' + routeKey;
2405
+ }
2406
+ const storedObject = {};
2407
+ for (const prop in dataToStore) {
2408
+ if (dataToStore.hasOwnProperty(prop)) {
2409
+ storedObject[prop] = dataToStore[prop];
2410
+ }
2411
+ }
2412
+ this.updateAppComponentStorage(completeKey, storedObject);
2413
+ }
2414
+ getAppComponentData(key) {
2415
+ let componentData;
2416
+ const storedComponents = this.getSessionUserComponentsData() || {};
2417
+ if (storedComponents[key]) {
2418
+ if (Object.keys(storedComponents[key]).length !== 0) {
2419
+ const decoded = atob((storedComponents[key]));
2420
+ try {
2421
+ componentData = JSON.parse(decoded);
2422
+ }
2423
+ catch (e) {
2424
+ componentData = undefined;
2425
+ }
2426
+ }
2427
+ }
2428
+ return componentData;
2429
+ }
2430
+ updateAppComponentStorage(componentKey, componentData) {
2431
+ let componentDataB64;
2432
+ try {
2433
+ componentDataB64 = btoa(Util.stringify(componentData));
2434
+ }
2435
+ catch (e) {
2436
+ componentDataB64 = undefined;
2437
+ }
2438
+ this.storeComponentInSessionUser(componentKey, componentDataB64);
2439
+ }
2440
+ getSessionUserComponentsData() {
2441
+ let storedComponentsByUser = {};
2442
+ const appData = this.getStoredData();
2443
+ const session = appData[LocalStorageService.SESSION_STORAGE_KEY] || {};
2444
+ const users = appData[LocalStorageService.USERS_STORAGE_KEY] || {};
2445
+ storedComponentsByUser = (users[session.user] || {})[LocalStorageService.COMPONENTS_STORAGE_KEY] || {};
2446
+ return storedComponentsByUser;
2447
+ }
2448
+ storeSessionUserComponentsData(componentsData) {
2449
+ const appData = this.getStoredData();
2450
+ const session = appData[LocalStorageService.SESSION_STORAGE_KEY] || {};
2451
+ if (!Util.isDefined(appData[LocalStorageService.USERS_STORAGE_KEY])) {
2452
+ appData[LocalStorageService.USERS_STORAGE_KEY] = {};
2453
+ }
2454
+ const userData = appData[LocalStorageService.USERS_STORAGE_KEY][session.user] || {};
2455
+ userData[LocalStorageService.COMPONENTS_STORAGE_KEY] = componentsData;
2456
+ appData[LocalStorageService.USERS_STORAGE_KEY][session.user] = userData;
2457
+ this.setLocalStorage(appData);
2458
+ }
2459
+ storeComponentInSessionUser(componentKey, componentDataB64) {
2460
+ var _a;
2461
+ const appData = this.getStoredData();
2462
+ const session = appData[LocalStorageService.SESSION_STORAGE_KEY] || {};
2463
+ if (!Util.isDefined(this.authService)) {
2464
+ this.authService = this.injector.get(AuthService);
2465
+ }
2466
+ const users = appData[LocalStorageService.USERS_STORAGE_KEY] || {};
2467
+ const idUser = session.user || ((_a = this.authService.getSessionInfo()) === null || _a === void 0 ? void 0 : _a.user);
2468
+ if (!Util.isDefined(idUser)) {
2469
+ return;
2470
+ }
2471
+ const user = users[idUser] || {};
2472
+ let componentsData = {};
2473
+ if (users[idUser]) {
2474
+ componentsData = users[idUser][LocalStorageService.COMPONENTS_STORAGE_KEY] || {};
2475
+ }
2476
+ componentsData[componentKey] = componentDataB64 || {};
2477
+ user[LocalStorageService.COMPONENTS_STORAGE_KEY] = componentsData;
2478
+ users[idUser] = user;
2479
+ appData[LocalStorageService.USERS_STORAGE_KEY] = users;
2480
+ this.setLocalStorage(appData);
2481
+ }
2482
+ getStoredData() {
2483
+ let appData = {};
2484
+ const appStoredData = localStorage.getItem(this._config.uuid);
2485
+ if (appStoredData) {
2486
+ try {
2487
+ appData = JSON.parse(appStoredData);
2488
+ }
2489
+ catch (e) {
2490
+ appData = {};
2491
+ }
2492
+ }
2493
+ return appData;
2494
+ }
2495
+ setBackwardCompatibility() {
2496
+ const appData = this.getStoredData();
2497
+ const session = appData[LocalStorageService.SESSION_STORAGE_KEY];
2498
+ if (!Util.isDefined(session) || !Util.isDefined(session.user)) {
2499
+ return;
2500
+ }
2501
+ const componentsInfo = appData[LocalStorageService.COMPONENTS_STORAGE_KEY] || {};
2502
+ let usersObject = {};
2503
+ const existsUsersTag = Util.isDefined(appData[LocalStorageService.USERS_STORAGE_KEY]);
2504
+ let createUserInfo = existsUsersTag;
2505
+ if (existsUsersTag) {
2506
+ usersObject = appData[LocalStorageService.USERS_STORAGE_KEY];
2507
+ createUserInfo = !Util.isDefined(appData[LocalStorageService.USERS_STORAGE_KEY][session.user]);
2508
+ }
2509
+ if (createUserInfo) {
2510
+ usersObject[session.user] = {};
2511
+ usersObject[session.user][LocalStorageService.COMPONENTS_STORAGE_KEY] = componentsInfo;
2512
+ appData[LocalStorageService.USERS_STORAGE_KEY] = usersObject;
2513
+ try {
2514
+ localStorage.setItem(this._config.uuid, Util.stringify(appData));
2515
+ }
2516
+ catch (e) {
2517
+ console.error("Cannot set new item in localStorage. Error: " + e);
2518
+ }
2519
+ }
2520
+ }
2521
+ setLocalStorage(appData) {
2522
+ this.onSetLocalStorage.emit();
2523
+ try {
2524
+ localStorage.setItem(this._config.uuid, Util.stringify(appData));
2525
+ }
2526
+ catch (e) {
2527
+ console.error("Cannot set new item in localStorage. Error: " + e);
2528
+ }
2529
+ }
2530
+ removeStoredData() {
2531
+ localStorage.removeItem(this._config.uuid);
2532
+ }
2533
+ }
2534
+ LocalStorageService.COMPONENTS_STORAGE_KEY = 'components';
2535
+ LocalStorageService.USERS_STORAGE_KEY = 'users';
2536
+ LocalStorageService.SESSION_STORAGE_KEY = 'session';
2537
+ LocalStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocalStorageService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
2538
+ LocalStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocalStorageService });
2539
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocalStorageService, decorators: [{
2540
+ type: Injectable
2541
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
2542
+
2273
2543
  class FilterExpressionUtils {
2274
2544
  static instanceofBasicExpression(arg) {
2275
2545
  return arg.hasOwnProperty(FilterExpressionUtils.BASIC_EXPRESSION_KEY)
@@ -3197,176 +3467,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
3197
3467
  }]
3198
3468
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
3199
3469
 
3200
- class LocalStorageService {
3201
- constructor(injector) {
3202
- this.injector = injector;
3203
- this.onRouteChange = new EventEmitter();
3204
- this.onSetLocalStorage = new EventEmitter();
3205
- this._config = this.injector.get(AppConfig).getConfiguration();
3206
- this._router = this.injector.get(Router);
3207
- this.authService = this.injector.get(AuthService);
3208
- const self = this;
3209
- this._router.events.subscribe(event => {
3210
- if (event instanceof NavigationStart) {
3211
- ObservableWrapper.callEmit(self.onRouteChange, {});
3212
- }
3213
- });
3214
- }
3215
- getComponentStorage(comp, routeKey) {
3216
- const componentKey = comp.getComponentKey();
3217
- let completeKey = componentKey;
3218
- if (routeKey) {
3219
- completeKey += '_' + routeKey;
3220
- }
3221
- return this.getAppComponentData(completeKey) || {};
3222
- }
3223
- updateComponentStorage(comp, routeKey) {
3224
- const dataToStore = comp.getDataToStore();
3225
- const componentKey = comp.getComponentKey();
3226
- if (!Util.isDefined(componentKey)) {
3227
- return;
3228
- }
3229
- let completeKey = componentKey;
3230
- if (routeKey) {
3231
- completeKey += '_' + routeKey;
3232
- }
3233
- const storedObject = {};
3234
- for (const prop in dataToStore) {
3235
- if (dataToStore.hasOwnProperty(prop)) {
3236
- storedObject[prop] = dataToStore[prop];
3237
- }
3238
- }
3239
- this.updateAppComponentStorage(completeKey, storedObject);
3240
- }
3241
- getAppComponentData(key) {
3242
- let componentData;
3243
- const storedComponents = this.getSessionUserComponentsData() || {};
3244
- if (storedComponents[key]) {
3245
- if (Object.keys(storedComponents[key]).length !== 0) {
3246
- const decoded = atob((storedComponents[key]));
3247
- try {
3248
- componentData = JSON.parse(decoded);
3249
- }
3250
- catch (e) {
3251
- componentData = undefined;
3252
- }
3253
- }
3254
- }
3255
- return componentData;
3256
- }
3257
- updateAppComponentStorage(componentKey, componentData) {
3258
- let componentDataB64;
3259
- try {
3260
- componentDataB64 = btoa(Util.stringify(componentData));
3261
- }
3262
- catch (e) {
3263
- componentDataB64 = undefined;
3264
- }
3265
- this.storeComponentInSessionUser(componentKey, componentDataB64);
3266
- }
3267
- getSessionUserComponentsData() {
3268
- let storedComponentsByUser = {};
3269
- const appData = this.getStoredData();
3270
- const session = appData[LocalStorageService.SESSION_STORAGE_KEY] || {};
3271
- const users = appData[LocalStorageService.USERS_STORAGE_KEY] || {};
3272
- storedComponentsByUser = (users[session.user] || {})[LocalStorageService.COMPONENTS_STORAGE_KEY] || {};
3273
- return storedComponentsByUser;
3274
- }
3275
- storeSessionUserComponentsData(componentsData) {
3276
- const appData = this.getStoredData();
3277
- const session = appData[LocalStorageService.SESSION_STORAGE_KEY] || {};
3278
- if (!Util.isDefined(appData[LocalStorageService.USERS_STORAGE_KEY])) {
3279
- appData[LocalStorageService.USERS_STORAGE_KEY] = {};
3280
- }
3281
- const userData = appData[LocalStorageService.USERS_STORAGE_KEY][session.user] || {};
3282
- userData[LocalStorageService.COMPONENTS_STORAGE_KEY] = componentsData;
3283
- appData[LocalStorageService.USERS_STORAGE_KEY][session.user] = userData;
3284
- this.setLocalStorage(appData);
3285
- }
3286
- storeComponentInSessionUser(componentKey, componentDataB64) {
3287
- var _a;
3288
- const appData = this.getStoredData();
3289
- const session = appData[LocalStorageService.SESSION_STORAGE_KEY] || {};
3290
- if (!Util.isDefined(this.authService)) {
3291
- this.authService = this.injector.get(AuthService);
3292
- }
3293
- const users = appData[LocalStorageService.USERS_STORAGE_KEY] || {};
3294
- const idUser = session.user || ((_a = this.authService.getSessionInfo()) === null || _a === void 0 ? void 0 : _a.user);
3295
- if (!Util.isDefined(idUser)) {
3296
- return;
3297
- }
3298
- const user = users[idUser] || {};
3299
- let componentsData = {};
3300
- if (users[idUser]) {
3301
- componentsData = users[idUser][LocalStorageService.COMPONENTS_STORAGE_KEY] || {};
3302
- }
3303
- componentsData[componentKey] = componentDataB64 || {};
3304
- user[LocalStorageService.COMPONENTS_STORAGE_KEY] = componentsData;
3305
- users[idUser] = user;
3306
- appData[LocalStorageService.USERS_STORAGE_KEY] = users;
3307
- this.setLocalStorage(appData);
3308
- }
3309
- getStoredData() {
3310
- let appData = {};
3311
- const appStoredData = localStorage.getItem(this._config.uuid);
3312
- if (appStoredData) {
3313
- try {
3314
- appData = JSON.parse(appStoredData);
3315
- }
3316
- catch (e) {
3317
- appData = {};
3318
- }
3319
- }
3320
- return appData;
3321
- }
3322
- setBackwardCompatibility() {
3323
- const appData = this.getStoredData();
3324
- const session = appData[LocalStorageService.SESSION_STORAGE_KEY];
3325
- if (!Util.isDefined(session) || !Util.isDefined(session.user)) {
3326
- return;
3327
- }
3328
- const componentsInfo = appData[LocalStorageService.COMPONENTS_STORAGE_KEY] || {};
3329
- let usersObject = {};
3330
- const existsUsersTag = Util.isDefined(appData[LocalStorageService.USERS_STORAGE_KEY]);
3331
- let createUserInfo = existsUsersTag;
3332
- if (existsUsersTag) {
3333
- usersObject = appData[LocalStorageService.USERS_STORAGE_KEY];
3334
- createUserInfo = !Util.isDefined(appData[LocalStorageService.USERS_STORAGE_KEY][session.user]);
3335
- }
3336
- if (createUserInfo) {
3337
- usersObject[session.user] = {};
3338
- usersObject[session.user][LocalStorageService.COMPONENTS_STORAGE_KEY] = componentsInfo;
3339
- appData[LocalStorageService.USERS_STORAGE_KEY] = usersObject;
3340
- try {
3341
- localStorage.setItem(this._config.uuid, Util.stringify(appData));
3342
- }
3343
- catch (e) {
3344
- console.error("Cannot set new item in localStorage. Error: " + e);
3345
- }
3346
- }
3347
- }
3348
- setLocalStorage(appData) {
3349
- this.onSetLocalStorage.emit();
3350
- try {
3351
- localStorage.setItem(this._config.uuid, Util.stringify(appData));
3352
- }
3353
- catch (e) {
3354
- console.error("Cannot set new item in localStorage. Error: " + e);
3355
- }
3356
- }
3357
- removeStoredData() {
3358
- localStorage.removeItem(this._config.uuid);
3359
- }
3360
- }
3361
- LocalStorageService.COMPONENTS_STORAGE_KEY = 'components';
3362
- LocalStorageService.USERS_STORAGE_KEY = 'users';
3363
- LocalStorageService.SESSION_STORAGE_KEY = 'session';
3364
- LocalStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocalStorageService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
3365
- LocalStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocalStorageService });
3366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LocalStorageService, decorators: [{
3367
- type: Injectable
3368
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
3369
-
3370
3470
  class ORemoteConfigurationService {
3371
3471
  beforeunloadHandler() {
3372
3472
  this.finalize().subscribe(() => {
@@ -3823,10 +3923,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
3823
3923
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
3824
3924
 
3825
3925
  class OntimizeEEService extends OntimizeBaseService {
3826
- constructor() {
3827
- super(...arguments);
3828
- this.path = '';
3829
- }
3830
3926
  configureService(config) {
3831
3927
  super.configureService(config);
3832
3928
  this._startSessionPath = this._appConfig.startSessionPath ? this._appConfig.startSessionPath : '/users/login';
@@ -4220,86 +4316,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
4220
4316
  type: Injectable
4221
4317
  }] });
4222
4318
 
4223
- class OPreferenceMappingUtils {
4224
- static transformKeys(data, keyMapping) {
4225
- if (!Array.isArray(data)) {
4226
- return data;
4227
- }
4228
- return data.map((key) => keyMapping[key] || key);
4229
- }
4230
- static mapObjectKeys(obj, keyMapping, parameterKeyMapping) {
4231
- return Object.entries(obj).reduce((newObj, [key, value]) => {
4232
- const newKey = keyMapping[key] || key;
4233
- if (Array.isArray(value) && value.every((item) => typeof item === "object" && !Array.isArray(item))) {
4234
- newObj[newKey] = value.map((item) => this.mapObjectKeys(item, parameterKeyMapping || {}));
4235
- }
4236
- else if (typeof value === "object" && value !== null) {
4237
- newObj[newKey] = this.mapObjectKeys(value, parameterKeyMapping || {});
4238
- }
4239
- else {
4240
- newObj[newKey] = value;
4241
- }
4242
- return newObj;
4243
- }, {});
4244
- }
4245
- static transformData(data, keyMapping, parameterKeyMapping) {
4246
- if (Array.isArray(data)) {
4247
- return data.map((obj) => this.mapObjectKeys(obj, keyMapping, parameterKeyMapping));
4248
- }
4249
- else if (typeof data === "object" && data !== null) {
4250
- return this.mapObjectKeys(data, keyMapping, parameterKeyMapping);
4251
- }
4252
- return data;
4253
- }
4254
- static standarDataMapping(array) {
4255
- return OPreferenceMappingUtils.transformData(array, OPreferenceMappingUtils.STANDARDREPORTMAPPING, OPreferenceMappingUtils.STANDARDPARAMETERMAPPING);
4256
- }
4257
- static standarMappingKeys(array) {
4258
- return OPreferenceMappingUtils.transformKeys(array, OPreferenceMappingUtils.STANDARDREPORTMAPPING);
4259
- }
4260
- static ontimizeMappingKeys(array) {
4261
- return OPreferenceMappingUtils.transformKeys(array, OPreferenceMappingUtils.ONTIMIZEREPORTMAPPING);
4262
- }
4263
- static ontimizeDataMapping(array) {
4264
- return OPreferenceMappingUtils.transformData(array, OPreferenceMappingUtils.ONTIMIZEREPORTMAPPING, OPreferenceMappingUtils.ONTIMIZEPARAMETERMAPPING);
4265
- }
4266
- }
4267
- OPreferenceMappingUtils.STANDARDREPORTMAPPING = {
4268
- "ID": "PREFERENCEID",
4269
- "NAME": "PREFERENCENAME",
4270
- "DESCRIPTION": "PREFERENCEDESCRIPTION",
4271
- "ENTITY": "PREFERENCEENTITY",
4272
- "SERVICE": "PREFERENCESERVICE",
4273
- "TYPE": "PREFERENCETYPE",
4274
- "PREFERENCES": "PREFERENCEPREFERENCES"
4275
- };
4276
- OPreferenceMappingUtils.STANDARDINSERTREPORTMAPPING = {
4277
- "id": "preferenceid",
4278
- "name": "preferencename",
4279
- "description": "preferencedescription",
4280
- "entity": "preferenceentity",
4281
- "service": "preferenceservice",
4282
- "type": "preferencetype",
4283
- "params": "preferenceparameters"
4284
- };
4285
- OPreferenceMappingUtils.STANDARDPARAMETERMAPPING = {
4286
- "name": "reportParameterName",
4287
- "description": "reportParameterDescription"
4288
- };
4289
- OPreferenceMappingUtils.ONTIMIZEPARAMETERMAPPING = {
4290
- "reportParameterName": "name",
4291
- "reportParameterDescription": "description"
4292
- };
4293
- OPreferenceMappingUtils.ONTIMIZEREPORTMAPPING = {
4294
- "preferenceid": "id",
4295
- "preferencename": "name",
4296
- "preferencedescription": "description",
4297
- "preferenceentity": "entity",
4298
- "preferenceservice": "service",
4299
- "preferencetype": "type",
4300
- "preferenceparameters": "params"
4301
- };
4302
-
4303
4319
  class OPreferenceResponseAdapter extends OntimizeServiceResponseAdapter {
4304
4320
  adapt(res) {
4305
4321
  var _a;
@@ -4318,24 +4334,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
4318
4334
  type: Injectable
4319
4335
  }] });
4320
4336
 
4321
- class OPreferenceQueryArgumentsAdapter extends OntimizeQueryArgumentsAdapter {
4322
- parseQueryParameters(args) {
4323
- args.columns = OPreferenceMappingUtils.ontimizeMappingKeys(args.columns);
4324
- args.sqlTypes = OPreferenceMappingUtils.ontimizeDataMapping(args.sqlTypes);
4325
- return super.parseQueryParameters(args);
4326
- }
4327
- }
4328
- OPreferenceQueryArgumentsAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OPreferenceQueryArgumentsAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4329
- OPreferenceQueryArgumentsAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OPreferenceQueryArgumentsAdapter });
4330
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OPreferenceQueryArgumentsAdapter, decorators: [{
4331
- type: Injectable
4332
- }] });
4333
-
4334
4337
  class OntimizePreferencesService extends OntimizeEEService {
4335
4338
  constructor(injector) {
4336
4339
  super(injector);
4337
4340
  this.path = '';
4338
- this.queryArgumentAdapter = this.injector.get(OPreferenceQueryArgumentsAdapter);
4339
4341
  }
4340
4342
  configureService(config) {
4341
4343
  super.configureService(config);
@@ -4345,7 +4347,7 @@ class OntimizePreferencesService extends OntimizeEEService {
4345
4347
  this.adapter = this.injector.get(OPreferenceResponseAdapter);
4346
4348
  }
4347
4349
  saveAsPreferences(preferencesparams) {
4348
- const body = JSON.stringify(OPreferenceMappingUtils.ontimizeDataMapping(preferencesparams));
4350
+ const body = JSON.stringify(OPreferenceMappingUtils.ontimizePreferencesDataMapping(preferencesparams));
4349
4351
  const url = `${this.urlBase}${this.path}/save`;
4350
4352
  return this.doRequest({
4351
4353
  method: 'POST',
@@ -4354,7 +4356,7 @@ class OntimizePreferencesService extends OntimizeEEService {
4354
4356
  });
4355
4357
  }
4356
4358
  savePreferences(id, preferencesparams) {
4357
- const body = JSON.stringify(OPreferenceMappingUtils.ontimizeDataMapping(preferencesparams));
4359
+ const body = JSON.stringify(OPreferenceMappingUtils.ontimizePreferencesDataMapping(preferencesparams));
4358
4360
  const url = `${this.urlBase}${this.path}/update/${id}`;
4359
4361
  return this.doRequest({
4360
4362
  method: 'PUT',
@@ -4424,12 +4426,11 @@ class JSONAPIQueryArgumentsAdapter extends BaseQueryArgument {
4424
4426
  }
4425
4427
  deComposeExpresion(expresion, columns, kv) {
4426
4428
  if (FilterExpressionUtils.instanceofExpression(expresion)) {
4427
- if (!(typeof expresion.lop === 'string')) {
4429
+ if (typeof expresion.lop !== 'string') {
4428
4430
  kv = this.deComposeExpresion(expresion.lop, columns, kv);
4429
4431
  return this.deComposeExpresion(expresion.rop, columns, kv);
4430
4432
  }
4431
4433
  else {
4432
- const key = expresion.lop;
4433
4434
  return kv;
4434
4435
  }
4435
4436
  }
@@ -4608,10 +4609,10 @@ function exportDataFactory(injector) {
4608
4609
  function serviceRequestAdapterFactory(injector) {
4609
4610
  const config = injector.get(AppConfig).getConfiguration();
4610
4611
  if (!Util.isDefined(config.serviceType) ||
4611
- (ServiceType.OntimizeEE === config.serviceType || ServiceType.Ontimize === config.serviceType)) {
4612
+ Util.isOntimizeEEService(injector)) {
4612
4613
  return new OntimizeQueryArgumentsAdapter();
4613
4614
  }
4614
- else if (ServiceType.JSONAPI === config.serviceType) {
4615
+ else if (Util.isJsonApiService(injector)) {
4615
4616
  return new JSONAPIQueryArgumentsAdapter();
4616
4617
  }
4617
4618
  return new OntimizeQueryArgumentsAdapter();
@@ -4624,10 +4625,10 @@ function serviceResponseAdapterFactory(injector) {
4624
4625
  }
4625
4626
  const config = injector.get(AppConfig).getConfiguration();
4626
4627
  if (!Util.isDefined(config.serviceType) ||
4627
- (ServiceType.OntimizeEE === config.serviceType || ServiceType.Ontimize === config.serviceType)) {
4628
+ (Util.isOntimizeEEService(injector))) {
4628
4629
  return new OntimizeServiceResponseAdapter();
4629
4630
  }
4630
- else if (ServiceType.JSONAPI === config.serviceType) {
4631
+ else if (Util.isJsonApiService(injector)) {
4631
4632
  return new JSONAPIServiceResponseAdapter();
4632
4633
  }
4633
4634
  return new JSONAPIServiceResponseAdapter();
@@ -4649,7 +4650,7 @@ function permissionsServiceFactory(injector) {
4649
4650
  }
4650
4651
  function preferencesServiceFactory(injector) {
4651
4652
  const config = injector.get(AppConfig).getConfiguration();
4652
- if (!Util.isDefined(config.serviceType) || (ServiceType.OntimizeEE === config.serviceType || ServiceType.Ontimize === config.serviceType)) {
4653
+ if (!Util.isDefined(config.serviceType) || Util.isOntimizeEEService(injector)) {
4653
4654
  return new OntimizePreferencesService(injector);
4654
4655
  }
4655
4656
  else if (ServiceType.JSONAPI === config.serviceType) {
@@ -5033,6 +5034,18 @@ class Util {
5033
5034
  static isPromise(obj) {
5034
5035
  return !!obj && typeof obj.then === 'function';
5035
5036
  }
5037
+ static isJsonApiService(injector) {
5038
+ const config = injector.get(AppConfig);
5039
+ return config.getConfiguration().serviceType === 'JSONAPI' ||
5040
+ config.getConfiguration().serviceType instanceof JSONAPIService;
5041
+ }
5042
+ static isOntimizeEEService(injector) {
5043
+ const config = injector.get(AppConfig);
5044
+ return (config.getConfiguration().serviceType === 'OntimizeEE' ||
5045
+ config.getConfiguration().serviceType instanceof OntimizeEEService) ||
5046
+ (config.getConfiguration().serviceType === 'Ontimize' ||
5047
+ config.getConfiguration().serviceType instanceof OntimizeService);
5048
+ }
5036
5049
  static configureService(configureServiceArgs) {
5037
5050
  var _a;
5038
5051
  const baseService = configureServiceArgs.baseService;
@@ -11396,9 +11409,10 @@ class OFormServiceComponent extends OFormDataComponent {
11396
11409
  }
11397
11410
  }
11398
11411
  getQueryArguments(filter, ovrrArgs = {}) {
11412
+ var _a, _b, _c;
11399
11413
  const compFilter = filter;
11400
11414
  const queryCols = this.getAttributesValuesToQuery();
11401
- const sqlTypes = (ovrrArgs === null || ovrrArgs === void 0 ? void 0 : ovrrArgs.hasOwnProperty('sqltypes')) ? ovrrArgs.sqltypes : this.form ? this.form.getAttributesSQLTypes() : {};
11415
+ const sqlTypes = (_c = (_a = ovrrArgs === null || ovrrArgs === void 0 ? void 0 : ovrrArgs.sqltypes) !== null && _a !== void 0 ? _a : (_b = this.form) === null || _b === void 0 ? void 0 : _b.getAttributesSQLTypes()) !== null && _c !== void 0 ? _c : {};
11402
11416
  return { filter: compFilter, columns: queryCols, entity: this.entity, sqlTypes: sqlTypes };
11403
11417
  }
11404
11418
  getDataArray() {
@@ -27664,7 +27678,9 @@ const DEFAULT_INPUTS_O_LIST = [
27664
27678
  ];
27665
27679
  const DEFAULT_OUTPUTS_O_LIST = [
27666
27680
  'onInsertButtonClick',
27667
- 'onItemDeleted'
27681
+ 'onItemDeleted',
27682
+ 'onItemSelected',
27683
+ 'onItemDeselected'
27668
27684
  ];
27669
27685
  class OListComponent extends AbstractOServiceComponent {
27670
27686
  constructor(injector, elRef, form) {
@@ -27684,6 +27700,8 @@ class OListComponent extends AbstractOServiceComponent {
27684
27700
  this.subscription = new Subscription();
27685
27701
  this._quickFilterAppearance = 'outline';
27686
27702
  this.keysSqlTypesArray = [];
27703
+ this.onItemSelected = new EventEmitter();
27704
+ this.onItemDeselected = new EventEmitter();
27687
27705
  this.oMatSort = new OMatSort();
27688
27706
  }
27689
27707
  get state() {
@@ -27730,6 +27748,15 @@ class OListComponent extends AbstractOServiceComponent {
27730
27748
  this.state.totalQueryRecordsNumber = 0;
27731
27749
  }
27732
27750
  this.permissions = this.permissionsService.getListPermissions(this.oattr, this.actRoute);
27751
+ const selectionSubscription = this.selection.changed.subscribe(({ added, removed }) => {
27752
+ if (added === null || added === void 0 ? void 0 : added.length) {
27753
+ ObservableWrapper.callEmit(this.onItemSelected, added);
27754
+ }
27755
+ if (removed === null || removed === void 0 ? void 0 : removed.length) {
27756
+ ObservableWrapper.callEmit(this.onItemDeselected, removed);
27757
+ }
27758
+ });
27759
+ this.subscription.add(selectionSubscription);
27733
27760
  }
27734
27761
  reinitialize(options) {
27735
27762
  super.reinitialize(options);
@@ -27887,7 +27914,7 @@ class OListComponent extends AbstractOServiceComponent {
27887
27914
  }
27888
27915
  }
27889
27916
  OListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OListComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: forwardRef(() => OFormComponent), optional: true }], target: i0.ɵɵFactoryTarget.Component });
27890
- OListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OListComponent, selector: "o-list", inputs: { quickFilterColumns: ["quick-filter-columns", "quickFilterColumns"], refreshButton: ["refresh-button", "refreshButton"], route: "route", selectable: "selectable", deleteButton: ["delete-button", "deleteButton"], sortColumns: ["sort-columns", "sortColumns"], insertButtonPosition: ["insert-button-position", "insertButtonPosition"], insertButtonFloatable: ["insert-button-floatable", "insertButtonFloatable"], showButtonsText: ["show-buttons-text", "showButtonsText"], keysSqlTypes: ["keys-sql-types", "keysSqlTypes"] }, outputs: { onInsertButtonClick: "onInsertButtonClick", onItemDeleted: "onItemDeleted" }, host: { properties: { "class.o-list": "true" } }, providers: [
27917
+ OListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OListComponent, selector: "o-list", inputs: { quickFilterColumns: ["quick-filter-columns", "quickFilterColumns"], refreshButton: ["refresh-button", "refreshButton"], route: "route", selectable: "selectable", deleteButton: ["delete-button", "deleteButton"], sortColumns: ["sort-columns", "sortColumns"], insertButtonPosition: ["insert-button-position", "insertButtonPosition"], insertButtonFloatable: ["insert-button-floatable", "insertButtonFloatable"], showButtonsText: ["show-buttons-text", "showButtonsText"], keysSqlTypes: ["keys-sql-types", "keysSqlTypes"] }, outputs: { onInsertButtonClick: "onInsertButtonClick", onItemDeleted: "onItemDeleted", onItemSelected: "onItemSelected", onItemDeselected: "onItemDeselected" }, host: { properties: { "class.o-list": "true" } }, providers: [
27891
27918
  OntimizeServiceProvider,
27892
27919
  ComponentStateServiceProvider,
27893
27920
  { provide: O_COMPONENT_STATE_SERVICE, useClass: OListComponentStateService },
@@ -27988,10 +28015,14 @@ class OListItemComponent {
27988
28015
  }
27989
28016
  }
27990
28017
  OListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OListItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: forwardRef(() => OListComponent), optional: true }], target: i0.ɵɵFactoryTarget.Component });
27991
- OListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OListItemComponent, selector: "o-list-item", host: { properties: { "class.o-list-item": "true" } }, queries: [{ propertyName: "_lines", predicate: MatListItemLine, descendants: true }, { propertyName: "_titles", predicate: MatListItemTitle, descendants: true }], viewQueries: [{ propertyName: "_innerListItem", first: true, predicate: ["innerListItem"], descendants: true, static: true }], ngImport: i0, template: "<mat-list-item #innerListItem>\n <div class=\"o-list-row-action o-list-item-selection-check\" *ngIf=\"_list && _list.selectable\">\n <mat-checkbox [checked]=\"isSelected\" (change)=\"onCheckboxChange()\" (click)=\"onCheckboxClicked($event)\"></mat-checkbox>\n </div>\n <ng-content select=\"[o-list-item-avatar], [matListAvatar], [matListIcon]\"> </ng-content>\n <div class=\"mat-mdc-list-item\">\n <ng-content select=\"[matLine]\"></ng-content>\n </div>\n <!--matListItemMeta to put content into the meta section of a list item-->\n <div matListItemMeta>\n <ng-content select=\"o-list-item-card-image,o-list-item-card\"></ng-content>\n </div>\n <ng-content select=\"o-list-item-text,o-list-item-avatar, [o-list-item]\"></ng-content>\n\n <div fxLayout=\"row\" class=\"row-buttons-container\">\n <div class=\"o-list-row-action o-list-item-icon\" *ngIf=\"_list && _list.editButtonInRow\" (click)=\"onEditIconClicked($event)\">\n <mat-icon class=\"material-icons\">{{ _list.editButtonInRowIcon }}</mat-icon>\n </div>\n <div class=\"o-list-row-action o-list-item-icon\" *ngIf=\"_list && _list.detailButtonInRow\" (click)=\"onDetailIconClicked($event)\">\n <mat-icon class=\"material-icons\">{{ _list.detailButtonInRowIcon }}</mat-icon>\n </div>\n </div>\n</mat-list-item>\n", styles: [".o-list-item{display:flex}.o-list-item .o-card-item{padding:8px 4px}.o-list-item .mat-mdc-list-item{width:100%}.o-list-item .mat-mdc-list-item.mdc-list-item--with-trailing-meta{height:auto}.o-list-item .mat-mdc-list-item .row-buttons-container .o-list-row-action{height:24px;text-align:center;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "component", type: i5$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i5$1.MatListItemMeta, selector: "[matListItemMeta]" }], encapsulation: i0.ViewEncapsulation.None });
28018
+ OListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OListItemComponent, selector: "o-list-item", host: { properties: { "class.o-list-item": "true" } }, providers: [
28019
+ { provide: ListItem, useExisting: forwardRef(() => OListItemComponent) }
28020
+ ], queries: [{ propertyName: "_lines", predicate: MatListItemLine, descendants: true }, { propertyName: "_titles", predicate: MatListItemTitle, descendants: true }], viewQueries: [{ propertyName: "_innerListItem", first: true, predicate: ["innerListItem"], descendants: true, static: true }], ngImport: i0, template: "<mat-list-item #innerListItem>\n <div class=\"o-list-row-action o-list-item-selection-check\" *ngIf=\"_list && _list.selectable\">\n <mat-checkbox [checked]=\"isSelected\" (change)=\"onCheckboxChange()\" (click)=\"onCheckboxClicked($event)\"></mat-checkbox>\n </div>\n <ng-content select=\"[o-list-item-avatar], [matListAvatar], [matListIcon]\"> </ng-content>\n <div class=\"mat-mdc-list-item\">\n <ng-content select=\"[matLine]\"></ng-content>\n </div>\n <!--matListItemMeta to put content into the meta section of a list item-->\n <div matListItemMeta>\n <ng-content select=\"o-list-item-card-image,o-list-item-card\"></ng-content>\n </div>\n <ng-content select=\"o-list-item-text,o-list-item-avatar, [o-list-item]\"></ng-content>\n\n <div fxLayout=\"row\" class=\"row-buttons-container\">\n <div class=\"o-list-row-action o-list-item-icon\" *ngIf=\"_list && _list.editButtonInRow\" (click)=\"onEditIconClicked($event)\">\n <mat-icon class=\"material-icons\">{{ _list.editButtonInRowIcon }}</mat-icon>\n </div>\n <div class=\"o-list-row-action o-list-item-icon\" *ngIf=\"_list && _list.detailButtonInRow\" (click)=\"onDetailIconClicked($event)\">\n <mat-icon class=\"material-icons\">{{ _list.detailButtonInRowIcon }}</mat-icon>\n </div>\n </div>\n</mat-list-item>\n", styles: [".o-list-item{display:flex}.o-list-item .o-card-item{padding:8px 4px}.o-list-item .mat-mdc-list-item{width:100%}.o-list-item .mat-mdc-list-item.mdc-list-item--with-trailing-meta{height:auto}.o-list-item .mat-mdc-list-item .row-buttons-container .o-list-row-action{height:24px;text-align:center;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "component", type: i5$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i5$1.MatListItemMeta, selector: "[matListItemMeta]" }], encapsulation: i0.ViewEncapsulation.None });
27992
28021
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OListItemComponent, decorators: [{
27993
28022
  type: Component,
27994
- args: [{ selector: 'o-list-item', encapsulation: ViewEncapsulation.None, host: {
28023
+ args: [{ selector: 'o-list-item', encapsulation: ViewEncapsulation.None, providers: [
28024
+ { provide: ListItem, useExisting: forwardRef(() => OListItemComponent) }
28025
+ ], host: {
27995
28026
  '[class.o-list-item]': 'true'
27996
28027
  }, template: "<mat-list-item #innerListItem>\n <div class=\"o-list-row-action o-list-item-selection-check\" *ngIf=\"_list && _list.selectable\">\n <mat-checkbox [checked]=\"isSelected\" (change)=\"onCheckboxChange()\" (click)=\"onCheckboxClicked($event)\"></mat-checkbox>\n </div>\n <ng-content select=\"[o-list-item-avatar], [matListAvatar], [matListIcon]\"> </ng-content>\n <div class=\"mat-mdc-list-item\">\n <ng-content select=\"[matLine]\"></ng-content>\n </div>\n <!--matListItemMeta to put content into the meta section of a list item-->\n <div matListItemMeta>\n <ng-content select=\"o-list-item-card-image,o-list-item-card\"></ng-content>\n </div>\n <ng-content select=\"o-list-item-text,o-list-item-avatar, [o-list-item]\"></ng-content>\n\n <div fxLayout=\"row\" class=\"row-buttons-container\">\n <div class=\"o-list-row-action o-list-item-icon\" *ngIf=\"_list && _list.editButtonInRow\" (click)=\"onEditIconClicked($event)\">\n <mat-icon class=\"material-icons\">{{ _list.editButtonInRowIcon }}</mat-icon>\n </div>\n <div class=\"o-list-row-action o-list-item-icon\" *ngIf=\"_list && _list.detailButtonInRow\" (click)=\"onDetailIconClicked($event)\">\n <mat-icon class=\"material-icons\">{{ _list.detailButtonInRowIcon }}</mat-icon>\n </div>\n </div>\n</mat-list-item>\n", styles: [".o-list-item{display:flex}.o-list-item .o-card-item{padding:8px 4px}.o-list-item .mat-mdc-list-item{width:100%}.o-list-item .mat-mdc-list-item.mdc-list-item--with-trailing-meta{height:auto}.o-list-item .mat-mdc-list-item .row-buttons-container .o-list-row-action{height:24px;text-align:center;cursor:pointer}\n"] }]
27997
28028
  }], ctorParameters: function () {
@@ -32951,7 +32982,7 @@ class OTableDao {
32951
32982
  }
32952
32983
  setDataArray(data) {
32953
32984
  this.dataChange.next(data);
32954
- this.isLoadingResults = false;
32985
+ this.notLoadingResults = false;
32955
32986
  return of(data);
32956
32987
  }
32957
32988
  setAsynchronousColumn(value, rowData) {
@@ -32970,16 +33001,14 @@ class OTableDao {
32970
33001
  return this._isLoadingResults;
32971
33002
  }
32972
33003
  set isLoadingResults(val) {
32973
- if (val) {
32974
- this.cleanTimer();
32975
- this.loadingTimer = setTimeout(() => {
32976
- this._isLoadingResults = val;
32977
- }, 500);
32978
- }
32979
- else {
32980
- this.cleanTimer();
33004
+ this.cleanTimer();
33005
+ this.loadingTimer = setTimeout(() => {
32981
33006
  this._isLoadingResults = val;
32982
- }
33007
+ }, 500);
33008
+ }
33009
+ set notLoadingResults(val) {
33010
+ this.cleanTimer();
33011
+ this._isLoadingResults = val;
32983
33012
  }
32984
33013
  cleanTimer() {
32985
33014
  if (this.loadingTimer) {
@@ -39430,7 +39459,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
39430
39459
  const DEFAULT_INPUTS_O_USER_INFO = [
39431
39460
  'showProfile: show-profile',
39432
39461
  'showSettings: show-settings',
39433
- 'showLogout: show-logout'
39462
+ 'showLogout: show-logout',
39463
+ 'id'
39434
39464
  ];
39435
39465
  const DEFAULT_OUTPUTS_O_USER_INFO = [];
39436
39466
  class OUserInfoComponent {
@@ -39481,7 +39511,7 @@ class OUserInfoComponent {
39481
39511
  }
39482
39512
  }
39483
39513
  OUserInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OUserInfoComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Component });
39484
- OUserInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OUserInfoComponent, selector: "o-user-info", inputs: { showProfile: ["show-profile", "showProfile"], showSettings: ["show-settings", "showSettings"], showLogout: ["show-logout", "showLogout"] }, host: { properties: { "class.o-user-info": "true" } }, ngImport: i0, template: "<div class=\"o-user-info-container\" fxLayout=\"row\" fxLayoutAlign=\"center\">\n <ng-container *ngIf=\"existsUserInfo\">\n <div class=\"o-user-info-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"center center\" [matMenuTriggerFor]=\"menu\"\n fxLayoutGap=\"16px\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"o-user-info-avatar-wrapper\">\n <img [src]=\"avatar\" *ngIf=\"avatar\" alt=\"avatar image\"/>\n </div>\n <span class=\"o-user-info-username\" *ngIf=\"username\"> {{ username }}</span>\n <mat-icon svgIcon=\"ontimize:keyboard_arrow_down\"></mat-icon>\n </div>\n <mat-menu #menu=\"matMenu\" yPosition=\"below\" class=\"o-mat-menu\">\n <button type=\"button\" mat-menu-item (click)=\"onProfileClick()\" *ngIf=\"showProfile\">\n <mat-icon>person</mat-icon>\n <span>{{ 'APP_LAYOUT.USER_PROFILE' | oTranslate }}</span>\n </button>\n <button type=\"button\" mat-menu-item (click)=\"onSettingsClick()\" *ngIf=\"showSettings\">\n <mat-icon svgIcon=\"ontimize:settings\"></mat-icon>\n <span>{{ 'APP_LAYOUT.SETTINGS' | oTranslate }}</span>\n </button>\n <ng-container *ngIf=\"userInfoConfiguration\">\n <button *ngFor=\"let item of userInfoConfiguration.userInfoConfigurationItems\" type=\"button\" mat-menu-item\n [matTooltip]=\"item.name | oTranslate\" matTooltipDisabled=\"item.tooltip\" [ngClass]=\"item.class\"\n (click)=\"item.triggerOnClick($event)\">\n <mat-icon>{{item.icon}} </mat-icon>\n <span>{{ item.name | oTranslate }}</span>\n </button>\n </ng-container>\n <button type=\"button\" mat-menu-item (click)=\"onLogoutClick()\" *ngIf=\"showLogout\">\n <mat-icon svgIcon=\"ontimize:power_settings_new\"></mat-icon>\n <span>{{ 'LOGOUT' | oTranslate }}</span>\n </button>\n\n </mat-menu>\n </ng-container>\n</div>", styles: [".o-user-info .o-user-info-container{cursor:pointer;height:100%}.o-user-info .o-user-info-avatar-wrapper{width:30px;height:30px;overflow:hidden;border-radius:100%}.o-user-info .o-user-info-avatar-wrapper img{max-width:100%;height:auto}.o-user-info mat-icon{font-size:16px;line-height:26px;height:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
39514
+ OUserInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OUserInfoComponent, selector: "o-user-info", inputs: { showProfile: ["show-profile", "showProfile"], showSettings: ["show-settings", "showSettings"], showLogout: ["show-logout", "showLogout"], id: "id" }, host: { properties: { "class.o-user-info": "true" } }, ngImport: i0, template: "<div class=\"o-user-info-container\" fxLayout=\"row\" fxLayoutAlign=\"center\">\n <ng-container *ngIf=\"existsUserInfo\">\n <div class=\"o-user-info-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"center center\" [matMenuTriggerFor]=\"menu\"\n fxLayoutGap=\"16px\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"o-user-info-avatar-wrapper\">\n <img [src]=\"avatar\" *ngIf=\"avatar\" alt=\"avatar image\"/>\n </div>\n <span class=\"o-user-info-username\" *ngIf=\"username\"> {{ username }}</span>\n <mat-icon id=\"arrow-icon\" svgIcon=\"ontimize:keyboard_arrow_down\"></mat-icon>\n </div>\n <mat-menu #menu=\"matMenu\" yPosition=\"below\" class=\"o-mat-menu\">\n <button type=\"button\" mat-menu-item (click)=\"onProfileClick()\" *ngIf=\"showProfile\">\n <mat-icon>person</mat-icon>\n <span>{{ 'APP_LAYOUT.USER_PROFILE' | oTranslate }}</span>\n </button>\n <button id=\"menu-settings\" type=\"button\" mat-menu-item (click)=\"onSettingsClick()\" *ngIf=\"showSettings\">\n <mat-icon svgIcon=\"ontimize:settings\"></mat-icon>\n <span>{{ 'APP_LAYOUT.SETTINGS' | oTranslate }}</span>\n </button>\n <ng-container *ngIf=\"userInfoConfiguration\">\n <button *ngFor=\"let item of userInfoConfiguration.userInfoConfigurationItems\" type=\"button\" mat-menu-item\n [matTooltip]=\"item.name | oTranslate\" matTooltipDisabled=\"item.tooltip\" [ngClass]=\"item.class\"\n (click)=\"item.triggerOnClick($event)\">\n <mat-icon>{{item.icon}} </mat-icon>\n <span>{{ item.name | oTranslate }}</span>\n </button>\n </ng-container>\n <button id=\"menu-logout\" type=\"button\" mat-menu-item (click)=\"onLogoutClick()\" *ngIf=\"showLogout\">\n <mat-icon svgIcon=\"ontimize:power_settings_new\"></mat-icon>\n <span>{{ 'LOGOUT' | oTranslate }}</span>\n </button>\n\n </mat-menu>\n </ng-container>\n</div>", styles: [".o-user-info .o-user-info-container{cursor:pointer;height:100%}.o-user-info .o-user-info-avatar-wrapper{width:30px;height:30px;overflow:hidden;border-radius:100%}.o-user-info .o-user-info-avatar-wrapper img{max-width:100%;height:auto}.o-user-info mat-icon{font-size:16px;line-height:26px;height:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
39485
39515
  __decorate([
39486
39516
  BooleanInputConverter(),
39487
39517
  __metadata("design:type", Boolean)
@@ -39498,7 +39528,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
39498
39528
  type: Component,
39499
39529
  args: [{ selector: 'o-user-info', inputs: DEFAULT_INPUTS_O_USER_INFO, outputs: DEFAULT_OUTPUTS_O_USER_INFO, encapsulation: ViewEncapsulation.None, host: {
39500
39530
  '[class.o-user-info]': 'true'
39501
- }, template: "<div class=\"o-user-info-container\" fxLayout=\"row\" fxLayoutAlign=\"center\">\n <ng-container *ngIf=\"existsUserInfo\">\n <div class=\"o-user-info-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"center center\" [matMenuTriggerFor]=\"menu\"\n fxLayoutGap=\"16px\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"o-user-info-avatar-wrapper\">\n <img [src]=\"avatar\" *ngIf=\"avatar\" alt=\"avatar image\"/>\n </div>\n <span class=\"o-user-info-username\" *ngIf=\"username\"> {{ username }}</span>\n <mat-icon svgIcon=\"ontimize:keyboard_arrow_down\"></mat-icon>\n </div>\n <mat-menu #menu=\"matMenu\" yPosition=\"below\" class=\"o-mat-menu\">\n <button type=\"button\" mat-menu-item (click)=\"onProfileClick()\" *ngIf=\"showProfile\">\n <mat-icon>person</mat-icon>\n <span>{{ 'APP_LAYOUT.USER_PROFILE' | oTranslate }}</span>\n </button>\n <button type=\"button\" mat-menu-item (click)=\"onSettingsClick()\" *ngIf=\"showSettings\">\n <mat-icon svgIcon=\"ontimize:settings\"></mat-icon>\n <span>{{ 'APP_LAYOUT.SETTINGS' | oTranslate }}</span>\n </button>\n <ng-container *ngIf=\"userInfoConfiguration\">\n <button *ngFor=\"let item of userInfoConfiguration.userInfoConfigurationItems\" type=\"button\" mat-menu-item\n [matTooltip]=\"item.name | oTranslate\" matTooltipDisabled=\"item.tooltip\" [ngClass]=\"item.class\"\n (click)=\"item.triggerOnClick($event)\">\n <mat-icon>{{item.icon}} </mat-icon>\n <span>{{ item.name | oTranslate }}</span>\n </button>\n </ng-container>\n <button type=\"button\" mat-menu-item (click)=\"onLogoutClick()\" *ngIf=\"showLogout\">\n <mat-icon svgIcon=\"ontimize:power_settings_new\"></mat-icon>\n <span>{{ 'LOGOUT' | oTranslate }}</span>\n </button>\n\n </mat-menu>\n </ng-container>\n</div>", styles: [".o-user-info .o-user-info-container{cursor:pointer;height:100%}.o-user-info .o-user-info-avatar-wrapper{width:30px;height:30px;overflow:hidden;border-radius:100%}.o-user-info .o-user-info-avatar-wrapper img{max-width:100%;height:auto}.o-user-info mat-icon{font-size:16px;line-height:26px;height:100%}\n"] }]
39531
+ }, template: "<div class=\"o-user-info-container\" fxLayout=\"row\" fxLayoutAlign=\"center\">\n <ng-container *ngIf=\"existsUserInfo\">\n <div class=\"o-user-info-wrapper\" fxLayout=\"row\" fxLayoutAlign=\"center center\" [matMenuTriggerFor]=\"menu\"\n fxLayoutGap=\"16px\">\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"o-user-info-avatar-wrapper\">\n <img [src]=\"avatar\" *ngIf=\"avatar\" alt=\"avatar image\"/>\n </div>\n <span class=\"o-user-info-username\" *ngIf=\"username\"> {{ username }}</span>\n <mat-icon id=\"arrow-icon\" svgIcon=\"ontimize:keyboard_arrow_down\"></mat-icon>\n </div>\n <mat-menu #menu=\"matMenu\" yPosition=\"below\" class=\"o-mat-menu\">\n <button type=\"button\" mat-menu-item (click)=\"onProfileClick()\" *ngIf=\"showProfile\">\n <mat-icon>person</mat-icon>\n <span>{{ 'APP_LAYOUT.USER_PROFILE' | oTranslate }}</span>\n </button>\n <button id=\"menu-settings\" type=\"button\" mat-menu-item (click)=\"onSettingsClick()\" *ngIf=\"showSettings\">\n <mat-icon svgIcon=\"ontimize:settings\"></mat-icon>\n <span>{{ 'APP_LAYOUT.SETTINGS' | oTranslate }}</span>\n </button>\n <ng-container *ngIf=\"userInfoConfiguration\">\n <button *ngFor=\"let item of userInfoConfiguration.userInfoConfigurationItems\" type=\"button\" mat-menu-item\n [matTooltip]=\"item.name | oTranslate\" matTooltipDisabled=\"item.tooltip\" [ngClass]=\"item.class\"\n (click)=\"item.triggerOnClick($event)\">\n <mat-icon>{{item.icon}} </mat-icon>\n <span>{{ item.name | oTranslate }}</span>\n </button>\n </ng-container>\n <button id=\"menu-logout\" type=\"button\" mat-menu-item (click)=\"onLogoutClick()\" *ngIf=\"showLogout\">\n <mat-icon svgIcon=\"ontimize:power_settings_new\"></mat-icon>\n <span>{{ 'LOGOUT' | oTranslate }}</span>\n </button>\n\n </mat-menu>\n </ng-container>\n</div>", styles: [".o-user-info .o-user-info-container{cursor:pointer;height:100%}.o-user-info .o-user-info-avatar-wrapper{width:30px;height:30px;overflow:hidden;border-radius:100%}.o-user-info .o-user-info-avatar-wrapper img{max-width:100%;height:auto}.o-user-info mat-icon{font-size:16px;line-height:26px;height:100%}\n"] }]
39502
39532
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Injector }, { type: i1$2.Router }]; }, propDecorators: { showLogout: [], showSettings: [], showProfile: [] } });
39503
39533
 
39504
39534
  const DEFAULT_INPUTS_O_USER_INFO_MENU_ITEM = [
@@ -39669,7 +39699,7 @@ class OAppHeaderComponent {
39669
39699
  OAppHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OAppHeaderComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
39670
39700
  OAppHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OAppHeaderComponent, selector: "o-app-header", inputs: { showUserInfo: ["show-user-info", "showUserInfo"], showLanguageSelector: ["show-language-selector", "showLanguageSelector"], useFlagIcons: ["use-flag-icons", "useFlagIcons"], color: "color", headerHeight: ["header-height", "headerHeight"], showTitle: ["show-title", "showTitle"], staticTitle: ["static-title", "staticTitle"], showStaticTitle: ["show-static-title", "showStaticTitle"] }, outputs: { onSidenavToggle: "onSidenavToggle" }, host: { properties: { "class.o-app-header": "true", "class.o-app-header-small": "headerHeight===\"small\"", "class.o-app-header-medium": "headerHeight===\"medium\"", "class.o-app-header-large": "headerHeight===\"large\"" } }, providers: [
39671
39701
  { provide: OAppHeaderBase, useExisting: forwardRef(() => OAppHeaderComponent) }
39672
- ], viewQueries: [{ propertyName: "userInfo", first: true, predicate: ["userInfo"], descendants: true }], ngImport: i0, template: "<nav fxFlex fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\" [ngClass]=\"color ? 'o-app-header-'+color : ''\">\n <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <ng-content></ng-content>\n <ng-content select=\"o-app-layout-header-projection-start\"></ng-content>\n <span *ngIf=\"showTitle && !showStaticTitle\" class=\"o-app-header-title\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n {{ headerTitle$ | async | oTranslate }}\n </span>\n <span *ngIf=\"showTitle && showStaticTitle\" class=\"o-app-header-title\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n {{ staticTitle | oTranslate }}\n </span>\n <div fxLayout=\"row\" fxLayoutAlign=\"end stretch\" class=\"o-app-header-default-actions\">\n <div class=\"layout-header-projection-end\">\n <ng-content select=\"o-app-layout-header-projection-end\"></ng-content>\n </div>\n <o-user-info #userInfo *ngIf=\"showUserInfo\"></o-user-info>\n <o-language-selector *ngIf=\"showLanguageSelector\" [use-flag-icons]=\"useFlagIcons\"></o-language-selector>\n </div>\n </div>\n</nav>\n", styles: [".o-app-header{z-index:2;box-shadow:0 2px 6px #00000029}.o-app-header.o-app-header-large{height:56px}.o-app-header.o-app-header-large+.header-layout{top:56px}.o-app-header.o-app-header-large .o-user-info{font-size:16px}.o-app-header.o-app-header-large .o-user-info .o-user-info-avatar-wrapper{height:40px;width:40px}.o-app-header.o-app-header-medium{height:48px}.o-app-header.o-app-header-medium+.header-layout{top:48px}.o-app-header.o-app-header-medium .o-user-info{font-size:16px}.o-app-header.o-app-header-medium .o-user-info .o-user-info-avatar-wrapper{height:32px;width:32px}.o-app-header.o-app-header-small{height:40px}.o-app-header.o-app-header-small+.header-layout{top:40px}.o-app-header.o-app-header-small .o-user-info{font-size:14px}.o-app-header.o-app-header-small .o-user-info .o-user-info-avatar-wrapper{height:30px;width:30px}.o-app-header nav{padding-right:16px}.o-app-header nav .sidenav-toggle{text-align:center;padding:16px;cursor:pointer}.o-app-header nav .o-app-header-title{padding:0 16px;cursor:default}.o-app-header nav .o-app-header-default-actions{margin-left:auto}.o-app-header nav .o-app-header-default-actions .layout-header-projection-end{margin-right:16px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OLanguageSelectorComponent, selector: "o-language-selector", inputs: ["use-flag-icons"], outputs: ["onChange"] }, { kind: "component", type: OUserInfoComponent, selector: "o-user-info", inputs: ["show-profile", "show-settings", "show-logout"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i4$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
39702
+ ], viewQueries: [{ propertyName: "userInfo", first: true, predicate: ["userInfo"], descendants: true }], ngImport: i0, template: "<nav fxFlex fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\" [ngClass]=\"color ? 'o-app-header-'+color : ''\">\n <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <ng-content></ng-content>\n <ng-content select=\"o-app-layout-header-projection-start\"></ng-content>\n <span *ngIf=\"showTitle && !showStaticTitle\" class=\"o-app-header-title\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n {{ headerTitle$ | async | oTranslate }}\n </span>\n <span *ngIf=\"showTitle && showStaticTitle\" class=\"o-app-header-title\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n {{ staticTitle | oTranslate }}\n </span>\n <div fxLayout=\"row\" fxLayoutAlign=\"end stretch\" class=\"o-app-header-default-actions\">\n <div class=\"layout-header-projection-end\">\n <ng-content select=\"o-app-layout-header-projection-end\"></ng-content>\n </div>\n <o-user-info #userInfo id=\"userInfo\" *ngIf=\"showUserInfo\"></o-user-info>\n <o-language-selector *ngIf=\"showLanguageSelector\" [use-flag-icons]=\"useFlagIcons\"></o-language-selector>\n </div>\n </div>\n</nav>\n", styles: [".o-app-header{z-index:2;box-shadow:0 2px 6px #00000029}.o-app-header.o-app-header-large{height:56px}.o-app-header.o-app-header-large+.header-layout{top:56px}.o-app-header.o-app-header-large .o-user-info{font-size:16px}.o-app-header.o-app-header-large .o-user-info .o-user-info-avatar-wrapper{height:40px;width:40px}.o-app-header.o-app-header-medium{height:48px}.o-app-header.o-app-header-medium+.header-layout{top:48px}.o-app-header.o-app-header-medium .o-user-info{font-size:16px}.o-app-header.o-app-header-medium .o-user-info .o-user-info-avatar-wrapper{height:32px;width:32px}.o-app-header.o-app-header-small{height:40px}.o-app-header.o-app-header-small+.header-layout{top:40px}.o-app-header.o-app-header-small .o-user-info{font-size:14px}.o-app-header.o-app-header-small .o-user-info .o-user-info-avatar-wrapper{height:30px;width:30px}.o-app-header nav{padding-right:16px}.o-app-header nav .sidenav-toggle{text-align:center;padding:16px;cursor:pointer}.o-app-header nav .o-app-header-title{padding:0 16px;cursor:default}.o-app-header nav .o-app-header-default-actions{margin-left:auto}.o-app-header nav .o-app-header-default-actions .layout-header-projection-end{margin-right:16px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OLanguageSelectorComponent, selector: "o-language-selector", inputs: ["use-flag-icons"], outputs: ["onChange"] }, { kind: "component", type: OUserInfoComponent, selector: "o-user-info", inputs: ["show-profile", "show-settings", "show-logout", "id"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i4$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
39673
39703
  __decorate([
39674
39704
  BooleanInputConverter(),
39675
39705
  __metadata("design:type", Boolean)
@@ -39691,7 +39721,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
39691
39721
  '[class.o-app-header-large]': 'headerHeight==="large"'
39692
39722
  }, providers: [
39693
39723
  { provide: OAppHeaderBase, useExisting: forwardRef(() => OAppHeaderComponent) }
39694
- ], template: "<nav fxFlex fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\" [ngClass]=\"color ? 'o-app-header-'+color : ''\">\n <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <ng-content></ng-content>\n <ng-content select=\"o-app-layout-header-projection-start\"></ng-content>\n <span *ngIf=\"showTitle && !showStaticTitle\" class=\"o-app-header-title\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n {{ headerTitle$ | async | oTranslate }}\n </span>\n <span *ngIf=\"showTitle && showStaticTitle\" class=\"o-app-header-title\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n {{ staticTitle | oTranslate }}\n </span>\n <div fxLayout=\"row\" fxLayoutAlign=\"end stretch\" class=\"o-app-header-default-actions\">\n <div class=\"layout-header-projection-end\">\n <ng-content select=\"o-app-layout-header-projection-end\"></ng-content>\n </div>\n <o-user-info #userInfo *ngIf=\"showUserInfo\"></o-user-info>\n <o-language-selector *ngIf=\"showLanguageSelector\" [use-flag-icons]=\"useFlagIcons\"></o-language-selector>\n </div>\n </div>\n</nav>\n", styles: [".o-app-header{z-index:2;box-shadow:0 2px 6px #00000029}.o-app-header.o-app-header-large{height:56px}.o-app-header.o-app-header-large+.header-layout{top:56px}.o-app-header.o-app-header-large .o-user-info{font-size:16px}.o-app-header.o-app-header-large .o-user-info .o-user-info-avatar-wrapper{height:40px;width:40px}.o-app-header.o-app-header-medium{height:48px}.o-app-header.o-app-header-medium+.header-layout{top:48px}.o-app-header.o-app-header-medium .o-user-info{font-size:16px}.o-app-header.o-app-header-medium .o-user-info .o-user-info-avatar-wrapper{height:32px;width:32px}.o-app-header.o-app-header-small{height:40px}.o-app-header.o-app-header-small+.header-layout{top:40px}.o-app-header.o-app-header-small .o-user-info{font-size:14px}.o-app-header.o-app-header-small .o-user-info .o-user-info-avatar-wrapper{height:30px;width:30px}.o-app-header nav{padding-right:16px}.o-app-header nav .sidenav-toggle{text-align:center;padding:16px;cursor:pointer}.o-app-header nav .o-app-header-title{padding:0 16px;cursor:default}.o-app-header nav .o-app-header-default-actions{margin-left:auto}.o-app-header nav .o-app-header-default-actions .layout-header-projection-end{margin-right:16px}\n"] }]
39724
+ ], template: "<nav fxFlex fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\" [ngClass]=\"color ? 'o-app-header-'+color : ''\">\n <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <ng-content></ng-content>\n <ng-content select=\"o-app-layout-header-projection-start\"></ng-content>\n <span *ngIf=\"showTitle && !showStaticTitle\" class=\"o-app-header-title\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n {{ headerTitle$ | async | oTranslate }}\n </span>\n <span *ngIf=\"showTitle && showStaticTitle\" class=\"o-app-header-title\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n {{ staticTitle | oTranslate }}\n </span>\n <div fxLayout=\"row\" fxLayoutAlign=\"end stretch\" class=\"o-app-header-default-actions\">\n <div class=\"layout-header-projection-end\">\n <ng-content select=\"o-app-layout-header-projection-end\"></ng-content>\n </div>\n <o-user-info #userInfo id=\"userInfo\" *ngIf=\"showUserInfo\"></o-user-info>\n <o-language-selector *ngIf=\"showLanguageSelector\" [use-flag-icons]=\"useFlagIcons\"></o-language-selector>\n </div>\n </div>\n</nav>\n", styles: [".o-app-header{z-index:2;box-shadow:0 2px 6px #00000029}.o-app-header.o-app-header-large{height:56px}.o-app-header.o-app-header-large+.header-layout{top:56px}.o-app-header.o-app-header-large .o-user-info{font-size:16px}.o-app-header.o-app-header-large .o-user-info .o-user-info-avatar-wrapper{height:40px;width:40px}.o-app-header.o-app-header-medium{height:48px}.o-app-header.o-app-header-medium+.header-layout{top:48px}.o-app-header.o-app-header-medium .o-user-info{font-size:16px}.o-app-header.o-app-header-medium .o-user-info .o-user-info-avatar-wrapper{height:32px;width:32px}.o-app-header.o-app-header-small{height:40px}.o-app-header.o-app-header-small+.header-layout{top:40px}.o-app-header.o-app-header-small .o-user-info{font-size:14px}.o-app-header.o-app-header-small .o-user-info .o-user-info-avatar-wrapper{height:30px;width:30px}.o-app-header nav{padding-right:16px}.o-app-header nav .sidenav-toggle{text-align:center;padding:16px;cursor:pointer}.o-app-header nav .o-app-header-title{padding:0 16px;cursor:default}.o-app-header nav .o-app-header-default-actions{margin-left:auto}.o-app-header nav .o-app-header-default-actions .layout-header-projection-end{margin-right:16px}\n"] }]
39695
39725
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { userInfo: [{
39696
39726
  type: ViewChild,
39697
39727
  args: ['userInfo']
@@ -39966,7 +39996,7 @@ class OAppSidenavMenuItemComponent {
39966
39996
  }
39967
39997
  }
39968
39998
  OAppSidenavMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OAppSidenavMenuItemComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
39969
- OAppSidenavMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OAppSidenavMenuItemComponent, selector: "o-app-sidenav-menu-item", inputs: { menuItem: ["menu-item", "menuItem"], menuItemType: ["menu-item-type", "menuItemType"], sidenavOpened: ["sidenav-opened", "sidenavOpened"], disabled: "disabled" }, outputs: { onClick: "onClick" }, host: { properties: { "class": "getClass()", "attr.disabled": "disabled" } }, ngImport: i0, template: "<ng-container *ngIf=\"sidenavOpened\">\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\" [class.o-user-info]=\"isUserInfoItem()\">\n\n <a mat-button *ngIf=\"!isUserInfoItem() && !isLocaleItem()\" (click)=\"triggerClick($event)\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n <span class=\"o-app-sidenav-menuitem-title\">{{ menuItem.name | oTranslate }}</span>\n </div>\n </a>\n\n <a mat-button *ngIf=\"isLocaleItem()\" (click)=\"triggerClick($event)\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n {{ menuItem.name | oTranslate }}\n <mat-icon *ngIf=\"isConfiguredLang()\" class=\"configured-lang\">check_circle</mat-icon>\n </div>\n </a>\n\n <div *ngIf=\"isUserInfoItem()\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"o-user-info-menu-item\">\n <div class=\"o-user-info-image\" fxFlexFill></div>\n <div class=\"o-user-info-item\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" fxFlexFill>\n <div class=\"o-user-info-name\">{{ menuItem.user }} </div>\n <o-language-selector [use-flag-icons]=\"useFlagIcons\"></o-language-selector>\n </div>\n </div>\n </li>\n</ng-container>\n\n<ng-container *ngIf=\"!sidenavOpened\">\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\">\n <a [matTooltip]=\"tooltip\" matTooltipClass=\"menuitem-tooltip\" matTooltipPosition=\"right\" mat-button (click)=\"triggerClick($event)\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n </a>\n </li>\n</ng-container>\n", styles: [".o-app-sidenav-menu-item .o-user-info-menu-item{cursor:default}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-image{background-repeat:no-repeat;background-position:center;background-size:cover;width:100%;height:200px!important}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-item{padding:0 8px 0 16px}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-name{text-transform:uppercase;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "component", type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: OLanguageSelectorComponent, selector: "o-language-selector", inputs: ["use-flag-icons"], outputs: ["onChange"] }, { kind: "pipe", type: OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
39999
+ OAppSidenavMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OAppSidenavMenuItemComponent, selector: "o-app-sidenav-menu-item", inputs: { menuItem: ["menu-item", "menuItem"], menuItemType: ["menu-item-type", "menuItemType"], sidenavOpened: ["sidenav-opened", "sidenavOpened"], disabled: "disabled" }, outputs: { onClick: "onClick" }, host: { properties: { "class": "getClass()", "attr.disabled": "disabled" } }, ngImport: i0, template: "<ng-container *ngIf=\"sidenavOpened\">\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\" [class.o-user-info]=\"isUserInfoItem()\" [id]=\"menuItem.id\">\n\n <a mat-button *ngIf=\"!isUserInfoItem() && !isLocaleItem()\" (click)=\"triggerClick($event)\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n <span class=\"o-app-sidenav-menuitem-title\">{{ menuItem.name | oTranslate }}</span>\n </div>\n </a>\n\n <a mat-button *ngIf=\"isLocaleItem()\" (click)=\"triggerClick($event)\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n {{ menuItem.name | oTranslate }}\n <mat-icon *ngIf=\"isConfiguredLang()\" class=\"configured-lang\">check_circle</mat-icon>\n </div>\n </a>\n\n <div *ngIf=\"isUserInfoItem()\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"o-user-info-menu-item\">\n <div class=\"o-user-info-image\" fxFlexFill></div>\n <div class=\"o-user-info-item\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" fxFlexFill>\n <div class=\"o-user-info-name\">{{ menuItem.user }} </div>\n <o-language-selector [use-flag-icons]=\"useFlagIcons\"></o-language-selector>\n </div>\n </div>\n </li>\n</ng-container>\n\n<ng-container *ngIf=\"!sidenavOpened\">\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\">\n <a [matTooltip]=\"tooltip\" matTooltipClass=\"menuitem-tooltip\" matTooltipPosition=\"right\" mat-button (click)=\"triggerClick($event)\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n </a>\n </li>\n</ng-container>\n", styles: [".o-app-sidenav-menu-item .o-user-info-menu-item{cursor:default}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-image{background-repeat:no-repeat;background-position:center;background-size:cover;width:100%;height:200px!important}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-item{padding:0 8px 0 16px}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-name{text-transform:uppercase;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "component", type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: OLanguageSelectorComponent, selector: "o-language-selector", inputs: ["use-flag-icons"], outputs: ["onChange"] }, { kind: "pipe", type: OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
39970
40000
  __decorate([
39971
40001
  BooleanInputConverter(),
39972
40002
  __metadata("design:type", Boolean)
@@ -39980,7 +40010,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
39980
40010
  args: [{ selector: 'o-app-sidenav-menu-item', inputs: DEFAULT_INPUTS_O_APP_SIDENAV_MENU_ITEM, outputs: DEFAULT_OUTPUTS_O_APP_SIDENAV_MENU_ITEM, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
39981
40011
  '[class]': 'getClass()',
39982
40012
  '[attr.disabled]': 'disabled'
39983
- }, template: "<ng-container *ngIf=\"sidenavOpened\">\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\" [class.o-user-info]=\"isUserInfoItem()\">\n\n <a mat-button *ngIf=\"!isUserInfoItem() && !isLocaleItem()\" (click)=\"triggerClick($event)\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n <span class=\"o-app-sidenav-menuitem-title\">{{ menuItem.name | oTranslate }}</span>\n </div>\n </a>\n\n <a mat-button *ngIf=\"isLocaleItem()\" (click)=\"triggerClick($event)\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n {{ menuItem.name | oTranslate }}\n <mat-icon *ngIf=\"isConfiguredLang()\" class=\"configured-lang\">check_circle</mat-icon>\n </div>\n </a>\n\n <div *ngIf=\"isUserInfoItem()\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"o-user-info-menu-item\">\n <div class=\"o-user-info-image\" fxFlexFill></div>\n <div class=\"o-user-info-item\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" fxFlexFill>\n <div class=\"o-user-info-name\">{{ menuItem.user }} </div>\n <o-language-selector [use-flag-icons]=\"useFlagIcons\"></o-language-selector>\n </div>\n </div>\n </li>\n</ng-container>\n\n<ng-container *ngIf=\"!sidenavOpened\">\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\">\n <a [matTooltip]=\"tooltip\" matTooltipClass=\"menuitem-tooltip\" matTooltipPosition=\"right\" mat-button (click)=\"triggerClick($event)\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n </a>\n </li>\n</ng-container>\n", styles: [".o-app-sidenav-menu-item .o-user-info-menu-item{cursor:default}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-image{background-repeat:no-repeat;background-position:center;background-size:cover;width:100%;height:200px!important}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-item{padding:0 8px 0 16px}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-name{text-transform:uppercase;font-weight:600}\n"] }]
40013
+ }, template: "<ng-container *ngIf=\"sidenavOpened\">\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\" [class.o-user-info]=\"isUserInfoItem()\" [id]=\"menuItem.id\">\n\n <a mat-button *ngIf=\"!isUserInfoItem() && !isLocaleItem()\" (click)=\"triggerClick($event)\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n <span class=\"o-app-sidenav-menuitem-title\">{{ menuItem.name | oTranslate }}</span>\n </div>\n </a>\n\n <a mat-button *ngIf=\"isLocaleItem()\" (click)=\"triggerClick($event)\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n {{ menuItem.name | oTranslate }}\n <mat-icon *ngIf=\"isConfiguredLang()\" class=\"configured-lang\">check_circle</mat-icon>\n </div>\n </a>\n\n <div *ngIf=\"isUserInfoItem()\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"o-user-info-menu-item\">\n <div class=\"o-user-info-image\" fxFlexFill></div>\n <div class=\"o-user-info-item\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" fxFlexFill>\n <div class=\"o-user-info-name\">{{ menuItem.user }} </div>\n <o-language-selector [use-flag-icons]=\"useFlagIcons\"></o-language-selector>\n </div>\n </div>\n </li>\n</ng-container>\n\n<ng-container *ngIf=\"!sidenavOpened\">\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\">\n <a [matTooltip]=\"tooltip\" matTooltipClass=\"menuitem-tooltip\" matTooltipPosition=\"right\" mat-button (click)=\"triggerClick($event)\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n </a>\n </li>\n</ng-container>\n", styles: [".o-app-sidenav-menu-item .o-user-info-menu-item{cursor:default}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-image{background-repeat:no-repeat;background-position:center;background-size:cover;width:100%;height:200px!important}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-item{padding:0 8px 0 16px}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-name{text-transform:uppercase;font-weight:600}\n"] }]
39984
40014
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { sidenavOpened: [], disabled: [] } });
39985
40015
 
39986
40016
  const DEFAULT_INPUTS_O_APP_SIDENAV_MENU_GROUP = [
@@ -41040,7 +41070,6 @@ const ONTIMIZE_PROVIDERS = [
41040
41070
  OntimizeExportServiceProvider,
41041
41071
  NameConventionProvider,
41042
41072
  OntimizeLocalStorageServiceProvider,
41043
- OPreferenceQueryArgumentsAdapter,
41044
41073
  OPreferenceResponseAdapter,
41045
41074
  { provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: { disabled: true } },
41046
41075
  { provide: O_MAT_ERROR_OPTIONS, useValue: {} },
@@ -41611,5 +41640,5 @@ function ontimizePostBootstrap(ngModuleRef) {
41611
41640
  class OUserInfoBase {
41612
41641
  }
41613
41642
 
41614
- export { APP_CONFIG, AbstractComponentStateClass, AbstractComponentStateService, AbstractOServiceBaseComponent, AbstractOServiceComponent, AbstractServiceComponentStateClass, AppConfig, AppConfigFactory, AppMenuService, AppearanceService, AuthGuardService, AuthService, Base64, BaseQueryArgument, BaseService, BaseServiceResponse, BooleanConverter, BooleanInputConverter, CKEditorComponent, CKEditorModule, CanActivateFormLayoutChildGuard, CanDeactivateFormGuard, Codes, ColumnValueFilterOperator, ColumnsFilterPipe, ComponentStateServiceProvider, CurrencyService, CurrencyUtil, DEFAULT_CONTEXT_MENU_CONTENT_INPUTS, DEFAULT_CONTEXT_MENU_CONTENT_ITEM_INPUTS, DEFAULT_CONTEXT_MENU_CONTENT_OUTPUTS, DEFAULT_CONTEXT_MENU_DIRECTIVE_INPUTS, DEFAULT_CONTEXT_MENU_ITEM_INPUTS, DEFAULT_CONTEXT_MENU_ITEM_OUTPUTS, DEFAULT_DUAL_LIST_SELECTOR, DEFAULT_DUAL_LIST_SELECTOR_DATE_ITEM, DEFAULT_INPUTS_O_APP_HEADER, DEFAULT_INPUTS_O_APP_LAYOUT, DEFAULT_INPUTS_O_APP_LAYOUT_HEADER, DEFAULT_INPUTS_O_APP_LAYOUT_SIDENAV, DEFAULT_INPUTS_O_APP_SIDENAV, DEFAULT_INPUTS_O_APP_SIDENAV_IMAGE, DEFAULT_INPUTS_O_APP_SIDENAV_MENU_GROUP, DEFAULT_INPUTS_O_APP_SIDENAV_MENU_ITEM, DEFAULT_INPUTS_O_BAR_MENU, DEFAULT_INPUTS_O_BAR_MENU_ITEM, DEFAULT_INPUTS_O_BAR_MENU_NESTED, DEFAULT_INPUTS_O_BASE_MENU_ITEM, DEFAULT_INPUTS_O_BASE_TABLE_CELL_RENDERER, DEFAULT_INPUTS_O_BREADCRUMB, DEFAULT_INPUTS_O_BUTTON, DEFAULT_INPUTS_O_BUTTON_TOGGLE, DEFAULT_INPUTS_O_BUTTON_TOGGLE_GROUP, DEFAULT_INPUTS_O_CARD_RENDERER, DEFAULT_INPUTS_O_CHECKBOX, DEFAULT_INPUTS_O_COMBO, DEFAULT_INPUTS_O_COMBO_RENDERER, DEFAULT_INPUTS_O_COMBO_RENDERER_BOOLEAN, DEFAULT_INPUTS_O_COMBO_RENDERER_CURRENCY, DEFAULT_INPUTS_O_COMBO_RENDERER_DATE, DEFAULT_INPUTS_O_COMBO_RENDERER_ICON, DEFAULT_INPUTS_O_COMBO_RENDERER_INTEGER, DEFAULT_INPUTS_O_COMBO_RENDERER_PERCENTAGE, DEFAULT_INPUTS_O_COMBO_RENDERER_REAL, DEFAULT_INPUTS_O_CONTAINER, DEFAULT_INPUTS_O_CONTAINER_COLLAPSIBLE, DEFAULT_INPUTS_O_CONTEXT_MENU_ITEMS, DEFAULT_INPUTS_O_CURRENCY_INPUT, DEFAULT_INPUTS_O_DATA_TOOLBAR, DEFAULT_INPUTS_O_DATERANGE_INPUT, DEFAULT_INPUTS_O_DATERANGE_LEGACY_INPUT, DEFAULT_INPUTS_O_DATE_INPUT, DEFAULT_INPUTS_O_ERROR, DEFAULT_INPUTS_O_FILE_INPUT, DEFAULT_INPUTS_O_FILTER_BUILDER, DEFAULT_INPUTS_O_FILTER_BUILDER_MENU, DEFAULT_INPUTS_O_FORM, DEFAULT_INPUTS_O_FORM_CONTAINER, DEFAULT_INPUTS_O_FORM_DATA_COMPONENT, DEFAULT_INPUTS_O_FORM_LAYOUT_MANAGER, DEFAULT_INPUTS_O_FORM_LAYOUT_SPLIT_PANE, DEFAULT_INPUTS_O_FORM_LAYOUT_TABGROUP, DEFAULT_INPUTS_O_FORM_SERVICE_COMPONENT, DEFAULT_INPUTS_O_FORM_TOOLBAR, DEFAULT_INPUTS_O_GRID, DEFAULT_INPUTS_O_GRID_ITEM, DEFAULT_INPUTS_O_HOUR_INPUT, DEFAULT_INPUTS_O_HTML_INPUT, DEFAULT_INPUTS_O_IMAGE, DEFAULT_INPUTS_O_INTEGER_INPUT, DEFAULT_INPUTS_O_LANGUAGE_SELECTOR, DEFAULT_INPUTS_O_LIST, DEFAULT_INPUTS_O_LISTPICKER_RENDERER, DEFAULT_INPUTS_O_LISTPICKER_RENDERER_CURRENCY, DEFAULT_INPUTS_O_LISTPICKER_RENDERER_DATE, DEFAULT_INPUTS_O_LISTPICKER_RENDERER_INTEGER, DEFAULT_INPUTS_O_LISTPICKER_RENDERER_PERCENTAGE, DEFAULT_INPUTS_O_LISTPICKER_RENDERER_REAL, DEFAULT_INPUTS_O_LIST_ITEM_AVATAR, DEFAULT_INPUTS_O_LIST_ITEM_CARD_IMAGE, DEFAULT_INPUTS_O_LIST_ITEM_TEXT, DEFAULT_INPUTS_O_LIST_PICKER, DEFAULT_INPUTS_O_LIST_PICKER_DIALOG, DEFAULT_INPUTS_O_LOCALE_BAR_MENU_ITEM, DEFAULT_INPUTS_O_LOCKER, DEFAULT_INPUTS_O_MENU_CARD, DEFAULT_INPUTS_O_MENU_LAYOUT, DEFAULT_INPUTS_O_PASSWORD_INPUT, DEFAULT_INPUTS_O_PERCENT_INPUT, DEFAULT_INPUTS_O_PHONE_INPUT, DEFAULT_INPUTS_O_RADIO, DEFAULT_INPUTS_O_REAL_INPUT, DEFAULT_INPUTS_O_SEARCH_INPUT, DEFAULT_INPUTS_O_SERVICE_BASE_COMPONENT, DEFAULT_INPUTS_O_SERVICE_COMPONENT, DEFAULT_INPUTS_O_SLIDER_INPUT, DEFAULT_INPUTS_O_SLIDETOGGLE, DEFAULT_INPUTS_O_TABLE, DEFAULT_INPUTS_O_TABLE_BUTTON, DEFAULT_INPUTS_O_TABLE_BUTTONS, DEFAULT_INPUTS_O_TABLE_CELL_EDITOR, DEFAULT_INPUTS_O_TABLE_CELL_EDITOR_BOOLEAN, DEFAULT_INPUTS_O_TABLE_CELL_EDITOR_DATE, DEFAULT_INPUTS_O_TABLE_CELL_EDITOR_INTEGER, DEFAULT_INPUTS_O_TABLE_CELL_EDITOR_TIME, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_ACTION, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_BOOLEAN, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_CURRENCY, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_DATE, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_IMAGE, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_INTEGER, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_PERCENTAGE, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_REAL, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_SERVICE, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_TIME, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_TRANSLATE, DEFAULT_INPUTS_O_TABLE_COLUMN, DEFAULT_INPUTS_O_TABLE_COLUMN_CALCULATED, DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER, DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER_COLUMN, DEFAULT_INPUTS_O_TABLE_COLUMN_GROUPING, DEFAULT_INPUTS_O_TABLE_COLUMN_GROUPING_COLUMN, DEFAULT_INPUTS_O_TABLE_COLUMN_RESIZER, DEFAULT_INPUTS_O_TABLE_COLUMN_SELECTALL, DEFAULT_INPUTS_O_TABLE_EXPORT_BUTTON, DEFAULT_INPUTS_O_TABLE_HEADER, DEFAULT_INPUTS_O_TABLE_INSERTABLE_ROW, DEFAULT_INPUTS_O_TABLE_MENU, DEFAULT_INPUTS_O_TABLE_OPTION, DEFAULT_INPUTS_O_TABLE_QUICKFILTER, DEFAULT_INPUTS_O_TABLE_ROW_EXPANDABLE, DEFAULT_INPUTS_O_TEXTAREA_INPUT, DEFAULT_INPUTS_O_TEXT_INPUT, DEFAULT_INPUTS_O_TEXT_RENDERER, DEFAULT_INPUTS_O_TIME_INPUT, DEFAULT_INPUTS_O_TREE, DEFAULT_INPUTS_O_USER_INFO, DEFAULT_INPUTS_O_USER_INFO_MENU, DEFAULT_INPUTS_O_USER_INFO_MENU_ITEM, DEFAULT_INPUTS_O_VALIDATOR, DEFAULT_INPUT_O_EXPANDABLE_CONTAINER, DEFAULT_OUTPUTS_LANGUAGE_SELECTOR, DEFAULT_OUTPUTS_O_APP_HEADER, DEFAULT_OUTPUTS_O_APP_LAYOUT, DEFAULT_OUTPUTS_O_APP_SIDENAV, DEFAULT_OUTPUTS_O_APP_SIDENAV_IMAGE, DEFAULT_OUTPUTS_O_APP_SIDENAV_MENU_GROUP, DEFAULT_OUTPUTS_O_APP_SIDENAV_MENU_ITEM, DEFAULT_OUTPUTS_O_BUTTON, DEFAULT_OUTPUTS_O_BUTTON_TOGGLE, DEFAULT_OUTPUTS_O_BUTTON_TOGGLE_GROUP, DEFAULT_OUTPUTS_O_CARD_RENDERER, DEFAULT_OUTPUTS_O_CONTAINER_COLLAPSIBLE, DEFAULT_OUTPUTS_O_CONTEXT_MENU, DEFAULT_OUTPUTS_O_DATERANGE_INPUT, DEFAULT_OUTPUTS_O_DATERANGE_LEGACY_INPUT, DEFAULT_OUTPUTS_O_FILE_INPUT, DEFAULT_OUTPUTS_O_FILTER_BUILDER, DEFAULT_OUTPUTS_O_FORM, DEFAULT_OUTPUTS_O_FORM_DATA_COMPONENT, DEFAULT_OUTPUTS_O_FORM_LAYOUT_MANAGER, DEFAULT_OUTPUTS_O_FORM_LAYOUT_SPLIT_PANE, DEFAULT_OUTPUTS_O_FORM_LAYOUT_TABGROUP, DEFAULT_OUTPUTS_O_FORM_SERVICE_COMPONENT, DEFAULT_OUTPUTS_O_FORM_TOOLBAR, DEFAULT_OUTPUTS_O_HTML_INPUT, DEFAULT_OUTPUTS_O_LIST, DEFAULT_OUTPUTS_O_LIST_ITEM_CARD_IMAGE, DEFAULT_OUTPUTS_O_LIST_PICKER, DEFAULT_OUTPUTS_O_MENU_CARD, DEFAULT_OUTPUTS_O_MENU_LAYOUT, DEFAULT_OUTPUTS_O_PERCENT_INPUT, DEFAULT_OUTPUTS_O_SEARCH_INPUT, DEFAULT_OUTPUTS_O_SERVICE_COMPONENT, DEFAULT_OUTPUTS_O_TABLE, DEFAULT_OUTPUTS_O_TABLE_BUTTON, DEFAULT_OUTPUTS_O_TABLE_BUTTONS, DEFAULT_OUTPUTS_O_TABLE_CELL_EDITOR, DEFAULT_OUTPUTS_O_TABLE_CELL_RENDERER_ACTION, DEFAULT_OUTPUTS_O_TABLE_CELL_RENDERER_IMAGE, DEFAULT_OUTPUTS_O_TABLE_CELL_RENDERER_SERVICE, DEFAULT_OUTPUTS_O_TABLE_COLUMN, DEFAULT_OUTPUTS_O_TABLE_COLUMN_FILTER, DEFAULT_OUTPUTS_O_TABLE_COLUMN_GROUPING, DEFAULT_OUTPUTS_O_TABLE_COLUMN_RESIZER, DEFAULT_OUTPUTS_O_TABLE_EXPORT_BUTTON, DEFAULT_OUTPUTS_O_TABLE_INSERTABLE_ROW, DEFAULT_OUTPUTS_O_TABLE_MENU, DEFAULT_OUTPUTS_O_TABLE_OPTION, DEFAULT_OUTPUTS_O_TABLE_QUICKFILTER, DEFAULT_OUTPUTS_O_TABLE_ROW_EXPANDABLE, DEFAULT_OUTPUTS_O_TEXT_RENDERER, DEFAULT_OUTPUTS_O_TREE, DEFAULT_OUTPUTS_O_USER_INFO, DEFAULT_OUTPUTS_O_USER_INFO_MENU, DEFAULT_PAGINATOR_TABLE, DEFAULT_TABLE_COLUMN_AGGREGATE, DEFAULT_TABLE_CONTEXT_MENU_INPUTS, DaterangepickerComponent, DefaultComponentStateClass, DefaultComponentStateService, DefaultOServiceBaseComponent, DefaultOTableDataSource, DefaultOTableOptions, DefaultServiceComponentStateClass, DefaultServiceComponentStateService, DialogService, Error403Component, ExportDataServiceProvider, FilterExpressionUtils, IconService, InputRegulateDirective, IsEmptyValuePipe, JSONAPIPreferencesService, JSONAPIQueryArgumentsAdapter, JSONAPIService, JSONAPIServiceResponse, JSONAPIServiceResponseAdapter, ListItem, LocalStorageService, LoginStorageService, MomentService, NameConvention, NameConventionLower, NameConventionProvider, NameConventionUpper, NavigationService, NumberConverter, NumberInputConverter, NumberService, OAppHeaderBase, OAppHeaderComponent, OAppHeaderModule, OAppLayoutBase, OAppLayoutComponent, OAppLayoutHeaderComponent, OAppLayoutModule, OAppLayoutSidenavComponent, OAppSidenavBase, OAppSidenavComponent, OAppSidenavImageComponent, OAppSidenavMenuGroupComponent, OAppSidenavMenuItemComponent, OAppSidenavModule, OBarMenuBase, OBarMenuComponent, OBarMenuGroupComponent, OBarMenuItemComponent, OBarMenuModule, OBarMenuNestedComponent, OBarMenuSeparatorComponent, OBaseComponent, OBaseMenuItemClass, OBaseTableCellEditor, OBaseTableCellRenderer, OBaseTablePaginator, OBreadcrumbComponent, OBreadcrumbModule, OBreadcrumbService, OButtonComponent, OButtonModule, OButtonToggleComponent, OButtonToggleGroupComponent, OButtonToggleModule, OCardMenuItemComponent, OCardMenuItemModule, OCardMenuLayoutComponent, OCardMenuLayoutModule, OCheckboxComponent, OCheckboxModule, OColumn, OColumnCollapsibleComponent, OColumnCollapsibleModule, OColumnComponent, OColumnModule, OComboComponent, OComboCustomRenderer, OComboModule, OComboRendererBooleanComponent, OComboRendererCurrencyComponent, OComboRendererDateComponent, OComboRendererIconComponent, OComboRendererIntegerComponent, OComboRendererPercentageComponent, OComboRendererRealComponent, OComboSearchComponent, OComponentMenuBaseItem, OContainerCollapsibleComponent, OContainerComponent, OContextMenuComponent, OContextMenuContentComponent, OContextMenuDirective, OContextMenuGroupComponent, OContextMenuItemComponent, OContextMenuModule, OContextMenuSeparatorComponent, OContextMenuService, OCurrencyInputComponent, OCurrencyInputModule, OCurrencyPipe, OCustomMaterialModule, ODataToolbarComponent, ODataToolbarModule, ODateInputComponent, ODateInputModule, ODateRangeInputComponent, ODateRangeInputModule, ODateRangeLegacyInputComponent, ODateRangeLegacyInputModule, ODaterangepickerDirective, ODialogBase, ODialogComponent, ODialogConfig, ODualListSelectorComponent, ODualListSelectorDateItemComponent, ODualListSelectorModule, OEmailInputComponent, OEmailInputModule, OErrorComponent, OErrorDialogManager, OExpandableContainerComponent, OExpandableContainerModule, OFileDragAndDropDirective, OFileInputComponent, OFileInputModule, OFileItem, OFileUploader, OFilterBuilderBase, OFilterBuilderClearDirective, OFilterBuilderComponent, OFilterBuilderMenuComponent, OFilterBuilderModule, OFilterBuilderQueryDirective, OFormBase, OFormCacheClass, OFormComponent, OFormContainerComponent, OFormContainerModule, OFormControl, OFormDataComponent, OFormLayoutDialogComponent, OFormLayoutDialogOptionsDirective, OFormLayoutManagerBase, OFormLayoutManagerComponent, OFormLayoutManagerComponentStateClass, OFormLayoutManagerComponentStateService, OFormLayoutManagerContentDirective, OFormLayoutManagerModule, OFormLayoutManagerService, OFormLayoutSplitPaneComponent, OFormLayoutSplitPaneOptionsDirective, OFormLayoutTabGroupComponent, OFormLayoutTabGroupOptionsDirective, OFormMessageService, OFormModule, OFormNavigationClass, OFormNavigationComponent, OFormServiceComponent, OFormToolbarBase, OFormToolbarComponent, OFormToolbarModule, OFormValue, OFullScreenDialogComponent, OGridComponent, OGridComponentStateClass, OGridComponentStateService, OGridItemComponent, OGridItemDirective, OGridModule, OGridSkeletonComponent, OHTMLInputComponent, OHTMLInputModule, OHiddenDirective, OHourInputComponent, OHourInputModule, OIconPipe, OImageComponent, OImageModule, OIntegerInputComponent, OIntegerInputModule, OIntegerPipe, OKeyboardListenerDirective, OLanguageSelectorComponent, OLanguageSelectorModule, OListComponent, OListComponentStateClass, OListComponentStateService, OListItemAvatarComponent, OListItemCardComponent, OListItemCardImageComponent, OListItemCardRenderer, OListItemComponent, OListItemDirective, OListItemTextComponent, OListItemTextRenderer, OListModule, OListPickerComponent, OListPickerCustomRenderer, OListPickerDialogComponent, OListPickerModule, OListPickerRendererCurrencyComponent, OListPickerRendererDateComponent, OListPickerRendererIntegerComponent, OListPickerRendererPercentageComponent, OListPickerRendererRealComponent, OListSkeletonComponent, OLoadFilterDialogComponent, OLocaleBarMenuItemComponent, OLockerDirective, OMatErrorDirective, OMatPrefix, OMatSort, OMatSortHeader, OMatSortModule, OMatSuffix, OModulesInfoService, OMomentPipe, ONIFInputComponent, ONIFInputModule, ONTIMIZE_MODULES, ONTIMIZE_PROVIDERS, ONavigationItem, OPasswordInputComponent, OPasswordInputModule, OPercentInputComponent, OPercentInputModule, OPercentPipe, OPermissionsModule, OPhoneInputComponent, OPhoneInputModule, OPreferenceMappingUtils, OPreferenceQueryArgumentsAdapter, OPreferenceResponseAdapter, ORadioComponent, ORadioModule, ORealInputComponent, ORealInputModule, ORealPipe, ORemoteConfigurationService, ORowCollapsibleComponent, ORowCollapsibleModule, ORowComponent, ORowModule, OSafePipe, OSearchInputComponent, OSearchInputModule, OServiceBaseComponent, OServiceComponent, OSharedModule, OSkeletonComponent, OSlideToggleComponent, OSlideToggleModule, OSliderComponent, OSliderModule, OSnackBarBase, OSnackBarComponent, OSnackBarConfig, OStoreFilterDialogComponent, OTabGroupDirective, OTableApplyConfigurationDialogComponent, OTableBase, OTableBaseDialogClass, OTableButtonComponent, OTableButtonsComponent, OTableCellEditorBooleanComponent, OTableCellEditorDateComponent, OTableCellEditorEmailComponent, OTableCellEditorIntegerComponent, OTableCellEditorRealComponent, OTableCellEditorTextComponent, OTableCellEditorTimeComponent, OTableCellRendererActionComponent, OTableCellRendererBooleanComponent, OTableCellRendererCurrencyComponent, OTableCellRendererDateComponent, OTableCellRendererImageComponent, OTableCellRendererIntegerComponent, OTableCellRendererPercentageComponent, OTableCellRendererRealComponent, OTableCellRendererServiceComponent, OTableCellRendererTimeComponent, OTableCellRendererTranslateComponent, OTableColumnAggregateComponent, OTableColumnCalculatedComponent, OTableColumnComponent, OTableColumnResizerComponent, OTableColumnSelectAllDirective, OTableColumnsFilterColumnComponent, OTableColumnsFilterComponent, OTableColumnsGroupingColumnComponent, OTableColumnsGroupingComponent, OTableComponent, OTableComponentStateClass, OTableComponentStateService, OTableContextMenuComponent, OTableDao, OTableDataSourceService, OTableExpandedFooterDirective, OTableExportButtonComponent, OTableExportButtonService, OTableExportConfiguration, OTableExportDialogComponent, OTableFilterByColumnDataDialogComponent, OTableGroupByColumnsDialogComponent, OTableGroupedRow, OTableHeaderComponent, OTableHeaderSelectAllComponent, OTableInsertableRowComponent, OTableMatPaginatorIntl, OTableMenuComponent, OTableModule, OTableOptionComponent, OTablePaginatorComponent, OTableQuickfilterComponent, OTableRowClassPipe, OTableRowDirective, OTableRowExpandableComponent, OTableRowExpandedChange, OTableSkeletonComponent, OTableStoreConfigurationDialogComponent, OTableVirtualScrollStrategy, OTableVisibleColumnsDialogComponent, OTextInputComponent, OTextInputModule, OTextareaInputComponent, OTextareaInputModule, OTimeInputComponent, OTimeInputModule, OTranslateHttpLoader, OTranslateModule, OTranslateParser, OTranslatePipe, OTranslateService, OTreeComponent, OTreeMenuComponent, OTreeModule, OTreeNodeComponent, OUserInfoBase, OUserInfoComponent, OUserInfoConfigurationDirective, OUserInfoConfigurationItemDirective, OUserInfoModule, OUserInfoService, OValidatorComponent, OValidators, OValueChangeEvent, OWrapperContentMenuComponent, O_AUTH_SERVICE, O_CHART_ON_DEMAND_SERVICE, O_COMPONENT_STATE_SERVICE, O_DATA_SERVICE, O_ERROR_DIALOG_MANAGER, O_EXPORT_DATA_SERVICE, O_EXPORT_SERVICE, O_FILE_SERVICE, O_FORM_GLOBAL_CONFIG, O_FORM_MESSAGE_SERVICE, O_GLOBAL_CONFIG, O_INPUTS_OPTIONS, O_LOCALSTORAGE_SERVICE, O_MAT_ERROR_OPTIONS, O_PERMISSION_SERVICE, O_REPORT_SERVICE, O_RESPONSE_ADAPTER, O_TABLE_CELL_EDITORS, O_TABLE_CELL_EDITORS_INPUTS, O_TABLE_CELL_EDITORS_OUTPUTS, O_TABLE_CELL_RENDERERS, O_TABLE_CELL_RENDERERS_INPUTS, O_TABLE_CELL_RENDERERS_OUTPUTS, O_TABLE_GLOBAL_CONFIG, O_TRANSLATE_SERVICE, ObservableWrapper, OnRangeChangeVirtualScroll, OntimizeAuthService, OntimizeAuthServiceProvider, OntimizeBaseService, OntimizeEEPermissionsService, OntimizeEEService, OntimizeExportDataProviderService, OntimizeExportDataProviderService3X, OntimizeExportService, OntimizeExportService3X, OntimizeExportServiceProvider, OntimizeFileService, OntimizeLocalStorageServiceProvider, OntimizeMatDateFormats, OntimizeMatIconRegistry, OntimizeMomentDateAdapter, OntimizePermissionsService, OntimizePreferencesService, OntimizeQueryArgumentsAdapter, OntimizeService, OntimizeServiceProvider, OntimizeServiceResponse, OntimizeServiceResponseAdapter, OntimizeServiceResponseParser, OntimizeWebModule, OntimizeWebTranslateModule, OrderByPipe, PaginationContextService, PermissionsGuardService, PermissionsService, PermissionsUtils, SQLTypes, ServiceRequestAdapter, ServiceResponseAdapter, ServiceUtils, ShareCanActivateChildService, SideEnum, SnackBarService, StringConverter, TWELVE_HOUR_FORMAT_PATTERN, TWENTY_FOUR_HOUR_FORMAT_PATTERN, TableFilterByColumnDialogResult, Util, _getInjectionTokenValue, appConfigFactory, authServiceFactory, componentStateFactory, createServiceInstance, dataServiceFactory, dateFormatFactory, editorsMapping, exportDataFactory, exportServiceFactory, fileServiceFactory, getPermissionsServiceProvider, localStorageServiceFactory, nameConventionServiceFactory, noop, ontimizePostBootstrap, permissionsServiceFactory, preferencesServiceFactory, renderersMapping, serviceRequestAdapterFactory, serviceResponseAdapterFactory, translateServiceFactory };
41643
+ export { APP_CONFIG, AbstractComponentStateClass, AbstractComponentStateService, AbstractOServiceBaseComponent, AbstractOServiceComponent, AbstractServiceComponentStateClass, AppConfig, AppConfigFactory, AppMenuService, AppearanceService, AuthGuardService, AuthService, Base64, BaseDataService, BaseQueryArgument, BaseService, BaseServiceResponse, BooleanConverter, BooleanInputConverter, CKEditorComponent, CKEditorModule, CanActivateFormLayoutChildGuard, CanDeactivateFormGuard, Codes, ColumnValueFilterOperator, ColumnsFilterPipe, ComponentStateServiceProvider, CurrencyService, CurrencyUtil, DEFAULT_CONTEXT_MENU_CONTENT_INPUTS, DEFAULT_CONTEXT_MENU_CONTENT_ITEM_INPUTS, DEFAULT_CONTEXT_MENU_CONTENT_OUTPUTS, DEFAULT_CONTEXT_MENU_DIRECTIVE_INPUTS, DEFAULT_CONTEXT_MENU_ITEM_INPUTS, DEFAULT_CONTEXT_MENU_ITEM_OUTPUTS, DEFAULT_DUAL_LIST_SELECTOR, DEFAULT_DUAL_LIST_SELECTOR_DATE_ITEM, DEFAULT_INPUTS_O_APP_HEADER, DEFAULT_INPUTS_O_APP_LAYOUT, DEFAULT_INPUTS_O_APP_LAYOUT_HEADER, DEFAULT_INPUTS_O_APP_LAYOUT_SIDENAV, DEFAULT_INPUTS_O_APP_SIDENAV, DEFAULT_INPUTS_O_APP_SIDENAV_IMAGE, DEFAULT_INPUTS_O_APP_SIDENAV_MENU_GROUP, DEFAULT_INPUTS_O_APP_SIDENAV_MENU_ITEM, DEFAULT_INPUTS_O_BAR_MENU, DEFAULT_INPUTS_O_BAR_MENU_ITEM, DEFAULT_INPUTS_O_BAR_MENU_NESTED, DEFAULT_INPUTS_O_BASE_MENU_ITEM, DEFAULT_INPUTS_O_BASE_TABLE_CELL_RENDERER, DEFAULT_INPUTS_O_BREADCRUMB, DEFAULT_INPUTS_O_BUTTON, DEFAULT_INPUTS_O_BUTTON_TOGGLE, DEFAULT_INPUTS_O_BUTTON_TOGGLE_GROUP, DEFAULT_INPUTS_O_CARD_RENDERER, DEFAULT_INPUTS_O_CHECKBOX, DEFAULT_INPUTS_O_COMBO, DEFAULT_INPUTS_O_COMBO_RENDERER, DEFAULT_INPUTS_O_COMBO_RENDERER_BOOLEAN, DEFAULT_INPUTS_O_COMBO_RENDERER_CURRENCY, DEFAULT_INPUTS_O_COMBO_RENDERER_DATE, DEFAULT_INPUTS_O_COMBO_RENDERER_ICON, DEFAULT_INPUTS_O_COMBO_RENDERER_INTEGER, DEFAULT_INPUTS_O_COMBO_RENDERER_PERCENTAGE, DEFAULT_INPUTS_O_COMBO_RENDERER_REAL, DEFAULT_INPUTS_O_CONTAINER, DEFAULT_INPUTS_O_CONTAINER_COLLAPSIBLE, DEFAULT_INPUTS_O_CONTEXT_MENU_ITEMS, DEFAULT_INPUTS_O_CURRENCY_INPUT, DEFAULT_INPUTS_O_DATA_TOOLBAR, DEFAULT_INPUTS_O_DATERANGE_INPUT, DEFAULT_INPUTS_O_DATERANGE_LEGACY_INPUT, DEFAULT_INPUTS_O_DATE_INPUT, DEFAULT_INPUTS_O_ERROR, DEFAULT_INPUTS_O_FILE_INPUT, DEFAULT_INPUTS_O_FILTER_BUILDER, DEFAULT_INPUTS_O_FILTER_BUILDER_MENU, DEFAULT_INPUTS_O_FORM, DEFAULT_INPUTS_O_FORM_CONTAINER, DEFAULT_INPUTS_O_FORM_DATA_COMPONENT, DEFAULT_INPUTS_O_FORM_LAYOUT_MANAGER, DEFAULT_INPUTS_O_FORM_LAYOUT_SPLIT_PANE, DEFAULT_INPUTS_O_FORM_LAYOUT_TABGROUP, DEFAULT_INPUTS_O_FORM_SERVICE_COMPONENT, DEFAULT_INPUTS_O_FORM_TOOLBAR, DEFAULT_INPUTS_O_GRID, DEFAULT_INPUTS_O_GRID_ITEM, DEFAULT_INPUTS_O_HOUR_INPUT, DEFAULT_INPUTS_O_HTML_INPUT, DEFAULT_INPUTS_O_IMAGE, DEFAULT_INPUTS_O_INTEGER_INPUT, DEFAULT_INPUTS_O_LANGUAGE_SELECTOR, DEFAULT_INPUTS_O_LIST, DEFAULT_INPUTS_O_LISTPICKER_RENDERER, DEFAULT_INPUTS_O_LISTPICKER_RENDERER_CURRENCY, DEFAULT_INPUTS_O_LISTPICKER_RENDERER_DATE, DEFAULT_INPUTS_O_LISTPICKER_RENDERER_INTEGER, DEFAULT_INPUTS_O_LISTPICKER_RENDERER_PERCENTAGE, DEFAULT_INPUTS_O_LISTPICKER_RENDERER_REAL, DEFAULT_INPUTS_O_LIST_ITEM_AVATAR, DEFAULT_INPUTS_O_LIST_ITEM_CARD_IMAGE, DEFAULT_INPUTS_O_LIST_ITEM_TEXT, DEFAULT_INPUTS_O_LIST_PICKER, DEFAULT_INPUTS_O_LIST_PICKER_DIALOG, DEFAULT_INPUTS_O_LOCALE_BAR_MENU_ITEM, DEFAULT_INPUTS_O_LOCKER, DEFAULT_INPUTS_O_MENU_CARD, DEFAULT_INPUTS_O_MENU_LAYOUT, DEFAULT_INPUTS_O_PASSWORD_INPUT, DEFAULT_INPUTS_O_PERCENT_INPUT, DEFAULT_INPUTS_O_PHONE_INPUT, DEFAULT_INPUTS_O_RADIO, DEFAULT_INPUTS_O_REAL_INPUT, DEFAULT_INPUTS_O_SEARCH_INPUT, DEFAULT_INPUTS_O_SERVICE_BASE_COMPONENT, DEFAULT_INPUTS_O_SERVICE_COMPONENT, DEFAULT_INPUTS_O_SLIDER_INPUT, DEFAULT_INPUTS_O_SLIDETOGGLE, DEFAULT_INPUTS_O_TABLE, DEFAULT_INPUTS_O_TABLE_BUTTON, DEFAULT_INPUTS_O_TABLE_BUTTONS, DEFAULT_INPUTS_O_TABLE_CELL_EDITOR, DEFAULT_INPUTS_O_TABLE_CELL_EDITOR_BOOLEAN, DEFAULT_INPUTS_O_TABLE_CELL_EDITOR_DATE, DEFAULT_INPUTS_O_TABLE_CELL_EDITOR_INTEGER, DEFAULT_INPUTS_O_TABLE_CELL_EDITOR_TIME, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_ACTION, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_BOOLEAN, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_CURRENCY, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_DATE, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_IMAGE, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_INTEGER, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_PERCENTAGE, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_REAL, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_SERVICE, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_TIME, DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_TRANSLATE, DEFAULT_INPUTS_O_TABLE_COLUMN, DEFAULT_INPUTS_O_TABLE_COLUMN_CALCULATED, DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER, DEFAULT_INPUTS_O_TABLE_COLUMN_FILTER_COLUMN, DEFAULT_INPUTS_O_TABLE_COLUMN_GROUPING, DEFAULT_INPUTS_O_TABLE_COLUMN_GROUPING_COLUMN, DEFAULT_INPUTS_O_TABLE_COLUMN_RESIZER, DEFAULT_INPUTS_O_TABLE_COLUMN_SELECTALL, DEFAULT_INPUTS_O_TABLE_EXPORT_BUTTON, DEFAULT_INPUTS_O_TABLE_HEADER, DEFAULT_INPUTS_O_TABLE_INSERTABLE_ROW, DEFAULT_INPUTS_O_TABLE_MENU, DEFAULT_INPUTS_O_TABLE_OPTION, DEFAULT_INPUTS_O_TABLE_QUICKFILTER, DEFAULT_INPUTS_O_TABLE_ROW_EXPANDABLE, DEFAULT_INPUTS_O_TEXTAREA_INPUT, DEFAULT_INPUTS_O_TEXT_INPUT, DEFAULT_INPUTS_O_TEXT_RENDERER, DEFAULT_INPUTS_O_TIME_INPUT, DEFAULT_INPUTS_O_TREE, DEFAULT_INPUTS_O_USER_INFO, DEFAULT_INPUTS_O_USER_INFO_MENU, DEFAULT_INPUTS_O_USER_INFO_MENU_ITEM, DEFAULT_INPUTS_O_VALIDATOR, DEFAULT_INPUT_O_EXPANDABLE_CONTAINER, DEFAULT_OUTPUTS_LANGUAGE_SELECTOR, DEFAULT_OUTPUTS_O_APP_HEADER, DEFAULT_OUTPUTS_O_APP_LAYOUT, DEFAULT_OUTPUTS_O_APP_SIDENAV, DEFAULT_OUTPUTS_O_APP_SIDENAV_IMAGE, DEFAULT_OUTPUTS_O_APP_SIDENAV_MENU_GROUP, DEFAULT_OUTPUTS_O_APP_SIDENAV_MENU_ITEM, DEFAULT_OUTPUTS_O_BUTTON, DEFAULT_OUTPUTS_O_BUTTON_TOGGLE, DEFAULT_OUTPUTS_O_BUTTON_TOGGLE_GROUP, DEFAULT_OUTPUTS_O_CARD_RENDERER, DEFAULT_OUTPUTS_O_CONTAINER_COLLAPSIBLE, DEFAULT_OUTPUTS_O_CONTEXT_MENU, DEFAULT_OUTPUTS_O_DATERANGE_INPUT, DEFAULT_OUTPUTS_O_DATERANGE_LEGACY_INPUT, DEFAULT_OUTPUTS_O_FILE_INPUT, DEFAULT_OUTPUTS_O_FILTER_BUILDER, DEFAULT_OUTPUTS_O_FORM, DEFAULT_OUTPUTS_O_FORM_DATA_COMPONENT, DEFAULT_OUTPUTS_O_FORM_LAYOUT_MANAGER, DEFAULT_OUTPUTS_O_FORM_LAYOUT_SPLIT_PANE, DEFAULT_OUTPUTS_O_FORM_LAYOUT_TABGROUP, DEFAULT_OUTPUTS_O_FORM_SERVICE_COMPONENT, DEFAULT_OUTPUTS_O_FORM_TOOLBAR, DEFAULT_OUTPUTS_O_HTML_INPUT, DEFAULT_OUTPUTS_O_LIST, DEFAULT_OUTPUTS_O_LIST_ITEM_CARD_IMAGE, DEFAULT_OUTPUTS_O_LIST_PICKER, DEFAULT_OUTPUTS_O_MENU_CARD, DEFAULT_OUTPUTS_O_MENU_LAYOUT, DEFAULT_OUTPUTS_O_PERCENT_INPUT, DEFAULT_OUTPUTS_O_SEARCH_INPUT, DEFAULT_OUTPUTS_O_SERVICE_COMPONENT, DEFAULT_OUTPUTS_O_TABLE, DEFAULT_OUTPUTS_O_TABLE_BUTTON, DEFAULT_OUTPUTS_O_TABLE_BUTTONS, DEFAULT_OUTPUTS_O_TABLE_CELL_EDITOR, DEFAULT_OUTPUTS_O_TABLE_CELL_RENDERER_ACTION, DEFAULT_OUTPUTS_O_TABLE_CELL_RENDERER_IMAGE, DEFAULT_OUTPUTS_O_TABLE_CELL_RENDERER_SERVICE, DEFAULT_OUTPUTS_O_TABLE_COLUMN, DEFAULT_OUTPUTS_O_TABLE_COLUMN_FILTER, DEFAULT_OUTPUTS_O_TABLE_COLUMN_GROUPING, DEFAULT_OUTPUTS_O_TABLE_COLUMN_RESIZER, DEFAULT_OUTPUTS_O_TABLE_EXPORT_BUTTON, DEFAULT_OUTPUTS_O_TABLE_INSERTABLE_ROW, DEFAULT_OUTPUTS_O_TABLE_MENU, DEFAULT_OUTPUTS_O_TABLE_OPTION, DEFAULT_OUTPUTS_O_TABLE_QUICKFILTER, DEFAULT_OUTPUTS_O_TABLE_ROW_EXPANDABLE, DEFAULT_OUTPUTS_O_TEXT_RENDERER, DEFAULT_OUTPUTS_O_TREE, DEFAULT_OUTPUTS_O_USER_INFO, DEFAULT_OUTPUTS_O_USER_INFO_MENU, DEFAULT_PAGINATOR_TABLE, DEFAULT_TABLE_COLUMN_AGGREGATE, DEFAULT_TABLE_CONTEXT_MENU_INPUTS, DaterangepickerComponent, DefaultComponentStateClass, DefaultComponentStateService, DefaultOServiceBaseComponent, DefaultOTableDataSource, DefaultOTableOptions, DefaultServiceComponentStateClass, DefaultServiceComponentStateService, DialogService, Error403Component, ExportDataServiceProvider, FilterExpressionUtils, IconService, InputRegulateDirective, IsEmptyValuePipe, JSONAPIPreferencesService, JSONAPIQueryArgumentsAdapter, JSONAPIService, JSONAPIServiceResponse, JSONAPIServiceResponseAdapter, ListItem, LocalStorageService, LoginStorageService, MomentService, NameConvention, NameConventionLower, NameConventionProvider, NameConventionUpper, NavigationService, NumberConverter, NumberInputConverter, NumberService, OAppHeaderBase, OAppHeaderComponent, OAppHeaderModule, OAppLayoutBase, OAppLayoutComponent, OAppLayoutHeaderComponent, OAppLayoutModule, OAppLayoutSidenavComponent, OAppSidenavBase, OAppSidenavComponent, OAppSidenavImageComponent, OAppSidenavMenuGroupComponent, OAppSidenavMenuItemComponent, OAppSidenavModule, OBarMenuBase, OBarMenuComponent, OBarMenuGroupComponent, OBarMenuItemComponent, OBarMenuModule, OBarMenuNestedComponent, OBarMenuSeparatorComponent, OBaseComponent, OBaseMenuItemClass, OBaseTableCellEditor, OBaseTableCellRenderer, OBaseTablePaginator, OBreadcrumbComponent, OBreadcrumbModule, OBreadcrumbService, OButtonComponent, OButtonModule, OButtonToggleComponent, OButtonToggleGroupComponent, OButtonToggleModule, OCardMenuItemComponent, OCardMenuItemModule, OCardMenuLayoutComponent, OCardMenuLayoutModule, OCheckboxComponent, OCheckboxModule, OColumn, OColumnCollapsibleComponent, OColumnCollapsibleModule, OColumnComponent, OColumnModule, OComboComponent, OComboCustomRenderer, OComboModule, OComboRendererBooleanComponent, OComboRendererCurrencyComponent, OComboRendererDateComponent, OComboRendererIconComponent, OComboRendererIntegerComponent, OComboRendererPercentageComponent, OComboRendererRealComponent, OComboSearchComponent, OComponentMenuBaseItem, OContainerCollapsibleComponent, OContainerComponent, OContextMenuComponent, OContextMenuContentComponent, OContextMenuDirective, OContextMenuGroupComponent, OContextMenuItemComponent, OContextMenuModule, OContextMenuSeparatorComponent, OContextMenuService, OCurrencyInputComponent, OCurrencyInputModule, OCurrencyPipe, OCustomMaterialModule, ODataToolbarComponent, ODataToolbarModule, ODateInputComponent, ODateInputModule, ODateRangeInputComponent, ODateRangeInputModule, ODateRangeLegacyInputComponent, ODateRangeLegacyInputModule, ODaterangepickerDirective, ODialogBase, ODialogComponent, ODialogConfig, ODualListSelectorComponent, ODualListSelectorDateItemComponent, ODualListSelectorModule, OEmailInputComponent, OEmailInputModule, OErrorComponent, OErrorDialogManager, OExpandableContainerComponent, OExpandableContainerModule, OFileDragAndDropDirective, OFileInputComponent, OFileInputModule, OFileItem, OFileUploader, OFilterBuilderBase, OFilterBuilderClearDirective, OFilterBuilderComponent, OFilterBuilderMenuComponent, OFilterBuilderModule, OFilterBuilderQueryDirective, OFormBase, OFormCacheClass, OFormComponent, OFormContainerComponent, OFormContainerModule, OFormControl, OFormDataComponent, OFormLayoutDialogComponent, OFormLayoutDialogOptionsDirective, OFormLayoutManagerBase, OFormLayoutManagerComponent, OFormLayoutManagerComponentStateClass, OFormLayoutManagerComponentStateService, OFormLayoutManagerContentDirective, OFormLayoutManagerModule, OFormLayoutManagerService, OFormLayoutSplitPaneComponent, OFormLayoutSplitPaneOptionsDirective, OFormLayoutTabGroupComponent, OFormLayoutTabGroupOptionsDirective, OFormMessageService, OFormModule, OFormNavigationClass, OFormNavigationComponent, OFormServiceComponent, OFormToolbarBase, OFormToolbarComponent, OFormToolbarModule, OFormValue, OFullScreenDialogComponent, OGridComponent, OGridComponentStateClass, OGridComponentStateService, OGridItemComponent, OGridItemDirective, OGridModule, OGridSkeletonComponent, OHTMLInputComponent, OHTMLInputModule, OHiddenDirective, OHourInputComponent, OHourInputModule, OIconPipe, OImageComponent, OImageModule, OIntegerInputComponent, OIntegerInputModule, OIntegerPipe, OKeyboardListenerDirective, OLanguageSelectorComponent, OLanguageSelectorModule, OListComponent, OListComponentStateClass, OListComponentStateService, OListItemAvatarComponent, OListItemCardComponent, OListItemCardImageComponent, OListItemCardRenderer, OListItemComponent, OListItemDirective, OListItemTextComponent, OListItemTextRenderer, OListModule, OListPickerComponent, OListPickerCustomRenderer, OListPickerDialogComponent, OListPickerModule, OListPickerRendererCurrencyComponent, OListPickerRendererDateComponent, OListPickerRendererIntegerComponent, OListPickerRendererPercentageComponent, OListPickerRendererRealComponent, OListSkeletonComponent, OLoadFilterDialogComponent, OLocaleBarMenuItemComponent, OLockerDirective, OMatErrorDirective, OMatPrefix, OMatSort, OMatSortHeader, OMatSortModule, OMatSuffix, OModulesInfoService, OMomentPipe, ONIFInputComponent, ONIFInputModule, ONTIMIZE_MODULES, ONTIMIZE_PROVIDERS, ONavigationItem, OPasswordInputComponent, OPasswordInputModule, OPercentInputComponent, OPercentInputModule, OPercentPipe, OPermissionsModule, OPhoneInputComponent, OPhoneInputModule, OPreferenceMappingUtils, OPreferenceResponseAdapter, ORadioComponent, ORadioModule, ORealInputComponent, ORealInputModule, ORealPipe, ORemoteConfigurationService, ORowCollapsibleComponent, ORowCollapsibleModule, ORowComponent, ORowModule, OSafePipe, OSearchInputComponent, OSearchInputModule, OServiceBaseComponent, OServiceComponent, OSharedModule, OSkeletonComponent, OSlideToggleComponent, OSlideToggleModule, OSliderComponent, OSliderModule, OSnackBarBase, OSnackBarComponent, OSnackBarConfig, OStoreFilterDialogComponent, OTabGroupDirective, OTableApplyConfigurationDialogComponent, OTableBase, OTableBaseDialogClass, OTableButtonComponent, OTableButtonsComponent, OTableCellEditorBooleanComponent, OTableCellEditorDateComponent, OTableCellEditorEmailComponent, OTableCellEditorIntegerComponent, OTableCellEditorRealComponent, OTableCellEditorTextComponent, OTableCellEditorTimeComponent, OTableCellRendererActionComponent, OTableCellRendererBooleanComponent, OTableCellRendererCurrencyComponent, OTableCellRendererDateComponent, OTableCellRendererImageComponent, OTableCellRendererIntegerComponent, OTableCellRendererPercentageComponent, OTableCellRendererRealComponent, OTableCellRendererServiceComponent, OTableCellRendererTimeComponent, OTableCellRendererTranslateComponent, OTableColumnAggregateComponent, OTableColumnCalculatedComponent, OTableColumnComponent, OTableColumnResizerComponent, OTableColumnSelectAllDirective, OTableColumnsFilterColumnComponent, OTableColumnsFilterComponent, OTableColumnsGroupingColumnComponent, OTableColumnsGroupingComponent, OTableComponent, OTableComponentStateClass, OTableComponentStateService, OTableContextMenuComponent, OTableDao, OTableDataSourceService, OTableExpandedFooterDirective, OTableExportButtonComponent, OTableExportButtonService, OTableExportConfiguration, OTableExportDialogComponent, OTableFilterByColumnDataDialogComponent, OTableGroupByColumnsDialogComponent, OTableGroupedRow, OTableHeaderComponent, OTableHeaderSelectAllComponent, OTableInsertableRowComponent, OTableMatPaginatorIntl, OTableMenuComponent, OTableModule, OTableOptionComponent, OTablePaginatorComponent, OTableQuickfilterComponent, OTableRowClassPipe, OTableRowDirective, OTableRowExpandableComponent, OTableRowExpandedChange, OTableSkeletonComponent, OTableStoreConfigurationDialogComponent, OTableVirtualScrollStrategy, OTableVisibleColumnsDialogComponent, OTextInputComponent, OTextInputModule, OTextareaInputComponent, OTextareaInputModule, OTimeInputComponent, OTimeInputModule, OTranslateHttpLoader, OTranslateModule, OTranslateParser, OTranslatePipe, OTranslateService, OTreeComponent, OTreeMenuComponent, OTreeModule, OTreeNodeComponent, OUserInfoBase, OUserInfoComponent, OUserInfoConfigurationDirective, OUserInfoConfigurationItemDirective, OUserInfoModule, OUserInfoService, OValidatorComponent, OValidators, OValueChangeEvent, OWrapperContentMenuComponent, O_AUTH_SERVICE, O_CHART_ON_DEMAND_SERVICE, O_COMPONENT_STATE_SERVICE, O_DATA_SERVICE, O_ERROR_DIALOG_MANAGER, O_EXPORT_DATA_SERVICE, O_EXPORT_SERVICE, O_FILE_SERVICE, O_FORM_GLOBAL_CONFIG, O_FORM_MESSAGE_SERVICE, O_GLOBAL_CONFIG, O_INPUTS_OPTIONS, O_LOCALSTORAGE_SERVICE, O_MAT_ERROR_OPTIONS, O_PERMISSION_SERVICE, O_REPORT_SERVICE, O_RESPONSE_ADAPTER, O_TABLE_CELL_EDITORS, O_TABLE_CELL_EDITORS_INPUTS, O_TABLE_CELL_EDITORS_OUTPUTS, O_TABLE_CELL_RENDERERS, O_TABLE_CELL_RENDERERS_INPUTS, O_TABLE_CELL_RENDERERS_OUTPUTS, O_TABLE_GLOBAL_CONFIG, O_TRANSLATE_SERVICE, ObservableWrapper, OnRangeChangeVirtualScroll, OntimizeAuthService, OntimizeAuthServiceProvider, OntimizeBaseService, OntimizeEEPermissionsService, OntimizeEEService, OntimizeExportDataProviderService, OntimizeExportDataProviderService3X, OntimizeExportService, OntimizeExportService3X, OntimizeExportServiceProvider, OntimizeFileService, OntimizeLocalStorageServiceProvider, OntimizeMatDateFormats, OntimizeMatIconRegistry, OntimizeMomentDateAdapter, OntimizePermissionsService, OntimizePreferencesService, OntimizeQueryArgumentsAdapter, OntimizeService, OntimizeServiceProvider, OntimizeServiceResponse, OntimizeServiceResponseAdapter, OntimizeServiceResponseParser, OntimizeWebModule, OntimizeWebTranslateModule, OrderByPipe, PaginationContextService, PermissionsGuardService, PermissionsService, PermissionsUtils, SQLTypes, ServiceRequestAdapter, ServiceResponseAdapter, ServiceUtils, ShareCanActivateChildService, SideEnum, SnackBarService, StringConverter, TWELVE_HOUR_FORMAT_PATTERN, TWENTY_FOUR_HOUR_FORMAT_PATTERN, TableFilterByColumnDialogResult, Util, _getInjectionTokenValue, appConfigFactory, authServiceFactory, componentStateFactory, createServiceInstance, dataServiceFactory, dateFormatFactory, editorsMapping, exportDataFactory, exportServiceFactory, fileServiceFactory, getPermissionsServiceProvider, localStorageServiceFactory, nameConventionServiceFactory, noop, ontimizePostBootstrap, permissionsServiceFactory, preferencesServiceFactory, renderersMapping, serviceRequestAdapterFactory, serviceResponseAdapterFactory, translateServiceFactory };
41615
41644
  //# sourceMappingURL=ontimize-web-ngx.mjs.map