barsa-tiles 2.3.141 → 2.3.143

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Injectable, ChangeDetectionStrategy, Component, Input, Directive, ChangeDetectorRef, ViewContainerRef, HostListener, ElementRef, ViewChild, Pipe, EventEmitter, Output, HostBinding, Injector, input, Renderer2, TemplateRef, signal, DOCUMENT, NgModule, ComponentFactoryResolver, provideAppInitializer, NO_ERRORS_SCHEMA } from '@angular/core';
2
+ import { signal, computed, inject, Injectable, DestroyRef, ChangeDetectionStrategy, Component, Input, Directive, ChangeDetectorRef, ViewContainerRef, HostListener, EventEmitter, Output, ElementRef, ViewChild, Pipe, HostBinding, Injector, input, Renderer2, TemplateRef, DOCUMENT, NgModule, ComponentFactoryResolver, provideAppInitializer, NO_ERRORS_SCHEMA } from '@angular/core';
3
3
  import * as i5 from 'barsa-novin-ray-core';
4
- import { PortalService, BbbTranslatePipe, BarsaApi, TilePropsComponent, BaseComponent, BaseDirective, IsDarkMode, LocalStorageService, PreventDefaulEvent, getDeviceIsMobile, SaveScrollPositionService, ExecuteDynamicCommand, ShellbarHeightService, GroupByService, APP_VERSION, getDeviceIsDesktop, getDeviceIsTablet, ApplicationCtrlrService, BreadcrumbService, NotificationService, SortDirection, LogService, RoutingService, EmptyPageComponent, ReportNavigatorComponent, TileGroupBreadcrumResolver, PortalPageResolver, AuthGuard, BaseModule, DynamicComponentService, BarsaNovinRayCoreModule } from 'barsa-novin-ray-core';
5
- import { Subject, BehaviorSubject, of, from, takeUntil as takeUntil$1, filter as filter$1, interval, finalize as finalize$1, combineLatest, fromEvent, map as map$1, forkJoin } from 'rxjs';
6
- import { startWith, shareReplay, takeUntil, distinctUntilChanged, filter, tap, map, concatMap, debounceTime, exhaustMap, finalize, withLatestFrom } from 'rxjs/operators';
4
+ import { BarsaApi, PortalService, BbbTranslatePipe, TilePropsComponent, BaseComponent, BaseDirective, IsDarkMode, LocalStorageService, PreventDefaulEvent, getDeviceIsMobile, SaveScrollPositionService, ExecuteDynamicCommand, ShellbarHeightService, GroupByService, APP_VERSION, getDeviceIsDesktop, getDeviceIsTablet, ApplicationCtrlrService, BreadcrumbService, NotificationService, SortDirection, LogService, RoutingService, EmptyPageComponent, ReportNavigatorComponent, TileGroupBreadcrumResolver, PortalPageResolver, AuthGuard, BaseModule, DynamicComponentService, BarsaNovinRayCoreModule } from 'barsa-novin-ray-core';
5
+ import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
+ import { Subject, of, from, takeUntil, filter as filter$1, finalize, BehaviorSubject, interval, combineLatest, fromEvent, map as map$1, forkJoin } from 'rxjs';
7
+ import { startWith, shareReplay, distinctUntilChanged, filter, tap, map, concatMap, takeUntil as takeUntil$1, debounceTime, exhaustMap, finalize as finalize$1, withLatestFrom } from 'rxjs/operators';
7
8
  import { ThemingService, RtlService, DialogRef, DialogService, CarouselComponent, ContentDensityService, ShellbarComponent as ShellbarComponent$1, ComboboxComponent, FundamentalNgxCoreModule, GridListModule, ShellbarUserMenuComponent } from '@fundamental-ngx/core';
8
9
  import * as i1$2 from '@angular/common';
9
10
  import { CommonModule, LowerCasePipe } from '@angular/common';
@@ -31,14 +32,15 @@ import * as i2$2 from '@fundamental-ngx/core/bar';
31
32
  import * as i3$2 from '@fundamental-ngx/core/form';
32
33
  import * as i5$2 from '@fundamental-ngx/core/dialog';
33
34
  import * as i7$1 from '@fundamental-ngx/cdk/utils';
34
- import * as i8 from '@fundamental-ngx/platform';
35
+ import * as i8 from '@fundamental-ngx/core/select';
36
+ import * as i4$3 from '@fundamental-ngx/core/checkbox';
37
+ import * as i8$1 from '@fundamental-ngx/platform';
35
38
  import { IconTabBarComponent, IconTabBarTabComponent, IconTabBarTabContentDirective, SearchFieldComponent } from '@fundamental-ngx/platform';
36
- import * as i4$3 from '@fundamental-ngx/core/dynamic-page';
39
+ import * as i4$4 from '@fundamental-ngx/core/dynamic-page';
37
40
  import * as i6$2 from '@fundamental-ngx/core/switch';
38
41
  import * as i2$3 from 'barsa-echarts';
39
42
  import { BarsaEchartsModule } from 'barsa-echarts';
40
43
  import * as i2$4 from '@fundamental-ngx/core/carousel';
41
- import * as i4$4 from '@fundamental-ngx/core/checkbox';
42
44
  import { DomSanitizer } from '@angular/platform-browser';
43
45
  import * as i11 from '@fundamental-ngx/core/object-status';
44
46
  import * as i6$3 from '@fundamental-ngx/core/panel';
@@ -55,30 +57,96 @@ import { CdkTableModule } from '@angular/cdk/table';
55
57
  import { SplitterModule } from '@fundamental-ngx/btp/splitter';
56
58
  import * as i1$6 from '@fundamental-ngx/core/notification';
57
59
 
60
+ function setTileInfo(appTile) {
61
+ const title = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Title', null);
62
+ appTile.TileTitle = !appTile.Title ? title : appTile.Title;
63
+ const subtitle = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Subtitle', null);
64
+ appTile.Subtitle = !appTile.Subtitle ? subtitle : appTile.Subtitle;
65
+ }
66
+ function prepareNavigator(appTileGroup, translate) {
67
+ appTileGroup.$TileSettingChanged = false;
68
+ appTileGroup.$Disabledpin = false;
69
+ appTileGroup.navigatorTitle = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.Title', appTileGroup.Title);
70
+ appTileGroup.navigatorTitle =
71
+ appTileGroup.navigatorTitle === '' ? appTileGroup.Title : appTileGroup.navigatorTitle;
72
+ appTileGroup.navigatorTitle = translate.transform(appTileGroup.navigatorTitle);
73
+ const orderItem = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.OrderItem', null);
74
+ appTileGroup.navigatorOrderItem = orderItem !== null ? orderItem : appTileGroup.OrderItem;
75
+ const visible = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.Visible', null);
76
+ appTileGroup.navigatorVisible = visible !== null ? visible : appTileGroup.Visible;
77
+ const appTiles = appTileGroup.AppTiles?.MoDataList ?? [];
78
+ appTileGroup.navigatorTiles = appTiles
79
+ .filter((c) => c.Visible && !c.IsActionLink)
80
+ .sort((a, b) => Number(a.OrderItem) - Number(b.OrderItem));
81
+ appTileGroup.navigatorActionLinks = appTiles
82
+ .filter((c) => c.Visible && c.IsActionLink)
83
+ .sort((a, b) => Number(a.OrderItemActionLink) - Number(b.OrderItemActionLink));
84
+ appTileGroup.navigatorTiles.forEach((appTile) => setTileInfo(appTile));
85
+ appTileGroup.navigatorActionLinks.forEach((appTile) => setTileInfo(appTile));
86
+ appTileGroup.$Children?.forEach((subAppTileGroup) => prepareNavigator(subAppTileGroup, translate));
87
+ }
88
+
89
+ class TilesStore {
90
+ constructor() {
91
+ this.appTileGroups = signal(null);
92
+ this.editHome = signal(false);
93
+ this.shellbar = signal(null);
94
+ this.userInfo = signal(null);
95
+ this.componentSettings = signal(null);
96
+ this.homeAppTileGroups = computed(() => {
97
+ const allApps = this.appTileGroups();
98
+ if (!allApps) {
99
+ return [];
100
+ }
101
+ return [...(allApps.MoDataList ?? [])]
102
+ .filter((c) => c.Visible)
103
+ .sort((a, b) => Number(a.navigatorOrderItem) - Number(b.navigatorOrderItem));
104
+ });
105
+ this._portalService = inject(PortalService);
106
+ this._translate = inject(BbbTranslatePipe);
107
+ }
108
+ setAllApps(allApps) {
109
+ if (!allApps) {
110
+ this.appTileGroups.set(null);
111
+ return;
112
+ }
113
+ allApps.MoDataList?.forEach((g) => prepareNavigator(g, this._translate));
114
+ this.appTileGroups.set({ ...allApps });
115
+ }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
117
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesStore, providedIn: 'root' }); }
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesStore, decorators: [{
120
+ type: Injectable,
121
+ args: [{ providedIn: 'root' }]
122
+ }] });
123
+
58
124
  class TilesService {
59
125
  /** Inserted by Angular inject() migration for backwards compatibility */
60
126
  constructor() {
61
- this.shellbarSource = new Subject();
62
- this._OnDestroy$ = new Subject();
63
- this._homeAppTileGroupsSource = new BehaviorSubject([]);
64
- this.pinTilesSource = new Subject();
65
- this._appTileGroupsSource = new BehaviorSubject(null);
66
- this._userInfo$ = new BehaviorSubject(null);
67
- this._edithomeSource = new BehaviorSubject(false);
68
- this._componentSettings$ = new Subject();
127
+ /** New Angular model: signal-based state. */
128
+ this.appTileGroupsSig = signal(null);
129
+ this.homeAppTileGroupsSig = signal([]);
130
+ this.userInfoSig = signal(null);
131
+ this.editHomeSig = signal(false);
132
+ this.shellbarSig = signal(null);
133
+ this.componentSettingsSig = signal(null);
134
+ this._destroyRef = inject(DestroyRef);
135
+ this._pinTilesSource = new Subject();
136
+ this._store = inject(TilesStore);
69
137
  this._themingService = inject(ThemingService);
70
138
  this._portalService = inject(PortalService);
71
139
  this._rtlService = inject(RtlService);
72
140
  this._bbbTranslatePipe = inject(BbbTranslatePipe);
73
141
  this._appTileGroupLoaded = {};
74
142
  BarsaApi.Bw.TilesService = this;
75
- this.userInfo$ = this._userInfo$.asObservable();
76
- this.homeAppTileGroups$ = this._homeAppTileGroupsSource.asObservable();
77
- this.pinTiles$ = this.pinTilesSource.asObservable().pipe(startWith(null));
78
- this.shellbarSource = new Subject();
79
- this.shellbar$ = this.shellbarSource.asObservable().pipe(shareReplay(1));
80
- this.appTileGroups$ = this._appTileGroupsSource.pipe(shareReplay(1));
81
- this.edit$ = this._edithomeSource.asObservable().pipe(takeUntil(this._OnDestroy$), distinctUntilChanged());
143
+ this.userInfo$ = toObservable(this.userInfoSig);
144
+ this.homeAppTileGroups$ = toObservable(this.homeAppTileGroupsSig);
145
+ this.pinTiles$ = this._pinTilesSource.asObservable().pipe(startWith(null));
146
+ this.shellbar$ = toObservable(this.shellbarSig).pipe(shareReplay({ bufferSize: 1, refCount: true }));
147
+ this.appTileGroups$ = toObservable(this.appTileGroupsSig).pipe(shareReplay({ bufferSize: 1, refCount: true }));
148
+ this.edit$ = toObservable(this.editHomeSig).pipe(distinctUntilChanged());
149
+ this.componentSettings$ = toObservable(this.componentSettingsSig).pipe(filter((c) => c != null), shareReplay({ bufferSize: 1, refCount: true }));
82
150
  this.deviceSize$ = this._portalService.deviceSize$;
83
151
  this._rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);
84
152
  this.appTileGroups$
@@ -87,20 +155,15 @@ class TilesService {
87
155
  this._allAppsLoaded(moForReportModel);
88
156
  }
89
157
  }))
158
+ .pipe(takeUntilDestroyed(this._destroyRef))
90
159
  .subscribe();
91
160
  BarsaApi.Ul.ApplicationCtrlr.on('GlobalRefreshTile', this._onApplication_GlobalRefreshTile.bind(this));
92
161
  }
93
- get componentSettings$() {
94
- return this._componentSettings$.asObservable();
95
- }
96
162
  get isDark$() {
97
163
  return this._themingService.currentTheme.pipe(map((c) => c && c.name.toLocaleLowerCase().includes('dark')));
98
164
  }
99
165
  get appTileGroups() {
100
- return this._appTileGroupsSource.getValue();
101
- }
102
- ngOnDestroy() {
103
- this._OnDestroy$.next();
166
+ return this.appTileGroupsSig();
104
167
  }
105
168
  loadAllAppTileGroupsByReportId(id) {
106
169
  this._loadAllAppTileGroupsByReportId(id);
@@ -117,7 +180,7 @@ class TilesService {
117
180
  Method: 'BarsaPortalGetProfileImage',
118
181
  SuccessFn: (res) => {
119
182
  const userInfo = BarsaApi.Ext.decode(res);
120
- this._userInfo$.next(userInfo);
183
+ this.userInfoSig.set(userInfo);
121
184
  },
122
185
  FailFn: () => { }
123
186
  });
