barsa-tiles 2.3.98 → 2.3.100

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 +1 @@
1
- {"version":3,"file":"barsa-tiles.mjs","sources":["../../../projects/barsa-tiles/src/lib/tiles.service.ts","../../../projects/barsa-tiles/src/lib/models/base-tile-component.ts","../../../projects/barsa-tiles/src/lib/models/base-bt-tile-component.ts","../../../projects/barsa-tiles/src/lib/footer-tile/footer-tile.component.ts","../../../projects/barsa-tiles/src/lib/footer-tile/footer-tile.component.html","../../../projects/barsa-tiles/src/lib/tile-style.directive.ts","../../../projects/barsa-tiles/src/lib/directives/tile-dynamic-command.directive.ts","../../../projects/barsa-tiles/src/lib/tile/tile.component.ts","../../../projects/barsa-tiles/src/lib/tile/tile.component.html","../../../projects/barsa-tiles/src/lib/pipes/tile-prop.pipe.ts","../../../projects/barsa-tiles/src/lib/form-tile/form-tile.component.ts","../../../projects/barsa-tiles/src/lib/form-tile/form-tile.component.html","../../../projects/barsa-tiles/src/lib/tile-group-base.component.ts","../../../projects/barsa-tiles/src/lib/action-item/action-item.component.ts","../../../projects/barsa-tiles/src/lib/action-item/action-item.component.html","../../../projects/barsa-tiles/src/lib/actions-link/actions-link.component.ts","../../../projects/barsa-tiles/src/lib/actions-link/actions-link.component.html","../../../projects/barsa-tiles/src/lib/tile-renderer.directive.ts","../../../projects/barsa-tiles/src/lib/directives/tile-class.directive.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer-group/tiles-viewer-group.component.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer-group/tiles-viewer-group.component.html","../../../projects/barsa-tiles/src/lib/directives/emptylist.directive.ts","../../../projects/barsa-tiles/src/lib/app-finder-app-list/app-finder-app-list.component.ts","../../../projects/barsa-tiles/src/lib/app-finder-app-list/app-finder-app-list.component.html","../../../projects/barsa-tiles/src/lib/app-finder-group/app-finder-group.component.ts","../../../projects/barsa-tiles/src/lib/app-finder-group/app-finder-group.component.html","../../../projects/barsa-tiles/src/lib/app-finder/app-finder.component.ts","../../../projects/barsa-tiles/src/lib/app-finder/app-finder.component.html","../../../projects/barsa-tiles/src/lib/change-app-tile/change-app-tile.component.ts","../../../projects/barsa-tiles/src/lib/change-app-tile/change-app-tile.component.html","../../../projects/barsa-tiles/src/lib/tiles-viewer.service.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer/tiles-viewer.component.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer/tiles-viewer.component.html","../../../projects/barsa-tiles/src/lib/semantic-to-button-color.pipe.ts","../../../projects/barsa-tiles/src/lib/megamenu.pipe.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer-megamenu/tiles-viewer-megamenu.component.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer-megamenu/tiles-viewer-megamenu.component.html","../../../projects/barsa-tiles/src/lib/tiles-viewer-container/tiles-viewer-container.component.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer-container/tiles-viewer-container.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.html","../../../projects/barsa-tiles/src/lib/news-tile/news-tile.component.ts","../../../projects/barsa-tiles/src/lib/news-tile/news-tile.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-comparison/micro-tile-chart-comparison.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-comparison/micro-tile-chart-comparison.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-stackbar/micro-tile-chart-stackbar.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-stackbar/micro-tile-chart-stackbar.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-line/micro-tile-chart-line.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-line/micro-tile-chart-line.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-circular/micro-tile-chart-circular.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-circular/micro-tile-chart-circular.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-area/micro-tile-chart-area.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-area/micro-tile-chart-area.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-bar/micro-tile-chart-bar.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-bar/micro-tile-chart-bar.component.html","../../../projects/barsa-tiles/src/lib/create-app-group/create-app-group.component.ts","../../../projects/barsa-tiles/src/lib/create-app-group/create-app-group.component.html","../../../projects/barsa-tiles/src/lib/pin-tile/pin-tile.component.ts","../../../projects/barsa-tiles/src/lib/pin-tile/pin-tile.component.html","../../../projects/barsa-tiles/src/lib/app-finder.service.ts","../../../projects/barsa-tiles/src/lib/form-app-finder/form-app-finder.component.ts","../../../projects/barsa-tiles/src/lib/form-app-finder/form-app-finder.component.html","../../../projects/barsa-tiles/src/lib/footer-edit-tile/footer-edit-tile.component.ts","../../../projects/barsa-tiles/src/lib/footer-edit-tile/footer-edit-tile.component.html","../../../projects/barsa-tiles/src/lib/numeric-tile/numeric-tile.component.ts","../../../projects/barsa-tiles/src/lib/numeric-tile/numeric-tile.component.html","../../../projects/barsa-tiles/src/lib/logo-tile/logo-tile.component.ts","../../../projects/barsa-tiles/src/lib/logo-tile/logo-tile.component.html","../../../projects/barsa-tiles/src/lib/feed-tile/feed-tile.component.ts","../../../projects/barsa-tiles/src/lib/feed-tile/feed-tile.component.html","../../../projects/barsa-tiles/src/lib/simple-tile/simple-tile.component.ts","../../../projects/barsa-tiles/src/lib/simple-tile/simple-tile.component.html","../../../projects/barsa-tiles/src/lib/report-tile/report-tile.component.ts","../../../projects/barsa-tiles/src/lib/report-tile/report-tile.component.html","../../../projects/barsa-tiles/src/lib/profile-tile/profile-tile.component.ts","../../../projects/barsa-tiles/src/lib/profile-tile/profile-tile.component.html","../../../projects/barsa-tiles/src/lib/notification-group/notification-group.component.ts","../../../projects/barsa-tiles/src/lib/notification-group/notification-group.component.html","../../../projects/barsa-tiles/src/lib/barsa-shellbar/barsa-shellbar.component.ts","../../../projects/barsa-tiles/src/lib/barsa-shellbar/barsa-shellbar.component.html","../../../projects/barsa-tiles/src/lib/shellbar/shellbar.component.ts","../../../projects/barsa-tiles/src/lib/shellbar/shellbar.component.html","../../../projects/barsa-tiles/src/lib/pipes/tile-home-filter.pipe.ts","../../../projects/barsa-tiles/src/lib/pipes/group-tiles.pipe.ts","../../../projects/barsa-tiles/src/lib/popover-app-finder/popover-app-finder.component.ts","../../../projects/barsa-tiles/src/lib/popover-app-finder/popover-app-finder.component.html","../../../projects/barsa-tiles/src/lib/barsa-pin-app/barsa-pin-app.component.ts","../../../projects/barsa-tiles/src/lib/barsa-pin-app/barsa-pin-app.component.html","../../../projects/barsa-tiles/src/lib/barsa-tile-group-page/barsa-tile-group-page.component.ts","../../../projects/barsa-tiles/src/lib/barsa-tile-group-page/barsa-tile-group-page.component.html","../../../projects/barsa-tiles/src/lib/barsa-tile-sidebar-page/barsa-tile-sidebar-page.component.ts","../../../projects/barsa-tiles/src/lib/barsa-tile-sidebar-page/barsa-tile-sidebar-page.component.html","../../../projects/barsa-tiles/src/lib/card-tile/card-tile.component.ts","../../../projects/barsa-tiles/src/lib/card-tile/card-tile.component.html","../../../projects/barsa-tiles/src/lib/pipes/home-group.pipe.ts","../../../projects/barsa-tiles/src/lib/action-links.pipe.ts","../../../projects/barsa-tiles/src/lib/notification-group-header/notification-group-header.component.ts","../../../projects/barsa-tiles/src/lib/notification-group-header/notification-group-header.component.html","../../../projects/barsa-tiles/src/lib/popover-app-finder/filter-apps-grouped.pipe.ts","../../../projects/barsa-tiles/src/lib/tile-size.directive.ts","../../../projects/barsa-tiles/src/lib/barsa-tiles-routing.module.ts","../../../projects/barsa-tiles/src/lib/barsa-tiles.module.ts","../../../projects/barsa-tiles/src/barsa-tiles.ts"],"sourcesContent":["import { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { Subject, BehaviorSubject, Observable, of, from } from 'rxjs';\r\nimport { concatMap, distinctUntilChanged, filter, map, shareReplay, startWith, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport { RtlService, ThemingService } from '@fundamental-ngx/core';\r\nimport {\r\n AppTileGroup,\r\n BarsaApi,\r\n BbbTranslatePipe,\r\n MetaobjectDataModel,\r\n MoForReportModel,\r\n PortalService,\r\n MoForReportModelBase\r\n} from 'barsa-novin-ray-core';\r\nimport { AppTileGroupPin, UserPortalSettings, UserInfo } from './models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TilesService implements OnDestroy {\r\n deviceSize$: Observable<'s' | 'm' | 'l' | 'xl'>;\r\n homeAppTileGroups$: Observable<AppTileGroup[]>;\r\n pinTiles$: Observable<PinTileInfo | null>;\r\n shellbarSource = new Subject<MetaobjectDataModel>();\r\n shellbar$: Observable<MetaobjectDataModel>;\r\n appTileGroups$: Observable<MoForReportModelBase<AppTileGroup> | null>;\r\n edit$: Observable<boolean>;\r\n userInfo$: Observable<UserInfo | null>;\r\n\r\n private _OnDestroy$ = new Subject<void>();\r\n private _homeAppTileGroupsSource = new BehaviorSubject<AppTileGroup[]>([]);\r\n private pinTilesSource = new Subject<PinTileInfo>();\r\n private _appTileGroupsSource = new BehaviorSubject<MoForReportModelBase<AppTileGroup> | null>(null);\r\n private _userInfo$ = new BehaviorSubject<UserInfo | null>(null);\r\n private _edithomeSource = new BehaviorSubject<boolean>(false);\r\n private _componentSettings$ = new Subject<MetaobjectDataModel>();\r\n private _themingService = inject(ThemingService);\r\n private _portalService = inject(PortalService);\r\n private _rtlService = inject(RtlService);\r\n private _bbbTranslatePipe = inject(BbbTranslatePipe);\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n\r\n constructor() {\r\n BarsaApi.Bw.TilesService = this;\r\n this.userInfo$ = this._userInfo$.asObservable();\r\n this.homeAppTileGroups$ = this._homeAppTileGroupsSource.asObservable();\r\n this.pinTiles$ = this.pinTilesSource.asObservable().pipe(startWith(null));\r\n this.shellbarSource = new Subject<MetaobjectDataModel>();\r\n this.shellbar$ = this.shellbarSource.asObservable().pipe(shareReplay(1));\r\n this.appTileGroups$ = this._appTileGroupsSource.pipe(shareReplay(1));\r\n\r\n this.edit$ = this._edithomeSource.asObservable().pipe(takeUntil(this._OnDestroy$), distinctUntilChanged());\r\n this.deviceSize$ = this._portalService.deviceSize$;\r\n this._rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);\r\n this.appTileGroups$\r\n .pipe(\r\n filter((moForReportModel) => moForReportModel !== null),\r\n tap((moForReportModel) => {\r\n if (moForReportModel) {\r\n this._allAppsLoaded(moForReportModel);\r\n }\r\n })\r\n )\r\n .subscribe();\r\n BarsaApi.Ul.ApplicationCtrlr.on('GlobalRefreshTile', this._onApplication_GlobalRefreshTile.bind(this));\r\n }\r\n get componentSettings$(): Observable<MetaobjectDataModel> {\r\n return this._componentSettings$.asObservable();\r\n }\r\n get isDark$(): Observable<boolean | null> {\r\n return this._themingService.currentTheme.pipe(map((c) => c && c.name.toLocaleLowerCase().includes('dark')));\r\n }\r\n get appTileGroups(): MoForReportModelBase<AppTileGroup> | null {\r\n return this._appTileGroupsSource.getValue();\r\n }\r\n ngOnDestroy(): void {\r\n this._OnDestroy$.next();\r\n }\r\n loadAllAppTileGroupsByReportId(id: string): void {\r\n this._loadAllAppTileGroupsByReportId(id);\r\n }\r\n loadAllAppTileGroups(): void {\r\n this._loadAllAppTileGroups();\r\n }\r\n loadUserProfileImage(repIdProfileImage: string): void {\r\n if (!repIdProfileImage) {\r\n return;\r\n }\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [repIdProfileImage],\r\n Method: 'BarsaPortalGetProfileImage',\r\n SuccessFn: (res: string) => {\r\n const userInfo = BarsaApi.Ext.decode(res);\r\n this._userInfo$.next(userInfo);\r\n },\r\n FailFn: () => {}\r\n });\r\n }\r\n loadAppTileGroups(appTileGroup: MetaobjectDataModel): void {\r\n if (!appTileGroup || appTileGroup.$TilesLoaded) {\r\n return;\r\n }\r\n const allApps = this._appTileGroupsSource.getValue();\r\n if (allApps) {\r\n const selectedAppTilegroup = allApps?.MoDataList.find((c) => c.Id === appTileGroup.Id);\r\n if (selectedAppTilegroup) {\r\n this._loadAppTilesOfAppTileGroup(selectedAppTilegroup, allApps);\r\n selectedAppTilegroup.$Children?.forEach((subGroup) => {\r\n this._loadAppTilesOfAppTileGroup(subGroup, allApps);\r\n });\r\n }\r\n }\r\n }\r\n saveTilesStackContent(tilesStackContent: boolean): Promise<void> {\r\n const userPortalSettings = this._portalService.userPortalSettings['UserPortalSettings'];\r\n if (userPortalSettings == null) {\r\n return Promise.resolve();\r\n }\r\n userPortalSettings.TilesStackContent = tilesStackContent;\r\n userPortalSettings.$State = 'Modified';\r\n return this._saveUserPortalSettings(userPortalSettings).then(() =>\r\n this._portalService.setUserPortalSettings(userPortalSettings)\r\n );\r\n }\r\n\r\n loadUserPortalSettings(): Observable<any> {\r\n return this._portalService.getData('UserPortalSetting').pipe(\r\n concatMap((data) => {\r\n if (data) {\r\n return of(data);\r\n } else {\r\n return this.loadFromServerUserPortalSetting();\r\n }\r\n })\r\n );\r\n }\r\n refreshTile(appTile: MetaobjectDataModel): Promise<MetaobjectDataModel> {\r\n return new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appTile.Id],\r\n Method: 'RefreshTile',\r\n SuccessFn: (newAppTile: MoForReportModel) => {\r\n if (newAppTile.MoDataList?.length) {\r\n resolve(newAppTile.MoDataList[0]);\r\n }\r\n reject(`refresh tile not found apptile width title: ${appTile.Title}`);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n loadFromServerUserPortalSetting(): Observable<MetaobjectDataModel> {\r\n return from(\r\n new Promise<UserPortalSettings>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [],\r\n Method: 'GetUserPortalSettings',\r\n SuccessFn: (userPortalSetting: MetaobjectDataModel) => {\r\n this._portalService.setData('UserPortalSetting', userPortalSetting);\r\n resolve(userPortalSetting);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n );\r\n }\r\n toggleAppGroupSettingVisible(appGroup: MetaobjectDataModel): Observable<MetaobjectDataModel> {\r\n return from(\r\n new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id],\r\n Method: 'ToggleAppTileGroupSettingVisible',\r\n SuccessFn: (appGroupSetting) => {\r\n this._updateAppTileGroupSettings(appGroup, appGroupSetting);\r\n resolve(appGroupSetting);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(\r\n tap((appGroupSetting) => {\r\n this._updateAppGroupSetting(appGroup, appGroupSetting);\r\n })\r\n );\r\n }\r\n resetAppGroupSetting(appGroup: MetaobjectDataModel): Observable<MetaobjectDataModel> {\r\n return from(\r\n new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id],\r\n Method: 'ResetAppTileGroupSettingVisible',\r\n SuccessFn: (appGroupSetting: MetaobjectDataModel) => {\r\n this._updateAppTileGroupSettings(appGroup, appGroupSetting);\r\n resolve(appGroupSetting);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(\r\n tap((appGroupSetting) => {\r\n this._updateAppGroupSetting(appGroup, appGroupSetting);\r\n })\r\n );\r\n }\r\n\r\n deleteAppGroup(appGroup: MetaobjectDataModel): Observable<string> {\r\n return from(\r\n new Promise<string>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id],\r\n Method: 'DeleteAppGroup',\r\n SuccessFn: () => {\r\n resolve(appGroup.Id);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(\r\n tap((appGroupId) => {\r\n const allApps = this.appTileGroups;\r\n if (allApps) {\r\n allApps.MoDataList = allApps.MoDataList.filter((c) => c.Id !== appGroupId);\r\n this._appTileGroupsSource.next(allApps);\r\n }\r\n })\r\n );\r\n }\r\n changeAppTileSetting(appTile: MetaobjectDataModel): Observable<MetaobjectDataModel | null> {\r\n const allApps = this.appTileGroups;\r\n const selectedGroup = this.findGroupWithAppTileId(allApps, appTile.Id);\r\n if (selectedGroup === null) {\r\n return of(null);\r\n }\r\n return from(\r\n new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [selectedGroup.Id, appTile.Id, appTile.Title, appTile.Subtitle],\r\n Method: 'ChangeAppTileSetting',\r\n SuccessFn: (settings) => {\r\n this._updateAppTileGroupSettings(selectedGroup, settings);\r\n this._nextAllAppTileGroups(allApps);\r\n resolve(selectedGroup);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n );\r\n }\r\n\r\n saveAppGroupOrders(appGroups: MetaobjectDataModel[]): Observable<void> {\r\n const groupOrders = appGroups.map((c) => c.Id);\r\n return from(\r\n new Promise<void>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [groupOrders],\r\n Method: 'ChangeOrderAppTileGroups',\r\n SuccessFn: () => {\r\n resolve();\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe();\r\n }\r\n\r\n createAppGroup(title: string): Observable<MetaobjectDataModel> {\r\n return from(\r\n new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [title],\r\n Method: 'CreateAppTileGroup',\r\n SuccessFn: (mo: MetaobjectDataModel) => {\r\n resolve(mo);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(tap((mo) => this.addAppGroup(mo)));\r\n }\r\n\r\n saveOrderAppTiles(\r\n appGroup: MetaobjectDataModel,\r\n appTiles: number[],\r\n isActionLink = false,\r\n appTileIdTransferedId: string = '0'\r\n ): void {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id, appTiles, isActionLink, appTileIdTransferedId],\r\n Method: 'ChangeOrderAppTiles',\r\n SuccessFn: () => {},\r\n FailFn: () => {}\r\n });\r\n }\r\n\r\n updateAppTile(allApps: MoForReportModel | null, appTile: MetaobjectDataModel): void {\r\n if (!allApps) {\r\n return;\r\n }\r\n const selectedAppTile = this.findAppTileWithKey(\r\n allApps,\r\n 'A_App_Component.Settings.Id',\r\n appTile.A_App_Component.Settings.Id\r\n );\r\n if (selectedAppTile) {\r\n BarsaApi.Common.Merger.FastMerge(\r\n selectedAppTile.A_App_Component.Settings,\r\n appTile.A_App_Component.Settings\r\n );\r\n this._componentSettings$.next(selectedAppTile.A_App_Component.Settings);\r\n }\r\n }\r\n updataAppTileSetting(selectedGroup: MetaobjectDataModel, appGroupSetting: MetaobjectDataModel): void {\r\n const allApps = this.appTileGroups;\r\n allApps?.MoDataList.forEach((appGroup) => {\r\n if (appGroup.Id === selectedGroup.Id) {\r\n appGroup.UserAppTileGroupSetting = appGroupSetting;\r\n }\r\n });\r\n this._appTileGroupsSource.next(allApps);\r\n }\r\n\r\n addAppGroup(mo: MetaobjectDataModel): void {\r\n const allApps = this.appTileGroups;\r\n if (allApps) {\r\n allApps.MoDataList.push(mo as AppTileGroup);\r\n this._appTileGroupsSource.next(allApps);\r\n }\r\n }\r\n\r\n singlePinTileChanged(appTileId): Observable<boolean> {\r\n const allApps = this.appTileGroups;\r\n const group = this.findGroupWithAppTileId(allApps, appTileId);\r\n if (group === null) {\r\n return of(false);\r\n }\r\n return from(\r\n new Promise<boolean>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [group.Id, appTileId],\r\n Method: 'RemoveAppTileFromTileGroup',\r\n SuccessFn: (setting) => {\r\n this._updateAppTileGroupSettings(group, setting);\r\n this._nextAllAppTileGroups(allApps);\r\n resolve(true);\r\n },\r\n FailFn: () => {\r\n reject(false);\r\n }\r\n });\r\n })\r\n );\r\n }\r\n pinTileChanged(appTileGroupsPin: AppTileGroupPin[], app: MetaobjectDataModel, callback): void {\r\n const allApps = this.appTileGroups;\r\n const visible = appTileGroupsPin.map((c) => c.visible);\r\n const groupChanges = appTileGroupsPin.map(\r\n (c) =>\r\n new BarsaApi.Common.MetaObjectWeb({\r\n Id: c.appTileGroup.Id,\r\n TypeDefId: allApps?.TypeDefId\r\n })\r\n );\r\n\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [groupChanges, visible, app.Id],\r\n Method: 'TilePinChanged',\r\n SuccessFn: (settings) => {\r\n this._tilePinChange(appTileGroupsPin, allApps);\r\n callback(settings);\r\n },\r\n FailFn: () => {\r\n // TODO show error\r\n }\r\n });\r\n }\r\n _tilePinChange(appTileGroupsPin, allApps): void {\r\n for (const appTileGroupPin of appTileGroupsPin) {\r\n let selectedAppGroup;\r\n const appGroupId = appTileGroupPin.appTileGroup.Id;\r\n allApps?.MoDataList.forEach((c) => {\r\n if (c.Id === appGroupId) {\r\n selectedAppGroup = c;\r\n } else if (!selectedAppGroup) {\r\n selectedAppGroup = c.$Children?.find((child) => child.Id === appGroupId);\r\n }\r\n });\r\n if (selectedAppGroup && selectedAppGroup.$TilesLoaded) {\r\n // let moDataList = selectedAppGroup.AppTiles.MoDataList;\r\n // if (appTileGroups[i].visible)\r\n // selectedAppGroup.AppTiles.MoDataList = [...moDataList, settings[i]];\r\n // else\r\n // selectedAppGroup.AppTiles.MoDataList = moDataList.filter(\r\n // (c) => c.App.Id !== app.Id\r\n // );\r\n this._loadAppTilesOfAppTileGroup(selectedAppGroup, allApps);\r\n }\r\n }\r\n this._nextAllAppTileGroups(allApps);\r\n }\r\n\r\n loadShellbar(): void {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [BarsaApi.LoginFormData.PortalId],\r\n Method: 'LoadShellbarByPortalId',\r\n SuccessFn: (shellbar: MetaobjectDataModel): void => {\r\n this.shellbarSource.next(shellbar);\r\n },\r\n FailFn: (): void => {\r\n // TODO show error\r\n }\r\n });\r\n\r\n // this._portalService\r\n // .ReportExecutePromise('Shellbar')\r\n // .then((moForReportModel) => this.shellbarSource.next(moForReportModel.MoDataList[0]));\r\n }\r\n\r\n _setTileInfo(appTile): void {\r\n {\r\n const title = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Title', null);\r\n appTile.TileTitle = !appTile.Title ? title : appTile.Title;\r\n const subtitle = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Subtitle', null);\r\n appTile.Subtitle = !appTile.Subtitle ? subtitle : appTile.Subtitle;\r\n }\r\n }\r\n\r\n getTileGroups(): MoForReportModel | null {\r\n return this._appTileGroupsSource.getValue();\r\n }\r\n\r\n setEditHome(edit: boolean): void {\r\n this._edithomeSource.next(edit);\r\n }\r\n protected _loadAllAppTileGroupsByReportId(id: string): void {\r\n this._portalService\r\n .ReportExecuteById(id)\r\n .subscribe((allApps) => this._nextAllAppTileGroups(allApps as MoForReportModelBase<AppTileGroup>));\r\n }\r\n protected _loadAllAppTileGroups(): void {\r\n this._portalService\r\n .ReportExecute('AllAppTileGroups')\r\n .subscribe((allApps) => this._nextAllAppTileGroups(allApps as MoForReportModelBase<AppTileGroup>));\r\n }\r\n protected _onApplication_GlobalRefreshTile(_sender, appTilesTitle: string[]): void {\r\n const allApps = this._appTileGroupsSource.getValue();\r\n const appTiles: MetaobjectDataModel[] = [];\r\n if (allApps) {\r\n appTilesTitle.forEach((c) => {\r\n const selectedTile = this.findAppTileWithKey(allApps, 'A_App_AppKey', c);\r\n if (selectedTile) {\r\n appTiles.push(selectedTile);\r\n }\r\n });\r\n this._updateAppTileFromNotification(allApps, appTiles);\r\n this._appTileGroupsSource.next(allApps);\r\n }\r\n }\r\n\r\n protected _updateAppTileFromNotification(\r\n allApps: MoForReportModelBase<AppTileGroup>,\r\n appTiles: MetaobjectDataModel[]\r\n ): void {\r\n if (!appTiles?.length) {\r\n return;\r\n }\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appTiles.map((c) => (c.AppTile?.Id ? c.AppTile?.Id : c.Id))],\r\n Method: 'RefreshAppTiles',\r\n SuccessFn: (result: MoForReportModel) => {\r\n result.MoDataList.forEach((c) => this.updateAppTile(allApps, c));\r\n this._appTileGroupsSource.next({ ...allApps });\r\n },\r\n FailFn: () => {}\r\n });\r\n }\r\n private _allAppsLoaded(moForReportModel: MoForReportModel): void {\r\n moForReportModel.MoDataList.forEach((c) => {\r\n this._prepareNavigator(c);\r\n });\r\n this._setHomeAppTileGroups(moForReportModel.MoDataList as AppTileGroup[]);\r\n }\r\n private _loadAppTilesOfAppTileGroup(selectedAppTilegroup: MetaobjectDataModel, allApps: any): void {\r\n const callback = (): void => {\r\n this._nextAllAppTileGroups(allApps);\r\n };\r\n if (!selectedAppTilegroup.UserAppTileGroupSetting) {\r\n this._loadAppTilesByAppTileGroup(selectedAppTilegroup, callback);\r\n } else {\r\n this._loadAppTilesByAppTileGroupSetting(selectedAppTilegroup, callback);\r\n }\r\n }\r\n private _loadAppTilesByAppTileGroup(appGroup: MetaobjectDataModel, callback: () => void): void {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id],\r\n Method: 'LoadAllAppTilesByAppTileGroup',\r\n SuccessFn: (appTiles: MoForReportModel): void => {\r\n this._updateAppTilesOfAppTileGroup(appGroup, appTiles);\r\n callback();\r\n },\r\n FailFn: (): void => {\r\n // TODO show error\r\n }\r\n });\r\n }\r\n private _updateAppTilesOfAppTileGroup(selectedAppTilegroup: MetaobjectDataModel, appTiles: MoForReportModel): void {\r\n if (this.appTileGroups) {\r\n selectedAppTilegroup = { ...selectedAppTilegroup, $TilesLoaded: true };\r\n appTiles.MoDataList.forEach((element) => {\r\n element.Component = element.A_App_Component ?? element.A_AppTile_App_Component;\r\n element.DynamicCommand = element.A_App_DynamicCommand ?? element.A_AppTile_App_DynamicCommand;\r\n element.Predefined = element.Predefined ?? element.A_AppTile_Predefined;\r\n });\r\n const apptileGroupIndex = this.appTileGroups?.MoDataList.findIndex(\r\n (c) => c.Id === selectedAppTilegroup.Id || c.Id === selectedAppTilegroup.$ParentId\r\n );\r\n selectedAppTilegroup.AppTiles = appTiles;\r\n const tileGroup = this.appTileGroups.MoDataList[apptileGroupIndex];\r\n if (selectedAppTilegroup.$ParentId) {\r\n if (tileGroup.$Children) {\r\n const idOfSubGroup = tileGroup.$Children.findIndex((c) => c.Id === selectedAppTilegroup.Id);\r\n tileGroup.$Children[idOfSubGroup] = selectedAppTilegroup as AppTileGroup;\r\n }\r\n this.appTileGroups.MoDataList[apptileGroupIndex] = { ...tileGroup };\r\n } else {\r\n this.appTileGroups.MoDataList[apptileGroupIndex] = selectedAppTilegroup as AppTileGroup;\r\n }\r\n }\r\n }\r\n private _loadAppTilesByAppTileGroupSetting(appTileGroup: MetaobjectDataModel, callback: () => void): void {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appTileGroup.Id],\r\n Method: 'LoadAllAppTilesByUserAppTileGroupSettings',\r\n SuccessFn: (appTiles: MoForReportModel) => {\r\n this._updateAppTilesOfAppTileGroup(appTileGroup, appTiles);\r\n callback();\r\n },\r\n FailFn: () => {\r\n // TODO show error\r\n }\r\n });\r\n }\r\n\r\n private _nextAllAppTileGroups(newAllApps: MoForReportModelBase<AppTileGroup> | null = null): void {\r\n const allApps = newAllApps ?? this._appTileGroupsSource.getValue();\r\n this._appTileGroupsSource.next(allApps ? { ...allApps } : null);\r\n }\r\n private _setHomeAppTileGroups(appGroups: AppTileGroup[]): void {\r\n let newAppGroups = [...appGroups];\r\n newAppGroups = newAppGroups\r\n .filter((c) => c.Visible)\r\n .sort((a, b) => Number(a.navigatorOrderItem) - Number(b.navigatorOrderItem));\r\n this._homeAppTileGroupsSource.next(newAppGroups);\r\n }\r\n private _saveUserPortalSettings(userPortalSettings: UserPortalSettings): Promise<void> {\r\n return new Promise<void>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [new BarsaApi.Common.MetaObjectWeb(userPortalSettings)],\r\n Method: 'SaveUserPortalSettings',\r\n SuccessFn: () => {\r\n resolve();\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n private _updateAppGroupSetting(appGroup: MetaobjectDataModel, appGroupSetting: MetaobjectDataModel): void {\r\n const allApps = this.appTileGroups;\r\n const selectedAppGroup = allApps?.MoDataList.find((c) => c.Id === appGroup.Id);\r\n if (selectedAppGroup && allApps) {\r\n selectedAppGroup.UserAppTileGroupSetting = appGroupSetting;\r\n this._nextAllAppTileGroups(allApps);\r\n }\r\n }\r\n private findAppTileWithKey(allApps: MoForReportModel, key: string, value: any): MetaobjectDataModel | null {\r\n let selectedTile;\r\n if (typeof value === 'string') {\r\n value = BarsaApi.Common.Util.ReplaceArabicCharchter(value);\r\n }\r\n if (!allApps) {\r\n return null;\r\n }\r\n allApps.MoDataList.forEach((appGroup) => {\r\n if (selectedTile) {\r\n return;\r\n }\r\n selectedTile = appGroup.navigatorTiles.find(\r\n (c) => BarsaApi.Common.Util.TryGetValue(c, key, null) === value\r\n );\r\n appGroup.$Children?.forEach((subGroup) => {\r\n if (selectedTile) {\r\n return;\r\n }\r\n selectedTile = subGroup.navigatorTiles.find(\r\n (c) => BarsaApi.Common.Util.TryGetValue(c, key, null) === value\r\n );\r\n });\r\n });\r\n return selectedTile;\r\n }\r\n private findGroupWithAppTileId(allApps, appTileId: string): MetaobjectDataModel | null {\r\n let selectedGroup;\r\n\r\n if (!allApps) {\r\n return null;\r\n }\r\n allApps.MoDataList.forEach((appGroup) => {\r\n if (selectedGroup) {\r\n return;\r\n }\r\n if (appGroup.navigatorTiles.some((appTile) => appTile.Id === appTileId)) {\r\n selectedGroup = appGroup;\r\n return;\r\n }\r\n appGroup.$Children?.forEach((subGroup) => {\r\n if (subGroup.navigatorTiles.some((appTile) => appTile.Id === appTileId)) {\r\n selectedGroup = subGroup;\r\n return;\r\n }\r\n });\r\n });\r\n return selectedGroup;\r\n }\r\n private _findGroupWithAppGroupId(allApps, appGroupId: string): MetaobjectDataModel | null {\r\n let selectedGroup;\r\n\r\n if (!allApps) {\r\n return null;\r\n }\r\n allApps.MoDataList.forEach((appGroup) => {\r\n if (selectedGroup) {\r\n return;\r\n }\r\n if (appGroup.Id === appGroupId) {\r\n selectedGroup = appGroup;\r\n return;\r\n }\r\n appGroup.$Children?.forEach((subGroup) => {\r\n if (subGroup.Id === appGroupId) {\r\n selectedGroup = subGroup;\r\n return;\r\n }\r\n });\r\n });\r\n return selectedGroup;\r\n }\r\n\r\n private _updateAppTileGroupSettings(\r\n appTileGroup: MetaobjectDataModel,\r\n setting: MetaobjectDataModel\r\n ): MetaobjectDataModel {\r\n appTileGroup.UserAppTileGroupSetting = setting;\r\n\r\n appTileGroup.AppTiles.MoDataList.forEach((e, i) => {\r\n const ex = setting.UserAppTilesSetting.MoDataList.find((c) => c.Id === e.Id);\r\n if (ex) {\r\n appTileGroup.AppTiles.MoDataList[i] = { ...appTileGroup.AppTiles.MoDataList[i], ...ex };\r\n }\r\n });\r\n this._prepareNavigator(appTileGroup);\r\n // this._nextAllAppTileGroups();\r\n return appTileGroup;\r\n }\r\n\r\n private _prepareNavigator(appTileGroup: MetaobjectDataModel): void {\r\n appTileGroup.$TileSettingChanged = false;\r\n appTileGroup.$Disabledpin = false;\r\n appTileGroup.navigatorTitle = BarsaApi.Common.Util.TryGetValue(\r\n appTileGroup,\r\n 'UserAppTileGroupSetting.Title',\r\n appTileGroup.Title\r\n );\r\n appTileGroup.navigatorTitle = appTileGroup.navigatorTitle =\r\n appTileGroup.navigatorTitle === '' ? appTileGroup.Title : appTileGroup.navigatorTitle;\r\n appTileGroup.navigatorTitle = this._bbbTranslatePipe.transform(appTileGroup.navigatorTitle);\r\n const orderItem = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.OrderItem', null);\r\n if (orderItem !== null) {\r\n appTileGroup.navigatorOrderItem = orderItem;\r\n } else {\r\n appTileGroup.navigatorOrderItem = appTileGroup.OrderItem;\r\n }\r\n\r\n const visible = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.Visible', null);\r\n if (visible !== null) {\r\n appTileGroup.navigatorVisible = visible;\r\n } else {\r\n appTileGroup.navigatorVisible = appTileGroup.Visible;\r\n }\r\n\r\n const appTiles = appTileGroup.AppTiles?.MoDataList ?? [];\r\n\r\n appTileGroup.navigatorTiles = appTiles\r\n .filter((c) => c.Visible && !c.IsActionLink)\r\n .sort((a, b) => Number(a.OrderItem) - Number(b.OrderItem));\r\n appTileGroup.navigatorActionLinks = appTiles\r\n .filter((c) => c.Visible && c.IsActionLink)\r\n .sort((a, b) => Number(a.OrderItemActionLink) - Number(b.OrderItemActionLink));\r\n appTileGroup.navigatorTiles.forEach((appTile) => this._setTileInfo(appTile));\r\n appTileGroup.navigatorActionLinks.forEach((appTile) => this._setTileInfo(appTile));\r\n\r\n appTileGroup.$Children?.forEach((subAppTileGroup) => {\r\n this._prepareNavigator(subAppTileGroup);\r\n });\r\n }\r\n}\r\ninterface PinTileInfo {\r\n groups: MetaobjectDataModel[];\r\n visible: boolean[];\r\n tileId: string;\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, Renderer2, inject } from '@angular/core';\r\nimport { AppTileFooter } from './app-tile-footer';\r\n\r\nimport { BaseTileSetting } from './base-tile-setting';\r\nimport { TileSetting } from './tile-setting';\r\nimport { TilePropsComponent } from 'barsa-novin-ray-core';\r\nimport { TilesService } from '../tiles.service';\r\n\r\n@Component({\r\n selector: 'bt-base-tile',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport abstract class BaseTileComponent<T extends BaseTileSetting> extends TilePropsComponent implements OnInit {\r\n \r\n protected _renderer2: Renderer2;\r\n protected _cdr: ChangeDetectorRef;\r\n protected _tilesService = inject(TilesService);\r\n\r\n \r\n get settings(): T {\r\n const data = this.data?.Component?.Settings;\r\n return data ? data : this.parameters as T;\r\n }\r\n get backColor(): string {\r\n return this.settings.TileSetting.BackColor;\r\n }\r\n get title(): string {\r\n return this.data.TileTitle;\r\n }\r\n get subtitle(): string {\r\n return this.data.Subtitle;\r\n }\r\n get double(): boolean {\r\n return this.settings.TileSetting.IsDouble;\r\n }\r\n get badge(): string {\r\n return this.settings.TileSetting.Badge;\r\n }\r\n get footer(): AppTileFooter {\r\n return this.settings.TileSetting.Footer;\r\n }\r\n get tileSetting(): TileSetting {\r\n return this.settings.TileSetting;\r\n }\r\n setEditHome(val: boolean): void {\r\n this.edit = val;\r\n this._cdr.detectChanges();\r\n }\r\n onTileClick(): void {\r\n if (this.context) {\r\n this.context.FireEvent('click', this.context);\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { BaseTileComponent } from './base-tile-component';\r\n\r\nimport { BaseTileSetting } from './base-tile-setting';\r\nimport { filter, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bt-base-bt-tile',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport abstract class BaseBtTileComponent<T extends BaseTileSetting> extends BaseTileComponent<T> implements OnInit {\r\n isDark$ = this._tilesService.isDark$;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._tilesService.componentSettings$\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n filter((c) => c.Id === (this.settings as any).Id)\r\n )\r\n .subscribe((_c) => {\r\n this._cdr.detectChanges();\r\n });\r\n this._renderer2.addClass(this.el.nativeElement, 'barsa-tile');\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\nimport { AppTileFooterSection } from '../models';\r\n@Component({\r\n selector: 'bt-footer-tile,div[bt-footer-tile]',\r\n templateUrl: './footer-tile.component.html',\r\n styleUrls: ['./footer-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FooterTileComponent extends BaseComponent {\r\n @Input() firstSection: AppTileFooterSection;\r\n @Input() secondSection: AppTileFooterSection;\r\n @Input() twoColumn: boolean;\r\n}\r\n","@if (twoColumn) {\r\n<div fd-tile-section>\r\n <fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\r\n</div>\r\n<div fd-tile-section>\r\n <fd-icon fd-tile-refresh [font]=\"secondSection.Icon | sapFont\" [glyph]=\"secondSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ secondSection.Text | bbbTranslate }}</span>\r\n</div>\r\n} @else {\r\n<fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\r\n<span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\r\n}\r\n","import { Directive, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\r\nimport { BaseDirective, IsDarkMode } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[tileStyle]',\r\n standalone: false\r\n})\r\nexport class TileStyleDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy {\r\n @Input() backColor: string; \r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { backColor } = changes;\r\n backColor && this._addBackcolor(backColor.currentValue);\r\n }\r\n\r\n private _addBackcolor(backColor: string): void {\r\n const firstChild = this._el.nativeElement.firstChild;\r\n const isDarkmode = IsDarkMode();\r\n if (backColor && firstChild && !isDarkmode) {\r\n this._renderer2.setStyle(firstChild, 'background-color', `${backColor}`);\r\n this._renderer2.addClass(firstChild, 'customColor');\r\n } else {\r\n this._renderer2.setStyle(firstChild, 'background-color', `${backColor}`);\r\n this._renderer2.removeClass(firstChild, 'customColor');\r\n }\r\n }\r\n}\r\n","import { Directive, Input, HostListener, inject, ChangeDetectorRef, ViewContainerRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { BarsaApi, BaseDirective, LocalStorageService, PreventDefaulEvent } from 'barsa-novin-ray-core';\r\nimport { MaskComponent } from 'barsa-sap-ui';\r\n\r\n@Directive({\r\n selector: '[tileDynCommand]',\r\n standalone: false\r\n})\r\nexport class TileDynamicCommandDirective extends BaseDirective {\r\n @Input() disableClick: boolean;\r\n @Input() edit: boolean;\r\n @Input() dynamicCommand: any;\r\n @Input() title: string;\r\n @Input() setToStorage: boolean;\r\n @Input() navigateBackOnClick: boolean;\r\n runningCommand = false;\r\n _localStorage = inject(LocalStorageService);\r\n _router = inject(Router);\r\n _cdr = inject(ChangeDetectorRef);\r\n _viewContainerRef = inject(ViewContainerRef);\r\n maskComponent: any;\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(ev): boolean {\r\n if (this.edit || this.disableClick || this.runningCommand || !this.dynamicCommand) {\r\n return false;\r\n }\r\n PreventDefaulEvent(ev);\r\n if (this.setToStorage) {\r\n this._localStorage.setItem('ActiveTile', this.title);\r\n }\r\n const command = this.dynamicCommand;\r\n const e = { command, DynamicSetting: null };\r\n this.runningCommand = true;\r\n this._viewContainerRef.createComponent(MaskComponent);\r\n if (this.navigateBackOnClick) {\r\n this._router.navigate(['../']);\r\n setTimeout(() => {\r\n this.executeCommand(command, e);\r\n });\r\n return true;\r\n }\r\n\r\n return this.executeCommand(command, e);\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n private executeCommand(command: any, e: { command: any; DynamicSetting: null }): boolean {\r\n this._cdr.detectChanges();\r\n BarsaApi.Common.CustomCodeManager.RunDynamicCommand(command.Id, e, (res) => {\r\n this.runningCommand = false;\r\n this._viewContainerRef.clear();\r\n // BarsaApi.Bw.Msg.Hide();\r\n if (res && typeof res.Detail !== 'undefined') {\r\n BarsaApi.Bw.Msg.Error(res.message || res.Text);\r\n }\r\n this._cdr.detectChanges();\r\n });\r\n return false;\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input, TemplateRef } from '@angular/core';\r\nimport { TilePropsComponent } from 'barsa-novin-ray-core';\r\nimport { AppTileFooter } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-tile',\r\n templateUrl: './tile.component.html',\r\n styleUrls: ['./tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TileComponent extends TilePropsComponent {\r\n @Input() type: 'feed' | 'launch' | 'kpi';\r\n @Input() footerTemplate: TemplateRef<any>;\r\n @Input() footer: AppTileFooter;\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() subtitle: string;\r\n @Input() isDouble: boolean;\r\n @Input() darkMode: boolean;\r\n @Input() disableClick: boolean;\r\n @Input() edit: boolean;\r\n @Input() dynamicCommand: any;\r\n @Input() backColor: string;\r\n @Input() hideHeader: boolean;\r\n @Input() setToStorage: boolean;\r\n @Input() listMode: boolean;\r\n @Input() navigateBackOnClick: boolean;\r\n \r\n}\r\n","@if(!listMode) {\r\n<fd-tile\r\n [type]=\"type\"\r\n [double]=\"isDouble && deviceSize !== 's' && deviceSize !== 'm'\"\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","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MetaobjectDataModel, BarsaApi } from 'barsa-novin-ray-core';\r\n\r\n@Pipe({\r\n name: 'tileProp',\r\n standalone: false\r\n})\r\nexport class TilePropPipe implements PipeTransform {\r\n transform(data: any, prop: string, parameters?: MetaobjectDataModel): string | any {\r\n if (data) {\r\n if (prop === 'Title') {\r\n let val = data.TileTitle;\r\n if (!val) {\r\n val = BarsaApi.Common.Util.TryGetValue(data, 'Component.Settings.TileSetting.Title', '');\r\n }\r\n if (!val) {\r\n val = BarsaApi.Common.Util.TryGetValue(data, 'Title', '');\r\n }\r\n return val;\r\n }\r\n if (prop === 'Subtitle') {\r\n let val = data.Subtitle;\r\n if (!val) {\r\n val = BarsaApi.Common.Util.TryGetValue(data, 'Component.Settings.TileSetting.Subtitle', '');\r\n }\r\n if (!val) {\r\n val = BarsaApi.Common.Util.TryGetValue(data, 'Subtitle', '');\r\n }\r\n return val;\r\n }\r\n if (prop === 'DynamicCommand') {\r\n return data['DynamicCommand'];\r\n }\r\n if (data.Component && data.Component.Settings) {\r\n const val = data.Component.Settings.TileSetting[prop];\r\n if (typeof val === 'undefined') {\r\n return data.Component.Settings[prop];\r\n }\r\n return val;\r\n }\r\n return '';\r\n }\r\n return parameters ? parameters.TileSetting[prop] : '';\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\nimport { BarsaApi, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\ninterface FormTileSetting extends BaseTileSetting {\r\n RunBlMethod: string;\r\n TypeViewEntity: { Id };\r\n TypeDef: { Id };\r\n}\r\n\r\n@Component({\r\n selector: 'bt-form-tile',\r\n templateUrl: './form-tile.component.html',\r\n styleUrls: ['./form-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FormTileComponent extends BaseBtTileComponent<FormTileSetting> implements OnInit {\r\n newId: string;\r\n params: { moId: string; typeDefId: string; viewId: string };\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const options = {\r\n Parameters: [],\r\n Method: this.settings.RunBlMethod,\r\n SuccessFn: (mo: MetaobjectDataModel) => {\r\n this.params = {\r\n moId: mo.$State === 'New' ? '0' : mo.Id,\r\n typeDefId: this.settings.TypeDef.Id,\r\n viewId: this.settings.TypeViewEntity.Id\r\n };\r\n this._cdr.detectChanges();\r\n },\r\n FailFn: () => {}\r\n };\r\n BarsaApi.Bw.RunBlMethodAsync(options);\r\n }\r\n}\r\n","<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","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n ChangeDetectionStrategy,\r\n Output,\r\n SimpleChanges,\r\n ChangeDetectorRef,\r\n inject\r\n} from '@angular/core';\r\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\r\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bt-tile-group-base',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport abstract class TileGroupBaseComponent<T extends MetaobjectDataModel> extends BaseComponent {\r\n // @Input() settings: any;\r\n @Input() parameters: T;\r\n @Input() appTileGroup: MetaobjectDataModel;\r\n @Input() stackContent: boolean;\r\n @Input() cssStyles: string;\r\n @Input() edit: boolean;\r\n @Input() rtl: boolean;\r\n @Input() isAppTileSubGroup: boolean | undefined;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() isLast: boolean;\r\n\r\n @Output() tilesDropped = new EventEmitter<{\r\n appTileGroup: MetaobjectDataModel;\r\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>;\r\n }>();\r\n @Output() hideAppTileClick = new EventEmitter<MetaobjectDataModel>();\r\n @Output() renameAppTileClick = new EventEmitter<MetaobjectDataModel>();\r\n @Output() toggleGroup = new EventEmitter<MetaobjectDataModel>();\r\n @Output() resetGroup = new EventEmitter<MetaobjectDataModel>();\r\n @Output() deleteGroup = new EventEmitter<MetaobjectDataModel>();\r\n private _cdr = inject(ChangeDetectorRef);\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n let detectChanges = false;\r\n Object.keys(changes).forEach((key) => {\r\n if (!changes[key].firstChange) {\r\n this[key] = changes[key].currentValue;\r\n detectChanges = true;\r\n }\r\n });\r\n if (detectChanges) {\r\n this.detectChanges();\r\n }\r\n }\r\n onDrop(\r\n appTileGroup: MetaobjectDataModel,\r\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>\r\n ): void {\r\n if (!this.edit || appTileGroup.Locked) {\r\n return;\r\n }\r\n this.tilesDropped.emit({ appTileGroup, event });\r\n }\r\n onAppTileHideClick(appTile: MetaobjectDataModel): void {\r\n this.hideAppTileClick.emit(appTile);\r\n }\r\n onAppTileRenameClick(appTile: MetaobjectDataModel): void {\r\n this.renameAppTileClick.emit(appTile);\r\n }\r\n onDelete(appTileGroup: MetaobjectDataModel): void {\r\n this.deleteGroup.emit(appTileGroup);\r\n }\r\n\r\n onToggleShowHide(appTileGroup: MetaobjectDataModel): void {\r\n this.toggleGroup.emit(appTileGroup);\r\n }\r\n\r\n onReset(appTileGroup: MetaobjectDataModel): void {\r\n this.resetGroup.emit(appTileGroup);\r\n }\r\n private detectChanges(): void {\r\n this._cdr.detectChanges();\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { TileComponent } from '../tile/tile.component';\r\n@Component({\r\n selector: 'bt-action-item',\r\n templateUrl: './action-item.component.html',\r\n styleUrls: ['./action-item.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ActionItemComponent extends TileComponent {}\r\n","<div [class.action-item-edit-mode]=\"edit\" class=\"action-item s\">\r\n @if (icon) {\r\n <fd-icon [glyph]=\"icon\"></fd-icon>\r\n }\r\n <h1 fd-tile-title>{{ title }}</h1>\r\n\r\n @if (subtitle) {\r\n <h2 fd-tile-subtitle>{{ subtitle }}</h2>\r\n } @if (edit && !data.Locked) {\r\n <div class=\"buttons\">\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n </div>\r\n }\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</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n inject\r\n} from '@angular/core';\r\n\r\nimport { AbbrevationDeviceSize, getDeviceIsMobile, BaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bt-actions-link',\r\n templateUrl: './actions-link.component.html',\r\n styleUrls: ['./actions-link.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ActionsLinkComponent extends BaseComponent implements OnChanges {\r\n @HostBinding('class.hide') hide;\r\n @Input() actionsLink;\r\n @Input() edit: boolean;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @HostBinding('class') _class = '';\r\n isMobile = getDeviceIsMobile();\r\n\r\n protected _cdr = inject(ChangeDetectorRef);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.hide = this.actionsLink?.length === 0;\r\n this._class = 's';\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { actionsLink } = changes;\r\n if (actionsLink && !actionsLink.firstChange) {\r\n this.hide = actionsLink.currentValue?.length === 0;\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n}\r\n","@for (actionItem of actionsLink; track actionItem.Id) {\r\n<bt-action-item\r\n cdkDrag\r\n [data]=\"actionItem\" \r\n [title]=\"actionItem | tileProp: 'Title'\"\r\n [subtitle]=\"actionItem | tileProp: 'Subtitle'\"\r\n [dynamicCommand]=\"actionItem | tileProp: 'DynamicCommand'\"\r\n [isDouble]=\"actionItem | tileProp: 'IsDouble'\"\r\n [footer]=\"actionItem | tileProp: 'Footer'\"\r\n [icon]=\"actionItem | tileProp: 'Icon'\"\r\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\r\n [mo]=\"actionItem\"\r\n [class.isMobile]=\"isMobile\"\r\n tileDynCommand\r\n [edit]=\"edit\" \r\n [title]=\"actionItem | tileProp: 'Title'\" \r\n [dynamicCommand]=\"actionItem | tileProp: 'DynamicCommand'\"\r\n>\r\n</bt-action-item>\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n ComponentRef,\r\n Directive,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewContainerRef,\r\n inject\r\n} from '@angular/core';\r\nimport { BaseDirective } from 'barsa-novin-ray-core';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { BaseTileComponent, BaseTileSetting } from './models';\r\nimport { AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[tileRenderer]',\r\n standalone: false\r\n})\r\nexport class TileRendererDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy {\r\n @Input() component: {\r\n Module: string;\r\n ModuleFileName: string;\r\n Name: string;\r\n Selector: string;\r\n };\r\n @Input() data: BaseTileSetting;\r\n @Input() groupType: string;\r\n @Input() edit: boolean;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() setToStorage: boolean;\r\n @Input() listMode: boolean;\r\n @Input() navigateBackOnClick: boolean;\r\n @Output() hideClick = new EventEmitter();\r\n @Output() renameClick = new EventEmitter();\r\n private _tileRef: ComponentRef<BaseTileComponent<BaseTileSetting>>;\r\n private _cdr = inject(ChangeDetectorRef);\r\n private _vcr = inject(ViewContainerRef);\r\n private _injector = inject(Injector);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n if (!this.component) {\r\n return;\r\n }\r\n const { Module, ModuleFileName, Name, Selector } = this.component;\r\n this._portalService\r\n .getComponent(Module, ModuleFileName, Name, Selector, this._injector)\r\n .pipe(takeUntil(this._onDestroy$))\r\n .subscribe((componentRef: ComponentRef<BaseTileComponent<BaseTileSetting>>) => {\r\n const instance = componentRef.instance;\r\n instance.data = this.data;\r\n instance.edit = this.edit;\r\n instance.deviceSize = this.deviceSize;\r\n instance.setToStorage = this.setToStorage;\r\n instance.listMode = this.listMode;\r\n instance.groupType = this.groupType;\r\n instance.navigateBackOnClick = this.navigateBackOnClick;\r\n instance.hideClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\r\n this.hideClick.emit();\r\n });\r\n instance.renameClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => this.renameClick.emit());\r\n this._vcr.insert(componentRef.hostView);\r\n this._tileRef = componentRef;\r\n // this._cdr.detectChanges();\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { edit } = changes;\r\n if (edit && !edit.firstChange) {\r\n this._tileRef.instance.setEditHome(edit.currentValue);\r\n }\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this._tileRef) {\r\n this._tileRef.destroy();\r\n }\r\n }\r\n}\r\n","import { Directive, inject, Renderer2, input, InputSignal } from '@angular/core';\r\n\r\nimport { BaseDirective, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[tilesCls]',\r\n standalone: false\r\n})\r\nexport class TileClassDirective extends BaseDirective {\r\n rtl = input(true);\r\n deviceSize = input('s');\r\n appTileGroup: InputSignal<MetaobjectDataModel | undefined> = input();\r\n _renderer2 = inject(Renderer2);\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n if (this.rtl()) {\r\n this._renderer2.addClass(this._el.nativeElement, 'rtl');\r\n } else {\r\n this._renderer2.addClass(this._el.nativeElement, 'ltr');\r\n }\r\n if (this.deviceSize() === 's') {\r\n this._renderer2.addClass(this._el.nativeElement, 's');\r\n }\r\n const y = this.appTileGroup() as AppTileGroupSettings;\r\n\r\n const x =\r\n `tw-w-full tw-grid tw-grid-cols-${y?.ItemCountSM} md:tw-grid-cols-${y.ItemCountMD} lg:tw-grid-cols-${y.ItemCountL}` +\r\n ` xl:tw-grid-cols-${y.ItemCountXL} 2xl:tw-grid-cols-${y.ItemCount2XL} tw-gap-4`;\r\n switch (y.TileGroupType$Caption) {\r\n case 'CardsGroup':\r\n case 'InlineCards': {\r\n x.split(' ').forEach((c) => {\r\n this._renderer2.addClass(this._el.nativeElement, c);\r\n });\r\n break;\r\n }\r\n default: {\r\n // statements;\r\n this._renderer2.addClass(this._el.nativeElement, 'TilesGroup');\r\n break;\r\n }\r\n }\r\n }\r\n}\r\ninterface AppTileGroupSettings extends MetaobjectDataModel {\r\n ItemCount2XL: number;\r\n ItemCountXL: number;\r\n ItemCountL: number;\r\n ItemCountMD: number;\r\n ItemCountSM: number;\r\n TileGroupType$Caption: string;\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { TileGroupBaseComponent } from '../tile-group-base.component';\r\n\r\n@Component({\r\n selector: 'bt-tiles-viewer-group',\r\n templateUrl: './tiles-viewer-group.component.html',\r\n styleUrls: ['./tiles-viewer-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TilesViewerGroupComponent extends TileGroupBaseComponent<MetaobjectDataModel> {\r\n marginRightTile: number | null = null;\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n if (this.deviceSize === 's') {\r\n const t = document.body.clientWidth % 154;\r\n this.marginRightTile = t / 3;\r\n }\r\n }\r\n}\r\n","<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' || deviceSize === 'm'\">\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","import { Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef, inject } from '@angular/core';\r\n\r\nimport { BbbTranslatePipe } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[emptyList]',\r\n standalone: false\r\n})\r\nexport class EmptyListDirective {\r\n private templateRef = inject<TemplateRef<any>>(TemplateRef);\r\n private viewContainer = inject(ViewContainerRef);\r\n private bbbPipe = inject(BbbTranslatePipe);\r\n\r\n @Input() set emptyList(list: any[]) {\r\n if (!list || (!list.length && !this.hasView)) {\r\n const _view = this.viewContainer.createEmbeddedView(this.templateRef);\r\n this.setNoData(_view);\r\n this.hasView = true;\r\n } else if (list && list.length > 0 && this.hasView) {\r\n this.viewContainer.clear();\r\n this.hasView = false;\r\n }\r\n }\r\n private hasView = false;\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n \r\n constructor() {}\r\n\r\n setNoData(view: EmbeddedViewRef<any>): void {\r\n (view.rootNodes[0] as HTMLElement).innerHTML = this.bbbPipe.transform('NoData');\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { AppTileGroupPin } from '../models';\r\n@Component({\r\n selector: 'bt-app-finder-app-list',\r\n templateUrl: './app-finder-app-list.component.html',\r\n styleUrls: ['./app-finder-app-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class AppFinderAppListComponent extends BaseComponent {\r\n @Input() appGroup: MetaobjectDataModel;\r\n @Input() mobile: boolean;\r\n @Input() searchTerm: string;\r\n @Input() pinnedAppInAppTileGroups: { [key: string]: string[] };\r\n\r\n @Output() pinClick = new EventEmitter<MetaobjectDataModel>();\r\n @Output() appTileGroupsPinChange = new EventEmitter<{\r\n appTileGroupsPin: AppTileGroupPin[];\r\n app: MetaobjectDataModel;\r\n }>();\r\n onPinTap(app: MetaobjectDataModel): void {\r\n this.pinClick.emit(app);\r\n }\r\n}\r\n","@if (appGroup) {\r\n<h5 fd-title *emptyList=\"appGroup.Apps\"></h5>\r\n@if ((appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }).length > 0) {\r\n<div class=\"tw-flex tw-gap-3 tw-flex-wrap tw-grid tw-grid-cols-1 md:tw-grid-cols-2 lg:tw-grid-cols-3 xl:tw-grid-cols-4 2xl:tw-grid-cols-5\">\r\n @for (app of appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }; track app; let i = $index) {\r\n <fd-card >\r\n <fd-card-header [dynCommand]=\"app.DynamicCommand\" [mo]=\"app\">\r\n <fd-card-main-header>\r\n @if (app.Icon) {\r\n <fd-avatar [glyph]=\"app.Icon\" size=\"s\" [title]=\"app.Title\"></fd-avatar>\r\n }\r\n <h2 fd-card-title class=\"header-title ellapsis\" [attr.title]=\"app.Title\">\r\n {{ app.Title }}\r\n </h2>\r\n <h3 fd-card-subtitle></h3>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n <fd-card-content>\r\n <button\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups[app.Id]\r\n ? pinnedAppInAppTileGroups[app.Id].length\r\n ? 'emphasized'\r\n : 'standard'\r\n : app.$HasPinned\r\n ? 'emphasized'\r\n : 'standard'\r\n \"\r\n (click)=\"onPinTap(app)\"\r\n ></button>\r\n </fd-card-content>\r\n </fd-card>\r\n }\r\n</div>\r\n} }\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges\r\n} from '@angular/core';\r\n\r\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-app-finder-group',\r\n templateUrl: './app-finder-group.component.html',\r\n styleUrls: ['./app-finder-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class AppFinderGroupComponent extends BaseComponent implements OnChanges {\r\n @Input() appGroups: MetaobjectDataModel[];\r\n @Input() selectedId: string;\r\n @Input() listMode: boolean;\r\n @Output() selectedIdChange = new EventEmitter<string>();\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n if (changes.appGroups && !changes.appGroups.firstChange) {\r\n const appGroups = changes.appGroups.currentValue;\r\n if (appGroups && appGroups.length > 0 && !this.selectedId) {\r\n this.selectedIdChange.emit(appGroups[0].Id);\r\n }\r\n }\r\n }\r\n\r\n OnMenuGroupClick(group: MetaobjectDataModel): void {\r\n this.selectedIdChange.emit(group.Id);\r\n }\r\n OnGroupClick(group: MetaobjectDataModel): void {\r\n this.selectedIdChange.emit(group.Id);\r\n }\r\n}\r\n","@if (listMode) {\r\n<div class=\"app-groups\">\r\n <ul fd-list [selection]=\"true\">\r\n @for (group of appGroups; track group; let i = $index) {\r\n <li fd-list-item [selected]=\"group.Id === selectedId\" (click)=\"OnGroupClick(group)\">\r\n <span fd-list-title>\r\n {{ group.Title }}\r\n </span>\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n} @else { @for (group of appGroups; track group; let i = $index) {\r\n<li fd-menu-item [selected]=\"group.Id === selectedId\">\r\n <a fd-menu-interactive (click)=\"OnMenuGroupClick(group)\">\r\n <span fd-menu-title>\r\n {{ group.Title }}\r\n </span>\r\n </a>\r\n</li>\r\n} }\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ContentDensity } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-app-finder',\r\n templateUrl: './app-finder.component.html',\r\n styleUrls: ['./app-finder.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class AppFinderComponent extends BaseComponent {\r\n @Input() appGroups: MetaobjectDataModel[];\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() sideContentSize: string;\r\n @Input() selectedAppGroup: MetaobjectDataModel;\r\n @Input() selectedAppGroupId: string;\r\n @Input() mobile: boolean;\r\n @Input() contentDensity: ContentDensity = 'compact';\r\n @Input() contentHeight: string;\r\n @Input() pinnedAppInAppTileGroups: { [key: string]: string[] };\r\n @Output() pinClick = new EventEmitter<MetaobjectDataModel>();\r\n @Output() selectedAppGroupIdChange = new EventEmitter<string>();\r\n searchTerm: string;\r\n searchTerm2: string;\r\n\r\n onSearchSubmit(): void {\r\n this.searchTerm = this.searchTerm2;\r\n }\r\n}\r\n","<div class=\"wrapper\">\r\n @if (appGroups) {\r\n <fd-toolbar [fdType]=\"'solid'\">\r\n @if (deviceSize === 's') {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [fdMenu]=\"true\"\r\n [glyph]=\"'menu2'\"\r\n [fdType]=\"'transparent'\"\r\n [fdMenuTrigger]=\"menu\"\r\n [label]=\"selectedAppGroup?.Title\"\r\n ></button>\r\n }\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <fd-input-group\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm2\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n (keydown.enter)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n </fd-toolbar>\r\n <div style=\"display: flex; overflow-y: auto;height:calc(100svh - var(--shellbar-height) - 2.5rem)\">\r\n <div class=\"app-groups\">\r\n @if (deviceSize !== 's') {\r\n <bt-app-finder-group\r\n [appGroups]=\"appGroups\"\r\n [listMode]=\"true\"\r\n [selectedId]=\"selectedAppGroupId\"\r\n (selectedIdChange)=\"selectedAppGroupIdChange.emit($event)\"\r\n >\r\n </bt-app-finder-group>\r\n }\r\n </div>\r\n <bt-app-finder-app-list\r\n [appGroup]=\"selectedAppGroup\"\r\n [mobile]=\"mobile\"\r\n [searchTerm]=\"searchTerm\"\r\n [pinnedAppInAppTileGroups]=\"pinnedAppInAppTileGroups\"\r\n (pinClick)=\"pinClick.emit($event)\"\r\n ></bt-app-finder-app-list>\r\n </div>\r\n <fd-menu\r\n #menu\r\n [mobile]=\"deviceSize === 's'\"\r\n [mobileConfig]=\"{ title: 'Groups' | bbbTranslate, hasCloseButton: true }\"\r\n >\r\n @if (deviceSize === 's') {\r\n <bt-app-finder-group\r\n [appGroups]=\"appGroups\"\r\n [selectedId]=\"selectedAppGroupId\"\r\n (selectedIdChange)=\"menu.close(); selectedAppGroupIdChange.emit($event)\"\r\n >\r\n </bt-app-finder-group>\r\n }\r\n </fd-menu>\r\n } @else {\r\n <bsu-mask></bsu-mask>\r\n }\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, BbbTranslatePipe } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bt-change-app-tile',\r\n templateUrl: './change-app-tile.component.html',\r\n styleUrls: ['./change-app-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ChangeAppTileComponent extends BaseComponent implements OnInit {\r\n title: string;\r\n subtitle: string;\r\n appGroupForm: UntypedFormGroup;\r\n submitted: boolean;\r\n RequiredText: string;\r\n dialogRef = inject(DialogRef);\r\n\r\n private fb = inject(UntypedFormBuilder);\r\n private bbbPipe = inject(BbbTranslatePipe);\r\n constructor() {\r\n super();\r\n const dialogRef = this.dialogRef;\r\n this.title = dialogRef.data.TileTitle;\r\n this.subtitle = dialogRef.data.Subtitle;\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.appGroupForm = this.fb.group({\r\n title: new UntypedFormControl(this.title, [Validators.required]),\r\n subtitle: new UntypedFormControl(this.subtitle)\r\n });\r\n this.RequiredText = this.bbbPipe\r\n .transform(')AlertFieldIsMandatory')\r\n .replace('{0}', this.bbbPipe.transform('Title'));\r\n }\r\n\r\n onSave(): void {\r\n this.submitted = true;\r\n if (this.appGroupForm.valid) {\r\n this.dialogRef.close({ title: this.title, subtitle: this.subtitle });\r\n }\r\n }\r\n}\r\n","<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","import { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { debounceTime, exhaustMap, finalize, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport { DialogService } from '@fundamental-ngx/core';\r\n\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { TilesService } from './tiles.service';\r\nimport { ChangeAppTileComponent } from './change-app-tile/change-app-tile.component';\r\n\r\n@Injectable()\r\nexport class TilesViewerService implements OnDestroy {\r\n viewLoading$: Observable<boolean>;\r\n hideTile$: Observable<MetaobjectDataModel>;\r\n updateAppTileSetting$: Observable<MetaobjectDataModel>;\r\n deleteAppGroup$: Observable<MetaobjectDataModel>;\r\n\r\n protected readonly _onDestroy$: Subject<void> = new Subject<void>();\r\n private dialogService = inject(DialogService);\r\n private tilesService = inject(TilesService, { self: true });\r\n private _hideTileSource = new Subject<MetaobjectDataModel>();\r\n private _updateAppTileSettingSource = new Subject<MetaobjectDataModel>();\r\n private _deleteGroupSource = new Subject<MetaobjectDataModel>();\r\n private _loadAppGroupSource = new Subject<MetaobjectDataModel>();\r\n private _saveAppGroupOrdersSource = new Subject<MetaobjectDataModel[]>();\r\n private saveAppGroupOrders$ = this._saveAppGroupOrdersSource.asObservable();\r\n private _resetAppGroupSource = new Subject<MetaobjectDataModel>();\r\n private resetAppGroup$ = this._resetAppGroupSource.asObservable();\r\n private _hideAppGroupSource = new Subject<MetaobjectDataModel>();\r\n private hideAppGroup$ = this._hideAppGroupSource.asObservable();\r\n private _viewLoadingSource = new BehaviorSubject<boolean>(false);\r\n\r\n constructor() {\r\n this.viewLoading$ = this._viewLoadingSource.asObservable().pipe(debounceTime(200));\r\n this.hideTile$ = this._hideTileSource.asObservable();\r\n this.updateAppTileSetting$ = this._updateAppTileSettingSource.asObservable();\r\n this.deleteAppGroup$ = this._deleteGroupSource.asObservable();\r\n this._loadAppGroupSource\r\n .asObservable()\r\n .pipe(takeUntil(this._onDestroy$))\r\n .subscribe((group) => {\r\n this.tilesService.loadAppTileGroups(group);\r\n });\r\n this.hideTile$\r\n .pipe(\r\n tap(() => this.setLoading()),\r\n takeUntil(this._onDestroy$),\r\n exhaustMap((appTile) =>\r\n this.tilesService\r\n .singlePinTileChanged(appTile.AppTile ? appTile.AppTile.Id : appTile.Id)\r\n .pipe(finalize(() => this.setLoaded()))\r\n ),\r\n finalize(() => this.setLoaded())\r\n )\r\n .subscribe();\r\n\r\n this.updateAppTileSetting$\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n tap(() => this.setLoading()),\r\n exhaustMap((appTile) =>\r\n this.tilesService.changeAppTileSetting(appTile).pipe(\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n ),\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n .subscribe();\r\n\r\n this.deleteAppGroup$\r\n .pipe(\r\n tap(() => this.setLoading()),\r\n takeUntil(this._onDestroy$),\r\n exhaustMap((appGroup) =>\r\n this.tilesService.deleteAppGroup(appGroup).pipe(\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n )\r\n )\r\n .subscribe();\r\n\r\n this.resetAppGroup$\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n tap(() => this.setLoading()),\r\n exhaustMap((appGroup) =>\r\n this.tilesService.resetAppGroupSetting(appGroup).pipe(\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n ),\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n .subscribe();\r\n\r\n this.hideAppGroup$\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n tap(() => this.setLoading()),\r\n exhaustMap((appGroup) =>\r\n this.tilesService.toggleAppGroupSettingVisible(appGroup).pipe(\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n ),\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n .subscribe();\r\n\r\n this.saveAppGroupOrders$\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n tap(() => this.setLoading()),\r\n exhaustMap((appGroups) =>\r\n this.tilesService.saveAppGroupOrders(appGroups).pipe(\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n ),\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n .subscribe();\r\n }\r\n loadAllAppTileGroupsByReportId(id: string): void {\r\n this.tilesService.loadAllAppTileGroupsByReportId(id);\r\n }\r\n loadAllAppTileGroups(): void {\r\n this.tilesService.loadAllAppTileGroups();\r\n }\r\n get selectedAppGroupId(): string {\r\n return localStorage.getItem('selectedTab') ?? '';\r\n }\r\n set selectedAppGroupId(groupId: string) {\r\n localStorage.setItem('selectedTab', groupId);\r\n }\r\n setSelectedTab(group: MetaobjectDataModel): void {\r\n this.selectedAppGroupId = group.Id;\r\n }\r\n loadAppTileGroup(group: MetaobjectDataModel): void {\r\n this._loadAppGroupSource.next(group);\r\n }\r\n ngOnDestroy(): void {\r\n this._onDestroy$.next();\r\n }\r\n\r\n openRenameForm(appTile: MetaobjectDataModel): void {\r\n const newGroupDialogRef = this.dialogService.open(ChangeAppTileComponent, {\r\n data: appTile,\r\n verticalPadding: true,\r\n responsivePadding: true\r\n });\r\n\r\n newGroupDialogRef.afterClosed.subscribe((setting) => {\r\n if (setting) {\r\n const newAppTile = { ...appTile };\r\n newAppTile.Title = newAppTile.TileTitle = setting.title;\r\n newAppTile.Subtitle = setting.subtitle;\r\n this._updateAppTileSettingSource.next(newAppTile);\r\n }\r\n });\r\n }\r\n resetAppGroup(appGroup: MetaobjectDataModel): void {\r\n this._resetAppGroupSource.next(appGroup);\r\n }\r\n toggleAppGroupSettingVisible(appGroup: MetaobjectDataModel): void {\r\n this._hideAppGroupSource.next(appGroup);\r\n }\r\n\r\n deleteAppGroup(appGroup: MetaobjectDataModel): void {\r\n this._deleteGroupSource.next(appGroup);\r\n }\r\n hideTile(appTile: MetaobjectDataModel): void {\r\n this._hideTileSource.next(appTile);\r\n }\r\n saveAppGroupOrders(appGroups: MetaobjectDataModel[]): void {\r\n this._saveAppGroupOrdersSource.next(appGroups);\r\n }\r\n\r\n setLoaded(): void {\r\n this._viewLoadingSource.next(false);\r\n }\r\n setLoading(): void {\r\n this._viewLoadingSource.next(true);\r\n }\r\n}\r\n","import { CdkDragDrop } from '@angular/cdk/drag-drop';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n inject,\r\n Input,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\nimport {\r\n BaseComponent,\r\n MetaobjectDataModel,\r\n BarsaApi,\r\n AbbrevationDeviceSize,\r\n SaveScrollPositionService\r\n} from 'barsa-novin-ray-core';\r\nimport { Nullable } from '@fundamental-ngx/core';\r\nimport {\r\n IconTabBarComponent,\r\n IconTabBarItem,\r\n IconTabBarTabComponent,\r\n SemanticColor,\r\n TabType\r\n} from '@fundamental-ngx/platform';\r\n\r\n@Component({\r\n selector: 'bt-tiles-viewer',\r\n templateUrl: './tiles-viewer.component.html',\r\n styleUrls: ['./tiles-viewer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TilesViewerComponent extends BaseComponent implements OnInit {\r\n @ViewChild(IconTabBarComponent) tabListComponent: IconTabBarComponent;\r\n @HostBinding('class.page-content') pageContentClass = true;\r\n @HostBinding('class.tiles-viewer') _cls = true;\r\n @Input() appTileGroups: Array<MetaobjectDataModel>;\r\n @Input() loading: boolean;\r\n @Input() edit: boolean;\r\n @Input() rtl: boolean;\r\n @Input() defaultTab: string;\r\n @Input() tabsBackColor: string;\r\n @Input() stackContent: boolean;\r\n @Input() iconTabType: TabType;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() selectedAppGroupId: string;\r\n @Input() DynamicComponents: any;\r\n\r\n @Output() stackContentChange = new EventEmitter<boolean>();\r\n @Output() closeEditHome = new EventEmitter();\r\n @Output() save = new EventEmitter();\r\n @Output() listDropped = new EventEmitter<{\r\n appTileGroups: MetaobjectDataModel[];\r\n event: CdkDragDrop<MetaobjectDataModel[]>;\r\n }>();\r\n @Output() tabChanged = new EventEmitter<{\r\n firstSelected: boolean;\r\n selectedTabTitle: string;\r\n tabPanels: IconTabBarTabComponent[];\r\n appTileGroups: MetaobjectDataModel[];\r\n tabbarComponent: IconTabBarComponent;\r\n }>();\r\n\r\n @Output() toggleGroup = new EventEmitter<MetaobjectDataModel>();\r\n @Output() resetGroup = new EventEmitter<MetaobjectDataModel>();\r\n @Output() deleteGroup = new EventEmitter<MetaobjectDataModel>();\r\n @Output() hideAppTileClick = new EventEmitter<MetaobjectDataModel>();\r\n @Output() renameAppTileClick = new EventEmitter<MetaobjectDataModel>();\r\n\r\n @Output() tilesDropped = new EventEmitter<{\r\n appTileGroup: MetaobjectDataModel;\r\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>;\r\n }>();\r\n\r\n @HostBinding('attr.rtl') _rtl = BarsaApi.LoginFormData.IsRtl;\r\n selectedTabTitle: Nullable<string>;\r\n selectedTabId: string;\r\n _tilesIntersection: any;\r\n color: SemanticColor = 'default';\r\n id = 'tilesviewer';\r\n\r\n defaultTileGroupComponent = {\r\n Id: '',\r\n $Caption: '',\r\n Module: 'BarsaTiles',\r\n ModuleFileName: '',\r\n Name: 'TilesViewerGroup',\r\n Selector: 'bt-tiles-viewer-group'\r\n };\r\n protected _cdr = inject(ChangeDetectorRef);\r\n protected _saveScrollPosition = inject(SaveScrollPositionService);\r\n protected _firstSelected = true;\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n if (this.tabListComponent) {\r\n this.tabListComponent._disableScrollSpy = true;\r\n }\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n }\r\n onSelectedTabChange(selectedTab: IconTabBarItem): void { \r\n if (!this.selectedTabTitle) {\r\n this._firstSelected = false;\r\n }\r\n const selectedTabTitle = (selectedTab.label as string) || '';\r\n this.selectedTabTitle = selectedTabTitle;\r\n if (this._firstSelected) {\r\n const tab = this.appTileGroups.find((c) => c.Id === this.defaultTab);\r\n if (tab) {\r\n if (!this.tabListComponent) {\r\n setTimeout(() => {\r\n this._selectTab(tab.Id);\r\n });\r\n } else {\r\n this._selectTab(tab.Id);\r\n }\r\n // return;\r\n }\r\n }\r\n setTimeout(() => {\r\n this.tabChanged.emit({\r\n firstSelected: this._firstSelected,\r\n selectedTabTitle,\r\n tabPanels: this.tabListComponent.children() as any,\r\n appTileGroups: this.appTileGroups,\r\n tabbarComponent: this.tabListComponent\r\n });\r\n });\r\n }\r\n onDropGroup(appTileGroups: MetaobjectDataModel[], event: CdkDragDrop<MetaobjectDataModel[]>): void {\r\n if (!this.edit) {\r\n return;\r\n }\r\n this.listDropped.emit({ appTileGroups, event });\r\n }\r\n onDrop($event): void {\r\n this.tilesDropped.emit($event);\r\n }\r\n onStackContentChanged(checked): void {\r\n this.stackContentChange.emit(checked);\r\n }\r\n onExitEditHome(appGroups: MetaobjectDataModel[]): void {\r\n this.save.emit(appGroups);\r\n }\r\n onCloseEditHome(): void {\r\n this.closeEditHome.emit();\r\n }\r\n _trackById(index, item): string | number {\r\n return item ? item.Id : index;\r\n }\r\n protected _selectTab(tabId: string): void {\r\n if (this.tabListComponent) {\r\n this.tabListComponent.selectTab(tabId);\r\n }\r\n }\r\n}\r\n","<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 [fixTabMore]=\"tabListComponent\"\r\n [iconTabType]=\"iconTabType || 'text'\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\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","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'semanticColorToButtonColor',\r\n standalone: false\r\n})\r\nexport class SemantiToButtonColorPipe implements PipeTransform {\r\n transform(semantic: string): string {\r\n switch (semantic) {\r\n case 'informative':\r\n return 'ghost';\r\n case 'critical':\r\n return 'attention';\r\n }\r\n return 'standard';\r\n }\r\n}\r\n","import { Pipe, PipeTransform, inject } from '@angular/core';\r\nimport { ExecuteDynamicCommand, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { MegaMenuGroup } from 'barsa-sap-ui';\r\nimport { SemantiToButtonColorPipe } from './semantic-to-button-color.pipe';\r\nimport { TilePropPipe } from './pipes/tile-prop.pipe';\r\n\r\n@Pipe({\r\n name: 'megamenu',\r\n standalone: false\r\n})\r\nexport class MegamenuPipe implements PipeTransform {\r\n private _semanticToButtonColor = inject(SemantiToButtonColorPipe);\r\n private _tilePropPipe = inject(TilePropPipe);\r\n transform(appTileGroups: MetaobjectDataModel[]): MegaMenuGroup[] {\r\n if (!Array.isArray(appTileGroups)) {\r\n return [];\r\n }\r\n const t = <Array<AppTileGroup>>appTileGroups;\r\n\r\n return t.map((group) => ({\r\n id: group.Id,\r\n title: group.navigatorTitle,\r\n icon: group.IconFont,\r\n iconImage: group.IconImage?.Url,\r\n routePath: group.RoutePath,\r\n data: group,\r\n color: this._semanticToButtonColor.transform(group.Color?.$Caption || 'default'),\r\n children: group.$Children ? this.transform(group.$Children) : [],\r\n items: (group.navigatorTiles || []).map((tile) => ({\r\n id: tile.Id,\r\n title: this._tilePropPipe.transform(tile, 'Title'),\r\n subtitle: this._tilePropPipe.transform(tile, 'Subtitle'),\r\n icon: tile.Component?.Settings?.Icon,\r\n iconImage: tile.Component?.Settings?.IconImage?.Url,\r\n command: tile.DynamicCommand,\r\n handleClick: (item) => {\r\n ExecuteDynamicCommand(item.command, item);\r\n }\r\n }))\r\n }));\r\n }\r\n}\r\ninterface AppTileGroup extends MetaobjectDataModel {\r\n Id: string;\r\n navigatorTitle: string;\r\n data: any;\r\n RoutePath?: string;\r\n IconFont?: string;\r\n Color?: { $Caption: string };\r\n $Children?: AppTileGroup[];\r\n navigatorTiles?: AppTile[];\r\n}\r\n\r\ninterface AppTile {\r\n Id: string;\r\n Component?: { Settings?: { Icon?: string; IconImage?: { Url: string } } };\r\n Title: string;\r\n Subtitle?: string;\r\n DynamicCommand?: any;\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostBinding,\r\n inject,\r\n Input,\r\n OnInit,\r\n ViewChild,\r\n EventEmitter,\r\n Output\r\n} from '@angular/core';\r\n\r\nimport {\r\n BaseComponent,\r\n MetaobjectDataModel,\r\n BarsaApi,\r\n AbbrevationDeviceSize,\r\n DynamicRootVariableDirective,\r\n ShellbarHeightService\r\n} from 'barsa-novin-ray-core';\r\nimport { SemanticColor } from '@fundamental-ngx/platform';\r\nimport { MegaMenuGroup } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bt-tiles-viewer-megamenu',\r\n templateUrl: './tiles-viewer-megamenu.component.html',\r\n styleUrls: ['./tiles-viewer-megamenu.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TilesViewerMegamenuComponent extends BaseComponent implements OnInit {\r\n @ViewChild('cssRootVariable') _cssRootVariable: DynamicRootVariableDirective;\r\n @HostBinding('class.tiles-viewer') _cls = true;\r\n @Input() appTileGroups: Array<MetaobjectDataModel>;\r\n @Input() loading: boolean;\r\n @Input() rtl: boolean;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() selectedAppGroupId: string;\r\n @Input() DynamicComponents: any;\r\n @HostBinding('attr.rtl') _rtl = BarsaApi.LoginFormData.IsRtl;\r\n @Output() loadAppTileGroup = new EventEmitter<MetaobjectDataModel>();\r\n\r\n color: SemanticColor = 'default';\r\n id = 'tilesviewer';\r\n openMenu: number | null = null;\r\n isOpen = false;\r\n defaultTileGroupComponent = {\r\n Id: '',\r\n $Caption: '',\r\n Module: 'BarsaTiles',\r\n ModuleFileName: '',\r\n Name: 'TilesViewerGroup',\r\n Selector: 'bt-tiles-viewer-group'\r\n };\r\n protected _cdr = inject(ChangeDetectorRef);\r\n private _shellbarHeightServcie = inject(ShellbarHeightService);\r\n /**\r\n *\r\n */\r\n constructor() {\r\n super();\r\n this._shellbarHeightServcie.add('var(--megamenu-height)');\r\n }\r\n onGroupVisibilityChange(e: { visibility: string; menu: MegaMenuGroup }): void {\r\n if (e.visibility === 'Visible') {\r\n this.loadAppTileGroup.emit(e.menu.data);\r\n console.log(e.menu.data); \r\n }\r\n }\r\n\r\n _trackById(index, item): string | number {\r\n return item ? item.Id : index;\r\n }\r\n}\r\n","<bsu-barsa-megamenu [menuGroups]=\"appTileGroups | megamenu\" (visibilityChange)=\"onGroupVisibilityChange($event)\"></bsu-barsa-megamenu>\r\n","import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\r\nimport { ChangeDetectionStrategy, Component, inject, OnDestroy, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil, map, distinctUntilChanged, withLatestFrom } from 'rxjs/operators';\r\n\r\nimport { BaseComponent, MetaobjectDataModel, PortalService, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\nimport { TilesService } from '../tiles.service';\r\nimport { TilesViewerService } from '../tiles-viewer.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IconTabBarComponent, IconTabBarTabComponent } from '@fundamental-ngx/platform';\r\n\r\n@Component({\r\n selector: 'bt-tiles-viewer-container',\r\n templateUrl: './tiles-viewer-container.component.html',\r\n styleUrls: ['./tiles-viewer-container.component.scss'],\r\n providers: [TilesViewerService, TilesService],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TilesViewerContainerComponent extends BaseComponent implements OnInit, OnDestroy {\r\n settings: TileViewerContainerSettings;\r\n appTileGroups$: Observable<MetaobjectDataModel[]>;\r\n viewLoading$: Observable<boolean>;\r\n deviceSize$: Observable<AbbrevationDeviceSize>;\r\n edit$: Observable<boolean>;\r\n changedOrder = false;\r\n userStackContent = false;\r\n initialStackContentValue = false;\r\n userPortalSettings: MetaobjectDataModel;\r\n stackContent$: Observable<boolean>;\r\n firstSelected = false;\r\n rtl$: Observable<boolean>;\r\n selectedAppGroupId: string;\r\n stackContent = false;\r\n protected _activatedRoute = inject(ActivatedRoute);\r\n protected _router = inject(Router);\r\n protected _portalService = inject(PortalService);\r\n protected _tilesService = inject(TilesService);\r\n protected _tilesViewerService = inject(TilesViewerService);\r\n constructor() {\r\n super();\r\n this.stackContent$ = this._portalService.userPortalSettings$.pipe(\r\n takeUntil(this._onDestroy$),\r\n map((settings: Record<string, MetaobjectDataModel>) => settings['UserPortalSettings']),\r\n map((settings: MetaobjectDataModel) => settings?.TilesStackContent),\r\n distinctUntilChanged()\r\n );\r\n this.stackContent$.subscribe((stackContent) => {\r\n this.initialStackContentValue = this.userStackContent = stackContent;\r\n if (stackContent) {\r\n this.stackContent = stackContent;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n if (this.settings.MetaReportTiles?.Id) {\r\n this._tilesViewerService.loadAllAppTileGroupsByReportId(this.settings.MetaReportTiles?.Id);\r\n } else {\r\n this._tilesViewerService.loadAllAppTileGroups();\r\n }\r\n this.viewLoading$ = this._tilesViewerService.viewLoading$;\r\n\r\n this.selectedAppGroupId = this._tilesViewerService.selectedAppGroupId;\r\n this.rtl$ = this._portalService.rtl$;\r\n this.deviceSize$ = this._portalService.deviceSize$;\r\n this.edit$ = this._tilesService.edit$;\r\n this.appTileGroups$ = this._tilesService.homeAppTileGroups$;\r\n this.appTileGroups$.pipe(withLatestFrom(this.stackContent$)).subscribe(([tiles, stackContent]) => {\r\n if (tiles && stackContent) {\r\n tiles.forEach((c) => {\r\n this.loadAppTileGroup(c);\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n this._tilesService.setEditHome(false);\r\n }\r\n onSelectedTabChange(e: {\r\n firstSelected: boolean;\r\n selectedTabTitle: string;\r\n tabPanels: IconTabBarTabComponent[];\r\n appTileGroups: MetaobjectDataModel[];\r\n tabbarComponent: IconTabBarComponent;\r\n }): void {\r\n const { firstSelected, selectedTabTitle, appTileGroups: appGroups, tabPanels, tabbarComponent } = e;\r\n\r\n let appTileGroup: MetaobjectDataModel | undefined;\r\n if (this.stackContent) {\r\n return;\r\n }\r\n if (firstSelected) {\r\n const lastSelectedAppGroupId = this._tilesViewerService.selectedAppGroupId;\r\n if (lastSelectedAppGroupId) {\r\n appTileGroup = appGroups.find((c) => c.Id === lastSelectedAppGroupId);\r\n if (appTileGroup) {\r\n const lastTab = tabPanels.find((c) => c.label === appTileGroup?.navigatorTitle);\r\n if (lastTab && selectedTabTitle !== lastTab.label()) {\r\n appTileGroup = appGroups.find((c) => c.Id === lastSelectedAppGroupId);\r\n tabbarComponent.selectTab(lastTab.id());\r\n }\r\n return;\r\n }\r\n }\r\n }\r\n if (!appTileGroup) {\r\n appTileGroup = appGroups.find((c) => c.navigatorTitle === selectedTabTitle);\r\n }\r\n if (appTileGroup) {\r\n this._tilesViewerService.setSelectedTab(appTileGroup);\r\n this.loadAppTileGroup(appTileGroup);\r\n }\r\n }\r\n onLoadAppTileGroup(appTileGroup: MetaobjectDataModel): void {\r\n this.loadAppTileGroup(appTileGroup);\r\n }\r\n onDropGroup(e: { appTileGroups: MetaobjectDataModel[]; event: CdkDragDrop<MetaobjectDataModel[]> }): void {\r\n const { event, appTileGroups: appGroups } = e;\r\n\r\n moveItemInArray(appGroups, event.previousIndex, event.currentIndex);\r\n\r\n this.changedOrder = true;\r\n // this.saveOrderAppTiles(allApps, group);\r\n }\r\n onDrop(e: { appTileGroup; event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }> }): void {\r\n const { appTileGroup: group, event } = e;\r\n const previousContainer = event.previousContainer;\r\n const container = event.container;\r\n const containerIsTile = container.data.isTile;\r\n const previousItems = previousContainer.data.items;\r\n const containerItems = container.data.items;\r\n const { previousIndex, currentIndex } = event;\r\n if (previousContainer === container) {\r\n moveItemInArray(previousItems, previousIndex, currentIndex);\r\n if (containerIsTile) {\r\n this._saveOrderAppTiles(group);\r\n } else {\r\n this._saveOrderActionLinks(group);\r\n }\r\n } else {\r\n transferArrayItem(previousItems, containerItems, previousIndex, currentIndex);\r\n const appTileIdTransferedId = containerItems[currentIndex]?.AppTile?.Id ?? containerItems[currentIndex].Id;\r\n if (containerIsTile) {\r\n this._saveOrderActionLinks(group);\r\n this._saveOrderAppTiles(group, appTileIdTransferedId);\r\n } else {\r\n this._saveOrderAppTiles(group);\r\n this._saveOrderActionLinks(group, appTileIdTransferedId);\r\n }\r\n }\r\n }\r\n onStackContentChanged(checked): void {\r\n this.userStackContent = checked;\r\n }\r\n\r\n onExitEditHome(appTileGroups: MetaobjectDataModel[]): void {\r\n if (this.changedOrder) {\r\n this._tilesViewerService.saveAppGroupOrders(appTileGroups);\r\n this.changedOrder = false;\r\n }\r\n if (this.userStackContent !== this.initialStackContentValue) {\r\n this._tilesService.saveTilesStackContent(this.userStackContent);\r\n }\r\n this._setEditHome(false);\r\n }\r\n onCloseEditHome(): void {\r\n this._setEditHome(false);\r\n }\r\n\r\n onDelete(appTileGroup: MetaobjectDataModel): void {\r\n this._tilesViewerService.deleteAppGroup(appTileGroup);\r\n }\r\n\r\n onToggleShowHide(appTileGroup: MetaobjectDataModel): void {\r\n this._tilesViewerService.toggleAppGroupSettingVisible(appTileGroup);\r\n }\r\n\r\n onReset(appTileGroup: MetaobjectDataModel): void {\r\n this._tilesViewerService.resetAppGroup(appTileGroup);\r\n }\r\n onHideAppTile(appTile: MetaobjectDataModel): void {\r\n this._tilesViewerService.hideTile(appTile);\r\n }\r\n onRenameAppTile(appTile: MetaobjectDataModel): void {\r\n this._tilesViewerService.openRenameForm(appTile);\r\n }\r\n loadAppTileGroup(appTileGroup: MetaobjectDataModel): void {\r\n this._tilesViewerService.loadAppTileGroup(appTileGroup);\r\n }\r\n private _setEditHome(val): void {\r\n this._tilesService.setEditHome(val);\r\n }\r\n\r\n private _saveOrderAppTiles(appTileGroup: MetaobjectDataModel, appTileIdTransferedId: string = '0'): void {\r\n const appTiles = appTileGroup.navigatorTiles.map((appTile) =>\r\n appTile.AppTile ? appTile.AppTile.Id : appTile.Id\r\n );\r\n this._tilesService.saveOrderAppTiles(appTileGroup, appTiles, false, appTileIdTransferedId);\r\n }\r\n\r\n private _saveOrderActionLinks(appTileGroup: MetaobjectDataModel, appTileIdTransferedId: string = '0'): void {\r\n const actionLinks = appTileGroup.navigatorActionLinks.map((appTile) =>\r\n appTile.AppTile ? appTile.AppTile.Id : appTile.Id\r\n );\r\n this._tilesService.saveOrderAppTiles(appTileGroup, actionLinks, true, appTileIdTransferedId);\r\n }\r\n}\r\ninterface TileViewerContainerSettings extends MetaobjectDataModel {\r\n HideTabs: boolean;\r\n CenterContent?: boolean;\r\n BoxShadow?: boolean;\r\n TabsBackColor?: string;\r\n DisplayMode$Caption?: string;\r\n MetaReportTiles?: MetaobjectDataModel;\r\n}\r\n","@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n settings.DisplayMode$Caption === 'تب بندی' ? 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","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent } from '../models';\r\nimport { MicroTileChartBulletSetting } from '../models/micro-tile-chart-bullet-setting';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-bullet',\r\n templateUrl: './micro-tile-chart-bullet.component.html',\r\n styleUrls: ['./micro-tile-chart-bullet.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartBulletComponent extends BaseBtTileComponent<MicroTileChartBulletSetting> implements OnInit {\r\n target: number;\r\n value: number;\r\n range: number;\r\n forecast: number;\r\n suffix: string;\r\n separatorLines: number;\r\n isDelta: boolean;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.target = this.settings.Target;\r\n this.value = this.settings.Value;\r\n this.range = this.settings.Range;\r\n this.forecast = this.settings.Forecast;\r\n this.suffix = this.settings.Suffix;\r\n this.separatorLines = this.settings.SeparatorLines;\r\n this.isDelta = this.settings.IsDelta;\r\n }\r\n}\r\n","<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","import { Component, ChangeDetectionStrategy, ViewChild, OnInit } from '@angular/core';\r\nimport { interval } from 'rxjs';\r\nimport { tap, takeUntil } from 'rxjs/operators';\r\nimport { CarouselComponent, CarouselItemComponent } from '@fundamental-ngx/core';\r\n\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { BaseBtTileComponent, NewsTileSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-news-tile',\r\n templateUrl: './news-tile.component.html',\r\n styleUrls: ['./news-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class NewsTileComponent extends BaseBtTileComponent<NewsTileSetting> implements OnInit {\r\n @ViewChild(CarouselComponent) carouselComponent: CarouselComponent;\r\n slides: MetaobjectDataModel[];\r\n activeNews: MetaobjectDataModel;\r\n isStop = false;\r\n\r\n get twoColumn(): boolean {\r\n return this.footer.TwoColumn;\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const slides = this.settings.Report.MoDataList;\r\n\r\n if (slides.length) {\r\n this._updateTile(slides[0]);\r\n interval(5000)\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n tap(() => {\r\n if (!this.isStop) {\r\n this.carouselComponent.next();\r\n }\r\n })\r\n )\r\n .subscribe();\r\n }\r\n this.slides = slides;\r\n }\r\n\r\n slideChange(activeSlide: { activeItems: CarouselItemComponent[] }): void {\r\n const currentSlide = activeSlide.activeItems[0].value;\r\n this._updateTile(currentSlide);\r\n }\r\n\r\n private _updateTile(newsMo: MetaobjectDataModel): void {\r\n this.activeNews = newsMo;\r\n }\r\n}\r\n","<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 />\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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { ComparisonItem } from 'barsa-echarts';\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-comparison',\r\n templateUrl: './micro-tile-chart-comparison.component.html',\r\n styleUrls: ['./micro-tile-chart-comparison.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartComparisonComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n chartData: ComparisonItem = {\r\n data: [\r\n { value: 5, color: '#de890d', label: 'تاخیر' },\r\n {\r\n value: 45,\r\n color: '#dc0d0e',\r\n label: 'هم اکنون'\r\n },\r\n { value: 100, color: '#3fa45b', label: 'به موقع' }\r\n ],\r\n suffix: '%'\r\n };\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { StackbarItem } from 'barsa-echarts';\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-stackbar',\r\n templateUrl: './micro-tile-chart-stackbar.component.html',\r\n styleUrls: ['./micro-tile-chart-stackbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartStackbarComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n charData: StackbarItem = {\r\n data: [\r\n { value: 20, color: '#3fa45b' },\r\n { value: 30, color: '#e9730c' },\r\n { value: 50, color: '#dc0d0e' }\r\n ],\r\n suffix: '%'\r\n };\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { LineItem } from 'barsa-echarts';\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-line',\r\n templateUrl: './micro-tile-chart-line.component.html',\r\n styleUrls: ['./micro-tile-chart-line.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartLineComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n chartData: LineItem = {\r\n data: [\r\n { value: 2, label: '1 آبان' },\r\n { value: 4, label: 'آبان 20' },\r\n {\r\n value: 3,\r\n label: 'آبان 27'\r\n },\r\n { value: 5, label: 'آبان 30' }\r\n ],\r\n color: '',\r\n suffix: 'M'\r\n };\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\n@Component({\r\n selector: 'bt-micro-tile-chart-circular',\r\n templateUrl: './micro-tile-chart-circular.component.html',\r\n styleUrls: ['./micro-tile-chart-circular.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartCircularComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n chartData = 70;\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\nimport { AreaChart } from 'barsa-echarts';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-area',\r\n templateUrl: './micro-tile-chart-area.component.html',\r\n styleUrls: ['./micro-tile-chart-area.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartAreaComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n chartData: AreaChart = {\r\n areas: [\r\n { data: [2.5, 2.5, 2.5, 2.5], color: '#3fa45b' },\r\n {\r\n data: [2, 2, 2, 2],\r\n color: '#e9730c'\r\n },\r\n { data: [1.5, 1.5, 1.5, 1.5], color: '#dc0d0e' }\r\n ],\r\n\r\n line: {\r\n data: [\r\n { value: 2, label: 'june 1' },\r\n { value: 4, label: 'june 20' },\r\n { value: 3, label: 'june 27' },\r\n { value: 5, label: 'june 30' }\r\n ],\r\n suffix: 'M'\r\n },\r\n firstValueColor: '#3fa45b',\r\n lastValueColor: '#dc0d0e'\r\n };\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BaseBtTileComponent, ChartTileSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-bar',\r\n templateUrl: './micro-tile-chart-bar.component.html',\r\n styleUrls: ['./micro-tile-chart-bar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartBarComponent extends BaseBtTileComponent<ChartTileSetting> {}\r\n","<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","import { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, BbbTranslatePipe } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bt-create-app-group',\r\n templateUrl: './create-app-group.component.html',\r\n styleUrls: ['./create-app-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CreateAppGroupComponent extends BaseComponent implements OnInit {\r\n dialogRef = inject(DialogRef);\r\n title: string;\r\n appGroupForm: UntypedFormGroup;\r\n submitted: boolean;\r\n RequiredText: string;\r\n\r\n private bbbPipe = inject(BbbTranslatePipe);\r\n private fb = inject(UntypedFormBuilder);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.appGroupForm = this.fb.group({\r\n title: new UntypedFormControl(this.title, [Validators.required])\r\n });\r\n const mandatoryFieldText = this.bbbPipe.transform('AlertFieldIsMandatory');\r\n const titleText = this.bbbPipe.transform('Title');\r\n this.RequiredText = mandatoryFieldText.replace('{0}', titleText);\r\n }\r\n\r\n onSave(): void {\r\n this.submitted = true;\r\n if (this.appGroupForm.valid) {\r\n this.dialogRef.close(this.title);\r\n }\r\n }\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component, Input, OnInit, inject } from '@angular/core';\r\nimport { DialogRef, DialogService } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, BarsaApi, MetaobjectDataModel, BbbTranslatePipe } from 'barsa-novin-ray-core';\r\n\r\nimport { CreateAppGroupComponent } from '../create-app-group/create-app-group.component';\r\nimport { AppTileGroupPin } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-pin-tile',\r\n templateUrl: './pin-tile.component.html',\r\n styleUrls: ['./pin-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class PinTileComponent extends BaseComponent implements OnInit {\r\n @Input() app: MetaobjectDataModel;\r\n @Input() appTileGroups: MetaobjectDataModel[];\r\n @Input() mobile: boolean;\r\n @Input() pin: boolean;\r\n newGroupDialogRef: DialogRef;\r\n newGroupText = '';\r\n pinnedAppInTileGroups: {\r\n [key: string]: string[];\r\n };\r\n\r\n private _dialogService = inject(DialogService);\r\n private _dialogRef = inject(DialogRef);\r\n private bbbPipe = inject(BbbTranslatePipe);\r\n constructor() {\r\n super();\r\n this.newGroupText = BarsaApi.LoginFormData.IsRtl\r\n ? this.bbbPipe.transform('Groups') + ' ' + this.bbbPipe.transform('New')\r\n : this.bbbPipe.transform('New') + ' ' + this.bbbPipe.transform('Groups');\r\n\r\n const _dialogRef = this._dialogRef;\r\n\r\n this.app = _dialogRef.data.app;\r\n this.appTileGroups = _dialogRef.data.appTileGroups;\r\n this.pinnedAppInTileGroups = _dialogRef.data.pinnedAppInTileGroups;\r\n }\r\n ngOnInit(): void {\r\n this._setLoading(true);\r\n const tileGroupsId = this.pinnedAppInTileGroups[this.app.Id];\r\n this.appTileGroups.forEach((appGroup) => {\r\n this._setDefaultPinTile(appGroup, tileGroupsId);\r\n });\r\n this._setLoading(false);\r\n }\r\n onAccept(): void {\r\n const appTileGroupsPin: AppTileGroupPin[] = [];\r\n this.appTileGroups.forEach((group) => {\r\n this._getChangedPinTileGroups(group, appTileGroupsPin);\r\n });\r\n this._close({ appTileGroupsPin, app: this.app });\r\n }\r\n\r\n onClose(): void {\r\n this._close();\r\n }\r\n\r\n onNewGroup(): void {\r\n this.newGroupDialogRef = this._dialogService.open(CreateAppGroupComponent, {\r\n data: { title: this.newGroupText },\r\n verticalPadding: true,\r\n mobile: this.mobile,\r\n responsivePadding: true\r\n });\r\n\r\n this.newGroupDialogRef.afterClosed.subscribe(() => {\r\n // if (result) {\r\n // this.dialogRef.loading(true);\r\n // this.tilesService\r\n // .createAppGroup(result)\r\n // .pipe(\r\n // takeUntil(this._onDestroy$),\r\n // finalize(() => {\r\n // this.dialogRef.loading(false);\r\n // })\r\n // )\r\n // .subscribe();\r\n // }\r\n });\r\n }\r\n _setLoading(loading): void {\r\n this._dialogRef.loading(loading);\r\n }\r\n _setDefaultPinTile(appTileGroup: MetaobjectDataModel, tileGroupsId: string[]): void {\r\n appTileGroup.$PinTile = appTileGroup.$DefaultPinTile =\r\n tileGroupsId.includes(appTileGroup.Id) || tileGroupsId.includes(appTileGroup.UserAppTileGroupSetting?.Id);\r\n appTileGroup.$Children?.forEach((subGroup) => {\r\n this._setDefaultPinTile(subGroup, tileGroupsId);\r\n });\r\n appTileGroup.$Disabledpin = false;\r\n }\r\n _getChangedPinTileGroups(appTileGroup: MetaobjectDataModel, appTileGroupsPin: AppTileGroupPin[]): void {\r\n if (appTileGroup.$PinTile && !appTileGroup.$DefaultPinTile) {\r\n // Add\r\n appTileGroupsPin.push({ appTileGroup, visible: true });\r\n } else if (appTileGroup.$PinTile === false && appTileGroup.$DefaultPinTile) {\r\n // Remove\r\n appTileGroupsPin.push({ appTileGroup, visible: false });\r\n }\r\n appTileGroup.$Children?.forEach((subGroup) => {\r\n this._getChangedPinTileGroups(subGroup, appTileGroupsPin);\r\n });\r\n }\r\n _close(result?): void {\r\n this._dialogRef.close(result);\r\n }\r\n}\r\n","<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 </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 </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","import { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { Subject, BehaviorSubject, combineLatest, Observable } from 'rxjs';\r\n\r\nimport {\r\n AbbrevationDeviceSize,\r\n BarsaApi,\r\n MetaobjectDataModel,\r\n MoForReportModel,\r\n PortalService\r\n} from 'barsa-novin-ray-core';\r\nimport { TilesService } from './tiles.service';\r\nimport { AppTileGroupPin } from './models';\r\nimport { distinctUntilChanged, map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppFinderService implements OnDestroy {\r\n pinnedAppInAppTileGroups$: Observable<Record<string, string[]>>;\r\n appGroups$: Observable<MetaobjectDataModel[]>;\r\n selectedAppGroupId$: Observable<string>;\r\n selectedAppGroup$: Observable<MetaobjectDataModel | undefined>;\r\n deviceSize$: Observable<'s' | 'm' | 'l' | 'xl'>;\r\n private _appGroupsSource = new BehaviorSubject<MetaobjectDataModel[]>([]);\r\n private _OnDestroy$ = new Subject<void>();\r\n private _portalService = inject(PortalService);\r\n private _tileService = inject(TilesService);\r\n private _selectedAppGroupIdSource = new Subject<string>();\r\n private _pinnedAppInAppTileGroupsSource = new BehaviorSubject<{\r\n [key: string]: string[];\r\n }>({});\r\n \r\n constructor() {\r\n this.loadAppGroups();\r\n this.deviceSize$ = this._tileService.deviceSize$;\r\n this.pinnedAppInAppTileGroups$ = this._pinnedAppInAppTileGroupsSource.asObservable();\r\n this.appGroups$ = this._appGroupsSource.asObservable();\r\n this.selectedAppGroupId$ = this._selectedAppGroupIdSource.asObservable().pipe(distinctUntilChanged());\r\n this.selectedAppGroup$ = combineLatest([this.appGroups$, this.selectedAppGroupId$]).pipe(\r\n map(([moDataList, selectedId]) => moDataList?.find((c) => c.Id === selectedId))\r\n );\r\n }\r\n get deviceSize(): AbbrevationDeviceSize {\r\n return this._portalService.deviceSize;\r\n }\r\n get appTileGroups(): MetaobjectDataModel[] | undefined {\r\n return this._tileService.appTileGroups?.MoDataList;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._OnDestroy$.next();\r\n }\r\n loadAppGroups(): void {\r\n this._portalService\r\n .ReportExecute('UserAppGroups')\r\n .subscribe((allApps) => this._nextAllApps(allApps.MoDataList));\r\n }\r\n selectAppGroup(appGroupId: string): void {\r\n const appGroups = this._appGroupsSource.getValue();\r\n const group = appGroups.find((c) => c.Id === appGroupId);\r\n if (group) {\r\n this._selectedAppGroupIdSource.next(appGroupId);\r\n this.loadAppsByAppGroup(appGroups, group);\r\n }\r\n }\r\n loadAppsByAppGroup(appGroups: MetaobjectDataModel[], appGroup: MetaobjectDataModel): void {\r\n if (appGroup.Apps) {\r\n return;\r\n }\r\n const reportWrapper = BarsaApi.Bw.RunBlMethod('LoadAppsByAppGroup', appGroup.Id);\r\n const moForReport: MoForReportModel = reportWrapper.Unwrap();\r\n appGroup.Apps = appGroup.Apps ?? [];\r\n const apps = moForReport.MoDataList;\r\n if (apps.length > 0) {\r\n const customColumns = Object.keys(apps[0]).filter((c) => c.indexOf('$Caption') > -1 && !c.startsWith('$'));\r\n\r\n apps.forEach((app) => {\r\n customColumns.forEach((column) => {\r\n app.$HasPinned = app.$HasPinned || Number(app[column.split('$Caption')[0]]);\r\n });\r\n });\r\n }\r\n appGroup.Apps = [...appGroup.Apps, ...apps];\r\n this._nextAllApps(appGroups);\r\n }\r\n loadPinnedAppInTileGroups(app: MetaobjectDataModel): {\r\n [key: string]: string[];\r\n } {\r\n const appId = app.Id;\r\n const val = this._pinnedAppInAppTileGroupsSource.getValue();\r\n if (val[appId]) {\r\n return val;\r\n }\r\n const reportWrapper = BarsaApi.Bw.RunBlMethod('PinnedAppInTileGroups', appId);\r\n const moForReport: MoForReportModel = reportWrapper.Unwrap();\r\n\r\n val[appId] = val[appId] ?? [];\r\n\r\n const apps = moForReport.MoDataList;\r\n if (apps.length > 0) {\r\n apps.forEach((itemApp) => {\r\n const predefined = (itemApp.Id as any).Id;\r\n const userSetting = itemApp.UserAppTileGroupSetting?.Id;\r\n if (predefined) {\r\n val[appId] = [...val[appId], predefined];\r\n }\r\n if (userSetting) {\r\n val[appId] = [...val[appId], userSetting];\r\n }\r\n });\r\n }\r\n this._pinnedAppInAppTileGroupsSource.next(val);\r\n return val;\r\n }\r\n pinTileChanged(appTileGroups: AppTileGroupPin[], app: MetaobjectDataModel, callback): void {\r\n this._tileService.pinTileChanged(appTileGroups, app, (settings) => {\r\n const val = this._pinnedAppInAppTileGroupsSource.getValue();\r\n const appId = app.Id;\r\n\r\n for (let i = 0; i < appTileGroups.length; i++) {\r\n const appTileSetting = settings[i];\r\n const appTileGroupSettingId = appTileSetting.UserAppTileGroupSettingId;\r\n const appTileGroupId = appTileSetting.AppTileGroupId;\r\n if (appTileGroups[i].visible) {\r\n val[appId] = [...val[appId], appTileGroupSettingId, appTileGroupId];\r\n } else {\r\n val[appId] = val[appId].filter((c) => c !== appTileGroupSettingId && c !== appTileGroupId);\r\n }\r\n }\r\n this._pinnedAppInAppTileGroupsSource.next({ ...val });\r\n callback();\r\n });\r\n }\r\n private _nextAllApps(appGroups?: MetaobjectDataModel[]): void {\r\n const newAppGroups = appGroups ?? this._appGroupsSource.getValue();\r\n this._appGroupsSource.next([...newAppGroups]);\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { ContentDensity, ContentDensityService, DialogService } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\nimport { AppFinderService } from '../app-finder.service';\r\nimport { AppTileGroupPin } from '../models';\r\nimport { PinTileComponent } from '../pin-tile/pin-tile.component';\r\n\r\n@Component({\r\n selector: 'bt-form-app-finder',\r\n templateUrl: './form-app-finder.component.html',\r\n styleUrls: ['./form-app-finder.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FormAppFinderComponent extends BaseComponent implements OnInit {\r\n selectedGroups: MetaobjectDataModel[];\r\n isAllSelected = true;\r\n appGroups$: Observable<MetaobjectDataModel[] | undefined>;\r\n appTileGroups$: Observable<MetaobjectDataModel[]>;\r\n searchTerm: string;\r\n deviceSize$: Observable<AbbrevationDeviceSize>;\r\n sideContentSize$: Observable<string>;\r\n contentDensity$: Observable<ContentDensity>;\r\n selectedAppGroup$: Observable<MetaobjectDataModel | undefined>;\r\n selectedAppGroupId$: Observable<string>;\r\n mobile$: Observable<boolean>;\r\n contentHeight: string;\r\n pinnedAppInAppTileGroups$: Observable<Record<string, string[]>>;\r\n\r\n private _cdr = inject(ChangeDetectorRef);\r\n private _dialogService = inject(DialogService);\r\n private _appFinderService = inject(AppFinderService);\r\n private _contentDensityService = inject(ContentDensityService);\r\n\r\n constructor() {\r\n super();\r\n this.contentDensity$ = this._contentDensityService.contentDensity.asObservable();\r\n this.appGroups$ = this._appFinderService.appGroups$;\r\n this.selectedAppGroup$ = this._appFinderService.selectedAppGroup$;\r\n this.selectedAppGroupId$ = this._appFinderService.selectedAppGroupId$;\r\n this.deviceSize$ = this._appFinderService.deviceSize$;\r\n this.pinnedAppInAppTileGroups$ = this._appFinderService.pinnedAppInAppTileGroups$;\r\n this.mobile$ = this.deviceSize$.pipe(map((c) => c === 's'));\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.sideContentSize$ = this.deviceSize$.pipe(\r\n takeUntil(this._onDestroy$),\r\n map((deviceSize) => {\r\n switch (deviceSize) {\r\n case 's':\r\n return 'sm';\r\n case 'm':\r\n return 'md';\r\n case 'l':\r\n return 'lg';\r\n case 'xl':\r\n return 'xl';\r\n default:\r\n return 'l';\r\n }\r\n })\r\n );\r\n }\r\n\r\n onSelectedAppGroupChange(appGroupId: string): void {\r\n this._changeGroup(appGroupId);\r\n }\r\n\r\n onPinClick(app: MetaobjectDataModel): void {\r\n const pinnedAppInTileGroups = this._appFinderService.loadPinnedAppInTileGroups(app);\r\n const appTileGroups = this._appFinderService.appTileGroups;\r\n const deviceSize = this._appFinderService.deviceSize;\r\n const mobile = deviceSize === 's';\r\n this._dialogService\r\n .open(PinTileComponent, {\r\n data: { app, pinnedAppInTileGroups, appTileGroups },\r\n minWidth: '350px',\r\n minHeight: '420px',\r\n draggable: false,\r\n mobile,\r\n resizable: false,\r\n verticalPadding: false,\r\n backdropClickCloseable: false\r\n })\r\n .afterClosed.subscribe((result) => {\r\n this._appTileGroupsPinChange(result);\r\n });\r\n }\r\n onRefresh(): void {}\r\n async _appTileGroupsPinChange(result: {\r\n appTileGroupsPin: AppTileGroupPin[];\r\n app: MetaobjectDataModel;\r\n }): Promise<void> {\r\n try {\r\n // Will try to ask for permission\r\n this._appFinderService.pinTileChanged(result.appTileGroupsPin, result.app, () => {\r\n this._cdr.detectChanges();\r\n });\r\n // eslint-disable-next-line\r\n } catch (_err) {\r\n // show msg error\r\n } finally {\r\n // show toast successful\r\n }\r\n }\r\n private _changeGroup(appGroupId: string): void {\r\n this.isAllSelected = false;\r\n this._appFinderService.selectAppGroup(appGroupId);\r\n this._cdr.detectChanges();\r\n }\r\n}\r\n","<bt-app-finder\r\n [appGroups]=\"(appGroups$ | async)!!\"\r\n [selectedAppGroupId]=\"(selectedAppGroupId$ | async)!!\"\r\n [selectedAppGroup]=\"(selectedAppGroup$ | async)!!\"\r\n [mobile]=\"(mobile$ | async)!!\"\r\n [sideContentSize]=\"(sideContentSize$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [contentDensity]=\"(contentDensity$ | async) ?? 'compact'\"\r\n [pinnedAppInAppTileGroups]=\"(pinnedAppInAppTileGroups$ | async)!!\"\r\n (selectedAppGroupIdChange)=\"onSelectedAppGroupChange($event)\"\r\n (pinClick)=\"onPinClick($event)\"\r\n>\r\n</bt-app-finder>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-footer-edit-tile',\r\n templateUrl: './footer-edit-tile.component.html',\r\n styleUrls: ['./footer-edit-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FooterEditTileComponent extends BaseComponent {}\r\n","<button fd-button [glyph]=\"'pushpin-off'\" fdType=\"\"></button>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BaseBtTileComponent, NumericTileSetting } from '../models';\r\nimport { NumericContentState } from '@fundamental-ngx/core';\r\n@Component({\r\n selector: 'bt-numeric-tile',\r\n templateUrl: './numeric-tile.component.html',\r\n styleUrls: ['./numeric-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class NumericTileComponent extends BaseBtTileComponent<NumericTileSetting> {\r\n kpiStateIsColor = false;\r\n scalseStateIsColor = false;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n switch (this.kpiState) {\r\n case 'positive':\r\n case 'negative':\r\n case 'informative':\r\n case 'critical':\r\n case 'neutral':\r\n break;\r\n default:\r\n this.kpiStateIsColor = this.kpiState !== '';\r\n break;\r\n }\r\n switch (this.scaleState) {\r\n case 'positive':\r\n case 'negative':\r\n case 'informative':\r\n case 'critical':\r\n case 'neutral':\r\n break;\r\n default:\r\n this.scalseStateIsColor = this.scaleState !== '';\r\n break;\r\n }\r\n }\r\n get launchIcon(): string {\r\n return this.settings.LaunchIcon;\r\n }\r\n get kpiState(): NumericContentState {\r\n return this.settings.ContentKpiState;\r\n }\r\n get kpi(): string {\r\n return this.settings.ContentKpi;\r\n }\r\n get scaleState(): NumericContentState {\r\n return this.settings.ScaleState;\r\n }\r\n get scaleText(): string {\r\n return this.settings.ScaleText;\r\n }\r\n get scaleArrowIcon(): string {\r\n return this.settings.ScaleArrowIcon;\r\n }\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, LogoTileSetting } from '../models';\r\n@Component({\r\n selector: 'bt-logo-tile',\r\n templateUrl: './logo-tile.component.html',\r\n styleUrls: ['./logo-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class LogoTileComponent extends BaseBtTileComponent<LogoTileSetting> {\r\n get fileId(): string {\r\n let fileId = this.settings.Logo?.FileId;\r\n if (!fileId) {\r\n fileId = this.settings.CalcLogo?.FileId;\r\n }\r\n return fileId;\r\n }\r\n}\r\n","<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\" />\r\n </div>\r\n</bt-tile>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, FeedTileSetting } from '../models';\r\n@Component({\r\n selector: 'bt-feed-tile',\r\n templateUrl: './feed-tile.component.html',\r\n styleUrls: ['./feed-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FeedTileComponent extends BaseBtTileComponent<FeedTileSetting> {\r\n get twoColumn(): boolean {\r\n return this.settings.TwoColumn;\r\n }\r\n get text(): string {\r\n return this.settings.ContentText;\r\n }\r\n get byline(): string {\r\n return this.settings.ContentByLine;\r\n }\r\n get kpi(): string {\r\n return this.settings.ContentKpi;\r\n }\r\n get state(): 'positive' | 'negative' {\r\n return this.settings.State;\r\n }\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\nimport { FilePictureInfoModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-simple-tile',\r\n templateUrl: './simple-tile.component.html',\r\n styleUrls: ['./simple-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class SimpleTileComponent extends BaseBtTileComponent<BaseTileSetting> implements OnInit {\r\n icon: string;\r\n iconCalc: string;\r\n isCircle: boolean;\r\n iconColor: string;\r\n iconImage:string;\r\n pictureIcon: FilePictureInfoModel;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.icon = this.settings.Icon;\r\n this.iconImage = this.settings.IconImage?.Url;\r\n this.isCircle = this.settings.IsCircle;\r\n this.pictureIcon = this.settings.PictureIcon;\r\n if (this.icon && this.icon.toLowerCase().startsWith('ih')) {\r\n this.iconCalc = this.icon;\r\n }\r\n this.iconColor = this.settings.IconColor;\r\n }\r\n}\r\n","<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\" />\r\n }\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit, signal, WritableSignal } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\nimport { ContainerReportSetting, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-report-tile',\r\n templateUrl: './report-tile.component.html',\r\n styleUrls: ['./report-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ReportTileComponent extends BaseBtTileComponent<ReportTileSettings> implements OnInit {\r\n @HostBinding('style.width') _width;\r\n @HostBinding('style.height') _height;\r\n\r\n reportSettings: WritableSignal<ContainerReportSetting> = signal({\r\n RelatedReport: { Id: '0', $Caption: '' },\r\n RowClick: '',\r\n DataOnly: false\r\n });\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const report = this.settings.MetaReport;\r\n this._width = this.settings.WidthSize;\r\n this._height = this.settings.HeightSize;\r\n this.reportSettings.set({\r\n RelatedReport: { Id: report.Id, $Caption: '' },\r\n RowClick: '',\r\n DataOnly: false\r\n });\r\n }\r\n}\r\ninterface ReportTileSettings extends BaseTileSetting {\r\n MetaReport: MetaobjectDataModel;\r\n WidthSize: string;\r\n HeightSize: string;\r\n}\r\n","<bnrc-report-container [settings]=\"reportSettings()\"> </bnrc-report-container>","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, ProfileTileSetting } from '../models';\r\nimport { FilePictureInfoModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-profile-tile',\r\n templateUrl: './profile-tile.component.html',\r\n styleUrls: ['./profile-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ProfileTileComponent extends BaseBtTileComponent<ProfileTileSetting> {\r\n icon: string;\r\n iconCalc: string;\r\n iconColor: string;\r\n calcImage: string;\r\n image: FilePictureInfoModel;\r\n fileId2: string;\r\n get fileId(): string {\r\n let fileId = this.settings?.Image?.FileId;\r\n if (!fileId) {\r\n fileId = this.settings?.CalcImage;\r\n }\r\n return fileId;\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.icon = this.settings?.Icon;\r\n this.fileId2 = this.fileId;\r\n this.calcImage = this.settings?.CalcImage;\r\n if (this.calcImage && this.calcImage.toLowerCase().startsWith('ih')) {\r\n this.iconCalc = this.calcImage;\r\n }\r\n }\r\n}\r\n","<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","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n inject,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n signal,\r\n WritableSignal\r\n} from '@angular/core';\r\nimport { IconTabBarItem } from '@fundamental-ngx/platform';\r\nimport {\r\n BaseComponent,\r\n MetaobjectDataModel,\r\n WorkflowExecuteChoiceStatus,\r\n BarsaApi,\r\n NotificationItem,\r\n NotificationAction,\r\n AbbrevationDeviceSize,\r\n ContainerReportSetting,\r\n GroupByService\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bt-notification-group',\r\n templateUrl: './notification-group.component.html',\r\n styleUrls: ['./notification-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false,\r\n providers: [GroupByService]\r\n})\r\nexport class NotificationGroupComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() notifications: NotificationItem[] | null;\r\n @Input() loading: boolean;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() notificationCount: { unread: number; all: number };\r\n @Input() notificationReport: MetaobjectDataModel;\r\n\r\n @HostBinding('class') _deviceSize = '';\r\n\r\n @Output() viewed = new EventEmitter<NotificationItem>();\r\n @Output() remove = new EventEmitter<{ items: NotificationItem[]; silent: boolean }>();\r\n @Output() actionClick = new EventEmitter<{ item: NotificationItem; btn: NotificationAction }>();\r\n @Output() showEvent = new EventEmitter<{ tag: string; mo: MetaobjectDataModel; nama: string }>();\r\n @Output() loadMore = new EventEmitter<void>();\r\n\r\n expanded: Record<string, boolean> = {};\r\n tabList: any[] = [\r\n { label: 'By Date', title: 'CreationDateOnly' },\r\n { label: 'By Type', title: 'Subject' },\r\n { label: 'By Priority', title: 'Priority' }\r\n ];\r\n viewedNotifications: NotificationItem[] = [];\r\n reportSetting: WritableSignal<ContainerReportSetting> = signal({\r\n RelatedReport: { Id: '0', $Caption: '' },\r\n RowClick: '',\r\n DataOnly: false\r\n });\r\n private _groupByServcie = inject(GroupByService);\r\n private _selectedTab = this.tabList[0].title;\r\n private _cdr = inject(ChangeDetectorRef);\r\n\r\n constructor() {\r\n super();\r\n this._selectedTab = this.tabList[0].title;\r\n this._setGroupBy();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._deviceSize = this.deviceSize;\r\n this.reportSetting.set({\r\n RelatedReport: { Id: this.notificationReport.Id, $Caption: '' },\r\n RowClick: '',\r\n DataOnly: false\r\n });\r\n }\r\n onSelectedTabChange(selectedTab: IconTabBarItem): void {\r\n if (this._selectedTab !== selectedTab.id) {\r\n this._selectedTab = selectedTab.id;\r\n this._setGroupBy();\r\n }\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { notifications } = changes;\r\n if (notifications && !notifications.firstChange) {\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n onWorkflowExecuteChoiceStatusChanged(e: WorkflowExecuteChoiceStatus, mo: NotificationItem): void {\r\n if (e.result && !e.error) {\r\n this.remove.emit({ items: [mo], silent: true });\r\n BarsaApi.Bw.Toast.Success(`${e.choice?.Title} ${BarsaApi.BBB.Action}`);\r\n return;\r\n }\r\n mo.$ChoiceDefStatus = e;\r\n this._cdr.detectChanges();\r\n }\r\n _setGroupBy(): void {\r\n this._groupByServcie.setGroupBy([\r\n {\r\n IsGrouped: true,\r\n Name: this._selectedTab,\r\n SortDirection: 'desc'\r\n },\r\n {\r\n IsGrouped: false,\r\n Name: 'CreationDate',\r\n SortDirection: 'desc'\r\n }\r\n ]);\r\n }\r\n\r\n _trackByTitle(_index: number, _: string): number | string {\r\n return _index;\r\n }\r\n}\r\n","<fdp-icon-tab-bar size=\"s\" [expandOverflowText]=\"'More' | bbbTranslate\" (iconTabSelected)=\"onSelectedTabChange($event)\">\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}\r\n\r\n<!-- \r\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\r\n <div style=\"max-height: 346px; overflow-y: auto; overflow-x: hidden\">\r\n @for (mo of notifications; track _trackMoById($index, mo); let first = $first; let last = $last) {\r\n <bsu-notification-item\r\n [notificationItem]=\"mo\"\r\n (viewed)=\"viewed.emit($event)\"\r\n (remove)=\"remove.emit($event)\"\r\n (showEvent)=\"showEvent.emit($event)\"\r\n (actionClick)=\"actionClick.emit($event)\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.5\"\r\n [deviceSize]=\"deviceSize\"\r\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\r\n ></bsu-notification-item>\r\n } @if (loading) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n }\r\n </div>\r\n</ng-template> -->\r\n<!-- @for (groupItem of tab.groupByItems; track _trackByKey(index2, groupItem); let index2 = $index) {\r\n <ul fd-notification-list>\r\n <fd-notification-group [expanded]=\"expanded[groupItem.Id]\" (click)=\"onExpanded(index2, groupItem)\">\r\n <fd-notification-group-header>\r\n <span fd-notification-group-header-title>\r\n @switch(index){ @case (0){\r\n {{ groupItem.CreationDate$Caption }}\r\n } @case(1){\r\n {{ groupItem.Subject }}\r\n\r\n } @case(2){\r\n {{ groupItem.Priority$Caption }}\r\n\r\n }}</span\r\n >\r\n </fd-notification-group-header>\r\n <fd-notification-group-list>\r\n <fd-notification>\r\n <fd-notification-body>\r\n <fd-avatar size=\"xs\" glyph=\"batch-payments\"></fd-avatar>\r\n <fd-notification-content>\r\n <fd-notification-header>\r\n <fd-icon glyph=\"error\" color=\"negative\"></fd-icon>\r\n <h4 fd-notification-title [unread]=\"true\">\r\n Notification Title (unread) lorem ipsum dolor sit amet, consectetur\r\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna\r\n aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\r\n eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n </h4>\r\n </fd-notification-header>\r\n <p fd-notification-paragraph>\r\n Description of notification topic lorem ipsum dolor sit amet, consectetur\r\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna\r\n aliqua.\r\n </p>\r\n <fd-notification-footer>\r\n <span fd-notification-footer-content>Product Name</span>\r\n <span fd-notification-separator></span>\r\n <span fd-notification-footer-content>Feature Name</span>\r\n <span fd-notification-separator></span>\r\n <span fd-notification-footer-content>11:11 AM</span>\r\n </fd-notification-footer>\r\n <span\r\n fd-object-status\r\n [indicationColor]=\"2\"\r\n [secondaryIndication]=\"true\"\r\n [inverted]=\"true\"\r\n label=\"Negative\"\r\n title=\"Negative\"\r\n glyph=\"high-priority\"\r\n aria-label=\"Object status Negative Inverted\"\r\n ></span>\r\n </fd-notification-content>\r\n <fd-notification-actions>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n ariaLabel=\"Close\"\r\n glyph=\"decline\"\r\n title=\"close\"\r\n ></button>\r\n </fd-notification-actions>\r\n </fd-notification-body>\r\n </fd-notification>\r\n </fd-notification-group-list>\r\n </fd-notification-group>\r\n </ul>\r\n\r\n } -->\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n inject,\r\n Input,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n signal,\r\n SimpleChanges,\r\n DOCUMENT\r\n} from '@angular/core';\r\n\r\nimport { fromEvent, map, Observable } from 'rxjs';\r\nimport {\r\n ComboboxComponent,\r\n DialogService, \r\n ObjectStatus,\r\n PopoverComponent,\r\n ProductSwitchItem,\r\n ShellbarComponent,\r\n ShellbarMenuItem\r\n} from '@fundamental-ngx/core';\r\n\r\nimport {\r\n BaseComponent,\r\n MetaobjectDataModel,\r\n FilePictureInfoModel,\r\n MoForReportModel,\r\n APP_VERSION,\r\n NotificationItem,\r\n NotificationAction,\r\n AbbrevationDeviceSize,\r\n SearchInput,\r\n PortalService\r\n} from 'barsa-novin-ray-core';\r\nimport { UserInfo, UserMenuType } from '../models';\r\nimport { Router } from '@angular/router';\r\ninterface ShellbarSetting extends MetaobjectDataModel {\r\n subtitle: string;\r\n calcSubtitle: string;\r\n logo: FilePictureInfoModel;\r\n ProductSwitchItems: MoForReportModel;\r\n ProductMenuItems: MoForReportModel;\r\n UserMenuItems: MoForReportModel;\r\n ActionItems: MoForReportModel;\r\n}\r\n\r\n@Component({\r\n selector: 'bt-barsa-shellbar',\r\n templateUrl: './barsa-shellbar.component.html',\r\n styleUrls: ['./barsa-shellbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarsaShellbarComponent extends BaseComponent implements OnInit {\r\n @Input() showSidebar: boolean;\r\n @Input() multiLanguages: boolean;\r\n @Input() userLoggedIn: boolean;\r\n @Input() settings: MetaobjectDataModel;\r\n @Input() productMenuControl: string;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() cultures: Record<string, any>;\r\n @Input() shellbarData: ShellbarSetting;\r\n @Input() notificationsUnreadCount: any;\r\n @Input() productMenuItems1: ShellbarMenuItem[];\r\n @Input() bodyClick: string;\r\n @Input() logo: { FileId: string };\r\n @Input() actions: Array<MetaobjectDataModel>;\r\n @Input() userMenu: UserMenuType[];\r\n @Input() footerButtons: UserMenuType[];\r\n @Input() productSwitcher: ProductSwitchItem[];\r\n @Input() subtitle: string;\r\n @Input() isMobile: boolean;\r\n @Input() hideShellbarActions: boolean;\r\n @Input() flatButtons: any[];\r\n @Input() isTablet: boolean;\r\n @Input() userInfo: UserInfo | null;\r\n @Input() isDesktop: boolean;\r\n @Input() informativeText: string;\r\n @Input() informativeStatus: ObjectStatus;\r\n @Input() hideProductMenu: boolean;\r\n @Input() enableSearch: boolean;\r\n @Input() hideNotifications: boolean;\r\n @Input() isServiceDesk = false;\r\n @Input() isOpenQuickAccess;\r\n @Input() sideMenuTemplate: TemplateRef<any> | null;\r\n @Input() notificationReport: MetaobjectDataModel;\r\n @Input() profileDynamicCommand: MetaobjectDataModel;\r\n @Input() profileDynamicCommandText: string;\r\n @Input() profileDynamicCommandIcon: string;\r\n @Input() displayName: string;\r\n @Input() hideBranding: boolean;\r\n\r\n @Output() isOpenQuickAccessChanged = new EventEmitter<boolean>(false);\r\n @Output() openNotificationPanel = new EventEmitter<void>();\r\n @Output() openQuickAccessPanel = new EventEmitter<void>();\r\n @Output() cultureChanged = new EventEmitter<string>();\r\n @Output() notifiationActionClick = new EventEmitter<{ item: NotificationItem; btn: NotificationAction }>();\r\n\r\n @ViewChild(ShellbarComponent, { static: true }) shellbar: ShellbarComponent;\r\n @ViewChild(ComboboxComponent) comboboxComponent: ComboboxComponent;\r\n @ViewChild('popoverComponent', { static: false }) popoverComponent: PopoverComponent;\r\n @ViewChild('notificationsDialog', { static: true, read: TemplateRef }) _notificationsDialog: TemplateRef<any>;\r\n\r\n isOpenNotificatoin = false;\r\n expanded = false;\r\n searchTerms = ['مرخصی', 'ماموریت', 'تیکت', 'پروژه'];\r\n searchTerm: string;\r\n actions$: Observable<ShellbarMenuItem[]>;\r\n showVersion = false;\r\n showSearch = signal(false);\r\n inputEnableSearch = signal(false);\r\n appVersion = inject(APP_VERSION);\r\n private _portalService = inject(PortalService);\r\n private _dialogService = inject(DialogService);\r\n private _document = inject<Document>(DOCUMENT);\r\n private _cdr = inject(ChangeDetectorRef);\r\n private _router = inject(Router);\r\n\r\n constructor() {\r\n super();\r\n this.showVersion = false;\r\n fromEvent(document, 'scroll')\r\n .pipe(\r\n map(() => window.scrollY) // یا document.documentElement.scrollTop\r\n )\r\n .subscribe((scrollTop) => {\r\n const x = this._el.nativeElement as HTMLElement;\r\n if (scrollTop > this.el.nativeElement.offsetHeight) {\r\n x.classList.add('scrolled');\r\n } else {\r\n x.classList.remove('scrolled');\r\n }\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { enableSearch } = changes;\r\n if (enableSearch) {\r\n this.inputEnableSearch.set(enableSearch.currentValue);\r\n }\r\n }\r\n onSearchSubmit(e: SearchInput): void {\r\n const x = this._portalService.DefaultPage;\r\n this._router.navigateByUrl(`${x?.Route ?? ''}/search?term=` + e.text);\r\n }\r\n onSearchOpen(e: boolean): void {\r\n this.showSearch.set(e);\r\n }\r\n onBellNotification = (): void => {\r\n this._document?.body && this._document.body.click();\r\n this._dialogService\r\n .open(this._notificationsDialog, {\r\n mobile: true,\r\n verticalPadding: false,\r\n closeOnNavigation: true\r\n })\r\n .afterLoaded.subscribe(() => {\r\n this.openNotificationPanel.emit();\r\n });\r\n };\r\n onRouteFormStateChange(): void {\r\n this._closeSideMenu();\r\n }\r\n onCultureChange(culture): void {\r\n this._changeCulture(culture);\r\n }\r\n // notifiatiaon actions\r\n onNotificationAction(e: { item: NotificationItem; btn: NotificationAction }): void {\r\n this.notifiationActionClick.emit(e);\r\n }\r\n // end notification actions\r\n onOpenQuickAccess = (): void => {\r\n this.isOpenQuickAccessChanged.emit(true);\r\n this.openQuickAccessPanel.emit();\r\n };\r\n onOpenNotification = (): void => {\r\n this.isOpenNotificatoin = true;\r\n };\r\n\r\n onLanguage = (e): void => {\r\n const culture = e.currentTarget.textContent.trim();\r\n this._changeCulture(culture);\r\n };\r\n\r\n private _closeSideMenu(): void {\r\n if (!this.isOpenQuickAccess) {\r\n return;\r\n }\r\n this.isOpenQuickAccessChanged.emit(false);\r\n this._cdr.detectChanges();\r\n }\r\n private _changeCulture(culture: string): void {\r\n this.cultureChanged.emit(culture);\r\n }\r\n}\r\n","<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 <fd-shellbar-separator\r\n fdShellbarHidePriority=\"1\"\r\n [class.hide]=\"!informativeText && !productMenuItems1?.length\"\r\n ></fd-shellbar-separator>\r\n\r\n <span\r\n [class.hide]=\"!informativeText\"\r\n fdShellbarHidePriority=\"2\"\r\n fd-object-status\r\n [status]=\"informativeStatus || 'informative'\"\r\n [inverted]=\"true\"\r\n [label]=\"informativeText\"\r\n ></span>\r\n\r\n <fd-product-menu\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 (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]=\"'ویرایش پروفایل'\"\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 (productSwitcher?.length) {\r\n <fd-product-switch>\r\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\r\n </fd-product-switch-body>\r\n </fd-product-switch>\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\"\r\n [class.!tw-right-0]=\"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'\" />\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","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n inject,\r\n OnInit,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { forkJoin, Observable, of } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport {\r\n ComboboxComponent,\r\n PopoverComponent,\r\n ProductSwitchItem,\r\n ShellbarMenuItem,\r\n ShellbarUser\r\n} from '@fundamental-ngx/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\nimport {\r\n BaseComponent,\r\n BarsaApi,\r\n MetaobjectDataModel,\r\n PortalService,\r\n BreadcrumbService,\r\n APP_VERSION,\r\n NotificationService,\r\n NotificationItem,\r\n NotificationAction,\r\n BbbTranslatePipe,\r\n AbbrevationDeviceSize,\r\n getDeviceIsMobile,\r\n getDeviceIsDesktop,\r\n getDeviceIsTablet,\r\n ShellbarHeightService,\r\n ShellbarSetting,\r\n ApplicationCtrlrService\r\n} from 'barsa-novin-ray-core';\r\n\r\nimport { TilesService } from '../tiles.service';\r\nimport { NavigationEnd, Router, RouterEvent } from '@angular/router';\r\nimport { UserMenuType, UserInfo } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-shellbar',\r\n templateUrl: './shellbar.component.html',\r\n styleUrls: ['./shellbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ShellbarComponent extends BaseComponent implements OnInit {\r\n @ViewChild(ComboboxComponent) comboboxComponent: ComboboxComponent;\r\n @ViewChild('popoverComponent', { static: false }) popoverComponent: PopoverComponent;\r\n @ViewChild('notificationsDialog', { static: true, read: TemplateRef }) _notificationsDialog: TemplateRef<any>;\r\n @HostBinding('class.isOpenQuickAccess') isOpenQuickAccess = false;\r\n\r\n appVersion = inject(APP_VERSION);\r\n settings: MetaobjectDataModel;\r\n deviceSize$: Observable<AbbrevationDeviceSize>;\r\n productMenuControl: string;\r\n user: ShellbarUser = {\r\n initials: 'WW',\r\n colorAccent: 1\r\n };\r\n productMenuItems1: ShellbarMenuItem[];\r\n userLoggedIn$: Observable<boolean>;\r\n cssUrl$: Observable<SafeResourceUrl | null>;\r\n cssVariableUrl$: Observable<SafeResourceUrl | null>;\r\n cssCustomUrl$: Observable<SafeResourceUrl | null>;\r\n cultures: Record<string, any>;\r\n notificationsUnreadCount$: Observable<number>;\r\n notifiationCountLoaded$: Observable<boolean>;\r\n bodyClick = ';$(\"body\").click()';\r\n isMobile = getDeviceIsMobile();\r\n isDesktop = getDeviceIsDesktop();\r\n isTablet = getDeviceIsTablet();\r\n loginRouterLink$: Observable<string>;\r\n isServiceDesk = false;\r\n userInfo$: Observable<UserInfo | null>;\r\n displayName = BarsaApi.LoginFormData.UserDisplayName;\r\n shellbarHeight$: Observable<string>; \r\n shellbarData: ShellbarSetting;\r\n productSwitcher$: Observable<ProductSwitchItem[]>; \r\n\r\n protected _applicationCtrlrService = inject(ApplicationCtrlrService);\r\n private _router = inject(Router);\r\n private _renderer2 = inject(Renderer2);\r\n private _bbbTranslatePipe = inject(BbbTranslatePipe);\r\n private _portalService = inject(PortalService);\r\n private _breadCrumbService = inject(BreadcrumbService);\r\n private _tilesService = inject(TilesService);\r\n private _cdr = inject(ChangeDetectorRef);\r\n private _domSanitizer = inject(DomSanitizer);\r\n private _notificationService = inject(NotificationService);\r\n private _shellbarHeightServcie = inject(ShellbarHeightService);\r\n get repIdProfileImage(): string {\r\n return this.shellbarData?.ProfileImageReport?.Id;\r\n }\r\n get notificationReport(): MetaobjectDataModel {\r\n return this.shellbarData?.NotificationReport;\r\n }\r\n get subtitle(): string {\r\n if (!this.shellbarData) {\r\n return '';\r\n }\r\n if (this._portalService.deviceSize === 's' && this.shellbarData.MobileSubtitle) {\r\n return this.shellbarData.MobileSubtitle\r\n ? `${this.shellbarData.MobileSubtitle} ${\r\n typeof this.shellbarData?.calcSubtitle === 'string' ? this.shellbarData.calcSubtitle : ''\r\n }`\r\n : '';\r\n }\r\n return this.shellbarData.Subtitle\r\n ? `${this.shellbarData?.Subtitle} ${\r\n typeof this.shellbarData?.calcSubtitle === 'string' ? this.shellbarData.calcSubtitle : ''\r\n }`\r\n : '';\r\n }\r\n get enableSearch(): boolean {\r\n return this.shellbarData?.EnableSearch;\r\n }\r\n get logo(): { FileId: string } {\r\n return this.shellbarData?.Logo;\r\n }\r\n get cssStyles(): string {\r\n return this.shellbarData?.CssStyles;\r\n }\r\n get actions(): Array<MetaobjectDataModel> {\r\n return this.settings?.HideUserMenu ? [] : this.shellbarData?.ActionItems?.MoDataList ?? [];\r\n }\r\n get sidebarSettings(): null | any {\r\n if (!this.shellbarData?.SidebarReport?.Id) {\r\n return null;\r\n }\r\n return {\r\n RelatedReport: { Id: this.shellbarData?.SidebarReport?.Id, $Caption: '' },\r\n RowClick: '',\r\n DataOnly: false\r\n };\r\n }\r\n get userMenu(): UserMenuType[] {\r\n const moDataList = BarsaApi.Common.Util.TryGetValue(this.shellbarData, 'UserMenuItems.MoDataList');\r\n const items = moDataList ? [...moDataList] : [];\r\n if (!items.length) {\r\n return [];\r\n }\r\n items.forEach((c) => {\r\n c.text = this._bbbTranslatePipe.transform(c.text);\r\n c.inFooter = c.InFooter === true ? true : false;\r\n c.icon = c.Icon;\r\n c.callback = new Function(c.Code + this.bodyClick);\r\n });\r\n return this.settings?.HideUserMenu ? [] : items;\r\n }\r\n\r\n get multiLanguages(): boolean {\r\n return this.shellbarData?.MultiLanguages;\r\n }\r\n get productMenuItems(): ShellbarMenuItem[] {\r\n const items = this.shellbarData?.ProductMenuItems?.MoDataList ?? [];\r\n items.forEach((c) => (c.callback = new Function(c.Code + this.bodyClick)));\r\n return items as unknown as ShellbarMenuItem[];\r\n }\r\n get IsUserLoggedIn(): boolean {\r\n return BarsaApi.LoginFormData.IsUserLoggedIn;\r\n }\r\n get IsUserAnonymous(): boolean {\r\n return BarsaApi.LoginFormData.IsAnonymous;\r\n }\r\n get productSwitcherItems(): ProductSwitchItem[] {\r\n return (this.shellbarData?.ProductSwitchItems?.MoDataList ?? []) as unknown as ProductSwitchItem[];\r\n }\r\n constructor() {\r\n super();\r\n\r\n this.userLoggedIn$ = this._portalService.userLoggedIn$;\r\n this.notifiationCountLoaded$ = this._notificationService.notificationCountLoaded$;\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit(); \r\n this.productSwitcher$ = this._applicationCtrlrService.appMenuItems$ as Observable<ProductSwitchItem[]>; \r\n this._shellbarHeightServcie.add('var(--shellbar-height)');\r\n this.shellbarHeight$ = this._shellbarHeightServcie.shellbarHeight$;\r\n this.isServiceDesk = BarsaApi.LoginFormData.IsServiceDesk;\r\n\r\n this.cultures = BarsaApi.LoginFormData.Cultures;\r\n this.cssUrl$ = this._portalService.cssUrl$;\r\n this.cssVariableUrl$ = this._portalService.cssVariableUrl$;\r\n this.cssCustomUrl$ = this._portalService.cssCustomUrl$;\r\n this.loginRouterLink$ = this._portalService.loginRoute$;\r\n this.notificationsUnreadCount$ = this._notificationService.notificationUnreadCount$;\r\n\r\n BarsaApi.Bw.SetUserPortalSettings = (userPortalSettings: MetaobjectDataModel): void => {\r\n this._portalService.setUserPortalSettings(userPortalSettings);\r\n };\r\n BarsaApi.Bw.SetShellbarSubtitle = (calcSubtitle: string): void => {\r\n this.shellbarData.calcSubtitle = calcSubtitle;\r\n this._cdr.detectChanges();\r\n };\r\n this.deviceSize$ = this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$));\r\n\r\n this._breadCrumbService.breadcrumbs$.pipe(takeUntil(this._onDestroy$)).subscribe((breadCrumbs) => {\r\n if (breadCrumbs.length > 0) {\r\n this.productMenuControl = breadCrumbs[breadCrumbs.length - 1].label;\r\n }\r\n this._cdr.detectChanges();\r\n });\r\n this.userInfo$ = this._tilesService.userInfo$;\r\n this._tilesService.shellbar$.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\r\n this.shellbarData = mo as ShellbarSetting;\r\n if (this.IsUserLoggedIn) {\r\n this._tilesService.loadUserProfileImage(this.repIdProfileImage);\r\n }\r\n\r\n // this._cdr.detectChanges();\r\n forkJoin([of(this.productMenuItems), of([])]) // to append user defined\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n map(([s1, s2]) => [...s1, ...s2])\r\n )\r\n .subscribe((c) => {\r\n this.productMenuItems1 = c;\r\n this._cdr.detectChanges();\r\n });\r\n });\r\n if (this.settings?.AllowAnonymous) {\r\n this._tilesService.loadShellbar();\r\n }\r\n this._portalService.userLoggedIn$.pipe(takeUntil(this._onDestroy$)).subscribe((loggedIn) => {\r\n if (!loggedIn) {\r\n return;\r\n }\r\n this._tilesService.loadShellbar();\r\n this._notificationService.LoadUnreadNotificationCount();\r\n });\r\n this._router.events.subscribe((event) => {\r\n if (\r\n (event instanceof NavigationEnd && event instanceof RouterEvent) ||\r\n (event as any).routerEvent instanceof RouterEvent\r\n ) {\r\n const x: string = (event as any).url || (event as any).routerEvent?.url;\r\n x.split('/').length > 2 ? this._addClass('no-home-page') : this._removeClass('no-home-page');\r\n }\r\n });\r\n }\r\n\r\n onCultureChange(culture): void {\r\n this._changeCulture(culture);\r\n }\r\n onShowNotification(e: { tag: string; mo: MetaobjectDataModel; nama: string }): void {\r\n this._notificationService.ShowNotificationRelatedMo(e);\r\n }\r\n onNotificationAction(e: { item: NotificationItem; btn: NotificationAction }): void {\r\n this._portalService.ExecuteNotificationAction(e.item.Tag, e.btn.Title);\r\n }\r\n\r\n onCultureChanged = (culture: string): void => {\r\n this._changeCulture(culture);\r\n };\r\n onNotificationWorkflowChoiceSuccess(_result): void {}\r\n onNotificationWorkflowChoiceFailed(_err): void {}\r\n private _addClass(className: string): void {\r\n this._renderer2.addClass(this._el.nativeElement, className);\r\n }\r\n private _removeClass(className: string): void {\r\n this._renderer2.removeClass(this._el.nativeElement, className);\r\n }\r\n private _mapNotifications(notifications): NotificationItem[] {\r\n return notifications.map((notification) => ({\r\n ...notification,\r\n contentSafeHtml: notification.Content\r\n ? this._domSanitizer.bypassSecurityTrustHtml(notification.Content)\r\n : ''\r\n }));\r\n }\r\n private _changeCulture(culture: string /* culture sample :English */): void {\r\n BarsaApi.Bw.SetCultureByDisplayName(culture);\r\n BarsaApi.Bw.NavigateTo('/');\r\n }\r\n}\r\n","@if (userLoggedIn$ | async; as userloggend) { @if (notificationsUnreadCount$ | async; as notificationsUnreadCount) { @if\r\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\r\n<bt-barsa-shellbar\r\n [class.service-desk]=\"isServiceDesk\"\r\n cssRootVariable\r\n [cssVariableValue]=\"(shellbarHeight$ | async)!!\"\r\n [cssVariableName]=\"'--absolute-page-top'\"\r\n [notificationReport]=\"notificationReport\"\r\n [userInfo]=\"userInfo$ | async\"\r\n [userLoggedIn]=\"true\"\r\n [deviceSize]=\"deviceSize\"\r\n [shellbarData]=\"shellbarData\"\r\n [cssStyle]=\"cssStyles\"\r\n [productMenuControl]=\"productMenuControl\"\r\n [settings]=\"settings\"\r\n [informativeText]=\"settings?.InformativeText\"\r\n [informativeStatus]=\"settings?.InformativeStatus\"\r\n [hideProductMenu]=\"settings?.HideProductMenu\"\r\n [hideNotifications]=\"settings?.HideNotifications\"\r\n [profileDynamicCommand]=\"shellbarData.ProfileDynamicCommand\"\r\n [profileDynamicCommandText]=\"shellbarData.ProfileDynamicCommandText\"\r\n [profileDynamicCommandIcon]=\"shellbarData.ProfileDynamicCommandIcon\"\r\n [isMobile]=\"isMobile\"\r\n [displayName]=\"displayName\"\r\n [isTablet]=\"isTablet\"\r\n [isDesktop]=\"isDesktop\"\r\n [multiLanguages]=\"multiLanguages\"\r\n [notificationsUnreadCount]=\"notificationsUnreadCount > 0 ? notificationsUnreadCount : undefined\"\r\n [cultures]=\"cultures\"\r\n [logo]=\"logo\"\r\n [actions]=\"actions\"\r\n [footerButtons]=\"userMenu | filter: { inFooter: true }\"\r\n [userMenu]=\"userMenu | filter: { inFooter: false }\"\r\n [productSwitcher]=\"productSwitcherItems\"\r\n [subtitle]=\"subtitle\"\r\n [enableSearch]=\"settings?.EnableSearch\"\r\n [isServiceDesk]=\"isServiceDesk\"\r\n [sideMenuTemplate]=\"\r\n sidebarSettings?.RelatedReport && sidebarSettings?.RelatedReport?.Id !== '0' ? QuickAccessTemplate : null\r\n \"\r\n [productMenuItems1]=\"productMenuItems1\"\r\n [isOpenQuickAccess]=\"isOpenQuickAccess\"\r\n (isOpenQuickAccessChanged)=\"isOpenQuickAccess = $event\"\r\n (cultureChanged)=\"onCultureChanged($event)\"\r\n (notifiationActionClick)=\"onNotificationAction($event)\"\r\n>\r\n</bt-barsa-shellbar>\r\n} } } } @else{ @if (isServiceDesk) {\r\n<bt-barsa-shellbar\r\n class=\"hide-user-menu\"\r\n [notificationReport]=\"notificationReport\"\r\n [cssStyle]=\"cssStyles\"\r\n [userLoggedIn]=\"false\"\r\n [multiLanguages]=\"multiLanguages\"\r\n [userMenu]=\"userMenu\"\r\n [logo]=\"logo\"\r\n [productMenuItems1]=\"productMenuItems1\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [shellbarData]=\"shellbarData\"\r\n [cultures]=\"cultures\"\r\n [logo]=\"logo\"\r\n [isMobile]=\"isMobile\"\r\n [isTablet]=\"isTablet\"\r\n [isDesktop]=\"isDesktop\"\r\n [isServiceDesk]=\"isServiceDesk\"\r\n [actions]=\"actions\"\r\n [userMenu]=\"[]\"\r\n [productMenuControl]=\"productMenuControl\"\r\n [productSwitcher]=\"[]\"\r\n [subtitle]=\"subtitle\"\r\n [enableSearch]=\"true\"\r\n [settings]=\"settings\"\r\n [flatButtons]=\"userMenu\"\r\n [cultures]=\"cultures\"\r\n [productMenuItems1]=\"productMenuItems1\"\r\n (cultureChanged)=\"onCultureChanged($event)\"\r\n>\r\n</bt-barsa-shellbar>\r\n} }\r\n<ng-template #QuickAccessTemplate>\r\n @if(sidebarSettings?.RelatedReport && sidebarSettings?.RelatedReport?.Id !== '0'){\r\n <bnrc-report-container [settings]=\"sidebarSettings\"> </bnrc-report-container>\r\n }\r\n <!-- <bt-popover-app-finder (closeMenu)=\"isOpenQuickAccess = false\"></bt-popover-app-finder> -->\r\n</ng-template>\r\n@if(isOpenQuickAccess) {\r\n<div\r\n class=\"sidemenu-h tw-fixed tw-right-0 tw-bg-slate-800/[.5] tw-z-[90] tw-w-screen tw-backdrop-blur-sm\"\r\n (click)=\"isOpenQuickAccess = false\"\r\n></div>\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport { BarsaApi } from 'barsa-novin-ray-core';\r\n\r\n@Pipe({\r\n name: 'tileHomeFilter',\r\n standalone: false\r\n})\r\nexport class TileHomeFilterPipe implements PipeTransform {\r\n transform(collection: any[]): any[] {\r\n return collection.filter((val) => this.matchFilter(val));\r\n }\r\n matchFilter(value): boolean {\r\n const match = Object.keys(value.Data).some((key) => {\r\n if (key.startsWith('$')) {\r\n return false;\r\n }\r\n if (key.startsWith('c')) {\r\n return BarsaApi.Common.Util.TryGetValue(value, 'Data.' + key);\r\n }\r\n });\r\n return match;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { forkJoin, Observable, of } from 'rxjs';\r\nimport { map, shareReplay } from 'rxjs/operators';\r\n\r\nimport { BarsaApi, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\ninterface AppTileModel extends MetaobjectDataModel {\r\n Component: MetaobjectDataModel;\r\n Selector: string;\r\n}\r\n@Pipe({\r\n name: 'groupTiles',\r\n standalone: false\r\n})\r\nexport class GroupTilesPipe implements PipeTransform {\r\n transform(appGroup: MetaobjectDataModel): Observable<AppTileModel[]> {\r\n const predefineTiles = appGroup.AppTiles;\r\n if (predefineTiles?.length === 0) {\r\n return of([]);\r\n }\r\n const predefine$ = of(predefineTiles);\r\n const userDefine$ = of(appGroup.UserAppTileGroupSetting?.UserAppTilesSetting?.MoDataList);\r\n\r\n return forkJoin([predefine$, userDefine$]).pipe(\r\n map(([s1, s2]) => [...s1, ...s2]),\r\n map((arrTiles) => {\r\n const tempTiles = arrTiles.filter((c) => c.Visible).sort((a, b) => (a.OrderItem > b.OrderItem ? 1 : 0));\r\n const group = { ...appGroup };\r\n group.Title = BarsaApi.Common.Util.TryGetValue(group, 'UserAppTileGroupSetting.Title', group.Title);\r\n group.OrderItem = BarsaApi.Common.Util.TryGetValue(\r\n group,\r\n 'UserAppTileGroupSetting.OrderItem',\r\n group.OrderItem\r\n );\r\n\r\n return tempTiles;\r\n }),\r\n shareReplay(1)\r\n );\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n OnInit,\r\n Output,\r\n inject\r\n} from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { ContentDensity, ContentDensityService, DialogService } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\nimport { AppFinderService } from '../app-finder.service';\r\nimport { AppTileGroupPin } from '../models';\r\nimport { PinTileComponent } from '../pin-tile/pin-tile.component';\r\n\r\n@Component({\r\n selector: 'bt-popover-app-finder',\r\n templateUrl: './popover-app-finder.component.html',\r\n styleUrls: ['./popover-app-finder.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: '!tw-min-h-min'\r\n },\r\n standalone: false\r\n})\r\nexport class PopoverAppFinderComponent extends BaseComponent implements OnInit {\r\n @Output() closeMenu = new EventEmitter<void>();\r\n selectedGroups: MetaobjectDataModel[];\r\n isAllSelected = true;\r\n appGroups$: Observable<MetaobjectDataModel[] | undefined>;\r\n appTileGroups$: Observable<MetaobjectDataModel[]>;\r\n searchTerm: string;\r\n deviceSize$: Observable<AbbrevationDeviceSize>;\r\n sideContentSize$: Observable<string>;\r\n contentDensity$: Observable<ContentDensity>;\r\n selectedAppGroup$: Observable<MetaobjectDataModel | undefined>;\r\n selectedAppGroupId$: Observable<string>;\r\n mobile$: Observable<boolean>;\r\n contentHeight: string;\r\n pinnedAppInAppTileGroups$: Observable<Record<string, string[]>>;\r\n\r\n private _cdr = inject(ChangeDetectorRef);\r\n private _dialogService = inject(DialogService);\r\n private _appFinderService = inject(AppFinderService); \r\n private _contentDensityService = inject(ContentDensityService);\r\n\r\n constructor() {\r\n super();\r\n this.contentDensity$ = this._contentDensityService.contentDensity.asObservable();\r\n this.appGroups$ = this._appFinderService.appGroups$.pipe(\r\n map((appGroups) => {\r\n appGroups.forEach((cat) => {\r\n this._appFinderService.loadAppsByAppGroup(appGroups, cat);\r\n });\r\n return appGroups;\r\n })\r\n );\r\n this.selectedAppGroup$ = this._appFinderService.selectedAppGroup$;\r\n this.selectedAppGroupId$ = this._appFinderService.selectedAppGroupId$;\r\n this.deviceSize$ = this._appFinderService.deviceSize$;\r\n this.pinnedAppInAppTileGroups$ = this._appFinderService.pinnedAppInAppTileGroups$;\r\n this.mobile$ = this.deviceSize$.pipe(map((c) => c === 's'));\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.contentHeight = 'calc(' + this._el.nativeElement.offsetHeight + 'px - 2.75rem)';\r\n\r\n this.sideContentSize$ = this.deviceSize$.pipe(\r\n takeUntil(this._onDestroy$),\r\n map((deviceSize) => {\r\n switch (deviceSize) {\r\n case 's':\r\n return 'sm';\r\n case 'm':\r\n return 'md';\r\n case 'l':\r\n return 'lg';\r\n case 'xl':\r\n return 'xl';\r\n default:\r\n return 'l';\r\n }\r\n })\r\n );\r\n }\r\n\r\n onSelectedAppGroupChange(appGroupId: string): void {\r\n this._changeGroup(appGroupId);\r\n }\r\n\r\n onPinClick(app: MetaobjectDataModel): void {\r\n const pinnedAppInTileGroups = this._appFinderService.loadPinnedAppInTileGroups(app);\r\n const appTileGroups = this._appFinderService.appTileGroups;\r\n const deviceSize = this._appFinderService.deviceSize;\r\n const mobile = deviceSize === 's';\r\n this._dialogService\r\n .open(PinTileComponent, {\r\n data: { app, pinnedAppInTileGroups, appTileGroups },\r\n minWidth: '350px',\r\n minHeight: '420px',\r\n draggable: false,\r\n mobile,\r\n resizable: false,\r\n verticalPadding: false,\r\n backdropClickCloseable: false\r\n })\r\n .afterClosed.subscribe((result) => {\r\n this._appTileGroupsPinChange(result);\r\n });\r\n }\r\n onRefresh(): void {}\r\n async _appTileGroupsPinChange(result: {\r\n appTileGroupsPin: AppTileGroupPin[];\r\n app: MetaobjectDataModel;\r\n }): Promise<void> {\r\n try {\r\n // Will try to ask for permission\r\n this._appFinderService.pinTileChanged(result.appTileGroupsPin, result.app, () => {\r\n this._cdr.detectChanges();\r\n });\r\n // eslint-disable-next-line\r\n } catch (_err) {\r\n // show msg error\r\n } finally {\r\n // show toast successful\r\n }\r\n }\r\n private _changeGroup(appGroupId: string): void {\r\n this.isAllSelected = false;\r\n this._appFinderService.selectAppGroup(appGroupId);\r\n this._cdr.detectChanges();\r\n }\r\n}\r\n","<!-- \r\n<div>\r\n <div class=\"!tw-px-4 !tw-pt-2\" fd-form-item>\r\n <fd-input-group\r\n glyph=\"decline\"\r\n glyphAriaLabel=\"Clear\"\r\n placeholder=\"جستجو\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm\"\r\n (addOnButtonClicked)=\"searchTerm = ''\"\r\n >\r\n </fd-input-group>\r\n </div>\r\n @for (cat of appGroups$ | async | filterAppsGrouped:searchTerm; track cat.Id) {\r\n <fd-panel\r\n fdCompact\r\n expandAriaLabel=\"Panel Expand\"\r\n expandAriaLabelledBy=\"panel-compact-1\"\r\n [expanded]=\"!!searchTerm?.length\"\r\n >\r\n <h5 fd-panel-title id=\"panel-compact-1\">{{ cat.Title }}</h5>\r\n <div fd-panel-content ariaLabel=\"Panel Content\" id=\"panel-content-3\" class=\"!p-0\">\r\n <ul fd-list [noBorder]=\"false\">\r\n @for (app of cat.Apps | filterApps:searchTerm; track app.Id) {\r\n <li fd-list-item>\r\n <a fd-list-link [navigated]=\"true\" [dynCommand]=\"app.DynamicCommand\" (click)=\"closeMenu.emit()\">\r\n <i fd-list-icon glyph=\"history\"></i>\r\n <span fd-list-title>{{ app.Title }}</span>\r\n <span fd-list-secondary>\r\n @if(pinnedAppInAppTileGroups$ | async; as pinnedAppInAppTileGroups) {\r\n <button\r\n ariaLabel=\"Bookmark\"\r\n fdType=\"transparent\"\r\n title=\"Bookmark\"\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups[app.Id]\r\n ? pinnedAppInAppTileGroups[app.Id].length\r\n ? 'emphasized'\r\n : 'transparent'\r\n : app.$HasPinned\r\n ? 'emphasized'\r\n : 'transparent'\r\n \"\r\n (click)=\"$event.stopPropagation(); onPinClick(app)\"\r\n ></button>\r\n }\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </fd-panel>\r\n }\r\n</div> -->\r\n","import { ChangeDetectionStrategy, Component, inject, Input, signal, TemplateRef, WritableSignal } from '@angular/core';\r\nimport { BarsaTreeItemComponent } from 'barsa-sap-ui';\r\n\r\nimport { takeUntil } from 'rxjs';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { AppFinderService } from '../app-finder.service';\r\n\r\n@Component({\r\n selector: 'bt-barsa-pin-app',\r\n templateUrl: './barsa-pin-app.component.html',\r\n styleUrls: ['./barsa-pin-app.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarsaPinAppComponent extends BarsaTreeItemComponent {\r\n @Input() titleTemplateRef: TemplateRef<any>;\r\n appGroups$: WritableSignal<MetaobjectDataModel[]> = signal([]);\r\n pinnedAppInAppTileGroups$: WritableSignal<Record<string, string[]>> = signal({});\r\n private _appFinderService = inject(AppFinderService);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._appFinderService.appGroups$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\r\n this.appGroups$.set(c);\r\n });\r\n this._appFinderService.pinnedAppInAppTileGroups$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\r\n this.pinnedAppInAppTileGroups$.set(c);\r\n });\r\n }\r\n onPinTap(): void {}\r\n}\r\n","<ng-container *ngIf=\"titleTemplateRef\">\r\n <ng-container *ngTemplateOutlet=\"titleTemplateRef\"></ng-container>\r\n</ng-container>\r\n<button\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups$()[node.Data.Id]\r\n ? pinnedAppInAppTileGroups$()[node.Data.Id].length\r\n ? 'emphasized'\r\n : 'standard'\r\n : node.Data.$HasPinned\r\n ? 'emphasized'\r\n : 'standard'\r\n \"\r\n (click)=\"onPinTap()\"\r\n></button>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostBinding,\r\n inject,\r\n OnChanges,\r\n signal,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport {\r\n BarsaApi,\r\n BaseComponent,\r\n getDeviceIsMobile,\r\n LogService,\r\n LocalStorageService,\r\n MetaobjectDataModel,\r\n BreadcrumbService,\r\n BreadCrumbInfo,\r\n RoutingService,\r\n MoForReportModel,\r\n PortalService,\r\n AbbrevationDeviceSize,\r\n SortDirection\r\n} from 'barsa-novin-ray-core';\r\nimport { BaseTileSetting } from '../models';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bt-barsa-tile-group-page',\r\n templateUrl: './barsa-tile-group-page.component.html',\r\n styleUrls: ['./barsa-tile-group-page.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [RoutingService],\r\n standalone: false\r\n})\r\nexport class BarsaTileGroupPageComponent extends BaseComponent implements OnChanges {\r\n @ViewChild('containerRef', { read: ViewContainerRef }) _containerRef: ViewContainerRef;\r\n @HostBinding('style.position') _position = 'absolute';\r\n moList = signal<BaseTileSetting[]>([]);\r\n isMobile = getDeviceIsMobile();\r\n rtl = BarsaApi.LoginFormData.IsRtl;\r\n title: string | null;\r\n dialogRef: any;\r\n parameters: BarsaTileGroupPageSettings;\r\n settings: BarsaTileGroupPageSettings;\r\n isSimple: boolean;\r\n listMode: boolean;\r\n breadcrumbs$: Observable<BreadCrumbInfo[]>;\r\n reportId: string;\r\n loading = signal(false);\r\n deviceSize: AbbrevationDeviceSize;\r\n sortSettingA = {\r\n Name: 'AppGroup',\r\n SortDirection: SortDirection.ASC,\r\n IsGrouped: true\r\n };\r\n sortSetting = signal([this.sortSettingA]);\r\n protected _logService: LogService = inject(LogService);\r\n protected _activatedRoute = inject(ActivatedRoute);\r\n protected _cdr = inject(ChangeDetectorRef);\r\n protected _router = inject(Router);\r\n protected _localStorage = inject(LocalStorageService);\r\n protected _breadCrumbService = inject(BreadcrumbService);\r\n protected _portalService = inject(PortalService);\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.breadcrumbs$ = this._breadCrumbService.breadcrumbs$;\r\n\r\n this.title = localStorage.getItem('ActiveTile');\r\n this.isSimple = this.parameters?.IsSimple || this.settings?.IsSimple;\r\n this.listMode = this.parameters?.ListMode || this.settings?.ListMode;\r\n if (this.isSimple) {\r\n this._position = 'relative';\r\n }\r\n this.deviceSize = this._portalService.deviceSize;\r\n const id = this._activatedRoute.snapshot.params['id'];\r\n\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [id],\r\n Method: 'GetTileGroupApps',\r\n SuccessFn: (e: MoForReportModel) => {\r\n if (e.MoDataList.length) {\r\n const key = Object.keys(e.MoDataList[0]).filter((c) => c.indexOf('AppTileGroup') > 0);\r\n if (key.length) {\r\n this.sortSettingA.Name = key[0];\r\n this.sortSetting.set([this.sortSettingA]);\r\n }\r\n }\r\n this.moList.set(e.MoDataList as Array<BaseTileSetting>);\r\n },\r\n FailFn: (e) => {\r\n this._logService.error(e);\r\n }\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n }\r\n onClose(): void {\r\n this._router.navigate(['../']);\r\n }\r\n}\r\ninterface BarsaTileGroupPageSettings extends MetaobjectDataModel {\r\n IsSimple: boolean;\r\n ListMode: boolean;\r\n}\r\n","@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","import { ChangeDetectionStrategy, Component, inject, OnChanges, signal } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport {\r\n BarsaApi,\r\n getDeviceIsMobile,\r\n LocalStorageService,\r\n BreadcrumbService,\r\n BreadCrumbInfo,\r\n RoutingService,\r\n EmptyPageComponent\r\n} from 'barsa-novin-ray-core';\r\nimport { Observable, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bt-barsa-tile-sidebar-page',\r\n templateUrl: './barsa-tile-sidebar-page.component.html',\r\n styleUrls: ['./barsa-tile-sidebar-page.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [RoutingService],\r\n standalone: false\r\n})\r\nexport class BarsaTileSidebarPageComponent extends EmptyPageComponent implements OnChanges {\r\n isMobile = getDeviceIsMobile();\r\n rtl = BarsaApi.LoginFormData.IsRtl;\r\n\r\n breadcrumbs$: Observable<BreadCrumbInfo[]>;\r\n title: string | null;\r\n firstReportLoaded = signal(false);\r\n protected _router = inject(Router);\r\n protected _localStorage = inject(LocalStorageService);\r\n protected _breadCrumbService = inject(BreadcrumbService);\r\n protected _routingService = inject(RoutingService); // create new routing service to handle sidebar navigation\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.isFirstPage = false;\r\n this._portalService.navigationEnd$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\r\n c && c.url.indexOf('mainside:report') > 0 && this.firstReportLoaded.set(true);\r\n });\r\n this.breadcrumbs$ = this._breadCrumbService.breadcrumbs$;\r\n this._routingService.isSidebar = true;\r\n this.title = localStorage.getItem('ActiveTile');\r\n }\r\n onClose(): void {\r\n this._router.navigate(['../']);\r\n }\r\n}\r\n","<div fd-bar>\r\n <div fd-bar-left style=\"flex: 1; width: 100%\">\r\n <fd-breadcrumb style=\"width: 100%\">\r\n @if (breadcrumbs$ | async; as breadCrumbs) { @for ( breadCrumb of breadCrumbs ;track breadCrumb.url; let i =\r\n $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 </div>\r\n</div>\r\n\r\n<fd-dynamic-side-content class=\"tiles-sidebar-wrapper\" fillEmptySpace style=\"overflow: auto\">\r\n <fd-dynamic-side-content-side>\r\n <ng-container #containerRef></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main style=\"padding: 2rem\">\r\n @if(firstReportLoaded()===false){\r\n <fd-message-page type=\"no-items\" style=\"align-self: center; background: transparent\">\r\n <fd-message-page-title>{{ 'SearchInReports' | bbbTranslate }}</fd-message-page-title>\r\n </fd-message-page>\r\n }\r\n <router-outlet name=\"mainside\"> </router-outlet>\r\n </fd-dynamic-side-content-main>\r\n</fd-dynamic-side-content>\r\n<div class=\"sidbar-outlet\">\r\n <router-outlet></router-outlet>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, OnInit, signal } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\nimport { FilePictureInfoModel, CardMediaSize } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-card-tile',\r\n templateUrl: './card-tile.component.html',\r\n styleUrls: ['./card-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CardTileComponent extends BaseBtTileComponent<BaseTileSetting> implements OnInit {\r\n icon: string;\r\n iconCalc: string;\r\n iconColor: string;\r\n isCircle: boolean;\r\n pictureIcon: FilePictureInfoModel;\r\n hideSkeleton = signal(false);\r\n cardMediaSize: CardMediaSize;\r\n backgroundColor: string;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.icon = this.settings.Icon;\r\n this.isCircle = this.settings.IsCircle;\r\n this.pictureIcon = this.settings.PictureIcon;\r\n this.cardMediaSize = this.settings.CardMediaSize$Caption;\r\n this.backgroundColor = this.settings.BackgroundColor;\r\n if (this.icon && this.icon.toLowerCase().startsWith('ih')) {\r\n this.iconCalc = this.icon;\r\n }\r\n this.iconColor = this.settings.IconColor;\r\n }\r\n}\r\n","<fd-card\r\n (click)=\"onTileClick()\"\r\n tileDynCommand\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters | bbbTranslate\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [badge]=\"data | tileProp: 'Badge':parameters | bbbTranslate\"\r\n [ngClass]=\"groupType\"\r\n [interactive]=\"true\"\r\n [class.hassize]=\"cardMediaSize\"\r\n [style.background-color]=\"backgroundColor ? backgroundColor : null\"\r\n [class.custom-background]=\"backgroundColor\"\r\n>\r\n <fd-card-media>\r\n <div fd-card-media-image-container>\r\n <bsu-barsa-img-skeleton\r\n fd-card-media-image\r\n [title]=\"data | tileProp: 'Title':parameters | bbbTranslate\"\r\n [imageUrl]=\"data | tileProp: 'Picture':parameters | picFieldSrc: 'GetPictureFromFileInfo':null\"\r\n [size]=\"cardMediaSize | cardMediaSize: 160\"\r\n [widthFull]=\"!cardMediaSize\"\r\n ></bsu-barsa-img-skeleton>\r\n <!-- <fd-skeleton [style.display]=\"!hideSkeleton() ? null:'none'\" type=\"rectangle\" width=\"100%\" height=\"160px\"></fd-skeleton>\r\n <img\r\n fd-card-media-image\r\n [src]=\"data | tileProp: 'Picture':parameters | picFieldSrc: 'GetPictureFromFileInfo':null\"\r\n [alt]=\"data | tileProp: 'Title':parameters\"\r\n style=\"max-height: 160px\"\r\n [style.display]=\"!hideSkeleton() ? 'none':null\"\r\n (load)=\"hideSkeleton.set(true)\"\r\n /> -->\r\n </div>\r\n </fd-card-media>\r\n <fd-card-header>\r\n <fd-card-main-header>\r\n <h2 fd-card-title>{{ data | tileProp: 'Title':parameters | bbbTranslate }}</h2>\r\n <h3 fd-card-subtitle>{{ data | tileProp: 'Subtitle':parameters | bbbTranslate }}</h3>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n</fd-card>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Pipe({\r\n name: 'homeGroup',\r\n standalone: false\r\n})\r\nexport class HomeGroupPipe implements PipeTransform {\r\n constructor() {}\r\n transform(appGroups: MetaobjectDataModel[]): MetaobjectDataModel[] {\r\n return appGroups.filter((c) => c.navigatorTiles && c.navigatorTiles.length > 0);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'actionLinks',\r\n standalone: false\r\n})\r\nexport class ActionLinksPipe implements PipeTransform {\r\n transform(tiles: any): any {\r\n return tiles.filter((tile) => tile.IsActionLink);\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n inject\r\n} from '@angular/core';\r\nimport { BaseComponent, NotificationItem } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bt-notification-group-header',\r\n templateUrl: './notification-group-header.component.html',\r\n styleUrls: ['./notification-group-header.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class NotificationGroupHeaderComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() notifications: NotificationItem[];\r\n @Input() title: string;\r\n unreadCount = 0;\r\n private _cdr = inject(ChangeDetectorRef);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.setUnreadCount(this.notifications);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { notifications } = changes;\r\n if (notifications && !notifications.firstChange) {\r\n this.setUnreadCount(notifications.currentValue);\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n private setUnreadCount(notifications: NotificationItem[]): void {\r\n this.unreadCount = notifications.filter((c) => c.Unread).length;\r\n }\r\n}\r\n","<h2 fd-notification-title [unread]=\"false\">\r\n {{ title | bbbTranslate }} ({{ notifications.length }}) @if (unreadCount !== 0) {\r\n <strong>{{ 'New' | bbbTranslate }} ({{ unreadCount }})</strong>\r\n }\r\n</h2>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Pipe({\r\n name: 'filterAppsGrouped',\r\n standalone: true,\r\n pure: false\r\n})\r\nexport class FilterAppsGroupedPipe implements PipeTransform {\r\n transform(value: MetaobjectDataModel[] | undefined | null, term: string): MetaobjectDataModel[] | undefined | null {\r\n return value?.filter((cat) => !!cat.Apps.filter((app) => app.$Caption.includes(term ?? ''))?.length);\r\n }\r\n}\r\n\r\n@Pipe({\r\n name: 'filterApps',\r\n standalone: true,\r\n pure: false\r\n})\r\nexport class FilterAppsPipe implements PipeTransform {\r\n transform(value: MetaobjectDataModel[] | undefined | null, term: string): MetaobjectDataModel[] | undefined | null {\r\n if (!Array.isArray(value) || !term) {\r\n return value;\r\n }\r\n return value?.filter((app) => app.$Caption.includes(term));\r\n }\r\n}\r\n","import { Directive, OnChanges, OnDestroy, OnInit } from '@angular/core';\r\nimport { BaseDirective } from 'barsa-novin-ray-core';\r\nimport { takeUntil } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[tileSize]',\r\n standalone: false\r\n})\r\nexport class TileSizeDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy {\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\r\n if (c === 's') {\r\n this._renderer2.addClass(this._el.nativeElement.firstChild, 'fd-tile--s');\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard, PortalPageResolver, TileGroupBreadcrumResolver } from 'barsa-novin-ray-core';\r\nimport { BarsaTileSidebarPageComponent } from './barsa-tile-sidebar-page/barsa-tile-sidebar-page.component';\r\nimport { ReportNavigatorComponent } from 'barsa-sap-ui';\r\n\r\nexport const extendHomeRouter = [\r\n {\r\n path: 'appgroupsidebar',\r\n component: BarsaTileSidebarPageComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n pageData: {\r\n Module: 'BarsaHomePage',\r\n HasAuthorize: true,\r\n Route: '/appgroupsidebar'\r\n }\r\n },\r\n resolve: { pageData: PortalPageResolver, breadcrumb: TileGroupBreadcrumResolver },\r\n children: [\r\n {\r\n path: 'report/:id',\r\n outlet: 'mainside',\r\n component: ReportNavigatorComponent,\r\n data: {\r\n pageData: {\r\n HasAuthorize: false,\r\n Route: '/report',\r\n Module: 'BarsaReportPage'\r\n }\r\n }\r\n },\r\n {\r\n path: 'popup',\r\n loadChildren: () => import('barsa-novin-ray-core').then((c) => c.BarsaSapUiFormPageModule)\r\n },\r\n {\r\n path: 'formfieldshow',\r\n loadChildren: () => import('barsa-novin-ray-core').then((c) => c.BarsaSapUiFormPageModule)\r\n }\r\n ]\r\n }\r\n];\r\nconst routes: Routes = [];\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class BarsaTilesRoutingModule {}\r\n","import { ComponentFactoryResolver, NgModule, NO_ERRORS_SCHEMA, inject, provideAppInitializer } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule, LowerCasePipe } from '@angular/common';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport {\r\n IconTabBarComponent,\r\n IconTabBarTabComponent,\r\n IconTabBarTabContentDirective,\r\n SearchFieldComponent\r\n} from '@fundamental-ngx/platform';\r\nimport { FundamentalNgxCoreModule, GridListModule, ShellbarUserMenuComponent } from '@fundamental-ngx/core';\r\nimport { SplitterModule } from '@fundamental-ngx/btp/splitter';\r\nimport {\r\n UserMenuBodyComponent,\r\n UserMenuComponent,\r\n UserMenuControlComponent,\r\n UserMenuFooterComponent,\r\n UserMenuHeaderContainerDirective,\r\n UserMenuHeaderDirective,\r\n UserMenuListComponent,\r\n UserMenuListItemComponent,\r\n UserMenuSublineDirective,\r\n UserMenuUserNameDirective\r\n} from '@fundamental-ngx/core/user-menu';\r\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\r\nimport { BarsaSapUiModule } from 'barsa-sap-ui';\r\nimport { BarsaEchartsModule } from 'barsa-echarts';\r\n\r\nimport { ShellbarComponent } from './shellbar/shellbar.component';\r\nimport { TilesViewerComponent } from './tiles-viewer/tiles-viewer.component';\r\nimport { ProfileTileComponent } from './profile-tile/profile-tile.component';\r\nimport { SimpleTileComponent } from './simple-tile/simple-tile.component';\r\nimport { FeedTileComponent } from './feed-tile/feed-tile.component';\r\nimport { FooterTileComponent } from './footer-tile/footer-tile.component';\r\nimport { TileComponent } from './tile/tile.component';\r\nimport { LogoTileComponent } from './logo-tile/logo-tile.component';\r\nimport { NumericTileComponent } from './numeric-tile/numeric-tile.component';\r\nimport { TileHomeFilterPipe } from './pipes/tile-home-filter.pipe';\r\nimport { FooterEditTileComponent } from './footer-edit-tile/footer-edit-tile.component';\r\nimport { FormAppFinderComponent } from './form-app-finder/form-app-finder.component';\r\nimport { PinTileComponent } from './pin-tile/pin-tile.component';\r\nimport { GroupTilesPipe } from './pipes/group-tiles.pipe';\r\nimport { HomeGroupPipe } from './pipes/home-group.pipe';\r\nimport { TilePropPipe } from './pipes/tile-prop.pipe';\r\n\r\nimport { TilesService } from './tiles.service';\r\nimport { EmptyListDirective } from './directives/emptylist.directive';\r\nimport { ChangeAppTileComponent } from './change-app-tile/change-app-tile.component';\r\nimport { CreateAppGroupComponent } from './create-app-group/create-app-group.component';\r\n\r\nimport { MicroTileChartBarComponent } from './micro-tile-chart-bar/micro-tile-chart-bar.component';\r\nimport { MicroTileChartAreaComponent } from './micro-tile-chart-area/micro-tile-chart-area.component';\r\nimport { MicroTileChartCircularComponent } from './micro-tile-chart-circular/micro-tile-chart-circular.component';\r\nimport { MicroTileChartLineComponent } from './micro-tile-chart-line/micro-tile-chart-line.component';\r\nimport { MicroTileChartStackbarComponent } from './micro-tile-chart-stackbar/micro-tile-chart-stackbar.component';\r\nimport { MicroTileChartComparisonComponent } from './micro-tile-chart-comparison/micro-tile-chart-comparison.component';\r\nimport { NewsTileComponent } from './news-tile/news-tile.component';\r\nimport { ActionsLinkComponent } from './actions-link/actions-link.component';\r\nimport { ActionItemComponent } from './action-item/action-item.component';\r\nimport { MicroTileChartBulletComponent } from './micro-tile-chart-bullet/micro-tile-chart-bullet.component';\r\nimport { ActionLinksPipe } from './action-links.pipe';\r\nimport { AppFinderService } from './app-finder.service';\r\nimport { TilesViewerContainerComponent } from './tiles-viewer-container/tiles-viewer-container.component';\r\nimport { AppFinderComponent } from './app-finder/app-finder.component';\r\nimport { AppFinderGroupComponent } from './app-finder-group/app-finder-group.component';\r\nimport { AppFinderAppListComponent } from './app-finder-app-list/app-finder-app-list.component';\r\nimport { TileRendererDirective } from './tile-renderer.directive';\r\nimport { TilesViewerGroupComponent } from './tiles-viewer-group/tiles-viewer-group.component';\r\nimport { FormTileComponent } from './form-tile/form-tile.component';\r\nimport { NotificationGroupComponent } from './notification-group/notification-group.component';\r\nimport { NotificationGroupHeaderComponent } from './notification-group-header/notification-group-header.component';\r\nimport { BarsaShellbarComponent } from './barsa-shellbar/barsa-shellbar.component';\r\n\r\nimport { PopoverAppFinderComponent } from './popover-app-finder/popover-app-finder.component';\r\nimport { FilterAppsGroupedPipe, FilterAppsPipe } from './popover-app-finder/filter-apps-grouped.pipe';\r\nimport { TileStyleDirective } from './tile-style.directive';\r\nimport { TileSizeDirective } from './tile-size.directive';\r\nimport { TileDynamicCommandDirective } from './directives/tile-dynamic-command.directive';\r\nimport { BarsaPinAppComponent } from './barsa-pin-app/barsa-pin-app.component';\r\nimport { Router, RouterModule } from '@angular/router';\r\nimport { BarsaTileGroupPageComponent } from './barsa-tile-group-page/barsa-tile-group-page.component';\r\nimport { BarsaTilesRoutingModule, extendHomeRouter } from './barsa-tiles-routing.module';\r\nimport { BarsaTileSidebarPageComponent } from './barsa-tile-sidebar-page/barsa-tile-sidebar-page.component';\r\nimport { ReportTileComponent } from './report-tile/report-tile.component';\r\nimport { CardTileComponent } from './card-tile/card-tile.component';\r\nimport { TileClassDirective } from './directives/tile-class.directive';\r\nimport { SemantiToButtonColorPipe } from './semantic-to-button-color.pipe';\r\nimport { TilesViewerMegamenuComponent } from './tiles-viewer-megamenu/tiles-viewer-megamenu.component';\r\nimport { MegamenuPipe } from './megamenu.pipe';\r\n\r\nconst components = [\r\n ShellbarComponent,\r\n SimpleTileComponent,\r\n TilesViewerComponent,\r\n ProfileTileComponent,\r\n FeedTileComponent,\r\n FooterTileComponent,\r\n TileComponent,\r\n LogoTileComponent,\r\n NumericTileComponent,\r\n FooterEditTileComponent,\r\n FormAppFinderComponent,\r\n PinTileComponent,\r\n ChangeAppTileComponent,\r\n CreateAppGroupComponent,\r\n MicroTileChartAreaComponent,\r\n MicroTileChartCircularComponent,\r\n MicroTileChartLineComponent,\r\n MicroTileChartStackbarComponent,\r\n MicroTileChartComparisonComponent,\r\n MicroTileChartBarComponent,\r\n MicroTileChartBulletComponent,\r\n TilesViewerContainerComponent,\r\n NewsTileComponent,\r\n ActionsLinkComponent,\r\n ActionItemComponent,\r\n AppFinderComponent,\r\n AppFinderGroupComponent,\r\n AppFinderAppListComponent,\r\n TilesViewerGroupComponent,\r\n FormTileComponent,\r\n BarsaShellbarComponent,\r\n PopoverAppFinderComponent,\r\n BarsaPinAppComponent,\r\n BarsaTileGroupPageComponent,\r\n BarsaTileSidebarPageComponent,\r\n ReportTileComponent,\r\n CardTileComponent,\r\n TilesViewerMegamenuComponent\r\n];\r\nconst pipes = [\r\n GroupTilesPipe,\r\n TileHomeFilterPipe,\r\n HomeGroupPipe,\r\n ActionLinksPipe,\r\n TilePropPipe,\r\n SemantiToButtonColorPipe,\r\n MegamenuPipe\r\n];\r\nconst directives = [\r\n EmptyListDirective,\r\n TileRendererDirective,\r\n TileStyleDirective,\r\n TileSizeDirective,\r\n TileDynamicCommandDirective,\r\n TileClassDirective\r\n];\r\nexport function addTilesPageSidebar(_router: Router): void {\r\n const config = _router.config;\r\n const home = config.find((c) => c.path === 'home');\r\n home?.children?.push(...extendHomeRouter);\r\n const servicedesk = config.find((c) => c.path === 'servicedesk');\r\n servicedesk?.children?.push(...extendHomeRouter);\r\n _router.resetConfig(config);\r\n}\r\n@NgModule({\r\n schemas: [NO_ERRORS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n ReactiveFormsModule,\r\n DragDropModule,\r\n CdkTableModule,\r\n FundamentalNgxCoreModule,\r\n GridListModule,\r\n IconTabBarComponent,\r\n IconTabBarTabComponent,\r\n IconTabBarTabContentDirective,\r\n FilterAppsGroupedPipe,\r\n FilterAppsPipe,\r\n SplitterModule,\r\n SearchFieldComponent,\r\n ShellbarUserMenuComponent,\r\n UserMenuComponent,\r\n UserMenuControlComponent,\r\n UserMenuBodyComponent,\r\n UserMenuListComponent,\r\n UserMenuFooterComponent,\r\n UserMenuHeaderDirective,\r\n UserMenuSublineDirective,\r\n UserMenuUserNameDirective,\r\n UserMenuSublineDirective,\r\n UserMenuHeaderContainerDirective,\r\n UserMenuListItemComponent,\r\n UserMenuListComponent,\r\n BarsaNovinRayCoreModule,\r\n BarsaSapUiModule,\r\n BarsaTilesRoutingModule,\r\n BarsaEchartsModule\r\n ],\r\n providers: [\r\n ...pipes,\r\n TilesService,\r\n AppFinderService,\r\n LowerCasePipe,\r\n provideAppInitializer(() => {\r\n const initializerFn = (\r\n (_router: Router) => () =>\r\n addTilesPageSidebar(_router)\r\n )(inject(Router));\r\n return initializerFn();\r\n })\r\n ],\r\n declarations: [\r\n ...components,\r\n ...pipes,\r\n ...directives,\r\n NotificationGroupComponent,\r\n NotificationGroupHeaderComponent\r\n ],\r\n exports: [...components]\r\n})\r\nexport class BarsaTilesModule extends BaseModule {\r\n protected dcm: DynamicComponentService;\r\n protected componentFactoryResolver: ComponentFactoryResolver;\r\n\r\n protected dynamicComponents = [...components];\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n\r\n constructor() {\r\n const dcm = inject(DynamicComponentService);\r\n const componentFactoryResolver = inject(ComponentFactoryResolver);\r\n\r\n super(dcm, componentFactoryResolver, 'BarsaTilesModule');\r\n\r\n this.dcm = dcm;\r\n this.componentFactoryResolver = componentFactoryResolver;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["takeUntil","filter","i2","i3","i4","i1","i5","i6","i7.FooterTileComponent","i8.TileStyleDirective","i9.TileDynamicCommandDirective","i3.TileComponent","i4.TilePropPipe","i2.ActionItemComponent","i3.TileDynamicCommandDirective","i9","i10","i11","i12.ActionsLinkComponent","i13.TileRendererDirective","i14.TileClassDirective","i6.EmptyListDirective","i7","i8.AppFinderGroupComponent","i9.AppFinderAppListComponent","i8","i2.MegamenuPipe","i4.TilesViewerComponent","i5.TilesViewerMegamenuComponent","i5.TileComponent","i6.TilePropPipe","i3.AppFinderComponent","i2.TileComponent","i5.TilePropPipe","i7.TilePropPipe","map","ShellbarComponent","i14","i16","i17","i18.NotificationGroupComponent","i2.BarsaShellbarComponent","i9.TileRendererDirective","i4.TileDynamicCommandDirective"],"mappings":"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"}
1
+ {"version":3,"file":"barsa-tiles.mjs","sources":["../../../projects/barsa-tiles/src/lib/tiles.service.ts","../../../projects/barsa-tiles/src/lib/models/base-tile-component.ts","../../../projects/barsa-tiles/src/lib/models/base-bt-tile-component.ts","../../../projects/barsa-tiles/src/lib/footer-tile/footer-tile.component.ts","../../../projects/barsa-tiles/src/lib/footer-tile/footer-tile.component.html","../../../projects/barsa-tiles/src/lib/tile-style.directive.ts","../../../projects/barsa-tiles/src/lib/directives/tile-dynamic-command.directive.ts","../../../projects/barsa-tiles/src/lib/tile/tile.component.ts","../../../projects/barsa-tiles/src/lib/tile/tile.component.html","../../../projects/barsa-tiles/src/lib/pipes/tile-prop.pipe.ts","../../../projects/barsa-tiles/src/lib/form-tile/form-tile.component.ts","../../../projects/barsa-tiles/src/lib/form-tile/form-tile.component.html","../../../projects/barsa-tiles/src/lib/tile-group-base.component.ts","../../../projects/barsa-tiles/src/lib/action-item/action-item.component.ts","../../../projects/barsa-tiles/src/lib/action-item/action-item.component.html","../../../projects/barsa-tiles/src/lib/actions-link/actions-link.component.ts","../../../projects/barsa-tiles/src/lib/actions-link/actions-link.component.html","../../../projects/barsa-tiles/src/lib/tile-renderer.directive.ts","../../../projects/barsa-tiles/src/lib/directives/tile-class.directive.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer-group/tiles-viewer-group.component.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer-group/tiles-viewer-group.component.html","../../../projects/barsa-tiles/src/lib/directives/emptylist.directive.ts","../../../projects/barsa-tiles/src/lib/app-finder-app-list/app-finder-app-list.component.ts","../../../projects/barsa-tiles/src/lib/app-finder-app-list/app-finder-app-list.component.html","../../../projects/barsa-tiles/src/lib/app-finder-group/app-finder-group.component.ts","../../../projects/barsa-tiles/src/lib/app-finder-group/app-finder-group.component.html","../../../projects/barsa-tiles/src/lib/app-finder/app-finder.component.ts","../../../projects/barsa-tiles/src/lib/app-finder/app-finder.component.html","../../../projects/barsa-tiles/src/lib/change-app-tile/change-app-tile.component.ts","../../../projects/barsa-tiles/src/lib/change-app-tile/change-app-tile.component.html","../../../projects/barsa-tiles/src/lib/tiles-viewer.service.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer/tiles-viewer.component.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer/tiles-viewer.component.html","../../../projects/barsa-tiles/src/lib/semantic-to-button-color.pipe.ts","../../../projects/barsa-tiles/src/lib/megamenu.pipe.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer-megamenu/tiles-viewer-megamenu.component.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer-megamenu/tiles-viewer-megamenu.component.html","../../../projects/barsa-tiles/src/lib/tiles-viewer-container/tiles-viewer-container.component.ts","../../../projects/barsa-tiles/src/lib/tiles-viewer-container/tiles-viewer-container.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.html","../../../projects/barsa-tiles/src/lib/news-tile/news-tile.component.ts","../../../projects/barsa-tiles/src/lib/news-tile/news-tile.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-comparison/micro-tile-chart-comparison.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-comparison/micro-tile-chart-comparison.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-stackbar/micro-tile-chart-stackbar.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-stackbar/micro-tile-chart-stackbar.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-line/micro-tile-chart-line.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-line/micro-tile-chart-line.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-circular/micro-tile-chart-circular.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-circular/micro-tile-chart-circular.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-area/micro-tile-chart-area.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-area/micro-tile-chart-area.component.html","../../../projects/barsa-tiles/src/lib/micro-tile-chart-bar/micro-tile-chart-bar.component.ts","../../../projects/barsa-tiles/src/lib/micro-tile-chart-bar/micro-tile-chart-bar.component.html","../../../projects/barsa-tiles/src/lib/create-app-group/create-app-group.component.ts","../../../projects/barsa-tiles/src/lib/create-app-group/create-app-group.component.html","../../../projects/barsa-tiles/src/lib/pin-tile/pin-tile.component.ts","../../../projects/barsa-tiles/src/lib/pin-tile/pin-tile.component.html","../../../projects/barsa-tiles/src/lib/app-finder.service.ts","../../../projects/barsa-tiles/src/lib/form-app-finder/form-app-finder.component.ts","../../../projects/barsa-tiles/src/lib/form-app-finder/form-app-finder.component.html","../../../projects/barsa-tiles/src/lib/footer-edit-tile/footer-edit-tile.component.ts","../../../projects/barsa-tiles/src/lib/footer-edit-tile/footer-edit-tile.component.html","../../../projects/barsa-tiles/src/lib/numeric-tile/numeric-tile.component.ts","../../../projects/barsa-tiles/src/lib/numeric-tile/numeric-tile.component.html","../../../projects/barsa-tiles/src/lib/logo-tile/logo-tile.component.ts","../../../projects/barsa-tiles/src/lib/logo-tile/logo-tile.component.html","../../../projects/barsa-tiles/src/lib/feed-tile/feed-tile.component.ts","../../../projects/barsa-tiles/src/lib/feed-tile/feed-tile.component.html","../../../projects/barsa-tiles/src/lib/simple-tile/simple-tile.component.ts","../../../projects/barsa-tiles/src/lib/simple-tile/simple-tile.component.html","../../../projects/barsa-tiles/src/lib/report-tile/report-tile.component.ts","../../../projects/barsa-tiles/src/lib/report-tile/report-tile.component.html","../../../projects/barsa-tiles/src/lib/profile-tile/profile-tile.component.ts","../../../projects/barsa-tiles/src/lib/profile-tile/profile-tile.component.html","../../../projects/barsa-tiles/src/lib/notification-group/notification-group.component.ts","../../../projects/barsa-tiles/src/lib/notification-group/notification-group.component.html","../../../projects/barsa-tiles/src/lib/barsa-shellbar/barsa-shellbar.component.ts","../../../projects/barsa-tiles/src/lib/barsa-shellbar/barsa-shellbar.component.html","../../../projects/barsa-tiles/src/lib/shellbar/shellbar.component.ts","../../../projects/barsa-tiles/src/lib/shellbar/shellbar.component.html","../../../projects/barsa-tiles/src/lib/pipes/tile-home-filter.pipe.ts","../../../projects/barsa-tiles/src/lib/pipes/group-tiles.pipe.ts","../../../projects/barsa-tiles/src/lib/popover-app-finder/popover-app-finder.component.ts","../../../projects/barsa-tiles/src/lib/popover-app-finder/popover-app-finder.component.html","../../../projects/barsa-tiles/src/lib/barsa-pin-app/barsa-pin-app.component.ts","../../../projects/barsa-tiles/src/lib/barsa-pin-app/barsa-pin-app.component.html","../../../projects/barsa-tiles/src/lib/barsa-tile-group-page/barsa-tile-group-page.component.ts","../../../projects/barsa-tiles/src/lib/barsa-tile-group-page/barsa-tile-group-page.component.html","../../../projects/barsa-tiles/src/lib/barsa-tile-sidebar-page/barsa-tile-sidebar-page.component.ts","../../../projects/barsa-tiles/src/lib/barsa-tile-sidebar-page/barsa-tile-sidebar-page.component.html","../../../projects/barsa-tiles/src/lib/card-tile/card-tile.component.ts","../../../projects/barsa-tiles/src/lib/card-tile/card-tile.component.html","../../../projects/barsa-tiles/src/lib/pipes/home-group.pipe.ts","../../../projects/barsa-tiles/src/lib/action-links.pipe.ts","../../../projects/barsa-tiles/src/lib/notification-group-header/notification-group-header.component.ts","../../../projects/barsa-tiles/src/lib/notification-group-header/notification-group-header.component.html","../../../projects/barsa-tiles/src/lib/popover-app-finder/filter-apps-grouped.pipe.ts","../../../projects/barsa-tiles/src/lib/tile-size.directive.ts","../../../projects/barsa-tiles/src/lib/barsa-tiles-routing.module.ts","../../../projects/barsa-tiles/src/lib/barsa-tiles.module.ts","../../../projects/barsa-tiles/src/barsa-tiles.ts"],"sourcesContent":["import { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { Subject, BehaviorSubject, Observable, of, from } from 'rxjs';\r\nimport { concatMap, distinctUntilChanged, filter, map, shareReplay, startWith, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport { RtlService, ThemingService } from '@fundamental-ngx/core';\r\nimport {\r\n AppTileGroup,\r\n BarsaApi,\r\n BbbTranslatePipe,\r\n MetaobjectDataModel,\r\n MoForReportModel,\r\n PortalService,\r\n MoForReportModelBase\r\n} from 'barsa-novin-ray-core';\r\nimport { AppTileGroupPin, UserPortalSettings, UserInfo } from './models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TilesService implements OnDestroy {\r\n deviceSize$: Observable<'s' | 'm' | 'l' | 'xl'>;\r\n homeAppTileGroups$: Observable<AppTileGroup[]>;\r\n pinTiles$: Observable<PinTileInfo | null>;\r\n shellbarSource = new Subject<MetaobjectDataModel>();\r\n shellbar$: Observable<MetaobjectDataModel>;\r\n appTileGroups$: Observable<MoForReportModelBase<AppTileGroup> | null>;\r\n edit$: Observable<boolean>;\r\n userInfo$: Observable<UserInfo | null>;\r\n\r\n private _OnDestroy$ = new Subject<void>();\r\n private _homeAppTileGroupsSource = new BehaviorSubject<AppTileGroup[]>([]);\r\n private pinTilesSource = new Subject<PinTileInfo>();\r\n private _appTileGroupsSource = new BehaviorSubject<MoForReportModelBase<AppTileGroup> | null>(null);\r\n private _userInfo$ = new BehaviorSubject<UserInfo | null>(null);\r\n private _edithomeSource = new BehaviorSubject<boolean>(false);\r\n private _componentSettings$ = new Subject<MetaobjectDataModel>();\r\n private _themingService = inject(ThemingService);\r\n private _portalService = inject(PortalService);\r\n private _rtlService = inject(RtlService);\r\n private _bbbTranslatePipe = inject(BbbTranslatePipe);\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n\r\n constructor() {\r\n BarsaApi.Bw.TilesService = this;\r\n this.userInfo$ = this._userInfo$.asObservable();\r\n this.homeAppTileGroups$ = this._homeAppTileGroupsSource.asObservable();\r\n this.pinTiles$ = this.pinTilesSource.asObservable().pipe(startWith(null));\r\n this.shellbarSource = new Subject<MetaobjectDataModel>();\r\n this.shellbar$ = this.shellbarSource.asObservable().pipe(shareReplay(1));\r\n this.appTileGroups$ = this._appTileGroupsSource.pipe(shareReplay(1));\r\n\r\n this.edit$ = this._edithomeSource.asObservable().pipe(takeUntil(this._OnDestroy$), distinctUntilChanged());\r\n this.deviceSize$ = this._portalService.deviceSize$;\r\n this._rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);\r\n this.appTileGroups$\r\n .pipe(\r\n filter((moForReportModel) => moForReportModel !== null),\r\n tap((moForReportModel) => {\r\n if (moForReportModel) {\r\n this._allAppsLoaded(moForReportModel);\r\n }\r\n })\r\n )\r\n .subscribe();\r\n BarsaApi.Ul.ApplicationCtrlr.on('GlobalRefreshTile', this._onApplication_GlobalRefreshTile.bind(this));\r\n }\r\n get componentSettings$(): Observable<MetaobjectDataModel> {\r\n return this._componentSettings$.asObservable();\r\n }\r\n get isDark$(): Observable<boolean | null> {\r\n return this._themingService.currentTheme.pipe(map((c) => c && c.name.toLocaleLowerCase().includes('dark')));\r\n }\r\n get appTileGroups(): MoForReportModelBase<AppTileGroup> | null {\r\n return this._appTileGroupsSource.getValue();\r\n }\r\n ngOnDestroy(): void {\r\n this._OnDestroy$.next();\r\n }\r\n loadAllAppTileGroupsByReportId(id: string): void {\r\n this._loadAllAppTileGroupsByReportId(id);\r\n }\r\n loadAllAppTileGroups(): void {\r\n this._loadAllAppTileGroups();\r\n }\r\n loadUserProfileImage(repIdProfileImage: string): void {\r\n if (!repIdProfileImage) {\r\n return;\r\n }\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [repIdProfileImage],\r\n Method: 'BarsaPortalGetProfileImage',\r\n SuccessFn: (res: string) => {\r\n const userInfo = BarsaApi.Ext.decode(res);\r\n this._userInfo$.next(userInfo);\r\n },\r\n FailFn: () => {}\r\n });\r\n }\r\n loadAppTileGroups(appTileGroup: MetaobjectDataModel): void {\r\n if (!appTileGroup || appTileGroup.$TilesLoaded) {\r\n return;\r\n }\r\n const allApps = this._appTileGroupsSource.getValue();\r\n if (allApps) {\r\n const selectedAppTilegroup = allApps?.MoDataList.find((c) => c.Id === appTileGroup.Id);\r\n if (selectedAppTilegroup) {\r\n this._loadAppTilesOfAppTileGroup(selectedAppTilegroup, allApps);\r\n selectedAppTilegroup.$Children?.forEach((subGroup) => {\r\n this._loadAppTilesOfAppTileGroup(subGroup, allApps);\r\n });\r\n }\r\n }\r\n }\r\n saveTilesStackContent(tilesStackContent: boolean): Promise<void> {\r\n const userPortalSettings = this._portalService.userPortalSettings['UserPortalSettings'];\r\n if (userPortalSettings == null) {\r\n return Promise.resolve();\r\n }\r\n userPortalSettings.TilesStackContent = tilesStackContent;\r\n userPortalSettings.$State = 'Modified';\r\n return this._saveUserPortalSettings(userPortalSettings).then(() =>\r\n this._portalService.setUserPortalSettings(userPortalSettings)\r\n );\r\n }\r\n\r\n loadUserPortalSettings(): Observable<any> {\r\n return this._portalService.getData('UserPortalSetting').pipe(\r\n concatMap((data) => {\r\n if (data) {\r\n return of(data);\r\n } else {\r\n return this.loadFromServerUserPortalSetting();\r\n }\r\n })\r\n );\r\n }\r\n refreshTile(appTile: MetaobjectDataModel): Promise<MetaobjectDataModel> {\r\n return new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appTile.Id],\r\n Method: 'RefreshTile',\r\n SuccessFn: (newAppTile: MoForReportModel) => {\r\n if (newAppTile.MoDataList?.length) {\r\n resolve(newAppTile.MoDataList[0]);\r\n }\r\n reject(`refresh tile not found apptile width title: ${appTile.Title}`);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n loadFromServerUserPortalSetting(): Observable<MetaobjectDataModel> {\r\n return from(\r\n new Promise<UserPortalSettings>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [],\r\n Method: 'GetUserPortalSettings',\r\n SuccessFn: (userPortalSetting: MetaobjectDataModel) => {\r\n this._portalService.setData('UserPortalSetting', userPortalSetting);\r\n resolve(userPortalSetting);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n );\r\n }\r\n toggleAppGroupSettingVisible(appGroup: MetaobjectDataModel): Observable<MetaobjectDataModel> {\r\n return from(\r\n new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id],\r\n Method: 'ToggleAppTileGroupSettingVisible',\r\n SuccessFn: (appGroupSetting) => {\r\n this._updateAppTileGroupSettings(appGroup, appGroupSetting);\r\n resolve(appGroupSetting);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(\r\n tap((appGroupSetting) => {\r\n this._updateAppGroupSetting(appGroup, appGroupSetting);\r\n })\r\n );\r\n }\r\n resetAppGroupSetting(appGroup: MetaobjectDataModel): Observable<MetaobjectDataModel> {\r\n return from(\r\n new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id],\r\n Method: 'ResetAppTileGroupSettingVisible',\r\n SuccessFn: (appGroupSetting: MetaobjectDataModel) => {\r\n this._updateAppTileGroupSettings(appGroup, appGroupSetting);\r\n resolve(appGroupSetting);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(\r\n tap((appGroupSetting) => {\r\n this._updateAppGroupSetting(appGroup, appGroupSetting);\r\n })\r\n );\r\n }\r\n\r\n deleteAppGroup(appGroup: MetaobjectDataModel): Observable<string> {\r\n return from(\r\n new Promise<string>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id],\r\n Method: 'DeleteAppGroup',\r\n SuccessFn: () => {\r\n resolve(appGroup.Id);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(\r\n tap((appGroupId) => {\r\n const allApps = this.appTileGroups;\r\n if (allApps) {\r\n allApps.MoDataList = allApps.MoDataList.filter((c) => c.Id !== appGroupId);\r\n this._appTileGroupsSource.next(allApps);\r\n }\r\n })\r\n );\r\n }\r\n changeAppTileSetting(appTile: MetaobjectDataModel): Observable<MetaobjectDataModel | null> {\r\n const allApps = this.appTileGroups;\r\n const selectedGroup = this.findGroupWithAppTileId(allApps, appTile.Id);\r\n if (selectedGroup === null) {\r\n return of(null);\r\n }\r\n return from(\r\n new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [selectedGroup.Id, appTile.Id, appTile.Title, appTile.Subtitle],\r\n Method: 'ChangeAppTileSetting',\r\n SuccessFn: (settings) => {\r\n this._updateAppTileGroupSettings(selectedGroup, settings);\r\n this._nextAllAppTileGroups(allApps);\r\n resolve(selectedGroup);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n );\r\n }\r\n\r\n saveAppGroupOrders(appGroups: MetaobjectDataModel[]): Observable<void> {\r\n const groupOrders = appGroups.map((c) => c.Id);\r\n return from(\r\n new Promise<void>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [groupOrders],\r\n Method: 'ChangeOrderAppTileGroups',\r\n SuccessFn: () => {\r\n resolve();\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe();\r\n }\r\n\r\n createAppGroup(title: string): Observable<MetaobjectDataModel> {\r\n return from(\r\n new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [title],\r\n Method: 'CreateAppTileGroup',\r\n SuccessFn: (mo: MetaobjectDataModel) => {\r\n resolve(mo);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(tap((mo) => this.addAppGroup(mo)));\r\n }\r\n\r\n saveOrderAppTiles(\r\n appGroup: MetaobjectDataModel,\r\n appTiles: number[],\r\n isActionLink = false,\r\n appTileIdTransferedId: string = '0'\r\n ): void {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id, appTiles, isActionLink, appTileIdTransferedId],\r\n Method: 'ChangeOrderAppTiles',\r\n SuccessFn: () => {},\r\n FailFn: () => {}\r\n });\r\n }\r\n\r\n updateAppTile(allApps: MoForReportModel | null, appTile: MetaobjectDataModel): void {\r\n if (!allApps || !appTile.A_App_Component) {\r\n return;\r\n }\r\n const selectedAppTile = this.findAppTileWithKey(\r\n allApps,\r\n 'A_App_Component.Settings.Id',\r\n appTile.A_App_Component.Settings.Id\r\n );\r\n if (selectedAppTile && selectedAppTile.A_App_Component) {\r\n BarsaApi.Common.Merger.FastMerge(\r\n selectedAppTile.A_App_Component.Settings,\r\n appTile.A_App_Component.Settings\r\n );\r\n this._componentSettings$.next(selectedAppTile.A_App_Component.Settings);\r\n }\r\n }\r\n updataAppTileSetting(selectedGroup: MetaobjectDataModel, appGroupSetting: MetaobjectDataModel): void {\r\n const allApps = this.appTileGroups;\r\n allApps?.MoDataList.forEach((appGroup) => {\r\n if (appGroup.Id === selectedGroup.Id) {\r\n appGroup.UserAppTileGroupSetting = appGroupSetting;\r\n }\r\n });\r\n this._appTileGroupsSource.next(allApps);\r\n }\r\n\r\n addAppGroup(mo: MetaobjectDataModel): void {\r\n const allApps = this.appTileGroups;\r\n if (allApps) {\r\n allApps.MoDataList.push(mo as AppTileGroup);\r\n this._appTileGroupsSource.next(allApps);\r\n }\r\n }\r\n\r\n singlePinTileChanged(appTileId): Observable<boolean> {\r\n const allApps = this.appTileGroups;\r\n const group = this.findGroupWithAppTileId(allApps, appTileId);\r\n if (group === null) {\r\n return of(false);\r\n }\r\n return from(\r\n new Promise<boolean>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [group.Id, appTileId],\r\n Method: 'RemoveAppTileFromTileGroup',\r\n SuccessFn: (setting) => {\r\n this._updateAppTileGroupSettings(group, setting);\r\n this._nextAllAppTileGroups(allApps);\r\n resolve(true);\r\n },\r\n FailFn: () => {\r\n reject(false);\r\n }\r\n });\r\n })\r\n );\r\n }\r\n pinTileChanged(appTileGroupsPin: AppTileGroupPin[], app: MetaobjectDataModel, callback): void {\r\n const allApps = this.appTileGroups;\r\n const visible = appTileGroupsPin.map((c) => c.visible);\r\n const groupChanges = appTileGroupsPin.map(\r\n (c) =>\r\n new BarsaApi.Common.MetaObjectWeb({\r\n Id: c.appTileGroup.Id,\r\n TypeDefId: allApps?.TypeDefId\r\n })\r\n );\r\n\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [groupChanges, visible, app.Id],\r\n Method: 'TilePinChanged',\r\n SuccessFn: (settings) => {\r\n this._tilePinChange(appTileGroupsPin, allApps);\r\n callback(settings);\r\n },\r\n FailFn: () => {\r\n // TODO show error\r\n }\r\n });\r\n }\r\n _tilePinChange(appTileGroupsPin, allApps): void {\r\n for (const appTileGroupPin of appTileGroupsPin) {\r\n let selectedAppGroup;\r\n const appGroupId = appTileGroupPin.appTileGroup.Id;\r\n allApps?.MoDataList.forEach((c) => {\r\n if (c.Id === appGroupId) {\r\n selectedAppGroup = c;\r\n } else if (!selectedAppGroup) {\r\n selectedAppGroup = c.$Children?.find((child) => child.Id === appGroupId);\r\n }\r\n });\r\n if (selectedAppGroup && selectedAppGroup.$TilesLoaded) {\r\n // let moDataList = selectedAppGroup.AppTiles.MoDataList;\r\n // if (appTileGroups[i].visible)\r\n // selectedAppGroup.AppTiles.MoDataList = [...moDataList, settings[i]];\r\n // else\r\n // selectedAppGroup.AppTiles.MoDataList = moDataList.filter(\r\n // (c) => c.App.Id !== app.Id\r\n // );\r\n this._loadAppTilesOfAppTileGroup(selectedAppGroup, allApps);\r\n }\r\n }\r\n this._nextAllAppTileGroups(allApps);\r\n }\r\n\r\n loadShellbar(): void {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [BarsaApi.LoginFormData.PortalId],\r\n Method: 'LoadShellbarByPortalId',\r\n SuccessFn: (shellbar: MetaobjectDataModel): void => {\r\n this.shellbarSource.next(shellbar);\r\n },\r\n FailFn: (): void => {\r\n // TODO show error\r\n }\r\n });\r\n\r\n // this._portalService\r\n // .ReportExecutePromise('Shellbar')\r\n // .then((moForReportModel) => this.shellbarSource.next(moForReportModel.MoDataList[0]));\r\n }\r\n\r\n _setTileInfo(appTile): void {\r\n {\r\n const title = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Title', null);\r\n appTile.TileTitle = !appTile.Title ? title : appTile.Title;\r\n const subtitle = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Subtitle', null);\r\n appTile.Subtitle = !appTile.Subtitle ? subtitle : appTile.Subtitle;\r\n }\r\n }\r\n\r\n getTileGroups(): MoForReportModel | null {\r\n return this._appTileGroupsSource.getValue();\r\n }\r\n\r\n setEditHome(edit: boolean): void {\r\n this._edithomeSource.next(edit);\r\n }\r\n protected _loadAllAppTileGroupsByReportId(id: string): void {\r\n this._portalService\r\n .ReportExecuteById(id)\r\n .subscribe((allApps) => this._nextAllAppTileGroups(allApps as MoForReportModelBase<AppTileGroup>));\r\n }\r\n protected _loadAllAppTileGroups(): void {\r\n this._portalService\r\n .ReportExecute('AllAppTileGroups')\r\n .subscribe((allApps) => this._nextAllAppTileGroups(allApps as MoForReportModelBase<AppTileGroup>));\r\n }\r\n protected _onApplication_GlobalRefreshTile(_sender, appTilesTitle: string[]): void {\r\n const allApps = this._appTileGroupsSource.getValue();\r\n const appTiles: MetaobjectDataModel[] = [];\r\n if (allApps) {\r\n appTilesTitle.forEach((c) => {\r\n const selectedTile = this.findAppTileWithKey(allApps, 'A_App_AppKey', c);\r\n if (selectedTile) {\r\n appTiles.push(selectedTile);\r\n }\r\n });\r\n this._updateAppTileFromNotification(allApps, appTiles);\r\n this._appTileGroupsSource.next(allApps);\r\n }\r\n }\r\n\r\n protected _updateAppTileFromNotification(\r\n allApps: MoForReportModelBase<AppTileGroup>,\r\n appTiles: MetaobjectDataModel[]\r\n ): void {\r\n if (!appTiles?.length) {\r\n return;\r\n }\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appTiles.map((c) => (c.AppTile?.Id ? c.AppTile?.Id : c.Id))],\r\n Method: 'RefreshAppTiles',\r\n SuccessFn: (result: MoForReportModel) => {\r\n result.MoDataList.forEach((c) => this.updateAppTile(allApps, c));\r\n this._appTileGroupsSource.next({ ...allApps });\r\n },\r\n FailFn: () => {}\r\n });\r\n }\r\n private _allAppsLoaded(moForReportModel: MoForReportModel): void {\r\n moForReportModel.MoDataList.forEach((c) => {\r\n this._prepareNavigator(c);\r\n });\r\n this._setHomeAppTileGroups(moForReportModel.MoDataList as AppTileGroup[]);\r\n }\r\n private _loadAppTilesOfAppTileGroup(selectedAppTilegroup: MetaobjectDataModel, allApps: any): void {\r\n const callback = (): void => {\r\n this._nextAllAppTileGroups(allApps);\r\n };\r\n if (!selectedAppTilegroup.UserAppTileGroupSetting) {\r\n this._loadAppTilesByAppTileGroup(selectedAppTilegroup, callback);\r\n } else {\r\n this._loadAppTilesByAppTileGroupSetting(selectedAppTilegroup, callback);\r\n }\r\n }\r\n private _loadAppTilesByAppTileGroup(appGroup: MetaobjectDataModel, callback: () => void): void {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id],\r\n Method: 'LoadAllAppTilesByAppTileGroup',\r\n SuccessFn: (appTiles: MoForReportModel): void => {\r\n this._updateAppTilesOfAppTileGroup(appGroup, appTiles);\r\n callback();\r\n },\r\n FailFn: (): void => {\r\n // TODO show error\r\n }\r\n });\r\n }\r\n private _updateAppTilesOfAppTileGroup(selectedAppTilegroup: MetaobjectDataModel, appTiles: MoForReportModel): void {\r\n if (this.appTileGroups) {\r\n selectedAppTilegroup = { ...selectedAppTilegroup, $TilesLoaded: true };\r\n appTiles.MoDataList.forEach((element) => {\r\n element.Component = element.A_App_Component ?? element.A_AppTile_App_Component;\r\n element.DynamicCommand = element.A_App_DynamicCommand ?? element.A_AppTile_App_DynamicCommand;\r\n element.Predefined = element.Predefined ?? element.A_AppTile_Predefined;\r\n });\r\n const apptileGroupIndex = this.appTileGroups?.MoDataList.findIndex(\r\n (c) => c.Id === selectedAppTilegroup.Id || c.Id === selectedAppTilegroup.$ParentId\r\n );\r\n selectedAppTilegroup.AppTiles = appTiles;\r\n const tileGroup = this.appTileGroups.MoDataList[apptileGroupIndex];\r\n if (selectedAppTilegroup.$ParentId) {\r\n if (tileGroup.$Children) {\r\n const idOfSubGroup = tileGroup.$Children.findIndex((c) => c.Id === selectedAppTilegroup.Id);\r\n tileGroup.$Children[idOfSubGroup] = selectedAppTilegroup as AppTileGroup;\r\n }\r\n this.appTileGroups.MoDataList[apptileGroupIndex] = { ...tileGroup };\r\n } else {\r\n this.appTileGroups.MoDataList[apptileGroupIndex] = selectedAppTilegroup as AppTileGroup;\r\n }\r\n }\r\n }\r\n private _loadAppTilesByAppTileGroupSetting(appTileGroup: MetaobjectDataModel, callback: () => void): void {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appTileGroup.Id],\r\n Method: 'LoadAllAppTilesByUserAppTileGroupSettings',\r\n SuccessFn: (appTiles: MoForReportModel) => {\r\n this._updateAppTilesOfAppTileGroup(appTileGroup, appTiles);\r\n callback();\r\n },\r\n FailFn: () => {\r\n // TODO show error\r\n }\r\n });\r\n }\r\n\r\n private _nextAllAppTileGroups(newAllApps: MoForReportModelBase<AppTileGroup> | null = null): void {\r\n const allApps = newAllApps ?? this._appTileGroupsSource.getValue();\r\n this._appTileGroupsSource.next(allApps ? { ...allApps } : null);\r\n }\r\n private _setHomeAppTileGroups(appGroups: AppTileGroup[]): void {\r\n let newAppGroups = [...appGroups];\r\n newAppGroups = newAppGroups\r\n .filter((c) => c.Visible)\r\n .sort((a, b) => Number(a.navigatorOrderItem) - Number(b.navigatorOrderItem));\r\n this._homeAppTileGroupsSource.next(newAppGroups);\r\n }\r\n private _saveUserPortalSettings(userPortalSettings: UserPortalSettings): Promise<void> {\r\n return new Promise<void>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [new BarsaApi.Common.MetaObjectWeb(userPortalSettings)],\r\n Method: 'SaveUserPortalSettings',\r\n SuccessFn: () => {\r\n resolve();\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n private _updateAppGroupSetting(appGroup: MetaobjectDataModel, appGroupSetting: MetaobjectDataModel): void {\r\n const allApps = this.appTileGroups;\r\n const selectedAppGroup = allApps?.MoDataList.find((c) => c.Id === appGroup.Id);\r\n if (selectedAppGroup && allApps) {\r\n selectedAppGroup.UserAppTileGroupSetting = appGroupSetting;\r\n this._nextAllAppTileGroups(allApps);\r\n }\r\n }\r\n private findAppTileWithKey(allApps: MoForReportModel, key: string, value: any): MetaobjectDataModel | null {\r\n let selectedTile;\r\n if (typeof value === 'string') {\r\n value = BarsaApi.Common.Util.ReplaceArabicCharchter(value);\r\n }\r\n if (!allApps) {\r\n return null;\r\n }\r\n allApps.MoDataList.forEach((appGroup) => {\r\n if (selectedTile) {\r\n return;\r\n }\r\n selectedTile = appGroup.navigatorTiles.find(\r\n (c) => BarsaApi.Common.Util.TryGetValue(c, key, null) === value\r\n );\r\n appGroup.$Children?.forEach((subGroup) => {\r\n if (selectedTile) {\r\n return;\r\n }\r\n selectedTile = subGroup.navigatorTiles.find(\r\n (c) => BarsaApi.Common.Util.TryGetValue(c, key, null) === value\r\n );\r\n });\r\n });\r\n return selectedTile;\r\n }\r\n private findGroupWithAppTileId(allApps, appTileId: string): MetaobjectDataModel | null {\r\n let selectedGroup;\r\n\r\n if (!allApps) {\r\n return null;\r\n }\r\n allApps.MoDataList.forEach((appGroup) => {\r\n if (selectedGroup) {\r\n return;\r\n }\r\n if (appGroup.navigatorTiles.some((appTile) => appTile.Id === appTileId)) {\r\n selectedGroup = appGroup;\r\n return;\r\n }\r\n appGroup.$Children?.forEach((subGroup) => {\r\n if (subGroup.navigatorTiles.some((appTile) => appTile.Id === appTileId)) {\r\n selectedGroup = subGroup;\r\n return;\r\n }\r\n });\r\n });\r\n return selectedGroup;\r\n }\r\n private _findGroupWithAppGroupId(allApps, appGroupId: string): MetaobjectDataModel | null {\r\n let selectedGroup;\r\n\r\n if (!allApps) {\r\n return null;\r\n }\r\n allApps.MoDataList.forEach((appGroup) => {\r\n if (selectedGroup) {\r\n return;\r\n }\r\n if (appGroup.Id === appGroupId) {\r\n selectedGroup = appGroup;\r\n return;\r\n }\r\n appGroup.$Children?.forEach((subGroup) => {\r\n if (subGroup.Id === appGroupId) {\r\n selectedGroup = subGroup;\r\n return;\r\n }\r\n });\r\n });\r\n return selectedGroup;\r\n }\r\n\r\n private _updateAppTileGroupSettings(\r\n appTileGroup: MetaobjectDataModel,\r\n setting: MetaobjectDataModel\r\n ): MetaobjectDataModel {\r\n appTileGroup.UserAppTileGroupSetting = setting;\r\n\r\n appTileGroup.AppTiles.MoDataList.forEach((e, i) => {\r\n const ex = setting.UserAppTilesSetting.MoDataList.find((c) => c.Id === e.Id);\r\n if (ex) {\r\n appTileGroup.AppTiles.MoDataList[i] = { ...appTileGroup.AppTiles.MoDataList[i], ...ex };\r\n }\r\n });\r\n this._prepareNavigator(appTileGroup);\r\n // this._nextAllAppTileGroups();\r\n return appTileGroup;\r\n }\r\n\r\n private _prepareNavigator(appTileGroup: MetaobjectDataModel): void {\r\n appTileGroup.$TileSettingChanged = false;\r\n appTileGroup.$Disabledpin = false;\r\n appTileGroup.navigatorTitle = BarsaApi.Common.Util.TryGetValue(\r\n appTileGroup,\r\n 'UserAppTileGroupSetting.Title',\r\n appTileGroup.Title\r\n );\r\n appTileGroup.navigatorTitle = appTileGroup.navigatorTitle =\r\n appTileGroup.navigatorTitle === '' ? appTileGroup.Title : appTileGroup.navigatorTitle;\r\n appTileGroup.navigatorTitle = this._bbbTranslatePipe.transform(appTileGroup.navigatorTitle);\r\n const orderItem = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.OrderItem', null);\r\n if (orderItem !== null) {\r\n appTileGroup.navigatorOrderItem = orderItem;\r\n } else {\r\n appTileGroup.navigatorOrderItem = appTileGroup.OrderItem;\r\n }\r\n\r\n const visible = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.Visible', null);\r\n if (visible !== null) {\r\n appTileGroup.navigatorVisible = visible;\r\n } else {\r\n appTileGroup.navigatorVisible = appTileGroup.Visible;\r\n }\r\n\r\n const appTiles = appTileGroup.AppTiles?.MoDataList ?? [];\r\n\r\n appTileGroup.navigatorTiles = appTiles\r\n .filter((c) => c.Visible && !c.IsActionLink)\r\n .sort((a, b) => Number(a.OrderItem) - Number(b.OrderItem));\r\n appTileGroup.navigatorActionLinks = appTiles\r\n .filter((c) => c.Visible && c.IsActionLink)\r\n .sort((a, b) => Number(a.OrderItemActionLink) - Number(b.OrderItemActionLink));\r\n appTileGroup.navigatorTiles.forEach((appTile) => this._setTileInfo(appTile));\r\n appTileGroup.navigatorActionLinks.forEach((appTile) => this._setTileInfo(appTile));\r\n\r\n appTileGroup.$Children?.forEach((subAppTileGroup) => {\r\n this._prepareNavigator(subAppTileGroup);\r\n });\r\n }\r\n}\r\ninterface PinTileInfo {\r\n groups: MetaobjectDataModel[];\r\n visible: boolean[];\r\n tileId: string;\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, Renderer2, inject } from '@angular/core';\r\nimport { AppTileFooter } from './app-tile-footer';\r\n\r\nimport { BaseTileSetting } from './base-tile-setting';\r\nimport { TileSetting } from './tile-setting';\r\nimport { TilePropsComponent } from 'barsa-novin-ray-core';\r\nimport { TilesService } from '../tiles.service';\r\n\r\n@Component({\r\n selector: 'bt-base-tile',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport abstract class BaseTileComponent<T extends BaseTileSetting> extends TilePropsComponent implements OnInit {\r\n \r\n protected _renderer2: Renderer2;\r\n protected _cdr: ChangeDetectorRef;\r\n protected _tilesService = inject(TilesService);\r\n\r\n \r\n get settings(): T {\r\n const data = this.data?.Component?.Settings;\r\n return data ? data : this.parameters as T;\r\n }\r\n get backColor(): string {\r\n return this.settings.TileSetting.BackColor;\r\n }\r\n get title(): string {\r\n return this.data.TileTitle;\r\n }\r\n get subtitle(): string {\r\n return this.data.Subtitle;\r\n }\r\n get double(): boolean {\r\n return this.settings.TileSetting.IsDouble;\r\n }\r\n get badge(): string {\r\n return this.settings.TileSetting.Badge;\r\n }\r\n get footer(): AppTileFooter {\r\n return this.settings.TileSetting.Footer;\r\n }\r\n get tileSetting(): TileSetting {\r\n return this.settings.TileSetting;\r\n }\r\n setEditHome(val: boolean): void {\r\n this.edit = val;\r\n this._cdr.detectChanges();\r\n }\r\n onTileClick(): void {\r\n if (this.context) {\r\n this.context.FireEvent('click', this.context);\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\nimport { BaseTileComponent } from './base-tile-component';\r\n\r\nimport { BaseTileSetting } from './base-tile-setting';\r\nimport { filter, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bt-base-bt-tile',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport abstract class BaseBtTileComponent<T extends BaseTileSetting> extends BaseTileComponent<T> implements OnInit {\r\n isDark$ = this._tilesService.isDark$;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._tilesService.componentSettings$\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n filter((c) => c.Id === (this.settings as any).Id)\r\n )\r\n .subscribe((_c) => {\r\n this._cdr.detectChanges();\r\n });\r\n this._renderer2.addClass(this.el.nativeElement, 'barsa-tile');\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\nimport { AppTileFooterSection } from '../models';\r\n@Component({\r\n selector: 'bt-footer-tile,div[bt-footer-tile]',\r\n templateUrl: './footer-tile.component.html',\r\n styleUrls: ['./footer-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FooterTileComponent extends BaseComponent {\r\n @Input() firstSection: AppTileFooterSection;\r\n @Input() secondSection: AppTileFooterSection;\r\n @Input() twoColumn: boolean;\r\n}\r\n","@if (twoColumn) {\r\n<div fd-tile-section>\r\n <fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\r\n</div>\r\n<div fd-tile-section>\r\n <fd-icon fd-tile-refresh [font]=\"secondSection.Icon | sapFont\" [glyph]=\"secondSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ secondSection.Text | bbbTranslate }}</span>\r\n</div>\r\n} @else {\r\n<fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\r\n<span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\r\n}\r\n","import { Directive, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\r\nimport { BaseDirective, IsDarkMode } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[tileStyle]',\r\n standalone: false\r\n})\r\nexport class TileStyleDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy {\r\n @Input() backColor: string; \r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { backColor } = changes;\r\n backColor && this._addBackcolor(backColor.currentValue);\r\n }\r\n\r\n private _addBackcolor(backColor: string): void {\r\n const firstChild = this._el.nativeElement.firstChild;\r\n const isDarkmode = IsDarkMode();\r\n if (backColor && firstChild && !isDarkmode) {\r\n this._renderer2.setStyle(firstChild, 'background-color', `${backColor}`);\r\n this._renderer2.addClass(firstChild, 'customColor');\r\n } else {\r\n this._renderer2.setStyle(firstChild, 'background-color', `${backColor}`);\r\n this._renderer2.removeClass(firstChild, 'customColor');\r\n }\r\n }\r\n}\r\n","import { Directive, Input, HostListener, inject, ChangeDetectorRef, ViewContainerRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { BarsaApi, BaseDirective, LocalStorageService, PreventDefaulEvent } from 'barsa-novin-ray-core';\r\nimport { MaskComponent } from 'barsa-sap-ui';\r\n\r\n@Directive({\r\n selector: '[tileDynCommand]',\r\n standalone: false\r\n})\r\nexport class TileDynamicCommandDirective extends BaseDirective {\r\n @Input() disableClick: boolean;\r\n @Input() edit: boolean;\r\n @Input() dynamicCommand: any;\r\n @Input() title: string;\r\n @Input() setToStorage: boolean;\r\n @Input() navigateBackOnClick: boolean;\r\n runningCommand = false;\r\n _localStorage = inject(LocalStorageService);\r\n _router = inject(Router);\r\n _cdr = inject(ChangeDetectorRef);\r\n _viewContainerRef = inject(ViewContainerRef);\r\n maskComponent: any;\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(ev): boolean {\r\n if (this.edit || this.disableClick || this.runningCommand || !this.dynamicCommand) {\r\n return false;\r\n }\r\n PreventDefaulEvent(ev);\r\n if (this.setToStorage) {\r\n this._localStorage.setItem('ActiveTile', this.title);\r\n }\r\n const command = this.dynamicCommand;\r\n const e = { command, DynamicSetting: null };\r\n this.runningCommand = true;\r\n this._viewContainerRef.createComponent(MaskComponent);\r\n if (this.navigateBackOnClick) {\r\n this._router.navigate(['../']);\r\n setTimeout(() => {\r\n this.executeCommand(command, e);\r\n });\r\n return true;\r\n }\r\n\r\n return this.executeCommand(command, e);\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n private executeCommand(command: any, e: { command: any; DynamicSetting: null }): boolean {\r\n this._cdr.detectChanges();\r\n BarsaApi.Common.CustomCodeManager.RunDynamicCommand(command.Id, e, (res) => {\r\n this.runningCommand = false;\r\n this._viewContainerRef.clear();\r\n // BarsaApi.Bw.Msg.Hide();\r\n if (res && typeof res.Detail !== 'undefined') {\r\n BarsaApi.Bw.Msg.Error(res.message || res.Text);\r\n }\r\n this._cdr.detectChanges();\r\n });\r\n return false;\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input, TemplateRef } from '@angular/core';\r\nimport { TilePropsComponent } from 'barsa-novin-ray-core';\r\nimport { AppTileFooter } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-tile',\r\n templateUrl: './tile.component.html',\r\n styleUrls: ['./tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TileComponent extends TilePropsComponent {\r\n @Input() type: 'feed' | 'launch' | 'kpi';\r\n @Input() footerTemplate: TemplateRef<any>;\r\n @Input() footer: AppTileFooter;\r\n @Input() title: string;\r\n @Input() icon: string;\r\n @Input() subtitle: string;\r\n @Input() isDouble: boolean;\r\n @Input() darkMode: boolean;\r\n @Input() disableClick: boolean;\r\n @Input() edit: boolean;\r\n @Input() dynamicCommand: any;\r\n @Input() backColor: string;\r\n @Input() hideHeader: boolean;\r\n @Input() setToStorage: boolean;\r\n @Input() listMode: boolean;\r\n @Input() navigateBackOnClick: boolean;\r\n \r\n}\r\n","@if(!listMode) {\r\n<fd-tile\r\n [type]=\"type\"\r\n [double]=\"isDouble && deviceSize !== 's' && deviceSize !== 'm'\"\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","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MetaobjectDataModel, BarsaApi } from 'barsa-novin-ray-core';\r\n\r\n@Pipe({\r\n name: 'tileProp',\r\n standalone: false\r\n})\r\nexport class TilePropPipe implements PipeTransform {\r\n transform(data: any, prop: string, parameters?: MetaobjectDataModel): string | any {\r\n if (data) {\r\n if (prop === 'Title') {\r\n let val = data.TileTitle;\r\n if (!val) {\r\n val = BarsaApi.Common.Util.TryGetValue(data, 'Component.Settings.TileSetting.Title', '');\r\n }\r\n if (!val) {\r\n val = BarsaApi.Common.Util.TryGetValue(data, 'Title', '');\r\n }\r\n return val;\r\n }\r\n if (prop === 'Subtitle') {\r\n let val = data.Subtitle;\r\n if (!val) {\r\n val = BarsaApi.Common.Util.TryGetValue(data, 'Component.Settings.TileSetting.Subtitle', '');\r\n }\r\n if (!val) {\r\n val = BarsaApi.Common.Util.TryGetValue(data, 'Subtitle', '');\r\n }\r\n return val;\r\n }\r\n if (prop === 'DynamicCommand') {\r\n return data['DynamicCommand'];\r\n }\r\n if (data.Component && data.Component.Settings) {\r\n const val = data.Component.Settings.TileSetting[prop];\r\n if (typeof val === 'undefined') {\r\n return data.Component.Settings[prop];\r\n }\r\n return val;\r\n }\r\n return '';\r\n }\r\n return parameters ? parameters.TileSetting[prop] : '';\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\nimport { BarsaApi, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\ninterface FormTileSetting extends BaseTileSetting {\r\n RunBlMethod: string;\r\n TypeViewEntity: { Id };\r\n TypeDef: { Id };\r\n}\r\n\r\n@Component({\r\n selector: 'bt-form-tile',\r\n templateUrl: './form-tile.component.html',\r\n styleUrls: ['./form-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FormTileComponent extends BaseBtTileComponent<FormTileSetting> implements OnInit {\r\n newId: string;\r\n params: { moId: string; typeDefId: string; viewId: string };\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const options = {\r\n Parameters: [],\r\n Method: this.settings.RunBlMethod,\r\n SuccessFn: (mo: MetaobjectDataModel) => {\r\n this.params = {\r\n moId: mo.$State === 'New' ? '0' : mo.Id,\r\n typeDefId: this.settings.TypeDef.Id,\r\n viewId: this.settings.TypeViewEntity.Id\r\n };\r\n this._cdr.detectChanges();\r\n },\r\n FailFn: () => {}\r\n };\r\n BarsaApi.Bw.RunBlMethodAsync(options);\r\n }\r\n}\r\n","<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","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n ChangeDetectionStrategy,\r\n Output,\r\n SimpleChanges,\r\n ChangeDetectorRef,\r\n inject\r\n} from '@angular/core';\r\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\r\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bt-tile-group-base',\r\n template: '',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport abstract class TileGroupBaseComponent<T extends MetaobjectDataModel> extends BaseComponent {\r\n // @Input() settings: any;\r\n @Input() parameters: T;\r\n @Input() appTileGroup: MetaobjectDataModel;\r\n @Input() stackContent: boolean;\r\n @Input() cssStyles: string;\r\n @Input() edit: boolean;\r\n @Input() rtl: boolean;\r\n @Input() isAppTileSubGroup: boolean | undefined;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() isLast: boolean;\r\n\r\n @Output() tilesDropped = new EventEmitter<{\r\n appTileGroup: MetaobjectDataModel;\r\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>;\r\n }>();\r\n @Output() hideAppTileClick = new EventEmitter<MetaobjectDataModel>();\r\n @Output() renameAppTileClick = new EventEmitter<MetaobjectDataModel>();\r\n @Output() toggleGroup = new EventEmitter<MetaobjectDataModel>();\r\n @Output() resetGroup = new EventEmitter<MetaobjectDataModel>();\r\n @Output() deleteGroup = new EventEmitter<MetaobjectDataModel>();\r\n private _cdr = inject(ChangeDetectorRef);\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n let detectChanges = false;\r\n Object.keys(changes).forEach((key) => {\r\n if (!changes[key].firstChange) {\r\n this[key] = changes[key].currentValue;\r\n detectChanges = true;\r\n }\r\n });\r\n if (detectChanges) {\r\n this.detectChanges();\r\n }\r\n }\r\n onDrop(\r\n appTileGroup: MetaobjectDataModel,\r\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>\r\n ): void {\r\n if (!this.edit || appTileGroup.Locked) {\r\n return;\r\n }\r\n this.tilesDropped.emit({ appTileGroup, event });\r\n }\r\n onAppTileHideClick(appTile: MetaobjectDataModel): void {\r\n this.hideAppTileClick.emit(appTile);\r\n }\r\n onAppTileRenameClick(appTile: MetaobjectDataModel): void {\r\n this.renameAppTileClick.emit(appTile);\r\n }\r\n onDelete(appTileGroup: MetaobjectDataModel): void {\r\n this.deleteGroup.emit(appTileGroup);\r\n }\r\n\r\n onToggleShowHide(appTileGroup: MetaobjectDataModel): void {\r\n this.toggleGroup.emit(appTileGroup);\r\n }\r\n\r\n onReset(appTileGroup: MetaobjectDataModel): void {\r\n this.resetGroup.emit(appTileGroup);\r\n }\r\n private detectChanges(): void {\r\n this._cdr.detectChanges();\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { TileComponent } from '../tile/tile.component';\r\n@Component({\r\n selector: 'bt-action-item',\r\n templateUrl: './action-item.component.html',\r\n styleUrls: ['./action-item.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ActionItemComponent extends TileComponent {}\r\n","<div [class.action-item-edit-mode]=\"edit\" class=\"action-item s\">\r\n @if (icon) {\r\n <fd-icon [glyph]=\"icon\"></fd-icon>\r\n }\r\n <h1 fd-tile-title>{{ title }}</h1>\r\n\r\n @if (subtitle) {\r\n <h2 fd-tile-subtitle>{{ subtitle }}</h2>\r\n } @if (edit && !data.Locked) {\r\n <div class=\"buttons\">\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n </div>\r\n }\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</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n inject\r\n} from '@angular/core';\r\n\r\nimport { AbbrevationDeviceSize, getDeviceIsMobile, BaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bt-actions-link',\r\n templateUrl: './actions-link.component.html',\r\n styleUrls: ['./actions-link.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ActionsLinkComponent extends BaseComponent implements OnChanges {\r\n @HostBinding('class.hide') hide;\r\n @Input() actionsLink;\r\n @Input() edit: boolean;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @HostBinding('class') _class = '';\r\n isMobile = getDeviceIsMobile();\r\n\r\n protected _cdr = inject(ChangeDetectorRef);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.hide = this.actionsLink?.length === 0;\r\n this._class = 's';\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { actionsLink } = changes;\r\n if (actionsLink && !actionsLink.firstChange) {\r\n this.hide = actionsLink.currentValue?.length === 0;\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n}\r\n","@for (actionItem of actionsLink; track actionItem.Id) {\r\n<bt-action-item\r\n cdkDrag\r\n [data]=\"actionItem\" \r\n [title]=\"actionItem | tileProp: 'Title'\"\r\n [subtitle]=\"actionItem | tileProp: 'Subtitle'\"\r\n [dynamicCommand]=\"actionItem | tileProp: 'DynamicCommand'\"\r\n [isDouble]=\"actionItem | tileProp: 'IsDouble'\"\r\n [footer]=\"actionItem | tileProp: 'Footer'\"\r\n [icon]=\"actionItem | tileProp: 'Icon'\"\r\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\r\n [mo]=\"actionItem\"\r\n [class.isMobile]=\"isMobile\"\r\n tileDynCommand\r\n [edit]=\"edit\" \r\n [title]=\"actionItem | tileProp: 'Title'\" \r\n [dynamicCommand]=\"actionItem | tileProp: 'DynamicCommand'\"\r\n>\r\n</bt-action-item>\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n ComponentRef,\r\n Directive,\r\n EventEmitter,\r\n Injector,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewContainerRef,\r\n inject\r\n} from '@angular/core';\r\nimport { BaseDirective } from 'barsa-novin-ray-core';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { BaseTileComponent, BaseTileSetting } from './models';\r\nimport { AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[tileRenderer]',\r\n standalone: false\r\n})\r\nexport class TileRendererDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy {\r\n @Input() component: {\r\n Module: string;\r\n ModuleFileName: string;\r\n Name: string;\r\n Selector: string;\r\n };\r\n @Input() data: BaseTileSetting;\r\n @Input() groupType: string;\r\n @Input() edit: boolean;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() setToStorage: boolean;\r\n @Input() listMode: boolean;\r\n @Input() navigateBackOnClick: boolean;\r\n @Output() hideClick = new EventEmitter();\r\n @Output() renameClick = new EventEmitter();\r\n private _tileRef: ComponentRef<BaseTileComponent<BaseTileSetting>>;\r\n private _cdr = inject(ChangeDetectorRef);\r\n private _vcr = inject(ViewContainerRef);\r\n private _injector = inject(Injector);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n if (!this.component) {\r\n return;\r\n }\r\n const { Module, ModuleFileName, Name, Selector } = this.component;\r\n this._portalService\r\n .getComponent(Module, ModuleFileName, Name, Selector, this._injector)\r\n .pipe(takeUntil(this._onDestroy$))\r\n .subscribe((componentRef: ComponentRef<BaseTileComponent<BaseTileSetting>>) => {\r\n const instance = componentRef.instance;\r\n instance.data = this.data;\r\n instance.edit = this.edit;\r\n instance.deviceSize = this.deviceSize;\r\n instance.setToStorage = this.setToStorage;\r\n instance.listMode = this.listMode;\r\n instance.groupType = this.groupType;\r\n instance.navigateBackOnClick = this.navigateBackOnClick;\r\n instance.hideClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\r\n this.hideClick.emit();\r\n });\r\n instance.renameClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => this.renameClick.emit());\r\n this._vcr.insert(componentRef.hostView);\r\n this._tileRef = componentRef;\r\n // this._cdr.detectChanges();\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { edit } = changes;\r\n if (edit && !edit.firstChange) {\r\n this._tileRef.instance.setEditHome(edit.currentValue);\r\n }\r\n }\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this._tileRef) {\r\n this._tileRef.destroy();\r\n }\r\n }\r\n}\r\n","import { Directive, inject, Renderer2, input, InputSignal } from '@angular/core';\r\n\r\nimport { BaseDirective, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[tilesCls]',\r\n standalone: false\r\n})\r\nexport class TileClassDirective extends BaseDirective {\r\n rtl = input(true);\r\n deviceSize = input('s');\r\n appTileGroup: InputSignal<MetaobjectDataModel | undefined> = input();\r\n _renderer2 = inject(Renderer2);\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n if (this.rtl()) {\r\n this._renderer2.addClass(this._el.nativeElement, 'rtl');\r\n } else {\r\n this._renderer2.addClass(this._el.nativeElement, 'ltr');\r\n }\r\n if (this.deviceSize() === 's') {\r\n this._renderer2.addClass(this._el.nativeElement, 's');\r\n }\r\n const y = this.appTileGroup() as AppTileGroupSettings;\r\n\r\n const x =\r\n `tw-w-full tw-grid tw-grid-cols-${y?.ItemCountSM} md:tw-grid-cols-${y.ItemCountMD} lg:tw-grid-cols-${y.ItemCountL}` +\r\n ` xl:tw-grid-cols-${y.ItemCountXL} 2xl:tw-grid-cols-${y.ItemCount2XL} tw-gap-4`;\r\n switch (y.TileGroupType$Caption) {\r\n case 'CardsGroup':\r\n case 'InlineCards': {\r\n x.split(' ').forEach((c) => {\r\n this._renderer2.addClass(this._el.nativeElement, c);\r\n });\r\n break;\r\n }\r\n default: {\r\n // statements;\r\n this._renderer2.addClass(this._el.nativeElement, 'TilesGroup');\r\n break;\r\n }\r\n }\r\n }\r\n}\r\ninterface AppTileGroupSettings extends MetaobjectDataModel {\r\n ItemCount2XL: number;\r\n ItemCountXL: number;\r\n ItemCountL: number;\r\n ItemCountMD: number;\r\n ItemCountSM: number;\r\n TileGroupType$Caption: string;\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { TileGroupBaseComponent } from '../tile-group-base.component';\r\n\r\n@Component({\r\n selector: 'bt-tiles-viewer-group',\r\n templateUrl: './tiles-viewer-group.component.html',\r\n styleUrls: ['./tiles-viewer-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TilesViewerGroupComponent extends TileGroupBaseComponent<MetaobjectDataModel> {\r\n marginRightTile: number | null = null;\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n if (this.deviceSize === 's') {\r\n const t = document.body.clientWidth % 154;\r\n this.marginRightTile = t / 3;\r\n }\r\n }\r\n}\r\n","<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' || deviceSize === 'm'\">\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","import { Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef, inject } from '@angular/core';\r\n\r\nimport { BbbTranslatePipe } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[emptyList]',\r\n standalone: false\r\n})\r\nexport class EmptyListDirective {\r\n private templateRef = inject<TemplateRef<any>>(TemplateRef);\r\n private viewContainer = inject(ViewContainerRef);\r\n private bbbPipe = inject(BbbTranslatePipe);\r\n\r\n @Input() set emptyList(list: any[]) {\r\n if (!list || (!list.length && !this.hasView)) {\r\n const _view = this.viewContainer.createEmbeddedView(this.templateRef);\r\n this.setNoData(_view);\r\n this.hasView = true;\r\n } else if (list && list.length > 0 && this.hasView) {\r\n this.viewContainer.clear();\r\n this.hasView = false;\r\n }\r\n }\r\n private hasView = false;\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n \r\n constructor() {}\r\n\r\n setNoData(view: EmbeddedViewRef<any>): void {\r\n (view.rootNodes[0] as HTMLElement).innerHTML = this.bbbPipe.transform('NoData');\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { AppTileGroupPin } from '../models';\r\n@Component({\r\n selector: 'bt-app-finder-app-list',\r\n templateUrl: './app-finder-app-list.component.html',\r\n styleUrls: ['./app-finder-app-list.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class AppFinderAppListComponent extends BaseComponent {\r\n @Input() appGroup: MetaobjectDataModel;\r\n @Input() mobile: boolean;\r\n @Input() searchTerm: string;\r\n @Input() pinnedAppInAppTileGroups: { [key: string]: string[] };\r\n\r\n @Output() pinClick = new EventEmitter<MetaobjectDataModel>();\r\n @Output() appTileGroupsPinChange = new EventEmitter<{\r\n appTileGroupsPin: AppTileGroupPin[];\r\n app: MetaobjectDataModel;\r\n }>();\r\n onPinTap(app: MetaobjectDataModel): void {\r\n this.pinClick.emit(app);\r\n }\r\n}\r\n","@if (appGroup) {\r\n<h5 fd-title *emptyList=\"appGroup.Apps\"></h5>\r\n@if ((appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }).length > 0) {\r\n<div class=\"tw-flex tw-gap-3 tw-flex-wrap tw-grid tw-grid-cols-1 md:tw-grid-cols-2 lg:tw-grid-cols-3 xl:tw-grid-cols-4 2xl:tw-grid-cols-5\">\r\n @for (app of appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }; track app; let i = $index) {\r\n <fd-card >\r\n <fd-card-header [dynCommand]=\"app.DynamicCommand\" [mo]=\"app\">\r\n <fd-card-main-header>\r\n @if (app.Icon) {\r\n <fd-avatar [glyph]=\"app.Icon\" size=\"s\" [title]=\"app.Title\"></fd-avatar>\r\n }\r\n <h2 fd-card-title class=\"header-title ellapsis\" [attr.title]=\"app.Title\">\r\n {{ app.Title }}\r\n </h2>\r\n <h3 fd-card-subtitle></h3>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n <fd-card-content>\r\n <button\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups[app.Id]\r\n ? pinnedAppInAppTileGroups[app.Id].length\r\n ? 'emphasized'\r\n : 'standard'\r\n : app.$HasPinned\r\n ? 'emphasized'\r\n : 'standard'\r\n \"\r\n (click)=\"onPinTap(app)\"\r\n ></button>\r\n </fd-card-content>\r\n </fd-card>\r\n }\r\n</div>\r\n} }\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges\r\n} from '@angular/core';\r\n\r\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-app-finder-group',\r\n templateUrl: './app-finder-group.component.html',\r\n styleUrls: ['./app-finder-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class AppFinderGroupComponent extends BaseComponent implements OnChanges {\r\n @Input() appGroups: MetaobjectDataModel[];\r\n @Input() selectedId: string;\r\n @Input() listMode: boolean;\r\n @Output() selectedIdChange = new EventEmitter<string>();\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n if (changes.appGroups && !changes.appGroups.firstChange) {\r\n const appGroups = changes.appGroups.currentValue;\r\n if (appGroups && appGroups.length > 0 && !this.selectedId) {\r\n this.selectedIdChange.emit(appGroups[0].Id);\r\n }\r\n }\r\n }\r\n\r\n OnMenuGroupClick(group: MetaobjectDataModel): void {\r\n this.selectedIdChange.emit(group.Id);\r\n }\r\n OnGroupClick(group: MetaobjectDataModel): void {\r\n this.selectedIdChange.emit(group.Id);\r\n }\r\n}\r\n","@if (listMode) {\r\n<div class=\"app-groups\">\r\n <ul fd-list [selection]=\"true\">\r\n @for (group of appGroups; track group; let i = $index) {\r\n <li fd-list-item [selected]=\"group.Id === selectedId\" (click)=\"OnGroupClick(group)\">\r\n <span fd-list-title>\r\n {{ group.Title }}\r\n </span>\r\n </li>\r\n }\r\n </ul>\r\n</div>\r\n} @else { @for (group of appGroups; track group; let i = $index) {\r\n<li fd-menu-item [selected]=\"group.Id === selectedId\">\r\n <a fd-menu-interactive (click)=\"OnMenuGroupClick(group)\">\r\n <span fd-menu-title>\r\n {{ group.Title }}\r\n </span>\r\n </a>\r\n</li>\r\n} }\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { ContentDensity } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-app-finder',\r\n templateUrl: './app-finder.component.html',\r\n styleUrls: ['./app-finder.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class AppFinderComponent extends BaseComponent {\r\n @Input() appGroups: MetaobjectDataModel[];\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() sideContentSize: string;\r\n @Input() selectedAppGroup: MetaobjectDataModel;\r\n @Input() selectedAppGroupId: string;\r\n @Input() mobile: boolean;\r\n @Input() contentDensity: ContentDensity = 'compact';\r\n @Input() contentHeight: string;\r\n @Input() pinnedAppInAppTileGroups: { [key: string]: string[] };\r\n @Output() pinClick = new EventEmitter<MetaobjectDataModel>();\r\n @Output() selectedAppGroupIdChange = new EventEmitter<string>();\r\n searchTerm: string;\r\n searchTerm2: string;\r\n\r\n onSearchSubmit(): void {\r\n this.searchTerm = this.searchTerm2;\r\n }\r\n}\r\n","<div class=\"wrapper\">\r\n @if (appGroups) {\r\n <fd-toolbar [fdType]=\"'solid'\">\r\n @if (deviceSize === 's') {\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [fdMenu]=\"true\"\r\n [glyph]=\"'menu2'\"\r\n [fdType]=\"'transparent'\"\r\n [fdMenuTrigger]=\"menu\"\r\n [label]=\"selectedAppGroup?.Title\"\r\n ></button>\r\n }\r\n <fd-toolbar-spacer></fd-toolbar-spacer>\r\n <fd-input-group\r\n fd-toolbar-item\r\n type=\"search\"\r\n glyph=\"search\"\r\n [glyphAriaLabel]=\"'Search' | bbbTranslate\"\r\n [placeholder]=\"'Search' | bbbTranslate\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm2\"\r\n (addOnButtonClicked)=\"onSearchSubmit()\"\r\n (keydown.enter)=\"onSearchSubmit()\"\r\n >\r\n </fd-input-group>\r\n </fd-toolbar>\r\n <div style=\"display: flex; overflow-y: auto;height:calc(100svh - var(--shellbar-height) - 2.5rem)\">\r\n <div class=\"app-groups\">\r\n @if (deviceSize !== 's') {\r\n <bt-app-finder-group\r\n [appGroups]=\"appGroups\"\r\n [listMode]=\"true\"\r\n [selectedId]=\"selectedAppGroupId\"\r\n (selectedIdChange)=\"selectedAppGroupIdChange.emit($event)\"\r\n >\r\n </bt-app-finder-group>\r\n }\r\n </div>\r\n <bt-app-finder-app-list\r\n [appGroup]=\"selectedAppGroup\"\r\n [mobile]=\"mobile\"\r\n [searchTerm]=\"searchTerm\"\r\n [pinnedAppInAppTileGroups]=\"pinnedAppInAppTileGroups\"\r\n (pinClick)=\"pinClick.emit($event)\"\r\n ></bt-app-finder-app-list>\r\n </div>\r\n <fd-menu\r\n #menu\r\n [mobile]=\"deviceSize === 's'\"\r\n [mobileConfig]=\"{ title: 'Groups' | bbbTranslate, hasCloseButton: true }\"\r\n >\r\n @if (deviceSize === 's') {\r\n <bt-app-finder-group\r\n [appGroups]=\"appGroups\"\r\n [selectedId]=\"selectedAppGroupId\"\r\n (selectedIdChange)=\"menu.close(); selectedAppGroupIdChange.emit($event)\"\r\n >\r\n </bt-app-finder-group>\r\n }\r\n </fd-menu>\r\n } @else {\r\n <bsu-mask></bsu-mask>\r\n }\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, BbbTranslatePipe } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bt-change-app-tile',\r\n templateUrl: './change-app-tile.component.html',\r\n styleUrls: ['./change-app-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ChangeAppTileComponent extends BaseComponent implements OnInit {\r\n title: string;\r\n subtitle: string;\r\n appGroupForm: UntypedFormGroup;\r\n submitted: boolean;\r\n RequiredText: string;\r\n dialogRef = inject(DialogRef);\r\n\r\n private fb = inject(UntypedFormBuilder);\r\n private bbbPipe = inject(BbbTranslatePipe);\r\n constructor() {\r\n super();\r\n const dialogRef = this.dialogRef;\r\n this.title = dialogRef.data.TileTitle;\r\n this.subtitle = dialogRef.data.Subtitle;\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.appGroupForm = this.fb.group({\r\n title: new UntypedFormControl(this.title, [Validators.required]),\r\n subtitle: new UntypedFormControl(this.subtitle)\r\n });\r\n this.RequiredText = this.bbbPipe\r\n .transform(')AlertFieldIsMandatory')\r\n .replace('{0}', this.bbbPipe.transform('Title'));\r\n }\r\n\r\n onSave(): void {\r\n this.submitted = true;\r\n if (this.appGroupForm.valid) {\r\n this.dialogRef.close({ title: this.title, subtitle: this.subtitle });\r\n }\r\n }\r\n}\r\n","<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","import { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { debounceTime, exhaustMap, finalize, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport { DialogService } from '@fundamental-ngx/core';\r\n\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { TilesService } from './tiles.service';\r\nimport { ChangeAppTileComponent } from './change-app-tile/change-app-tile.component';\r\n\r\n@Injectable()\r\nexport class TilesViewerService implements OnDestroy {\r\n viewLoading$: Observable<boolean>;\r\n hideTile$: Observable<MetaobjectDataModel>;\r\n updateAppTileSetting$: Observable<MetaobjectDataModel>;\r\n deleteAppGroup$: Observable<MetaobjectDataModel>;\r\n\r\n protected readonly _onDestroy$: Subject<void> = new Subject<void>();\r\n private dialogService = inject(DialogService);\r\n private tilesService = inject(TilesService, { self: true });\r\n private _hideTileSource = new Subject<MetaobjectDataModel>();\r\n private _updateAppTileSettingSource = new Subject<MetaobjectDataModel>();\r\n private _deleteGroupSource = new Subject<MetaobjectDataModel>();\r\n private _loadAppGroupSource = new Subject<MetaobjectDataModel>();\r\n private _saveAppGroupOrdersSource = new Subject<MetaobjectDataModel[]>();\r\n private saveAppGroupOrders$ = this._saveAppGroupOrdersSource.asObservable();\r\n private _resetAppGroupSource = new Subject<MetaobjectDataModel>();\r\n private resetAppGroup$ = this._resetAppGroupSource.asObservable();\r\n private _hideAppGroupSource = new Subject<MetaobjectDataModel>();\r\n private hideAppGroup$ = this._hideAppGroupSource.asObservable();\r\n private _viewLoadingSource = new BehaviorSubject<boolean>(false);\r\n\r\n constructor() {\r\n this.viewLoading$ = this._viewLoadingSource.asObservable().pipe(debounceTime(200));\r\n this.hideTile$ = this._hideTileSource.asObservable();\r\n this.updateAppTileSetting$ = this._updateAppTileSettingSource.asObservable();\r\n this.deleteAppGroup$ = this._deleteGroupSource.asObservable();\r\n this._loadAppGroupSource\r\n .asObservable()\r\n .pipe(takeUntil(this._onDestroy$))\r\n .subscribe((group) => {\r\n this.tilesService.loadAppTileGroups(group);\r\n });\r\n this.hideTile$\r\n .pipe(\r\n tap(() => this.setLoading()),\r\n takeUntil(this._onDestroy$),\r\n exhaustMap((appTile) =>\r\n this.tilesService\r\n .singlePinTileChanged(appTile.AppTile ? appTile.AppTile.Id : appTile.Id)\r\n .pipe(finalize(() => this.setLoaded()))\r\n ),\r\n finalize(() => this.setLoaded())\r\n )\r\n .subscribe();\r\n\r\n this.updateAppTileSetting$\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n tap(() => this.setLoading()),\r\n exhaustMap((appTile) =>\r\n this.tilesService.changeAppTileSetting(appTile).pipe(\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n ),\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n .subscribe();\r\n\r\n this.deleteAppGroup$\r\n .pipe(\r\n tap(() => this.setLoading()),\r\n takeUntil(this._onDestroy$),\r\n exhaustMap((appGroup) =>\r\n this.tilesService.deleteAppGroup(appGroup).pipe(\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n )\r\n )\r\n .subscribe();\r\n\r\n this.resetAppGroup$\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n tap(() => this.setLoading()),\r\n exhaustMap((appGroup) =>\r\n this.tilesService.resetAppGroupSetting(appGroup).pipe(\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n ),\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n .subscribe();\r\n\r\n this.hideAppGroup$\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n tap(() => this.setLoading()),\r\n exhaustMap((appGroup) =>\r\n this.tilesService.toggleAppGroupSettingVisible(appGroup).pipe(\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n ),\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n .subscribe();\r\n\r\n this.saveAppGroupOrders$\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n tap(() => this.setLoading()),\r\n exhaustMap((appGroups) =>\r\n this.tilesService.saveAppGroupOrders(appGroups).pipe(\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n ),\r\n finalize(() => {\r\n this.setLoaded();\r\n })\r\n )\r\n .subscribe();\r\n }\r\n loadAllAppTileGroupsByReportId(id: string): void {\r\n this.tilesService.loadAllAppTileGroupsByReportId(id);\r\n }\r\n loadAllAppTileGroups(): void {\r\n this.tilesService.loadAllAppTileGroups();\r\n }\r\n get selectedAppGroupId(): string {\r\n return localStorage.getItem('selectedTab') ?? '';\r\n }\r\n set selectedAppGroupId(groupId: string) {\r\n localStorage.setItem('selectedTab', groupId);\r\n }\r\n setSelectedTab(group: MetaobjectDataModel): void {\r\n this.selectedAppGroupId = group.Id;\r\n }\r\n loadAppTileGroup(group: MetaobjectDataModel): void {\r\n this._loadAppGroupSource.next(group);\r\n }\r\n ngOnDestroy(): void {\r\n this._onDestroy$.next();\r\n }\r\n\r\n openRenameForm(appTile: MetaobjectDataModel): void {\r\n const newGroupDialogRef = this.dialogService.open(ChangeAppTileComponent, {\r\n data: appTile,\r\n verticalPadding: true,\r\n responsivePadding: true\r\n });\r\n\r\n newGroupDialogRef.afterClosed.subscribe((setting) => {\r\n if (setting) {\r\n const newAppTile = { ...appTile };\r\n newAppTile.Title = newAppTile.TileTitle = setting.title;\r\n newAppTile.Subtitle = setting.subtitle;\r\n this._updateAppTileSettingSource.next(newAppTile);\r\n }\r\n });\r\n }\r\n resetAppGroup(appGroup: MetaobjectDataModel): void {\r\n this._resetAppGroupSource.next(appGroup);\r\n }\r\n toggleAppGroupSettingVisible(appGroup: MetaobjectDataModel): void {\r\n this._hideAppGroupSource.next(appGroup);\r\n }\r\n\r\n deleteAppGroup(appGroup: MetaobjectDataModel): void {\r\n this._deleteGroupSource.next(appGroup);\r\n }\r\n hideTile(appTile: MetaobjectDataModel): void {\r\n this._hideTileSource.next(appTile);\r\n }\r\n saveAppGroupOrders(appGroups: MetaobjectDataModel[]): void {\r\n this._saveAppGroupOrdersSource.next(appGroups);\r\n }\r\n\r\n setLoaded(): void {\r\n this._viewLoadingSource.next(false);\r\n }\r\n setLoading(): void {\r\n this._viewLoadingSource.next(true);\r\n }\r\n}\r\n","import { CdkDragDrop } from '@angular/cdk/drag-drop';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n inject,\r\n Input,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\nimport {\r\n BaseComponent,\r\n MetaobjectDataModel,\r\n BarsaApi,\r\n AbbrevationDeviceSize,\r\n SaveScrollPositionService\r\n} from 'barsa-novin-ray-core';\r\nimport { Nullable } from '@fundamental-ngx/core';\r\nimport {\r\n IconTabBarComponent,\r\n IconTabBarItem,\r\n IconTabBarTabComponent,\r\n SemanticColor,\r\n TabType\r\n} from '@fundamental-ngx/platform';\r\n\r\n@Component({\r\n selector: 'bt-tiles-viewer',\r\n templateUrl: './tiles-viewer.component.html',\r\n styleUrls: ['./tiles-viewer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TilesViewerComponent extends BaseComponent implements OnInit {\r\n @ViewChild(IconTabBarComponent) tabListComponent: IconTabBarComponent;\r\n @HostBinding('class.page-content') pageContentClass = true;\r\n @HostBinding('class.tiles-viewer') _cls = true;\r\n @Input() appTileGroups: Array<MetaobjectDataModel>;\r\n @Input() loading: boolean;\r\n @Input() edit: boolean;\r\n @Input() rtl: boolean;\r\n @Input() defaultTab: string;\r\n @Input() tabsBackColor: string;\r\n @Input() stackContent: boolean;\r\n @Input() iconTabType: TabType;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() selectedAppGroupId: string;\r\n @Input() DynamicComponents: any;\r\n\r\n @Output() stackContentChange = new EventEmitter<boolean>();\r\n @Output() closeEditHome = new EventEmitter();\r\n @Output() save = new EventEmitter();\r\n @Output() listDropped = new EventEmitter<{\r\n appTileGroups: MetaobjectDataModel[];\r\n event: CdkDragDrop<MetaobjectDataModel[]>;\r\n }>();\r\n @Output() tabChanged = new EventEmitter<{\r\n firstSelected: boolean;\r\n selectedTabTitle: string;\r\n tabPanels: IconTabBarTabComponent[];\r\n appTileGroups: MetaobjectDataModel[];\r\n tabbarComponent: IconTabBarComponent;\r\n }>();\r\n\r\n @Output() toggleGroup = new EventEmitter<MetaobjectDataModel>();\r\n @Output() resetGroup = new EventEmitter<MetaobjectDataModel>();\r\n @Output() deleteGroup = new EventEmitter<MetaobjectDataModel>();\r\n @Output() hideAppTileClick = new EventEmitter<MetaobjectDataModel>();\r\n @Output() renameAppTileClick = new EventEmitter<MetaobjectDataModel>();\r\n\r\n @Output() tilesDropped = new EventEmitter<{\r\n appTileGroup: MetaobjectDataModel;\r\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>;\r\n }>();\r\n\r\n @HostBinding('attr.rtl') _rtl = BarsaApi.LoginFormData.IsRtl;\r\n selectedTabTitle: Nullable<string>;\r\n selectedTabId: string;\r\n _tilesIntersection: any;\r\n color: SemanticColor = 'default';\r\n id = 'tilesviewer';\r\n\r\n defaultTileGroupComponent = {\r\n Id: '',\r\n $Caption: '',\r\n Module: 'BarsaTiles',\r\n ModuleFileName: '',\r\n Name: 'TilesViewerGroup',\r\n Selector: 'bt-tiles-viewer-group'\r\n };\r\n protected _cdr = inject(ChangeDetectorRef);\r\n protected _saveScrollPosition = inject(SaveScrollPositionService);\r\n protected _firstSelected = true;\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n if (this.tabListComponent) {\r\n this.tabListComponent._disableScrollSpy = true;\r\n }\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n }\r\n onSelectedTabChange(selectedTab: IconTabBarItem): void { \r\n if (!this.selectedTabTitle) {\r\n this._firstSelected = false;\r\n }\r\n const selectedTabTitle = (selectedTab.label as string) || '';\r\n this.selectedTabTitle = selectedTabTitle;\r\n if (this._firstSelected) {\r\n const tab = this.appTileGroups.find((c) => c.Id === this.defaultTab);\r\n if (tab) {\r\n if (!this.tabListComponent) {\r\n setTimeout(() => {\r\n this._selectTab(tab.Id);\r\n });\r\n } else {\r\n this._selectTab(tab.Id);\r\n }\r\n // return;\r\n }\r\n }\r\n setTimeout(() => {\r\n this.tabChanged.emit({\r\n firstSelected: this._firstSelected,\r\n selectedTabTitle,\r\n tabPanels: this.tabListComponent.children() as any,\r\n appTileGroups: this.appTileGroups,\r\n tabbarComponent: this.tabListComponent\r\n });\r\n });\r\n }\r\n onDropGroup(appTileGroups: MetaobjectDataModel[], event: CdkDragDrop<MetaobjectDataModel[]>): void {\r\n if (!this.edit) {\r\n return;\r\n }\r\n this.listDropped.emit({ appTileGroups, event });\r\n }\r\n onDrop($event): void {\r\n this.tilesDropped.emit($event);\r\n }\r\n onStackContentChanged(checked): void {\r\n this.stackContentChange.emit(checked);\r\n }\r\n onExitEditHome(appGroups: MetaobjectDataModel[]): void {\r\n this.save.emit(appGroups);\r\n }\r\n onCloseEditHome(): void {\r\n this.closeEditHome.emit();\r\n }\r\n _trackById(index, item): string | number {\r\n return item ? item.Id : index;\r\n }\r\n protected _selectTab(tabId: string): void {\r\n if (this.tabListComponent) {\r\n this.tabListComponent.selectTab(tabId);\r\n }\r\n }\r\n}\r\n","<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 [fixTabMore]=\"tabListComponent\"\r\n [iconTabType]=\"iconTabType || 'text'\"\r\n (iconTabSelected)=\"onSelectedTabChange($event)\"\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","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'semanticColorToButtonColor',\r\n standalone: false\r\n})\r\nexport class SemantiToButtonColorPipe implements PipeTransform {\r\n transform(semantic: string): string {\r\n switch (semantic) {\r\n case 'informative':\r\n return 'ghost';\r\n case 'critical':\r\n return 'attention';\r\n }\r\n return 'standard';\r\n }\r\n}\r\n","import { Pipe, PipeTransform, inject } from '@angular/core';\r\nimport { ExecuteDynamicCommand, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { MegaMenuGroup } from 'barsa-sap-ui';\r\nimport { SemantiToButtonColorPipe } from './semantic-to-button-color.pipe';\r\nimport { TilePropPipe } from './pipes/tile-prop.pipe';\r\n\r\n@Pipe({\r\n name: 'megamenu',\r\n standalone: false\r\n})\r\nexport class MegamenuPipe implements PipeTransform {\r\n private _semanticToButtonColor = inject(SemantiToButtonColorPipe);\r\n private _tilePropPipe = inject(TilePropPipe);\r\n transform(appTileGroups: MetaobjectDataModel[]): MegaMenuGroup[] {\r\n if (!Array.isArray(appTileGroups)) {\r\n return [];\r\n }\r\n const t = <Array<AppTileGroup>>appTileGroups;\r\n\r\n return t.map((group) => ({\r\n id: group.Id,\r\n title: group.navigatorTitle,\r\n icon: group.IconFont,\r\n iconImage: group.IconImage?.Url,\r\n routePath: group.RoutePath,\r\n data: group,\r\n color: this._semanticToButtonColor.transform(group.Color?.$Caption || 'default'),\r\n children: group.$Children ? this.transform(group.$Children) : [],\r\n items: (group.navigatorTiles || []).map((tile) => ({\r\n id: tile.Id,\r\n title: this._tilePropPipe.transform(tile, 'Title'),\r\n subtitle: this._tilePropPipe.transform(tile, 'Subtitle'),\r\n icon: tile.Component?.Settings?.Icon,\r\n iconImage: tile.Component?.Settings?.IconImage?.Url,\r\n command: tile.DynamicCommand,\r\n handleClick: (item) => {\r\n ExecuteDynamicCommand(item.command, item);\r\n }\r\n }))\r\n }));\r\n }\r\n}\r\ninterface AppTileGroup extends MetaobjectDataModel {\r\n Id: string;\r\n navigatorTitle: string;\r\n data: any;\r\n RoutePath?: string;\r\n IconFont?: string;\r\n Color?: { $Caption: string };\r\n $Children?: AppTileGroup[];\r\n navigatorTiles?: AppTile[];\r\n}\r\n\r\ninterface AppTile {\r\n Id: string;\r\n Component?: { Settings?: { Icon?: string; IconImage?: { Url: string } } };\r\n Title: string;\r\n Subtitle?: string;\r\n DynamicCommand?: any;\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostBinding,\r\n inject,\r\n Input,\r\n OnInit,\r\n ViewChild,\r\n EventEmitter,\r\n Output\r\n} from '@angular/core';\r\n\r\nimport {\r\n BaseComponent,\r\n MetaobjectDataModel,\r\n BarsaApi,\r\n AbbrevationDeviceSize,\r\n DynamicRootVariableDirective,\r\n ShellbarHeightService\r\n} from 'barsa-novin-ray-core';\r\nimport { SemanticColor } from '@fundamental-ngx/platform';\r\nimport { MegaMenuGroup } from 'barsa-sap-ui';\r\n\r\n@Component({\r\n selector: 'bt-tiles-viewer-megamenu',\r\n templateUrl: './tiles-viewer-megamenu.component.html',\r\n styleUrls: ['./tiles-viewer-megamenu.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TilesViewerMegamenuComponent extends BaseComponent implements OnInit {\r\n @ViewChild('cssRootVariable') _cssRootVariable: DynamicRootVariableDirective;\r\n @HostBinding('class.tiles-viewer') _cls = true;\r\n @Input() appTileGroups: Array<MetaobjectDataModel>;\r\n @Input() loading: boolean;\r\n @Input() rtl: boolean;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() selectedAppGroupId: string;\r\n @Input() DynamicComponents: any;\r\n @HostBinding('attr.rtl') _rtl = BarsaApi.LoginFormData.IsRtl;\r\n @Output() loadAppTileGroup = new EventEmitter<MetaobjectDataModel>();\r\n\r\n color: SemanticColor = 'default';\r\n id = 'tilesviewer';\r\n openMenu: number | null = null;\r\n isOpen = false;\r\n defaultTileGroupComponent = {\r\n Id: '',\r\n $Caption: '',\r\n Module: 'BarsaTiles',\r\n ModuleFileName: '',\r\n Name: 'TilesViewerGroup',\r\n Selector: 'bt-tiles-viewer-group'\r\n };\r\n protected _cdr = inject(ChangeDetectorRef);\r\n private _shellbarHeightServcie = inject(ShellbarHeightService);\r\n /**\r\n *\r\n */\r\n constructor() {\r\n super();\r\n this._shellbarHeightServcie.add('var(--megamenu-height)');\r\n }\r\n onGroupVisibilityChange(e: { visibility: string; menu: MegaMenuGroup }): void {\r\n if (e.visibility === 'Visible') {\r\n this.loadAppTileGroup.emit(e.menu.data);\r\n console.log(e.menu.data); \r\n }\r\n }\r\n\r\n _trackById(index, item): string | number {\r\n return item ? item.Id : index;\r\n }\r\n}\r\n","<bsu-barsa-megamenu [menuGroups]=\"appTileGroups | megamenu\" (visibilityChange)=\"onGroupVisibilityChange($event)\"></bsu-barsa-megamenu>\r\n","import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\r\nimport { ChangeDetectionStrategy, Component, inject, OnDestroy, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { takeUntil, map, distinctUntilChanged, withLatestFrom } from 'rxjs/operators';\r\n\r\nimport { BaseComponent, MetaobjectDataModel, PortalService, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\nimport { TilesService } from '../tiles.service';\r\nimport { TilesViewerService } from '../tiles-viewer.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IconTabBarComponent, IconTabBarTabComponent } from '@fundamental-ngx/platform';\r\n\r\n@Component({\r\n selector: 'bt-tiles-viewer-container',\r\n templateUrl: './tiles-viewer-container.component.html',\r\n styleUrls: ['./tiles-viewer-container.component.scss'],\r\n providers: [TilesViewerService, TilesService],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class TilesViewerContainerComponent extends BaseComponent implements OnInit, OnDestroy {\r\n settings: TileViewerContainerSettings;\r\n appTileGroups$: Observable<MetaobjectDataModel[]>;\r\n viewLoading$: Observable<boolean>;\r\n deviceSize$: Observable<AbbrevationDeviceSize>;\r\n edit$: Observable<boolean>;\r\n changedOrder = false;\r\n userStackContent = false;\r\n initialStackContentValue = false;\r\n userPortalSettings: MetaobjectDataModel;\r\n stackContent$: Observable<boolean>;\r\n firstSelected = false;\r\n rtl$: Observable<boolean>;\r\n selectedAppGroupId: string;\r\n stackContent = false;\r\n protected _activatedRoute = inject(ActivatedRoute);\r\n protected _router = inject(Router);\r\n protected _portalService = inject(PortalService);\r\n protected _tilesService = inject(TilesService);\r\n protected _tilesViewerService = inject(TilesViewerService);\r\n constructor() {\r\n super();\r\n this.stackContent$ = this._portalService.userPortalSettings$.pipe(\r\n takeUntil(this._onDestroy$),\r\n map((settings: Record<string, MetaobjectDataModel>) => settings['UserPortalSettings']),\r\n map((settings: MetaobjectDataModel) => settings?.TilesStackContent),\r\n distinctUntilChanged()\r\n );\r\n this.stackContent$.subscribe((stackContent) => {\r\n this.initialStackContentValue = this.userStackContent = stackContent;\r\n if (stackContent) {\r\n this.stackContent = stackContent;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n if (this.settings.MetaReportTiles?.Id) {\r\n this._tilesViewerService.loadAllAppTileGroupsByReportId(this.settings.MetaReportTiles?.Id);\r\n } else {\r\n this._tilesViewerService.loadAllAppTileGroups();\r\n }\r\n this.viewLoading$ = this._tilesViewerService.viewLoading$;\r\n\r\n this.selectedAppGroupId = this._tilesViewerService.selectedAppGroupId;\r\n this.rtl$ = this._portalService.rtl$;\r\n this.deviceSize$ = this._portalService.deviceSize$;\r\n this.edit$ = this._tilesService.edit$;\r\n this.appTileGroups$ = this._tilesService.homeAppTileGroups$;\r\n this.appTileGroups$.pipe(withLatestFrom(this.stackContent$)).subscribe(([tiles, stackContent]) => {\r\n if (tiles && stackContent) {\r\n tiles.forEach((c) => {\r\n this.loadAppTileGroup(c);\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n this._tilesService.setEditHome(false);\r\n }\r\n onSelectedTabChange(e: {\r\n firstSelected: boolean;\r\n selectedTabTitle: string;\r\n tabPanels: IconTabBarTabComponent[];\r\n appTileGroups: MetaobjectDataModel[];\r\n tabbarComponent: IconTabBarComponent;\r\n }): void {\r\n const { firstSelected, selectedTabTitle, appTileGroups: appGroups, tabPanels, tabbarComponent } = e;\r\n\r\n let appTileGroup: MetaobjectDataModel | undefined;\r\n if (this.stackContent) {\r\n return;\r\n }\r\n if (firstSelected) {\r\n const lastSelectedAppGroupId = this._tilesViewerService.selectedAppGroupId;\r\n if (lastSelectedAppGroupId) {\r\n appTileGroup = appGroups.find((c) => c.Id === lastSelectedAppGroupId);\r\n if (appTileGroup) {\r\n const lastTab = tabPanels.find((c) => c.label === appTileGroup?.navigatorTitle);\r\n if (lastTab && selectedTabTitle !== lastTab.label()) {\r\n appTileGroup = appGroups.find((c) => c.Id === lastSelectedAppGroupId);\r\n tabbarComponent.selectTab(lastTab.id());\r\n }\r\n return;\r\n }\r\n }\r\n }\r\n if (!appTileGroup) {\r\n appTileGroup = appGroups.find((c) => c.navigatorTitle === selectedTabTitle);\r\n }\r\n if (appTileGroup) {\r\n this._tilesViewerService.setSelectedTab(appTileGroup);\r\n this.loadAppTileGroup(appTileGroup);\r\n }\r\n }\r\n onLoadAppTileGroup(appTileGroup: MetaobjectDataModel): void {\r\n this.loadAppTileGroup(appTileGroup);\r\n }\r\n onDropGroup(e: { appTileGroups: MetaobjectDataModel[]; event: CdkDragDrop<MetaobjectDataModel[]> }): void {\r\n const { event, appTileGroups: appGroups } = e;\r\n\r\n moveItemInArray(appGroups, event.previousIndex, event.currentIndex);\r\n\r\n this.changedOrder = true;\r\n // this.saveOrderAppTiles(allApps, group);\r\n }\r\n onDrop(e: { appTileGroup; event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }> }): void {\r\n const { appTileGroup: group, event } = e;\r\n const previousContainer = event.previousContainer;\r\n const container = event.container;\r\n const containerIsTile = container.data.isTile;\r\n const previousItems = previousContainer.data.items;\r\n const containerItems = container.data.items;\r\n const { previousIndex, currentIndex } = event;\r\n if (previousContainer === container) {\r\n moveItemInArray(previousItems, previousIndex, currentIndex);\r\n if (containerIsTile) {\r\n this._saveOrderAppTiles(group);\r\n } else {\r\n this._saveOrderActionLinks(group);\r\n }\r\n } else {\r\n transferArrayItem(previousItems, containerItems, previousIndex, currentIndex);\r\n const appTileIdTransferedId = containerItems[currentIndex]?.AppTile?.Id ?? containerItems[currentIndex].Id;\r\n if (containerIsTile) {\r\n this._saveOrderActionLinks(group);\r\n this._saveOrderAppTiles(group, appTileIdTransferedId);\r\n } else {\r\n this._saveOrderAppTiles(group);\r\n this._saveOrderActionLinks(group, appTileIdTransferedId);\r\n }\r\n }\r\n }\r\n onStackContentChanged(checked): void {\r\n this.userStackContent = checked;\r\n }\r\n\r\n onExitEditHome(appTileGroups: MetaobjectDataModel[]): void {\r\n if (this.changedOrder) {\r\n this._tilesViewerService.saveAppGroupOrders(appTileGroups);\r\n this.changedOrder = false;\r\n }\r\n if (this.userStackContent !== this.initialStackContentValue) {\r\n this._tilesService.saveTilesStackContent(this.userStackContent);\r\n }\r\n this._setEditHome(false);\r\n }\r\n onCloseEditHome(): void {\r\n this._setEditHome(false);\r\n }\r\n\r\n onDelete(appTileGroup: MetaobjectDataModel): void {\r\n this._tilesViewerService.deleteAppGroup(appTileGroup);\r\n }\r\n\r\n onToggleShowHide(appTileGroup: MetaobjectDataModel): void {\r\n this._tilesViewerService.toggleAppGroupSettingVisible(appTileGroup);\r\n }\r\n\r\n onReset(appTileGroup: MetaobjectDataModel): void {\r\n this._tilesViewerService.resetAppGroup(appTileGroup);\r\n }\r\n onHideAppTile(appTile: MetaobjectDataModel): void {\r\n this._tilesViewerService.hideTile(appTile);\r\n }\r\n onRenameAppTile(appTile: MetaobjectDataModel): void {\r\n this._tilesViewerService.openRenameForm(appTile);\r\n }\r\n loadAppTileGroup(appTileGroup: MetaobjectDataModel): void {\r\n this._tilesViewerService.loadAppTileGroup(appTileGroup);\r\n }\r\n private _setEditHome(val): void {\r\n this._tilesService.setEditHome(val);\r\n }\r\n\r\n private _saveOrderAppTiles(appTileGroup: MetaobjectDataModel, appTileIdTransferedId: string = '0'): void {\r\n const appTiles = appTileGroup.navigatorTiles.map((appTile) =>\r\n appTile.AppTile ? appTile.AppTile.Id : appTile.Id\r\n );\r\n this._tilesService.saveOrderAppTiles(appTileGroup, appTiles, false, appTileIdTransferedId);\r\n }\r\n\r\n private _saveOrderActionLinks(appTileGroup: MetaobjectDataModel, appTileIdTransferedId: string = '0'): void {\r\n const actionLinks = appTileGroup.navigatorActionLinks.map((appTile) =>\r\n appTile.AppTile ? appTile.AppTile.Id : appTile.Id\r\n );\r\n this._tilesService.saveOrderAppTiles(appTileGroup, actionLinks, true, appTileIdTransferedId);\r\n }\r\n}\r\ninterface TileViewerContainerSettings extends MetaobjectDataModel {\r\n HideTabs: boolean;\r\n CenterContent?: boolean;\r\n BoxShadow?: boolean;\r\n TabsBackColor?: string;\r\n DisplayMode$Caption?: string;\r\n MetaReportTiles?: MetaobjectDataModel;\r\n}\r\n","@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n settings.DisplayMode$Caption === 'تب بندی' ? 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","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent } from '../models';\r\nimport { MicroTileChartBulletSetting } from '../models/micro-tile-chart-bullet-setting';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-bullet',\r\n templateUrl: './micro-tile-chart-bullet.component.html',\r\n styleUrls: ['./micro-tile-chart-bullet.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartBulletComponent extends BaseBtTileComponent<MicroTileChartBulletSetting> implements OnInit {\r\n target: number;\r\n value: number;\r\n range: number;\r\n forecast: number;\r\n suffix: string;\r\n separatorLines: number;\r\n isDelta: boolean;\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.target = this.settings.Target;\r\n this.value = this.settings.Value;\r\n this.range = this.settings.Range;\r\n this.forecast = this.settings.Forecast;\r\n this.suffix = this.settings.Suffix;\r\n this.separatorLines = this.settings.SeparatorLines;\r\n this.isDelta = this.settings.IsDelta;\r\n }\r\n}\r\n","<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","import { Component, ChangeDetectionStrategy, ViewChild, OnInit } from '@angular/core';\r\nimport { interval } from 'rxjs';\r\nimport { tap, takeUntil } from 'rxjs/operators';\r\nimport { CarouselComponent, CarouselItemComponent } from '@fundamental-ngx/core';\r\n\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { BaseBtTileComponent, NewsTileSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-news-tile',\r\n templateUrl: './news-tile.component.html',\r\n styleUrls: ['./news-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class NewsTileComponent extends BaseBtTileComponent<NewsTileSetting> implements OnInit {\r\n @ViewChild(CarouselComponent) carouselComponent: CarouselComponent;\r\n slides: MetaobjectDataModel[];\r\n activeNews: MetaobjectDataModel;\r\n isStop = false;\r\n\r\n get twoColumn(): boolean {\r\n return this.footer.TwoColumn;\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const slides = this.settings.Report.MoDataList;\r\n\r\n if (slides.length) {\r\n this._updateTile(slides[0]);\r\n interval(5000)\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n tap(() => {\r\n if (!this.isStop) {\r\n this.carouselComponent.next();\r\n }\r\n })\r\n )\r\n .subscribe();\r\n }\r\n this.slides = slides;\r\n }\r\n\r\n slideChange(activeSlide: { activeItems: CarouselItemComponent[] }): void {\r\n const currentSlide = activeSlide.activeItems[0].value;\r\n this._updateTile(currentSlide);\r\n }\r\n\r\n private _updateTile(newsMo: MetaobjectDataModel): void {\r\n this.activeNews = newsMo;\r\n }\r\n}\r\n","<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 />\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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { ComparisonItem } from 'barsa-echarts';\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-comparison',\r\n templateUrl: './micro-tile-chart-comparison.component.html',\r\n styleUrls: ['./micro-tile-chart-comparison.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartComparisonComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n chartData: ComparisonItem = {\r\n data: [\r\n { value: 5, color: '#de890d', label: 'تاخیر' },\r\n {\r\n value: 45,\r\n color: '#dc0d0e',\r\n label: 'هم اکنون'\r\n },\r\n { value: 100, color: '#3fa45b', label: 'به موقع' }\r\n ],\r\n suffix: '%'\r\n };\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { StackbarItem } from 'barsa-echarts';\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-stackbar',\r\n templateUrl: './micro-tile-chart-stackbar.component.html',\r\n styleUrls: ['./micro-tile-chart-stackbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartStackbarComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n charData: StackbarItem = {\r\n data: [\r\n { value: 20, color: '#3fa45b' },\r\n { value: 30, color: '#e9730c' },\r\n { value: 50, color: '#dc0d0e' }\r\n ],\r\n suffix: '%'\r\n };\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { LineItem } from 'barsa-echarts';\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-line',\r\n templateUrl: './micro-tile-chart-line.component.html',\r\n styleUrls: ['./micro-tile-chart-line.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartLineComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n chartData: LineItem = {\r\n data: [\r\n { value: 2, label: '1 آبان' },\r\n { value: 4, label: 'آبان 20' },\r\n {\r\n value: 3,\r\n label: 'آبان 27'\r\n },\r\n { value: 5, label: 'آبان 30' }\r\n ],\r\n color: '',\r\n suffix: 'M'\r\n };\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\n@Component({\r\n selector: 'bt-micro-tile-chart-circular',\r\n templateUrl: './micro-tile-chart-circular.component.html',\r\n styleUrls: ['./micro-tile-chart-circular.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartCircularComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n chartData = 70;\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\nimport { AreaChart } from 'barsa-echarts';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-area',\r\n templateUrl: './micro-tile-chart-area.component.html',\r\n styleUrls: ['./micro-tile-chart-area.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartAreaComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n chartData: AreaChart = {\r\n areas: [\r\n { data: [2.5, 2.5, 2.5, 2.5], color: '#3fa45b' },\r\n {\r\n data: [2, 2, 2, 2],\r\n color: '#e9730c'\r\n },\r\n { data: [1.5, 1.5, 1.5, 1.5], color: '#dc0d0e' }\r\n ],\r\n\r\n line: {\r\n data: [\r\n { value: 2, label: 'june 1' },\r\n { value: 4, label: 'june 20' },\r\n { value: 3, label: 'june 27' },\r\n { value: 5, label: 'june 30' }\r\n ],\r\n suffix: 'M'\r\n },\r\n firstValueColor: '#3fa45b',\r\n lastValueColor: '#dc0d0e'\r\n };\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BaseBtTileComponent, ChartTileSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-bar',\r\n templateUrl: './micro-tile-chart-bar.component.html',\r\n styleUrls: ['./micro-tile-chart-bar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class MicroTileChartBarComponent extends BaseBtTileComponent<ChartTileSetting> {}\r\n","<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","import { ChangeDetectionStrategy, Component, OnInit, inject } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { DialogRef } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, BbbTranslatePipe } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bt-create-app-group',\r\n templateUrl: './create-app-group.component.html',\r\n styleUrls: ['./create-app-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CreateAppGroupComponent extends BaseComponent implements OnInit {\r\n dialogRef = inject(DialogRef);\r\n title: string;\r\n appGroupForm: UntypedFormGroup;\r\n submitted: boolean;\r\n RequiredText: string;\r\n\r\n private bbbPipe = inject(BbbTranslatePipe);\r\n private fb = inject(UntypedFormBuilder);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.appGroupForm = this.fb.group({\r\n title: new UntypedFormControl(this.title, [Validators.required])\r\n });\r\n const mandatoryFieldText = this.bbbPipe.transform('AlertFieldIsMandatory');\r\n const titleText = this.bbbPipe.transform('Title');\r\n this.RequiredText = mandatoryFieldText.replace('{0}', titleText);\r\n }\r\n\r\n onSave(): void {\r\n this.submitted = true;\r\n if (this.appGroupForm.valid) {\r\n this.dialogRef.close(this.title);\r\n }\r\n }\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component, Input, OnInit, inject } from '@angular/core';\r\nimport { DialogRef, DialogService } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, BarsaApi, MetaobjectDataModel, BbbTranslatePipe } from 'barsa-novin-ray-core';\r\n\r\nimport { CreateAppGroupComponent } from '../create-app-group/create-app-group.component';\r\nimport { AppTileGroupPin } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-pin-tile',\r\n templateUrl: './pin-tile.component.html',\r\n styleUrls: ['./pin-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class PinTileComponent extends BaseComponent implements OnInit {\r\n @Input() app: MetaobjectDataModel;\r\n @Input() appTileGroups: MetaobjectDataModel[];\r\n @Input() mobile: boolean;\r\n @Input() pin: boolean;\r\n newGroupDialogRef: DialogRef;\r\n newGroupText = '';\r\n pinnedAppInTileGroups: {\r\n [key: string]: string[];\r\n };\r\n\r\n private _dialogService = inject(DialogService);\r\n private _dialogRef = inject(DialogRef);\r\n private bbbPipe = inject(BbbTranslatePipe);\r\n constructor() {\r\n super();\r\n this.newGroupText = BarsaApi.LoginFormData.IsRtl\r\n ? this.bbbPipe.transform('Groups') + ' ' + this.bbbPipe.transform('New')\r\n : this.bbbPipe.transform('New') + ' ' + this.bbbPipe.transform('Groups');\r\n\r\n const _dialogRef = this._dialogRef;\r\n\r\n this.app = _dialogRef.data.app;\r\n this.appTileGroups = _dialogRef.data.appTileGroups;\r\n this.pinnedAppInTileGroups = _dialogRef.data.pinnedAppInTileGroups;\r\n }\r\n ngOnInit(): void {\r\n this._setLoading(true);\r\n const tileGroupsId = this.pinnedAppInTileGroups[this.app.Id];\r\n this.appTileGroups.forEach((appGroup) => {\r\n this._setDefaultPinTile(appGroup, tileGroupsId);\r\n });\r\n this._setLoading(false);\r\n }\r\n onAccept(): void {\r\n const appTileGroupsPin: AppTileGroupPin[] = [];\r\n this.appTileGroups.forEach((group) => {\r\n this._getChangedPinTileGroups(group, appTileGroupsPin);\r\n });\r\n this._close({ appTileGroupsPin, app: this.app });\r\n }\r\n\r\n onClose(): void {\r\n this._close();\r\n }\r\n\r\n onNewGroup(): void {\r\n this.newGroupDialogRef = this._dialogService.open(CreateAppGroupComponent, {\r\n data: { title: this.newGroupText },\r\n verticalPadding: true,\r\n mobile: this.mobile,\r\n responsivePadding: true\r\n });\r\n\r\n this.newGroupDialogRef.afterClosed.subscribe(() => {\r\n // if (result) {\r\n // this.dialogRef.loading(true);\r\n // this.tilesService\r\n // .createAppGroup(result)\r\n // .pipe(\r\n // takeUntil(this._onDestroy$),\r\n // finalize(() => {\r\n // this.dialogRef.loading(false);\r\n // })\r\n // )\r\n // .subscribe();\r\n // }\r\n });\r\n }\r\n _setLoading(loading): void {\r\n this._dialogRef.loading(loading);\r\n }\r\n _setDefaultPinTile(appTileGroup: MetaobjectDataModel, tileGroupsId: string[]): void {\r\n appTileGroup.$PinTile = appTileGroup.$DefaultPinTile =\r\n tileGroupsId.includes(appTileGroup.Id) || tileGroupsId.includes(appTileGroup.UserAppTileGroupSetting?.Id);\r\n appTileGroup.$Children?.forEach((subGroup) => {\r\n this._setDefaultPinTile(subGroup, tileGroupsId);\r\n });\r\n appTileGroup.$Disabledpin = false;\r\n }\r\n _getChangedPinTileGroups(appTileGroup: MetaobjectDataModel, appTileGroupsPin: AppTileGroupPin[]): void {\r\n if (appTileGroup.$PinTile && !appTileGroup.$DefaultPinTile) {\r\n // Add\r\n appTileGroupsPin.push({ appTileGroup, visible: true });\r\n } else if (appTileGroup.$PinTile === false && appTileGroup.$DefaultPinTile) {\r\n // Remove\r\n appTileGroupsPin.push({ appTileGroup, visible: false });\r\n }\r\n appTileGroup.$Children?.forEach((subGroup) => {\r\n this._getChangedPinTileGroups(subGroup, appTileGroupsPin);\r\n });\r\n }\r\n _close(result?): void {\r\n this._dialogRef.close(result);\r\n }\r\n}\r\n","<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 </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 </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","import { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { Subject, BehaviorSubject, combineLatest, Observable } from 'rxjs';\r\n\r\nimport {\r\n AbbrevationDeviceSize,\r\n BarsaApi,\r\n MetaobjectDataModel,\r\n MoForReportModel,\r\n PortalService\r\n} from 'barsa-novin-ray-core';\r\nimport { TilesService } from './tiles.service';\r\nimport { AppTileGroupPin } from './models';\r\nimport { distinctUntilChanged, map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppFinderService implements OnDestroy {\r\n pinnedAppInAppTileGroups$: Observable<Record<string, string[]>>;\r\n appGroups$: Observable<MetaobjectDataModel[]>;\r\n selectedAppGroupId$: Observable<string>;\r\n selectedAppGroup$: Observable<MetaobjectDataModel | undefined>;\r\n deviceSize$: Observable<'s' | 'm' | 'l' | 'xl'>;\r\n private _appGroupsSource = new BehaviorSubject<MetaobjectDataModel[]>([]);\r\n private _OnDestroy$ = new Subject<void>();\r\n private _portalService = inject(PortalService);\r\n private _tileService = inject(TilesService);\r\n private _selectedAppGroupIdSource = new Subject<string>();\r\n private _pinnedAppInAppTileGroupsSource = new BehaviorSubject<{\r\n [key: string]: string[];\r\n }>({});\r\n \r\n constructor() {\r\n this.loadAppGroups();\r\n this.deviceSize$ = this._tileService.deviceSize$;\r\n this.pinnedAppInAppTileGroups$ = this._pinnedAppInAppTileGroupsSource.asObservable();\r\n this.appGroups$ = this._appGroupsSource.asObservable();\r\n this.selectedAppGroupId$ = this._selectedAppGroupIdSource.asObservable().pipe(distinctUntilChanged());\r\n this.selectedAppGroup$ = combineLatest([this.appGroups$, this.selectedAppGroupId$]).pipe(\r\n map(([moDataList, selectedId]) => moDataList?.find((c) => c.Id === selectedId))\r\n );\r\n }\r\n get deviceSize(): AbbrevationDeviceSize {\r\n return this._portalService.deviceSize;\r\n }\r\n get appTileGroups(): MetaobjectDataModel[] | undefined {\r\n return this._tileService.appTileGroups?.MoDataList;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._OnDestroy$.next();\r\n }\r\n loadAppGroups(): void {\r\n this._portalService\r\n .ReportExecute('UserAppGroups')\r\n .subscribe((allApps) => this._nextAllApps(allApps.MoDataList));\r\n }\r\n selectAppGroup(appGroupId: string): void {\r\n const appGroups = this._appGroupsSource.getValue();\r\n const group = appGroups.find((c) => c.Id === appGroupId);\r\n if (group) {\r\n this._selectedAppGroupIdSource.next(appGroupId);\r\n this.loadAppsByAppGroup(appGroups, group);\r\n }\r\n }\r\n loadAppsByAppGroup(appGroups: MetaobjectDataModel[], appGroup: MetaobjectDataModel): void {\r\n if (appGroup.Apps) {\r\n return;\r\n }\r\n const reportWrapper = BarsaApi.Bw.RunBlMethod('LoadAppsByAppGroup', appGroup.Id);\r\n const moForReport: MoForReportModel = reportWrapper.Unwrap();\r\n appGroup.Apps = appGroup.Apps ?? [];\r\n const apps = moForReport.MoDataList;\r\n if (apps.length > 0) {\r\n const customColumns = Object.keys(apps[0]).filter((c) => c.indexOf('$Caption') > -1 && !c.startsWith('$'));\r\n\r\n apps.forEach((app) => {\r\n customColumns.forEach((column) => {\r\n app.$HasPinned = app.$HasPinned || Number(app[column.split('$Caption')[0]]);\r\n });\r\n });\r\n }\r\n appGroup.Apps = [...appGroup.Apps, ...apps];\r\n this._nextAllApps(appGroups);\r\n }\r\n loadPinnedAppInTileGroups(app: MetaobjectDataModel): {\r\n [key: string]: string[];\r\n } {\r\n const appId = app.Id;\r\n const val = this._pinnedAppInAppTileGroupsSource.getValue();\r\n if (val[appId]) {\r\n return val;\r\n }\r\n const reportWrapper = BarsaApi.Bw.RunBlMethod('PinnedAppInTileGroups', appId);\r\n const moForReport: MoForReportModel = reportWrapper.Unwrap();\r\n\r\n val[appId] = val[appId] ?? [];\r\n\r\n const apps = moForReport.MoDataList;\r\n if (apps.length > 0) {\r\n apps.forEach((itemApp) => {\r\n const predefined = (itemApp.Id as any).Id;\r\n const userSetting = itemApp.UserAppTileGroupSetting?.Id;\r\n if (predefined) {\r\n val[appId] = [...val[appId], predefined];\r\n }\r\n if (userSetting) {\r\n val[appId] = [...val[appId], userSetting];\r\n }\r\n });\r\n }\r\n this._pinnedAppInAppTileGroupsSource.next(val);\r\n return val;\r\n }\r\n pinTileChanged(appTileGroups: AppTileGroupPin[], app: MetaobjectDataModel, callback): void {\r\n this._tileService.pinTileChanged(appTileGroups, app, (settings) => {\r\n const val = this._pinnedAppInAppTileGroupsSource.getValue();\r\n const appId = app.Id;\r\n\r\n for (let i = 0; i < appTileGroups.length; i++) {\r\n const appTileSetting = settings[i];\r\n const appTileGroupSettingId = appTileSetting.UserAppTileGroupSettingId;\r\n const appTileGroupId = appTileSetting.AppTileGroupId;\r\n if (appTileGroups[i].visible) {\r\n val[appId] = [...val[appId], appTileGroupSettingId, appTileGroupId];\r\n } else {\r\n val[appId] = val[appId].filter((c) => c !== appTileGroupSettingId && c !== appTileGroupId);\r\n }\r\n }\r\n this._pinnedAppInAppTileGroupsSource.next({ ...val });\r\n callback();\r\n });\r\n }\r\n private _nextAllApps(appGroups?: MetaobjectDataModel[]): void {\r\n const newAppGroups = appGroups ?? this._appGroupsSource.getValue();\r\n this._appGroupsSource.next([...newAppGroups]);\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { ContentDensity, ContentDensityService, DialogService } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\nimport { AppFinderService } from '../app-finder.service';\r\nimport { AppTileGroupPin } from '../models';\r\nimport { PinTileComponent } from '../pin-tile/pin-tile.component';\r\n\r\n@Component({\r\n selector: 'bt-form-app-finder',\r\n templateUrl: './form-app-finder.component.html',\r\n styleUrls: ['./form-app-finder.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FormAppFinderComponent extends BaseComponent implements OnInit {\r\n selectedGroups: MetaobjectDataModel[];\r\n isAllSelected = true;\r\n appGroups$: Observable<MetaobjectDataModel[] | undefined>;\r\n appTileGroups$: Observable<MetaobjectDataModel[]>;\r\n searchTerm: string;\r\n deviceSize$: Observable<AbbrevationDeviceSize>;\r\n sideContentSize$: Observable<string>;\r\n contentDensity$: Observable<ContentDensity>;\r\n selectedAppGroup$: Observable<MetaobjectDataModel | undefined>;\r\n selectedAppGroupId$: Observable<string>;\r\n mobile$: Observable<boolean>;\r\n contentHeight: string;\r\n pinnedAppInAppTileGroups$: Observable<Record<string, string[]>>;\r\n\r\n private _cdr = inject(ChangeDetectorRef);\r\n private _dialogService = inject(DialogService);\r\n private _appFinderService = inject(AppFinderService);\r\n private _contentDensityService = inject(ContentDensityService);\r\n\r\n constructor() {\r\n super();\r\n this.contentDensity$ = this._contentDensityService.contentDensity.asObservable();\r\n this.appGroups$ = this._appFinderService.appGroups$;\r\n this.selectedAppGroup$ = this._appFinderService.selectedAppGroup$;\r\n this.selectedAppGroupId$ = this._appFinderService.selectedAppGroupId$;\r\n this.deviceSize$ = this._appFinderService.deviceSize$;\r\n this.pinnedAppInAppTileGroups$ = this._appFinderService.pinnedAppInAppTileGroups$;\r\n this.mobile$ = this.deviceSize$.pipe(map((c) => c === 's'));\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.sideContentSize$ = this.deviceSize$.pipe(\r\n takeUntil(this._onDestroy$),\r\n map((deviceSize) => {\r\n switch (deviceSize) {\r\n case 's':\r\n return 'sm';\r\n case 'm':\r\n return 'md';\r\n case 'l':\r\n return 'lg';\r\n case 'xl':\r\n return 'xl';\r\n default:\r\n return 'l';\r\n }\r\n })\r\n );\r\n }\r\n\r\n onSelectedAppGroupChange(appGroupId: string): void {\r\n this._changeGroup(appGroupId);\r\n }\r\n\r\n onPinClick(app: MetaobjectDataModel): void {\r\n const pinnedAppInTileGroups = this._appFinderService.loadPinnedAppInTileGroups(app);\r\n const appTileGroups = this._appFinderService.appTileGroups;\r\n const deviceSize = this._appFinderService.deviceSize;\r\n const mobile = deviceSize === 's';\r\n this._dialogService\r\n .open(PinTileComponent, {\r\n data: { app, pinnedAppInTileGroups, appTileGroups },\r\n minWidth: '350px',\r\n minHeight: '420px',\r\n draggable: false,\r\n mobile,\r\n resizable: false,\r\n verticalPadding: false,\r\n backdropClickCloseable: false\r\n })\r\n .afterClosed.subscribe((result) => {\r\n this._appTileGroupsPinChange(result);\r\n });\r\n }\r\n onRefresh(): void {}\r\n async _appTileGroupsPinChange(result: {\r\n appTileGroupsPin: AppTileGroupPin[];\r\n app: MetaobjectDataModel;\r\n }): Promise<void> {\r\n try {\r\n // Will try to ask for permission\r\n this._appFinderService.pinTileChanged(result.appTileGroupsPin, result.app, () => {\r\n this._cdr.detectChanges();\r\n });\r\n // eslint-disable-next-line\r\n } catch (_err) {\r\n // show msg error\r\n } finally {\r\n // show toast successful\r\n }\r\n }\r\n private _changeGroup(appGroupId: string): void {\r\n this.isAllSelected = false;\r\n this._appFinderService.selectAppGroup(appGroupId);\r\n this._cdr.detectChanges();\r\n }\r\n}\r\n","<bt-app-finder\r\n [appGroups]=\"(appGroups$ | async)!!\"\r\n [selectedAppGroupId]=\"(selectedAppGroupId$ | async)!!\"\r\n [selectedAppGroup]=\"(selectedAppGroup$ | async)!!\"\r\n [mobile]=\"(mobile$ | async)!!\"\r\n [sideContentSize]=\"(sideContentSize$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [contentDensity]=\"(contentDensity$ | async) ?? 'compact'\"\r\n [pinnedAppInAppTileGroups]=\"(pinnedAppInAppTileGroups$ | async)!!\"\r\n (selectedAppGroupIdChange)=\"onSelectedAppGroupChange($event)\"\r\n (pinClick)=\"onPinClick($event)\"\r\n>\r\n</bt-app-finder>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseComponent } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-footer-edit-tile',\r\n templateUrl: './footer-edit-tile.component.html',\r\n styleUrls: ['./footer-edit-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FooterEditTileComponent extends BaseComponent {}\r\n","<button fd-button [glyph]=\"'pushpin-off'\" fdType=\"\"></button>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BaseBtTileComponent, NumericTileSetting } from '../models';\r\nimport { NumericContentState } from '@fundamental-ngx/core';\r\n@Component({\r\n selector: 'bt-numeric-tile',\r\n templateUrl: './numeric-tile.component.html',\r\n styleUrls: ['./numeric-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class NumericTileComponent extends BaseBtTileComponent<NumericTileSetting> {\r\n kpiStateIsColor = false;\r\n scalseStateIsColor = false;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n switch (this.kpiState) {\r\n case 'positive':\r\n case 'negative':\r\n case 'informative':\r\n case 'critical':\r\n case 'neutral':\r\n break;\r\n default:\r\n this.kpiStateIsColor = this.kpiState !== '';\r\n break;\r\n }\r\n switch (this.scaleState) {\r\n case 'positive':\r\n case 'negative':\r\n case 'informative':\r\n case 'critical':\r\n case 'neutral':\r\n break;\r\n default:\r\n this.scalseStateIsColor = this.scaleState !== '';\r\n break;\r\n }\r\n }\r\n get launchIcon(): string {\r\n return this.settings.LaunchIcon;\r\n }\r\n get kpiState(): NumericContentState {\r\n return this.settings.ContentKpiState;\r\n }\r\n get kpi(): string {\r\n return this.settings.ContentKpi;\r\n }\r\n get scaleState(): NumericContentState {\r\n return this.settings.ScaleState;\r\n }\r\n get scaleText(): string {\r\n return this.settings.ScaleText;\r\n }\r\n get scaleArrowIcon(): string {\r\n return this.settings.ScaleArrowIcon;\r\n }\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, LogoTileSetting } from '../models';\r\n@Component({\r\n selector: 'bt-logo-tile',\r\n templateUrl: './logo-tile.component.html',\r\n styleUrls: ['./logo-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class LogoTileComponent extends BaseBtTileComponent<LogoTileSetting> {\r\n get fileId(): string {\r\n let fileId = this.settings.Logo?.FileId;\r\n if (!fileId) {\r\n fileId = this.settings.CalcLogo?.FileId;\r\n }\r\n return fileId;\r\n }\r\n}\r\n","<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\" />\r\n </div>\r\n</bt-tile>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, FeedTileSetting } from '../models';\r\n@Component({\r\n selector: 'bt-feed-tile',\r\n templateUrl: './feed-tile.component.html',\r\n styleUrls: ['./feed-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class FeedTileComponent extends BaseBtTileComponent<FeedTileSetting> {\r\n get twoColumn(): boolean {\r\n return this.settings.TwoColumn;\r\n }\r\n get text(): string {\r\n return this.settings.ContentText;\r\n }\r\n get byline(): string {\r\n return this.settings.ContentByLine;\r\n }\r\n get kpi(): string {\r\n return this.settings.ContentKpi;\r\n }\r\n get state(): 'positive' | 'negative' {\r\n return this.settings.State;\r\n }\r\n}\r\n","<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","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\nimport { FilePictureInfoModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-simple-tile',\r\n templateUrl: './simple-tile.component.html',\r\n styleUrls: ['./simple-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class SimpleTileComponent extends BaseBtTileComponent<BaseTileSetting> implements OnInit {\r\n icon: string;\r\n iconCalc: string;\r\n isCircle: boolean;\r\n iconColor: string;\r\n iconImage:string;\r\n pictureIcon: FilePictureInfoModel;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.icon = this.settings.Icon;\r\n this.iconImage = this.settings.IconImage?.Url;\r\n this.isCircle = this.settings.IsCircle;\r\n this.pictureIcon = this.settings.PictureIcon;\r\n if (this.icon && this.icon.toLowerCase().startsWith('ih')) {\r\n this.iconCalc = this.icon;\r\n }\r\n this.iconColor = this.settings.IconColor;\r\n }\r\n}\r\n","<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\" />\r\n }\r\n </div>\r\n }\r\n </div>\r\n</bt-tile>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, OnInit, signal, WritableSignal } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\nimport { ContainerReportSetting, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-report-tile',\r\n templateUrl: './report-tile.component.html',\r\n styleUrls: ['./report-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ReportTileComponent extends BaseBtTileComponent<ReportTileSettings> implements OnInit {\r\n @HostBinding('style.width') _width;\r\n @HostBinding('style.height') _height;\r\n\r\n reportSettings: WritableSignal<ContainerReportSetting> = signal({\r\n RelatedReport: { Id: '0', $Caption: '' },\r\n RowClick: '',\r\n DataOnly: false\r\n });\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n const report = this.settings.MetaReport;\r\n this._width = this.settings.WidthSize;\r\n this._height = this.settings.HeightSize;\r\n this.reportSettings.set({\r\n RelatedReport: { Id: report.Id, $Caption: '' },\r\n RowClick: '',\r\n DataOnly: false\r\n });\r\n }\r\n}\r\ninterface ReportTileSettings extends BaseTileSetting {\r\n MetaReport: MetaobjectDataModel;\r\n WidthSize: string;\r\n HeightSize: string;\r\n}\r\n","<bnrc-report-container [settings]=\"reportSettings()\"> </bnrc-report-container>","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, ProfileTileSetting } from '../models';\r\nimport { FilePictureInfoModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-profile-tile',\r\n templateUrl: './profile-tile.component.html',\r\n styleUrls: ['./profile-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ProfileTileComponent extends BaseBtTileComponent<ProfileTileSetting> {\r\n icon: string;\r\n iconCalc: string;\r\n iconColor: string;\r\n calcImage: string;\r\n image: FilePictureInfoModel;\r\n fileId2: string;\r\n get fileId(): string {\r\n let fileId = this.settings?.Image?.FileId;\r\n if (!fileId) {\r\n fileId = this.settings?.CalcImage;\r\n }\r\n return fileId;\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.icon = this.settings?.Icon;\r\n this.fileId2 = this.fileId;\r\n this.calcImage = this.settings?.CalcImage;\r\n if (this.calcImage && this.calcImage.toLowerCase().startsWith('ih')) {\r\n this.iconCalc = this.calcImage;\r\n }\r\n }\r\n}\r\n","<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","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n inject,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n signal,\r\n WritableSignal\r\n} from '@angular/core';\r\nimport { IconTabBarItem } from '@fundamental-ngx/platform';\r\nimport {\r\n BaseComponent,\r\n MetaobjectDataModel,\r\n WorkflowExecuteChoiceStatus,\r\n BarsaApi,\r\n NotificationItem,\r\n NotificationAction,\r\n AbbrevationDeviceSize,\r\n ContainerReportSetting,\r\n GroupByService\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bt-notification-group',\r\n templateUrl: './notification-group.component.html',\r\n styleUrls: ['./notification-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false,\r\n providers: [GroupByService]\r\n})\r\nexport class NotificationGroupComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() notifications: NotificationItem[] | null;\r\n @Input() loading: boolean;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() notificationCount: { unread: number; all: number };\r\n @Input() notificationReport: MetaobjectDataModel;\r\n\r\n @HostBinding('class') _deviceSize = '';\r\n\r\n @Output() viewed = new EventEmitter<NotificationItem>();\r\n @Output() remove = new EventEmitter<{ items: NotificationItem[]; silent: boolean }>();\r\n @Output() actionClick = new EventEmitter<{ item: NotificationItem; btn: NotificationAction }>();\r\n @Output() showEvent = new EventEmitter<{ tag: string; mo: MetaobjectDataModel; nama: string }>();\r\n @Output() loadMore = new EventEmitter<void>();\r\n\r\n expanded: Record<string, boolean> = {};\r\n tabList: any[] = [\r\n { label: 'By Date', title: 'CreationDateOnly' },\r\n { label: 'By Type', title: 'Subject' },\r\n { label: 'By Priority', title: 'Priority' }\r\n ];\r\n viewedNotifications: NotificationItem[] = [];\r\n reportSetting: WritableSignal<ContainerReportSetting> = signal({\r\n RelatedReport: { Id: '0', $Caption: '' },\r\n RowClick: '',\r\n DataOnly: false\r\n });\r\n private _groupByServcie = inject(GroupByService);\r\n private _selectedTab = this.tabList[0].title;\r\n private _cdr = inject(ChangeDetectorRef);\r\n\r\n constructor() {\r\n super();\r\n this._selectedTab = this.tabList[0].title;\r\n this._setGroupBy();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._deviceSize = this.deviceSize;\r\n this.reportSetting.set({\r\n RelatedReport: { Id: this.notificationReport.Id, $Caption: '' },\r\n RowClick: '',\r\n DataOnly: false\r\n });\r\n }\r\n onSelectedTabChange(selectedTab: IconTabBarItem): void {\r\n if (this._selectedTab !== selectedTab.id) {\r\n this._selectedTab = selectedTab.id;\r\n this._setGroupBy();\r\n }\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { notifications } = changes;\r\n if (notifications && !notifications.firstChange) {\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n onWorkflowExecuteChoiceStatusChanged(e: WorkflowExecuteChoiceStatus, mo: NotificationItem): void {\r\n if (e.result && !e.error) {\r\n this.remove.emit({ items: [mo], silent: true });\r\n BarsaApi.Bw.Toast.Success(`${e.choice?.Title} ${BarsaApi.BBB.Action}`);\r\n return;\r\n }\r\n mo.$ChoiceDefStatus = e;\r\n this._cdr.detectChanges();\r\n }\r\n _setGroupBy(): void {\r\n this._groupByServcie.setGroupBy([\r\n {\r\n IsGrouped: true,\r\n Name: this._selectedTab,\r\n SortDirection: 'desc'\r\n },\r\n {\r\n IsGrouped: false,\r\n Name: 'CreationDate',\r\n SortDirection: 'desc'\r\n }\r\n ]);\r\n }\r\n\r\n _trackByTitle(_index: number, _: string): number | string {\r\n return _index;\r\n }\r\n}\r\n","<fdp-icon-tab-bar size=\"s\" [expandOverflowText]=\"'More' | bbbTranslate\" (iconTabSelected)=\"onSelectedTabChange($event)\">\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}\r\n\r\n<!-- \r\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\r\n <div style=\"max-height: 346px; overflow-y: auto; overflow-x: hidden\">\r\n @for (mo of notifications; track _trackMoById($index, mo); let first = $first; let last = $last) {\r\n <bsu-notification-item\r\n [notificationItem]=\"mo\"\r\n (viewed)=\"viewed.emit($event)\"\r\n (remove)=\"remove.emit($event)\"\r\n (showEvent)=\"showEvent.emit($event)\"\r\n (actionClick)=\"actionClick.emit($event)\"\r\n intersectionObserver\r\n [intersectionThreshold]=\"0.5\"\r\n [deviceSize]=\"deviceSize\"\r\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\r\n ></bsu-notification-item>\r\n } @if (loading) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n }\r\n </div>\r\n</ng-template> -->\r\n<!-- @for (groupItem of tab.groupByItems; track _trackByKey(index2, groupItem); let index2 = $index) {\r\n <ul fd-notification-list>\r\n <fd-notification-group [expanded]=\"expanded[groupItem.Id]\" (click)=\"onExpanded(index2, groupItem)\">\r\n <fd-notification-group-header>\r\n <span fd-notification-group-header-title>\r\n @switch(index){ @case (0){\r\n {{ groupItem.CreationDate$Caption }}\r\n } @case(1){\r\n {{ groupItem.Subject }}\r\n\r\n } @case(2){\r\n {{ groupItem.Priority$Caption }}\r\n\r\n }}</span\r\n >\r\n </fd-notification-group-header>\r\n <fd-notification-group-list>\r\n <fd-notification>\r\n <fd-notification-body>\r\n <fd-avatar size=\"xs\" glyph=\"batch-payments\"></fd-avatar>\r\n <fd-notification-content>\r\n <fd-notification-header>\r\n <fd-icon glyph=\"error\" color=\"negative\"></fd-icon>\r\n <h4 fd-notification-title [unread]=\"true\">\r\n Notification Title (unread) lorem ipsum dolor sit amet, consectetur\r\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna\r\n aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\r\n eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n </h4>\r\n </fd-notification-header>\r\n <p fd-notification-paragraph>\r\n Description of notification topic lorem ipsum dolor sit amet, consectetur\r\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna\r\n aliqua.\r\n </p>\r\n <fd-notification-footer>\r\n <span fd-notification-footer-content>Product Name</span>\r\n <span fd-notification-separator></span>\r\n <span fd-notification-footer-content>Feature Name</span>\r\n <span fd-notification-separator></span>\r\n <span fd-notification-footer-content>11:11 AM</span>\r\n </fd-notification-footer>\r\n <span\r\n fd-object-status\r\n [indicationColor]=\"2\"\r\n [secondaryIndication]=\"true\"\r\n [inverted]=\"true\"\r\n label=\"Negative\"\r\n title=\"Negative\"\r\n glyph=\"high-priority\"\r\n aria-label=\"Object status Negative Inverted\"\r\n ></span>\r\n </fd-notification-content>\r\n <fd-notification-actions>\r\n <button\r\n fd-button\r\n fdType=\"transparent\"\r\n ariaLabel=\"Close\"\r\n glyph=\"decline\"\r\n title=\"close\"\r\n ></button>\r\n </fd-notification-actions>\r\n </fd-notification-body>\r\n </fd-notification>\r\n </fd-notification-group-list>\r\n </fd-notification-group>\r\n </ul>\r\n\r\n } -->\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n inject,\r\n Input,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n signal,\r\n SimpleChanges,\r\n DOCUMENT\r\n} from '@angular/core';\r\n\r\nimport { fromEvent, map, Observable } from 'rxjs';\r\nimport {\r\n ComboboxComponent,\r\n DialogService, \r\n ObjectStatus,\r\n PopoverComponent,\r\n ProductSwitchItem,\r\n ShellbarComponent,\r\n ShellbarMenuItem\r\n} from '@fundamental-ngx/core';\r\n\r\nimport {\r\n BaseComponent,\r\n MetaobjectDataModel,\r\n FilePictureInfoModel,\r\n MoForReportModel,\r\n APP_VERSION,\r\n NotificationItem,\r\n NotificationAction,\r\n AbbrevationDeviceSize,\r\n SearchInput,\r\n PortalService\r\n} from 'barsa-novin-ray-core';\r\nimport { UserInfo, UserMenuType } from '../models';\r\nimport { Router } from '@angular/router';\r\ninterface ShellbarSetting extends MetaobjectDataModel {\r\n subtitle: string;\r\n calcSubtitle: string;\r\n logo: FilePictureInfoModel;\r\n ProductSwitchItems: MoForReportModel;\r\n ProductMenuItems: MoForReportModel;\r\n UserMenuItems: MoForReportModel;\r\n ActionItems: MoForReportModel;\r\n}\r\n\r\n@Component({\r\n selector: 'bt-barsa-shellbar',\r\n templateUrl: './barsa-shellbar.component.html',\r\n styleUrls: ['./barsa-shellbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarsaShellbarComponent extends BaseComponent implements OnInit {\r\n @Input() showSidebar: boolean;\r\n @Input() multiLanguages: boolean;\r\n @Input() userLoggedIn: boolean;\r\n @Input() settings: MetaobjectDataModel;\r\n @Input() productMenuControl: string;\r\n @Input() deviceSize: AbbrevationDeviceSize;\r\n @Input() cultures: Record<string, any>;\r\n @Input() shellbarData: ShellbarSetting;\r\n @Input() notificationsUnreadCount: any;\r\n @Input() productMenuItems1: ShellbarMenuItem[];\r\n @Input() bodyClick: string;\r\n @Input() logo: { FileId: string };\r\n @Input() actions: Array<MetaobjectDataModel>;\r\n @Input() userMenu: UserMenuType[];\r\n @Input() footerButtons: UserMenuType[];\r\n @Input() productSwitcher: ProductSwitchItem[];\r\n @Input() subtitle: string;\r\n @Input() isMobile: boolean;\r\n @Input() hideShellbarActions: boolean;\r\n @Input() flatButtons: any[];\r\n @Input() isTablet: boolean;\r\n @Input() userInfo: UserInfo | null;\r\n @Input() isDesktop: boolean;\r\n @Input() informativeText: string;\r\n @Input() informativeStatus: ObjectStatus;\r\n @Input() hideProductMenu: boolean;\r\n @Input() enableSearch: boolean;\r\n @Input() hideNotifications: boolean;\r\n @Input() isServiceDesk = false;\r\n @Input() isOpenQuickAccess;\r\n @Input() sideMenuTemplate: TemplateRef<any> | null;\r\n @Input() notificationReport: MetaobjectDataModel;\r\n @Input() profileDynamicCommand: MetaobjectDataModel;\r\n @Input() profileDynamicCommandText: string;\r\n @Input() profileDynamicCommandIcon: string;\r\n @Input() displayName: string;\r\n @Input() hideBranding: boolean;\r\n @Input() rtl: boolean;\r\n\r\n @Output() isOpenQuickAccessChanged = new EventEmitter<boolean>(false);\r\n @Output() openNotificationPanel = new EventEmitter<void>();\r\n @Output() openQuickAccessPanel = new EventEmitter<void>();\r\n @Output() cultureChanged = new EventEmitter<string>();\r\n @Output() notifiationActionClick = new EventEmitter<{ item: NotificationItem; btn: NotificationAction }>();\r\n\r\n @ViewChild(ShellbarComponent, { static: true }) shellbar: ShellbarComponent;\r\n @ViewChild(ComboboxComponent) comboboxComponent: ComboboxComponent;\r\n @ViewChild('popoverComponent', { static: false }) popoverComponent: PopoverComponent;\r\n @ViewChild('notificationsDialog', { static: true, read: TemplateRef }) _notificationsDialog: TemplateRef<any>;\r\n\r\n isOpenNotificatoin = false;\r\n expanded = false;\r\n searchTerms = ['مرخصی', 'ماموریت', 'تیکت', 'پروژه'];\r\n searchTerm: string;\r\n actions$: Observable<ShellbarMenuItem[]>;\r\n showVersion = false;\r\n showSearch = signal(false);\r\n inputEnableSearch = signal(false);\r\n appVersion = inject(APP_VERSION);\r\n private _portalService = inject(PortalService);\r\n private _dialogService = inject(DialogService);\r\n private _document = inject<Document>(DOCUMENT);\r\n private _cdr = inject(ChangeDetectorRef);\r\n private _router = inject(Router);\r\n\r\n constructor() {\r\n super();\r\n this.showVersion = false;\r\n fromEvent(document, 'scroll')\r\n .pipe(\r\n map(() => window.scrollY) // یا document.documentElement.scrollTop\r\n )\r\n .subscribe((scrollTop) => {\r\n const x = this._el.nativeElement as HTMLElement;\r\n if (scrollTop > this.el.nativeElement.offsetHeight) {\r\n x.classList.add('scrolled');\r\n } else {\r\n x.classList.remove('scrolled');\r\n }\r\n });\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._portalService.windowResize();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { enableSearch } = changes;\r\n if (enableSearch) {\r\n this.inputEnableSearch.set(enableSearch.currentValue);\r\n }\r\n }\r\n onSearchSubmit(e: SearchInput): void {\r\n const x = this._portalService.DefaultPage;\r\n this._router.navigateByUrl(`${x?.Route ?? ''}/search?term=` + e.text);\r\n }\r\n onSearchOpen(e: boolean): void {\r\n this.showSearch.set(e);\r\n }\r\n onBellNotification = (): void => {\r\n this._document?.body && this._document.body.click();\r\n this._dialogService\r\n .open(this._notificationsDialog, {\r\n mobile: true,\r\n verticalPadding: false,\r\n closeOnNavigation: true\r\n })\r\n .afterLoaded.subscribe(() => {\r\n this.openNotificationPanel.emit();\r\n });\r\n };\r\n onRouteFormStateChange(): void {\r\n this._closeSideMenu();\r\n }\r\n onCultureChange(culture): void {\r\n this._changeCulture(culture);\r\n }\r\n // notifiatiaon actions\r\n onNotificationAction(e: { item: NotificationItem; btn: NotificationAction }): void {\r\n this.notifiationActionClick.emit(e);\r\n }\r\n // end notification actions\r\n onOpenQuickAccess = (): void => {\r\n this.isOpenQuickAccessChanged.emit(true);\r\n this.openQuickAccessPanel.emit();\r\n };\r\n onOpenNotification = (): void => {\r\n this.isOpenNotificatoin = true;\r\n };\r\n\r\n onLanguage = (e): void => {\r\n const culture = e.currentTarget.textContent.trim();\r\n this._changeCulture(culture);\r\n };\r\n\r\n private _closeSideMenu(): void {\r\n if (!this.isOpenQuickAccess) {\r\n return;\r\n }\r\n this.isOpenQuickAccessChanged.emit(false);\r\n this._cdr.detectChanges();\r\n }\r\n private _changeCulture(culture: string): void {\r\n this.cultureChanged.emit(culture);\r\n }\r\n}\r\n","<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 <fd-shellbar-separator\r\n fdShellbarHidePriority=\"1\"\r\n [class.hide]=\"!informativeText && !productMenuItems1?.length\"\r\n ></fd-shellbar-separator>\r\n\r\n <span\r\n [class.hide]=\"!informativeText\"\r\n fdShellbarHidePriority=\"2\"\r\n fd-object-status\r\n [status]=\"informativeStatus || 'informative'\"\r\n [inverted]=\"true\"\r\n [label]=\"informativeText\"\r\n ></span>\r\n\r\n <fd-product-menu\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 (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]=\"'ویرایش پروفایل'\"\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 (productSwitcher?.length) {\r\n <fd-product-switch>\r\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\r\n </fd-product-switch-body>\r\n </fd-product-switch>\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'\" />\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","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n inject,\r\n OnInit,\r\n Renderer2,\r\n TemplateRef,\r\n ViewChild,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { forkJoin, Observable, of } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport {\r\n ComboboxComponent,\r\n PopoverComponent,\r\n ProductSwitchItem,\r\n ShellbarMenuItem,\r\n ShellbarUser\r\n} from '@fundamental-ngx/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\nimport {\r\n BaseComponent,\r\n BarsaApi,\r\n MetaobjectDataModel,\r\n PortalService,\r\n BreadcrumbService,\r\n APP_VERSION,\r\n NotificationService,\r\n NotificationItem,\r\n NotificationAction,\r\n BbbTranslatePipe,\r\n AbbrevationDeviceSize,\r\n getDeviceIsMobile,\r\n getDeviceIsDesktop,\r\n getDeviceIsTablet,\r\n ShellbarHeightService,\r\n ShellbarSetting,\r\n ApplicationCtrlrService\r\n} from 'barsa-novin-ray-core';\r\n\r\nimport { TilesService } from '../tiles.service';\r\nimport { NavigationEnd, Router, RouterEvent } from '@angular/router';\r\nimport { UserMenuType, UserInfo } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-shellbar',\r\n templateUrl: './shellbar.component.html',\r\n styleUrls: ['./shellbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class ShellbarComponent extends BaseComponent implements OnInit {\r\n @ViewChild(ComboboxComponent) comboboxComponent: ComboboxComponent;\r\n @ViewChild('popoverComponent', { static: false }) popoverComponent: PopoverComponent;\r\n @ViewChild('notificationsDialog', { static: true, read: TemplateRef }) _notificationsDialog: TemplateRef<any>;\r\n @HostBinding('class.isOpenQuickAccess') isOpenQuickAccess = false;\r\n\r\n appVersion = inject(APP_VERSION);\r\n settings: MetaobjectDataModel;\r\n deviceSize$: Observable<AbbrevationDeviceSize>;\r\n productMenuControl: string;\r\n user: ShellbarUser = {\r\n initials: 'WW',\r\n colorAccent: 1\r\n };\r\n productMenuItems1: ShellbarMenuItem[];\r\n userLoggedIn$: Observable<boolean>;\r\n cssUrl$: Observable<SafeResourceUrl | null>;\r\n cssVariableUrl$: Observable<SafeResourceUrl | null>;\r\n cssCustomUrl$: Observable<SafeResourceUrl | null>;\r\n cultures: Record<string, any>;\r\n notificationsUnreadCount$: Observable<number>;\r\n notifiationCountLoaded$: Observable<boolean>;\r\n bodyClick = ';$(\"body\").click()';\r\n isMobile = getDeviceIsMobile();\r\n isDesktop = getDeviceIsDesktop();\r\n isTablet = getDeviceIsTablet();\r\n loginRouterLink$: Observable<string>;\r\n isServiceDesk = false;\r\n userInfo$: Observable<UserInfo | null>;\r\n displayName = BarsaApi.LoginFormData.UserDisplayName;\r\n shellbarHeight$: Observable<string>;\r\n shellbarData: ShellbarSetting;\r\n productSwitcher$: Observable<ProductSwitchItem[]>;\r\n rtl$: Observable<boolean>;\r\n\r\n protected _applicationCtrlrService = inject(ApplicationCtrlrService);\r\n private _router = inject(Router);\r\n private _renderer2 = inject(Renderer2);\r\n private _bbbTranslatePipe = inject(BbbTranslatePipe);\r\n private _portalService = inject(PortalService);\r\n private _breadCrumbService = inject(BreadcrumbService);\r\n private _tilesService = inject(TilesService);\r\n private _cdr = inject(ChangeDetectorRef);\r\n private _domSanitizer = inject(DomSanitizer);\r\n private _notificationService = inject(NotificationService);\r\n private _shellbarHeightServcie = inject(ShellbarHeightService);\r\n get repIdProfileImage(): string {\r\n return this.shellbarData?.ProfileImageReport?.Id;\r\n }\r\n get notificationReport(): MetaobjectDataModel {\r\n return this.shellbarData?.NotificationReport;\r\n }\r\n get subtitle(): string {\r\n if (!this.shellbarData) {\r\n return '';\r\n }\r\n if (this._portalService.deviceSize === 's' && this.shellbarData.MobileSubtitle) {\r\n return this.shellbarData.MobileSubtitle\r\n ? `${this.shellbarData.MobileSubtitle} ${\r\n typeof this.shellbarData?.calcSubtitle === 'string' ? this.shellbarData.calcSubtitle : ''\r\n }`\r\n : '';\r\n }\r\n return this.shellbarData.Subtitle\r\n ? `${this.shellbarData?.Subtitle} ${\r\n typeof this.shellbarData?.calcSubtitle === 'string' ? this.shellbarData.calcSubtitle : ''\r\n }`\r\n : '';\r\n }\r\n get enableSearch(): boolean {\r\n return this.shellbarData?.EnableSearch;\r\n }\r\n get logo(): { FileId: string } {\r\n return this.shellbarData?.Logo;\r\n }\r\n get cssStyles(): string {\r\n return this.shellbarData?.CssStyles;\r\n }\r\n get actions(): Array<MetaobjectDataModel> {\r\n return this.settings?.HideUserMenu ? [] : this.shellbarData?.ActionItems?.MoDataList ?? [];\r\n }\r\n get sidebarSettings(): null | any {\r\n if (!this.shellbarData?.SidebarReport?.Id) {\r\n return null;\r\n }\r\n return {\r\n RelatedReport: { Id: this.shellbarData?.SidebarReport?.Id, $Caption: '' },\r\n RowClick: '',\r\n DataOnly: false\r\n };\r\n }\r\n get userMenu(): UserMenuType[] {\r\n const moDataList = BarsaApi.Common.Util.TryGetValue(this.shellbarData, 'UserMenuItems.MoDataList');\r\n const items = moDataList ? [...moDataList] : [];\r\n if (!items.length) {\r\n return [];\r\n }\r\n items.forEach((c) => {\r\n c.text = this._bbbTranslatePipe.transform(c.text);\r\n c.inFooter = c.InFooter === true ? true : false;\r\n c.icon = c.Icon;\r\n c.callback = new Function(c.Code + this.bodyClick);\r\n });\r\n return this.settings?.HideUserMenu ? [] : items;\r\n }\r\n\r\n get multiLanguages(): boolean {\r\n return this.shellbarData?.MultiLanguages;\r\n }\r\n get productMenuItems(): ShellbarMenuItem[] {\r\n const items = this.shellbarData?.ProductMenuItems?.MoDataList ?? [];\r\n items.forEach((c) => (c.callback = new Function(c.Code + this.bodyClick)));\r\n return items as unknown as ShellbarMenuItem[];\r\n }\r\n get IsUserLoggedIn(): boolean {\r\n return BarsaApi.LoginFormData.IsUserLoggedIn;\r\n }\r\n get IsUserAnonymous(): boolean {\r\n return BarsaApi.LoginFormData.IsAnonymous;\r\n }\r\n get productSwitcherItems(): ProductSwitchItem[] {\r\n return (this.shellbarData?.ProductSwitchItems?.MoDataList ?? []) as unknown as ProductSwitchItem[];\r\n }\r\n constructor() {\r\n super();\r\n\r\n this.userLoggedIn$ = this._portalService.userLoggedIn$;\r\n this.notifiationCountLoaded$ = this._notificationService.notificationCountLoaded$;\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.productSwitcher$ = this._applicationCtrlrService.appMenuItems$ as Observable<ProductSwitchItem[]>;\r\n this._shellbarHeightServcie.add('var(--shellbar-height)');\r\n this.shellbarHeight$ = this._shellbarHeightServcie.shellbarHeight$;\r\n this.isServiceDesk = BarsaApi.LoginFormData.IsServiceDesk;\r\n this.rtl$ = this._portalService.rtl$;\r\n this.cultures = BarsaApi.LoginFormData.Cultures;\r\n this.cssUrl$ = this._portalService.cssUrl$;\r\n this.cssVariableUrl$ = this._portalService.cssVariableUrl$;\r\n this.cssCustomUrl$ = this._portalService.cssCustomUrl$;\r\n this.loginRouterLink$ = this._portalService.loginRoute$;\r\n this.notificationsUnreadCount$ = this._notificationService.notificationUnreadCount$;\r\n\r\n BarsaApi.Bw.SetUserPortalSettings = (userPortalSettings: MetaobjectDataModel): void => {\r\n this._portalService.setUserPortalSettings(userPortalSettings);\r\n };\r\n BarsaApi.Bw.SetShellbarSubtitle = (calcSubtitle: string): void => {\r\n this.shellbarData.calcSubtitle = calcSubtitle;\r\n this._cdr.detectChanges();\r\n };\r\n this.deviceSize$ = this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$));\r\n\r\n this._breadCrumbService.breadcrumbs$.pipe(takeUntil(this._onDestroy$)).subscribe((breadCrumbs) => {\r\n if (breadCrumbs.length > 0) {\r\n this.productMenuControl = breadCrumbs[breadCrumbs.length - 1].label;\r\n }\r\n this._cdr.detectChanges();\r\n });\r\n this.userInfo$ = this._tilesService.userInfo$;\r\n this._tilesService.shellbar$.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\r\n this.shellbarData = mo as ShellbarSetting;\r\n if (this.IsUserLoggedIn) {\r\n this._tilesService.loadUserProfileImage(this.repIdProfileImage);\r\n }\r\n\r\n // this._cdr.detectChanges();\r\n forkJoin([of(this.productMenuItems), of([])]) // to append user defined\r\n .pipe(\r\n takeUntil(this._onDestroy$),\r\n map(([s1, s2]) => [...s1, ...s2])\r\n )\r\n .subscribe((c) => {\r\n this.productMenuItems1 = c;\r\n this._cdr.detectChanges();\r\n });\r\n });\r\n if (this.settings?.AllowAnonymous) {\r\n this._tilesService.loadShellbar();\r\n }\r\n this._portalService.userLoggedIn$.pipe(takeUntil(this._onDestroy$)).subscribe((loggedIn) => {\r\n if (!loggedIn) {\r\n return;\r\n }\r\n this._tilesService.loadShellbar();\r\n this._notificationService.LoadUnreadNotificationCount();\r\n });\r\n this._router.events.subscribe((event) => {\r\n if (\r\n (event instanceof NavigationEnd && event instanceof RouterEvent) ||\r\n (event as any).routerEvent instanceof RouterEvent\r\n ) {\r\n const x: string = (event as any).url || (event as any).routerEvent?.url;\r\n x.split('/').length > 2 ? this._addClass('no-home-page') : this._removeClass('no-home-page');\r\n }\r\n });\r\n }\r\n\r\n onCultureChange(culture): void {\r\n this._changeCulture(culture);\r\n }\r\n onShowNotification(e: { tag: string; mo: MetaobjectDataModel; nama: string }): void {\r\n this._notificationService.ShowNotificationRelatedMo(e);\r\n }\r\n onNotificationAction(e: { item: NotificationItem; btn: NotificationAction }): void {\r\n this._portalService.ExecuteNotificationAction(e.item.Tag, e.btn.Title);\r\n }\r\n\r\n onCultureChanged = (culture: string): void => {\r\n this._changeCulture(culture);\r\n };\r\n onNotificationWorkflowChoiceSuccess(_result): void {}\r\n onNotificationWorkflowChoiceFailed(_err): void {}\r\n private _addClass(className: string): void {\r\n this._renderer2.addClass(this._el.nativeElement, className);\r\n }\r\n private _removeClass(className: string): void {\r\n this._renderer2.removeClass(this._el.nativeElement, className);\r\n }\r\n private _mapNotifications(notifications): NotificationItem[] {\r\n return notifications.map((notification) => ({\r\n ...notification,\r\n contentSafeHtml: notification.Content\r\n ? this._domSanitizer.bypassSecurityTrustHtml(notification.Content)\r\n : ''\r\n }));\r\n }\r\n private _changeCulture(culture: string /* culture sample :English */): void {\r\n BarsaApi.Bw.SetCultureByDisplayName(culture);\r\n BarsaApi.Bw.NavigateTo('/');\r\n }\r\n}\r\n","@if (userLoggedIn$ | async; as userloggend) { @if (notificationsUnreadCount$ | async; as notificationsUnreadCount) { @if\r\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\r\n<bt-barsa-shellbar\r\n [class.service-desk]=\"isServiceDesk\"\r\n cssRootVariable\r\n [cssVariableValue]=\"(shellbarHeight$ | async)!!\"\r\n [cssVariableName]=\"'--absolute-page-top'\"\r\n [notificationReport]=\"notificationReport\"\r\n [userInfo]=\"userInfo$ | async\"\r\n [userLoggedIn]=\"true\"\r\n [rtl]=\"(rtl$ | async) === true\"\r\n [deviceSize]=\"deviceSize\"\r\n [shellbarData]=\"shellbarData\"\r\n [cssStyle]=\"cssStyles\"\r\n [productMenuControl]=\"productMenuControl\"\r\n [settings]=\"settings\"\r\n [informativeText]=\"settings?.InformativeText\"\r\n [informativeStatus]=\"settings?.InformativeStatus\"\r\n [hideProductMenu]=\"settings?.HideProductMenu\"\r\n [hideNotifications]=\"settings?.HideNotifications\"\r\n [profileDynamicCommand]=\"shellbarData.ProfileDynamicCommand\"\r\n [profileDynamicCommandText]=\"shellbarData.ProfileDynamicCommandText\"\r\n [profileDynamicCommandIcon]=\"shellbarData.ProfileDynamicCommandIcon\"\r\n [isMobile]=\"isMobile\"\r\n [displayName]=\"displayName\"\r\n [isTablet]=\"isTablet\"\r\n [isDesktop]=\"isDesktop\"\r\n [multiLanguages]=\"multiLanguages\"\r\n [notificationsUnreadCount]=\"notificationsUnreadCount > 0 ? notificationsUnreadCount : undefined\"\r\n [cultures]=\"cultures\"\r\n [logo]=\"logo\"\r\n [actions]=\"actions\"\r\n [footerButtons]=\"userMenu | filter: { inFooter: true }\"\r\n [userMenu]=\"userMenu | filter: { inFooter: false }\"\r\n [productSwitcher]=\"productSwitcherItems\"\r\n [subtitle]=\"subtitle\"\r\n [enableSearch]=\"shellbarData?.EnableSearch\"\r\n [isServiceDesk]=\"isServiceDesk\"\r\n [sideMenuTemplate]=\"\r\n sidebarSettings?.RelatedReport && sidebarSettings?.RelatedReport?.Id !== '0' ? QuickAccessTemplate : null\r\n \"\r\n [productMenuItems1]=\"productMenuItems1\"\r\n [isOpenQuickAccess]=\"isOpenQuickAccess\"\r\n (isOpenQuickAccessChanged)=\"isOpenQuickAccess = $event\"\r\n (cultureChanged)=\"onCultureChanged($event)\"\r\n (notifiationActionClick)=\"onNotificationAction($event)\"\r\n>\r\n</bt-barsa-shellbar>\r\n} } } } @else{ @if (isServiceDesk) {\r\n<bt-barsa-shellbar\r\n class=\"hide-user-menu\"\r\n [notificationReport]=\"notificationReport\"\r\n [cssStyle]=\"cssStyles\"\r\n [userLoggedIn]=\"false\"\r\n [rtl]=\"(rtl$ | async) === true\"\r\n [multiLanguages]=\"multiLanguages\"\r\n [userMenu]=\"userMenu\"\r\n [logo]=\"logo\"\r\n [productMenuItems1]=\"productMenuItems1\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\r\n [shellbarData]=\"shellbarData\"\r\n [cultures]=\"cultures\"\r\n [logo]=\"logo\"\r\n [isMobile]=\"isMobile\"\r\n [isTablet]=\"isTablet\"\r\n [isDesktop]=\"isDesktop\"\r\n [isServiceDesk]=\"isServiceDesk\"\r\n [actions]=\"actions\"\r\n [userMenu]=\"[]\"\r\n [productMenuControl]=\"productMenuControl\"\r\n [productSwitcher]=\"[]\"\r\n [subtitle]=\"subtitle\"\r\n [enableSearch]=\"shellbarData?.EnableSearch\"\r\n [settings]=\"settings\"\r\n [flatButtons]=\"userMenu\"\r\n [cultures]=\"cultures\"\r\n [productMenuItems1]=\"productMenuItems1\"\r\n (cultureChanged)=\"onCultureChanged($event)\"\r\n>\r\n</bt-barsa-shellbar>\r\n} }\r\n<ng-template #QuickAccessTemplate>\r\n @if(sidebarSettings?.RelatedReport && sidebarSettings?.RelatedReport?.Id !== '0'){\r\n <bnrc-report-container [settings]=\"sidebarSettings\"> </bnrc-report-container>\r\n }\r\n <!-- <bt-popover-app-finder (closeMenu)=\"isOpenQuickAccess = false\"></bt-popover-app-finder> -->\r\n</ng-template>\r\n@if(isOpenQuickAccess) {\r\n<div\r\n class=\"sidemenu-h tw-fixed rtl:tw-right-0 ltr:tw-left-0 tw-bg-slate-800/[.5] tw-z-[90] tw-w-screen tw-backdrop-blur-sm\"\r\n (click)=\"isOpenQuickAccess = false\"\r\n></div>\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport { BarsaApi } from 'barsa-novin-ray-core';\r\n\r\n@Pipe({\r\n name: 'tileHomeFilter',\r\n standalone: false\r\n})\r\nexport class TileHomeFilterPipe implements PipeTransform {\r\n transform(collection: any[]): any[] {\r\n return collection.filter((val) => this.matchFilter(val));\r\n }\r\n matchFilter(value): boolean {\r\n const match = Object.keys(value.Data).some((key) => {\r\n if (key.startsWith('$')) {\r\n return false;\r\n }\r\n if (key.startsWith('c')) {\r\n return BarsaApi.Common.Util.TryGetValue(value, 'Data.' + key);\r\n }\r\n });\r\n return match;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { forkJoin, Observable, of } from 'rxjs';\r\nimport { map, shareReplay } from 'rxjs/operators';\r\n\r\nimport { BarsaApi, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\ninterface AppTileModel extends MetaobjectDataModel {\r\n Component: MetaobjectDataModel;\r\n Selector: string;\r\n}\r\n@Pipe({\r\n name: 'groupTiles',\r\n standalone: false\r\n})\r\nexport class GroupTilesPipe implements PipeTransform {\r\n transform(appGroup: MetaobjectDataModel): Observable<AppTileModel[]> {\r\n const predefineTiles = appGroup.AppTiles;\r\n if (predefineTiles?.length === 0) {\r\n return of([]);\r\n }\r\n const predefine$ = of(predefineTiles);\r\n const userDefine$ = of(appGroup.UserAppTileGroupSetting?.UserAppTilesSetting?.MoDataList);\r\n\r\n return forkJoin([predefine$, userDefine$]).pipe(\r\n map(([s1, s2]) => [...s1, ...s2]),\r\n map((arrTiles) => {\r\n const tempTiles = arrTiles.filter((c) => c.Visible).sort((a, b) => (a.OrderItem > b.OrderItem ? 1 : 0));\r\n const group = { ...appGroup };\r\n group.Title = BarsaApi.Common.Util.TryGetValue(group, 'UserAppTileGroupSetting.Title', group.Title);\r\n group.OrderItem = BarsaApi.Common.Util.TryGetValue(\r\n group,\r\n 'UserAppTileGroupSetting.OrderItem',\r\n group.OrderItem\r\n );\r\n\r\n return tempTiles;\r\n }),\r\n shareReplay(1)\r\n );\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n OnInit,\r\n Output,\r\n inject\r\n} from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { ContentDensity, ContentDensityService, DialogService } from '@fundamental-ngx/core';\r\n\r\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\r\nimport { AppFinderService } from '../app-finder.service';\r\nimport { AppTileGroupPin } from '../models';\r\nimport { PinTileComponent } from '../pin-tile/pin-tile.component';\r\n\r\n@Component({\r\n selector: 'bt-popover-app-finder',\r\n templateUrl: './popover-app-finder.component.html',\r\n styleUrls: ['./popover-app-finder.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: '!tw-min-h-min'\r\n },\r\n standalone: false\r\n})\r\nexport class PopoverAppFinderComponent extends BaseComponent implements OnInit {\r\n @Output() closeMenu = new EventEmitter<void>();\r\n selectedGroups: MetaobjectDataModel[];\r\n isAllSelected = true;\r\n appGroups$: Observable<MetaobjectDataModel[] | undefined>;\r\n appTileGroups$: Observable<MetaobjectDataModel[]>;\r\n searchTerm: string;\r\n deviceSize$: Observable<AbbrevationDeviceSize>;\r\n sideContentSize$: Observable<string>;\r\n contentDensity$: Observable<ContentDensity>;\r\n selectedAppGroup$: Observable<MetaobjectDataModel | undefined>;\r\n selectedAppGroupId$: Observable<string>;\r\n mobile$: Observable<boolean>;\r\n contentHeight: string;\r\n pinnedAppInAppTileGroups$: Observable<Record<string, string[]>>;\r\n\r\n private _cdr = inject(ChangeDetectorRef);\r\n private _dialogService = inject(DialogService);\r\n private _appFinderService = inject(AppFinderService); \r\n private _contentDensityService = inject(ContentDensityService);\r\n\r\n constructor() {\r\n super();\r\n this.contentDensity$ = this._contentDensityService.contentDensity.asObservable();\r\n this.appGroups$ = this._appFinderService.appGroups$.pipe(\r\n map((appGroups) => {\r\n appGroups.forEach((cat) => {\r\n this._appFinderService.loadAppsByAppGroup(appGroups, cat);\r\n });\r\n return appGroups;\r\n })\r\n );\r\n this.selectedAppGroup$ = this._appFinderService.selectedAppGroup$;\r\n this.selectedAppGroupId$ = this._appFinderService.selectedAppGroupId$;\r\n this.deviceSize$ = this._appFinderService.deviceSize$;\r\n this.pinnedAppInAppTileGroups$ = this._appFinderService.pinnedAppInAppTileGroups$;\r\n this.mobile$ = this.deviceSize$.pipe(map((c) => c === 's'));\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.contentHeight = 'calc(' + this._el.nativeElement.offsetHeight + 'px - 2.75rem)';\r\n\r\n this.sideContentSize$ = this.deviceSize$.pipe(\r\n takeUntil(this._onDestroy$),\r\n map((deviceSize) => {\r\n switch (deviceSize) {\r\n case 's':\r\n return 'sm';\r\n case 'm':\r\n return 'md';\r\n case 'l':\r\n return 'lg';\r\n case 'xl':\r\n return 'xl';\r\n default:\r\n return 'l';\r\n }\r\n })\r\n );\r\n }\r\n\r\n onSelectedAppGroupChange(appGroupId: string): void {\r\n this._changeGroup(appGroupId);\r\n }\r\n\r\n onPinClick(app: MetaobjectDataModel): void {\r\n const pinnedAppInTileGroups = this._appFinderService.loadPinnedAppInTileGroups(app);\r\n const appTileGroups = this._appFinderService.appTileGroups;\r\n const deviceSize = this._appFinderService.deviceSize;\r\n const mobile = deviceSize === 's';\r\n this._dialogService\r\n .open(PinTileComponent, {\r\n data: { app, pinnedAppInTileGroups, appTileGroups },\r\n minWidth: '350px',\r\n minHeight: '420px',\r\n draggable: false,\r\n mobile,\r\n resizable: false,\r\n verticalPadding: false,\r\n backdropClickCloseable: false\r\n })\r\n .afterClosed.subscribe((result) => {\r\n this._appTileGroupsPinChange(result);\r\n });\r\n }\r\n onRefresh(): void {}\r\n async _appTileGroupsPinChange(result: {\r\n appTileGroupsPin: AppTileGroupPin[];\r\n app: MetaobjectDataModel;\r\n }): Promise<void> {\r\n try {\r\n // Will try to ask for permission\r\n this._appFinderService.pinTileChanged(result.appTileGroupsPin, result.app, () => {\r\n this._cdr.detectChanges();\r\n });\r\n // eslint-disable-next-line\r\n } catch (_err) {\r\n // show msg error\r\n } finally {\r\n // show toast successful\r\n }\r\n }\r\n private _changeGroup(appGroupId: string): void {\r\n this.isAllSelected = false;\r\n this._appFinderService.selectAppGroup(appGroupId);\r\n this._cdr.detectChanges();\r\n }\r\n}\r\n","<!-- \r\n<div>\r\n <div class=\"!tw-px-4 !tw-pt-2\" fd-form-item>\r\n <fd-input-group\r\n glyph=\"decline\"\r\n glyphAriaLabel=\"Clear\"\r\n placeholder=\"جستجو\"\r\n [button]=\"true\"\r\n [disabled]=\"false\"\r\n [(ngModel)]=\"searchTerm\"\r\n (addOnButtonClicked)=\"searchTerm = ''\"\r\n >\r\n </fd-input-group>\r\n </div>\r\n @for (cat of appGroups$ | async | filterAppsGrouped:searchTerm; track cat.Id) {\r\n <fd-panel\r\n fdCompact\r\n expandAriaLabel=\"Panel Expand\"\r\n expandAriaLabelledBy=\"panel-compact-1\"\r\n [expanded]=\"!!searchTerm?.length\"\r\n >\r\n <h5 fd-panel-title id=\"panel-compact-1\">{{ cat.Title }}</h5>\r\n <div fd-panel-content ariaLabel=\"Panel Content\" id=\"panel-content-3\" class=\"!p-0\">\r\n <ul fd-list [noBorder]=\"false\">\r\n @for (app of cat.Apps | filterApps:searchTerm; track app.Id) {\r\n <li fd-list-item>\r\n <a fd-list-link [navigated]=\"true\" [dynCommand]=\"app.DynamicCommand\" (click)=\"closeMenu.emit()\">\r\n <i fd-list-icon glyph=\"history\"></i>\r\n <span fd-list-title>{{ app.Title }}</span>\r\n <span fd-list-secondary>\r\n @if(pinnedAppInAppTileGroups$ | async; as pinnedAppInAppTileGroups) {\r\n <button\r\n ariaLabel=\"Bookmark\"\r\n fdType=\"transparent\"\r\n title=\"Bookmark\"\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups[app.Id]\r\n ? pinnedAppInAppTileGroups[app.Id].length\r\n ? 'emphasized'\r\n : 'transparent'\r\n : app.$HasPinned\r\n ? 'emphasized'\r\n : 'transparent'\r\n \"\r\n (click)=\"$event.stopPropagation(); onPinClick(app)\"\r\n ></button>\r\n }\r\n </span>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </fd-panel>\r\n }\r\n</div> -->\r\n","import { ChangeDetectionStrategy, Component, inject, Input, signal, TemplateRef, WritableSignal } from '@angular/core';\r\nimport { BarsaTreeItemComponent } from 'barsa-sap-ui';\r\n\r\nimport { takeUntil } from 'rxjs';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\nimport { AppFinderService } from '../app-finder.service';\r\n\r\n@Component({\r\n selector: 'bt-barsa-pin-app',\r\n templateUrl: './barsa-pin-app.component.html',\r\n styleUrls: ['./barsa-pin-app.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class BarsaPinAppComponent extends BarsaTreeItemComponent {\r\n @Input() titleTemplateRef: TemplateRef<any>;\r\n appGroups$: WritableSignal<MetaobjectDataModel[]> = signal([]);\r\n pinnedAppInAppTileGroups$: WritableSignal<Record<string, string[]>> = signal({});\r\n private _appFinderService = inject(AppFinderService);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._appFinderService.appGroups$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\r\n this.appGroups$.set(c);\r\n });\r\n this._appFinderService.pinnedAppInAppTileGroups$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\r\n this.pinnedAppInAppTileGroups$.set(c);\r\n });\r\n }\r\n onPinTap(): void {}\r\n}\r\n","<ng-container *ngIf=\"titleTemplateRef\">\r\n <ng-container *ngTemplateOutlet=\"titleTemplateRef\"></ng-container>\r\n</ng-container>\r\n<button\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups$()[node.Data.Id]\r\n ? pinnedAppInAppTileGroups$()[node.Data.Id].length\r\n ? 'emphasized'\r\n : 'standard'\r\n : node.Data.$HasPinned\r\n ? 'emphasized'\r\n : 'standard'\r\n \"\r\n (click)=\"onPinTap()\"\r\n></button>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n HostBinding,\r\n inject,\r\n OnChanges,\r\n signal,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport {\r\n BarsaApi,\r\n BaseComponent,\r\n getDeviceIsMobile,\r\n LogService,\r\n LocalStorageService,\r\n MetaobjectDataModel,\r\n BreadcrumbService,\r\n BreadCrumbInfo,\r\n RoutingService,\r\n MoForReportModel,\r\n PortalService,\r\n AbbrevationDeviceSize,\r\n SortDirection\r\n} from 'barsa-novin-ray-core';\r\nimport { BaseTileSetting } from '../models';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bt-barsa-tile-group-page',\r\n templateUrl: './barsa-tile-group-page.component.html',\r\n styleUrls: ['./barsa-tile-group-page.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [RoutingService],\r\n standalone: false\r\n})\r\nexport class BarsaTileGroupPageComponent extends BaseComponent implements OnChanges {\r\n @ViewChild('containerRef', { read: ViewContainerRef }) _containerRef: ViewContainerRef;\r\n @HostBinding('style.position') _position = 'absolute';\r\n moList = signal<BaseTileSetting[]>([]);\r\n isMobile = getDeviceIsMobile();\r\n rtl = BarsaApi.LoginFormData.IsRtl;\r\n title: string | null;\r\n dialogRef: any;\r\n parameters: BarsaTileGroupPageSettings;\r\n settings: BarsaTileGroupPageSettings;\r\n isSimple: boolean;\r\n listMode: boolean;\r\n breadcrumbs$: Observable<BreadCrumbInfo[]>;\r\n reportId: string;\r\n loading = signal(false);\r\n deviceSize: AbbrevationDeviceSize;\r\n sortSettingA = {\r\n Name: 'AppGroup',\r\n SortDirection: SortDirection.ASC,\r\n IsGrouped: true\r\n };\r\n sortSetting = signal([this.sortSettingA]);\r\n protected _logService: LogService = inject(LogService);\r\n protected _activatedRoute = inject(ActivatedRoute);\r\n protected _cdr = inject(ChangeDetectorRef);\r\n protected _router = inject(Router);\r\n protected _localStorage = inject(LocalStorageService);\r\n protected _breadCrumbService = inject(BreadcrumbService);\r\n protected _portalService = inject(PortalService);\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.breadcrumbs$ = this._breadCrumbService.breadcrumbs$;\r\n\r\n this.title = localStorage.getItem('ActiveTile');\r\n this.isSimple = this.parameters?.IsSimple || this.settings?.IsSimple;\r\n this.listMode = this.parameters?.ListMode || this.settings?.ListMode;\r\n if (this.isSimple) {\r\n this._position = 'relative';\r\n }\r\n this.deviceSize = this._portalService.deviceSize;\r\n const id = this._activatedRoute.snapshot.params['id'];\r\n\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [id],\r\n Method: 'GetTileGroupApps',\r\n SuccessFn: (e: MoForReportModel) => {\r\n if (e.MoDataList.length) {\r\n const key = Object.keys(e.MoDataList[0]).filter((c) => c.indexOf('AppTileGroup') > 0);\r\n if (key.length) {\r\n this.sortSettingA.Name = key[0];\r\n this.sortSetting.set([this.sortSettingA]);\r\n }\r\n }\r\n this.moList.set(e.MoDataList as Array<BaseTileSetting>);\r\n },\r\n FailFn: (e) => {\r\n this._logService.error(e);\r\n }\r\n });\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n }\r\n onClose(): void {\r\n this._router.navigate(['../']);\r\n }\r\n}\r\ninterface BarsaTileGroupPageSettings extends MetaobjectDataModel {\r\n IsSimple: boolean;\r\n ListMode: boolean;\r\n}\r\n","@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","import { ChangeDetectionStrategy, Component, inject, OnChanges, signal } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport {\r\n BarsaApi,\r\n getDeviceIsMobile,\r\n LocalStorageService,\r\n BreadcrumbService,\r\n BreadCrumbInfo,\r\n RoutingService,\r\n EmptyPageComponent\r\n} from 'barsa-novin-ray-core';\r\nimport { Observable, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'bt-barsa-tile-sidebar-page',\r\n templateUrl: './barsa-tile-sidebar-page.component.html',\r\n styleUrls: ['./barsa-tile-sidebar-page.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [RoutingService],\r\n standalone: false\r\n})\r\nexport class BarsaTileSidebarPageComponent extends EmptyPageComponent implements OnChanges {\r\n isMobile = getDeviceIsMobile();\r\n rtl = BarsaApi.LoginFormData.IsRtl;\r\n\r\n breadcrumbs$: Observable<BreadCrumbInfo[]>;\r\n title: string | null;\r\n firstReportLoaded = signal(false);\r\n protected _router = inject(Router);\r\n protected _localStorage = inject(LocalStorageService);\r\n protected _breadCrumbService = inject(BreadcrumbService);\r\n protected _routingService = inject(RoutingService); // create new routing service to handle sidebar navigation\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.isFirstPage = false;\r\n this._portalService.navigationEnd$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\r\n c && c.url.indexOf('mainside:report') > 0 && this.firstReportLoaded.set(true);\r\n });\r\n this.breadcrumbs$ = this._breadCrumbService.breadcrumbs$;\r\n this._routingService.isSidebar = true;\r\n this.title = localStorage.getItem('ActiveTile');\r\n }\r\n onClose(): void {\r\n this._router.navigate(['../']);\r\n }\r\n}\r\n","<div fd-bar>\r\n <div fd-bar-left style=\"flex: 1; width: 100%\">\r\n <fd-breadcrumb style=\"width: 100%\">\r\n @if (breadcrumbs$ | async; as breadCrumbs) { @for ( breadCrumb of breadCrumbs ;track breadCrumb.url; let i =\r\n $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 </div>\r\n</div>\r\n\r\n<fd-dynamic-side-content class=\"tiles-sidebar-wrapper\" fillEmptySpace style=\"overflow: auto\">\r\n <fd-dynamic-side-content-side>\r\n <ng-container #containerRef></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main style=\"padding: 2rem\">\r\n @if(firstReportLoaded()===false){\r\n <fd-message-page type=\"no-items\" style=\"align-self: center; background: transparent\">\r\n <fd-message-page-title>{{ 'SearchInReports' | bbbTranslate }}</fd-message-page-title>\r\n </fd-message-page>\r\n }\r\n <router-outlet name=\"mainside\"> </router-outlet>\r\n </fd-dynamic-side-content-main>\r\n</fd-dynamic-side-content>\r\n<div class=\"sidbar-outlet\">\r\n <router-outlet></router-outlet>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, OnInit, signal } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\nimport { FilePictureInfoModel, CardMediaSize } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-card-tile',\r\n templateUrl: './card-tile.component.html',\r\n styleUrls: ['./card-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class CardTileComponent extends BaseBtTileComponent<BaseTileSetting> implements OnInit {\r\n icon: string;\r\n iconCalc: string;\r\n iconColor: string;\r\n isCircle: boolean;\r\n pictureIcon: FilePictureInfoModel;\r\n hideSkeleton = signal(false);\r\n cardMediaSize: CardMediaSize;\r\n backgroundColor: string;\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.icon = this.settings.Icon;\r\n this.isCircle = this.settings.IsCircle;\r\n this.pictureIcon = this.settings.PictureIcon;\r\n this.cardMediaSize = this.settings.CardMediaSize$Caption;\r\n this.backgroundColor = this.settings.BackgroundColor;\r\n if (this.icon && this.icon.toLowerCase().startsWith('ih')) {\r\n this.iconCalc = this.icon;\r\n }\r\n this.iconColor = this.settings.IconColor;\r\n }\r\n}\r\n","<fd-card\r\n (click)=\"onTileClick()\"\r\n tileDynCommand\r\n [edit]=\"edit\"\r\n [navigateBackOnClick]=\"navigateBackOnClick\"\r\n [title]=\"data | tileProp: 'Title':parameters | bbbTranslate\"\r\n [setToStorage]=\"setToStorage\"\r\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\r\n [badge]=\"data | tileProp: 'Badge':parameters | bbbTranslate\"\r\n [ngClass]=\"groupType\"\r\n [interactive]=\"true\"\r\n [class.hassize]=\"cardMediaSize\"\r\n [style.background-color]=\"backgroundColor ? backgroundColor : null\"\r\n [class.custom-background]=\"backgroundColor\"\r\n>\r\n <fd-card-media>\r\n <div fd-card-media-image-container>\r\n <bsu-barsa-img-skeleton\r\n fd-card-media-image\r\n [title]=\"data | tileProp: 'Title':parameters | bbbTranslate\"\r\n [imageUrl]=\"data | tileProp: 'Picture':parameters | picFieldSrc: 'GetPictureFromFileInfo':null\"\r\n [size]=\"cardMediaSize | cardMediaSize: 160\"\r\n [widthFull]=\"!cardMediaSize\"\r\n ></bsu-barsa-img-skeleton>\r\n <!-- <fd-skeleton [style.display]=\"!hideSkeleton() ? null:'none'\" type=\"rectangle\" width=\"100%\" height=\"160px\"></fd-skeleton>\r\n <img\r\n fd-card-media-image\r\n [src]=\"data | tileProp: 'Picture':parameters | picFieldSrc: 'GetPictureFromFileInfo':null\"\r\n [alt]=\"data | tileProp: 'Title':parameters\"\r\n style=\"max-height: 160px\"\r\n [style.display]=\"!hideSkeleton() ? 'none':null\"\r\n (load)=\"hideSkeleton.set(true)\"\r\n /> -->\r\n </div>\r\n </fd-card-media>\r\n <fd-card-header>\r\n <fd-card-main-header>\r\n <h2 fd-card-title>{{ data | tileProp: 'Title':parameters | bbbTranslate }}</h2>\r\n <h3 fd-card-subtitle>{{ data | tileProp: 'Subtitle':parameters | bbbTranslate }}</h3>\r\n </fd-card-main-header>\r\n </fd-card-header>\r\n</fd-card>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Pipe({\r\n name: 'homeGroup',\r\n standalone: false\r\n})\r\nexport class HomeGroupPipe implements PipeTransform {\r\n constructor() {}\r\n transform(appGroups: MetaobjectDataModel[]): MetaobjectDataModel[] {\r\n return appGroups.filter((c) => c.navigatorTiles && c.navigatorTiles.length > 0);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'actionLinks',\r\n standalone: false\r\n})\r\nexport class ActionLinksPipe implements PipeTransform {\r\n transform(tiles: any): any {\r\n return tiles.filter((tile) => tile.IsActionLink);\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n inject\r\n} from '@angular/core';\r\nimport { BaseComponent, NotificationItem } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n selector: 'bt-notification-group-header',\r\n templateUrl: './notification-group-header.component.html',\r\n styleUrls: ['./notification-group-header.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class NotificationGroupHeaderComponent extends BaseComponent implements OnInit, OnChanges {\r\n @Input() notifications: NotificationItem[];\r\n @Input() title: string;\r\n unreadCount = 0;\r\n private _cdr = inject(ChangeDetectorRef);\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.setUnreadCount(this.notifications);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n const { notifications } = changes;\r\n if (notifications && !notifications.firstChange) {\r\n this.setUnreadCount(notifications.currentValue);\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n private setUnreadCount(notifications: NotificationItem[]): void {\r\n this.unreadCount = notifications.filter((c) => c.Unread).length;\r\n }\r\n}\r\n","<h2 fd-notification-title [unread]=\"false\">\r\n {{ title | bbbTranslate }} ({{ notifications.length }}) @if (unreadCount !== 0) {\r\n <strong>{{ 'New' | bbbTranslate }} ({{ unreadCount }})</strong>\r\n }\r\n</h2>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n\r\n@Pipe({\r\n name: 'filterAppsGrouped',\r\n standalone: true,\r\n pure: false\r\n})\r\nexport class FilterAppsGroupedPipe implements PipeTransform {\r\n transform(value: MetaobjectDataModel[] | undefined | null, term: string): MetaobjectDataModel[] | undefined | null {\r\n return value?.filter((cat) => !!cat.Apps.filter((app) => app.$Caption.includes(term ?? ''))?.length);\r\n }\r\n}\r\n\r\n@Pipe({\r\n name: 'filterApps',\r\n standalone: true,\r\n pure: false\r\n})\r\nexport class FilterAppsPipe implements PipeTransform {\r\n transform(value: MetaobjectDataModel[] | undefined | null, term: string): MetaobjectDataModel[] | undefined | null {\r\n if (!Array.isArray(value) || !term) {\r\n return value;\r\n }\r\n return value?.filter((app) => app.$Caption.includes(term));\r\n }\r\n}\r\n","import { Directive, OnChanges, OnDestroy, OnInit } from '@angular/core';\r\nimport { BaseDirective } from 'barsa-novin-ray-core';\r\nimport { takeUntil } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[tileSize]',\r\n standalone: false\r\n})\r\nexport class TileSizeDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy {\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\r\n if (c === 's') {\r\n this._renderer2.addClass(this._el.nativeElement.firstChild, 'fd-tile--s');\r\n }\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard, PortalPageResolver, TileGroupBreadcrumResolver } from 'barsa-novin-ray-core';\r\nimport { BarsaTileSidebarPageComponent } from './barsa-tile-sidebar-page/barsa-tile-sidebar-page.component';\r\nimport { ReportNavigatorComponent } from 'barsa-sap-ui';\r\n\r\nexport const extendHomeRouter = [\r\n {\r\n path: 'appgroupsidebar',\r\n component: BarsaTileSidebarPageComponent,\r\n canActivate: [AuthGuard],\r\n data: {\r\n pageData: {\r\n Module: 'BarsaHomePage',\r\n HasAuthorize: true,\r\n Route: '/appgroupsidebar'\r\n }\r\n },\r\n resolve: { pageData: PortalPageResolver, breadcrumb: TileGroupBreadcrumResolver },\r\n children: [\r\n {\r\n path: 'report/:id',\r\n outlet: 'mainside',\r\n component: ReportNavigatorComponent,\r\n data: {\r\n pageData: {\r\n HasAuthorize: false,\r\n Route: '/report',\r\n Module: 'BarsaReportPage'\r\n }\r\n }\r\n },\r\n {\r\n path: 'popup',\r\n loadChildren: () => import('barsa-novin-ray-core').then((c) => c.BarsaSapUiFormPageModule)\r\n },\r\n {\r\n path: 'formfieldshow',\r\n loadChildren: () => import('barsa-novin-ray-core').then((c) => c.BarsaSapUiFormPageModule)\r\n }\r\n ]\r\n }\r\n];\r\nconst routes: Routes = [];\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class BarsaTilesRoutingModule {}\r\n","import { ComponentFactoryResolver, NgModule, NO_ERRORS_SCHEMA, inject, provideAppInitializer } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule, LowerCasePipe } from '@angular/common';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport {\r\n IconTabBarComponent,\r\n IconTabBarTabComponent,\r\n IconTabBarTabContentDirective,\r\n SearchFieldComponent\r\n} from '@fundamental-ngx/platform';\r\nimport { FundamentalNgxCoreModule, GridListModule, ShellbarUserMenuComponent } from '@fundamental-ngx/core';\r\nimport { SplitterModule } from '@fundamental-ngx/btp/splitter';\r\nimport {\r\n UserMenuBodyComponent,\r\n UserMenuComponent,\r\n UserMenuControlComponent,\r\n UserMenuFooterComponent,\r\n UserMenuHeaderContainerDirective,\r\n UserMenuHeaderDirective,\r\n UserMenuListComponent,\r\n UserMenuListItemComponent,\r\n UserMenuSublineDirective,\r\n UserMenuUserNameDirective\r\n} from '@fundamental-ngx/core/user-menu';\r\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\r\nimport { BarsaSapUiModule } from 'barsa-sap-ui';\r\nimport { BarsaEchartsModule } from 'barsa-echarts';\r\n\r\nimport { ShellbarComponent } from './shellbar/shellbar.component';\r\nimport { TilesViewerComponent } from './tiles-viewer/tiles-viewer.component';\r\nimport { ProfileTileComponent } from './profile-tile/profile-tile.component';\r\nimport { SimpleTileComponent } from './simple-tile/simple-tile.component';\r\nimport { FeedTileComponent } from './feed-tile/feed-tile.component';\r\nimport { FooterTileComponent } from './footer-tile/footer-tile.component';\r\nimport { TileComponent } from './tile/tile.component';\r\nimport { LogoTileComponent } from './logo-tile/logo-tile.component';\r\nimport { NumericTileComponent } from './numeric-tile/numeric-tile.component';\r\nimport { TileHomeFilterPipe } from './pipes/tile-home-filter.pipe';\r\nimport { FooterEditTileComponent } from './footer-edit-tile/footer-edit-tile.component';\r\nimport { FormAppFinderComponent } from './form-app-finder/form-app-finder.component';\r\nimport { PinTileComponent } from './pin-tile/pin-tile.component';\r\nimport { GroupTilesPipe } from './pipes/group-tiles.pipe';\r\nimport { HomeGroupPipe } from './pipes/home-group.pipe';\r\nimport { TilePropPipe } from './pipes/tile-prop.pipe';\r\n\r\nimport { TilesService } from './tiles.service';\r\nimport { EmptyListDirective } from './directives/emptylist.directive';\r\nimport { ChangeAppTileComponent } from './change-app-tile/change-app-tile.component';\r\nimport { CreateAppGroupComponent } from './create-app-group/create-app-group.component';\r\n\r\nimport { MicroTileChartBarComponent } from './micro-tile-chart-bar/micro-tile-chart-bar.component';\r\nimport { MicroTileChartAreaComponent } from './micro-tile-chart-area/micro-tile-chart-area.component';\r\nimport { MicroTileChartCircularComponent } from './micro-tile-chart-circular/micro-tile-chart-circular.component';\r\nimport { MicroTileChartLineComponent } from './micro-tile-chart-line/micro-tile-chart-line.component';\r\nimport { MicroTileChartStackbarComponent } from './micro-tile-chart-stackbar/micro-tile-chart-stackbar.component';\r\nimport { MicroTileChartComparisonComponent } from './micro-tile-chart-comparison/micro-tile-chart-comparison.component';\r\nimport { NewsTileComponent } from './news-tile/news-tile.component';\r\nimport { ActionsLinkComponent } from './actions-link/actions-link.component';\r\nimport { ActionItemComponent } from './action-item/action-item.component';\r\nimport { MicroTileChartBulletComponent } from './micro-tile-chart-bullet/micro-tile-chart-bullet.component';\r\nimport { ActionLinksPipe } from './action-links.pipe';\r\nimport { AppFinderService } from './app-finder.service';\r\nimport { TilesViewerContainerComponent } from './tiles-viewer-container/tiles-viewer-container.component';\r\nimport { AppFinderComponent } from './app-finder/app-finder.component';\r\nimport { AppFinderGroupComponent } from './app-finder-group/app-finder-group.component';\r\nimport { AppFinderAppListComponent } from './app-finder-app-list/app-finder-app-list.component';\r\nimport { TileRendererDirective } from './tile-renderer.directive';\r\nimport { TilesViewerGroupComponent } from './tiles-viewer-group/tiles-viewer-group.component';\r\nimport { FormTileComponent } from './form-tile/form-tile.component';\r\nimport { NotificationGroupComponent } from './notification-group/notification-group.component';\r\nimport { NotificationGroupHeaderComponent } from './notification-group-header/notification-group-header.component';\r\nimport { BarsaShellbarComponent } from './barsa-shellbar/barsa-shellbar.component';\r\n\r\nimport { PopoverAppFinderComponent } from './popover-app-finder/popover-app-finder.component';\r\nimport { FilterAppsGroupedPipe, FilterAppsPipe } from './popover-app-finder/filter-apps-grouped.pipe';\r\nimport { TileStyleDirective } from './tile-style.directive';\r\nimport { TileSizeDirective } from './tile-size.directive';\r\nimport { TileDynamicCommandDirective } from './directives/tile-dynamic-command.directive';\r\nimport { BarsaPinAppComponent } from './barsa-pin-app/barsa-pin-app.component';\r\nimport { Router, RouterModule } from '@angular/router';\r\nimport { BarsaTileGroupPageComponent } from './barsa-tile-group-page/barsa-tile-group-page.component';\r\nimport { BarsaTilesRoutingModule, extendHomeRouter } from './barsa-tiles-routing.module';\r\nimport { BarsaTileSidebarPageComponent } from './barsa-tile-sidebar-page/barsa-tile-sidebar-page.component';\r\nimport { ReportTileComponent } from './report-tile/report-tile.component';\r\nimport { CardTileComponent } from './card-tile/card-tile.component';\r\nimport { TileClassDirective } from './directives/tile-class.directive';\r\nimport { SemantiToButtonColorPipe } from './semantic-to-button-color.pipe';\r\nimport { TilesViewerMegamenuComponent } from './tiles-viewer-megamenu/tiles-viewer-megamenu.component';\r\nimport { MegamenuPipe } from './megamenu.pipe';\r\n\r\nconst components = [\r\n ShellbarComponent,\r\n SimpleTileComponent,\r\n TilesViewerComponent,\r\n ProfileTileComponent,\r\n FeedTileComponent,\r\n FooterTileComponent,\r\n TileComponent,\r\n LogoTileComponent,\r\n NumericTileComponent,\r\n FooterEditTileComponent,\r\n FormAppFinderComponent,\r\n PinTileComponent,\r\n ChangeAppTileComponent,\r\n CreateAppGroupComponent,\r\n MicroTileChartAreaComponent,\r\n MicroTileChartCircularComponent,\r\n MicroTileChartLineComponent,\r\n MicroTileChartStackbarComponent,\r\n MicroTileChartComparisonComponent,\r\n MicroTileChartBarComponent,\r\n MicroTileChartBulletComponent,\r\n TilesViewerContainerComponent,\r\n NewsTileComponent,\r\n ActionsLinkComponent,\r\n ActionItemComponent,\r\n AppFinderComponent,\r\n AppFinderGroupComponent,\r\n AppFinderAppListComponent,\r\n TilesViewerGroupComponent,\r\n FormTileComponent,\r\n BarsaShellbarComponent,\r\n PopoverAppFinderComponent,\r\n BarsaPinAppComponent,\r\n BarsaTileGroupPageComponent,\r\n BarsaTileSidebarPageComponent,\r\n ReportTileComponent,\r\n CardTileComponent,\r\n TilesViewerMegamenuComponent\r\n];\r\nconst pipes = [\r\n GroupTilesPipe,\r\n TileHomeFilterPipe,\r\n HomeGroupPipe,\r\n ActionLinksPipe,\r\n TilePropPipe,\r\n SemantiToButtonColorPipe,\r\n MegamenuPipe\r\n];\r\nconst directives = [\r\n EmptyListDirective,\r\n TileRendererDirective,\r\n TileStyleDirective,\r\n TileSizeDirective,\r\n TileDynamicCommandDirective,\r\n TileClassDirective\r\n];\r\nexport function addTilesPageSidebar(_router: Router): void {\r\n const config = _router.config;\r\n const home = config.find((c) => c.path === 'home');\r\n home?.children?.push(...extendHomeRouter);\r\n const servicedesk = config.find((c) => c.path === 'servicedesk');\r\n servicedesk?.children?.push(...extendHomeRouter);\r\n _router.resetConfig(config);\r\n}\r\n@NgModule({\r\n schemas: [NO_ERRORS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n ReactiveFormsModule,\r\n DragDropModule,\r\n CdkTableModule,\r\n FundamentalNgxCoreModule,\r\n GridListModule,\r\n IconTabBarComponent,\r\n IconTabBarTabComponent,\r\n IconTabBarTabContentDirective,\r\n FilterAppsGroupedPipe,\r\n FilterAppsPipe,\r\n SplitterModule,\r\n SearchFieldComponent,\r\n ShellbarUserMenuComponent,\r\n UserMenuComponent,\r\n UserMenuControlComponent,\r\n UserMenuBodyComponent,\r\n UserMenuListComponent,\r\n UserMenuFooterComponent,\r\n UserMenuHeaderDirective,\r\n UserMenuSublineDirective,\r\n UserMenuUserNameDirective,\r\n UserMenuSublineDirective,\r\n UserMenuHeaderContainerDirective,\r\n UserMenuListItemComponent,\r\n UserMenuListComponent,\r\n BarsaNovinRayCoreModule,\r\n BarsaSapUiModule,\r\n BarsaTilesRoutingModule,\r\n BarsaEchartsModule\r\n ],\r\n providers: [\r\n ...pipes,\r\n TilesService,\r\n AppFinderService,\r\n LowerCasePipe,\r\n provideAppInitializer(() => {\r\n const initializerFn = (\r\n (_router: Router) => () =>\r\n addTilesPageSidebar(_router)\r\n )(inject(Router));\r\n return initializerFn();\r\n })\r\n ],\r\n declarations: [\r\n ...components,\r\n ...pipes,\r\n ...directives,\r\n NotificationGroupComponent,\r\n NotificationGroupHeaderComponent\r\n ],\r\n exports: [...components]\r\n})\r\nexport class BarsaTilesModule extends BaseModule {\r\n protected dcm: DynamicComponentService;\r\n protected componentFactoryResolver: ComponentFactoryResolver;\r\n\r\n protected dynamicComponents = [...components];\r\n\r\n /** Inserted by Angular inject() migration for backwards compatibility */\r\n\r\n constructor() {\r\n const dcm = inject(DynamicComponentService);\r\n const componentFactoryResolver = inject(ComponentFactoryResolver);\r\n\r\n super(dcm, componentFactoryResolver, 'BarsaTilesModule');\r\n\r\n this.dcm = dcm;\r\n this.componentFactoryResolver = componentFactoryResolver;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["takeUntil","filter","i2","i3","i4","i1","i5","i6","i7.FooterTileComponent","i8.TileStyleDirective","i9.TileDynamicCommandDirective","i3.TileComponent","i4.TilePropPipe","i2.ActionItemComponent","i3.TileDynamicCommandDirective","i9","i10","i11","i12.ActionsLinkComponent","i13.TileRendererDirective","i14.TileClassDirective","i6.EmptyListDirective","i7","i8.AppFinderGroupComponent","i9.AppFinderAppListComponent","i8","i2.MegamenuPipe","i4.TilesViewerComponent","i5.TilesViewerMegamenuComponent","i5.TileComponent","i6.TilePropPipe","i3.AppFinderComponent","i2.TileComponent","i5.TilePropPipe","i7.TilePropPipe","map","ShellbarComponent","i14","i16","i17","i18.NotificationGroupComponent","i2.BarsaShellbarComponent","i9.TileRendererDirective","i4.TileDynamicCommandDirective"],"mappings":"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"}