@@ -126,7 +189,7 @@ class TilesService {
126
189
  if (!appTileGroup || this._appTileGroupLoaded[appTileGroup.Id]) {
127
190
  return;
128
191
  }
129
- const allApps = this._appTileGroupsSource.getValue();
192
+ const allApps = this.appTileGroupsSig();
130
193
  if (allApps) {
131
194
  const selectedAppTilegroup = allApps?.MoDataList.find((c) => c.Id === appTileGroup.Id);
132
195
  if (selectedAppTilegroup) {
@@ -138,7 +201,7 @@ class TilesService {
138
201
  }
139
202
  }
140
203
  loadAppTileGroupsById(appTileGroupId) {
141
- const allApps = this._appTileGroupsSource.getValue();
204
+ const allApps = this.appTileGroupsSig();
142
205
  if (allApps) {
143
206
  const selectedAppTilegroup = allApps?.MoDataList.find((c) => c.Id === appTileGroupId);
144
207
  if (selectedAppTilegroup) {
@@ -206,8 +269,8 @@ class TilesService {
206
269
  Parameters: [appGroup.Id],
207
270
  Method: 'ToggleAppTileGroupSettingVisible',
208
271
  SuccessFn: (appGroupSetting) => {
209
- this._updateAppTileGroupSettings(appGroup, appGroupSetting);
210
- resolve(appGroupSetting);
272
+ const x = this._updateAppTileGroupSettings(appGroup, appGroupSetting);
273
+ resolve(x);
211
274
  },
212
275
  FailFn: () => {
213
276
  reject(null);
@@ -250,7 +313,7 @@ class TilesService {
250
313
  const allApps = this.appTileGroups;
251
314
  if (allApps) {
252
315
  allApps.MoDataList = allApps.MoDataList.filter((c) => c.Id !== appGroupId);
253
- this._appTileGroupsSource.next({ ...allApps });
316
+ this.appTileGroupsSig.set({ ...allApps });
254
317
  }
255
318
  }));
256
319
  }
@@ -265,8 +328,8 @@ class TilesService {
265
328
  Parameters: [selectedGroup.Id, appTile.Id, appTile.Title, appTile.Subtitle],
266
329
  Method: 'ChangeAppTileSetting',
267
330
  SuccessFn: (settings) => {
268
- this._updateAppTileGroupSettings(selectedGroup, settings);
269
- this._nextAllAppTileGroups(allApps);
331
+ const updatedGroup = this._updateAppTileGroupSettings(selectedGroup, settings);
332
+ this._nextAllAppTileGroups(allApps, updatedGroup);
270
333
  resolve(selectedGroup);
271
334
  },
272
335
  FailFn: () => {
@@ -290,10 +353,11 @@ class TilesService {
290
353
  });
291
354
  })).pipe();
292
355
  }
293
- createAppGroup(title) {
356
+ createAppGroup(title, parentId = null) {
357
+ const primaryParams = parentId ? [title, parentId] : [title];
294
358
  return from(new Promise((resolve, reject) => {
295
359
  BarsaApi.Bw.RunBlMethodAsync({
296
- Parameters: [title],
360
+ Parameters: primaryParams,
297
361
  Method: 'CreateAppTileGroup',
298
362
  SuccessFn: (mo) => {
299
363
  resolve(mo);
@@ -319,7 +383,7 @@ class TilesService {
319
383
  const selectedAppTile = this.findAppTileWithKey(allApps, 'A_App_Component.Settings.Id', appTile.A_App_Component.Settings.Id);
320
384
  if (selectedAppTile && selectedAppTile.A_App_Component) {
321
385
  BarsaApi.Common.Merger.FastMerge(selectedAppTile.A_App_Component.Settings, appTile.A_App_Component.Settings);
322
- this._componentSettings$.next(selectedAppTile.A_App_Component.Settings);
386
+ this.componentSettingsSig.set(selectedAppTile.A_App_Component.Settings);
323
387
  }
324
388
  }
325
389
  updataAppTileSetting(selectedGroup, appGroupSetting) {
@@ -329,35 +393,36 @@ class TilesService {
329
393
  appGroup.UserAppTileGroupSetting = appGroupSetting;
330
394
  }
331
395
  });
332
- this._appTileGroupsSource.next(allApps);
396
+ this.appTileGroupsSig.set(allApps ? { ...allApps } : null);
333
397
  }
334
398
  addAppGroup(mo) {
335
399
  const allApps = this.appTileGroups;
336
400
  if (allApps) {
337
- allApps.MoDataList.push(mo);
338
- this._appTileGroupsSource.next(allApps);
401
+ const parentId = mo.$ParentId ?? mo.ParentId ?? mo.AppTileGroupParentId;
402
+ if (parentId) {
403
+ const parent = allApps.MoDataList.find((g) => g.Id === parentId);
404
+ if (parent) {
405
+ parent.$Children = parent.$Children ?? [];
406
+ parent.$Children.push(mo);
407
+ this._prepareNavigator(parent);
408
+ }
409
+ else {
410
+ allApps.MoDataList.push(mo);
411
+ }
412
+ }
413
+ else {
414
+ allApps.MoDataList.push(mo);
415
+ }
416
+ this._nextAllAppTileGroups(allApps);
339
417
  }
340
418
  }
341
- singlePinTileChanged(appTileId) {
419
+ singlePinTileChanged(appTile, callback) {
342
420
  const allApps = this.appTileGroups;
343
- const group = this.findGroupWithAppTileId(allApps, appTileId);
421
+ const group = this.findGroupWithAppTileId(allApps, appTile.Id);
344
422
  if (group === null) {
345
- return of(false);
423
+ return;
346
424
  }
347
- return from(new Promise((resolve, reject) => {
348
- BarsaApi.Bw.RunBlMethodAsync({
349
- Parameters: [group.Id, appTileId],
350
- Method: 'RemoveAppTileFromTileGroup',
351
- SuccessFn: (setting) => {
352
- this._updateAppTileGroupSettings(group, setting);
353
- this._nextAllAppTileGroups(allApps);
354
- resolve(true);
355
- },
356
- FailFn: () => {
357
- reject(false);
358
- }
359
- });
360
- }));
425
+ this.pinTileChanged([{ appTileGroup: group, visible: false }], appTile, callback);
361
426
  }
362
427
  pinTileChanged(appTileGroupsPin, app, callback) {
363
428
  const allApps = this.appTileGroups;
@@ -409,7 +474,7 @@ class TilesService {
409
474
  Parameters: [BarsaApi.LoginFormData.PortalId],
410
475
  Method: 'LoadShellbarByPortalId',
411
476
  SuccessFn: (shellbar) => {
412
- this.shellbarSource.next(shellbar);
477
+ this.shellbarSig.set(shellbar);
413
478
  },
414
479
  FailFn: () => {
415
480
  // TODO show error
@@ -420,31 +485,28 @@ class TilesService {
420
485
  // .then((moForReportModel) => this.shellbarSource.next(moForReportModel.MoDataList[0]));
421
486
  }
422
487
  _setTileInfo(appTile) {
423
- {
424
- const title = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Title', null);
425
- appTile.TileTitle = !appTile.Title ? title : appTile.Title;
426
- const subtitle = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Subtitle', null);
427
- appTile.Subtitle = !appTile.Subtitle ? subtitle : appTile.Subtitle;
428
- }
488
+ setTileInfo(appTile);
429
489
  }
430
490
  getTileGroups() {
431
- return this._appTileGroupsSource.getValue();
491
+ return this.appTileGroupsSig();
432
492
  }
433
493
  setEditHome(edit) {
434
- this._edithomeSource.next(edit);
494
+ this.editHomeSig.set(edit);
435
495
  }
436
496
  _loadAllAppTileGroupsByReportId(id) {
437
497
  this._portalService
438
498
  .ReportExecuteById(id)
499
+ .pipe(takeUntilDestroyed(this._destroyRef))
439
500
  .subscribe((allApps) => this._nextAllAppTileGroups(allApps));
440
501
  }
441
502
  _loadAllAppTileGroups() {
442
503
  this._portalService
443
504
  .ReportExecute('AllAppTileGroups')
505
+ .pipe(takeUntilDestroyed(this._destroyRef))
444
506
  .subscribe((allApps) => this._nextAllAppTileGroups(allApps));
445
507
  }
446
508
  _onApplication_GlobalRefreshTile(_sender, appTilesTitle) {
447
- const allApps = this._appTileGroupsSource.getValue();
509
+ const allApps = this.appTileGroupsSig();
448
510
  const appTiles = [];
449
511
  if (allApps) {
450
512
  appTilesTitle.forEach((c) => {
@@ -454,7 +516,7 @@ class TilesService {
454
516
  }
455
517
  });
456
518
  this._updateAppTileFromNotification(allApps, appTiles);
457
- this._appTileGroupsSource.next(allApps);
519
+ this.appTileGroupsSig.set({ ...allApps });
458
520
  }
459
521
  }
460
522
  _updateAppTileFromNotification(allApps, appTiles) {
@@ -466,7 +528,7 @@ class TilesService {
466
528
  Method: 'RefreshAppTiles',
467
529
  SuccessFn: (result) => {
468
530
  result.MoDataList.forEach((c) => this.updateAppTile(allApps, c));
469
- this._appTileGroupsSource.next({ ...allApps });
531
+ this.appTileGroupsSig.set({ ...allApps });
470
532
  },
471
533
  FailFn: () => { }
472
534
  });
@@ -540,16 +602,22 @@ class TilesService {
540
602
  }
541
603
  });
542
604
  }
543
- _nextAllAppTileGroups(newAllApps = null) {
544
- const allApps = newAllApps ?? this._appTileGroupsSource.getValue();
545
- this._appTileGroupsSource.next(allApps ? { ...allApps } : null);
605
+ _nextAllAppTileGroups(newAllApps = null, appTileGroup = null) {
606
+ const allApps = newAllApps ?? this.appTileGroupsSig();
607
+ const x = allApps?.MoDataList.findIndex((c) => c.Id === appTileGroup?.Id);
608
+ if (appTileGroup && allApps && x !== undefined && x !== -1) {
609
+ allApps.MoDataList[x] = appTileGroup;
610
+ }
611
+ // Keep signal + store in sync during migration.
612
+ this.appTileGroupsSig.set(allApps ? { ...allApps } : null);
613
+ this._store.setAllApps(allApps ? { ...allApps } : null);
546
614
  }
547
615
  _setHomeAppTileGroups(appGroups) {
548
616
  let newAppGroups = [...appGroups];
549
617
  newAppGroups = newAppGroups
550
618
  .filter((c) => c.Visible)
551
619
  .sort((a, b) => Number(a.navigatorOrderItem) - Number(b.navigatorOrderItem));
552
- this._homeAppTileGroupsSource.next(newAppGroups);
620
+ this.homeAppTileGroupsSig.set(newAppGroups);
553
621
  }
554
622
  _saveUserPortalSettings(userPortalSettings) {
555
623
  return new Promise((resolve, reject) => {
@@ -640,6 +708,7 @@ class TilesService {
640
708
  return selectedGroup;
641
709
  }
642
710
  _updateAppTileGroupSettings(appTileGroup, setting) {
711
+ appTileGroup = { ...appTileGroup };
643
712
  appTileGroup.UserAppTileGroupSetting = setting;
644
713
  appTileGroup.AppTiles.MoDataList.forEach((e, i) => {
645
714
  const ex = setting.UserAppTilesSetting.MoDataList.find((c) => c.Id === e.Id);
@@ -652,38 +721,7 @@ class TilesService {
652
721
  return appTileGroup;
653
722
  }
654
723
  _prepareNavigator(appTileGroup) {
655
- appTileGroup.$TileSettingChanged = false;
656
- appTileGroup.$Disabledpin = false;
657
- appTileGroup.navigatorTitle = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.Title', appTileGroup.Title);
658
- appTileGroup.navigatorTitle = appTileGroup.navigatorTitle =
659
- appTileGroup.navigatorTitle === '' ? appTileGroup.Title : appTileGroup.navigatorTitle;
660
- appTileGroup.navigatorTitle = this._bbbTranslatePipe.transform(appTileGroup.navigatorTitle);
661
- const orderItem = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.OrderItem', null);
662
- if (orderItem !== null) {
663
- appTileGroup.navigatorOrderItem = orderItem;
664
- }
665
- else {
666
- appTileGroup.navigatorOrderItem = appTileGroup.OrderItem;
667
- }
668
- const visible = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.Visible', null);
669
- if (visible !== null) {
670
- appTileGroup.navigatorVisible = visible;
671
- }
672
- else {
673
- appTileGroup.navigatorVisible = appTileGroup.Visible;
674
- }
675
- const appTiles = appTileGroup.AppTiles?.MoDataList ?? [];
676
- appTileGroup.navigatorTiles = appTiles
677
- .filter((c) => c.Visible && !c.IsActionLink)
678
- .sort((a, b) => Number(a.OrderItem) - Number(b.OrderItem));
679
- appTileGroup.navigatorActionLinks = appTiles
680
- .filter((c) => c.Visible && c.IsActionLink)
681
- .sort((a, b) => Number(a.OrderItemActionLink) - Number(b.OrderItemActionLink));
682
- appTileGroup.navigatorTiles.forEach((appTile) => this._setTileInfo(appTile));
683
- appTileGroup.navigatorActionLinks.forEach((appTile) => this._setTileInfo(appTile));
684
- appTileGroup.$Children?.forEach((subAppTileGroup) => {
685
- this._prepareNavigator(subAppTileGroup);
686
- });
724
+ prepareNavigator(appTileGroup, this._bbbTranslatePipe);
687
725
  }
688
726
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
689
727
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesService, providedIn: 'root' }); }
@@ -865,12 +903,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
865
903
  }] } });
866
904
 
867
905
  class TileComponent extends TilePropsComponent {
906
+ constructor() {
907
+ super(...arguments);
908
+ /** Open "change group" (pin) dialog from tile menu */
909
+ this.changeGroupClick = new EventEmitter();
910
+ }
868
911
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
869
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: TileComponent, isStandalone: false, selector: "bt-tile", inputs: { type: "type", footerTemplate: "footerTemplate", footer: "footer", title: "title", icon: "icon", subtitle: "subtitle", isDouble: "isDouble", darkMode: "darkMode", disableClick: "disableClick", edit: "edit", dynamicCommand: "dynamicCommand", backColor: "backColor", hideHeader: "hideHeader", setToStorage: "setToStorage", listMode: "listMode", navigateBackOnClick: "navigateBackOnClick" }, usesInheritance: true, ngImport: i0, template: "@if(!listMode) {\r\n<fd-tile\r\n [type]=\"type\"\r\n [double]=\"isDouble\"\r\n [action]=\"edit\"\r\n tileStyle\r\n [backColor]=\"darkMode ? '' : backColor\"\r\n [size]=\"'s'\"\r\n tileDynCommand\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"title\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"dynamicCommand\"\r\n>\r\n @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n } @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n } @if(!hideHeader){\r\n <div fd-tile-header>\r\n <h1 fd-tile-title [overflowText]=\"title | bbbTranslate\">\r\n {{ title | bbbTranslate }}\r\n </h1>\r\n <h2 fd-tile-subtitle>\r\n {{ subtitle | bbbTranslate }}\r\n </h2>\r\n </div>\r\n }\r\n <ng-content></ng-content>\r\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\r\n</fd-tile>\r\n}@else{\r\n<span fd-list-title> {{ title | bbbTranslate }} </span>\r\n<span fd-list-secondary> {{ subtitle | bbbTranslate }} </span>\r\n@if(icon){ <i fd-list-icon [glyph]=\"icon\"></i>} }\r\n<ng-template #defaultFooter>\r\n @if (footer) {\r\n <div\r\n fd-tile-footer\r\n bt-footer-tile\r\n [secondSection]=\"footer.SecondSection\"\r\n [twoColumn]=\"footer.twoColumn\"\r\n [firstSection]=\"footer.FirstSection\"\r\n ></div>\r\n\r\n }\r\n</ng-template>\r\n<fd-menu #menu>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n</fd-menu>\r\n", styles: [":host,fd-tile{display:block}\n"], dependencies: [{ kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { kind: "directive", type: i6.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i6.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i4.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i4.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i4.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i1$1.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "directive", type: i1$1.TileHeaderDirective, selector: "[fdTileHeader], [fd-tile-header]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileFooterDirective, selector: "[fdTileFooter], [fd-tile-footer]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileTitleDirective, selector: "[fdTileTitle], [fd-tile-title]" }, { kind: "directive", type: i1$1.TileSubtitleDirective, selector: "[fdTileTitle], [fd-tile-subtitle]" }, { kind: "directive", type: i1$1.TileActionCloseDirective, selector: "[fdTileActionClose], [fd-tile-action-close]", inputs: ["class"] }, { kind: "directive", type: i1$1.TileActionIndicatorDirective, selector: "[fdTileActionIndicator], [fd-tile-action-indicator]", inputs: ["class"] }, { kind: "directive", type: i5.OverflowTextDirective, selector: "[overflowText]", exportAs: ["overflowText"] }, { kind: "component", type: FooterTileComponent, selector: "bt-footer-tile,div[bt-footer-tile]", inputs: ["firstSection", "secondSection", "twoColumn"] }, { kind: "directive", type: TileStyleDirective, selector: "[tileStyle]", inputs: ["backColor"] }, { kind: "directive", type: TileDynamicCommandDirective, selector: "[tileDynCommand]", inputs: ["disableClick", "edit", "dynamicCommand", "title", "setToStorage", "navigateBackOnClick"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
912
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: TileComponent, isStandalone: false, selector: "bt-tile", inputs: { type: "type", footerTemplate: "footerTemplate", footer: "footer", title: "title", icon: "icon", subtitle: "subtitle", isDouble: "isDouble", darkMode: "darkMode", disableClick: "disableClick", edit: "edit", dynamicCommand: "dynamicCommand", backColor: "backColor", hideHeader: "hideHeader", setToStorage: "setToStorage", listMode: "listMode", navigateBackOnClick: "navigateBackOnClick" }, outputs: { changeGroupClick: "changeGroupClick" }, usesInheritance: true, ngImport: i0, template: "@if(!listMode) {\r\n<fd-tile\r\n [type]=\"type\"\r\n [double]=\"isDouble\"\r\n [action]=\"edit\"\r\n tileStyle\r\n [backColor]=\"darkMode ? '' : backColor\"\r\n [size]=\"'s'\"\r\n tileDynCommand\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"title\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"dynamicCommand\"\r\n>\r\n @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n } @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n } @if(!hideHeader){\r\n <div fd-tile-header>\r\n <h1 fd-tile-title [overflowText]=\"title | bbbTranslate\">\r\n {{ title | bbbTranslate }}\r\n </h1>\r\n <h2 fd-tile-subtitle>\r\n {{ subtitle | bbbTranslate }}\r\n </h2>\r\n </div>\r\n }\r\n <ng-content></ng-content>\r\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\r\n</fd-tile>\r\n}@else{\r\n<span fd-list-title> {{ title | bbbTranslate }} </span>\r\n<span fd-list-secondary> {{ subtitle | bbbTranslate }} </span>\r\n@if(icon){ <i fd-list-icon [glyph]=\"icon\"></i>} }\r\n<ng-template #defaultFooter>\r\n @if (footer) {\r\n <div\r\n fd-tile-footer\r\n bt-footer-tile\r\n [secondSection]=\"footer.SecondSection\"\r\n [twoColumn]=\"footer.twoColumn\"\r\n [firstSection]=\"footer.FirstSection\"\r\n ></div>\r\n\r\n }\r\n</ng-template>\r\n<fd-menu #menu>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); changeGroupClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Groups' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n</fd-menu>\r\n", styles: [":host,fd-tile{display:block}\n"], dependencies: [{ kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { kind: "directive", type: i6.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i6.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i4.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i4.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i4.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i1$1.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "directive", type: i1$1.TileHeaderDirective, selector: "[fdTileHeader], [fd-tile-header]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileFooterDirective, selector: "[fdTileFooter], [fd-tile-footer]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileTitleDirective, selector: "[fdTileTitle], [fd-tile-title]" }, { kind: "directive", type: i1$1.TileSubtitleDirective, selector: "[fdTileTitle], [fd-tile-subtitle]" }, { kind: "directive", type: i1$1.TileActionCloseDirective, selector: "[fdTileActionClose], [fd-tile-action-close]", inputs: ["class"] }, { kind: "directive", type: i1$1.TileActionIndicatorDirective, selector: "[fdTileActionIndicator], [fd-tile-action-indicator]", inputs: ["class"] }, { kind: "directive", type: i5.OverflowTextDirective, selector: "[overflowText]", exportAs: ["overflowText"] }, { kind: "component", type: FooterTileComponent, selector: "bt-footer-tile,div[bt-footer-tile]", inputs: ["firstSection", "secondSection", "twoColumn"] }, { kind: "directive", type: TileStyleDirective, selector: "[tileStyle]", inputs: ["backColor"] }, { kind: "directive", type: TileDynamicCommandDirective, selector: "[tileDynCommand]", inputs: ["disableClick", "edit", "dynamicCommand", "title", "setToStorage", "navigateBackOnClick"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
870
913
  }
871
914
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TileComponent, decorators: [{
872
915
  type: Component,
873
- args: [{ selector: 'bt-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if(!listMode) {\r\n<fd-tile\r\n [type]=\"type\"\r\n [double]=\"isDouble\"\r\n [action]=\"edit\"\r\n tileStyle\r\n [backColor]=\"darkMode ? '' : backColor\"\r\n [size]=\"'s'\"\r\n tileDynCommand\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"title\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"dynamicCommand\"\r\n>\r\n @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n } @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n } @if(!hideHeader){\r\n <div fd-tile-header>\r\n <h1 fd-tile-title [overflowText]=\"title | bbbTranslate\">\r\n {{ title | bbbTranslate }}\r\n </h1>\r\n <h2 fd-tile-subtitle>\r\n {{ subtitle | bbbTranslate }}\r\n </h2>\r\n </div>\r\n }\r\n <ng-content></ng-content>\r\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\r\n</fd-tile>\r\n}@else{\r\n<span fd-list-title> {{ title | bbbTranslate }} </span>\r\n<span fd-list-secondary> {{ subtitle | bbbTranslate }} </span>\r\n@if(icon){ <i fd-list-icon [glyph]=\"icon\"></i>} }\r\n<ng-template #defaultFooter>\r\n @if (footer) {\r\n <div\r\n fd-tile-footer\r\n bt-footer-tile\r\n [secondSection]=\"footer.SecondSection\"\r\n [twoColumn]=\"footer.twoColumn\"\r\n [firstSection]=\"footer.FirstSection\"\r\n ></div>\r\n\r\n }\r\n</ng-template>\r\n<fd-menu #menu>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n</fd-menu>\r\n", styles: [":host,fd-tile{display:block}\n"] }]
916
+ args: [{ selector: 'bt-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if(!listMode) {\r\n<fd-tile\r\n [type]=\"type\"\r\n [double]=\"isDouble\"\r\n [action]=\"edit\"\r\n tileStyle\r\n [backColor]=\"darkMode ? '' : backColor\"\r\n [size]=\"'s'\"\r\n tileDynCommand\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"title\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"dynamicCommand\"\r\n>\r\n @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n } @if (edit && !data.Locked) {\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n } @if(!hideHeader){\r\n <div fd-tile-header>\r\n <h1 fd-tile-title [overflowText]=\"title | bbbTranslate\">\r\n {{ title | bbbTranslate }}\r\n </h1>\r\n <h2 fd-tile-subtitle>\r\n {{ subtitle | bbbTranslate }}\r\n </h2>\r\n </div>\r\n }\r\n <ng-content></ng-content>\r\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\r\n</fd-tile>\r\n}@else{\r\n<span fd-list-title> {{ title | bbbTranslate }} </span>\r\n<span fd-list-secondary> {{ subtitle | bbbTranslate }} </span>\r\n@if(icon){ <i fd-list-icon [glyph]=\"icon\"></i>} }\r\n<ng-template #defaultFooter>\r\n @if (footer) {\r\n <div\r\n fd-tile-footer\r\n bt-footer-tile\r\n [secondSection]=\"footer.SecondSection\"\r\n [twoColumn]=\"footer.twoColumn\"\r\n [firstSection]=\"footer.FirstSection\"\r\n ></div>\r\n\r\n }\r\n</ng-template>\r\n<fd-menu #menu>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); changeGroupClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Groups' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n</fd-menu>\r\n", styles: [":host,fd-tile{display:block}\n"] }]
874
917
  }], propDecorators: { type: [{
875
918
  type: Input
876
919
  }], footerTemplate: [{
@@ -903,6 +946,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
903
946
  type: Input
904
947
  }], navigateBackOnClick: [{
905
948
  type: Input
949
+ }], changeGroupClick: [{
950
+ type: Output
906
951
  }] } });
907
952
 
908
953
  class BaseBtTileComponent extends BaseTileComponent {
@@ -917,14 +962,27 @@ class BaseBtTileComponent extends BaseTileComponent {
917
962
  this._renderer2.addClass(this._btTitleElementRef.nativeElement, 'disable-tile-resize');
918
963
  }
919
964
  this._tilesService.componentSettings$
920
- .pipe(takeUntil$1(this._onDestroy$), filter$1((c) => c.Id === this.settings.Id))
965
+ .pipe(takeUntil(this._onDestroy$), filter$1((c) => c.Id === this.settings.Id))
921
966
  .subscribe((_c) => {
922
967
  this._cdr.detectChanges();
923
968
  });
924
969
  this._renderer2.addClass(this.el.nativeElement, 'barsa-tile');
925
970
  }
971
+ ngOnChanges(changes) {
972
+ super.ngOnChanges(changes);
973
+ let detectChanges = false;
974
+ Object.keys(changes).forEach((key) => {
975
+ if (!changes[key].firstChange) {
976
+ this[key] = changes[key].currentValue;
977
+ detectChanges = true;
978
+ }
979
+ });
980
+ if (detectChanges) {
981
+ this._cdr.detectChanges();
982
+ }
983
+ }
926
984
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseBtTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
927
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: BaseBtTileComponent, isStandalone: false, selector: "bt-base-bt-tile", viewQueries: [{ propertyName: "_btTitleElementRef", first: true, predicate: TileComponent, descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
985
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: BaseBtTileComponent, isStandalone: false, selector: "bt-base-bt-tile", viewQueries: [{ propertyName: "_btTitleElementRef", first: true, predicate: TileComponent, descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
928
986
  }
929
987
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BaseBtTileComponent, decorators: [{
930
988
  type: Component,
@@ -1006,11 +1064,11 @@ class FormTileComponent extends BaseBtTileComponent {
1006
1064
  BarsaApi.Bw.RunBlMethodAsync(options);
1007
1065
  }
1008
1066
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FormTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1009
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: FormTileComponent, isStandalone: false, selector: "bt-form-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n [disableClick]=\"true\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n @if (params) {\r\n <bnrc-form [params]=\"params\"></bnrc-form>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}bnrc-form{z-index:3}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i5.FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange", "inlineEditInReport"], outputs: ["titleChanged", "moChanged", "formClose", "uiComponent", "formRendered", "bruleAction", "beforeTransition", "afterTransition"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1067
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: FormTileComponent, isStandalone: false, selector: "bt-form-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n [disableClick]=\"true\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n @if (params) {\r\n <bnrc-form [params]=\"params\"></bnrc-form>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}bnrc-form{z-index:3}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i5.FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange", "inlineEditInReport"], outputs: ["titleChanged", "moChanged", "formClose", "uiComponent", "formRendered", "bruleAction", "beforeTransition", "afterTransition"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1010
1068
  }
1011
1069
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FormTileComponent, decorators: [{
1012
1070
  type: Component,
1013
- args: [{ selector: 'bt-form-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n [disableClick]=\"true\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n @if (params) {\r\n <bnrc-form [params]=\"params\"></bnrc-form>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}bnrc-form{z-index:3}\n"] }]
1071
+ args: [{ selector: 'bt-form-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n [disableClick]=\"true\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n @if (params) {\r\n <bnrc-form [params]=\"params\"></bnrc-form>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}bnrc-form{z-index:3}\n"] }]
1014
1072
  }] });
1015
1073
 
1016
1074
  class TileGroupBaseComponent extends BaseComponent {
@@ -1019,6 +1077,7 @@ class TileGroupBaseComponent extends BaseComponent {
1019
1077
  this.tilesDropped = new EventEmitter();
1020
1078
  this.hideAppTileClick = new EventEmitter();
1021
1079
  this.renameAppTileClick = new EventEmitter();
1080
+ this.changeGroupAppTileClick = new EventEmitter();
1022
1081
  this.toggleGroup = new EventEmitter();
1023
1082
  this.resetGroup = new EventEmitter();
1024
1083
  this.deleteGroup = new EventEmitter();
@@ -1049,6 +1108,9 @@ class TileGroupBaseComponent extends BaseComponent {
1049
1108
  onAppTileRenameClick(appTile) {
1050
1109
  this.renameAppTileClick.emit(appTile);
1051
1110
  }
1111
+ onAppTileChangeGroupClick(appTile) {
1112
+ this.changeGroupAppTileClick.emit(appTile);
1113
+ }
1052
1114
  onDelete(appTileGroup) {
1053
1115
  this.deleteGroup.emit(appTileGroup);
1054
1116
  }
@@ -1062,7 +1124,7 @@ class TileGroupBaseComponent extends BaseComponent {
1062
1124
  this._cdr.detectChanges();
1063
1125
  }
1064
1126
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TileGroupBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1065
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: TileGroupBaseComponent, isStandalone: false, selector: "bt-tile-group-base", inputs: { parameters: "parameters", appTileGroup: "appTileGroup", stackContent: "stackContent", cssStyles: "cssStyles", edit: "edit", rtl: "rtl", isAppTileSubGroup: "isAppTileSubGroup", deviceSize: "deviceSize", isLast: "isLast" }, outputs: { tilesDropped: "tilesDropped", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: TileGroupBaseComponent, isStandalone: false, selector: "bt-tile-group-base", inputs: { parameters: "parameters", appTileGroup: "appTileGroup", stackContent: "stackContent", cssStyles: "cssStyles", edit: "edit", rtl: "rtl", isAppTileSubGroup: "isAppTileSubGroup", deviceSize: "deviceSize", isLast: "isLast" }, outputs: { tilesDropped: "tilesDropped", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", changeGroupAppTileClick: "changeGroupAppTileClick", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1066
1128
  }
1067
1129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TileGroupBaseComponent, decorators: [{
1068
1130
  type: Component,
@@ -1096,6 +1158,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
1096
1158
  type: Output
1097
1159
  }], renameAppTileClick: [{
1098
1160
  type: Output
1161
+ }], changeGroupAppTileClick: [{
1162
+ type: Output
1099
1163
  }], toggleGroup: [{
1100
1164
  type: Output
1101
1165
  }], resetGroup: [{
@@ -1158,6 +1222,7 @@ class TileRendererDirective extends BaseDirective {
1158
1222
  super(...arguments);
1159
1223
  this.hideClick = new EventEmitter();
1160
1224
  this.renameClick = new EventEmitter();
1225
+ this.changeGroupClick = new EventEmitter();
1161
1226
  this._cdr = inject(ChangeDetectorRef);
1162
1227
  this._vcr = inject(ViewContainerRef);
1163
1228
  this._injector = inject(Injector);
@@ -1170,7 +1235,7 @@ class TileRendererDirective extends BaseDirective {
1170
1235
  const { Module, ModuleFileName, Name, Selector } = this.component;
1171
1236
  this._portalService
1172
1237
  .getComponent(Module, ModuleFileName, Name, Selector, this._injector)
1173
- .pipe(takeUntil(this._onDestroy$))
1238
+ .pipe(takeUntil$1(this._onDestroy$))
1174
1239
  .subscribe((componentRef) => {
1175
1240
  const instance = componentRef.instance;
1176
1241
  instance.data = this.data;
@@ -1180,10 +1245,12 @@ class TileRendererDirective extends BaseDirective {
1180
1245
  instance.listMode = this.listMode;
1181
1246
  instance.groupType = this.groupType;
1182
1247
  instance.navigateBackOnClick = this.navigateBackOnClick;
1183
- instance.hideClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => {
1248
+ instance.hideClick?.pipe(takeUntil$1(this._onDestroy$)).subscribe(() => {
1184
1249
  this.hideClick.emit();
1185
1250
  });
1186
- instance.renameClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => this.renameClick.emit());
1251
+ instance.renameClick?.pipe(takeUntil$1(this._onDestroy$)).subscribe(() => this.renameClick.emit());
1252
+ instance.changeGroupClick?.pipe(takeUntil$1(this._onDestroy$))
1253
+ .subscribe(() => this.changeGroupClick.emit());
1187
1254
  this._vcr.insert(componentRef.hostView);
1188
1255
  this._tileRef = componentRef;
1189
1256
  // this._cdr.detectChanges();
@@ -1194,6 +1261,9 @@ class TileRendererDirective extends BaseDirective {
1194
1261
  if (edit && !edit.firstChange) {
1195
1262
  this._tileRef.instance.setEditHome(edit.currentValue);
1196
1263
  }
1264
+ else {
1265
+ this._tileRef?.instance.ngOnChanges(changes);
1266
+ }
1197
1267
  }
1198
1268
  ngOnDestroy() {
1199
1269
  super.ngOnDestroy();
@@ -1202,7 +1272,7 @@ class TileRendererDirective extends BaseDirective {
1202
1272
  }
1203
1273
  }
1204
1274
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TileRendererDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
1205
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: TileRendererDirective, isStandalone: false, selector: "[tileRenderer]", inputs: { component: "component", data: "data", groupType: "groupType", edit: "edit", deviceSize: "deviceSize", setToStorage: "setToStorage", listMode: "listMode", navigateBackOnClick: "navigateBackOnClick" }, outputs: { hideClick: "hideClick", renameClick: "renameClick" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
1275
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: TileRendererDirective, isStandalone: false, selector: "[tileRenderer]", inputs: { component: "component", data: "data", groupType: "groupType", edit: "edit", deviceSize: "deviceSize", setToStorage: "setToStorage", listMode: "listMode", navigateBackOnClick: "navigateBackOnClick" }, outputs: { hideClick: "hideClick", renameClick: "renameClick", changeGroupClick: "changeGroupClick" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
1206
1276
  }
1207
1277
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TileRendererDirective, decorators: [{
1208
1278
  type: Directive,
@@ -1230,6 +1300,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
1230
1300
  type: Output
1231
1301
  }], renameClick: [{
1232
1302
  type: Output
1303
+ }], changeGroupClick: [{
1304
+ type: Output
1233
1305
  }] } });
1234
1306
 
1235
1307
  class TileClassDirective extends BaseDirective {
@@ -1293,11 +1365,11 @@ class TilesViewerGroupComponent extends TileGroupBaseComponent {
1293
1365
  }
1294
1366
  }
1295
1367
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesViewerGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1296
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: TilesViewerGroupComponent, isStandalone: false, selector: "bt-tiles-viewer-group", usesInheritance: true, ngImport: i0, template: "<fd-layout-panel\r\n [attr.editHome]=\"edit\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || !stackContent\"\r\n [ngClass]=\"appTileGroup.TileGroupType$Caption\"\r\n [class.hide-header]=\"appTileGroup.HideHeader\"\r\n [style.background-color]=\"appTileGroup.BackgroundColor ? appTileGroup.BackgroundColor : null\"\r\n [class.custom-color]=\"appTileGroup.BackgroundColor\"\r\n [class.tw-pb-2]=\"isLast\"\r\n [class.hide]=\"!appTileGroup?.navigatorTiles.length && !appTileGroup.navigatorActionLinks.length\"\r\n>\r\n @if (edit || stackContent || isAppTileSubGroup || appTileGroup.HideHeader) {\r\n <fd-layout-panel-header>\r\n <fd-layout-panel-head>\r\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle | bbbTranslate }}</h5>\r\n </fd-layout-panel-head>\r\n @if (edit) {\r\n <fd-layout-panel-actions class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\r\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\r\n } @if (!appTileGroup.Predefined) {\r\n <button\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n }\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n }\r\n </fd-layout-panel-header>\r\n }\r\n <fd-layout-panel-body [class.small-size]=\"deviceSize === 's'\">\r\n <div\r\n class=\"tile-wrapper\"\r\n tilesCls\r\n [class.!tw-hidden]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [class.!tw-justify-start]=\"appTileGroup.navigatorTiles?.length % 3 !== 0\"\r\n [rtl]=\"rtl\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [deviceSize]=\"deviceSize\"\r\n [ngClass]=\"deviceSize\"\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\r\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\r\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\r\n <h5 fd-title></h5>\r\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\r\n <div\r\n [class.edit-home]=\"edit\"\r\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\r\n >\r\n <span\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [setToStorage]=\"true\"\r\n [enableCommand]=\"!edit && appTile.Component\"\r\n tileRenderer\r\n [deviceSize]=\"deviceSize\"\r\n [data]=\"appTile\"\r\n [groupType]=\"appTileGroup.TileGroupType$Caption\"\r\n [edit]=\"edit\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n ></span>\r\n </div>\r\n } @if (edit) {\r\n <fd-tile class=\"add-tile\" [routerLink]=\"['/home/appfinder']\">\r\n <div style=\"margin: 0\">\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n </div>\r\n </fd-tile>\r\n }\r\n </div>\r\n <bt-actions-link\r\n [class.actions-link-edit-home]=\"edit\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [class.!tw-p-0]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n >\r\n </bt-actions-link>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n@for (appTileSubGroup of appTileGroup.$Children; track appTileSubGroup.Id;let last=$last) {\r\n<bt-tiles-viewer-group\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [isLast]=\"last\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [stackContent]=\"stackContent\"\r\n [cssStyle]=\"appTileSubGroup.CssStyles\"\r\n [isAppTileSubGroup]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n></bt-tiles-viewer-group>\r\n}\r\n", styles: [":host{display:block}:host[islast=true]{margin-bottom:var(--footer-height)}:host.s{padding:0 1rem}:host ::ng-deep>fd-layout-panel>fd-layout-panel-header .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}fd-layout-panel.custom-color{margin-top:1rem}fd-layout-panel.empty-tiles-group:not([edithome=true]){display:none}fd-layout-panel fd-layout-panel-header fd-layout-panel-head h5{font-weight:500}fd-layout-panel.hide-header fd-layout-panel-header{display:none}fd-layout-panel[editHome=false]{background-color:transparent}.tile-wrapper.TilesGroup{column-gap:.5rem;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}fd-layout-panel-body.small-size{display:flex;justify-content:center;flex-direction:column}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup{display:flex;row-gap:.5rem;column-gap:.5rem;justify-content:start;width:calc(99.9999999999svw - 4rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s{max-height:7.25rem;min-height:6.25rem;min-width:8.25rem;max-width:8.25rem;display:flex;flex-direction:column-reverse;justify-content:space-between}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header{height:1.2rem;max-height:1.2rem;min-height:1.2rem;text-align:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header.child-has-overflow-text{position:relative}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__subtitle{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__footer{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-tile--launch .fd-tile__content{align-items:center;justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content{justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content .fd-numeric-content__launch-icon-container{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s{--sapFontHeader6Size: .75rem;min-width:calc(33.3333333333svw - 2rem);max-width:calc(33.3333333333svw - 2rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-numeric-content__kpi{font-size:1.2rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s span.fd-numeric-content__scale-text{font-size:.8rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__title{white-space:nowrap}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__content{height:3rem;max-height:3rem;min-height:3rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile.disable-tile-resize .fd-tile--double{min-width:calc(99.9999999999svw - 6rem + 1rem);max-width:calc(99.9999999999svw - 6rem + 1rem)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4$1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "ariaValueText", "title", "label", "ariaLive"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage", "id", "transparent"] }, { kind: "component", type: i7.LayoutPanelHeaderComponent, selector: "fd-layout-panel-header" }, { kind: "component", type: i7.LayoutPanelHeadComponent, selector: "fd-layout-panel-head" }, { kind: "directive", type: i7.LayoutPanelTitleDirective, selector: "[fd-layout-panel-title]" }, { kind: "component", type: i7.LayoutPanelActionsComponent, selector: "fd-layout-panel-actions" }, { kind: "component", type: i7.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i6$1.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i1$1.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "component", type: i5$1.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i5$1.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i5.DynamicStyleDirective, selector: "[cssStyle]", inputs: ["cssStyle"] }, { kind: "component", type: ActionsLinkComponent, selector: "bt-actions-link", inputs: ["actionsLink", "edit", "deviceSize"] }, { kind: "component", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group" }, { kind: "directive", type: TileRendererDirective, selector: "[tileRenderer]", inputs: ["component", "data", "groupType", "edit", "deviceSize", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["hideClick", "renameClick"] }, { kind: "directive", type: TileClassDirective, selector: "[tilesCls]", inputs: ["rtl", "deviceSize", "appTileGroup"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1368
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: TilesViewerGroupComponent, isStandalone: false, selector: "bt-tiles-viewer-group", usesInheritance: true, ngImport: i0, template: "<fd-layout-panel\r\n [attr.editHome]=\"edit\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || !stackContent\"\r\n [ngClass]=\"appTileGroup.TileGroupType$Caption\"\r\n [class.hide-header]=\"appTileGroup.HideHeader\"\r\n [style.background-color]=\"appTileGroup.BackgroundColor ? appTileGroup.BackgroundColor : null\"\r\n [class.custom-color]=\"appTileGroup.BackgroundColor\"\r\n [class.tw-pb-2]=\"isLast\"\r\n [class.hide]=\"!appTileGroup?.navigatorTiles.length && !appTileGroup.navigatorActionLinks.length\"\r\n [class.!tw-mb-2]=\"edit\"\r\n>\r\n @if (edit || stackContent || isAppTileSubGroup || appTileGroup.HideHeader) {\r\n <fd-layout-panel-header>\r\n <fd-layout-panel-head>\r\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle | bbbTranslate }}</h5>\r\n </fd-layout-panel-head>\r\n @if (edit) {\r\n <fd-layout-panel-actions class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\r\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\r\n } @if (!appTileGroup.Predefined) {\r\n <button\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n }\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n }\r\n </fd-layout-panel-header>\r\n }\r\n <fd-layout-panel-body [class.small-size]=\"deviceSize === 's'\">\r\n <div\r\n class=\"tile-wrapper\"\r\n tilesCls\r\n [class.!tw-hidden]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [class.!tw-justify-start]=\"appTileGroup.navigatorTiles?.length % 3 !== 0\"\r\n [rtl]=\"rtl\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [deviceSize]=\"deviceSize\"\r\n [ngClass]=\"deviceSize\"\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\r\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\r\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\r\n <h5 fd-title></h5>\r\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\r\n <div\r\n [class.edit-home]=\"edit\"\r\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\r\n >\r\n <span\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [setToStorage]=\"true\"\r\n [enableCommand]=\"!edit && appTile.Component\"\r\n tileRenderer\r\n [deviceSize]=\"deviceSize\"\r\n [data]=\"appTile\"\r\n [groupType]=\"appTileGroup.TileGroupType$Caption\"\r\n [edit]=\"edit\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n (changeGroupClick)=\"onAppTileChangeGroupClick(appTile)\"\r\n ></span>\r\n </div>\r\n } @if (edit) {\r\n <fd-tile class=\"add-tile\" [routerLink]=\"['/home/appfinder']\">\r\n <div style=\"margin: 0\">\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n </div>\r\n </fd-tile>\r\n }\r\n </div>\r\n <bt-actions-link\r\n [class.actions-link-edit-home]=\"edit\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [class.!tw-p-0]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n >\r\n </bt-actions-link>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n@for (appTileSubGroup of appTileGroup.$Children; track appTileSubGroup.Id;let last=$last) {\r\n<bt-tiles-viewer-group\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [isLast]=\"last\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [stackContent]=\"stackContent\"\r\n [cssStyle]=\"appTileSubGroup.CssStyles\"\r\n [isAppTileSubGroup]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n (changeGroupAppTileClick)=\"onAppTileChangeGroupClick($event)\"\r\n></bt-tiles-viewer-group>\r\n}\r\n", styles: [":host{display:block}:host[islast=true]{margin-bottom:var(--footer-height)}:host.s{padding:0 1rem}:host ::ng-deep>fd-layout-panel>fd-layout-panel-header .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}fd-layout-panel.custom-color{margin-top:1rem}fd-layout-panel.empty-tiles-group:not([edithome=true]){display:none}fd-layout-panel fd-layout-panel-header fd-layout-panel-head h5{font-weight:500}fd-layout-panel.hide-header fd-layout-panel-header{display:none}fd-layout-panel[editHome=false]{background-color:transparent}.tile-wrapper.TilesGroup{column-gap:.5rem;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}fd-layout-panel-body.small-size{display:flex;justify-content:center;flex-direction:column}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup{display:flex;row-gap:.5rem;column-gap:.5rem;justify-content:start;width:calc(99.9999999999svw - 4rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s{max-height:7.25rem;min-height:6.25rem;min-width:8.25rem;max-width:8.25rem;display:flex;flex-direction:column-reverse;justify-content:space-between}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header{height:1.2rem;max-height:1.2rem;min-height:1.2rem;text-align:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header.child-has-overflow-text{position:relative}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__subtitle{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__footer{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-tile--launch .fd-tile__content{align-items:center;justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content{justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content .fd-numeric-content__launch-icon-container{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s{--sapFontHeader6Size: .75rem;min-width:calc(33.3333333333svw - 2rem);max-width:calc(33.3333333333svw - 2rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-numeric-content__kpi{font-size:1.2rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s span.fd-numeric-content__scale-text{font-size:.8rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__title{white-space:nowrap}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__content{height:3rem;max-height:3rem;min-height:3rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile.disable-tile-resize .fd-tile--double{min-width:calc(99.9999999999svw - 6rem + 1rem);max-width:calc(99.9999999999svw - 6rem + 1rem)}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4$1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "ariaValueText", "title", "label", "ariaLive"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage", "id", "transparent"] }, { kind: "component", type: i7.LayoutPanelHeaderComponent, selector: "fd-layout-panel-header" }, { kind: "component", type: i7.LayoutPanelHeadComponent, selector: "fd-layout-panel-head" }, { kind: "directive", type: i7.LayoutPanelTitleDirective, selector: "[fd-layout-panel-title]" }, { kind: "component", type: i7.LayoutPanelActionsComponent, selector: "fd-layout-panel-actions" }, { kind: "component", type: i7.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i6$1.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i1$1.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "component", type: i5$1.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i5$1.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i5.DynamicStyleDirective, selector: "[cssStyle]", inputs: ["cssStyle"] }, { kind: "component", type: ActionsLinkComponent, selector: "bt-actions-link", inputs: ["actionsLink", "edit", "deviceSize"] }, { kind: "component", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group" }, { kind: "directive", type: TileRendererDirective, selector: "[tileRenderer]", inputs: ["component", "data", "groupType", "edit", "deviceSize", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["hideClick", "renameClick", "changeGroupClick"] }, { kind: "directive", type: TileClassDirective, selector: "[tilesCls]", inputs: ["rtl", "deviceSize", "appTileGroup"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1297
1369
  }
1298
1370
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesViewerGroupComponent, decorators: [{
1299
1371
  type: Component,
1300
- args: [{ selector: 'bt-tiles-viewer-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-layout-panel\r\n [attr.editHome]=\"edit\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || !stackContent\"\r\n [ngClass]=\"appTileGroup.TileGroupType$Caption\"\r\n [class.hide-header]=\"appTileGroup.HideHeader\"\r\n [style.background-color]=\"appTileGroup.BackgroundColor ? appTileGroup.BackgroundColor : null\"\r\n [class.custom-color]=\"appTileGroup.BackgroundColor\"\r\n [class.tw-pb-2]=\"isLast\"\r\n [class.hide]=\"!appTileGroup?.navigatorTiles.length && !appTileGroup.navigatorActionLinks.length\"\r\n>\r\n @if (edit || stackContent || isAppTileSubGroup || appTileGroup.HideHeader) {\r\n <fd-layout-panel-header>\r\n <fd-layout-panel-head>\r\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle | bbbTranslate }}</h5>\r\n </fd-layout-panel-head>\r\n @if (edit) {\r\n <fd-layout-panel-actions class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\r\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\r\n } @if (!appTileGroup.Predefined) {\r\n <button\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n }\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n }\r\n </fd-layout-panel-header>\r\n }\r\n <fd-layout-panel-body [class.small-size]=\"deviceSize === 's'\">\r\n <div\r\n class=\"tile-wrapper\"\r\n tilesCls\r\n [class.!tw-hidden]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [class.!tw-justify-start]=\"appTileGroup.navigatorTiles?.length % 3 !== 0\"\r\n [rtl]=\"rtl\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [deviceSize]=\"deviceSize\"\r\n [ngClass]=\"deviceSize\"\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\r\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\r\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\r\n <h5 fd-title></h5>\r\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\r\n <div\r\n [class.edit-home]=\"edit\"\r\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\r\n >\r\n <span\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [setToStorage]=\"true\"\r\n [enableCommand]=\"!edit && appTile.Component\"\r\n tileRenderer\r\n [deviceSize]=\"deviceSize\"\r\n [data]=\"appTile\"\r\n [groupType]=\"appTileGroup.TileGroupType$Caption\"\r\n [edit]=\"edit\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n ></span>\r\n </div>\r\n } @if (edit) {\r\n <fd-tile class=\"add-tile\" [routerLink]=\"['/home/appfinder']\">\r\n <div style=\"margin: 0\">\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n </div>\r\n </fd-tile>\r\n }\r\n </div>\r\n <bt-actions-link\r\n [class.actions-link-edit-home]=\"edit\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [class.!tw-p-0]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n >\r\n </bt-actions-link>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n@for (appTileSubGroup of appTileGroup.$Children; track appTileSubGroup.Id;let last=$last) {\r\n<bt-tiles-viewer-group\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [isLast]=\"last\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [stackContent]=\"stackContent\"\r\n [cssStyle]=\"appTileSubGroup.CssStyles\"\r\n [isAppTileSubGroup]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n></bt-tiles-viewer-group>\r\n}\r\n", styles: [":host{display:block}:host[islast=true]{margin-bottom:var(--footer-height)}:host.s{padding:0 1rem}:host ::ng-deep>fd-layout-panel>fd-layout-panel-header .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}fd-layout-panel.custom-color{margin-top:1rem}fd-layout-panel.empty-tiles-group:not([edithome=true]){display:none}fd-layout-panel fd-layout-panel-header fd-layout-panel-head h5{font-weight:500}fd-layout-panel.hide-header fd-layout-panel-header{display:none}fd-layout-panel[editHome=false]{background-color:transparent}.tile-wrapper.TilesGroup{column-gap:.5rem;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}fd-layout-panel-body.small-size{display:flex;justify-content:center;flex-direction:column}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup{display:flex;row-gap:.5rem;column-gap:.5rem;justify-content:start;width:calc(99.9999999999svw - 4rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s{max-height:7.25rem;min-height:6.25rem;min-width:8.25rem;max-width:8.25rem;display:flex;flex-direction:column-reverse;justify-content:space-between}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header{height:1.2rem;max-height:1.2rem;min-height:1.2rem;text-align:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header.child-has-overflow-text{position:relative}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__subtitle{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__footer{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-tile--launch .fd-tile__content{align-items:center;justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content{justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content .fd-numeric-content__launch-icon-container{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s{--sapFontHeader6Size: .75rem;min-width:calc(33.3333333333svw - 2rem);max-width:calc(33.3333333333svw - 2rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-numeric-content__kpi{font-size:1.2rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s span.fd-numeric-content__scale-text{font-size:.8rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__title{white-space:nowrap}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__content{height:3rem;max-height:3rem;min-height:3rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile.disable-tile-resize .fd-tile--double{min-width:calc(99.9999999999svw - 6rem + 1rem);max-width:calc(99.9999999999svw - 6rem + 1rem)}\n"] }]
1372
+ args: [{ selector: 'bt-tiles-viewer-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-layout-panel\r\n [attr.editHome]=\"edit\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || !stackContent\"\r\n [ngClass]=\"appTileGroup.TileGroupType$Caption\"\r\n [class.hide-header]=\"appTileGroup.HideHeader\"\r\n [style.background-color]=\"appTileGroup.BackgroundColor ? appTileGroup.BackgroundColor : null\"\r\n [class.custom-color]=\"appTileGroup.BackgroundColor\"\r\n [class.tw-pb-2]=\"isLast\"\r\n [class.hide]=\"!appTileGroup?.navigatorTiles.length && !appTileGroup.navigatorActionLinks.length\"\r\n [class.!tw-mb-2]=\"edit\"\r\n>\r\n @if (edit || stackContent || isAppTileSubGroup || appTileGroup.HideHeader) {\r\n <fd-layout-panel-header>\r\n <fd-layout-panel-head>\r\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle | bbbTranslate }}</h5>\r\n </fd-layout-panel-head>\r\n @if (edit) {\r\n <fd-layout-panel-actions class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\r\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\r\n } @if (!appTileGroup.Predefined) {\r\n <button\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n }\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n }\r\n </fd-layout-panel-header>\r\n }\r\n <fd-layout-panel-body [class.small-size]=\"deviceSize === 's'\">\r\n <div\r\n class=\"tile-wrapper\"\r\n tilesCls\r\n [class.!tw-hidden]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [class.!tw-justify-start]=\"appTileGroup.navigatorTiles?.length % 3 !== 0\"\r\n [rtl]=\"rtl\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [deviceSize]=\"deviceSize\"\r\n [ngClass]=\"deviceSize\"\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\r\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\r\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\r\n <h5 fd-title></h5>\r\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\r\n <div\r\n [class.edit-home]=\"edit\"\r\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\r\n >\r\n <span\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [setToStorage]=\"true\"\r\n [enableCommand]=\"!edit && appTile.Component\"\r\n tileRenderer\r\n [deviceSize]=\"deviceSize\"\r\n [data]=\"appTile\"\r\n [groupType]=\"appTileGroup.TileGroupType$Caption\"\r\n [edit]=\"edit\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n (changeGroupClick)=\"onAppTileChangeGroupClick(appTile)\"\r\n ></span>\r\n </div>\r\n } @if (edit) {\r\n <fd-tile class=\"add-tile\" [routerLink]=\"['/home/appfinder']\">\r\n <div style=\"margin: 0\">\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n </div>\r\n </fd-tile>\r\n }\r\n </div>\r\n <bt-actions-link\r\n [class.actions-link-edit-home]=\"edit\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [class.!tw-p-0]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n >\r\n </bt-actions-link>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n@for (appTileSubGroup of appTileGroup.$Children; track appTileSubGroup.Id;let last=$last) {\r\n<bt-tiles-viewer-group\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [isLast]=\"last\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [stackContent]=\"stackContent\"\r\n [cssStyle]=\"appTileSubGroup.CssStyles\"\r\n [isAppTileSubGroup]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n (changeGroupAppTileClick)=\"onAppTileChangeGroupClick($event)\"\r\n></bt-tiles-viewer-group>\r\n}\r\n", styles: [":host{display:block}:host[islast=true]{margin-bottom:var(--footer-height)}:host.s{padding:0 1rem}:host ::ng-deep>fd-layout-panel>fd-layout-panel-header .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}fd-layout-panel.custom-color{margin-top:1rem}fd-layout-panel.empty-tiles-group:not([edithome=true]){display:none}fd-layout-panel fd-layout-panel-header fd-layout-panel-head h5{font-weight:500}fd-layout-panel.hide-header fd-layout-panel-header{display:none}fd-layout-panel[editHome=false]{background-color:transparent}.tile-wrapper.TilesGroup{column-gap:.5rem;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}fd-layout-panel-body.small-size{display:flex;justify-content:center;flex-direction:column}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup{display:flex;row-gap:.5rem;column-gap:.5rem;justify-content:start;width:calc(99.9999999999svw - 4rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s{max-height:7.25rem;min-height:6.25rem;min-width:8.25rem;max-width:8.25rem;display:flex;flex-direction:column-reverse;justify-content:space-between}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header{height:1.2rem;max-height:1.2rem;min-height:1.2rem;text-align:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__header.child-has-overflow-text{position:relative}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__subtitle{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep bt-tile:not(.disable-tile-resize) .fd-tile--s .fd-tile__footer{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-tile--launch .fd-tile__content{align-items:center;justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content{justify-content:center}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup ::ng-deep .fd-numeric-content .fd-numeric-content__launch-icon-container{display:none}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s{--sapFontHeader6Size: .75rem;min-width:calc(33.3333333333svw - 2rem);max-width:calc(33.3333333333svw - 2rem)}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-numeric-content__kpi{font-size:1.2rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s span.fd-numeric-content__scale-text{font-size:.8rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__title{white-space:nowrap}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile .fd-tile--s .fd-tile__content{height:3rem;max-height:3rem;min-height:3rem}fd-layout-panel-body.small-size .tile-wrapper.TilesGroup.s ::ng-deep bt-tile.disable-tile-resize .fd-tile--double{min-width:calc(99.9999999999svw - 6rem + 1rem);max-width:calc(99.9999999999svw - 6rem + 1rem)}\n"] }]
1301
1373
  }] });
1302
1374
 
1303
1375
  class EmptyListDirective {
@@ -1474,6 +1546,155 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
1474
1546
  args: [{ selector: 'bt-change-app-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.$Caption }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body [formGroup]=\"appGroupForm\">\r\n <div fd-form-item>\r\n <label fd-form-label [required]=\"true\">{{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n @if (submitted && appGroupForm.controls.title.errors) {\r\n <fd-form-message type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n }\r\n </fd-form-input-message-group>\r\n </div>\r\n <br />\r\n <div fd-form-item>\r\n <label fd-form-label>{{ 'Subtitle' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group formControlName=\"subtitle\" form-control [button]=\"true\" [(ngModel)]=\"subtitle\">\r\n </fd-input-group>\r\n </fd-form-input-message-group>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.close()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n" }]
1475
1547
  }], ctorParameters: () => [] });
1476
1548
 
1549
+ class CreateAppGroupComponent extends BaseComponent {
1550
+ constructor() {
1551
+ super(...arguments);
1552
+ this.dialogRef = inject(DialogRef);
1553
+ this.parentId = null;
1554
+ this.parents = [];
1555
+ this.bbbPipe = inject(BbbTranslatePipe);
1556
+ this.fb = inject(UntypedFormBuilder);
1557
+ }
1558
+ ngOnInit() {
1559
+ super.ngOnInit();
1560
+ this.title = this.dialogRef.data?.title ?? this.title;
1561
+ this.parents = this.dialogRef.data?.parents ?? [];
1562
+ this.appGroupForm = this.fb.group({
1563
+ title: new UntypedFormControl(this.title, [Validators.required]),
1564
+ parentId: new UntypedFormControl(this.parentId)
1565
+ });
1566
+ const mandatoryFieldText = this.bbbPipe.transform('AlertFieldIsMandatory');
1567
+ const titleText = this.bbbPipe.transform('Title');
1568
+ this.RequiredText = mandatoryFieldText.replace('{0}', titleText);
1569
+ }
1570
+ onSave() {
1571
+ this.submitted = true;
1572
+ if (this.appGroupForm.valid) {
1573
+ const { title, parentId } = this.appGroupForm.value;
1574
+ this.dialogRef.close({ title, parentId: parentId || null });
1575
+ }
1576
+ }
1577
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CreateAppGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1578
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: CreateAppGroupComponent, isStandalone: false, selector: "bt-create-app-group", usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.title }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div fd-form-item [formGroup]=\"appGroupForm\">\r\n <label fd-form-label [required]=\"true\"> {{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n @if (submitted && appGroupForm.controls.title.errors) {\r\n <fd-form-message type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n }\r\n </fd-form-input-message-group>\r\n </div>\r\n\r\n <div fd-form-item [formGroup]=\"appGroupForm\" class=\"tw-mt-3\">\r\n <label fd-form-label> {{ 'ParentGroup' | bbbTranslate }}</label>\r\n <fd-select formControlName=\"parentId\">\r\n <fd-option [value]=\"null\">{{ 'NoParent' | bbbTranslate }}</fd-option>\r\n @for (p of parents; track p.Id) {\r\n <fd-option [value]=\"p.Id\">{{ p.navigatorTitle || p.Title }}</fd-option>\r\n }\r\n </fd-select>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.dismiss()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i3$2.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i3$2.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: i3$2.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "component", type: i3$2.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen", "preventSpaceKeyScroll"], outputs: ["isOpenChange"] }, { kind: "component", type: i4$2.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i5$2.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i5$2.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i5$2.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i5$2.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i5$2.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "component", type: i6$1.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i7$1.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i8.SelectComponent, selector: "fd-select", inputs: ["extendedBodyTemplate", "scrollStrategy", "textOverflow", "controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "maxHeight", "glyph", "glyphFont", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "advancedStateMessage", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: i8.OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1579
+ }
1580
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CreateAppGroupComponent, decorators: [{
1581
+ type: Component,
1582
+ args: [{ selector: 'bt-create-app-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.title }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div fd-form-item [formGroup]=\"appGroupForm\">\r\n <label fd-form-label [required]=\"true\"> {{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n @if (submitted && appGroupForm.controls.title.errors) {\r\n <fd-form-message type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n }\r\n </fd-form-input-message-group>\r\n </div>\r\n\r\n <div fd-form-item [formGroup]=\"appGroupForm\" class=\"tw-mt-3\">\r\n <label fd-form-label> {{ 'ParentGroup' | bbbTranslate }}</label>\r\n <fd-select formControlName=\"parentId\">\r\n <fd-option [value]=\"null\">{{ 'NoParent' | bbbTranslate }}</fd-option>\r\n @for (p of parents; track p.Id) {\r\n <fd-option [value]=\"p.Id\">{{ p.navigatorTitle || p.Title }}</fd-option>\r\n }\r\n </fd-select>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.dismiss()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n" }]
1583
+ }] });
1584
+
1585
+ class PinTileComponent extends BaseComponent {
1586
+ constructor() {
1587
+ super();
1588
+ this.newGroupText = '';
1589
+ this._dialogService = inject(DialogService);
1590
+ this._dialogRef = inject(DialogRef);
1591
+ this._bbbTranslate = inject(BbbTranslatePipe);
1592
+ this._tilesService = inject(TilesService);
1593
+ this.newGroupText = BarsaApi.LoginFormData.IsRtl
1594
+ ? this._bbbTranslate.transform('Groups') + ' ' + this._bbbTranslate.transform('New')
1595
+ : this._bbbTranslate.transform('New') + ' ' + this._bbbTranslate.transform('Groups');
1596
+ const _dialogRef = this._dialogRef;
1597
+ this.app = _dialogRef.data.app;
1598
+ this.appTileGroups = _dialogRef.data.appTileGroups;
1599
+ this.pinnedAppInTileGroups = _dialogRef.data.pinnedAppInTileGroups;
1600
+ }
1601
+ ngOnInit() {
1602
+ this._setLoading(true);
1603
+ const tileGroupsId = this.pinnedAppInTileGroups[this.app.Id];
1604
+ this.appTileGroups.forEach((appGroup) => {
1605
+ this._setDefaultPinTile(appGroup, tileGroupsId);
1606
+ });
1607
+ this._setLoading(false);
1608
+ }
1609
+ onAccept() {
1610
+ const appTileGroupsPin = [];
1611
+ this.appTileGroups.forEach((group) => {
1612
+ this._getChangedPinTileGroups(group, appTileGroupsPin);
1613
+ });
1614
+ this._close({ appTileGroupsPin, app: this.app });
1615
+ }
1616
+ onClose() {
1617
+ this._close();
1618
+ }
1619
+ onNewGroup() {
1620
+ this.newGroupDialogRef = this._dialogService.open(CreateAppGroupComponent, {
1621
+ data: { title: this.newGroupText, parents: this.appTileGroups },
1622
+ verticalPadding: true,
1623
+ mobile: this.mobile,
1624
+ responsivePadding: true
1625
+ });
1626
+ this.newGroupDialogRef.afterClosed.subscribe((result) => {
1627
+ if (result) {
1628
+ this._setLoading(true);
1629
+ const title = typeof result === 'string' ? result : result.title;
1630
+ const parentId = typeof result === 'string' ? null : result.parentId;
1631
+ this._tilesService
1632
+ .createAppGroup(title, parentId)
1633
+ .pipe(takeUntil(this._onDestroy$), finalize(() => {
1634
+ this._setLoading(false);
1635
+ }))
1636
+ .subscribe();
1637
+ }
1638
+ });
1639
+ }
1640
+ onDeleteGroup(appTileGroup) {
1641
+ const deleteCaption = this._bbbTranslate.transform('Delete');
1642
+ const deleteConfirmation = this._bbbTranslate.transform('QuestionDeleteConfirmMessage');
1643
+ BarsaApi.Bw.Msg.YesNo(deleteConfirmation, deleteCaption, (buttonId) => {
1644
+ if (buttonId === 'yes') {
1645
+ this._setLoading(true);
1646
+ this._tilesService
1647
+ .deleteAppGroup(appTileGroup)
1648
+ .pipe(takeUntil(this._onDestroy$), finalize(() => {
1649
+ this._setLoading(false);
1650
+ }))
1651
+ .subscribe(() => this._close());
1652
+ }
1653
+ });
1654
+ }
1655
+ _setLoading(loading) {
1656
+ this._dialogRef.loading(loading);
1657
+ }
1658
+ _setDefaultPinTile(appTileGroup, tileGroupsId) {
1659
+ appTileGroup.$PinTile = appTileGroup.$DefaultPinTile =
1660
+ tileGroupsId.includes(appTileGroup.Id) || tileGroupsId.includes(appTileGroup.UserAppTileGroupSetting?.Id);
1661
+ appTileGroup.$Children?.forEach((subGroup) => {
1662
+ this._setDefaultPinTile(subGroup, tileGroupsId);
1663
+ });
1664
+ appTileGroup.$Disabledpin = false;
1665
+ }
1666
+ _getChangedPinTileGroups(appTileGroup, appTileGroupsPin) {
1667
+ if (appTileGroup.$PinTile && !appTileGroup.$DefaultPinTile) {
1668
+ // Add
1669
+ appTileGroupsPin.push({ appTileGroup, visible: true });
1670
+ }
1671
+ else if (appTileGroup.$PinTile === false && appTileGroup.$DefaultPinTile) {
1672
+ // Remove
1673
+ appTileGroupsPin.push({ appTileGroup, visible: false });
1674
+ }
1675
+ appTileGroup.$Children?.forEach((subGroup) => {
1676
+ this._getChangedPinTileGroups(subGroup, appTileGroupsPin);
1677
+ });
1678
+ }
1679
+ _close(result) {
1680
+ this._dialogRef.close(result);
1681
+ }
1682
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PinTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1683
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: PinTileComponent, isStandalone: false, selector: "bt-pin-tile", inputs: { app: "app", appTileGroups: "appTileGroups", mobile: "mobile", pin: "pin" }, usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'AddToList' | bbbTranslate }}</h1>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ul fd-list [navigationIndicator]=\"true\" style=\"margin-bottom: 1rem\">\r\n <li fd-list-item [navigationIndicator]=\"true\" (click)=\"onNewGroup()\">\r\n <fd-icon glyph=\"add\"></fd-icon><span fd-list-title>{{ newGroupText }}</span>\r\n </li>\r\n @for (appTileGroup of appTileGroups; track appTileGroup) { @if (!appTileGroup.$Disabledpin) {\r\n <li fd-list-item [selected]=\"appTileGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"appTileGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ appTileGroup.navigatorTitle || appTileGroup.Title }}</span>\r\n @if( !appTileGroup.Predefined){\r\n <button\r\n fd-button\r\n glyph=\"delete\"\r\n fdType=\"transparent\"\r\n [title]=\"'Delete' | bbbTranslate\"\r\n (click)=\"onDeleteGroup(appTileGroup)\"\r\n ></button>\r\n }\r\n </li>\r\n } @for (subGroup of appTileGroup.$Children; track subGroup) { @if (!subGroup.$Disabledpin) {\r\n <li fd-list-item [selected]=\"subGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"subGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ subGroup.navigatorTitle || subGroup.Title }}</span>\r\n @if( !subGroup.Predefined){\r\n <button\r\n fd-button\r\n glyph=\"delete\"\r\n fdType=\"transparent\"\r\n [title]=\"'Delete' | bbbTranslate\"\r\n (click)=\"onDeleteGroup(subGroup)\"\r\n ></button>\r\n }\r\n </li>\r\n } } }\r\n </ul>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-left></div>\r\n <div fd-bar-right>\r\n <fd-button-bar fdkInitialFocus fdType=\"emphasized\" [label]=\"'OK' | bbbTranslate\" (click)=\"onAccept()\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [":host ::ng-deep .cdk-drag{cursor:default!important}:host *{cursor:default!important}li{cursor:pointer}fd-dialog-body,fd-dialog-footer,fd-dialog-header{cursor:default}fd-icon{padding:0 5px}\n"], dependencies: [{ kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2$2.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i2$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i2$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i4$3.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "theme", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"], exportAs: ["fdListItem"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { kind: "component", type: i5$2.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i5$2.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i5$2.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i5$2.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i7$1.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i6$1.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i7$1.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1684
+ }
1685
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PinTileComponent, decorators: [{
1686
+ type: Component,
1687
+ args: [{ selector: 'bt-pin-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'AddToList' | bbbTranslate }}</h1>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ul fd-list [navigationIndicator]=\"true\" style=\"margin-bottom: 1rem\">\r\n <li fd-list-item [navigationIndicator]=\"true\" (click)=\"onNewGroup()\">\r\n <fd-icon glyph=\"add\"></fd-icon><span fd-list-title>{{ newGroupText }}</span>\r\n </li>\r\n @for (appTileGroup of appTileGroups; track appTileGroup) { @if (!appTileGroup.$Disabledpin) {\r\n <li fd-list-item [selected]=\"appTileGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"appTileGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ appTileGroup.navigatorTitle || appTileGroup.Title }}</span>\r\n @if( !appTileGroup.Predefined){\r\n <button\r\n fd-button\r\n glyph=\"delete\"\r\n fdType=\"transparent\"\r\n [title]=\"'Delete' | bbbTranslate\"\r\n (click)=\"onDeleteGroup(appTileGroup)\"\r\n ></button>\r\n }\r\n </li>\r\n } @for (subGroup of appTileGroup.$Children; track subGroup) { @if (!subGroup.$Disabledpin) {\r\n <li fd-list-item [selected]=\"subGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"subGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ subGroup.navigatorTitle || subGroup.Title }}</span>\r\n @if( !subGroup.Predefined){\r\n <button\r\n fd-button\r\n glyph=\"delete\"\r\n fdType=\"transparent\"\r\n [title]=\"'Delete' | bbbTranslate\"\r\n (click)=\"onDeleteGroup(subGroup)\"\r\n ></button>\r\n }\r\n </li>\r\n } } }\r\n </ul>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-left></div>\r\n <div fd-bar-right>\r\n <fd-button-bar fdkInitialFocus fdType=\"emphasized\" [label]=\"'OK' | bbbTranslate\" (click)=\"onAccept()\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [":host ::ng-deep .cdk-drag{cursor:default!important}:host *{cursor:default!important}li{cursor:pointer}fd-dialog-body,fd-dialog-footer,fd-dialog-header{cursor:default}fd-icon{padding:0 5px}\n"] }]
1688
+ }], ctorParameters: () => [], propDecorators: { app: [{
1689
+ type: Input
1690
+ }], appTileGroups: [{
1691
+ type: Input
1692
+ }], mobile: [{
1693
+ type: Input
1694
+ }], pin: [{
1695
+ type: Input
1696
+ }] } });
1697
+
1477
1698
  class TilesViewerService {
1478
1699
  constructor() {
1479
1700
  this._onDestroy$ = new Subject();
@@ -1496,45 +1717,43 @@ class TilesViewerService {
1496
1717
  this.deleteAppGroup$ = this._deleteGroupSource.asObservable();
1497
1718
  this._loadAppGroupSource
1498
1719
  .asObservable()
1499
- .pipe(takeUntil(this._onDestroy$))
1720
+ .pipe(takeUntil$1(this._onDestroy$))
1500
1721
  .subscribe((group) => {
1501
1722
  this.tilesService.loadAppTileGroups(group);
1502
1723
  });
1503
1724
  this.hideTile$
1504
- .pipe(tap(() => this.setLoading()), takeUntil(this._onDestroy$), exhaustMap((appTile) => this.tilesService
1505
- .singlePinTileChanged(appTile.AppTile ? appTile.AppTile.Id : appTile.Id)
1506
- .pipe(finalize(() => this.setLoaded()))), finalize(() => this.setLoaded()))
1725
+ .pipe(tap(() => this.setLoading()), takeUntil$1(this._onDestroy$), tap((appTile) => this.tilesService.singlePinTileChanged(appTile.AppTile ? appTile.AppTile : appTile, () => this.setLoaded())))
1507
1726
  .subscribe();
1508
1727
  this.updateAppTileSetting$
1509
- .pipe(takeUntil(this._onDestroy$), tap(() => this.setLoading()), exhaustMap((appTile) => this.tilesService.changeAppTileSetting(appTile).pipe(finalize(() => {
1728
+ .pipe(takeUntil$1(this._onDestroy$), tap(() => this.setLoading()), exhaustMap((appTile) => this.tilesService.changeAppTileSetting(appTile).pipe(finalize$1(() => {
1510
1729
  this.setLoaded();
1511
- }))), finalize(() => {
1730
+ }))), finalize$1(() => {
1512
1731
  this.setLoaded();
1513
1732
  }))
1514
1733
  .subscribe();
1515
1734
  this.deleteAppGroup$
1516
- .pipe(tap(() => this.setLoading()), takeUntil(this._onDestroy$), exhaustMap((appGroup) => this.tilesService.deleteAppGroup(appGroup).pipe(finalize(() => {
1735
+ .pipe(tap(() => this.setLoading()), takeUntil$1(this._onDestroy$), exhaustMap((appGroup) => this.tilesService.deleteAppGroup(appGroup).pipe(finalize$1(() => {
1517
1736
  this.setLoaded();
1518
1737
  }))))
1519
1738
  .subscribe();
1520
1739
  this.resetAppGroup$
1521
- .pipe(takeUntil(this._onDestroy$), tap(() => this.setLoading()), exhaustMap((appGroup) => this.tilesService.resetAppGroupSetting(appGroup).pipe(finalize(() => {
1740
+ .pipe(takeUntil$1(this._onDestroy$), tap(() => this.setLoading()), exhaustMap((appGroup) => this.tilesService.resetAppGroupSetting(appGroup).pipe(finalize$1(() => {
1522
1741
  this.setLoaded();
1523
- }))), finalize(() => {
1742
+ }))), finalize$1(() => {
1524
1743
  this.setLoaded();
1525
1744
  }))
1526
1745
  .subscribe();
1527
1746
  this.hideAppGroup$
1528
- .pipe(takeUntil(this._onDestroy$), tap(() => this.setLoading()), exhaustMap((appGroup) => this.tilesService.toggleAppGroupSettingVisible(appGroup).pipe(finalize(() => {
1747
+ .pipe(takeUntil$1(this._onDestroy$), tap(() => this.setLoading()), exhaustMap((appGroup) => this.tilesService.toggleAppGroupSettingVisible(appGroup).pipe(finalize$1(() => {
1529
1748
  this.setLoaded();
1530
- }))), finalize(() => {
1749
+ }))), finalize$1(() => {
1531
1750
  this.setLoaded();
1532
1751
  }))
1533
1752
  .subscribe();
1534
1753
  this.saveAppGroupOrders$
1535
- .pipe(takeUntil(this._onDestroy$), tap(() => this.setLoading()), exhaustMap((appGroups) => this.tilesService.saveAppGroupOrders(appGroups).pipe(finalize(() => {
1754
+ .pipe(takeUntil$1(this._onDestroy$), tap(() => this.setLoading()), exhaustMap((appGroups) => this.tilesService.saveAppGroupOrders(appGroups).pipe(finalize$1(() => {
1536
1755
  this.setLoaded();
1537
- }))), finalize(() => {
1756
+ }))), finalize$1(() => {
1538
1757
  this.setLoaded();
1539
1758
  }))
1540
1759
  .subscribe();
@@ -1575,6 +1794,35 @@ class TilesViewerService {
1575
1794
  }
1576
1795
  });
1577
1796
  }
1797
+ openChangeGroupForm(appTile) {
1798
+ const app = appTile.App;
1799
+ const pinnedAppInTileGroups = this._loadPinnedAppInTileGroups(app);
1800
+ const appTileGroups = this.tilesService.appTileGroups?.MoDataList ?? [];
1801
+ const mobile = getDeviceIsMobile();
1802
+ const ref = this.dialogService.open(PinTileComponent, {
1803
+ data: { app, pinnedAppInTileGroups, appTileGroups },
1804
+ minWidth: '360px',
1805
+ minHeight: mobile ? '420px' : 'auto',
1806
+ height: mobile ? 'auto' : '60svh',
1807
+ draggable: false,
1808
+ mobile,
1809
+ resizable: false,
1810
+ verticalPadding: false,
1811
+ backdropClickCloseable: false
1812
+ });
1813
+ ref.afterClosed.subscribe((result) => {
1814
+ if (!result?.appTileGroupsPin || !result?.app) {
1815
+ return;
1816
+ }
1817
+ this.setLoading();
1818
+ try {
1819
+ this.tilesService.pinTileChanged(result.appTileGroupsPin, result.app, () => this.setLoaded());
1820
+ }
1821
+ catch {
1822
+ this.setLoaded();
1823
+ }
1824
+ });
1825
+ }
1578
1826
  resetAppGroup(appGroup) {
1579
1827
  this._resetAppGroupSource.next(appGroup);
1580
1828
  }
@@ -1596,6 +1844,27 @@ class TilesViewerService {
1596
1844
  setLoading() {
1597
1845
  this._viewLoadingSource.next(true);
1598
1846
  }
1847
+ _loadPinnedAppInTileGroups(app) {
1848
+ const appId = app.Id;
1849
+ const val = {};
1850
+ const reportWrapper = BarsaApi.Bw.RunBlMethod('PinnedAppInTileGroups', appId);
1851
+ const moForReport = reportWrapper.Unwrap();
1852
+ val[appId] = val[appId] ?? [];
1853
+ const apps = moForReport.MoDataList;
1854
+ if (apps?.length > 0) {
1855
+ apps.forEach((itemApp) => {
1856
+ const predefined = itemApp.Id.Id;
1857
+ const userSetting = itemApp.UserAppTileGroupSetting?.Id;
1858
+ if (predefined) {
1859
+ val[appId] = [...val[appId], predefined];
1860
+ }
1861
+ if (userSetting) {
1862
+ val[appId] = [...val[appId], userSetting];
1863
+ }
1864
+ });
1865
+ }
1866
+ return val;
1867
+ }
1599
1868
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesViewerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1600
1869
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesViewerService }); }
1601
1870
  }
@@ -1618,6 +1887,7 @@ class TilesViewerComponent extends BaseComponent {
1618
1887
  this.deleteGroup = new EventEmitter();
1619
1888
  this.hideAppTileClick = new EventEmitter();
1620
1889
  this.renameAppTileClick = new EventEmitter();
1890
+ this.changeGroupAppTileClick = new EventEmitter();
1621
1891
  this.tilesDropped = new EventEmitter();
1622
1892
  this._rtl = BarsaApi.LoginFormData.IsRtl;
1623
1893
  this.color = 'default';
@@ -1700,11 +1970,11 @@ class TilesViewerComponent extends BaseComponent {
1700
1970
  }
1701
1971
  }
1702
1972
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesViewerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1703
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: TilesViewerComponent, isStandalone: false, selector: "bt-tiles-viewer", inputs: { appTileGroups: "appTileGroups", loading: "loading", edit: "edit", rtl: "rtl", defaultTab: "defaultTab", tabsBackColor: "tabsBackColor", stackContent: "stackContent", iconTabType: "iconTabType", deviceSize: "deviceSize", selectedAppGroupId: "selectedAppGroupId", DynamicComponents: "DynamicComponents" }, outputs: { stackContentChange: "stackContentChange", closeEditHome: "closeEditHome", save: "save", listDropped: "listDropped", tabChanged: "tabChanged", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", tilesDropped: "tilesDropped" }, host: { properties: { "class.page-content": "this.pageContentClass", "class.tiles-viewer": "this._cls", "attr.rtl": "this._rtl" } }, viewQueries: [{ propertyName: "tabListComponent", first: true, predicate: IconTabBarComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fd-dynamic-page size=\"large\" [autoResponsive]=\"true\">\r\n <fd-dynamic-page-header [class.hide]=\"!edit\" [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n\r\n <fdp-icon-tab-bar\r\n [stackContent]=\"stackContent\"\r\n maxContentHeight=\"auto\"\r\n ariaRoledescription=\"Tiles Container\"\r\n [iconTabType]=\"iconTabType || 'text'\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n >\r\n @for (appTileGroup of appTileGroups; track _trackById(i, appTileGroup); let i = $index) { @if (edit ||\r\n appTileGroup.navigatorVisible) {\r\n\r\n <fdp-icon-tab-bar-tab\r\n [id]=\"appTileGroup.Id\"\r\n [color]=\"appTileGroup.Color?.$Caption\"\r\n [icon]=\"appTileGroup.IconFont\"\r\n [iconFont]=\"appTileGroup.IconFontName?.$Caption\"\r\n [label]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n #tabRef\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\" cdkScrollable [scrollPersist]=\"appTileGroup.Id\" >\r\n <bnrc-dynamic-tile-group\r\n [component]=\"appTileGroup.Component?.Selector ? appTileGroup.Component : defaultTileGroupComponent\"\r\n [parameters]=\"appTileGroup.Component?.Settings\"\r\n [tabRef]=\"tabRef\"\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [cssStyles]=\"appTileGroup.CssStyles\"\r\n [deviceSize]=\"deviceSize\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"i > 0\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bnrc-dynamic-tile-group>\r\n </fd-dynamic-page-content>\r\n </fdp-icon-tab-bar-tab>\r\n\r\n } }\r\n </fdp-icon-tab-bar>\r\n\r\n <fd-dynamic-page-footer>\r\n @if (edit) {\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n }\r\n </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n", styles: [":host{display:block}:host .no-dynamic-page ::ng-deep fdp-icon-tab-bar-filter-type>ul{padding-inline:3rem}:host ::ng-deep>fd-dynamic-page ::ng-deep>article{height:calc(100vh - var(--shellbar-height) - var(--bottom-menu-height))!important}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep>fd-dynamic-page ::ng-deep>article fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__content{border-bottom:none;padding:1px}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}@media (min-width: 1200px){:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fdp-icon-tab-bar-text-type{display:flex;justify-content:center}:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar ul,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content>bt-tiles-viewer-group{width:90rem}}:host.hideTabs ::ng-deep fdp-icon-tab-bar-text-type{display:none!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"], dependencies: [{ kind: "directive", type: i3$1.ɵɵCdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i2$2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "clear", "size", "role"] }, { kind: "directive", type: i2$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i2$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i4$3.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "ariaRoledescription", "background", "autoResponsive", "size", "offset", "expandContent", "positionRelative"] }, { kind: "component", type: i4$3.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap", "headingLevel", "titleId"] }, { kind: "component", type: i4$3.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i4$3.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i4$3.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i4$3.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i3$2.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: i6$2.SwitchComponent, selector: "fd-switch", inputs: ["activeText", "inactiveText", "id", "required", "checked", "semantic", "ariaLabel", "ariaLabelledBy"], outputs: ["checkedChange"] }, { kind: "component", type: i5$1.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i5$1.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i8.IconTabBarComponent, selector: "fdp-icon-tab-bar", inputs: ["stackContent", "tabHeadingLevel", "iconTabType", "tabsConfig", "densityMode", "iconTabFont", "enableTabReordering", "showTotalTab", "multiClick", "layoutMode", "iconTabBackground", "iconTabSize", "colorAssociations", "settings", "maxContentHeight"], outputs: ["tabsConfigChange", "densityModeChange", "iconTabSelected", "iconTabReordered", "closeTab"] }, { kind: "component", type: i8.IconTabBarTabComponent, selector: "fdp-icon-tab-bar-tab", inputs: ["label", "color", "icon", "iconFont", "counter", "active", "badge", "closable", "id"] }, { kind: "component", type: i5.DynamicTileGroupComponent, selector: "bnrc-dynamic-tile-group,[dynamictilegroup]", inputs: ["appTileGroup", "tabRef", "stackContent", "cssStyles", "edit", "rtl", "isAppTileSubGroup", "deviceSize", "isLast"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "directive", type: i5.ScrollPersistDirective, selector: "[scrollPersist]", inputs: ["scrollPersist"] }, { kind: "directive", type: i3.FixMoreDirective, selector: "[fixMore]" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1973
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: TilesViewerComponent, isStandalone: false, selector: "bt-tiles-viewer", inputs: { appTileGroups: "appTileGroups", loading: "loading", edit: "edit", rtl: "rtl", defaultTab: "defaultTab", tabsBackColor: "tabsBackColor", stackContent: "stackContent", iconTabType: "iconTabType", deviceSize: "deviceSize", selectedAppGroupId: "selectedAppGroupId", DynamicComponents: "DynamicComponents" }, outputs: { stackContentChange: "stackContentChange", closeEditHome: "closeEditHome", save: "save", listDropped: "listDropped", tabChanged: "tabChanged", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", changeGroupAppTileClick: "changeGroupAppTileClick", tilesDropped: "tilesDropped" }, host: { properties: { "class.page-content": "this.pageContentClass", "class.tiles-viewer": "this._cls", "attr.rtl": "this._rtl" } }, viewQueries: [{ propertyName: "tabListComponent", first: true, predicate: IconTabBarComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fd-dynamic-page size=\"large\" [autoResponsive]=\"true\">\r\n <fd-dynamic-page-header [class.hide]=\"!edit\" [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n\r\n <fdp-icon-tab-bar\r\n [stackContent]=\"stackContent\"\r\n maxContentHeight=\"auto\"\r\n ariaRoledescription=\"Tiles Container\"\r\n [iconTabType]=\"iconTabType || 'text'\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n >\r\n @for (appTileGroup of appTileGroups; track _trackById(i, appTileGroup); let i = $index) { @if (edit ||\r\n appTileGroup.navigatorVisible) {\r\n\r\n <fdp-icon-tab-bar-tab\r\n [id]=\"appTileGroup.Id\"\r\n [color]=\"appTileGroup.Color?.$Caption\"\r\n [icon]=\"appTileGroup.IconFont\"\r\n [iconFont]=\"appTileGroup.IconFontName?.$Caption\"\r\n [label]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n #tabRef\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\" cdkScrollable [scrollPersist]=\"appTileGroup.Id\" >\r\n <bnrc-dynamic-tile-group\r\n [component]=\"appTileGroup.Component?.Selector ? appTileGroup.Component : defaultTileGroupComponent\"\r\n [parameters]=\"appTileGroup.Component?.Settings\"\r\n [tabRef]=\"tabRef\"\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [cssStyles]=\"appTileGroup.CssStyles\"\r\n [deviceSize]=\"deviceSize\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"i > 0\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (changeGroupAppTileClick)=\"changeGroupAppTileClick.emit($any($event))\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bnrc-dynamic-tile-group>\r\n </fd-dynamic-page-content>\r\n </fdp-icon-tab-bar-tab>\r\n\r\n } }\r\n </fdp-icon-tab-bar>\r\n\r\n <fd-dynamic-page-footer>\r\n @if (edit) {\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n }\r\n </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n", styles: [":host{display:block}:host .no-dynamic-page ::ng-deep fdp-icon-tab-bar-filter-type>ul{padding-inline:3rem}:host ::ng-deep>fd-dynamic-page ::ng-deep>article{height:calc(100vh - var(--shellbar-height) - var(--bottom-menu-height))!important}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep>fd-dynamic-page ::ng-deep>article fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__content{border-bottom:none;padding:1px}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}@media (min-width: 1200px){:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fdp-icon-tab-bar-text-type{display:flex;justify-content:center}:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar ul,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content>bt-tiles-viewer-group{width:90rem}}:host.hideTabs ::ng-deep fdp-icon-tab-bar-text-type{display:none!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"], dependencies: [{ kind: "directive", type: i3$1.ɵɵCdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i2$2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "clear", "size", "role"] }, { kind: "directive", type: i2$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i2$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i4$4.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "ariaRoledescription", "background", "autoResponsive", "size", "offset", "expandContent", "positionRelative"] }, { kind: "component", type: i4$4.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap", "headingLevel", "titleId"] }, { kind: "component", type: i4$4.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i4$4.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i4$4.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i4$4.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i3$2.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: i6$2.SwitchComponent, selector: "fd-switch", inputs: ["activeText", "inactiveText", "id", "required", "checked", "semantic", "ariaLabel", "ariaLabelledBy"], outputs: ["checkedChange"] }, { kind: "component", type: i5$1.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i5$1.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i8$1.IconTabBarComponent, selector: "fdp-icon-tab-bar", inputs: ["stackContent", "tabHeadingLevel", "iconTabType", "tabsConfig", "densityMode", "iconTabFont", "enableTabReordering", "showTotalTab", "multiClick", "layoutMode", "iconTabBackground", "iconTabSize", "colorAssociations", "settings", "maxContentHeight"], outputs: ["tabsConfigChange", "densityModeChange", "iconTabSelected", "iconTabReordered", "closeTab"] }, { kind: "component", type: i8$1.IconTabBarTabComponent, selector: "fdp-icon-tab-bar-tab", inputs: ["label", "color", "icon", "iconFont", "counter", "active", "badge", "closable", "id"] }, { kind: "component", type: i5.DynamicTileGroupComponent, selector: "bnrc-dynamic-tile-group,[dynamictilegroup]", inputs: ["appTileGroup", "tabRef", "stackContent", "cssStyles", "edit", "rtl", "isAppTileSubGroup", "deviceSize", "isLast"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "changeGroupAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "directive", type: i5.ScrollPersistDirective, selector: "[scrollPersist]", inputs: ["scrollPersist"] }, { kind: "directive", type: i3.FixMoreDirective, selector: "[fixMore]" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1704
1974
  }
1705
1975
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesViewerComponent, decorators: [{
1706
1976
  type: Component,
1707
- args: [{ selector: 'bt-tiles-viewer', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dynamic-page size=\"large\" [autoResponsive]=\"true\">\r\n <fd-dynamic-page-header [class.hide]=\"!edit\" [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n\r\n <fdp-icon-tab-bar\r\n [stackContent]=\"stackContent\"\r\n maxContentHeight=\"auto\"\r\n ariaRoledescription=\"Tiles Container\"\r\n [iconTabType]=\"iconTabType || 'text'\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n >\r\n @for (appTileGroup of appTileGroups; track _trackById(i, appTileGroup); let i = $index) { @if (edit ||\r\n appTileGroup.navigatorVisible) {\r\n\r\n <fdp-icon-tab-bar-tab\r\n [id]=\"appTileGroup.Id\"\r\n [color]=\"appTileGroup.Color?.$Caption\"\r\n [icon]=\"appTileGroup.IconFont\"\r\n [iconFont]=\"appTileGroup.IconFontName?.$Caption\"\r\n [label]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n #tabRef\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\" cdkScrollable [scrollPersist]=\"appTileGroup.Id\" >\r\n <bnrc-dynamic-tile-group\r\n [component]=\"appTileGroup.Component?.Selector ? appTileGroup.Component : defaultTileGroupComponent\"\r\n [parameters]=\"appTileGroup.Component?.Settings\"\r\n [tabRef]=\"tabRef\"\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [cssStyles]=\"appTileGroup.CssStyles\"\r\n [deviceSize]=\"deviceSize\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"i > 0\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bnrc-dynamic-tile-group>\r\n </fd-dynamic-page-content>\r\n </fdp-icon-tab-bar-tab>\r\n\r\n } }\r\n </fdp-icon-tab-bar>\r\n\r\n <fd-dynamic-page-footer>\r\n @if (edit) {\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n }\r\n </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n", styles: [":host{display:block}:host .no-dynamic-page ::ng-deep fdp-icon-tab-bar-filter-type>ul{padding-inline:3rem}:host ::ng-deep>fd-dynamic-page ::ng-deep>article{height:calc(100vh - var(--shellbar-height) - var(--bottom-menu-height))!important}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep>fd-dynamic-page ::ng-deep>article fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__content{border-bottom:none;padding:1px}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}@media (min-width: 1200px){:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fdp-icon-tab-bar-text-type{display:flex;justify-content:center}:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar ul,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content>bt-tiles-viewer-group{width:90rem}}:host.hideTabs ::ng-deep fdp-icon-tab-bar-text-type{display:none!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"] }]
1977
+ args: [{ selector: 'bt-tiles-viewer', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dynamic-page size=\"large\" [autoResponsive]=\"true\">\r\n <fd-dynamic-page-header [class.hide]=\"!edit\" [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n\r\n <fdp-icon-tab-bar\r\n [stackContent]=\"stackContent\"\r\n maxContentHeight=\"auto\"\r\n ariaRoledescription=\"Tiles Container\"\r\n [iconTabType]=\"iconTabType || 'text'\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n >\r\n @for (appTileGroup of appTileGroups; track _trackById(i, appTileGroup); let i = $index) { @if (edit ||\r\n appTileGroup.navigatorVisible) {\r\n\r\n <fdp-icon-tab-bar-tab\r\n [id]=\"appTileGroup.Id\"\r\n [color]=\"appTileGroup.Color?.$Caption\"\r\n [icon]=\"appTileGroup.IconFont\"\r\n [iconFont]=\"appTileGroup.IconFontName?.$Caption\"\r\n [label]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n #tabRef\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\" cdkScrollable [scrollPersist]=\"appTileGroup.Id\" >\r\n <bnrc-dynamic-tile-group\r\n [component]=\"appTileGroup.Component?.Selector ? appTileGroup.Component : defaultTileGroupComponent\"\r\n [parameters]=\"appTileGroup.Component?.Settings\"\r\n [tabRef]=\"tabRef\"\r\n [class]=\"deviceSize\"\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [cssStyles]=\"appTileGroup.CssStyles\"\r\n [deviceSize]=\"deviceSize\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"i > 0\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (changeGroupAppTileClick)=\"changeGroupAppTileClick.emit($any($event))\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bnrc-dynamic-tile-group>\r\n </fd-dynamic-page-content>\r\n </fdp-icon-tab-bar-tab>\r\n\r\n } }\r\n </fdp-icon-tab-bar>\r\n\r\n <fd-dynamic-page-footer>\r\n @if (edit) {\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n }\r\n </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n", styles: [":host{display:block}:host .no-dynamic-page ::ng-deep fdp-icon-tab-bar-filter-type>ul{padding-inline:3rem}:host ::ng-deep>fd-dynamic-page ::ng-deep>article{height:calc(100vh - var(--shellbar-height) - var(--bottom-menu-height))!important}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep>fd-dynamic-page ::ng-deep>article fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep>fd-dynamic-page ::ng-deep>article .fd-panel__content{border-bottom:none;padding:1px}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}@media (min-width: 1200px){:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fdp-icon-tab-bar-text-type{display:flex;justify-content:center}:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar ul,:host.centerContent>fd-dynamic-page ::ng-deep>article>fdp-icon-tab-bar fd-dynamic-page-content>bt-tiles-viewer-group{width:90rem}}:host.hideTabs ::ng-deep fdp-icon-tab-bar-text-type{display:none!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"] }]
1708
1978
  }], propDecorators: { tabListComponent: [{
1709
1979
  type: ViewChild,
1710
1980
  args: [IconTabBarComponent]
@@ -1756,6 +2026,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
1756
2026
  type: Output
1757
2027
  }], renameAppTileClick: [{
1758
2028
  type: Output
2029
+ }], changeGroupAppTileClick: [{
2030
+ type: Output
1759
2031
  }], tilesDropped: [{
1760
2032
  type: Output
1761
2033
  }], _rtl: [{
@@ -1916,7 +2188,7 @@ class TilesViewerContainerComponent extends BaseComponent {
1916
2188
  BarsaApi.Bw.RefreshAppTileGroup = (appTileGroupId) => {
1917
2189
  this._tilesService.loadAppTileGroupsById(appTileGroupId);
1918
2190
  };
1919
- this.stackContent$ = this._portalService.userPortalSettings$.pipe(takeUntil(this._onDestroy$), map((settings) => settings['UserPortalSettings']), map((settings) => settings?.TilesStackContent), distinctUntilChanged());
2191
+ this.stackContent$ = this._portalService.userPortalSettings$.pipe(takeUntil$1(this._onDestroy$), map((settings) => settings['UserPortalSettings']), map((settings) => settings?.TilesStackContent), distinctUntilChanged());
1920
2192
  this.stackContent$.subscribe((stackContent) => {
1921
2193
  this.initialStackContentValue = this.userStackContent = stackContent;
1922
2194
  if (stackContent) {
@@ -2048,6 +2320,9 @@ class TilesViewerContainerComponent extends BaseComponent {
2048
2320
  onRenameAppTile(appTile) {
2049
2321
  this._tilesViewerService.openRenameForm(appTile);
2050
2322
  }
2323
+ onChangeGroupAppTile(appTile) {
2324
+ this._tilesViewerService.openChangeGroupForm(appTile);
2325
+ }
2051
2326
  loadAppTileGroup(appTileGroup) {
2052
2327
  this._tilesViewerService.loadAppTileGroup(appTileGroup);
2053
2328
  }
@@ -2063,11 +2338,11 @@ class TilesViewerContainerComponent extends BaseComponent {
2063
2338
  this._tilesService.saveOrderAppTiles(appTileGroup, actionLinks, true, appTileIdTransferedId);
2064
2339
  }
2065
2340
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesViewerContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2066
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: TilesViewerContainerComponent, isStandalone: false, selector: "bt-tiles-viewer-container", providers: [TilesViewerService, TilesService], usesInheritance: true, ngImport: i0, template: "@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n settings.DisplayMode$Caption === '\u062A\u0628 \u0628\u0646\u062F\u06CC' ? tabmode : megamenu;\r\n context: { $implicit: appTileGroups }\r\n \"\r\n>\r\n</ng-container>\r\n<ng-template #tabmode let-appTileGroups>\r\n <bt-tiles-viewer\r\n darkClass\r\n [class.edit]=\"(edit$ | async)!!\"\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [iconTabType]=\"settings?.TabType?.$Caption\"\r\n [class.hideTabs]=\"settings?.HideTabs\"\r\n [class.centerContent]=\"settings?.CenterContent\"\r\n [class.boxShadow]=\"settings?.BoxShadow\"\r\n [class.tabsBackColor]=\"settings?.TabsBackColor\"\r\n cssRootVariable\r\n [cssVariableValue]=\"settings?.TabsBackColor\"\r\n [cssVariableName]=\"'--tile-tabs-custom-color'\"\r\n [edit]=\"(edit$ | async)!!\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [stackContent]=\"(stackContent$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [defaultTab]=\"selectedAppGroupId\"\r\n (stackContentChange)=\"onStackContentChanged($event)\"\r\n (closeEditHome)=\"onCloseEditHome()\"\r\n (save)=\"onExitEditHome($event)\"\r\n (listDropped)=\"onDropGroup($event)\"\r\n (tabChanged)=\"onSelectedTabChange($event)\"\r\n (toggleGroup)=\"onToggleShowHide($event)\"\r\n (resetGroup)=\"onReset($event)\"\r\n (deleteGroup)=\"onDelete($event)\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (hideAppTileClick)=\"onHideAppTile($event)\"\r\n (renameAppTileClick)=\"onRenameAppTile($event)\"\r\n ></bt-tiles-viewer>\r\n</ng-template>\r\n<ng-template #megamenu>\r\n <bt-tiles-viewer-megamenu\r\n darkClass\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [class.centerContent]=\"settings?.CenterContent\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\" \r\n (loadAppTileGroup)=\"onLoadAppTileGroup($event)\"\r\n ></bt-tiles-viewer-megamenu>\r\n</ng-template>\r\n} @else {\r\n<bsu-no-data></bsu-no-data>\r\n} } @else {\r\n<bsu-mask></bsu-mask>\r\n}\r\n\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.DynamicRootVariableDirective, selector: "[cssRootVariable]", inputs: ["cssVariableName", "cssVariableValue", "disable"], exportAs: ["cssRootVariable"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i3.NoDataComponent, selector: "bsu-no-data", inputs: ["simple"] }, { kind: "directive", type: i3.DarkClassDirective, selector: "[darkClass]" }, { kind: "component", type: TilesViewerComponent, selector: "bt-tiles-viewer", inputs: ["appTileGroups", "loading", "edit", "rtl", "defaultTab", "tabsBackColor", "stackContent", "iconTabType", "deviceSize", "selectedAppGroupId", "DynamicComponents"], outputs: ["stackContentChange", "closeEditHome", "save", "listDropped", "tabChanged", "toggleGroup", "resetGroup", "deleteGroup", "hideAppTileClick", "renameAppTileClick", "tilesDropped"] }, { kind: "component", type: TilesViewerMegamenuComponent, selector: "bt-tiles-viewer-megamenu", inputs: ["appTileGroups", "loading", "rtl", "deviceSize", "selectedAppGroupId", "DynamicComponents"], outputs: ["loadAppTileGroup"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2341
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: TilesViewerContainerComponent, isStandalone: false, selector: "bt-tiles-viewer-container", providers: [TilesViewerService, TilesService], usesInheritance: true, ngImport: i0, template: "@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n settings.DisplayMode$Caption === '\u062A\u0628 \u0628\u0646\u062F\u06CC' ? tabmode : megamenu;\r\n context: { $implicit: appTileGroups }\r\n \"\r\n>\r\n</ng-container>\r\n<ng-template #tabmode let-appTileGroups>\r\n <bt-tiles-viewer\r\n darkClass\r\n [class.edit]=\"(edit$ | async)!!\"\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [iconTabType]=\"settings?.TabType?.$Caption\"\r\n [class.hideTabs]=\"settings?.HideTabs\"\r\n [class.centerContent]=\"settings?.CenterContent\"\r\n [class.boxShadow]=\"settings?.BoxShadow\"\r\n [class.tabsBackColor]=\"settings?.TabsBackColor\"\r\n cssRootVariable\r\n [cssVariableValue]=\"settings?.TabsBackColor\"\r\n [cssVariableName]=\"'--tile-tabs-custom-color'\"\r\n [edit]=\"(edit$ | async)!!\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [stackContent]=\"(stackContent$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [defaultTab]=\"selectedAppGroupId\"\r\n (stackContentChange)=\"onStackContentChanged($event)\"\r\n (closeEditHome)=\"onCloseEditHome()\"\r\n (save)=\"onExitEditHome($event)\"\r\n (listDropped)=\"onDropGroup($event)\"\r\n (tabChanged)=\"onSelectedTabChange($event)\"\r\n (toggleGroup)=\"onToggleShowHide($event)\"\r\n (resetGroup)=\"onReset($event)\"\r\n (deleteGroup)=\"onDelete($event)\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (hideAppTileClick)=\"onHideAppTile($event)\"\r\n (renameAppTileClick)=\"onRenameAppTile($event)\"\r\n (changeGroupAppTileClick)=\"onChangeGroupAppTile($event)\"\r\n ></bt-tiles-viewer>\r\n</ng-template>\r\n<ng-template #megamenu>\r\n <bt-tiles-viewer-megamenu\r\n darkClass\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [class.centerContent]=\"settings?.CenterContent\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\" \r\n (loadAppTileGroup)=\"onLoadAppTileGroup($event)\"\r\n ></bt-tiles-viewer-megamenu>\r\n</ng-template>\r\n} @else {\r\n<bsu-no-data></bsu-no-data>\r\n} } @else {\r\n<bsu-mask></bsu-mask>\r\n}\r\n\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.DynamicRootVariableDirective, selector: "[cssRootVariable]", inputs: ["cssVariableName", "cssVariableValue", "disable"], exportAs: ["cssRootVariable"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i3.NoDataComponent, selector: "bsu-no-data", inputs: ["simple"] }, { kind: "directive", type: i3.DarkClassDirective, selector: "[darkClass]" }, { kind: "component", type: TilesViewerComponent, selector: "bt-tiles-viewer", inputs: ["appTileGroups", "loading", "edit", "rtl", "defaultTab", "tabsBackColor", "stackContent", "iconTabType", "deviceSize", "selectedAppGroupId", "DynamicComponents"], outputs: ["stackContentChange", "closeEditHome", "save", "listDropped", "tabChanged", "toggleGroup", "resetGroup", "deleteGroup", "hideAppTileClick", "renameAppTileClick", "changeGroupAppTileClick", "tilesDropped"] }, { kind: "component", type: TilesViewerMegamenuComponent, selector: "bt-tiles-viewer-megamenu", inputs: ["appTileGroups", "loading", "rtl", "deviceSize", "selectedAppGroupId", "DynamicComponents"], outputs: ["loadAppTileGroup"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2067
2342
  }
2068
2343
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TilesViewerContainerComponent, decorators: [{
2069
2344
  type: Component,
2070
- args: [{ selector: 'bt-tiles-viewer-container', providers: [TilesViewerService, TilesService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n settings.DisplayMode$Caption === '\u062A\u0628 \u0628\u0646\u062F\u06CC' ? tabmode : megamenu;\r\n context: { $implicit: appTileGroups }\r\n \"\r\n>\r\n</ng-container>\r\n<ng-template #tabmode let-appTileGroups>\r\n <bt-tiles-viewer\r\n darkClass\r\n [class.edit]=\"(edit$ | async)!!\"\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [iconTabType]=\"settings?.TabType?.$Caption\"\r\n [class.hideTabs]=\"settings?.HideTabs\"\r\n [class.centerContent]=\"settings?.CenterContent\"\r\n [class.boxShadow]=\"settings?.BoxShadow\"\r\n [class.tabsBackColor]=\"settings?.TabsBackColor\"\r\n cssRootVariable\r\n [cssVariableValue]=\"settings?.TabsBackColor\"\r\n [cssVariableName]=\"'--tile-tabs-custom-color'\"\r\n [edit]=\"(edit$ | async)!!\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [stackContent]=\"(stackContent$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [defaultTab]=\"selectedAppGroupId\"\r\n (stackContentChange)=\"onStackContentChanged($event)\"\r\n (closeEditHome)=\"onCloseEditHome()\"\r\n (save)=\"onExitEditHome($event)\"\r\n (listDropped)=\"onDropGroup($event)\"\r\n (tabChanged)=\"onSelectedTabChange($event)\"\r\n (toggleGroup)=\"onToggleShowHide($event)\"\r\n (resetGroup)=\"onReset($event)\"\r\n (deleteGroup)=\"onDelete($event)\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (hideAppTileClick)=\"onHideAppTile($event)\"\r\n (renameAppTileClick)=\"onRenameAppTile($event)\"\r\n ></bt-tiles-viewer>\r\n</ng-template>\r\n<ng-template #megamenu>\r\n <bt-tiles-viewer-megamenu\r\n darkClass\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [class.centerContent]=\"settings?.CenterContent\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\" \r\n (loadAppTileGroup)=\"onLoadAppTileGroup($event)\"\r\n ></bt-tiles-viewer-megamenu>\r\n</ng-template>\r\n} @else {\r\n<bsu-no-data></bsu-no-data>\r\n} } @else {\r\n<bsu-mask></bsu-mask>\r\n}\r\n\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"] }]
2345
+ args: [{ selector: 'bt-tiles-viewer-container', providers: [TilesViewerService, TilesService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n settings.DisplayMode$Caption === '\u062A\u0628 \u0628\u0646\u062F\u06CC' ? tabmode : megamenu;\r\n context: { $implicit: appTileGroups }\r\n \"\r\n>\r\n</ng-container>\r\n<ng-template #tabmode let-appTileGroups>\r\n <bt-tiles-viewer\r\n darkClass\r\n [class.edit]=\"(edit$ | async)!!\"\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [iconTabType]=\"settings?.TabType?.$Caption\"\r\n [class.hideTabs]=\"settings?.HideTabs\"\r\n [class.centerContent]=\"settings?.CenterContent\"\r\n [class.boxShadow]=\"settings?.BoxShadow\"\r\n [class.tabsBackColor]=\"settings?.TabsBackColor\"\r\n cssRootVariable\r\n [cssVariableValue]=\"settings?.TabsBackColor\"\r\n [cssVariableName]=\"'--tile-tabs-custom-color'\"\r\n [edit]=\"(edit$ | async)!!\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [stackContent]=\"(stackContent$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [defaultTab]=\"selectedAppGroupId\"\r\n (stackContentChange)=\"onStackContentChanged($event)\"\r\n (closeEditHome)=\"onCloseEditHome()\"\r\n (save)=\"onExitEditHome($event)\"\r\n (listDropped)=\"onDropGroup($event)\"\r\n (tabChanged)=\"onSelectedTabChange($event)\"\r\n (toggleGroup)=\"onToggleShowHide($event)\"\r\n (resetGroup)=\"onReset($event)\"\r\n (deleteGroup)=\"onDelete($event)\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (hideAppTileClick)=\"onHideAppTile($event)\"\r\n (renameAppTileClick)=\"onRenameAppTile($event)\"\r\n (changeGroupAppTileClick)=\"onChangeGroupAppTile($event)\"\r\n ></bt-tiles-viewer>\r\n</ng-template>\r\n<ng-template #megamenu>\r\n <bt-tiles-viewer-megamenu\r\n darkClass\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [class.centerContent]=\"settings?.CenterContent\"\r\n [rtl]=\"(rtl$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\" \r\n (loadAppTileGroup)=\"onLoadAppTileGroup($event)\"\r\n ></bt-tiles-viewer-megamenu>\r\n</ng-template>\r\n} @else {\r\n<bsu-no-data></bsu-no-data>\r\n} } @else {\r\n<bsu-mask></bsu-mask>\r\n}\r\n\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"] }]
2071
2346
  }], ctorParameters: () => [] });
2072
2347
 
2073
2348
  class MicroTileChartBulletComponent extends BaseBtTileComponent {
@@ -2082,11 +2357,11 @@ class MicroTileChartBulletComponent extends BaseBtTileComponent {
2082
2357
  this.isDelta = this.settings.IsDelta;
2083
2358
  }
2084
2359
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartBulletComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2085
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: MicroTileChartBulletComponent, isStandalone: false, selector: "bt-micro-tile-chart-bullet", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n @if (double) {\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n }\r\n\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"double ? false : isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host ::ng-deep .fd-tile__content{display:flex;column-gap:20px}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartBulletComponent, selector: "be-micro-chart-bullet", inputs: ["chartInstanceId", "parentMoId", "range", "value", "forecast", "target", "suffix", "separatorLines", "isDelta"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2360
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: MicroTileChartBulletComponent, isStandalone: false, selector: "bt-micro-tile-chart-bullet", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n @if (double) {\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n }\r\n\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"double ? false : isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host ::ng-deep .fd-tile__content{display:flex;column-gap:20px}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartBulletComponent, selector: "be-micro-chart-bullet", inputs: ["chartInstanceId", "parentMoId", "range", "value", "forecast", "target", "suffix", "separatorLines", "isDelta"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2086
2361
  }
2087
2362
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartBulletComponent, decorators: [{
2088
2363
  type: Component,
2089
- args: [{ selector: 'bt-micro-tile-chart-bullet', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n @if (double) {\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n }\r\n\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"double ? false : isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host ::ng-deep .fd-tile__content{display:flex;column-gap:20px}\n"] }]
2364
+ args: [{ selector: 'bt-micro-tile-chart-bullet', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n @if (double) {\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n }\r\n\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"double ? false : isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host ::ng-deep .fd-tile__content{display:flex;column-gap:20px}\n"] }]
2090
2365
  }] });
2091
2366
 
2092
2367
  class NewsTileComponent extends BaseBtTileComponent {
@@ -2103,7 +2378,7 @@ class NewsTileComponent extends BaseBtTileComponent {
2103
2378
  if (slides.length) {
2104
2379
  this._updateTile(slides[0]);
2105
2380
  interval(5000)
2106
- .pipe(takeUntil(this._onDestroy$), tap(() => {
2381
+ .pipe(takeUntil$1(this._onDestroy$), tap(() => {
2107
2382
  if (!this.isStop) {
2108
2383
  this.carouselComponent.next();
2109
2384
  }
@@ -2120,11 +2395,11 @@ class NewsTileComponent extends BaseBtTileComponent {
2120
2395
  this.activeNews = newsMo;
2121
2396
  }
2122
2397
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NewsTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2123
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: NewsTileComponent, isStandalone: false, selector: "bt-news-tile", viewQueries: [{ propertyName: "carouselComponent", first: true, predicate: CarouselComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [footerTemplate]=\"newsFooter\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [setToStorage]=\"setToStorage\"\r\n [deviceSize]=\"deviceSize\"\r\n [listMode]=\"listMode\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\r\n <span>\r\n {{ activeNews?.Text | bbbTranslate }}\r\n </span>\r\n\r\n <div class=\"wrapper-carousel\">\r\n <div class=\"cover\"></div>\r\n @if (slides.length > 1) {\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [glyph]=\"isStop ? 'play' : 'pause'\"\r\n (click)=\"isStop = !isStop; $event.preventDefault(); $event.stopPropagation()\"\r\n ></button>\r\n }\r\n <fd-carousel\r\n carouselIndicatorsOrientation=\"top\"\r\n [slideTransitionDuration]=\"1000\"\r\n (slideChange)=\"slideChange($event)\"\r\n [loop]=\"true\"\r\n [navigation]=\"false\"\r\n [navigatorInPageIndicator]=\"false\"\r\n width=\"100%\"\r\n >\r\n @for (slide of slides; track slide) {\r\n <fd-carousel-item [value]=\"slide\">\r\n <img\r\n [src]=\"slide.Img ? (slide.Img.FileId | picFieldSrc: 'ID':null:slide.Img.FileId:335:170) : ''\"\r\n loading=\"lazy\"\r\n />\r\n </fd-carousel-item>\r\n }\r\n </fd-carousel>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n\r\n<!-- tile footer-->\r\n<ng-template #newsFooter>\r\n <div fd-tile-footer [twoColumn]=\"twoColumn\" *untilInView=\"el\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n </div>\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer2 | bbbTranslate }}</span>\r\n </div>\r\n } @else {\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [":host{position:relative;display:block}:host bt-tile{position:relative}:host bt-tile .wrapper-carousel{position:absolute;top:0;width:100%;height:100%;left:0;z-index:0}:host bt-tile .wrapper-carousel img{width:335px;height:165px;object-fit:cover}:host ::ng-deep span{z-index:3;color:#fff}:host ::ng-deep button{position:absolute;right:15px;top:15px;display:none}:host ::ng-deep .fd-carousel__content{z-index:3}:host ::ng-deep .fd-carousel__page-indicator-container{position:absolute;bottom:0;display:none;background-color:transparent}:host ::ng-deep .fd-carousel__page-indicator-container ol{z-index:5}:host ::ng-deep .fd-carousel__page-indicator-container ol li{background-color:#dad7d7}:host ::ng-deep .fd-carousel__page-indicator-container ol li.fd-carousel__page-indicator--active{background-color:#fff}:host .cover{background-color:#064079d9;position:absolute;bottom:0;left:0;right:0;height:50%;z-index:4;opacity:.6}:host:hover ::ng-deep .fd-carousel__page-indicator-container{display:inherit}:host:hover ::ng-deep button{display:inline-flex}\n"], dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i2$4.CarouselComponent, selector: "fd-carousel", inputs: ["id", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "pageIndicatorsOrientation", "height", "width", "loop", "navigation", "navigatorInPageIndicator", "numericIndicator", "pageIndicatorContainer", "pageIndicator", "resourceStrings", "slideTransitionDuration", "swipeEnabled", "vertical", "noPaginationContainerBorder", "contentBackground", "pageIndicatorBackground", "visibleSlidesCount"], outputs: ["slideChange"] }, { kind: "component", type: i2$4.CarouselItemComponent, selector: "fd-carousel-item", inputs: ["id", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "loading", "title", "initialHeight", "initialWidth", "value"] }, { kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileFooterDirective, selector: "[fdTileFooter], [fd-tile-footer]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileSectionDirective, selector: "[fdTileSection], [fd-tile-section]" }, { kind: "directive", type: i1$1.TileFooterTextDirective, selector: "[fdTileFooterText], [fd-tile-footer-text]" }, { kind: "directive", type: i5.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2398
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: NewsTileComponent, isStandalone: false, selector: "bt-news-tile", viewQueries: [{ propertyName: "carouselComponent", first: true, predicate: CarouselComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [footerTemplate]=\"newsFooter\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [setToStorage]=\"setToStorage\"\r\n [deviceSize]=\"deviceSize\"\r\n [listMode]=\"listMode\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\r\n <span>\r\n {{ activeNews?.Text | bbbTranslate }}\r\n </span>\r\n\r\n <div class=\"wrapper-carousel\">\r\n <div class=\"cover\"></div>\r\n @if (slides.length > 1) {\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [glyph]=\"isStop ? 'play' : 'pause'\"\r\n (click)=\"isStop = !isStop; $event.preventDefault(); $event.stopPropagation()\"\r\n ></button>\r\n }\r\n <fd-carousel\r\n carouselIndicatorsOrientation=\"top\"\r\n [slideTransitionDuration]=\"1000\"\r\n (slideChange)=\"slideChange($event)\"\r\n [loop]=\"true\"\r\n [navigation]=\"false\"\r\n [navigatorInPageIndicator]=\"false\"\r\n width=\"100%\"\r\n >\r\n @for (slide of slides; track slide) {\r\n <fd-carousel-item [value]=\"slide\">\r\n <img\r\n [src]=\"slide.Img ? (slide.Img.FileId | picFieldSrc: 'ID':null:slide.Img.FileId:335:170) : ''\"\r\n loading=\"lazy\"\r\n />\r\n </fd-carousel-item>\r\n }\r\n </fd-carousel>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n\r\n<!-- tile footer-->\r\n<ng-template #newsFooter>\r\n <div fd-tile-footer [twoColumn]=\"twoColumn\" *untilInView=\"el\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n </div>\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer2 | bbbTranslate }}</span>\r\n </div>\r\n } @else {\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [":host{position:relative;display:block}:host bt-tile{position:relative}:host bt-tile .wrapper-carousel{position:absolute;top:0;width:100%;height:100%;left:0;z-index:0}:host bt-tile .wrapper-carousel img{width:335px;height:165px;object-fit:cover}:host ::ng-deep span{z-index:3;color:#fff}:host ::ng-deep button{position:absolute;right:15px;top:15px;display:none}:host ::ng-deep .fd-carousel__content{z-index:3}:host ::ng-deep .fd-carousel__page-indicator-container{position:absolute;bottom:0;display:none;background-color:transparent}:host ::ng-deep .fd-carousel__page-indicator-container ol{z-index:5}:host ::ng-deep .fd-carousel__page-indicator-container ol li{background-color:#dad7d7}:host ::ng-deep .fd-carousel__page-indicator-container ol li.fd-carousel__page-indicator--active{background-color:#fff}:host .cover{background-color:#064079d9;position:absolute;bottom:0;left:0;right:0;height:50%;z-index:4;opacity:.6}:host:hover ::ng-deep .fd-carousel__page-indicator-container{display:inherit}:host:hover ::ng-deep button{display:inline-flex}\n"], dependencies: [{ kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i2$4.CarouselComponent, selector: "fd-carousel", inputs: ["id", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "pageIndicatorsOrientation", "height", "width", "loop", "navigation", "navigatorInPageIndicator", "numericIndicator", "pageIndicatorContainer", "pageIndicator", "resourceStrings", "slideTransitionDuration", "swipeEnabled", "vertical", "noPaginationContainerBorder", "contentBackground", "pageIndicatorBackground", "visibleSlidesCount"], outputs: ["slideChange"] }, { kind: "component", type: i2$4.CarouselItemComponent, selector: "fd-carousel-item", inputs: ["id", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "loading", "title", "initialHeight", "initialWidth", "value"] }, { kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileFooterDirective, selector: "[fdTileFooter], [fd-tile-footer]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileSectionDirective, selector: "[fdTileSection], [fd-tile-section]" }, { kind: "directive", type: i1$1.TileFooterTextDirective, selector: "[fdTileFooterText], [fd-tile-footer-text]" }, { kind: "directive", type: i5.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2124
2399
  }
2125
2400
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NewsTileComponent, decorators: [{
2126
2401
  type: Component,
2127
- args: [{ selector: 'bt-news-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [footerTemplate]=\"newsFooter\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [setToStorage]=\"setToStorage\"\r\n [deviceSize]=\"deviceSize\"\r\n [listMode]=\"listMode\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\r\n <span>\r\n {{ activeNews?.Text | bbbTranslate }}\r\n </span>\r\n\r\n <div class=\"wrapper-carousel\">\r\n <div class=\"cover\"></div>\r\n @if (slides.length > 1) {\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [glyph]=\"isStop ? 'play' : 'pause'\"\r\n (click)=\"isStop = !isStop; $event.preventDefault(); $event.stopPropagation()\"\r\n ></button>\r\n }\r\n <fd-carousel\r\n carouselIndicatorsOrientation=\"top\"\r\n [slideTransitionDuration]=\"1000\"\r\n (slideChange)=\"slideChange($event)\"\r\n [loop]=\"true\"\r\n [navigation]=\"false\"\r\n [navigatorInPageIndicator]=\"false\"\r\n width=\"100%\"\r\n >\r\n @for (slide of slides; track slide) {\r\n <fd-carousel-item [value]=\"slide\">\r\n <img\r\n [src]=\"slide.Img ? (slide.Img.FileId | picFieldSrc: 'ID':null:slide.Img.FileId:335:170) : ''\"\r\n loading=\"lazy\"\r\n />\r\n </fd-carousel-item>\r\n }\r\n </fd-carousel>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n\r\n<!-- tile footer-->\r\n<ng-template #newsFooter>\r\n <div fd-tile-footer [twoColumn]=\"twoColumn\" *untilInView=\"el\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n </div>\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer2 | bbbTranslate }}</span>\r\n </div>\r\n } @else {\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [":host{position:relative;display:block}:host bt-tile{position:relative}:host bt-tile .wrapper-carousel{position:absolute;top:0;width:100%;height:100%;left:0;z-index:0}:host bt-tile .wrapper-carousel img{width:335px;height:165px;object-fit:cover}:host ::ng-deep span{z-index:3;color:#fff}:host ::ng-deep button{position:absolute;right:15px;top:15px;display:none}:host ::ng-deep .fd-carousel__content{z-index:3}:host ::ng-deep .fd-carousel__page-indicator-container{position:absolute;bottom:0;display:none;background-color:transparent}:host ::ng-deep .fd-carousel__page-indicator-container ol{z-index:5}:host ::ng-deep .fd-carousel__page-indicator-container ol li{background-color:#dad7d7}:host ::ng-deep .fd-carousel__page-indicator-container ol li.fd-carousel__page-indicator--active{background-color:#fff}:host .cover{background-color:#064079d9;position:absolute;bottom:0;left:0;right:0;height:50%;z-index:4;opacity:.6}:host:hover ::ng-deep .fd-carousel__page-indicator-container{display:inherit}:host:hover ::ng-deep button{display:inline-flex}\n"] }]
2402
+ args: [{ selector: 'bt-news-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [footerTemplate]=\"newsFooter\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [setToStorage]=\"setToStorage\"\r\n [deviceSize]=\"deviceSize\"\r\n [listMode]=\"listMode\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\r\n <span>\r\n {{ activeNews?.Text | bbbTranslate }}\r\n </span>\r\n\r\n <div class=\"wrapper-carousel\">\r\n <div class=\"cover\"></div>\r\n @if (slides.length > 1) {\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n [glyph]=\"isStop ? 'play' : 'pause'\"\r\n (click)=\"isStop = !isStop; $event.preventDefault(); $event.stopPropagation()\"\r\n ></button>\r\n }\r\n <fd-carousel\r\n carouselIndicatorsOrientation=\"top\"\r\n [slideTransitionDuration]=\"1000\"\r\n (slideChange)=\"slideChange($event)\"\r\n [loop]=\"true\"\r\n [navigation]=\"false\"\r\n [navigatorInPageIndicator]=\"false\"\r\n width=\"100%\"\r\n >\r\n @for (slide of slides; track slide) {\r\n <fd-carousel-item [value]=\"slide\">\r\n <img\r\n [src]=\"slide.Img ? (slide.Img.FileId | picFieldSrc: 'ID':null:slide.Img.FileId:335:170) : ''\"\r\n loading=\"lazy\"\r\n />\r\n </fd-carousel-item>\r\n }\r\n </fd-carousel>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n\r\n<!-- tile footer-->\r\n<ng-template #newsFooter>\r\n <div fd-tile-footer [twoColumn]=\"twoColumn\" *untilInView=\"el\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n </div>\r\n <div fd-tile-section>\r\n <span fd-tile-footer-text>{{ activeNews?.Footer2 | bbbTranslate }}</span>\r\n </div>\r\n } @else {\r\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [":host{position:relative;display:block}:host bt-tile{position:relative}:host bt-tile .wrapper-carousel{position:absolute;top:0;width:100%;height:100%;left:0;z-index:0}:host bt-tile .wrapper-carousel img{width:335px;height:165px;object-fit:cover}:host ::ng-deep span{z-index:3;color:#fff}:host ::ng-deep button{position:absolute;right:15px;top:15px;display:none}:host ::ng-deep .fd-carousel__content{z-index:3}:host ::ng-deep .fd-carousel__page-indicator-container{position:absolute;bottom:0;display:none;background-color:transparent}:host ::ng-deep .fd-carousel__page-indicator-container ol{z-index:5}:host ::ng-deep .fd-carousel__page-indicator-container ol li{background-color:#dad7d7}:host ::ng-deep .fd-carousel__page-indicator-container ol li.fd-carousel__page-indicator--active{background-color:#fff}:host .cover{background-color:#064079d9;position:absolute;bottom:0;left:0;right:0;height:50%;z-index:4;opacity:.6}:host:hover ::ng-deep .fd-carousel__page-indicator-container{display:inherit}:host:hover ::ng-deep button{display:inline-flex}\n"] }]
2128
2403
  }], propDecorators: { carouselComponent: [{
2129
2404
  type: ViewChild,
2130
2405
  args: [CarouselComponent]
@@ -2147,11 +2422,11 @@ class MicroTileChartComparisonComponent extends BaseBtTileComponent {
2147
2422
  };
2148
2423
  }
2149
2424
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartComparisonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2150
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MicroTileChartComparisonComponent, isStandalone: false, selector: "bt-micro-tile-chart-comparison", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-comparison [data]=\"chartData\" [size]=\"double ? 'l' : 's'\"></be-micro-chart-comparison>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartComparisonComponent, selector: "be-micro-chart-comparison", inputs: ["chartInstanceId", "parentMoId", "size"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2425
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MicroTileChartComparisonComponent, isStandalone: false, selector: "bt-micro-tile-chart-comparison", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-comparison [data]=\"chartData\" [size]=\"double ? 'l' : 's'\"></be-micro-chart-comparison>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartComparisonComponent, selector: "be-micro-chart-comparison", inputs: ["chartInstanceId", "parentMoId", "size"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2151
2426
  }
2152
2427
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartComparisonComponent, decorators: [{
2153
2428
  type: Component,
2154
- args: [{ selector: 'bt-micro-tile-chart-comparison', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-comparison [data]=\"chartData\" [size]=\"double ? 'l' : 's'\"></be-micro-chart-comparison>\r\n </div>\r\n</bt-tile>\r\n" }]
2429
+ args: [{ selector: 'bt-micro-tile-chart-comparison', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-comparison [data]=\"chartData\" [size]=\"double ? 'l' : 's'\"></be-micro-chart-comparison>\r\n </div>\r\n</bt-tile>\r\n" }]
2155
2430
  }] });
2156
2431
 
2157
2432
  class MicroTileChartStackbarComponent extends BaseBtTileComponent {
@@ -2167,11 +2442,11 @@ class MicroTileChartStackbarComponent extends BaseBtTileComponent {
2167
2442
  };
2168
2443
  }
2169
2444
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartStackbarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2170
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MicroTileChartStackbarComponent, isStandalone: false, selector: "bt-micro-tile-chart-stackbar", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-stackbar [data]=\"charData\"></be-micro-chart-stackbar>\r\n </div>\r\n</bt-tile>\r\n", styles: [".chart{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartStackbarComponent, selector: "be-micro-chart-stackbar", inputs: ["chartInstanceId", "parentMoId"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2445
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MicroTileChartStackbarComponent, isStandalone: false, selector: "bt-micro-tile-chart-stackbar", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-stackbar [data]=\"charData\"></be-micro-chart-stackbar>\r\n </div>\r\n</bt-tile>\r\n", styles: [".chart{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartStackbarComponent, selector: "be-micro-chart-stackbar", inputs: ["chartInstanceId", "parentMoId"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2171
2446
  }
2172
2447
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartStackbarComponent, decorators: [{
2173
2448
  type: Component,
2174
- args: [{ selector: 'bt-micro-tile-chart-stackbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-stackbar [data]=\"charData\"></be-micro-chart-stackbar>\r\n </div>\r\n</bt-tile>\r\n", styles: [".chart{width:100%}\n"] }]
2449
+ args: [{ selector: 'bt-micro-tile-chart-stackbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-stackbar [data]=\"charData\"></be-micro-chart-stackbar>\r\n </div>\r\n</bt-tile>\r\n", styles: [".chart{width:100%}\n"] }]
2175
2450
  }] });
2176
2451
 
2177
2452
  class MicroTileChartLineComponent extends BaseBtTileComponent {
@@ -2192,11 +2467,11 @@ class MicroTileChartLineComponent extends BaseBtTileComponent {
2192
2467
  };
2193
2468
  }
2194
2469
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartLineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2195
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MicroTileChartLineComponent, isStandalone: false, selector: "bt-micro-tile-chart-line", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-line [line]=\"chartData\"></be-micro-chart-line>\r\n </div>\r\n</bt-tile>\r\n", styles: ["be-micro-chart-bar{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartLineComponent, selector: "be-micro-chart-line", inputs: ["chartInstanceId", "parentMoId"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2470
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MicroTileChartLineComponent, isStandalone: false, selector: "bt-micro-tile-chart-line", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-line [line]=\"chartData\"></be-micro-chart-line>\r\n </div>\r\n</bt-tile>\r\n", styles: ["be-micro-chart-bar{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartLineComponent, selector: "be-micro-chart-line", inputs: ["chartInstanceId", "parentMoId"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2196
2471
  }
2197
2472
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartLineComponent, decorators: [{
2198
2473
  type: Component,
2199
- args: [{ selector: 'bt-micro-tile-chart-line', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-line [line]=\"chartData\"></be-micro-chart-line>\r\n </div>\r\n</bt-tile>\r\n", styles: ["be-micro-chart-bar{display:flex;flex-direction:column}\n"] }]
2474
+ args: [{ selector: 'bt-micro-tile-chart-line', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-line [line]=\"chartData\"></be-micro-chart-line>\r\n </div>\r\n</bt-tile>\r\n", styles: ["be-micro-chart-bar{display:flex;flex-direction:column}\n"] }]
2200
2475
  }] });
2201
2476
 
2202
2477
  class MicroTileChartCircularComponent extends BaseBtTileComponent {
@@ -2205,11 +2480,11 @@ class MicroTileChartCircularComponent extends BaseBtTileComponent {
2205
2480
  this.chartData = 70;
2206
2481
  }
2207
2482
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartCircularComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2208
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MicroTileChartCircularComponent, isStandalone: false, selector: "bt-micro-tile-chart-circular", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-circular [data]=\"chartData\"></be-micro-chart-circular>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartCircularComponent, selector: "be-micro-chart-circular", inputs: ["chartInstanceId", "parentMoId"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2483
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MicroTileChartCircularComponent, isStandalone: false, selector: "bt-micro-tile-chart-circular", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-circular [data]=\"chartData\"></be-micro-chart-circular>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartCircularComponent, selector: "be-micro-chart-circular", inputs: ["chartInstanceId", "parentMoId"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2209
2484
  }
2210
2485
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartCircularComponent, decorators: [{
2211
2486
  type: Component,
2212
- args: [{ selector: 'bt-micro-tile-chart-circular', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-circular [data]=\"chartData\"></be-micro-chart-circular>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}\n"] }]
2487
+ args: [{ selector: 'bt-micro-tile-chart-circular', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-circular [data]=\"chartData\"></be-micro-chart-circular>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}\n"] }]
2213
2488
  }] });
2214
2489
 
2215
2490
  class MicroTileChartAreaComponent extends BaseBtTileComponent {
@@ -2238,163 +2513,22 @@ class MicroTileChartAreaComponent extends BaseBtTileComponent {
2238
2513
  };
2239
2514
  }
2240
2515
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2241
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MicroTileChartAreaComponent, isStandalone: false, selector: "bt-micro-tile-chart-area", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [deviceSize]=\"deviceSize\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-area\r\n [style.flex-direction]=\"double ? 'row' : 'column'\"\r\n [chartData]=\"chartData\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-area>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}be-micro-chart-area{display:flex}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartAreaComponent, selector: "be-micro-chart-area", inputs: ["chartInstanceId", "parentMoId", "size", "chartData"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2516
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: MicroTileChartAreaComponent, isStandalone: false, selector: "bt-micro-tile-chart-area", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [deviceSize]=\"deviceSize\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-area\r\n [style.flex-direction]=\"double ? 'row' : 'column'\"\r\n [chartData]=\"chartData\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-area>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}be-micro-chart-area{display:flex}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartAreaComponent, selector: "be-micro-chart-area", inputs: ["chartInstanceId", "parentMoId", "size", "chartData"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2242
2517
  }
2243
2518
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartAreaComponent, decorators: [{
2244
2519
  type: Component,
2245
- args: [{ selector: 'bt-micro-tile-chart-area', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [deviceSize]=\"deviceSize\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-area\r\n [style.flex-direction]=\"double ? 'row' : 'column'\"\r\n [chartData]=\"chartData\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-area>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}be-micro-chart-area{display:flex}\n"] }]
2520
+ args: [{ selector: 'bt-micro-tile-chart-area', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [deviceSize]=\"deviceSize\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-area\r\n [style.flex-direction]=\"double ? 'row' : 'column'\"\r\n [chartData]=\"chartData\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-area>\r\n </div>\r\n</bt-tile>\r\n", styles: [":host{display:block}be-micro-chart-area{display:flex}\n"] }]
2246
2521
  }] });
2247
2522
 
2248
2523
  class MicroTileChartBarComponent extends BaseBtTileComponent {
2249
2524
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartBarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2250
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: MicroTileChartBarComponent, isStandalone: false, selector: "bt-micro-tile-chart-bar", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n [footerTemplate]=\"footerTpl\"\r\n [hideHeader]=\"true\"\r\n>\r\n <div fd-tile-content style=\"height: 100%; max-height: 100%\">\r\n @if(settings.ChartInstance?.Id){\r\n <be-micro-chart-bar\r\n [chartInstanceId]=\"settings.ChartInstance.Id\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-bar>\r\n }@else{\r\n <div>chart defined</div>\r\n }\r\n </div>\r\n</bt-tile>\r\n<ng-template #footerTpl></ng-template>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartBarComponent, selector: "be-micro-chart-bar", inputs: ["chartInstanceId", "parentMoId", "size", "extraData"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2525
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: MicroTileChartBarComponent, isStandalone: false, selector: "bt-micro-tile-chart-bar", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n [footerTemplate]=\"footerTpl\"\r\n [hideHeader]=\"true\"\r\n>\r\n <div fd-tile-content style=\"height: 100%; max-height: 100%\">\r\n @if(settings.ChartInstance?.Id){\r\n <be-micro-chart-bar\r\n [chartInstanceId]=\"settings.ChartInstance.Id\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-bar>\r\n }@else{\r\n <div>chart defined</div>\r\n }\r\n </div>\r\n</bt-tile>\r\n<ng-template #footerTpl></ng-template>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "component", type: i2$3.MicroChartBarComponent, selector: "be-micro-chart-bar", inputs: ["chartInstanceId", "parentMoId", "size", "extraData"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2251
2526
  }
2252
2527
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: MicroTileChartBarComponent, decorators: [{
2253
2528
  type: Component,
2254
- args: [{ selector: 'bt-micro-tile-chart-bar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n [footerTemplate]=\"footerTpl\"\r\n [hideHeader]=\"true\"\r\n>\r\n <div fd-tile-content style=\"height: 100%; max-height: 100%\">\r\n @if(settings.ChartInstance?.Id){\r\n <be-micro-chart-bar\r\n [chartInstanceId]=\"settings.ChartInstance.Id\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-bar>\r\n }@else{\r\n <div>chart defined</div>\r\n }\r\n </div>\r\n</bt-tile>\r\n<ng-template #footerTpl></ng-template>\r\n", styles: [":host{display:block}\n"] }]
2255
- }] });
2256
-
2257
- class CreateAppGroupComponent extends BaseComponent {
2258
- constructor() {
2259
- super(...arguments);
2260
- this.dialogRef = inject(DialogRef);
2261
- this.bbbPipe = inject(BbbTranslatePipe);
2262
- this.fb = inject(UntypedFormBuilder);
2263
- }
2264
- ngOnInit() {
2265
- super.ngOnInit();
2266
- this.appGroupForm = this.fb.group({
2267
- title: new UntypedFormControl(this.title, [Validators.required])
2268
- });
2269
- const mandatoryFieldText = this.bbbPipe.transform('AlertFieldIsMandatory');
2270
- const titleText = this.bbbPipe.transform('Title');
2271
- this.RequiredText = mandatoryFieldText.replace('{0}', titleText);
2272
- }
2273
- onSave() {
2274
- this.submitted = true;
2275
- if (this.appGroupForm.valid) {
2276
- this.dialogRef.close(this.title);
2277
- }
2278
- }
2279
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CreateAppGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2280
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: CreateAppGroupComponent, isStandalone: false, selector: "bt-create-app-group", usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.title }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div fd-form-item [formGroup]=\"appGroupForm\">\r\n <label fd-form-label [required]=\"true\"> {{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n @if (submitted && appGroupForm.controls.title.errors) {\r\n <fd-form-message type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n }\r\n </fd-form-input-message-group>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.dismiss()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i3$2.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i3$2.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: i3$2.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "component", type: i3$2.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen", "preventSpaceKeyScroll"], outputs: ["isOpenChange"] }, { kind: "component", type: i4$2.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i5$2.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i5$2.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i5$2.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i5$2.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i5$2.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "component", type: i6$1.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i7$1.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2281
- }
2282
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CreateAppGroupComponent, decorators: [{
2283
- type: Component,
2284
- args: [{ selector: 'bt-create-app-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ dialogRef.data.title }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <div fd-form-item [formGroup]=\"appGroupForm\">\r\n <label fd-form-label [required]=\"true\"> {{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n @if (submitted && appGroupForm.controls.title.errors) {\r\n <fd-form-message type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n }\r\n </fd-form-input-message-group>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\"> </fd-button-bar>\r\n <fd-button-bar\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.dismiss()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n" }]
2529
+ args: [{ selector: 'bt-micro-tile-chart-bar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n [footerTemplate]=\"footerTpl\"\r\n [hideHeader]=\"true\"\r\n>\r\n <div fd-tile-content style=\"height: 100%; max-height: 100%\">\r\n @if(settings.ChartInstance?.Id){\r\n <be-micro-chart-bar\r\n [chartInstanceId]=\"settings.ChartInstance.Id\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-bar>\r\n }@else{\r\n <div>chart defined</div>\r\n }\r\n </div>\r\n</bt-tile>\r\n<ng-template #footerTpl></ng-template>\r\n", styles: [":host{display:block}\n"] }]
2285
2530
  }] });
2286
2531
 
2287
- class PinTileComponent extends BaseComponent {
2288
- constructor() {
2289
- super();
2290
- this.newGroupText = '';
2291
- this._dialogService = inject(DialogService);
2292
- this._dialogRef = inject(DialogRef);
2293
- this._bbbTranslate = inject(BbbTranslatePipe);
2294
- this._tilesService = inject(TilesService);
2295
- this.newGroupText = BarsaApi.LoginFormData.IsRtl
2296
- ? this._bbbTranslate.transform('Groups') + ' ' + this._bbbTranslate.transform('New')
2297
- : this._bbbTranslate.transform('New') + ' ' + this._bbbTranslate.transform('Groups');
2298
- const _dialogRef = this._dialogRef;
2299
- this.app = _dialogRef.data.app;
2300
- this.appTileGroups = _dialogRef.data.appTileGroups;
2301
- this.pinnedAppInTileGroups = _dialogRef.data.pinnedAppInTileGroups;
2302
- }
2303
- ngOnInit() {
2304
- this._setLoading(true);
2305
- const tileGroupsId = this.pinnedAppInTileGroups[this.app.Id];
2306
- this.appTileGroups.forEach((appGroup) => {
2307
- this._setDefaultPinTile(appGroup, tileGroupsId);
2308
- });
2309
- this._setLoading(false);
2310
- }
2311
- onAccept() {
2312
- const appTileGroupsPin = [];
2313
- this.appTileGroups.forEach((group) => {
2314
- this._getChangedPinTileGroups(group, appTileGroupsPin);
2315
- });
2316
- this._close({ appTileGroupsPin, app: this.app });
2317
- }
2318
- onClose() {
2319
- this._close();
2320
- }
2321
- onNewGroup() {
2322
- this.newGroupDialogRef = this._dialogService.open(CreateAppGroupComponent, {
2323
- data: { title: this.newGroupText },
2324
- verticalPadding: true,
2325
- mobile: this.mobile,
2326
- responsivePadding: true
2327
- });
2328
- this.newGroupDialogRef.afterClosed.subscribe((result) => {
2329
- if (result) {
2330
- this._setLoading(true);
2331
- this._tilesService
2332
- .createAppGroup(result)
2333
- .pipe(takeUntil$1(this._onDestroy$), finalize$1(() => {
2334
- this._setLoading(false);
2335
- }))
2336
- .subscribe();
2337
- }
2338
- });
2339
- }
2340
- onDeleteGroup(appTileGroup) {
2341
- const deleteCaption = this._bbbTranslate.transform('Delete');
2342
- const deleteConfirmation = this._bbbTranslate.transform('QuestionDeleteConfirmMessage');
2343
- BarsaApi.Bw.Msg.YesNo(deleteConfirmation, deleteCaption, (buttonId) => {
2344
- if (buttonId === 'yes') {
2345
- this._setLoading(true);
2346
- this._tilesService
2347
- .deleteAppGroup(appTileGroup)
2348
- .pipe(takeUntil$1(this._onDestroy$), finalize$1(() => {
2349
- this._setLoading(false);
2350
- }))
2351
- .subscribe(() => this._close());
2352
- }
2353
- });
2354
- }
2355
- _setLoading(loading) {
2356
- this._dialogRef.loading(loading);
2357
- }
2358
- _setDefaultPinTile(appTileGroup, tileGroupsId) {
2359
- appTileGroup.$PinTile = appTileGroup.$DefaultPinTile =
2360
- tileGroupsId.includes(appTileGroup.Id) || tileGroupsId.includes(appTileGroup.UserAppTileGroupSetting?.Id);
2361
- appTileGroup.$Children?.forEach((subGroup) => {
2362
- this._setDefaultPinTile(subGroup, tileGroupsId);
2363
- });
2364
- appTileGroup.$Disabledpin = false;
2365
- }
2366
- _getChangedPinTileGroups(appTileGroup, appTileGroupsPin) {
2367
- if (appTileGroup.$PinTile && !appTileGroup.$DefaultPinTile) {
2368
- // Add
2369
- appTileGroupsPin.push({ appTileGroup, visible: true });
2370
- }
2371
- else if (appTileGroup.$PinTile === false && appTileGroup.$DefaultPinTile) {
2372
- // Remove
2373
- appTileGroupsPin.push({ appTileGroup, visible: false });
2374
- }
2375
- appTileGroup.$Children?.forEach((subGroup) => {
2376
- this._getChangedPinTileGroups(subGroup, appTileGroupsPin);
2377
- });
2378
- }
2379
- _close(result) {
2380
- this._dialogRef.close(result);
2381
- }
2382
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PinTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2383
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: PinTileComponent, isStandalone: false, selector: "bt-pin-tile", inputs: { app: "app", appTileGroups: "appTileGroups", mobile: "mobile", pin: "pin" }, usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'AddToList' | bbbTranslate }}</h1>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ul fd-list [navigationIndicator]=\"true\" style=\"margin-bottom: 1rem\">\r\n <li fd-list-item [navigationIndicator]=\"true\" (click)=\"onNewGroup()\">\r\n <fd-icon glyph=\"add\"></fd-icon><span fd-list-title>{{ newGroupText }}</span>\r\n </li>\r\n @for (appTileGroup of appTileGroups; track appTileGroup) { @if (!appTileGroup.$Disabledpin) {\r\n <li fd-list-item [selected]=\"appTileGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"appTileGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ appTileGroup.navigatorTitle || appTileGroup.Title }}</span>\r\n @if( !appTileGroup.Predefined){\r\n <button\r\n fd-button\r\n glyph=\"delete\"\r\n fdType=\"transparent\"\r\n [title]=\"'Delete' | bbbTranslate\"\r\n (click)=\"onDeleteGroup(appTileGroup)\"\r\n ></button>\r\n }\r\n </li>\r\n } @for (subGroup of appTileGroup.$Children; track subGroup) { @if (!subGroup.$Disabledpin) {\r\n <li fd-list-item [selected]=\"subGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"subGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ subGroup.navigatorTitle || subGroup.Title }}</span>\r\n @if( !subGroup.Predefined){\r\n <button\r\n fd-button\r\n glyph=\"delete\"\r\n fdType=\"transparent\"\r\n [title]=\"'Delete' | bbbTranslate\"\r\n (click)=\"onDeleteGroup(subGroup)\"\r\n ></button>\r\n }\r\n </li>\r\n } } }\r\n </ul>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-left></div>\r\n <div fd-bar-right>\r\n <fd-button-bar fdkInitialFocus fdType=\"emphasized\" [label]=\"'OK' | bbbTranslate\" (click)=\"onAccept()\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [":host ::ng-deep .cdk-drag{cursor:default!important}:host *{cursor:default!important}li{cursor:pointer}fd-dialog-body,fd-dialog-footer,fd-dialog-header{cursor:default}fd-icon{padding:0 5px}\n"], dependencies: [{ kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2$2.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i2$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i2$2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i4$4.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "theme", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"], exportAs: ["fdListItem"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { kind: "component", type: i5$2.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i5$2.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i5$2.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i5$2.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i7$1.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i6$1.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i7$1.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2384
- }
2385
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PinTileComponent, decorators: [{
2386
- type: Component,
2387
- args: [{ selector: 'bt-pin-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'AddToList' | bbbTranslate }}</h1>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n <ul fd-list [navigationIndicator]=\"true\" style=\"margin-bottom: 1rem\">\r\n <li fd-list-item [navigationIndicator]=\"true\" (click)=\"onNewGroup()\">\r\n <fd-icon glyph=\"add\"></fd-icon><span fd-list-title>{{ newGroupText }}</span>\r\n </li>\r\n @for (appTileGroup of appTileGroups; track appTileGroup) { @if (!appTileGroup.$Disabledpin) {\r\n <li fd-list-item [selected]=\"appTileGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"appTileGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ appTileGroup.navigatorTitle || appTileGroup.Title }}</span>\r\n @if( !appTileGroup.Predefined){\r\n <button\r\n fd-button\r\n glyph=\"delete\"\r\n fdType=\"transparent\"\r\n [title]=\"'Delete' | bbbTranslate\"\r\n (click)=\"onDeleteGroup(appTileGroup)\"\r\n ></button>\r\n }\r\n </li>\r\n } @for (subGroup of appTileGroup.$Children; track subGroup) { @if (!subGroup.$Disabledpin) {\r\n <li fd-list-item [selected]=\"subGroup.$PinTile\">\r\n <fd-checkbox [(ngModel)]=\"subGroup.$PinTile\"></fd-checkbox>\r\n <span fd-list-title>{{ subGroup.navigatorTitle || subGroup.Title }}</span>\r\n @if( !subGroup.Predefined){\r\n <button\r\n fd-button\r\n glyph=\"delete\"\r\n fdType=\"transparent\"\r\n [title]=\"'Delete' | bbbTranslate\"\r\n (click)=\"onDeleteGroup(subGroup)\"\r\n ></button>\r\n }\r\n </li>\r\n } } }\r\n </ul>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n <div fd-bar-left></div>\r\n <div fd-bar-right>\r\n <fd-button-bar fdkInitialFocus fdType=\"emphasized\" [label]=\"'OK' | bbbTranslate\" (click)=\"onAccept()\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n fdkInitialFocus\r\n fdType=\"transparent\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n (click)=\"onClose()\"\r\n >\r\n </fd-button-bar>\r\n </div>\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [":host ::ng-deep .cdk-drag{cursor:default!important}:host *{cursor:default!important}li{cursor:pointer}fd-dialog-body,fd-dialog-footer,fd-dialog-header{cursor:default}fd-icon{padding:0 5px}\n"] }]
2388
- }], ctorParameters: () => [], propDecorators: { app: [{
2389
- type: Input
2390
- }], appTileGroups: [{
2391
- type: Input
2392
- }], mobile: [{
2393
- type: Input
2394
- }], pin: [{
2395
- type: Input
2396
- }] } });
2397
-
2398
2532
  class AppFinderService {
2399
2533
  constructor() {
2400
2534
  this._appGroupsSource = new BehaviorSubject([]);
@@ -2528,7 +2662,7 @@ class FormAppFinderComponent extends BaseComponent {
2528
2662
  }
2529
2663
  ngOnInit() {
2530
2664
  super.ngOnInit();
2531
- this.sideContentSize$ = this.deviceSize$.pipe(takeUntil(this._onDestroy$), map((deviceSize) => {
2665
+ this.sideContentSize$ = this.deviceSize$.pipe(takeUntil$1(this._onDestroy$), map((deviceSize) => {
2532
2666
  switch (deviceSize) {
2533
2667
  case 's':
2534
2668
  return 'sm';
@@ -2654,11 +2788,11 @@ class NumericTileComponent extends BaseBtTileComponent {
2654
2788
  return this.settings.ScaleArrowIcon;
2655
2789
  }
2656
2790
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NumericTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2657
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: NumericTileComponent, isStandalone: false, selector: "bt-numeric-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\r\n {{ kpi }}\r\n </div>\r\n </div>\r\n <div fd-numeric-content-scale-container>\r\n <div\r\n fd-numeric-content-scale\r\n [state]=\"scaleState\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n >\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n ></span>\r\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\r\n scaleText | bbbTranslate\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.NumericContentDirective, selector: "[fd-numeric-content]", inputs: ["class", "size"] }, { kind: "directive", type: i1$1.NumericContentKpiContainerDirective, selector: "[fd-numeric-content-kpi-container]" }, { kind: "directive", type: i1$1.NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: ["state", "class", "glyph"] }, { kind: "directive", type: i1$1.NumericContentLaunchIconContainerDirective, selector: "[fd-numeric-content-launch-icon-container]" }, { kind: "directive", type: i1$1.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["class", "glyph", "glyphFont"] }, { kind: "directive", type: i1$1.NumericContentScaleArrowDirective, selector: "[fd-numeric-content-scale-arrow]", inputs: ["class", "glyph", "glyphFont"] }, { kind: "directive", type: i1$1.NumericContentScaleContainerDirective, selector: "[fd-numeric-content-scale-container]" }, { kind: "directive", type: i1$1.NumericContentScaleDirective, selector: "[fd-numeric-content-scale]", inputs: ["state", "class"] }, { kind: "directive", type: i1$1.NumericContentScaleTextDirective, selector: "[fd-numeric-content-scale-text]" }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i3.SapFontClassPipe, name: "sapFontClass" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2791
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: NumericTileComponent, isStandalone: false, selector: "bt-numeric-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\r\n {{ kpi }}\r\n </div>\r\n </div>\r\n <div fd-numeric-content-scale-container>\r\n <div\r\n fd-numeric-content-scale\r\n [state]=\"scaleState\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n >\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n ></span>\r\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\r\n scaleText | bbbTranslate\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.NumericContentDirective, selector: "[fd-numeric-content]", inputs: ["class", "size"] }, { kind: "directive", type: i1$1.NumericContentKpiContainerDirective, selector: "[fd-numeric-content-kpi-container]" }, { kind: "directive", type: i1$1.NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: ["state", "class", "glyph"] }, { kind: "directive", type: i1$1.NumericContentLaunchIconContainerDirective, selector: "[fd-numeric-content-launch-icon-container]" }, { kind: "directive", type: i1$1.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["class", "glyph", "glyphFont"] }, { kind: "directive", type: i1$1.NumericContentScaleArrowDirective, selector: "[fd-numeric-content-scale-arrow]", inputs: ["class", "glyph", "glyphFont"] }, { kind: "directive", type: i1$1.NumericContentScaleContainerDirective, selector: "[fd-numeric-content-scale-container]" }, { kind: "directive", type: i1$1.NumericContentScaleDirective, selector: "[fd-numeric-content-scale]", inputs: ["state", "class"] }, { kind: "directive", type: i1$1.NumericContentScaleTextDirective, selector: "[fd-numeric-content-scale-text]" }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i3.SapFontClassPipe, name: "sapFontClass" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2658
2792
  }
2659
2793
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NumericTileComponent, decorators: [{
2660
2794
  type: Component,
2661
- args: [{ selector: 'bt-numeric-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\r\n {{ kpi }}\r\n </div>\r\n </div>\r\n <div fd-numeric-content-scale-container>\r\n <div\r\n fd-numeric-content-scale\r\n [state]=\"scaleState\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n >\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n ></span>\r\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\r\n scaleText | bbbTranslate\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n" }]
2795
+ args: [{ selector: 'bt-numeric-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\r\n {{ kpi }}\r\n </div>\r\n </div>\r\n <div fd-numeric-content-scale-container>\r\n <div\r\n fd-numeric-content-scale\r\n [state]=\"scaleState\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n >\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\r\n ></span>\r\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\r\n scaleText | bbbTranslate\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n" }]
2662
2796
  }] });
2663
2797
 
2664
2798
  class LogoTileComponent extends BaseBtTileComponent {
@@ -2670,11 +2804,11 @@ class LogoTileComponent extends BaseBtTileComponent {
2670
2804
  return fileId;
2671
2805
  }
2672
2806
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LogoTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2673
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: LogoTileComponent, isStandalone: false, selector: "bt-logo-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <img fd-tile-logo [src]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\" loading=\"lazy\"/>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileLogoDirective, selector: "[fdTileLogo], [fd-tile-logo]" }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2807
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: LogoTileComponent, isStandalone: false, selector: "bt-logo-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <img fd-tile-logo [src]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\" loading=\"lazy\"/>\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileLogoDirective, selector: "[fdTileLogo], [fd-tile-logo]" }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2674
2808
  }
2675
2809
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: LogoTileComponent, decorators: [{
2676
2810
  type: Component,
2677
- args: [{ selector: 'bt-logo-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <img fd-tile-logo [src]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\" loading=\"lazy\"/>\r\n </div>\r\n</bt-tile>\r\n" }]
2811
+ args: [{ selector: 'bt-logo-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <img fd-tile-logo [src]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\" loading=\"lazy\"/>\r\n </div>\r\n</bt-tile>\r\n" }]
2678
2812
  }] });
2679
2813
 
2680
2814
  class FeedTileComponent extends BaseBtTileComponent {
@@ -2694,7 +2828,7 @@ class FeedTileComponent extends BaseBtTileComponent {
2694
2828
  return this.settings.State;
2695
2829
  }
2696
2830
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FeedTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2697
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: FeedTileComponent, isStandalone: false, selector: "bt-feed-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'feed'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content [twoColumn]=\"twoColumn\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <div fd-tile-content-text>{{ text | bbbTranslate }}</div>\r\n <div fd-tile-content-byline>{{ byline }}</div>\r\n </div>\r\n <div fd-tile-section>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n } @else {\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileSectionDirective, selector: "[fdTileSection], [fd-tile-section]" }, { kind: "directive", type: i1$1.TileContentTextDirective, selector: "[fdTileContentText], [fd-tile-content-text]" }, { kind: "directive", type: i1$1.NumericContentDirective, selector: "[fd-numeric-content]", inputs: ["class", "size"] }, { kind: "directive", type: i1$1.NumericContentKpiContainerDirective, selector: "[fd-numeric-content-kpi-container]" }, { kind: "directive", type: i1$1.NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: ["state", "class", "glyph"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2831
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: FeedTileComponent, isStandalone: false, selector: "bt-feed-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'feed'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content [twoColumn]=\"twoColumn\">\r\n @if (twoColumn) {\r\n <div fd-tile-section>\r\n <div fd-tile-content-text>{{ text | bbbTranslate }}</div>\r\n <div fd-tile-content-byline>{{ byline }}</div>\r\n </div>\r\n <div fd-tile-section>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n } @else {\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileSectionDirective, selector: "[fdTileSection], [fd-tile-section]" }, { kind: "directive", type: i1$1.TileContentTextDirective, selector: "[fdTileContentText], [fd-tile-content-text]" }, { kind: "directive", type: i1$1.NumericContentDirective, selector: "[fd-numeric-content]", inputs: ["class", "size"] }, { kind: "directive", type: i1$1.NumericContentKpiContainerDirective, selector: "[fd-numeric-content-kpi-container]" }, { kind: "directive", type: i1$1.NumericContentKpiDirective, selector: "[fd-numeric-content-kpi]", inputs: ["state", "class", "glyph"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2698
2832
  }
2699
2833
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FeedTileComponent, decorators: [{
2700
2834
  type: Component,
@@ -2714,11 +2848,11 @@ class SimpleTileComponent extends BaseBtTileComponent {
2714
2848
  this.iconColor = this.settings.IconColor;
2715
2849
  }
2716
2850
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SimpleTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2717
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SimpleTileComponent, isStandalone: false, selector: "bt-simple-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [listMode]=\"listMode\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [backColor]=\"backColor\"\r\n [deviceSize]=\"deviceSize\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content [class.picture-icon]=\"pictureIcon || iconCalc\">\r\n @if(pictureIcon || iconCalc){\r\n <span\r\n class=\"tile-picture-icon\"\r\n [class.circle]=\"isCircle\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"iconCalc || (pictureIcon.FileId | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if (icon || iconImage) {\r\n <div class=\"fd-numeric-content__launch-icon-container\" style=\"justify-content: center\">\r\n @if(icon){\r\n <fd-icon\r\n class=\"fd-numeric-content__launch-icon\"\r\n fd-numeric-content-launch-icon\r\n [glyph]=\"icon\"\r\n [font]=\"icon | sapFont\"\r\n [style.color]=\"iconColor\"\r\n ></fd-icon>\r\n }@else if(iconImage){\r\n <img [src]=\"iconImage\" style=\"width: 1.75rem\" loading=\"lazy\"/>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: ["fd-icon{font-size:2rem}.tile-picture-icon{background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:0}.tile-picture-icon.circle{border-radius:50%}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileProfileImgDirective, selector: "[fdTileProfileImg], [fd-tile-profile-img]", inputs: ["id", "ariaLabel", "ariaLabelledby", "backgroundImage"] }, { kind: "directive", type: i1$1.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["class", "glyph", "glyphFont"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i3.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2851
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SimpleTileComponent, isStandalone: false, selector: "bt-simple-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [listMode]=\"listMode\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [backColor]=\"backColor\"\r\n [deviceSize]=\"deviceSize\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content [class.picture-icon]=\"pictureIcon || iconCalc\">\r\n @if(pictureIcon || iconCalc){\r\n <span\r\n class=\"tile-picture-icon\"\r\n [class.circle]=\"isCircle\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"iconCalc || (pictureIcon.FileId | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if (icon || iconImage) {\r\n <div class=\"fd-numeric-content__launch-icon-container\" style=\"justify-content: center\">\r\n @if(icon){\r\n <fd-icon\r\n class=\"fd-numeric-content__launch-icon\"\r\n fd-numeric-content-launch-icon\r\n [glyph]=\"icon\"\r\n [font]=\"icon | sapFont\"\r\n [style.color]=\"iconColor\"\r\n ></fd-icon>\r\n }@else if(iconImage){\r\n <img [src]=\"iconImage\" style=\"width: 1.75rem\" loading=\"lazy\"/>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: ["fd-icon{font-size:2rem}.tile-picture-icon{background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:0}.tile-picture-icon.circle{border-radius:50%}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileProfileImgDirective, selector: "[fdTileProfileImg], [fd-tile-profile-img]", inputs: ["id", "ariaLabel", "ariaLabelledby", "backgroundImage"] }, { kind: "directive", type: i1$1.NumericContentLaunchIconDirective, selector: "[fd-numeric-content-launch-icon]", inputs: ["class", "glyph", "glyphFont"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i3.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2718
2852
  }
2719
2853
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SimpleTileComponent, decorators: [{
2720
2854
  type: Component,
2721
- args: [{ selector: 'bt-simple-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [listMode]=\"listMode\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [backColor]=\"backColor\"\r\n [deviceSize]=\"deviceSize\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content [class.picture-icon]=\"pictureIcon || iconCalc\">\r\n @if(pictureIcon || iconCalc){\r\n <span\r\n class=\"tile-picture-icon\"\r\n [class.circle]=\"isCircle\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"iconCalc || (pictureIcon.FileId | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if (icon || iconImage) {\r\n <div class=\"fd-numeric-content__launch-icon-container\" style=\"justify-content: center\">\r\n @if(icon){\r\n <fd-icon\r\n class=\"fd-numeric-content__launch-icon\"\r\n fd-numeric-content-launch-icon\r\n [glyph]=\"icon\"\r\n [font]=\"icon | sapFont\"\r\n [style.color]=\"iconColor\"\r\n ></fd-icon>\r\n }@else if(iconImage){\r\n <img [src]=\"iconImage\" style=\"width: 1.75rem\" loading=\"lazy\"/>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: ["fd-icon{font-size:2rem}.tile-picture-icon{background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:0}.tile-picture-icon.circle{border-radius:50%}\n"] }]
2855
+ args: [{ selector: 'bt-simple-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [listMode]=\"listMode\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [backColor]=\"backColor\"\r\n [deviceSize]=\"deviceSize\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content [class.picture-icon]=\"pictureIcon || iconCalc\">\r\n @if(pictureIcon || iconCalc){\r\n <span\r\n class=\"tile-picture-icon\"\r\n [class.circle]=\"isCircle\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"iconCalc || (pictureIcon.FileId | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if (icon || iconImage) {\r\n <div class=\"fd-numeric-content__launch-icon-container\" style=\"justify-content: center\">\r\n @if(icon){\r\n <fd-icon\r\n class=\"fd-numeric-content__launch-icon\"\r\n fd-numeric-content-launch-icon\r\n [glyph]=\"icon\"\r\n [font]=\"icon | sapFont\"\r\n [style.color]=\"iconColor\"\r\n ></fd-icon>\r\n }@else if(iconImage){\r\n <img [src]=\"iconImage\" style=\"width: 1.75rem\" loading=\"lazy\"/>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: ["fd-icon{font-size:2rem}.tile-picture-icon{background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:0}.tile-picture-icon.circle{border-radius:50%}\n"] }]
2722
2856
  }] });
2723
2857
 
2724
2858
  class ReportTileComponent extends BaseBtTileComponent {
@@ -2773,11 +2907,11 @@ class ProfileTileComponent extends BaseBtTileComponent {
2773
2907
  }
2774
2908
  }
2775
2909
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ProfileTileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2776
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: ProfileTileComponent, isStandalone: false, selector: "bt-profile-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n @if (fileId2 || calcImage) {\r\n <span\r\n class=\"profile\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"calcImage || (fileId2 | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if(icon){\r\n <fd-icon [font]=\"icon | sapFont\" fd-tile-profile-img style=\"font-size: 2rem\" [glyph]=\"icon\"></fd-icon>\r\n } @else {\r\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileProfileImgDirective, selector: "[fdTileProfileImg], [fd-tile-profile-img]", inputs: ["id", "ariaLabel", "ariaLabelledby", "backgroundImage"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i3.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2910
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: ProfileTileComponent, isStandalone: false, selector: "bt-profile-tile", usesInheritance: true, ngImport: i0, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n @if (fileId2 || calcImage) {\r\n <span\r\n class=\"profile\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"calcImage || (fileId2 | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if(icon){\r\n <fd-icon [font]=\"icon | sapFont\" fd-tile-profile-img style=\"font-size: 2rem\" [glyph]=\"icon\"></fd-icon>\r\n } @else {\r\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "directive", type: i1$1.TileContentDirective, selector: "[fdTileContent], [fd-tile-content]", inputs: ["twoColumn"] }, { kind: "directive", type: i1$1.TileProfileImgDirective, selector: "[fdTileProfileImg], [fd-tile-profile-img]", inputs: ["id", "ariaLabel", "ariaLabelledby", "backgroundImage"] }, { kind: "component", type: TileComponent, selector: "bt-tile", inputs: ["type", "footerTemplate", "footer", "title", "icon", "subtitle", "isDouble", "darkMode", "disableClick", "edit", "dynamicCommand", "backColor", "hideHeader", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["changeGroupClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i3.SapFontPipe, name: "sapFont" }, { kind: "pipe", type: TilePropPipe, name: "tileProp" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2777
2911
  }
2778
2912
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ProfileTileComponent, decorators: [{
2779
2913
  type: Component,
2780
- args: [{ selector: 'bt-profile-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n @if (fileId2 || calcImage) {\r\n <span\r\n class=\"profile\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"calcImage || (fileId2 | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if(icon){\r\n <fd-icon [font]=\"icon | sapFont\" fd-tile-profile-img style=\"font-size: 2rem\" [glyph]=\"icon\"></fd-icon>\r\n } @else {\r\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\n"] }]
2914
+ args: [{ selector: 'bt-profile-tile', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [edit]=\"edit\"\r\n [backColor]=\"backColor\"\r\n [darkMode]=\"(isDark$ | async) === true\"\r\n [setToStorage]=\"setToStorage\"\r\n [listMode]=\"listMode\"\r\n [deviceSize]=\"deviceSize\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters\"\r\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\r\n [footer]=\"data | tileProp: 'Footer':parameters\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n (changeGroupClick)=\"changeGroupClick.emit()\"\r\n (click)=\"onTileClick()\"\r\n>\r\n <div fd-tile-content>\r\n @if (fileId2 || calcImage) {\r\n <span\r\n class=\"profile\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"calcImage || (fileId2 | picFieldSrc: 'GetPictureFromFileInfo':null)\"\r\n ></span>\r\n } @else if(icon){\r\n <fd-icon [font]=\"icon | sapFont\" fd-tile-profile-img style=\"font-size: 2rem\" [glyph]=\"icon\"></fd-icon>\r\n } @else {\r\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\r\n }\r\n </div>\r\n</bt-tile>\r\n", styles: [".profile{background-size:contain;background-repeat:no-repeat}\n"] }]
2781
2915
  }] });
2782
2916
 
2783
2917
  class NotificationGroupComponent extends BaseComponent {
@@ -2856,7 +2990,7 @@ class NotificationGroupComponent extends BaseComponent {
2856
2990
  return _index;
2857
2991
  }
2858
2992
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NotificationGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2859
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: NotificationGroupComponent, isStandalone: false, selector: "bt-notification-group", inputs: { notifications: "notifications", loading: "loading", deviceSize: "deviceSize", notificationCount: "notificationCount", notificationReport: "notificationReport" }, outputs: { viewed: "viewed", remove: "remove", actionClick: "actionClick", showEvent: "showEvent", loadMore: "loadMore" }, host: { properties: { "class": "this._deviceSize" } }, providers: [GroupByService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fdp-icon-tab-bar\r\n size=\"s\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n>\r\n @for (tab of tabList; track tab.label; let index = $index) {\r\n <fdp-icon-tab-bar-tab [label]=\"tab.label | bbbTranslate\" [title]=\"tab.label | bbbTranslate\" [id]=\"tab.title\">\r\n </fdp-icon-tab-bar-tab>\r\n }\r\n</fdp-icon-tab-bar>\r\n@if(reportSetting() !==null){\r\n<bnrc-report-container [settings]=\"reportSetting()\"> </bnrc-report-container>\r\n}", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}:host.s{min-width:auto}fdp-icon-tab-bar ::ng-deep>div>fdp-icon-tab-bar-text-type>ul{padding:0 .5rem}\n"], dependencies: [{ kind: "component", type: i8.IconTabBarComponent, selector: "fdp-icon-tab-bar", inputs: ["stackContent", "tabHeadingLevel", "iconTabType", "tabsConfig", "densityMode", "iconTabFont", "enableTabReordering", "showTotalTab", "multiClick", "layoutMode", "iconTabBackground", "iconTabSize", "colorAssociations", "settings", "maxContentHeight"], outputs: ["tabsConfigChange", "densityModeChange", "iconTabSelected", "iconTabReordered", "closeTab"] }, { kind: "component", type: i8.IconTabBarTabComponent, selector: "fdp-icon-tab-bar-tab", inputs: ["label", "color", "icon", "iconFont", "counter", "active", "badge", "closable", "id"] }, { kind: "component", type: i5.ReportContainerComponent, selector: "bnrc-report-container", inputs: ["settings"] }, { kind: "directive", type: i3.FixMoreDirective, selector: "[fixMore]" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2993
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: NotificationGroupComponent, isStandalone: false, selector: "bt-notification-group", inputs: { notifications: "notifications", loading: "loading", deviceSize: "deviceSize", notificationCount: "notificationCount", notificationReport: "notificationReport" }, outputs: { viewed: "viewed", remove: "remove", actionClick: "actionClick", showEvent: "showEvent", loadMore: "loadMore" }, host: { properties: { "class": "this._deviceSize" } }, providers: [GroupByService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fdp-icon-tab-bar\r\n size=\"s\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\r\n fixMore\r\n>\r\n @for (tab of tabList; track tab.label; let index = $index) {\r\n <fdp-icon-tab-bar-tab [label]=\"tab.label | bbbTranslate\" [title]=\"tab.label | bbbTranslate\" [id]=\"tab.title\">\r\n </fdp-icon-tab-bar-tab>\r\n }\r\n</fdp-icon-tab-bar>\r\n@if(reportSetting() !==null){\r\n<bnrc-report-container [settings]=\"reportSetting()\"> </bnrc-report-container>\r\n}", styles: [":host{display:block;min-width:600px}:host ::ng-deep .fd-tabs__content{overflow:hidden}:host ::ng-deep .fd-notification{padding:0;box-shadow:none}fd-notification{margin:0;padding-left:0rem!important;padding-right:0rem!important}fd-notification-body{position:relative}.noloading{visibility:hidden;height:0;width:0}.loading{visibility:visible;height:100%;width:100%}:host.s{min-width:auto}fdp-icon-tab-bar ::ng-deep>div>fdp-icon-tab-bar-text-type>ul{padding:0 .5rem}\n"], dependencies: [{ kind: "component", type: i8$1.IconTabBarComponent, selector: "fdp-icon-tab-bar", inputs: ["stackContent", "tabHeadingLevel", "iconTabType", "tabsConfig", "densityMode", "iconTabFont", "enableTabReordering", "showTotalTab", "multiClick", "layoutMode", "iconTabBackground", "iconTabSize", "colorAssociations", "settings", "maxContentHeight"], outputs: ["tabsConfigChange", "densityModeChange", "iconTabSelected", "iconTabReordered", "closeTab"] }, { kind: "component", type: i8$1.IconTabBarTabComponent, selector: "fdp-icon-tab-bar-tab", inputs: ["label", "color", "icon", "iconFont", "counter", "active", "badge", "closable", "id"] }, { kind: "component", type: i5.ReportContainerComponent, selector: "bnrc-report-container", inputs: ["settings"] }, { kind: "directive", type: i3.FixMoreDirective, selector: "[fixMore]" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2860
2994
  }
2861
2995
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NotificationGroupComponent, decorators: [{
2862
2996
  type: Component,
@@ -3084,7 +3218,7 @@ class BarsaShellbarComponent extends BaseComponent {
3084
3218
  this.cultureChanged.emit(culture);
3085
3219
  }
3086
3220
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaShellbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3087
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaShellbarComponent, isStandalone: false, selector: "bt-barsa-shellbar", inputs: { showSidebar: "showSidebar", multiLanguages: "multiLanguages", userLoggedIn: "userLoggedIn", settings: "settings", productMenuControl: "productMenuControl", deviceSize: "deviceSize", cultures: "cultures", shellbarData: "shellbarData", notificationsUnreadCount: "notificationsUnreadCount", productMenuItems1: "productMenuItems1", bodyClick: "bodyClick", logo: "logo", actions: "actions", userMenu: "userMenu", footerButtons: "footerButtons", productSwitcher: "productSwitcher", subtitle: "subtitle", isMobile: "isMobile", hideShellbarActions: "hideShellbarActions", flatButtons: "flatButtons", isTablet: "isTablet", userInfo: "userInfo", isDesktop: "isDesktop", informativeText: "informativeText", informativeStatus: "informativeStatus", hideProductMenu: "hideProductMenu", enableSearch: "enableSearch", hideNotifications: "hideNotifications", isServiceDesk: "isServiceDesk", isOpenQuickAccess: "isOpenQuickAccess", sideMenuTemplate: "sideMenuTemplate", notificationReport: "notificationReport", profileDynamicCommand: "profileDynamicCommand", profileDynamicCommandText: "profileDynamicCommandText", profileDynamicCommandIcon: "profileDynamicCommandIcon", displayName: "displayName", hideBranding: "hideBranding", showSearchInSystem: "showSearchInSystem", rtl: "rtl", suggestions: "suggestions" }, outputs: { appTileGroupChange: "appTileGroupChange", searchItemClick: "searchItemClick", searchInput: "searchInput", isOpenQuickAccessChanged: "isOpenQuickAccessChanged", openNotificationPanel: "openNotificationPanel", openQuickAccessPanel: "openQuickAccessPanel", cultureChanged: "cultureChanged", notifiationActionClick: "notifiationActionClick" }, viewQueries: [{ propertyName: "searchDialogContent", first: true, predicate: ["searchContent"], descendants: true, read: TemplateRef }, { propertyName: "searchDialogSubHeader", first: true, predicate: ["searchSubHeader"], descendants: true, read: TemplateRef }, { propertyName: "shellbar", first: true, predicate: ShellbarComponent$1, descendants: true, static: true }, { propertyName: "comboboxComponent", first: true, predicate: ComboboxComponent, descendants: true }, { propertyName: "popoverComponent", first: true, predicate: ["popoverComponent"], descendants: true }, { propertyName: "_notificationsDialog", first: true, predicate: ["notificationsDialog"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fd-shellbar\r\n [ngClass]=\"deviceSize\"\r\n routeFormChange\r\n (stateChanged)=\"onRouteFormStateChange()\"\r\n [showNavigationButton]=\"sideMenuTemplate || showSidebar ? true : false\"\r\n (navigationButtonClicked)=\"$event.stopPropagation(); isOpenQuickAccessChanged.emit(!isOpenQuickAccess)\"\r\n [handleBodyClick]=\"true\"\r\n [size]=\"deviceSize === 's' && userLoggedIn ? 'm' : deviceSize\"\r\n>\r\n <fd-shellbar-branding [interactiveBranding]=\"true\" [style.display]=\"hideBranding ? 'none' : null\">\r\n <fd-shellbar-logo>\r\n <a\r\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\r\n href=\"/\"\r\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced tw-bg-center !tw-bg-auto\"\r\n [attr.aria-label]=\"subtitle | bbbTranslate\"\r\n ></a>\r\n </fd-shellbar-logo>\r\n <fd-shellbar-title> {{ subtitle | bbbTranslate }} {{ showVersion ? appVersion : '' }}</fd-shellbar-title>\r\n </fd-shellbar-branding>\r\n\r\n <fd-shellbar-context-area>\r\n <span\r\n [class.hide]=\"!informativeText\"\r\n fdShellbarHidePriority=\"1\"\r\n fd-object-status\r\n [status]=\"informativeStatus || 'informative'\"\r\n [inverted]=\"true\"\r\n [label]=\"informativeText\"\r\n ></span>\r\n <fd-product-switch\r\n fdShellbarHidePriority=\"3\"\r\n [class.hide]=\"!productSwitcher?.length\"\r\n [restoreFocusOnClose]=\"false\"\r\n >\r\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\r\n </fd-product-switch-body>\r\n </fd-product-switch>\r\n <span\r\n [class.hide]=\"!showSearchInSystem\"\r\n fdShellbarHidePriority=\"4\"\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"search\"\r\n fdType=\"transparent\"\r\n (click)=\"onOpenSearchDialog()\"\r\n >\r\n </span>\r\n <fd-product-menu\r\n fdShellbarHidePriority=\"2\"\r\n [control]=\"productMenuControl\"\r\n [closePopoverOnSelect]=\"true\"\r\n [items]=\"productMenuItems1\"\r\n [class.hide]=\"!productMenuItems1?.length\"\r\n >\r\n </fd-product-menu>\r\n </fd-shellbar-context-area>\r\n\r\n @if(inputEnableSearch()){\r\n <fdp-search-field\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n (inputChange)=\"onSearchInputChange($event)\"\r\n [suggestions]=\"suggestions\"\r\n (searchSubmit)=\"onSearchSubmit($event)\"\r\n ></fdp-search-field>\r\n }\r\n <fd-shellbar-actions\r\n #shellbarActions\r\n (searchOpen)=\"onSearchOpen($event)\"\r\n [class.flat-buttons]=\"flatButtons?.length && !showSearch()\"\r\n >\r\n <fd-user-menu>\r\n <fd-user-menu-control>\r\n <fd-avatar size=\"xs\" [circle]=\"true\" [attr.ariaLabel]=\"displayName\" [image]=\"userInfo?.Url\"></fd-avatar>\r\n </fd-user-menu-control>\r\n <fd-user-menu-body>\r\n <div fd-user-menu-header>\r\n <fd-avatar\r\n [circle]=\"true\"\r\n [size]=\"deviceSize\"\r\n [label]=\"userInfo?.Url ? '' : displayName\"\r\n zoomGlyph=\"\"\r\n title=\"Edit avatar\"\r\n [image]=\"userInfo?.Url\"\r\n ></fd-avatar>\r\n <div fd-user-menu-header-container>\r\n <div fd-user-menu-user-name>{{ displayName }}</div>\r\n @for(item of userInfo?.Sublines;track item){\r\n <div fd-user-menu-subline>{{ item }}</div>\r\n }\r\n </div>\r\n @if(profileDynamicCommandText){\r\n <button\r\n fd-button\r\n [label]=\"profileDynamicCommandText || 'Edit' | bbbTranslate\"\r\n [glyph]=\"profileDynamicCommandIcon || 'edit'\"\r\n [attr.ariaLabel]=\"'\u0648\u06CC\u0631\u0627\u06CC\u0634 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644'\"\r\n [dynCommand]=\"profileDynamicCommand\"\r\n bodyClick\r\n ></button>\r\n }\r\n </div>\r\n <div fd-user-menu-content-container>\r\n @if(userMenu?.length){\r\n <fd-panel transparent noRadius [fixed]=\"true\" class=\"hide-panel-header\"> </fd-panel>}\r\n\r\n <fd-user-menu-list>\r\n @for(item of userMenu;track item.text){\r\n <li fd-user-menu-list-item [icon]=\"item.icon\" [text]=\"item.text\" (click)=\"item.callback()\"></li>\r\n }\r\n </fd-user-menu-list>\r\n </div>\r\n </fd-user-menu-body>\r\n\r\n <fd-user-menu-footer>\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n @for(item of footerButtons;track item.text){\r\n <button\r\n fd-button\r\n [label]=\"item.text\"\r\n fdType=\"transparent\"\r\n [glyph]=\"item.icon\"\r\n [attr.ariaLabel]=\"item.text\"\r\n (click)=\"item.callback()\"\r\n ></button>\r\n }\r\n </div>\r\n </div>\r\n </fd-user-menu-footer>\r\n </fd-user-menu>\r\n @for (action of actions; track action) {\r\n <fd-shellbar-action\r\n [glyph]=\"action.Icon\"\r\n [callback]=\"action.Callback\"\r\n [label]=\"action.Label\"\r\n [notificationLabel]=\"action.label\"\r\n >\r\n </fd-shellbar-action>\r\n\r\n } @if (!settings?.HideLanguage && multiLanguages && userLoggedIn) {\r\n <button\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"world\"\r\n fdType=\"transparent\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n } @if (deviceSize !== 's' && userLoggedIn && !hideNotifications) {\r\n <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notification'\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notification Label'\"\r\n [callback]=\"onOpenNotification\"\r\n >\r\n </fd-shellbar-action>\r\n } @if (deviceSize === 's' && userLoggedIn && !hideNotifications) {\r\n <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notifications' | bbbTranslate\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\r\n [callback]=\"onBellNotification\"\r\n >\r\n </fd-shellbar-action>\r\n } @if(flatButtons?.length){\r\n <div class=\"tw-flex tw-gap-1\">\r\n @if (!settings?.HideLanguage && multiLanguages){\r\n <button\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"world\"\r\n fdType=\"transparent\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n } @for(btn of flatButtons;track btn){\r\n <button\r\n fd-button\r\n [label]=\"btn.text\"\r\n [glyph]=\"btn.text === ('Login' | bbbTranslate) ? 'person-placeholder' : null\"\r\n fdType=\"emphasized\"\r\n (click)=\"btn.callback()\"\r\n ></button>\r\n }\r\n </div>\r\n }\r\n </fd-shellbar-actions>\r\n <fd-popover\r\n [(isOpen)]=\"isOpenNotificatoin\"\r\n [noArrow]=\"true\"\r\n placement=\"top-end\"\r\n title=\"Notification Popover\"\r\n [appendTo]=\"el\"\r\n [mobile]=\"false\"\r\n #popoverComponent\r\n >\r\n <fd-popover-control>\r\n <!-- <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notification'\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notification Label'\"\r\n [callback]=\"onOpenNotification\"\r\n >\r\n </fd-shellbar-action> -->\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\r\n @if(isOpenNotificatoin){\r\n <ng-container\r\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsUnreadCount }\"\r\n ></ng-container>\r\n }\r\n </fd-popover-body>\r\n </fd-popover>\r\n</fd-shellbar>\r\n\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n\r\n<div\r\n *ngIf=\"sideMenuTemplate\"\r\n class=\"sidemenu-h tw-fixed tw-transition-all tw-z-[100] tw-shadow-2xl tw-overflow-auto\"\r\n [class.tw-w-screen]=\"isMobile\"\r\n [class.-tw-right-full]=\"isMobile\"\r\n [class.tw-w-96]=\"!isMobile\"\r\n [class.-tw-right-96]=\"!isMobile && rtl\"\r\n [class.!tw-right-0]=\"rtl && isOpenQuickAccess\"\r\n [class.-tw-left-96]=\"!isMobile && !rtl\"\r\n [class.!tw-left-0]=\"!rtl && isOpenQuickAccess\"\r\n (click)=\"$event.stopPropagation()\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"sideMenuTemplate\"></ng-container>\r\n</div>\r\n\r\n<fd-menu #menu>\r\n <ul fd-list>\r\n @for (culture of cultures | keyvalue; track culture) {\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\r\n <span fd-list-title class=\"tw-flex tw-items-center tw-gap-1\">\r\n <img width=\"14px\" height=\"12px\" [src]=\"'/assets/flags/' + culture.key + '.png'\" loading=\"lazy\" />\r\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</fd-menu>\r\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\r\n <bt-notification-group\r\n [notificationReport]=\"notificationReport\"\r\n [notificationCount]=\"notificationCount\"\r\n (actionClick)=\"popoverComponent.close()\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bt-notification-group>\r\n</ng-template>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"mobile\">\r\n <ng-container\r\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsUnreadCount }\"\r\n ></ng-container>\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n<ng-template #searchContent>\r\n <ul fd-list [byline]=\"true\">\r\n @for (item of (suggestions | suggestionsFilter:selectedSuggestionFiltertype) ; track item.data.path) {\r\n <li\r\n fd-list-item\r\n [interactive]=\"true\"\r\n (click)=\"onSearchItemClick(item)\"\r\n class=\"!tw-ps-1\"\r\n [class.!tw-bg-blue-600]=\"item.data.source === 'Report'\"\r\n [class.!tw-bg-green-600]=\"item.data.source === 'Command'\"\r\n [class.!tw-bg-gray-600]=\"item.data.source !== 'Command' && item.data.source !== 'Report'\"\r\n >\r\n <a fd-list-link [attr.href]=\"!item.data.url ? null : item.data.url\" (click)=\"onSearchLink(item, $event)\">\r\n <div fd-list-content>\r\n <div fd-list-title>{{ item.value }}</div>\r\n <div fd-list-byline>{{ item.data.path }}</div>\r\n </div>\r\n <span fd-list-secondary>\r\n @if(item.data.canPin){\r\n <button\r\n class=\"!tw-m-[0.1rem]\"\r\n ariaLabel=\"Favorite\"\r\n title=\"favorite\"\r\n fd-button\r\n glyph=\"unfavorite\"\r\n (click)=\"oFavoriteLink(item, $event)\"\r\n ></button>\r\n }\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</ng-template>\r\n<ng-template #searchSubHeader>\r\n <div class=\"tw-flex tw-flex-col tw-w-full\">\r\n <fd-input-group\r\n glyph=\"search\"\r\n fdkInitialFocus\r\n glyphAriaLabel=\"Submit\"\r\n [button]=\"true\"\r\n (input)=\"onSearchInputChange($event)\"\r\n >\r\n </fd-input-group>\r\n @if(suggestions.length){\r\n <div class=\"tw-flex tw-gap-4 tw-overflow-x-auto suggestion-filters-cat tw-pb-4\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: { name: '\u0647\u0645\u0647', count: (suggestions | suggestionsCountFilter: 'all'), type: '' }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: { name: '\u0632\u06CC\u0631\u0633\u06CC\u0633\u062A\u0645', count: (suggestions | suggestionsCountFilter: 'subsystem'), type: '' }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u06AF\u0631\u0648\u0647 \u0646\u0648\u06CC\u06AF\u06CC\u062A\u0648\u0631',\r\n count: (suggestions | suggestionsCountFilter: 'navgroup'),\r\n type: ''\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u06AF\u0632\u0627\u0631\u0634\u0627\u062A',\r\n count: (suggestions | suggestionsCountFilter: 'report'),\r\n type: 'information'\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u062F\u0633\u062A\u0648\u0631\u0627\u062A',\r\n count: (suggestions | suggestionsCountFilter: 'command'),\r\n type: 'success'\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template #catTag let-name=\"name\" let-count=\"count\" let-type=\"type\">\r\n @if(count && count!==' '){\r\n <div fd-generic-tag [name]=\"name\" [value]=\"count\" (click)=\"selectedSuggestionFiltertype = name\" [type]=\"type\"></div>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block;position:relative}:host fd-user-menu{background-color:transparent}:host fd-shellbar-actions.flat-buttons{flex-direction:row-reverse}:host.hide-user-menu fd-shellbar-actions ::ng-deep .fd-user-menu{display:none}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep .fd-shellbar--s .fd-shellbar__title{display:block;max-width:10rem;text-wrap:auto;font-size:.8rem}:host ::ng-deep fd-combobox .fd-input-group input{min-width:2rem;height:1.625rem;margin-top:.1875rem;margin-bottom:.1875rem;padding:0 .5rem;box-sizing:border-box}:host ::ng-deep fd-combobox .fd-input-group span{min-width:2rem;min-height:1.625rem}:host ::ng-deep .fd-shellbar__subtitle{font-size:1rem}:host ::ng-deep .fd-shellbar--s ::ng-deep .fd-shellbar__subtitle{display:block;overflow:hidden;text-wrap:wrap;width:100%;word-break:break-all}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem}.extra-button-wrapper{display:flex;height:100%;align-items:center;position:absolute;left:10px;top:0;gap:.285rem}.hide-panel-header ::ng-deep .fd-panel__header{min-height:auto;height:auto}:host ::ng-deep .fd-shellbar{height:var(--shellbar-height)}:host ::ng-deep fd-shellbar.s .fd-shellbar__product{max-width:120px}:host ::ng-deep fd-shellbar.s .fd-shellbar--has-context-area{justify-content:center!important}:host ::ng-deep fd-shellbar.s .fd-shellbar--has-context-area .fd-shellbar__action--shrink button{color:var(--fdButtonIconColor, var(--sapShell_InteractiveTextColor))}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$4.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "interactive", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i2$2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "clear", "size", "role"] }, { kind: "directive", type: i2$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i4$2.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "theme", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"], exportAs: ["fdListItem"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { kind: "directive", type: i6.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i6.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i6.ListBylineDirective, selector: "[fdListByline], [fd-list-byline]", inputs: ["twoCol", "wrap"] }, { kind: "directive", type: i6.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i5$2.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i5$2.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i5$2.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i5$2.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "component", type: i6$1.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i7$1.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i11.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i6$3.PanelComponent, selector: "fd-panel", inputs: ["class", "fixed", "id", "expandId", "expandAriaLabel", "expandAriaLabelledBy", "expanded", "transparent", "noRadius"], outputs: ["expandedChange"] }, { kind: "component", type: i13.ProductSwitchComponent, selector: "fd-product-switch", inputs: ["placement", "disabled"] }, { kind: "component", type: i13.ProductSwitchBodyComponent, selector: "fd-product-switch-body", inputs: ["dragAndDropEnabled", "products", "forceListMode"], outputs: ["productsChange", "itemClicked"] }, { kind: "component", type: i14.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i14.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i14.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i15.ShellbarComponent, selector: "fd-shellbar", inputs: ["size", "breakpoints", "sideNav", "groupFlex", "showNavigationButton", "showBackButton", "navigationButtonLabel", "backButtonLabel"], outputs: ["navigationButtonClicked", "backButtonClicked"] }, { kind: "component", type: i15.ProductMenuComponent, selector: "fd-product-menu", inputs: ["closeOnEscapeKey", "closeOnOutsideClick", "triggers", "placement", "disabled", "fillControlMode", "control", "items", "closePopoverOnSelect"] }, { kind: "component", type: i15.ShellbarActionsComponent, selector: "fd-shellbar-actions", inputs: ["user", "userMenu", "closePopoverOnSelect", "assistiveTools", "assistiveToolsCallback"], outputs: ["searchOpen"] }, { kind: "component", type: i15.ShellbarActionComponent, selector: "fd-shellbar-action", inputs: ["glyph", "glyphFont", "callback", "label", "notificationLabel", "notificationCount"] }, { kind: "component", type: i15.ShellbarLogoComponent, selector: "fd-shellbar-logo" }, { kind: "component", type: i15.ShellbarTitleComponent, selector: "fd-shellbar-title" }, { kind: "component", type: i15.ShellbarBrandingComponent, selector: "fd-shellbar-branding", inputs: ["interactiveBranding"] }, { kind: "component", type: i15.ShellbarContextAreaComponent, selector: "fd-shellbar-context-area", outputs: ["contentItemVisibilityChange"] }, { kind: "directive", type: i15.ShellbarHidePriorityDirective, selector: "[fdShellbarHidePriority]", inputs: ["fdShellbarHidePriority"] }, { kind: "component", type: i16.GenericTagComponent, selector: "[fd-generic-tag]", inputs: ["class", "type", "name", "value", "ariaRoleDescription"] }, { kind: "component", type: i8.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: i18.UserMenuComponent, selector: "fd-user-menu", inputs: ["mobile"], outputs: ["isOpenChange"] }, { kind: "component", type: i18.UserMenuControlComponent, selector: "fd-user-menu-control", outputs: ["clicked"] }, { kind: "component", type: i18.UserMenuBodyComponent, selector: "fd-user-menu-body" }, { kind: "component", type: i18.UserMenuListComponent, selector: "fd-user-menu-list" }, { kind: "component", type: i18.UserMenuFooterComponent, selector: "fd-user-menu-footer" }, { kind: "directive", type: i18.UserMenuHeaderDirective, selector: "[fd-user-menu-header]" }, { kind: "directive", type: i18.UserMenuSublineDirective, selector: "[fd-user-menu-subline]", inputs: ["truncate"] }, { kind: "directive", type: i18.UserMenuUserNameDirective, selector: "[fd-user-menu-user-name]", inputs: ["truncate"] }, { kind: "directive", type: i18.UserMenuHeaderContainerDirective, selector: "[fd-user-menu-header-container]" }, { kind: "component", type: i18.UserMenuListItemComponent, selector: "[fd-user-menu-list-item]", inputs: ["uniqueId", "icon", "text", "textId", "hasSubmenu", "submenu", "selected"], outputs: ["keyDown", "isOpenChange", "showSubmenu", "updateTitle"] }, { kind: "directive", type: i5.DynamicCommandDirective, selector: "[dynCommand]", inputs: ["dynCommand", "mo", "enableCommand"], outputs: ["commandClick"] }, { kind: "directive", type: i5.MobileDirective, selector: "[mobile]" }, { kind: "directive", type: i5.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "directive", type: i5.RouteFormChangeDirective, selector: "[routeFormChange]", inputs: ["handleBodyClick"], outputs: ["stateChanged"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: ["notifications", "loading", "deviceSize", "notificationCount", "notificationReport"], outputs: ["viewed", "remove", "actionClick", "showEvent", "loadMore"] }, { kind: "pipe", type: i1$2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: SuggestionsFilterPipe, name: "suggestionsFilter" }, { kind: "pipe", type: SuggestionsCountFilterPipe, name: "suggestionsCountFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3221
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaShellbarComponent, isStandalone: false, selector: "bt-barsa-shellbar", inputs: { showSidebar: "showSidebar", multiLanguages: "multiLanguages", userLoggedIn: "userLoggedIn", settings: "settings", productMenuControl: "productMenuControl", deviceSize: "deviceSize", cultures: "cultures", shellbarData: "shellbarData", notificationsUnreadCount: "notificationsUnreadCount", productMenuItems1: "productMenuItems1", bodyClick: "bodyClick", logo: "logo", actions: "actions", userMenu: "userMenu", footerButtons: "footerButtons", productSwitcher: "productSwitcher", subtitle: "subtitle", isMobile: "isMobile", hideShellbarActions: "hideShellbarActions", flatButtons: "flatButtons", isTablet: "isTablet", userInfo: "userInfo", isDesktop: "isDesktop", informativeText: "informativeText", informativeStatus: "informativeStatus", hideProductMenu: "hideProductMenu", enableSearch: "enableSearch", hideNotifications: "hideNotifications", isServiceDesk: "isServiceDesk", isOpenQuickAccess: "isOpenQuickAccess", sideMenuTemplate: "sideMenuTemplate", notificationReport: "notificationReport", profileDynamicCommand: "profileDynamicCommand", profileDynamicCommandText: "profileDynamicCommandText", profileDynamicCommandIcon: "profileDynamicCommandIcon", displayName: "displayName", hideBranding: "hideBranding", showSearchInSystem: "showSearchInSystem", rtl: "rtl", suggestions: "suggestions" }, outputs: { appTileGroupChange: "appTileGroupChange", searchItemClick: "searchItemClick", searchInput: "searchInput", isOpenQuickAccessChanged: "isOpenQuickAccessChanged", openNotificationPanel: "openNotificationPanel", openQuickAccessPanel: "openQuickAccessPanel", cultureChanged: "cultureChanged", notifiationActionClick: "notifiationActionClick" }, viewQueries: [{ propertyName: "searchDialogContent", first: true, predicate: ["searchContent"], descendants: true, read: TemplateRef }, { propertyName: "searchDialogSubHeader", first: true, predicate: ["searchSubHeader"], descendants: true, read: TemplateRef }, { propertyName: "shellbar", first: true, predicate: ShellbarComponent$1, descendants: true, static: true }, { propertyName: "comboboxComponent", first: true, predicate: ComboboxComponent, descendants: true }, { propertyName: "popoverComponent", first: true, predicate: ["popoverComponent"], descendants: true }, { propertyName: "_notificationsDialog", first: true, predicate: ["notificationsDialog"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fd-shellbar\r\n [ngClass]=\"deviceSize\"\r\n routeFormChange\r\n (stateChanged)=\"onRouteFormStateChange()\"\r\n [showNavigationButton]=\"sideMenuTemplate || showSidebar ? true : false\"\r\n (navigationButtonClicked)=\"$event.stopPropagation(); isOpenQuickAccessChanged.emit(!isOpenQuickAccess)\"\r\n [handleBodyClick]=\"true\"\r\n [size]=\"deviceSize === 's' && userLoggedIn ? 'm' : deviceSize\"\r\n>\r\n <fd-shellbar-branding [interactiveBranding]=\"true\" [style.display]=\"hideBranding ? 'none' : null\">\r\n <fd-shellbar-logo>\r\n <a\r\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\r\n href=\"/\"\r\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced tw-bg-center !tw-bg-auto\"\r\n [attr.aria-label]=\"subtitle | bbbTranslate\"\r\n ></a>\r\n </fd-shellbar-logo>\r\n <fd-shellbar-title> {{ subtitle | bbbTranslate }} {{ showVersion ? appVersion : '' }}</fd-shellbar-title>\r\n </fd-shellbar-branding>\r\n\r\n <fd-shellbar-context-area>\r\n <span\r\n [class.hide]=\"!informativeText\"\r\n fdShellbarHidePriority=\"1\"\r\n fd-object-status\r\n [status]=\"informativeStatus || 'informative'\"\r\n [inverted]=\"true\"\r\n [label]=\"informativeText\"\r\n ></span>\r\n <fd-product-switch\r\n fdShellbarHidePriority=\"3\"\r\n [class.hide]=\"!productSwitcher?.length\"\r\n [restoreFocusOnClose]=\"false\"\r\n >\r\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\r\n </fd-product-switch-body>\r\n </fd-product-switch>\r\n <span\r\n [class.hide]=\"!showSearchInSystem\"\r\n fdShellbarHidePriority=\"4\"\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"search\"\r\n fdType=\"transparent\"\r\n (click)=\"onOpenSearchDialog()\"\r\n >\r\n </span>\r\n <fd-product-menu\r\n fdShellbarHidePriority=\"2\"\r\n [control]=\"productMenuControl\"\r\n [closePopoverOnSelect]=\"true\"\r\n [items]=\"productMenuItems1\"\r\n [class.hide]=\"!productMenuItems1?.length\"\r\n >\r\n </fd-product-menu>\r\n </fd-shellbar-context-area>\r\n\r\n @if(inputEnableSearch()){\r\n <fdp-search-field\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n (inputChange)=\"onSearchInputChange($event)\"\r\n [suggestions]=\"suggestions\"\r\n (searchSubmit)=\"onSearchSubmit($event)\"\r\n ></fdp-search-field>\r\n }\r\n <fd-shellbar-actions\r\n #shellbarActions\r\n (searchOpen)=\"onSearchOpen($event)\"\r\n [class.flat-buttons]=\"flatButtons?.length && !showSearch()\"\r\n >\r\n <fd-user-menu>\r\n <fd-user-menu-control>\r\n <fd-avatar size=\"xs\" [circle]=\"true\" [attr.ariaLabel]=\"displayName\" [image]=\"userInfo?.Url\"></fd-avatar>\r\n </fd-user-menu-control>\r\n <fd-user-menu-body>\r\n <div fd-user-menu-header>\r\n <fd-avatar\r\n [circle]=\"true\"\r\n [size]=\"deviceSize\"\r\n [label]=\"userInfo?.Url ? '' : displayName\"\r\n zoomGlyph=\"\"\r\n title=\"Edit avatar\"\r\n [image]=\"userInfo?.Url\"\r\n ></fd-avatar>\r\n <div fd-user-menu-header-container>\r\n <div fd-user-menu-user-name>{{ displayName }}</div>\r\n @for(item of userInfo?.Sublines;track item){\r\n <div fd-user-menu-subline>{{ item }}</div>\r\n }\r\n </div>\r\n @if(profileDynamicCommandText){\r\n <button\r\n fd-button\r\n [label]=\"profileDynamicCommandText || 'Edit' | bbbTranslate\"\r\n [glyph]=\"profileDynamicCommandIcon || 'edit'\"\r\n [attr.ariaLabel]=\"'\u0648\u06CC\u0631\u0627\u06CC\u0634 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644'\"\r\n [dynCommand]=\"profileDynamicCommand\"\r\n bodyClick\r\n ></button>\r\n }\r\n </div>\r\n <div fd-user-menu-content-container>\r\n @if(userMenu?.length){\r\n <fd-panel transparent noRadius [fixed]=\"true\" class=\"hide-panel-header\"> </fd-panel>}\r\n\r\n <fd-user-menu-list>\r\n @for(item of userMenu;track item.text){\r\n <li fd-user-menu-list-item [icon]=\"item.icon\" [text]=\"item.text\" (click)=\"item.callback()\"></li>\r\n }\r\n </fd-user-menu-list>\r\n </div>\r\n </fd-user-menu-body>\r\n\r\n <fd-user-menu-footer>\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n @for(item of footerButtons;track item.text){\r\n <button\r\n fd-button\r\n [label]=\"item.text\"\r\n fdType=\"transparent\"\r\n [glyph]=\"item.icon\"\r\n [attr.ariaLabel]=\"item.text\"\r\n (click)=\"item.callback()\"\r\n ></button>\r\n }\r\n </div>\r\n </div>\r\n </fd-user-menu-footer>\r\n </fd-user-menu>\r\n @for (action of actions; track action) {\r\n <fd-shellbar-action\r\n [glyph]=\"action.Icon\"\r\n [callback]=\"action.Callback\"\r\n [label]=\"action.Label\"\r\n [notificationLabel]=\"action.label\"\r\n >\r\n </fd-shellbar-action>\r\n\r\n } @if (!settings?.HideLanguage && multiLanguages && userLoggedIn) {\r\n <button\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"world\"\r\n fdType=\"transparent\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n } @if (deviceSize !== 's' && userLoggedIn && !hideNotifications) {\r\n <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notification'\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notification Label'\"\r\n [callback]=\"onOpenNotification\"\r\n >\r\n </fd-shellbar-action>\r\n } @if (deviceSize === 's' && userLoggedIn && !hideNotifications) {\r\n <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notifications' | bbbTranslate\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\r\n [callback]=\"onBellNotification\"\r\n >\r\n </fd-shellbar-action>\r\n } @if(flatButtons?.length){\r\n <div class=\"tw-flex tw-gap-1\">\r\n @if (!settings?.HideLanguage && multiLanguages){\r\n <button\r\n class=\"fd-shellbar__button\"\r\n fd-button\r\n glyph=\"world\"\r\n fdType=\"transparent\"\r\n [fdMenuTrigger]=\"menu\"\r\n ></button>\r\n } @for(btn of flatButtons;track btn){\r\n <button\r\n fd-button\r\n [label]=\"btn.text\"\r\n [glyph]=\"btn.text === ('Login' | bbbTranslate) ? 'person-placeholder' : null\"\r\n fdType=\"emphasized\"\r\n (click)=\"btn.callback()\"\r\n ></button>\r\n }\r\n </div>\r\n }\r\n </fd-shellbar-actions>\r\n <fd-popover\r\n [(isOpen)]=\"isOpenNotificatoin\"\r\n [noArrow]=\"true\"\r\n placement=\"top-end\"\r\n title=\"Notification Popover\"\r\n [appendTo]=\"el\"\r\n [mobile]=\"false\"\r\n #popoverComponent\r\n >\r\n <fd-popover-control>\r\n <!-- <fd-shellbar-action\r\n [glyph]=\"'bell'\"\r\n [label]=\"'Notification'\"\r\n [notificationCount]=\"notificationsUnreadCount\"\r\n [notificationLabel]=\"'Notification Label'\"\r\n [callback]=\"onOpenNotification\"\r\n >\r\n </fd-shellbar-action> -->\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\r\n @if(isOpenNotificatoin){\r\n <ng-container\r\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsUnreadCount }\"\r\n ></ng-container>\r\n }\r\n </fd-popover-body>\r\n </fd-popover>\r\n</fd-shellbar>\r\n\r\n<ng-template #loading>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n\r\n<div\r\n *ngIf=\"sideMenuTemplate\"\r\n class=\"sidemenu-h tw-fixed tw-transition-all tw-z-[100] tw-shadow-2xl tw-overflow-auto\"\r\n [class.tw-w-screen]=\"isMobile\"\r\n [class.-tw-right-full]=\"isMobile\"\r\n [class.tw-w-96]=\"!isMobile\"\r\n [class.-tw-right-96]=\"!isMobile && rtl\"\r\n [class.!tw-right-0]=\"rtl && isOpenQuickAccess\"\r\n [class.-tw-left-96]=\"!isMobile && !rtl\"\r\n [class.!tw-left-0]=\"!rtl && isOpenQuickAccess\"\r\n (click)=\"$event.stopPropagation()\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"sideMenuTemplate\"></ng-container>\r\n</div>\r\n\r\n<fd-menu #menu>\r\n <ul fd-list>\r\n @for (culture of cultures | keyvalue; track culture) {\r\n <li fd-list-item>\r\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\r\n <span fd-list-title class=\"tw-flex tw-items-center tw-gap-1\">\r\n <img width=\"14px\" height=\"12px\" [src]=\"'/assets/flags/' + culture.key + '.png'\" loading=\"lazy\" />\r\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</fd-menu>\r\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\r\n <bt-notification-group\r\n [notificationReport]=\"notificationReport\"\r\n [notificationCount]=\"notificationCount\"\r\n (actionClick)=\"popoverComponent.close()\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bt-notification-group>\r\n</ng-template>\r\n\r\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\r\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\r\n <fd-dialog-header>\r\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body class=\"mobile\">\r\n <ng-container\r\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationsUnreadCount }\"\r\n ></ng-container>\r\n </fd-dialog-body>\r\n </fd-dialog>\r\n</ng-template>\r\n<ng-template #searchContent>\r\n <ul fd-list [byline]=\"true\">\r\n @for (item of (suggestions | suggestionsFilter:selectedSuggestionFiltertype) ; track item.data.path) {\r\n <li\r\n fd-list-item\r\n [interactive]=\"true\"\r\n (click)=\"onSearchItemClick(item)\"\r\n class=\"!tw-ps-1\"\r\n [class.!tw-bg-blue-600]=\"item.data.source === 'Report'\"\r\n [class.!tw-bg-green-600]=\"item.data.source === 'Command'\"\r\n [class.!tw-bg-gray-600]=\"item.data.source !== 'Command' && item.data.source !== 'Report'\"\r\n >\r\n <a fd-list-link [attr.href]=\"!item.data.url ? null : item.data.url\" (click)=\"onSearchLink(item, $event)\">\r\n <div fd-list-content>\r\n <div fd-list-title>{{ item.value }}</div>\r\n <div fd-list-byline>{{ item.data.path }}</div>\r\n </div>\r\n <span fd-list-secondary>\r\n @if(item.data.canPin){\r\n <button\r\n class=\"!tw-m-[0.1rem]\"\r\n ariaLabel=\"Favorite\"\r\n title=\"favorite\"\r\n fd-button\r\n glyph=\"unfavorite\"\r\n (click)=\"oFavoriteLink(item, $event)\"\r\n ></button>\r\n }\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n</ng-template>\r\n<ng-template #searchSubHeader>\r\n <div class=\"tw-flex tw-flex-col tw-w-full\">\r\n <fd-input-group\r\n glyph=\"search\"\r\n fdkInitialFocus\r\n glyphAriaLabel=\"Submit\"\r\n [button]=\"true\"\r\n (input)=\"onSearchInputChange($event)\"\r\n >\r\n </fd-input-group>\r\n @if(suggestions.length){\r\n <div class=\"tw-flex tw-gap-4 tw-overflow-x-auto suggestion-filters-cat tw-pb-4\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: { name: '\u0647\u0645\u0647', count: (suggestions | suggestionsCountFilter: 'all'), type: '' }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: { name: '\u0632\u06CC\u0631\u0633\u06CC\u0633\u062A\u0645', count: (suggestions | suggestionsCountFilter: 'subsystem'), type: '' }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u06AF\u0631\u0648\u0647 \u0646\u0648\u06CC\u06AF\u06CC\u062A\u0648\u0631',\r\n count: (suggestions | suggestionsCountFilter: 'navgroup'),\r\n type: ''\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u06AF\u0632\u0627\u0631\u0634\u0627\u062A',\r\n count: (suggestions | suggestionsCountFilter: 'report'),\r\n type: 'information'\r\n }\r\n \"\r\n ></ng-container>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n catTag;\r\n context: {\r\n name: '\u062F\u0633\u062A\u0648\u0631\u0627\u062A',\r\n count: (suggestions | suggestionsCountFilter: 'command'),\r\n type: 'success'\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</ng-template>\r\n<ng-template #catTag let-name=\"name\" let-count=\"count\" let-type=\"type\">\r\n @if(count && count!==' '){\r\n <div fd-generic-tag [name]=\"name\" [value]=\"count\" (click)=\"selectedSuggestionFiltertype = name\" [type]=\"type\"></div>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:block;position:relative}:host fd-user-menu{background-color:transparent}:host fd-shellbar-actions.flat-buttons{flex-direction:row-reverse}:host.hide-user-menu fd-shellbar-actions ::ng-deep .fd-user-menu{display:none}:host ::ng-deep fd-shellbar-actions fd-avatar{background-color:transparent!important;color:var(--sapShell_InteractiveTextColor, #d1e8ff)}:host ::ng-deep .fd-shellbar--s .fd-shellbar__title{display:block;max-width:10rem;text-wrap:auto;font-size:.8rem}:host ::ng-deep fd-combobox .fd-input-group input{min-width:2rem;height:1.625rem;margin-top:.1875rem;margin-bottom:.1875rem;padding:0 .5rem;box-sizing:border-box}:host ::ng-deep fd-combobox .fd-input-group span{min-width:2rem;min-height:1.625rem}:host ::ng-deep .fd-shellbar__subtitle{font-size:1rem}:host ::ng-deep .fd-shellbar--s ::ng-deep .fd-shellbar__subtitle{display:block;overflow:hidden;text-wrap:wrap;width:100%;word-break:break-all}.fd-shellbar__logo{min-height:3rem;height:3rem;width:3rem}.extra-button-wrapper{display:flex;height:100%;align-items:center;position:absolute;left:10px;top:0;gap:.285rem}.hide-panel-header ::ng-deep .fd-panel__header{min-height:auto;height:auto}:host ::ng-deep .fd-shellbar{height:var(--shellbar-height)}:host ::ng-deep fd-shellbar.s .fd-shellbar__product{max-width:120px}:host ::ng-deep fd-shellbar.s .fd-shellbar--has-context-area{justify-content:center!important}:host ::ng-deep fd-shellbar.s .fd-shellbar--has-context-area .fd-shellbar__action--shrink button{color:var(--fdButtonIconColor, var(--sapShell_InteractiveTextColor))}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$4.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "interactive", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i2$2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "clear", "size", "role"] }, { kind: "directive", type: i2$2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i4$2.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "theme", "unreadIndicator", "role", "settingsList", "settingsListFooter"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "active", "unread", "byline", "ariaRole", "id", "preventClick", "settingsListTpl"], outputs: ["keyDown"], exportAs: ["fdListItem"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap", "truncate"] }, { kind: "directive", type: i6.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i6.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: i6.ListBylineDirective, selector: "[fdListByline], [fd-list-byline]", inputs: ["twoCol", "wrap"] }, { kind: "directive", type: i6.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i5$2.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i5$2.DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: i5$2.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i5$2.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "component", type: i6$1.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i7$1.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i11.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i6$3.PanelComponent, selector: "fd-panel", inputs: ["class", "fixed", "id", "expandId", "expandAriaLabel", "expandAriaLabelledBy", "expanded", "transparent", "noRadius"], outputs: ["expandedChange"] }, { kind: "component", type: i13.ProductSwitchComponent, selector: "fd-product-switch", inputs: ["placement", "disabled"] }, { kind: "component", type: i13.ProductSwitchBodyComponent, selector: "fd-product-switch-body", inputs: ["dragAndDropEnabled", "products", "forceListMode"], outputs: ["productsChange", "itemClicked"] }, { kind: "component", type: i14.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i14.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i14.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: i15.ShellbarComponent, selector: "fd-shellbar", inputs: ["size", "breakpoints", "sideNav", "groupFlex", "showNavigationButton", "showBackButton", "navigationButtonLabel", "backButtonLabel"], outputs: ["navigationButtonClicked", "backButtonClicked"] }, { kind: "component", type: i15.ProductMenuComponent, selector: "fd-product-menu", inputs: ["closeOnEscapeKey", "closeOnOutsideClick", "triggers", "placement", "disabled", "fillControlMode", "control", "items", "closePopoverOnSelect"] }, { kind: "component", type: i15.ShellbarActionsComponent, selector: "fd-shellbar-actions", inputs: ["user", "userMenu", "closePopoverOnSelect", "assistiveTools", "assistiveToolsCallback"], outputs: ["searchOpen"] }, { kind: "component", type: i15.ShellbarActionComponent, selector: "fd-shellbar-action", inputs: ["glyph", "glyphFont", "callback", "label", "notificationLabel", "notificationCount"] }, { kind: "component", type: i15.ShellbarLogoComponent, selector: "fd-shellbar-logo" }, { kind: "component", type: i15.ShellbarTitleComponent, selector: "fd-shellbar-title" }, { kind: "component", type: i15.ShellbarBrandingComponent, selector: "fd-shellbar-branding", inputs: ["interactiveBranding"] }, { kind: "component", type: i15.ShellbarContextAreaComponent, selector: "fd-shellbar-context-area", outputs: ["contentItemVisibilityChange"] }, { kind: "directive", type: i15.ShellbarHidePriorityDirective, selector: "[fdShellbarHidePriority]", inputs: ["fdShellbarHidePriority"] }, { kind: "component", type: i16.GenericTagComponent, selector: "[fd-generic-tag]", inputs: ["class", "type", "name", "value", "ariaRoleDescription"] }, { kind: "component", type: i8$1.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: i18.UserMenuComponent, selector: "fd-user-menu", inputs: ["mobile"], outputs: ["isOpenChange"] }, { kind: "component", type: i18.UserMenuControlComponent, selector: "fd-user-menu-control", outputs: ["clicked"] }, { kind: "component", type: i18.UserMenuBodyComponent, selector: "fd-user-menu-body" }, { kind: "component", type: i18.UserMenuListComponent, selector: "fd-user-menu-list" }, { kind: "component", type: i18.UserMenuFooterComponent, selector: "fd-user-menu-footer" }, { kind: "directive", type: i18.UserMenuHeaderDirective, selector: "[fd-user-menu-header]" }, { kind: "directive", type: i18.UserMenuSublineDirective, selector: "[fd-user-menu-subline]", inputs: ["truncate"] }, { kind: "directive", type: i18.UserMenuUserNameDirective, selector: "[fd-user-menu-user-name]", inputs: ["truncate"] }, { kind: "directive", type: i18.UserMenuHeaderContainerDirective, selector: "[fd-user-menu-header-container]" }, { kind: "component", type: i18.UserMenuListItemComponent, selector: "[fd-user-menu-list-item]", inputs: ["uniqueId", "icon", "text", "textId", "hasSubmenu", "submenu", "selected"], outputs: ["keyDown", "isOpenChange", "showSubmenu", "updateTitle"] }, { kind: "directive", type: i5.DynamicCommandDirective, selector: "[dynCommand]", inputs: ["dynCommand", "mo", "enableCommand"], outputs: ["commandClick"] }, { kind: "directive", type: i5.MobileDirective, selector: "[mobile]" }, { kind: "directive", type: i5.BodyClickDirective, selector: "[bodyClick]", inputs: ["disableBodyClick"] }, { kind: "directive", type: i5.RouteFormChangeDirective, selector: "[routeFormChange]", inputs: ["handleBodyClick"], outputs: ["stateChanged"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: NotificationGroupComponent, selector: "bt-notification-group", inputs: ["notifications", "loading", "deviceSize", "notificationCount", "notificationReport"], outputs: ["viewed", "remove", "actionClick", "showEvent", "loadMore"] }, { kind: "pipe", type: i1$2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i5.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: SuggestionsFilterPipe, name: "suggestionsFilter" }, { kind: "pipe", type: SuggestionsCountFilterPipe, name: "suggestionsCountFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3088
3222
  }
3089
3223
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaShellbarComponent, decorators: [{
3090
3224
  type: Component,
@@ -3331,22 +3465,22 @@ class ShellbarComponent extends BaseComponent {
3331
3465
  this.shellbarData.calcSubtitle = calcSubtitle;
3332
3466
  this._cdr.detectChanges();
3333
3467
  };
3334
- this.deviceSize$ = this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$));
3335
- this._breadCrumbService.breadcrumbs$.pipe(takeUntil(this._onDestroy$)).subscribe((breadCrumbs) => {
3468
+ this.deviceSize$ = this._portalService.deviceSize$.pipe(takeUntil$1(this._onDestroy$));
3469
+ this._breadCrumbService.breadcrumbs$.pipe(takeUntil$1(this._onDestroy$)).subscribe((breadCrumbs) => {
3336
3470
  if (breadCrumbs.length > 0) {
3337
3471
  this.productMenuControl = breadCrumbs[breadCrumbs.length - 1].label;
3338
3472
  }
3339
3473
  this._cdr.detectChanges();
3340
3474
  });
3341
3475
  this.userInfo$ = this._tilesService.userInfo$;
3342
- this._tilesService.shellbar$.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {
3476
+ this._tilesService.shellbar$.pipe(takeUntil$1(this._onDestroy$)).subscribe((mo) => {
3343
3477
  this.shellbarData = mo;
3344
3478
  if (this.IsUserLoggedIn) {
3345
3479
  this._tilesService.loadUserProfileImage(this.repIdProfileImage);
3346
3480
  }
3347
3481
  // this._cdr.detectChanges();
3348
3482
  forkJoin([of(this.productMenuItems), of([])]) // to append user defined
3349
- .pipe(takeUntil(this._onDestroy$), map(([s1, s2]) => [...s1, ...s2]))
3483
+ .pipe(takeUntil$1(this._onDestroy$), map(([s1, s2]) => [...s1, ...s2]))
3350
3484
  .subscribe((c) => {
3351
3485
  this.productMenuItems1 = c;
3352
3486
  this._cdr.detectChanges();
@@ -3355,7 +3489,7 @@ class ShellbarComponent extends BaseComponent {
3355
3489
  if (this.settings?.AllowAnonymous) {
3356
3490
  this._tilesService.loadShellbar();
3357
3491
  }
3358
- this._portalService.userLoggedIn$.pipe(takeUntil(this._onDestroy$)).subscribe((loggedIn) => {
3492
+ this._portalService.userLoggedIn$.pipe(takeUntil$1(this._onDestroy$)).subscribe((loggedIn) => {
3359
3493
  if (!loggedIn) {
3360
3494
  return;
3361
3495
  }
@@ -3500,7 +3634,7 @@ class PopoverAppFinderComponent extends BaseComponent {
3500
3634
  ngOnInit() {
3501
3635
  super.ngOnInit();
3502
3636
  this.contentHeight = 'calc(' + this._el.nativeElement.offsetHeight + 'px - 2.75rem)';
3503
- this.sideContentSize$ = this.deviceSize$.pipe(takeUntil(this._onDestroy$), map((deviceSize) => {
3637
+ this.sideContentSize$ = this.deviceSize$.pipe(takeUntil$1(this._onDestroy$), map((deviceSize) => {
3504
3638
  switch (deviceSize) {
3505
3639
  case 's':
3506
3640
  return 'sm';
@@ -3580,10 +3714,10 @@ class BarsaPinAppComponent extends BarsaTreeItemComponent {
3580
3714
  }
3581
3715
  ngOnInit() {
3582
3716
  super.ngOnInit();
3583
- this._appFinderService.appGroups$.pipe(takeUntil$1(this._onDestroy$)).subscribe((c) => {
3717
+ this._appFinderService.appGroups$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {
3584
3718
  this.appGroups$.set(c);
3585
3719
  });
3586
- this._appFinderService.pinnedAppInAppTileGroups$.pipe(takeUntil$1(this._onDestroy$)).subscribe((c) => {
3720
+ this._appFinderService.pinnedAppInAppTileGroups$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {
3587
3721
  this.pinnedAppInAppTileGroups$.set(c);
3588
3722
  });
3589
3723
  }
@@ -3659,7 +3793,7 @@ class BarsaTileGroupPageComponent extends BaseComponent {
3659
3793
  });
3660
3794
  }
3661
3795
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaTileGroupPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3662
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaTileGroupPageComponent, isStandalone: false, selector: "bt-barsa-tile-group-page", host: { properties: { "style.position": "this._position" } }, providers: [RoutingService], viewQueries: [{ propertyName: "_containerRef", first: true, predicate: ["containerRef"], descendants: true, read: ViewContainerRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if(!isSimple ){\r\n<fd-dynamic-page [autoResponsive]=\"true\">\r\n <fd-dynamic-page-header\r\n [class.simple-title]=\"true\"\r\n [title]=\"title | bbbTranslate\"\r\n [class.hide-title]=\"false\"\r\n [class.mobile]=\"isMobile\"\r\n >\r\n <fd-dynamic-page-breadcrumb [class.hide]=\"isMobile\">\r\n <fd-breadcrumb>\r\n @if (breadcrumbs$ | async; as breadCrumbs) { @for ( breadCrumb of breadCrumbs | slice:\r\n 0:breadCrumbs.length; track breadCrumb.url; let i = $index; let last = $last) {\r\n <fd-breadcrumb-item>\r\n <bsu-breadcrumb\r\n [index]=\"i\"\r\n [isLast]=\"last\"\r\n [breadCrumb]=\"breadCrumb\"\r\n [allBreadCrumb]=\"breadCrumbs\"\r\n ></bsu-breadcrumb>\r\n </fd-breadcrumb-item>\r\n } }\r\n </fd-breadcrumb>\r\n </fd-dynamic-page-breadcrumb>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"onClose()\" title=\"Close\">\r\n <i [class]=\"'sap-icon--' + (isMobile ? (rtl ? 'arrow-right' : 'arrow-left') : 'decline')\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n\r\n <fd-dynamic-page-content cdkScrollable>\r\n <ng-container *ngTemplateOutlet=\"tilesTpl\"> </ng-container>\r\n </fd-dynamic-page-content>\r\n</fd-dynamic-page>\r\n} @else {\r\n<ng-container *ngTemplateOutlet=\"tilesTpl\"> </ng-container>\r\n}\r\n<ng-template #loadingTpl>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n<ng-template #tilesTpl>\r\n <div class=\"tw-flex tw-flex-col tw-gap-4\">\r\n @for(appGroup of moList() | multipleGroupBy: sortSetting();track appGroup.$Group || appGroup.Id) {\r\n @if(appGroup.$Group) {\r\n <fd-panel [fixed]=\"true\">\r\n <h2 fd-panel-title>\r\n {{ appGroup.$Group !== 'undefined' ? appGroup.$Group : '' }}\r\n </h2>\r\n <div\r\n fd-panel-content\r\n [class.small-size]=\"deviceSize === 's'\"\r\n class=\"tw-flex tw-gap-2 tw-flex-wrap tw-p-4 !tw-border-b-0\"\r\n >\r\n @for(app of appGroup.$Children;track app.Id;let i=$index){\r\n <ng-container\r\n *ngTemplateOutlet=\"tile; context: { $implicit: app, deviceSize: deviceSize, index: i }\"\r\n ></ng-container>\r\n }\r\n </div>\r\n </fd-panel>\r\n } }\r\n </div>\r\n</ng-template>\r\n<ng-template\r\n #tile\r\n let-app\r\n let-listMode=\"listMode\"\r\n let-navigateBack=\"navigateBack\"\r\n let-deviceSize=\"deviceSize\"\r\n let-index=\"index\"\r\n>\r\n <span\r\n [dynamicCommand]=\"app.DynamicCommand\"\r\n [style.margin-right]=\"rtl ? (index === 0 ? '-0.5rem' : null) : null\"\r\n [style.margin-left]=\"!rtl ? (index === 0 ? '-0.5rem' : null) : null\"\r\n [setToStorage]=\"false\"\r\n [listMode]=\"false\"\r\n [navigateBackOnClick]=\"listMode ? false : isSimple ? true : false\"\r\n [enableCommand]=\"app.Component\"\r\n tileRenderer\r\n [data]=\"app\"\r\n [edit]=\"false\"\r\n [deviceSize]=\"deviceSize\"\r\n [component]=\"app.Component\"\r\n >\r\n </span>\r\n</ng-template>\r\n", styles: [":host{width:100%;display:block}.app-groups{width:25vw;border-left:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}fd-dynamic-page-header.mobile{--fdDynamicPage_Title_Font_Size:1rem}fd-dynamic-page-header.mobile ::ng-deep>.fd-dynamic-page__main-container>.fd-dynamic-page__breadcrumb-title-container{display:flex;flex-direction:row;justify-content:flex-start}\n"], dependencies: [{ kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$1.ɵɵCdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i3$3.BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i3$3.BreadcrumbItemComponent, selector: "fd-breadcrumb-item" }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i4$3.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "ariaRoledescription", "background", "autoResponsive", "size", "offset", "expandContent", "positionRelative"] }, { kind: "component", type: i4$3.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap", "headingLevel", "titleId"] }, { kind: "component", type: i4$3.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i4$3.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i4$3.DynamicPageBreadcrumbComponent, selector: "fd-dynamic-page-breadcrumb" }, { kind: "component", type: i6$3.PanelComponent, selector: "fd-panel", inputs: ["class", "fixed", "id", "expandId", "expandAriaLabel", "expandAriaLabelledBy", "expanded", "transparent", "noRadius"], outputs: ["expandedChange"] }, { kind: "directive", type: i6$3.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "noPadding", "transparent", "id"] }, { kind: "directive", type: i6$3.PanelTitleDirective, selector: "[fd-panel-title]", inputs: ["id"] }, { kind: "component", type: i5$1.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i3.BreadcrumbComponent, selector: "bsu-breadcrumb", inputs: ["breadCrumb", "allBreadCrumb", "isLast", "index"] }, { kind: "directive", type: TileRendererDirective, selector: "[tileRenderer]", inputs: ["component", "data", "groupType", "edit", "deviceSize", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["hideClick", "renameClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.SlicePipe, name: "slice" }, { kind: "pipe", type: i5.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3796
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: BarsaTileGroupPageComponent, isStandalone: false, selector: "bt-barsa-tile-group-page", host: { properties: { "style.position": "this._position" } }, providers: [RoutingService], viewQueries: [{ propertyName: "_containerRef", first: true, predicate: ["containerRef"], descendants: true, read: ViewContainerRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if(!isSimple ){\r\n<fd-dynamic-page [autoResponsive]=\"true\">\r\n <fd-dynamic-page-header\r\n [class.simple-title]=\"true\"\r\n [title]=\"title | bbbTranslate\"\r\n [class.hide-title]=\"false\"\r\n [class.mobile]=\"isMobile\"\r\n >\r\n <fd-dynamic-page-breadcrumb [class.hide]=\"isMobile\">\r\n <fd-breadcrumb>\r\n @if (breadcrumbs$ | async; as breadCrumbs) { @for ( breadCrumb of breadCrumbs | slice:\r\n 0:breadCrumbs.length; track breadCrumb.url; let i = $index; let last = $last) {\r\n <fd-breadcrumb-item>\r\n <bsu-breadcrumb\r\n [index]=\"i\"\r\n [isLast]=\"last\"\r\n [breadCrumb]=\"breadCrumb\"\r\n [allBreadCrumb]=\"breadCrumbs\"\r\n ></bsu-breadcrumb>\r\n </fd-breadcrumb-item>\r\n } }\r\n </fd-breadcrumb>\r\n </fd-dynamic-page-breadcrumb>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"onClose()\" title=\"Close\">\r\n <i [class]=\"'sap-icon--' + (isMobile ? (rtl ? 'arrow-right' : 'arrow-left') : 'decline')\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n\r\n <fd-dynamic-page-content cdkScrollable>\r\n <ng-container *ngTemplateOutlet=\"tilesTpl\"> </ng-container>\r\n </fd-dynamic-page-content>\r\n</fd-dynamic-page>\r\n} @else {\r\n<ng-container *ngTemplateOutlet=\"tilesTpl\"> </ng-container>\r\n}\r\n<ng-template #loadingTpl>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n<ng-template #tilesTpl>\r\n <div class=\"tw-flex tw-flex-col tw-gap-4\">\r\n @for(appGroup of moList() | multipleGroupBy: sortSetting();track appGroup.$Group || appGroup.Id) {\r\n @if(appGroup.$Group) {\r\n <fd-panel [fixed]=\"true\">\r\n <h2 fd-panel-title>\r\n {{ appGroup.$Group !== 'undefined' ? appGroup.$Group : '' }}\r\n </h2>\r\n <div\r\n fd-panel-content\r\n [class.small-size]=\"deviceSize === 's'\"\r\n class=\"tw-flex tw-gap-2 tw-flex-wrap tw-p-4 !tw-border-b-0\"\r\n >\r\n @for(app of appGroup.$Children;track app.Id;let i=$index){\r\n <ng-container\r\n *ngTemplateOutlet=\"tile; context: { $implicit: app, deviceSize: deviceSize, index: i }\"\r\n ></ng-container>\r\n }\r\n </div>\r\n </fd-panel>\r\n } }\r\n </div>\r\n</ng-template>\r\n<ng-template\r\n #tile\r\n let-app\r\n let-listMode=\"listMode\"\r\n let-navigateBack=\"navigateBack\"\r\n let-deviceSize=\"deviceSize\"\r\n let-index=\"index\"\r\n>\r\n <span\r\n [dynamicCommand]=\"app.DynamicCommand\"\r\n [style.margin-right]=\"rtl ? (index === 0 ? '-0.5rem' : null) : null\"\r\n [style.margin-left]=\"!rtl ? (index === 0 ? '-0.5rem' : null) : null\"\r\n [setToStorage]=\"false\"\r\n [listMode]=\"false\"\r\n [navigateBackOnClick]=\"listMode ? false : isSimple ? true : false\"\r\n [enableCommand]=\"app.Component\"\r\n tileRenderer\r\n [data]=\"app\"\r\n [edit]=\"false\"\r\n [deviceSize]=\"deviceSize\"\r\n [component]=\"app.Component\"\r\n >\r\n </span>\r\n</ng-template>\r\n", styles: [":host{width:100%;display:block}.app-groups{width:25vw;border-left:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}fd-dynamic-page-header.mobile{--fdDynamicPage_Title_Font_Size:1rem}fd-dynamic-page-header.mobile ::ng-deep>.fd-dynamic-page__main-container>.fd-dynamic-page__breadcrumb-title-container{display:flex;flex-direction:row;justify-content:flex-start}\n"], dependencies: [{ kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$1.ɵɵCdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: i3$3.BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i3$3.BreadcrumbItemComponent, selector: "fd-breadcrumb-item" }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "component", type: i4$4.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "ariaRoledescription", "background", "autoResponsive", "size", "offset", "expandContent", "positionRelative"] }, { kind: "component", type: i4$4.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap", "headingLevel", "titleId"] }, { kind: "component", type: i4$4.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i4$4.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i4$4.DynamicPageBreadcrumbComponent, selector: "fd-dynamic-page-breadcrumb" }, { kind: "component", type: i6$3.PanelComponent, selector: "fd-panel", inputs: ["class", "fixed", "id", "expandId", "expandAriaLabel", "expandAriaLabelledBy", "expanded", "transparent", "noRadius"], outputs: ["expandedChange"] }, { kind: "directive", type: i6$3.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "noPadding", "transparent", "id"] }, { kind: "directive", type: i6$3.PanelTitleDirective, selector: "[fd-panel-title]", inputs: ["id"] }, { kind: "component", type: i5$1.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i3.BreadcrumbComponent, selector: "bsu-breadcrumb", inputs: ["breadCrumb", "allBreadCrumb", "isLast", "index"] }, { kind: "directive", type: TileRendererDirective, selector: "[tileRenderer]", inputs: ["component", "data", "groupType", "edit", "deviceSize", "setToStorage", "listMode", "navigateBackOnClick"], outputs: ["hideClick", "renameClick", "changeGroupClick"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.SlicePipe, name: "slice" }, { kind: "pipe", type: i5.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i5.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3663
3797
  }
3664
3798
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BarsaTileGroupPageComponent, decorators: [{
3665
3799
  type: Component,
@@ -3686,7 +3820,7 @@ class BarsaTileSidebarPageComponent extends EmptyPageComponent {
3686
3820
  ngOnInit() {
3687
3821
  super.ngOnInit();
3688
3822
  this.isFirstPage = false;
3689
- this._portalService.navigationEnd$.pipe(takeUntil$1(this._onDestroy$)).subscribe((c) => {
3823
+ this._portalService.navigationEnd$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {
3690
3824
  c && c.url.indexOf('mainside:report') > 0 && this.firstReportLoaded.set(true);
3691
3825
  });
3692
3826
  this.breadcrumbs$ = this._breadCrumbService.breadcrumbs$;
@@ -3830,7 +3964,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
3830
3964
  class TileSizeDirective extends BaseDirective {
3831
3965
  ngOnInit() {
3832
3966
  super.ngOnInit();
3833
- this._portalService.deviceSize$.pipe(takeUntil$1(this._onDestroy$)).subscribe((c) => {
3967
+ this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {
3834
3968
  if (c === 's') {
3835
3969
  this._renderer2.addClass(this._el.nativeElement.firstChild, 'fd-tile--s');
3836
3970
  }