barsa-tiles 2.0.129 → 2.0.132
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/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/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/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/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/profile-tile/profile-tile.component.ts","../../../projects/barsa-tiles/src/lib/profile-tile/profile-tile.component.html","../../../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/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/pipes/home-group.pipe.ts","../../../projects/barsa-tiles/src/lib/action-links.pipe.ts","../../../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 } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable, of, from } from 'rxjs';\nimport { concatMap, distinctUntilChanged, filter, shareReplay, startWith, takeUntil, tap } from 'rxjs/operators';\n\nimport { RtlService } from '@fundamental-ngx/core';\nimport { BarsaApi, BbbTranslatePipe, MetaobjectDataModel, MoForReportModel, PortalService } from 'barsa-novin-ray-core';\nimport { AppTileGroupPin, UserPortalSettings } from './models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TilesService implements OnDestroy {\n deviceSize$: Observable<'s' | 'm' | 'l' | 'xl'>;\n homeAppTileGroups$: Observable<MetaobjectDataModel[]>;\n pinTiles$: Observable<PinTileInfo | null>;\n shellbarSource = new Subject<MetaobjectDataModel>();\n shellbar$: Observable<MetaobjectDataModel>;\n appTileGroups$: Observable<MoForReportModel | null>;\n edit$: Observable<boolean>;\n userProfileImageUrl$: Observable<string | null>;\n\n private _OnDestroy$ = new Subject<void>();\n private _homeAppTileGroupsSource = new BehaviorSubject<MetaobjectDataModel[]>([]);\n private pinTilesSource = new Subject<PinTileInfo>();\n private _appTileGroupsSource = new BehaviorSubject<MoForReportModel | null>(null);\n private _userProfileImageUrl$ = new BehaviorSubject<string | null>(null);\n private _edithomeSource = new BehaviorSubject<boolean>(false);\n private _componentSettings$ = new Subject<MetaobjectDataModel>();\n constructor(\n private _portalService: PortalService,\n private _rtlService: RtlService,\n private _bbbTranslatePipe: BbbTranslatePipe\n ) {\n BarsaApi.Bw.TilesService = this;\n this.userProfileImageUrl$ = this._userProfileImageUrl$.asObservable();\n this.homeAppTileGroups$ = this._homeAppTileGroupsSource.asObservable();\n this.pinTiles$ = this.pinTilesSource.asObservable().pipe(startWith(null));\n this.shellbarSource = new Subject<MetaobjectDataModel>();\n this.shellbar$ = this.shellbarSource.asObservable().pipe(shareReplay(1));\n this.appTileGroups$ = this._appTileGroupsSource.pipe(shareReplay(1));\n\n this.edit$ = this._edithomeSource.asObservable().pipe(takeUntil(this._OnDestroy$), distinctUntilChanged());\n this.deviceSize$ = this._portalService.deviceSize$;\n this._rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);\n this.loadAllAppTileGroups();\n this.appTileGroups$\n .pipe(\n filter((moForReportModel) => moForReportModel !== null),\n tap((moForReportModel) => {\n if (moForReportModel) {\n this._allAppsLoaded(moForReportModel);\n }\n })\n )\n .subscribe();\n BarsaApi.Ul.ApplicationCtrlr.on('GlobalRefreshTile', this._onApplication_GlobalRefreshTile.bind(this));\n }\n get componentSettings$(): Observable<MetaobjectDataModel> {\n return this._componentSettings$.asObservable();\n }\n get appTileGroups(): MoForReportModel | null {\n return this._appTileGroupsSource.getValue();\n }\n ngOnDestroy(): void {\n this._OnDestroy$.next();\n }\n protected _onApplication_GlobalRefreshTile(sender, appTilesTitle: string[]): void {\n const allApps = this._appTileGroupsSource.getValue();\n const appTiles: MetaobjectDataModel[] = [];\n if (allApps) {\n appTilesTitle.forEach((c) => {\n const selectedTile = this.findAppTileWithKey(allApps, 'A_App_AppKey', c);\n if (selectedTile) {\n appTiles.push(selectedTile);\n }\n });\n this._updateAppTileFromNotification(allApps, appTiles);\n this._appTileGroupsSource.next(allApps);\n }\n }\n\n protected _updateAppTileFromNotification(allApps: MoForReportModel, appTiles: MetaobjectDataModel[]): void {\n if (!appTiles?.length) {\n return;\n }\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appTiles.map((c) => (c.AppTile?.Id ? c.AppTile?.Id : c.Id))],\n Method: 'RefreshAppTiles',\n SuccessFn: (result: MoForReportModel) => {\n result.MoDataList.forEach((c) => this.updateAppTile(allApps, c));\n this._appTileGroupsSource.next({ ...allApps });\n },\n FailFn: () => {}\n });\n }\n loadUserProfileImage(repIdProfileImage: string): void {\n if (!repIdProfileImage) {\n return;\n }\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [repIdProfileImage],\n Method: 'BarsaPortalGetProfileImage',\n SuccessFn: (url: string) => {\n this._userProfileImageUrl$.next(url);\n },\n FailFn: () => {}\n });\n }\n loadAppTileGroups(appTileGroup: MetaobjectDataModel): void {\n if (!appTileGroup || appTileGroup.$TilesLoaded) {\n return;\n }\n const allApps = this._appTileGroupsSource.getValue();\n if (allApps) {\n const selectedAppTilegroup = allApps?.MoDataList.find((c) => c.Id === appTileGroup.Id);\n if (selectedAppTilegroup) {\n this._loadAppTilesOfAppTileGroup(selectedAppTilegroup, allApps);\n selectedAppTilegroup.$Children?.forEach((subGroup) => {\n this._loadAppTilesOfAppTileGroup(subGroup, allApps);\n });\n }\n }\n }\n saveTilesStackContent(tilesStackContent: boolean): Promise<void> {\n const userPortalSettings = this._portalService.userPortalSettings['UserPortalSettings'];\n if (userPortalSettings == null) {\n return Promise.resolve();\n }\n userPortalSettings.TilesStackContent = tilesStackContent;\n userPortalSettings.$State = 'Modified';\n return this._saveUserPortalSettings(userPortalSettings).then(() =>\n this._portalService.setUserPortalSettings(userPortalSettings)\n );\n }\n\n loadUserPortalSettings(): Observable<any> {\n return this._portalService.getData('UserPortalSetting').pipe(\n concatMap((data) => {\n if (data) {\n return of(data);\n } else {\n return this.loadFromServerUserPortalSetting();\n }\n })\n );\n }\n refreshTile(appTile: MetaobjectDataModel): Promise<MetaobjectDataModel> {\n return new Promise<MetaobjectDataModel>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appTile.Id],\n Method: 'RefreshTile',\n SuccessFn: (newAppTile: MoForReportModel) => {\n if (newAppTile.MoDataList?.length) {\n resolve(newAppTile.MoDataList[0]);\n }\n reject(`refresh tile not found apptile width title: ${appTile.Title}`);\n },\n FailFn: () => {\n reject(null);\n }\n });\n });\n }\n loadFromServerUserPortalSetting(): Observable<MetaobjectDataModel> {\n return from(\n new Promise<UserPortalSettings>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [],\n Method: 'GetUserPortalSettings',\n SuccessFn: (userPortalSetting: MetaobjectDataModel) => {\n this._portalService.setData('UserPortalSetting', userPortalSetting);\n resolve(userPortalSetting);\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n );\n }\n toggleAppGroupSettingVisible(appGroup: MetaobjectDataModel): Observable<MetaobjectDataModel> {\n return from(\n new Promise<MetaobjectDataModel>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appGroup.Id],\n Method: 'ToggleAppTileGroupSettingVisible',\n SuccessFn: (appGroupSetting) => {\n this._updateAppTileGroupSettings(appGroup, appGroupSetting);\n resolve(appGroupSetting);\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n ).pipe(\n tap((appGroupSetting) => {\n this._updateAppGroupSetting(appGroup, appGroupSetting);\n })\n );\n }\n resetAppGroupSetting(appGroup: MetaobjectDataModel): Observable<MetaobjectDataModel> {\n return from(\n new Promise<MetaobjectDataModel>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appGroup.Id],\n Method: 'ResetAppTileGroupSettingVisible',\n SuccessFn: (appGroupSetting: MetaobjectDataModel) => {\n this._updateAppTileGroupSettings(appGroup, appGroupSetting);\n resolve(appGroupSetting);\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n ).pipe(\n tap((appGroupSetting) => {\n this._updateAppGroupSetting(appGroup, appGroupSetting);\n })\n );\n }\n\n deleteAppGroup(appGroup: MetaobjectDataModel): Observable<string> {\n return from(\n new Promise<string>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appGroup.Id],\n Method: 'DeleteAppGroup',\n SuccessFn: () => {\n resolve(appGroup.Id);\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n ).pipe(\n tap((appGroupId) => {\n const allApps = this.appTileGroups;\n if (allApps) {\n allApps.MoDataList = allApps.MoDataList.filter((c) => c.Id !== appGroupId);\n this._appTileGroupsSource.next(allApps);\n }\n })\n );\n }\n changeAppTileSetting(appTile: MetaobjectDataModel): Observable<MetaobjectDataModel | null> {\n const allApps = this.appTileGroups;\n const selectedGroup = this.findGroupWithAppTileId(allApps, appTile.Id);\n if (selectedGroup === null) {\n return of(null);\n }\n return from(\n new Promise<MetaobjectDataModel>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [selectedGroup.Id, appTile.Id, appTile.Title, appTile.Subtitle],\n Method: 'ChangeAppTileSetting',\n SuccessFn: (settings) => {\n this._updateAppTileGroupSettings(selectedGroup, settings);\n this._nextAllAppTileGroups(allApps);\n resolve(selectedGroup);\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n );\n }\n\n saveAppGroupOrders(appGroups: MetaobjectDataModel[]): Observable<void> {\n const groupOrders = appGroups.map((c) => c.Id);\n return from(\n new Promise<void>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [groupOrders],\n Method: 'ChangeOrderAppTileGroups',\n SuccessFn: () => {\n resolve();\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n ).pipe();\n }\n\n createAppGroup(title: string): Observable<MetaobjectDataModel> {\n return from(\n new Promise<MetaobjectDataModel>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [title],\n Method: 'CreateAppTileGroup',\n SuccessFn: (mo: MetaobjectDataModel) => {\n resolve(mo);\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n ).pipe(tap((mo) => this.addAppGroup(mo)));\n }\n\n saveOrderAppTiles(\n appGroup: MetaobjectDataModel,\n appTiles: number[],\n isActionLink = false,\n appTileIdTransferedId: string = '0'\n ): void {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appGroup.Id, appTiles, isActionLink, appTileIdTransferedId],\n Method: 'ChangeOrderAppTiles',\n SuccessFn: () => {},\n FailFn: () => {}\n });\n }\n\n updateAppTile(allApps: MoForReportModel | null, appTile: MetaobjectDataModel): void {\n if (!allApps) {\n return;\n }\n const selectedAppTile = this.findAppTileWithKey(\n allApps,\n 'A_App_Component.Settings.Id',\n appTile.A_App_Component.Settings.Id\n );\n if (selectedAppTile) {\n BarsaApi.Common.Merger.FastMerge(\n selectedAppTile.A_App_Component.Settings,\n appTile.A_App_Component.Settings\n );\n this._componentSettings$.next(selectedAppTile.A_App_Component.Settings);\n }\n }\n updataAppTileSetting(selectedGroup: MetaobjectDataModel, appGroupSetting: MetaobjectDataModel): void {\n const allApps = this.appTileGroups;\n allApps?.MoDataList.forEach((appGroup) => {\n if (appGroup.Id === selectedGroup.Id) {\n appGroup.UserAppTileGroupSetting = appGroupSetting;\n }\n });\n this._appTileGroupsSource.next(allApps);\n }\n\n addAppGroup(mo: MetaobjectDataModel): void {\n const allApps = this.appTileGroups;\n if (allApps) {\n allApps.MoDataList.push(mo);\n this._appTileGroupsSource.next(allApps);\n }\n }\n\n singlePinTileChanged(appTileId): Observable<boolean> {\n const allApps = this.appTileGroups;\n const group = this.findGroupWithAppTileId(allApps, appTileId);\n if (group === null) {\n return of(false);\n }\n return from(\n new Promise<boolean>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [group.Id, appTileId],\n Method: 'RemoveAppTileFromTileGroup',\n SuccessFn: (setting) => {\n this._updateAppTileGroupSettings(group, setting);\n this._nextAllAppTileGroups(allApps);\n resolve(true);\n },\n FailFn: () => {\n reject(false);\n }\n });\n })\n );\n }\n pinTileChanged(appTileGroupsPin: AppTileGroupPin[], app: MetaobjectDataModel, callback): void {\n const allApps = this.appTileGroups;\n const visible = appTileGroupsPin.map((c) => c.visible);\n const groupChanges = appTileGroupsPin.map(\n (c) =>\n new BarsaApi.Common.MetaObjectWeb({\n Id: c.appTileGroup.Id,\n TypeDefId: allApps?.TypeDefId\n })\n );\n\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [groupChanges, visible, app.Id],\n Method: 'TilePinChanged',\n SuccessFn: (settings) => {\n this._tilePinChange(appTileGroupsPin, allApps);\n callback(settings);\n },\n FailFn: () => {\n // TODO show error\n }\n });\n }\n _tilePinChange(appTileGroupsPin, allApps): void {\n for (const appTileGroupPin of appTileGroupsPin) {\n let selectedAppGroup;\n const appGroupId = appTileGroupPin.appTileGroup.Id;\n allApps?.MoDataList.forEach((c) => {\n if (c.Id === appGroupId) {\n selectedAppGroup = c;\n } else if (!selectedAppGroup) {\n selectedAppGroup = c.$Children?.find((child) => child.Id === appGroupId);\n }\n });\n if (selectedAppGroup && selectedAppGroup.$TilesLoaded) {\n // let moDataList = selectedAppGroup.AppTiles.MoDataList;\n // if (appTileGroups[i].visible)\n // selectedAppGroup.AppTiles.MoDataList = [...moDataList, settings[i]];\n // else\n // selectedAppGroup.AppTiles.MoDataList = moDataList.filter(\n // (c) => c.App.Id !== app.Id\n // );\n this._loadAppTilesOfAppTileGroup(selectedAppGroup, allApps);\n }\n }\n this._nextAllAppTileGroups(allApps);\n }\n\n loadShellbar(): void {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [BarsaApi.LoginFormData.PortalId],\n Method: 'LoadShellbarByPortalId',\n SuccessFn: (shellbar: MetaobjectDataModel): void => {\n this.shellbarSource.next(shellbar);\n },\n FailFn: (): void => {\n // TODO show error\n }\n });\n\n // this._portalService\n // .ReportExecutePromise('Shellbar')\n // .then((moForReportModel) => this.shellbarSource.next(moForReportModel.MoDataList[0]));\n }\n\n loadAllAppTileGroups(): void {\n this._portalService\n .ReportExecute('AllAppTileGroups')\n .subscribe((allApps) => this._nextAllAppTileGroups(allApps));\n }\n _setTileInfo(appTile): void {\n {\n const title = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Title', null);\n appTile.TileTitle = !appTile.Title ? title : appTile.Title;\n const subtitle = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Subtitle', null);\n appTile.Subtitle = !appTile.Subtitle ? subtitle : appTile.Subtitle;\n }\n }\n\n getTileGroups(): MoForReportModel | null {\n return this._appTileGroupsSource.getValue();\n }\n\n setEditHome(edit: boolean): void {\n this._edithomeSource.next(edit);\n }\n private _allAppsLoaded(moForReportModel: MoForReportModel): void {\n moForReportModel.MoDataList.forEach((c) => {\n this._prepareNavigator(c);\n });\n this._setHomeAppTileGroups(moForReportModel.MoDataList);\n }\n private _loadAppTilesOfAppTileGroup(selectedAppTilegroup: MetaobjectDataModel, allApps: any): void {\n const callback = (): void => {\n this._nextAllAppTileGroups(allApps);\n };\n if (!selectedAppTilegroup.UserAppTileGroupSetting) {\n this._loadAppTilesByAppTileGroup(selectedAppTilegroup, callback);\n } else {\n this._loadAppTilesByAppTileGroupSetting(selectedAppTilegroup, callback);\n }\n }\n private _loadAppTilesByAppTileGroup(appGroup: MetaobjectDataModel, callback: () => void): void {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appGroup.Id],\n Method: 'LoadAllAppTilesByAppTileGroup',\n SuccessFn: (appTiles: MoForReportModel): void => {\n this._updateAppTilesOfAppTileGroup(appGroup, appTiles);\n callback();\n },\n FailFn: (): void => {\n // TODO show error\n }\n });\n }\n private _updateAppTilesOfAppTileGroup(selectedAppTilegroup: MetaobjectDataModel, appTiles: MoForReportModel): void {\n if (this.appTileGroups) {\n selectedAppTilegroup = { ...selectedAppTilegroup, $TilesLoaded: true };\n appTiles.MoDataList.forEach((element) => {\n element.Component = element.A_App_Component ?? element.A_AppTile_App_Component;\n element.DynamicCommand = element.A_App_DynamicCommand ?? element.A_AppTile_App_DynamicCommand;\n element.Predefined = element.Predefined ?? element.A_AppTile_Predefined;\n });\n const apptileGroupIndex = this.appTileGroups?.MoDataList.findIndex(\n (c) => c.Id === selectedAppTilegroup.Id || c.Id === selectedAppTilegroup.$ParentId\n );\n selectedAppTilegroup.AppTiles = appTiles;\n const tileGroup = this.appTileGroups.MoDataList[apptileGroupIndex];\n if (selectedAppTilegroup.$ParentId) {\n if (tileGroup.$Children) {\n const idOfSubGroup = tileGroup.$Children.findIndex((c) => c.Id === selectedAppTilegroup.Id);\n tileGroup.$Children[idOfSubGroup] = selectedAppTilegroup;\n }\n this.appTileGroups.MoDataList[apptileGroupIndex] = { ...tileGroup };\n } else {\n this.appTileGroups.MoDataList[apptileGroupIndex] = selectedAppTilegroup;\n }\n }\n }\n private _loadAppTilesByAppTileGroupSetting(appTileGroup: MetaobjectDataModel, callback: () => void): void {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appTileGroup.Id],\n Method: 'LoadAllAppTilesByUserAppTileGroupSettings',\n SuccessFn: (appTiles: MoForReportModel) => {\n this._updateAppTilesOfAppTileGroup(appTileGroup, appTiles);\n callback();\n },\n FailFn: () => {\n // TODO show error\n }\n });\n }\n\n private _nextAllAppTileGroups(newAllApps: MoForReportModel | null = null): void {\n const allApps = newAllApps ?? this._appTileGroupsSource.getValue();\n this._appTileGroupsSource.next(allApps ? { ...allApps } : null);\n }\n private _setHomeAppTileGroups(appGroups: MetaobjectDataModel[]): void {\n let newAppGroups = [...appGroups];\n newAppGroups = newAppGroups\n .filter((c) => c.Visible)\n .sort((a, b) => Number(a.navigatorOrderItem) - Number(b.navigatorOrderItem));\n this._homeAppTileGroupsSource.next(newAppGroups);\n }\n private _saveUserPortalSettings(userPortalSettings: UserPortalSettings): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [new BarsaApi.Common.MetaObjectWeb(userPortalSettings)],\n Method: 'SaveUserPortalSettings',\n SuccessFn: () => {\n resolve();\n },\n FailFn: () => {\n reject(null);\n }\n });\n });\n }\n\n private _updateAppGroupSetting(appGroup: MetaobjectDataModel, appGroupSetting: MetaobjectDataModel): void {\n const allApps = this.appTileGroups;\n const selectedAppGroup = allApps?.MoDataList.find((c) => c.Id === appGroup.Id);\n if (selectedAppGroup && allApps) {\n selectedAppGroup.UserAppTileGroupSetting = appGroupSetting;\n this._nextAllAppTileGroups(allApps);\n }\n }\n private findAppTileWithKey(allApps: MoForReportModel, key: string, value: any): MetaobjectDataModel | null {\n let selectedTile;\n if (typeof value === 'string') {\n value = BarsaApi.Common.Util.ReplaceArabicCharchter(value);\n }\n if (!allApps) {\n return null;\n }\n allApps.MoDataList.forEach((appGroup) => {\n if (selectedTile) {\n return;\n }\n selectedTile = appGroup.navigatorTiles.find(\n (c) => BarsaApi.Common.Util.TryGetValue(c, key, null) === value\n );\n appGroup.$Children?.forEach((subGroup) => {\n if (selectedTile) {\n return;\n }\n selectedTile = subGroup.navigatorTiles.find(\n (c) => BarsaApi.Common.Util.TryGetValue(c, key, null) === value\n );\n });\n });\n return selectedTile;\n }\n private findGroupWithAppTileId(allApps, appTileId: string): MetaobjectDataModel | null {\n let selectedGroup;\n\n if (!allApps) {\n return null;\n }\n allApps.MoDataList.forEach((appGroup) => {\n if (selectedGroup) {\n return;\n }\n if (appGroup.navigatorTiles.some((appTile) => appTile.Id === appTileId)) {\n selectedGroup = appGroup;\n return;\n }\n appGroup.$Children?.forEach((subGroup) => {\n if (subGroup.navigatorTiles.some((appTile) => appTile.Id === appTileId)) {\n selectedGroup = subGroup;\n return;\n }\n });\n });\n return selectedGroup;\n }\n private _findGroupWithAppGroupId(allApps, appGroupId: string): MetaobjectDataModel | null {\n let selectedGroup;\n\n if (!allApps) {\n return null;\n }\n allApps.MoDataList.forEach((appGroup) => {\n if (selectedGroup) {\n return;\n }\n if (appGroup.Id === appGroupId) {\n selectedGroup = appGroup;\n return;\n }\n appGroup.$Children?.forEach((subGroup) => {\n if (subGroup.Id === appGroupId) {\n selectedGroup = subGroup;\n return;\n }\n });\n });\n return selectedGroup;\n }\n\n private _updateAppTileGroupSettings(\n appTileGroup: MetaobjectDataModel,\n setting: MetaobjectDataModel\n ): MetaobjectDataModel {\n appTileGroup.UserAppTileGroupSetting = setting;\n\n appTileGroup.AppTiles.MoDataList.forEach((e, i) => {\n const ex = setting.UserAppTilesSetting.MoDataList.find((c) => c.Id === e.Id);\n if (ex) {\n appTileGroup.AppTiles.MoDataList[i] = { ...appTileGroup.AppTiles.MoDataList[i], ...ex };\n }\n });\n this._prepareNavigator(appTileGroup);\n // this._nextAllAppTileGroups();\n return appTileGroup;\n }\n\n private _prepareNavigator(appTileGroup: MetaobjectDataModel): void {\n appTileGroup.$TileSettingChanged = false;\n appTileGroup.$Disabledpin = false;\n appTileGroup.navigatorTitle = BarsaApi.Common.Util.TryGetValue(\n appTileGroup,\n 'UserAppTileGroupSetting.Title',\n appTileGroup.Title\n );\n appTileGroup.navigatorTitle = appTileGroup.navigatorTitle =\n appTileGroup.navigatorTitle === '' ? appTileGroup.Title : appTileGroup.navigatorTitle;\n appTileGroup.navigatorTitle = this._bbbTranslatePipe.transform(appTileGroup.navigatorTitle);\n const orderItem = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.OrderItem', null);\n if (orderItem !== null) {\n appTileGroup.navigatorOrderItem = orderItem;\n } else {\n appTileGroup.navigatorOrderItem = appTileGroup.OrderItem;\n }\n\n const visible = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.Visible', null);\n if (visible !== null) {\n appTileGroup.navigatorVisible = visible;\n } else {\n appTileGroup.navigatorVisible = appTileGroup.Visible;\n }\n\n const appTiles = appTileGroup.AppTiles?.MoDataList ?? [];\n\n appTileGroup.navigatorTiles = appTiles\n .filter((c) => c.Visible && !c.IsActionLink)\n .sort((a, b) => Number(a.OrderItem) - Number(b.OrderItem));\n appTileGroup.navigatorActionLinks = appTiles\n .filter((c) => c.Visible && c.IsActionLink)\n .sort((a, b) => Number(a.OrderItemActionLink) - Number(b.OrderItemActionLink));\n appTileGroup.navigatorTiles.forEach((appTile) => this._setTileInfo(appTile));\n appTileGroup.navigatorActionLinks.forEach((appTile) => this._setTileInfo(appTile));\n\n appTileGroup.$Children?.forEach((subAppTileGroup) => {\n this._prepareNavigator(subAppTileGroup);\n });\n }\n}\ninterface PinTileInfo {\n groups: MetaobjectDataModel[];\n visible: boolean[];\n tileId: string;\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnInit, Renderer2 } 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})\r\nexport abstract class BaseTileComponent<T extends BaseTileSetting> extends TilePropsComponent implements OnInit {\r\n constructor(\r\n public el: ElementRef,\r\n protected _renderer2: Renderer2,\r\n protected _cdr: ChangeDetectorRef,\r\n protected _tilesService: TilesService\r\n ) {\r\n super(el, _renderer2, _cdr);\r\n }\r\n get settings(): T {\r\n const data = this.data?.Component?.Settings;\r\n return data ? data : this.parameters;\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})\r\nexport abstract class BaseBtTileComponent<T extends BaseTileSetting> extends BaseTileComponent<T> implements OnInit {\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';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\nimport { AppTileFooterSection } from '../models';\n@Component({\n selector: 'bt-footer-tile,div[bt-footer-tile]',\n templateUrl: './footer-tile.component.html',\n styleUrls: ['./footer-tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FooterTileComponent extends BaseComponent {\n @Input() firstSection: AppTileFooterSection;\n @Input() secondSection: AppTileFooterSection;\n @Input() twoColumn: boolean;\n}\n","@if (twoColumn) {\n<div fd-tile-section>\n <fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\n <span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\n</div>\n<div fd-tile-section>\n <fd-icon fd-tile-refresh [font]=\"secondSection.Icon | sapFont\" [glyph]=\"secondSection.Icon\"></fd-icon>\n <span fd-tile-footer-text>{{ secondSection.Text | bbbTranslate }}</span>\n</div>\n} @else {\n<fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\n<span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\n}\n","import { Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { BaseDirective } from 'barsa-novin-ray-core';\n\n@Directive({\n selector: '[tileStyle]'\n})\nexport class TileStyleDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy {\n @Input() backColor: string;\n\n constructor(private _renderer2: Renderer2, protected _el: ElementRef) {\n super(_el);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n const firstChild = this._el.nativeElement.firstChild;\n if (this.backColor && firstChild) {\n this._renderer2.setStyle(firstChild, 'background-color', `${this.backColor}`);\n this._renderer2.addClass(firstChild, 'customColor');\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, HostListener, inject, Input, TemplateRef } from '@angular/core';\nimport { BarsaApi, PreventDefaulEvent, TilePropsComponent, LocalStorageService } from 'barsa-novin-ray-core';\nimport { AppTileFooter } from '../models';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'bt-tile',\n templateUrl: './tile.component.html',\n styleUrls: ['./tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TileComponent extends TilePropsComponent {\n @Input() type: 'feed' | 'launch' | 'kpi';\n @Input() footerTemplate: TemplateRef<any>;\n @Input() footer: AppTileFooter;\n @Input() disableClick: boolean;\n @Input() title: string;\n @Input() icon: string;\n @Input() subtitle: string;\n @Input() isDouble: boolean;\n @Input() edit: boolean;\n @Input() backColor: string;\n @Input() dynamicCommand: any;\n @Input() hideHeader: boolean;\n @Input() setToStorage: boolean;\n @Input() listMode: boolean;\n @Input() navigateBackOnClick: boolean;\n _localStorage = inject(LocalStorageService);\n _router = inject(Router);\n runningCommand = false;\n @HostListener('click', ['$event'])\n onClick(ev): boolean {\n if (this.edit || this.disableClick || this.runningCommand || !this.dynamicCommand) {\n return false;\n }\n PreventDefaulEvent(ev);\n if (this.setToStorage) {\n this._localStorage.setItem('ActiveTile', this.title);\n }\n const command = this.dynamicCommand;\n const e = { command, DynamicSetting: null };\n this.runningCommand = true;\n if (this.navigateBackOnClick) {\n this._router.navigate(['../']);\n setTimeout(() => {\n this.executeCommand(command, e);\n });\n return true;\n }\n\n return this.executeCommand(command, e);\n }\n private executeCommand(command: any, e: { command: any; DynamicSetting: null }): boolean {\n this._cdr.detectChanges();\n BarsaApi.Common.CustomCodeManager.RunDynamicCommand(command.Id, e, (res) => {\n this.runningCommand = false;\n if (res && typeof res.Detail !== 'undefined') {\n BarsaApi.Bw.Msg.Error(res.message || res.Text);\n }\n this._cdr.detectChanges();\n });\n return false;\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n}\n","@if(!listMode) {\n<fd-tile [type]=\"type\" [double]=\"isDouble\" [action]=\"edit\" tileStyle [backColor]=\"backColor\" [size]=\"'s'\">\n @if (edit && !data.Locked) {\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\n } @if (edit && !data.Locked) {\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\n } @if(!hideHeader){\n <div fd-tile-header>\n <h1 fd-tile-title>\n {{ title | bbbTranslate }}\n </h1>\n <h2 fd-tile-subtitle>\n {{ subtitle | bbbTranslate }}\n </h2>\n </div>\n }\n <ng-content></ng-content>\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\n</fd-tile>\n}@else{\n<span fd-list-title> {{ title | bbbTranslate }} </span>\n<span fd-list-secondary> {{ subtitle | bbbTranslate }} </span>\n@if(icon){ <i fd-list-icon [glyph]=\"icon\"></i>} }\n<ng-template #defaultFooter>\n @if (footer) {\n <div\n fd-tile-footer\n bt-footer-tile\n [secondSection]=\"footer.SecondSection\"\n [twoColumn]=\"footer.twoColumn\"\n [firstSection]=\"footer.FirstSection\"\n ></div>\n\n }\n</ng-template>\n<fd-menu #menu>\n <li fd-menu-item>\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\n </a>\n </li>\n</fd-menu>\n@if (runningCommand) {\n<bsu-mask></bsu-mask>\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MetaobjectDataModel, BarsaApi } from 'barsa-novin-ray-core';\n\n@Pipe({\n name: 'tileProp'\n})\nexport class TilePropPipe implements PipeTransform {\n transform(data: any, prop: string, parameters?: MetaobjectDataModel): string | any {\n if (data) {\n if (prop === 'Title') {\n let val = data.TileTitle;\n if (!val) {\n val = BarsaApi.Common.Util.TryGetValue(data, 'Component.Settings.TileSetting.Title', '');\n }\n if (!val) {\n val = BarsaApi.Common.Util.TryGetValue(data, 'Title', '');\n }\n return val;\n }\n if (prop === 'Subtitle') {\n let val = data.Subtitle;\n if (!val) {\n val = BarsaApi.Common.Util.TryGetValue(data, 'Component.Settings.TileSetting.Subtitle', '');\n }\n if (!val) {\n val = BarsaApi.Common.Util.TryGetValue(data, 'Subtitle', '');\n }\n return val;\n }\n if (prop === 'DynamicCommand') {\n return data['DynamicCommand'];\n }\n if (data.Component && data.Component.Settings) {\n const val = data.Component.Settings.TileSetting[prop];\n if (typeof val === 'undefined') {\n return data.Component.Settings[prop];\n }\n return val;\n }\n return '';\n }\n return parameters ? parameters.TileSetting[prop] : '';\n }\n}\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})\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\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [deviceSize]=\"deviceSize\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n [disableClick]=\"true\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n>\n <div fd-tile-content>\n @if (params) {\n <bnrc-form [params]=\"params\"></bnrc-form>\n }\n </div>\n</bt-tile>\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})\r\nexport class ActionItemComponent extends TileComponent {}\r\n","<div [class.action-item-edit-mode]=\"edit\" class=\"action-item s\">\n @if (icon) {\n <fd-icon [glyph]=\"icon\"></fd-icon>\n }\n <h1 fd-tile-title>{{ title }}</h1>\n\n @if (subtitle) {\n <h2 fd-tile-subtitle>{{ subtitle }}</h2>\n } @if (edit && !data.Locked) {\n <div class=\"buttons\">\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\n </div>\n }\n <fd-menu #menu>\n <li fd-menu-item>\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\n </a>\n </li>\n </fd-menu>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\n\nimport { AbbrevationDeviceSize, getDeviceIsMobile, BaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bt-actions-link',\n templateUrl: './actions-link.component.html',\n styleUrls: ['./actions-link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ActionsLinkComponent extends BaseComponent implements OnChanges {\n @HostBinding('class.hide') hide;\n @Input() actionsLink;\n @Input() edit: boolean;\n @Input() deviceSize: AbbrevationDeviceSize;\n\n @HostBinding('class') _class = '';\n /**\n *\n */\n isMobile = getDeviceIsMobile();\n constructor(protected _cdr: ChangeDetectorRef) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.hide = this.actionsLink?.length === 0;\n this._class = 's';\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { actionsLink } = changes;\n if (actionsLink && !actionsLink.firstChange) {\n this.hide = actionsLink.currentValue?.length === 0;\n this._cdr.detectChanges();\n }\n }\n}\n","@for (actionItem of actionsLink; track actionItem) {\n<bt-action-item\n cdkDrag\n [data]=\"actionItem\"\n [edit]=\"edit\"\n [title]=\"actionItem | tileProp: 'Title'\"\n [subtitle]=\"actionItem | tileProp: 'Subtitle'\"\n [dynamicCommand]=\"actionItem | tileProp: 'DynamicCommand'\"\n [isDouble]=\"actionItem | tileProp: 'IsDouble'\"\n [footer]=\"actionItem | tileProp: 'Footer'\"\n [icon]=\"actionItem | tileProp: 'Icon'\"\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\n [mo]=\"actionItem\"\n [class.isMobile]=\"isMobile\"\n>\n</bt-action-item>\n}\n","import {\n ChangeDetectorRef,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewContainerRef\n} from '@angular/core';\nimport { BaseDirective, PortalService } from 'barsa-novin-ray-core';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseTileComponent, BaseTileSetting } from './models';\nimport { AbbrevationDeviceSize } from 'barsa-novin-ray-core';\n\n@Directive({\n selector: '[tileRenderer]'\n})\nexport class TileRendererDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy {\n @Input() component: {\n Module: string;\n ModuleFileName: string;\n Name: string;\n Selector: string;\n };\n @Input() data: BaseTileSetting;\n @Input() edit: boolean;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() setToStorage: boolean;\n @Input() listMode: boolean;\n @Input() navigateBackOnClick: boolean;\n @Output() hideClick = new EventEmitter();\n @Output() renameClick = new EventEmitter();\n private _tileRef: ComponentRef<BaseTileComponent<BaseTileSetting>>;\n constructor(\n private _cdr: ChangeDetectorRef,\n private _portalService: PortalService,\n private _vcr: ViewContainerRef,\n private _injector: Injector,\n protected _el: ElementRef\n ) {\n super(_el);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n if (!this.component) {\n return;\n }\n const { Module, ModuleFileName, Name, Selector } = this.component;\n this._portalService\n .getComponent(Module, ModuleFileName, Name, Selector, this._injector)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((componentRef: ComponentRef<BaseTileComponent<BaseTileSetting>>) => {\n const instance = componentRef.instance;\n instance.data = this.data;\n instance.edit = this.edit;\n instance.deviceSize = this.deviceSize;\n instance.setToStorage = this.setToStorage;\n instance.listMode = this.listMode;\n instance.navigateBackOnClick = this.navigateBackOnClick;\n instance.hideClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this.hideClick.emit();\n });\n instance.renameClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => this.renameClick.emit());\n this._vcr.insert(componentRef.hostView);\n this._tileRef = componentRef;\n // this._cdr.detectChanges();\n });\n }\n ngOnChanges(changes: SimpleChanges): void {\n const { edit } = changes;\n if (edit && !edit.firstChange) {\n this._tileRef.instance.setEditHome(edit.currentValue);\n }\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this._tileRef) {\n this._tileRef.destroy();\n }\n }\n}\n","import { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output } from '@angular/core';\n\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bt-tiles-viewer-group',\n templateUrl: './tiles-viewer-group.component.html',\n styleUrls: ['./tiles-viewer-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TilesViewerGroupComponent extends BaseComponent {\n @Input() appTileGroup: MetaobjectDataModel;\n @Input() stackContent: boolean;\n @Input() edit: boolean;\n @Input() rtl: boolean;\n @Input() isAppTileSubGroup: boolean | undefined;\n @Input() deviceSize: AbbrevationDeviceSize;\n\n @Output() tilesDropped = new EventEmitter<{\n appTileGroup: MetaobjectDataModel;\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>;\n }>();\n @Output() hideAppTileClick = new EventEmitter<MetaobjectDataModel>();\n @Output() renameAppTileClick = new EventEmitter<MetaobjectDataModel>();\n @Output() toggleGroup = new EventEmitter<MetaobjectDataModel>();\n @Output() resetGroup = new EventEmitter<MetaobjectDataModel>();\n @Output() deleteGroup = new EventEmitter<MetaobjectDataModel>();\n\n marginRightTile: number | null = null;\n constructor(protected _el: ElementRef) {\n super();\n }\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n if (this.deviceSize === 's') {\n const t = document.body.clientWidth % 154;\n this.marginRightTile = t / 3;\n }\n }\n\n onDrop(\n appTileGroup: MetaobjectDataModel,\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>\n ): void {\n if (!this.edit || appTileGroup.Locked) {\n return;\n }\n this.tilesDropped.emit({ appTileGroup, event });\n }\n onAppTileHideClick(appTile: MetaobjectDataModel): void {\n this.hideAppTileClick.emit(appTile);\n }\n onAppTileRenameClick(appTile: MetaobjectDataModel): void {\n this.renameAppTileClick.emit(appTile);\n }\n onDelete(appTileGroup: MetaobjectDataModel): void {\n this.deleteGroup.emit(appTileGroup);\n }\n\n onToggleShowHide(appTileGroup: MetaobjectDataModel): void {\n this.toggleGroup.emit(appTileGroup);\n }\n\n onReset(appTileGroup: MetaobjectDataModel): void {\n this.resetGroup.emit(appTileGroup);\n }\n}\n","<fd-layout-panel\n [fixed]=\"true\"\n [attr.editHome]=\"edit\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || !stackContent\"\n [class.empty-tiles-group]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\n>\n @if (edit || stackContent || isAppTileSubGroup) {\n <fd-layout-panel-header>\n <fd-layout-panel-head>\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h5>\n </fd-layout-panel-head>\n @if (edit) {\n <fd-layout-panel-actions class=\"group-btns\">\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\n <button\n fd-button\n fd-toolbar-item\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\n (click)=\"onToggleShowHide(appTileGroup)\"\n ></button>\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\n } @if (!appTileGroup.Predefined) {\n <button\n fd-button\n [label]=\"'Delete' | bbbTranslate\"\n [fdType]=\"'negative'\"\n (click)=\"onDelete(appTileGroup)\"\n ></button>\n }\n </fd-toolbar>\n </fd-layout-panel-actions>\n }\n </fd-layout-panel-header>\n }\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\n <div\n class=\"tile-wrapper\"\n [ngClass]=\"{ rtl: rtl, ltr: !rtl, s: deviceSize === 's' }\"\n fd-panel-content\n #tiles=\"cdkDropList\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListConnectedTo]=\"actionLinks\"\n [cdkDropListData]=\"{\n isTile: true,\n items: appTileGroup.navigatorTiles || []\n }\"\n >\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\n <h5 fd-title></h5>\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\n <div\n [class.edit-home]=\"edit\"\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\n >\n <span\n [dynamicCommand]=\"appTile.DynamicCommand\"\n [setToStorage]=\"true\"\n [enableCommand]=\"!edit && appTile.Component\"\n tileRenderer\n [deviceSize]=\"deviceSize\"\n [data]=\"appTile\"\n [edit]=\"edit\"\n [component]=\"appTile.Component\"\n (hideClick)=\"onAppTileHideClick(appTile)\"\n (renameClick)=\"onAppTileRenameClick(appTile)\"\n ></span>\n </div>\n } @if (edit) {\n <fd-tile class=\"add-tile\" [routerLink]=\"['/home/appfinder']\">\n <div style=\"margin: 0\">\n <fd-icon glyph=\"add\"></fd-icon>\n </div>\n </fd-tile>\n }\n </div>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<bt-actions-link\n [class.actions-link-edit-home]=\"edit\"\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\n [edit]=\"edit\"\n [deviceSize]=\"deviceSize\"\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\n cdkDropList\n #actionLinks=\"cdkDropList\"\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListConnectedTo]=\"tiles\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListData]=\"{\n isTile: false,\n items: appTileGroup.navigatorActionLinks || []\n }\"\n>\n</bt-actions-link>\n@for (appTileSubGroup of appTileGroup.$Children; track appTileSubGroup) {\n<bt-tiles-viewer-group\n [class]=\"deviceSize\"\n [appTileGroup]=\"appTileSubGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"true\"\n [deviceSize]=\"deviceSize\"\n (tilesDropped)=\"tilesDropped.emit($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n></bt-tiles-viewer-group>\n}\n","import { Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef } from '@angular/core';\r\n\r\nimport { BbbTranslatePipe } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[emptyList]'\r\n})\r\nexport class EmptyListDirective {\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 constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private bbbPipe: BbbTranslatePipe\r\n ) {}\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})\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) {\n<h5 fd-title *emptyList=\"appGroup.Apps\"></h5>\n@if ((appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }).length > 0) {\n<fd-fixed-card-layout [disableDragDrop]=\"true\">\n @for (app of appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }; track app; let i = $index) {\n <fd-card *fdCardDef=\"i\">\n <fd-card-header [dynCommand]=\"app.DynamicCommand\" [mo]=\"app\">\n <fd-card-main-header>\n @if (app.Icon) {\n <fd-avatar [glyph]=\"app.Icon\" size=\"s\" [title]=\"app.Title\"></fd-avatar>\n }\n <h2 fd-card-title class=\"header-title\">\n {{ app.Title }}\n </h2>\n <h3 fd-card-subtitle></h3>\n </fd-card-main-header>\n </fd-card-header>\n <fd-card-content>\n <button\n fd-button\n [glyph]=\"'pushpin-off'\"\n [fdType]=\"\n pinnedAppInAppTileGroups[app.Id]\n ? pinnedAppInAppTileGroups[app.Id].length\n ? 'emphasized'\n : 'standard'\n : app.$HasPinned\n ? 'emphasized'\n : 'standard'\n \"\n (click)=\"onPinTap(app)\"\n ></button>\n </fd-card-content>\n </fd-card>\n }\n</fd-fixed-card-layout>\n} }\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})\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})\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\" [style.height]=\"contentHeight\">\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 } 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})\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 constructor(private fb: UntypedFormBuilder, public dialogRef: DialogRef, private bbbPipe: BbbTranslatePipe) {\r\n super();\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 } 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\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(private dialogService: DialogService, private tilesService: TilesService) {\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 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 loadAppGroup(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';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\n\nimport {\n BaseComponent,\n MetaobjectDataModel,\n BarsaApi,\n AbbrevationDeviceSize,\n SaveScrollPositionService,\n IntersectionStatus,\n fromIntersectionObserver\n} from 'barsa-novin-ray-core';\nimport { Nullable } from '@fundamental-ngx/core';\nimport { takeUntil } from 'rxjs';\nimport { IconTabBarComponent, IconTabBarItem, IconTabBarTabComponent, SemanticColor } from '@fundamental-ngx/platform';\n\n@Component({\n selector: 'bt-tiles-viewer',\n templateUrl: './tiles-viewer.component.html',\n styleUrls: ['./tiles-viewer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TilesViewerComponent extends BaseComponent implements OnInit {\n @ViewChild(IconTabBarComponent) tabListComponent: IconTabBarComponent;\n @ViewChild('contentPage', { static: true, read: ElementRef }) contentPageRef: ElementRef<any>;\n @HostBinding('class.page-content') pageContentClass = true;\n @Input() appTileGroups: Array<MetaobjectDataModel>;\n @Input() loading: boolean;\n @Input() edit: boolean;\n @Input() rtl: boolean;\n @Input() defaultTab: string;\n @Input() stackContent: boolean;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() selectedAppGroupId: string;\n @Input() hideTabs: boolean | undefined;\n @Input() DynamicComponents: any;\n\n @Output() stackContentChange = new EventEmitter<boolean>();\n @Output() closeEditHome = new EventEmitter();\n @Output() save = new EventEmitter();\n @Output() listDropped = new EventEmitter<{\n appTileGroups: MetaobjectDataModel[];\n event: CdkDragDrop<MetaobjectDataModel[]>;\n }>();\n @Output() tabChanged = new EventEmitter<{\n firstSelected: boolean;\n selectedTabTitle: string;\n tabPanels: IconTabBarTabComponent[];\n appTileGroups: MetaobjectDataModel[];\n tabbarComponent: IconTabBarComponent;\n }>();\n\n @Output() toggleGroup = new EventEmitter<MetaobjectDataModel>();\n @Output() resetGroup = new EventEmitter<MetaobjectDataModel>();\n @Output() deleteGroup = new EventEmitter<MetaobjectDataModel>();\n @Output() hideAppTileClick = new EventEmitter<MetaobjectDataModel>();\n @Output() renameAppTileClick = new EventEmitter<MetaobjectDataModel>();\n\n @Output() tilesDropped = new EventEmitter<{\n appTileGroup: MetaobjectDataModel;\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>;\n }>();\n\n @HostBinding('attr.rtl') _rtl = BarsaApi.LoginFormData.IsRtl;\n selectedTabTitle: Nullable<string>;\n selectedTabId: string;\n _tilesIntersection: any;\n formVisibilityStatus: IntersectionStatus;\n color: SemanticColor = 'informative';\n constructor(protected _cdr: ChangeDetectorRef, protected _saveScrollPosition: SaveScrollPositionService) {\n super();\n }\n id = 'tilesviewer';\n ngOnInit(): void {\n super.ngOnInit();\n\n if (this.contentPageRef) {\n const elDom = this.contentPageRef.nativeElement as HTMLElement;\n elDom.addEventListener('scroll', () => {\n this._saveScrollPosition.setScrollPosition(this.id, elDom.scrollTop);\n });\n this._tilesIntersection = fromIntersectionObserver(\n elDom,\n {\n root: null,\n rootMargin: '0px',\n threshold: 0\n },\n 0,\n false\n )\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((e) => {\n this._onInView(e);\n });\n }\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n if (this.tabListComponent) {\n this.tabListComponent._disableScrollSpy = true;\n }\n }\n onSelectedTabChange(selectedTab: IconTabBarItem): void {\n let firstSelected = false;\n if (!this.selectedTabTitle) {\n firstSelected = true;\n }\n const selectedTabTitle = (selectedTab.label as string) || '';\n this.selectedTabTitle = selectedTabTitle;\n if (firstSelected) {\n const tab = this.appTileGroups.find((c) => c.Id === this.defaultTab);\n if (tab) {\n if (!this.tabListComponent) {\n setTimeout(() => {\n this._selectTab(tab.Id);\n });\n } else {\n this._selectTab(tab.Id);\n }\n return;\n }\n }\n setTimeout(() => {\n this.tabChanged.emit({\n firstSelected,\n selectedTabTitle,\n tabPanels: this.tabListComponent.children() as any,\n appTileGroups: this.appTileGroups,\n tabbarComponent: this.tabListComponent\n });\n });\n }\n onDropGroup(appTileGroups: MetaobjectDataModel[], event: CdkDragDrop<MetaobjectDataModel[]>): void {\n if (!this.edit) {\n return;\n }\n this.listDropped.emit({ appTileGroups, event });\n }\n onDrop($event): void {\n this.tilesDropped.emit($event);\n }\n onStackContentChanged(checked): void {\n this.stackContentChange.emit(checked);\n }\n onExitEditHome(appGroups: MetaobjectDataModel[]): void {\n this.save.emit(appGroups);\n }\n onCloseEditHome(): void {\n this.closeEditHome.emit();\n }\n _trackById(index, item): string | number {\n return item ? item.Id : index;\n }\n protected _selectTab(tabId: string): void {\n if (this.tabListComponent) {\n this.tabListComponent.selectTab(tabId);\n }\n }\n protected _onInView(e): void {\n this.formVisibilityStatus = e;\n if (this.formVisibilityStatus === IntersectionStatus.Visible) {\n const scrollTop = this._saveScrollPosition.getScrollPosition(this.id);\n // window.scrollTo({ top: scrollTop, behavior: 'smooth' });\n (this.contentPageRef.nativeElement as HTMLElement).scrollTop = scrollTop;\n // this._cdr.detectChanges();\n }\n }\n}\n","<fd-dynamic-page size=\"large\" [autoResponsive]=\"true\" [class.hideTabs]=\"hideTabs\">\n <fd-dynamic-page-header [class.hide]=\"!edit\" [title]=\"'HomeEdit' | bbbTranslate\">\n <fd-dynamic-page-global-actions>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\n <fd-switch\n fd-toolbar-item\n [checked]=\"stackContent\"\n (checkedChange)=\"onStackContentChanged($event)\"\n ></fd-switch>\n </fd-toolbar>\n </fd-dynamic-page-global-actions>\n <fd-dynamic-page-layout-actions>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\n <i class=\"sap-icon--decline\"></i>\n </button>\n </fd-toolbar>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n\n <fdp-icon-tab-bar\n [stackContent]=\"stackContent\"\n maxContentHeight=\"auto\"\n ariaRoledescription=\"Tiles Container\"\n (iconTabSelected)=\"onSelectedTabChange($event)\"\n >\n @for (appTileGroup of appTileGroups; track _trackById(i, appTileGroup); let i = $index) { @if (edit ||\n appTileGroup.navigatorVisible) {\n\n <fdp-icon-tab-bar-tab\n [id]=\"appTileGroup.Id\"\n [color]=\"color\"\n [label]=\"appTileGroup.navigatorTitle | bbbTranslate\"\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\n >\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\" cdkScrollable>\n <bt-tiles-viewer-group\n [class]=\"deviceSize\"\n [appTileGroup]=\"appTileGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [deviceSize]=\"deviceSize\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"false || hideTabs\"\n (tilesDropped)=\"onDrop($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n ></bt-tiles-viewer-group>\n </fd-dynamic-page-content>\n </fdp-icon-tab-bar-tab>\n\n } }\n </fdp-icon-tab-bar>\n\n <fd-dynamic-page-footer>\n @if (edit) {\n <div fd-bar barDesign=\"footer\">\n <div fd-bar-right>\n <fd-button-bar\n [label]=\"'SaveAndClose' | bbbTranslate\"\n fdType=\"emphasized\"\n (click)=\"onExitEditHome(appTileGroups)\"\n ></fd-button-bar>\n </div>\n </div>\n }\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\n","import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { ChangeDetectionStrategy, Component, inject, OnDestroy, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { takeUntil, map, distinctUntilChanged, withLatestFrom } from 'rxjs/operators';\n\nimport { BaseComponent, MetaobjectDataModel, PortalService, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\nimport { TilesService } from '../tiles.service';\nimport { TilesViewerService } from '../tiles-viewer.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { IconTabBarComponent, IconTabBarTabComponent } from '@fundamental-ngx/platform';\n\n@Component({\n selector: 'bt-tiles-viewer-container',\n templateUrl: './tiles-viewer-container.component.html',\n styleUrls: ['./tiles-viewer-container.component.scss'],\n providers: [TilesViewerService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TilesViewerContainerComponent extends BaseComponent implements OnInit, OnDestroy {\n settings: TileViewerSettings;\n appTileGroups$: Observable<MetaobjectDataModel[]>;\n viewLoading$: Observable<boolean>;\n deviceSize$: Observable<AbbrevationDeviceSize>;\n edit$: Observable<boolean>;\n changedOrder = false;\n userStackContent = false;\n initialStackContentValue = false;\n userPortalSettings: MetaobjectDataModel;\n stackContent$: Observable<boolean>;\n firstSelected = false;\n rtl$: Observable<boolean>;\n selectedAppGroupId: string;\n stackContent = false;\n protected _activatedRoute = inject(ActivatedRoute);\n protected _router = inject(Router);\n constructor(\n protected _portalService: PortalService,\n protected _tilesService: TilesService,\n protected _tilesViewerService: TilesViewerService\n ) {\n super();\n this.stackContent$ = this._portalService.userPortalSettings$.pipe(\n takeUntil(this._onDestroy$),\n map((settings: Record<string, MetaobjectDataModel>) => settings['UserPortalSettings']),\n map((settings: MetaobjectDataModel) => settings?.TilesStackContent),\n distinctUntilChanged()\n );\n this.stackContent$.subscribe((stackContent) => {\n this.initialStackContentValue = this.userStackContent = stackContent;\n if (stackContent) {\n this.stackContent = stackContent;\n }\n });\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.viewLoading$ = this._tilesViewerService.viewLoading$;\n this.selectedAppGroupId = this._tilesViewerService.selectedAppGroupId;\n this.rtl$ = this._portalService.rtl$;\n this.deviceSize$ = this._portalService.deviceSize$;\n this.edit$ = this._tilesService.edit$;\n this.appTileGroups$ = this._tilesService.homeAppTileGroups$;\n this.appTileGroups$.pipe(withLatestFrom(this.stackContent$)).subscribe(([tiles, stackContent]) => {\n if (tiles && stackContent) {\n tiles.forEach((c) => {\n this._tilesService.loadAppTileGroups(c);\n });\n }\n });\n // setTimeout(() => {\n // this._router.navigate(\n // ['home', { outlets: { dialog: ['appgroupdialog', '_2tevxXK-rtcFnX_ZsfG1LX_VvR0K81'] } }],\n // { relativeTo: this._activatedRoute }\n // );\n // }, 3000);\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this._tilesService.setEditHome(false);\n }\n onSelectedTabChange(e: {\n firstSelected: boolean;\n selectedTabTitle: string;\n tabPanels: IconTabBarTabComponent[];\n appTileGroups: MetaobjectDataModel[];\n tabbarComponent: IconTabBarComponent;\n }): void {\n const { firstSelected, selectedTabTitle, appTileGroups: appGroups, tabPanels, tabbarComponent } = e;\n\n let appTileGroup: MetaobjectDataModel | undefined;\n if (this.stackContent) {\n return;\n }\n if (firstSelected) {\n const lastSelectedAppGroupId = this._tilesViewerService.selectedAppGroupId;\n if (lastSelectedAppGroupId) {\n appTileGroup = appGroups.find((c) => c.Id === lastSelectedAppGroupId);\n if (appTileGroup) {\n const lastTab = tabPanels.find((c) => c.label === appTileGroup?.navigatorTitle);\n if (lastTab && selectedTabTitle !== lastTab.label()) {\n appTileGroup = appGroups.find((c) => c.Id === lastSelectedAppGroupId);\n tabbarComponent.selectTab(lastTab.id());\n }\n }\n }\n }\n if (!appTileGroup) {\n appTileGroup = appGroups.find((c) => c.navigatorTitle === selectedTabTitle);\n }\n if (appTileGroup) {\n this._tilesViewerService.setSelectedTab(appTileGroup);\n this._tilesViewerService.loadAppGroup(appTileGroup);\n }\n }\n onDropGroup(e: { appTileGroups: MetaobjectDataModel[]; event: CdkDragDrop<MetaobjectDataModel[]> }): void {\n const { event, appTileGroups: appGroups } = e;\n\n moveItemInArray(appGroups, event.previousIndex, event.currentIndex);\n\n this.changedOrder = true;\n // this.saveOrderAppTiles(allApps, group);\n }\n onDrop(e: { appTileGroup; event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }> }): void {\n const { appTileGroup: group, event } = e;\n const previousContainer = event.previousContainer;\n const container = event.container;\n const containerIsTile = container.data.isTile;\n const previousItems = previousContainer.data.items;\n const containerItems = container.data.items;\n const { previousIndex, currentIndex } = event;\n if (previousContainer === container) {\n moveItemInArray(previousItems, previousIndex, currentIndex);\n if (containerIsTile) {\n this._saveOrderAppTiles(group);\n } else {\n this._saveOrderActionLinks(group);\n }\n } else {\n transferArrayItem(previousItems, containerItems, previousIndex, currentIndex);\n const appTileIdTransferedId = containerItems[currentIndex]?.AppTile?.Id ?? containerItems[currentIndex].Id;\n if (containerIsTile) {\n this._saveOrderActionLinks(group);\n this._saveOrderAppTiles(group, appTileIdTransferedId);\n } else {\n this._saveOrderAppTiles(group);\n this._saveOrderActionLinks(group, appTileIdTransferedId);\n }\n }\n }\n onStackContentChanged(checked): void {\n this.userStackContent = checked;\n }\n\n onExitEditHome(appTileGroups: MetaobjectDataModel[]): void {\n if (this.changedOrder) {\n this._tilesViewerService.saveAppGroupOrders(appTileGroups);\n this.changedOrder = false;\n }\n if (this.userStackContent !== this.initialStackContentValue) {\n this._tilesService.saveTilesStackContent(this.userStackContent);\n }\n this._setEditHome(false);\n }\n onCloseEditHome(): void {\n this._setEditHome(false);\n }\n\n onDelete(appTileGroup: MetaobjectDataModel): void {\n this._tilesViewerService.deleteAppGroup(appTileGroup);\n }\n\n onToggleShowHide(appTileGroup: MetaobjectDataModel): void {\n this._tilesViewerService.toggleAppGroupSettingVisible(appTileGroup);\n }\n\n onReset(appTileGroup: MetaobjectDataModel): void {\n this._tilesViewerService.resetAppGroup(appTileGroup);\n }\n onHideAppTile(appTile: MetaobjectDataModel): void {\n this._tilesViewerService.hideTile(appTile);\n }\n onRenameAppTile(appTile: MetaobjectDataModel): void {\n this._tilesViewerService.openRenameForm(appTile);\n }\n private _setEditHome(val): void {\n this._tilesService.setEditHome(val);\n }\n\n private _saveOrderAppTiles(appTileGroup: MetaobjectDataModel, appTileIdTransferedId: string = '0'): void {\n const appTiles = appTileGroup.navigatorTiles.map((appTile) =>\n appTile.AppTile ? appTile.AppTile.Id : appTile.Id\n );\n this._tilesService.saveOrderAppTiles(appTileGroup, appTiles, false, appTileIdTransferedId);\n }\n\n private _saveOrderActionLinks(appTileGroup: MetaobjectDataModel, appTileIdTransferedId: string = '0'): void {\n const actionLinks = appTileGroup.navigatorActionLinks.map((appTile) =>\n appTile.AppTile ? appTile.AppTile.Id : appTile.Id\n );\n this._tilesService.saveOrderAppTiles(appTileGroup, actionLinks, true, appTileIdTransferedId);\n }\n}\ninterface TileViewerSettings extends MetaobjectDataModel {\n HideTabs: boolean;\n}\n","@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\r\n<bt-tiles-viewer\r\n [class.edit]=\"(edit$ | async)!!\"\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [hideTabs]=\"settings?.HideTabs\"\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} @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})\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\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [deviceSize]=\"deviceSize\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content>\n @if (double) {\n <be-micro-chart-bullet\n [target]=\"target\"\n [value]=\"value\"\n [range]=\"range\"\n [forecast]=\"forecast\"\n [isDelta]=\"isDelta\"\n [separatorLines]=\"separatorLines\"\n [suffix]=\"suffix\"\n >\n </be-micro-chart-bullet>\n }\n\n <be-micro-chart-bullet\n [target]=\"target\"\n [value]=\"value\"\n [range]=\"range\"\n [forecast]=\"forecast\"\n [isDelta]=\"double ? false : isDelta\"\n [separatorLines]=\"separatorLines\"\n [suffix]=\"suffix\"\n >\n </be-micro-chart-bullet>\n </div>\n</bt-tile>\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})\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\n [data]=\"data\"\n [type]=\"'launch'\"\n [footerTemplate]=\"newsFooter\"\n [edit]=\"edit\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [setToStorage]=\"setToStorage\"\n [deviceSize]=\"deviceSize\"\n [listMode]=\"listMode\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\n <span>\n {{ activeNews?.Text | bbbTranslate }}\n </span>\n\n <div class=\"wrapper-carousel\">\n <div class=\"cover\"></div>\n @if (slides.length > 1) {\n <button\n fd-button\n fdType=\"transparent\"\n [glyph]=\"isStop ? 'play' : 'pause'\"\n (click)=\"isStop = !isStop; $event.preventDefault(); $event.stopPropagation()\"\n ></button>\n }\n <fd-carousel\n carouselIndicatorsOrientation=\"top\"\n [slideTransitionDuration]=\"1000\"\n (slideChange)=\"slideChange($event)\"\n [loop]=\"true\"\n [navigation]=\"false\"\n [navigatorInPageIndicator]=\"false\"\n width=\"100%\"\n >\n @for (slide of slides; track slide) {\n <fd-carousel-item [value]=\"slide\">\n <img\n [src]=\"slide.Img ? (slide.Img.FileId | picFieldSrc: 'ID':null:slide.Img.FileId:335:170) : ''\"\n />\n </fd-carousel-item>\n }\n </fd-carousel>\n </div>\n </div>\n</bt-tile>\n\n<!-- tile footer-->\n<ng-template #newsFooter>\n <div fd-tile-footer [twoColumn]=\"twoColumn\" *untilInView=\"el\">\n @if (twoColumn) {\n <div fd-tile-section>\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\n </div>\n <div fd-tile-section>\n <span fd-tile-footer-text>{{ activeNews?.Footer2 | bbbTranslate }}</span>\n </div>\n } @else {\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\n }\n </div>\n</ng-template>\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})\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\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [deviceSize]=\"deviceSize\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content>\n <be-micro-chart-comparison [data]=\"chartData\" [size]=\"double ? 'l' : 's'\"></be-micro-chart-comparison>\n </div>\n</bt-tile>\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})\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})\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})\r\nexport class MicroTileChartCircularComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n chartData = 70;\r\n}\r\n","<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [deviceSize]=\"deviceSize\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content>\n <be-micro-chart-circular [data]=\"chartData\"></be-micro-chart-circular>\n </div>\n</bt-tile>\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})\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\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [deviceSize]=\"deviceSize\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content>\n <be-micro-chart-area\n [style.flex-direction]=\"double ? 'row' : 'column'\"\n [chartData]=\"chartData\"\n [size]=\"double ? 'l' : 's'\"\n ></be-micro-chart-area>\n </div>\n</bt-tile>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { BaseBtTileComponent, ChartTileSetting } from '../models';\n\n@Component({\n selector: 'bt-micro-tile-chart-bar',\n templateUrl: './micro-tile-chart-bar.component.html',\n styleUrls: ['./micro-tile-chart-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MicroTileChartBarComponent extends BaseBtTileComponent<ChartTileSetting> {}\n","<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [deviceSize]=\"deviceSize\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n [footerTemplate]=\"footerTpl\"\n [hideHeader]=\"true\"\n>\n <div fd-tile-content style=\"height: 100%; max-height: 100%\">\n @if(settings.ChartInstance?.Id){\n <be-micro-chart-bar\n [chartInstanceId]=\"settings.ChartInstance.Id\"\n [size]=\"double ? 'l' : 's'\"\n ></be-micro-chart-bar>\n }@else{\n <div>chart defined</div>\n }\n </div>\n</bt-tile>\n<ng-template #footerTpl></ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit } 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})\r\nexport class CreateAppGroupComponent extends BaseComponent implements OnInit {\r\n title: string;\r\n appGroupForm: UntypedFormGroup;\r\n submitted: boolean;\r\n RequiredText: string;\r\n constructor(private fb: UntypedFormBuilder, public dialogRef: DialogRef, private bbbPipe: BbbTranslatePipe) {\r\n super();\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 });\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 } 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})\r\nexport class PinTileComponent extends BaseComponent implements OnInit {\r\n @Input() app: MetaobjectDataModel;\r\n @Input() appTileGroups: MetaobjectDataModel[];\r\n\r\n @Input() mobile: boolean;\r\n @Input() pin: boolean;\r\n newGroupDialogRef: DialogRef;\r\n 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 pinnedAppInTileGroups: {\r\n [key: string]: string[];\r\n };\r\n constructor(public _dialogService: DialogService, public _dialogRef: DialogRef, private bbbPipe: BbbTranslatePipe) {\r\n super();\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 } 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\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\r\n private _selectedAppGroupIdSource = new Subject<string>();\r\n private _pinnedAppInAppTileGroupsSource = new BehaviorSubject<{\r\n [key: string]: string[];\r\n }>({});\r\n constructor(private _portalService: PortalService, private _tileService: TilesService) {\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, ElementRef, OnInit } 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})\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 constructor(\r\n private _cdr: ChangeDetectorRef,\r\n private _dialogService: DialogService,\r\n private _appFinderService: AppFinderService,\r\n private _el: ElementRef,\r\n _contentDensityService: ContentDensityService\r\n ) {\r\n super();\r\n this.contentDensity$ = _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\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 } 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 [contentHeight]=\"contentHeight\"\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})\r\nexport class FooterEditTileComponent extends BaseComponent {}\r\n","<button fd-button [glyph]=\"'pushpin-off'\" fdType=\"\"></button>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { BaseBtTileComponent, NumericTileSetting } from '../models';\nimport { NumericContentState } from '@fundamental-ngx/core';\n@Component({\n selector: 'bt-numeric-tile',\n templateUrl: './numeric-tile.component.html',\n styleUrls: ['./numeric-tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NumericTileComponent extends BaseBtTileComponent<NumericTileSetting> {\n kpiStateIsColor = false;\n scalseStateIsColor = false;\n ngOnInit(): void {\n super.ngOnInit();\n switch (this.kpiState) {\n case 'positive':\n case 'negative':\n case 'informative':\n case 'critical':\n case 'neutral':\n break;\n default:\n this.kpiStateIsColor = this.kpiState !== '';\n break;\n }\n switch (this.scaleState) {\n case 'positive':\n case 'negative':\n case 'informative':\n case 'critical':\n case 'neutral':\n break;\n default:\n this.scalseStateIsColor = this.scaleState !== '';\n break;\n }\n }\n get launchIcon(): string {\n return this.settings.LaunchIcon;\n }\n get kpiState(): NumericContentState {\n return this.settings.ContentKpiState;\n }\n get kpi(): string {\n return this.settings.ContentKpi;\n }\n get scaleState(): NumericContentState {\n return this.settings.ScaleState;\n }\n get scaleText(): string {\n return this.settings.ScaleText;\n }\n get scaleArrowIcon(): string {\n return this.settings.ScaleArrowIcon;\n }\n}\n","<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [backColor]=\"backColor\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [deviceSize]=\"deviceSize\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content>\n <div fd-numeric-content>\n <div fd-numeric-content-launch-icon-container>\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\n </div>\n <div fd-numeric-content-kpi-container>\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\n {{ kpi }}\n </div>\n </div>\n <div fd-numeric-content-scale-container style=\"padding-top: 0.2rem\">\n <div\n fd-numeric-content-scale\n [state]=\"scaleState\"\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\n >\n <span\n fd-numeric-content-scale-arrow\n [glyph]=\"scaleArrowIcon\"\n [class]=\"scaleArrowIcon | sapFontClass\"\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\n ></span>\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\n scaleText\n }}</span>\n </div>\n </div>\n </div>\n </div>\n</bt-tile>\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})\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\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [deviceSize]=\"deviceSize\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [backColor]=\"backColor\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n>\n <div fd-tile-content>\n <img fd-tile-logo [src]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\" />\n </div>\n</bt-tile>\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})\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\n [data]=\"data\"\n [type]=\"'feed'\"\n [edit]=\"edit\"\n [backColor]=\"backColor\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content [twoColumn]=\"twoColumn\">\n @if (twoColumn) {\n <div fd-tile-section>\n <div fd-tile-content-text>{{ text | bbbTranslate }}</div>\n <div fd-tile-content-byline>{{ byline }}</div>\n </div>\n <div fd-tile-section>\n <div fd-numeric-content>\n <div fd-numeric-content-kpi-container>\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\n </div>\n </div>\n </div>\n } @else {\n <div fd-numeric-content>\n <div fd-numeric-content-kpi-container>\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\n </div>\n </div>\n }\n </div>\n</bt-tile>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\n\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\nimport { FilePictureInfoModel } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bt-simple-tile',\n templateUrl: './simple-tile.component.html',\n styleUrls: ['./simple-tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SimpleTileComponent extends BaseBtTileComponent<BaseTileSetting> implements OnInit {\n icon: string;\n iconCalc: string;\n iconColor: string;\n pictureIcon: FilePictureInfoModel;\n ngOnInit(): void {\n super.ngOnInit();\n this.icon = this.settings.Icon;\n this.pictureIcon = this.settings.PictureIcon;\n if (this.icon && this.icon.toLowerCase().startsWith('ih')) {\n this.iconCalc = this.icon;\n }\n this.iconColor = this.settings.IconColor;\n }\n}\n","<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [backColor]=\"backColor\"\n [deviceSize]=\"deviceSize\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content [class.picture-icon]=\"pictureIcon || iconCalc\">\n @if(pictureIcon || iconCalc){\n <span\n class=\"tile-picture-icon\"\n fd-tile-profile-img\n [backgroundImage]=\"iconCalc || (pictureIcon.FileId | picFieldSrc: 'GetPictureFromFileInfo':null)\"\n ></span>\n } @else if (icon) {\n <div class=\"fd-numeric-content__launch-icon-container\" style=\"justify-content: center\">\n <fd-icon\n class=\"fd-numeric-content__launch-icon\"\n fd-numeric-content-launch-icon\n [glyph]=\"icon\"\n [font]=\"icon | sapFont\"\n [style.color]=\"iconColor\"\n ></fd-icon>\n </div>\n }\n </div>\n</bt-tile>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { BaseBtTileComponent, ProfileTileSetting } from '../models';\nimport { FilePictureInfoModel } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bt-profile-tile',\n templateUrl: './profile-tile.component.html',\n styleUrls: ['./profile-tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProfileTileComponent extends BaseBtTileComponent<ProfileTileSetting> {\n icon: string;\n iconCalc: string;\n iconColor: string;\n calcImage: string;\n image: FilePictureInfoModel;\n fileId2: string;\n get fileId(): string {\n let fileId = this.settings?.Image?.FileId;\n if (!fileId) {\n fileId = this.settings?.CalcImage;\n }\n return fileId;\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.icon = this.settings?.Icon;\n this.fileId2 = this.fileId;\n this.calcImage = this.settings?.CalcImage;\n if (this.calcImage && this.calcImage.toLowerCase().startsWith('ih')) {\n this.iconCalc = this.calcImage;\n }\n }\n}\n","<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [backColor]=\"backColor\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [deviceSize]=\"deviceSize\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content>\n @if (fileId2 || calcImage) {\n <span\n class=\"profile\"\n fd-tile-profile-img\n [backgroundImage]=\"calcImage || (fileId2 | picFieldSrc: 'GetPictureFromFileInfo':null)\"\n ></span>\n } @else if(icon){\n <fd-icon [font]=\"icon | sapFont\" fd-tile-profile-img style=\"font-size: 2rem\" [glyph]=\"icon\"></fd-icon>\n } @else {\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\n }\n </div>\n</bt-tile>\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} 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})\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 constructor(private _cdr: ChangeDetectorRef) {\r\n super();\r\n }\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 {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {\r\n BaseComponent,\r\n GroupByItem,\r\n GroupByPipe,\r\n IntersectionStatus,\r\n MetaobjectDataModel,\r\n WorkflowExecuteChoiceStatus,\r\n BarsaApi,\r\n NotificationItem,\r\n NotificationAction,\r\n AbbrevationDeviceSize\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})\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\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 expanded: Record<string, boolean> = {};\r\n\r\n tabList: { title: string; groupByItems: GroupByItem[] }[] = [\r\n { title: 'By Date', groupByItems: [] },\r\n { title: 'By Type', groupByItems: [] },\r\n { title: 'By Priority', groupByItems: [] }\r\n ];\r\n viewedNotifications: NotificationItem[] = [];\r\n constructor(private _groupByPipe: GroupByPipe, private _cdr: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._deviceSize = this.deviceSize;\r\n this.applyGroupByItems(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.applyGroupByItems(notifications.currentValue);\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n applyGroupByItems(notifications: NotificationItem[] | null): void {\r\n if (!notifications?.length) {\r\n return;\r\n }\r\n this.tabList[0].groupByItems = this._groupByPipe.transform(notifications, 'CreationDate');\r\n this.tabList[1].groupByItems = this._groupByPipe.transform(notifications, 'Subject');\r\n this.tabList[2].groupByItems = this._groupByPipe.transform(notifications, 'Priority');\r\n for (let i = 0; i < this.tabList.length; i++) {\r\n if (this.tabList[i].groupByItems.length) {\r\n const firstKey = this.tabList[i].groupByItems[0].key;\r\n if (firstKey && typeof this.expanded[firstKey] === 'undefined') {\r\n this.expanded[firstKey] = true;\r\n }\r\n }\r\n }\r\n }\r\n _trackByTitle(_index: number, _: { title: string; groupByItems: GroupByItem[] }): number | string {\r\n return _index;\r\n }\r\n _trackByKey(_index: number, item: { id: string; key: string; value: any }): number | string {\r\n return item.key;\r\n }\r\n _trackMoById(_index: number, mo: MetaobjectDataModel): number | string {\r\n return mo.Id;\r\n }\r\n onVisibilityChange(e: IntersectionStatus, mo: NotificationItem, isLast: boolean): void {\r\n if (e === IntersectionStatus.Visible) {\r\n if (mo.Unread) {\r\n this.viewedNotifications = [...this.viewedNotifications.filter((c) => c.Unread), mo];\r\n this.viewed.emit(mo);\r\n }\r\n if (isLast) {\r\n this.loadMore.emit();\r\n }\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}\r\n","@if (notifications && notifications.length > 0) {\n<ng-container>\n <fd-notification-group>\n <fd-tab-list size=\"s\" [expandOverflowText]=\"'More' | bbbTranslate\">\n @for (tab of tabList; track _trackByTitle(index, tab); let index = $index) {\n <fd-tab [title]=\"tab.title | bbbTranslate\">\n @for (groupItem of tab.groupByItems; track _trackByKey(index, groupItem); let index = $index) {\n <fd-notification-group-list>\n <fd-notification-group-header [(expanded)]=\"expanded[groupItem.key]\">\n <fd-notification-header>\n <bt-notification-group-header\n [notifications]=\"groupItem.value\"\n [title]=\"groupItem.key\"\n ></bt-notification-group-header>\n </fd-notification-header>\n <fd-notification-actions>\n <!-- <button fd-button label=\"Accept All\"></button> -->\n <button\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'DeleteAll' | bbbTranslate\"\n [title]=\"'DeleteAll' | bbbTranslate\"\n glyph=\"decline\"\n (click)=\"remove.emit({ items: groupItem.value, silent: false })\"\n ></button>\n </fd-notification-actions>\n </fd-notification-group-header>\n <ng-container\n *ngTemplateOutlet=\"\n notificationBody;\n context: { $implicit: groupItem.value, expanded: expanded[groupItem.key] }\n \"\n ></ng-container>\n <!-- <fd-notification-limit *ngIf=\"groupItem.value.length - 4 > 0\">\n <h1 fd-notification-limit-title>\n There are {{ groupItem.value.length - 4 }} more notifications\n </h1>\n <p fd-notification-limit-description>\n You need to close or take action on the listed notifications to display more.\n </p>\n </fd-notification-limit> -->\n </fd-notification-group-list>\n }\n </fd-tab>\n }\n </fd-tab-list>\n </fd-notification-group>\n</ng-container>\n} @else { @if (!loading) {\n<bsu-no-data [simple]=\"true\" style=\"height: 3rem\"></bsu-no-data>\n} @else {\n<div style=\"height: 30px; position: relative\">\n <bsu-mask [top]=\"'10px'\"></bsu-mask>\n</div>\n} }\n<ng-template #loadingTpl>\n <div style=\"height: 30px; position: relative\">\n <bsu-mask [top]=\"'10px'\"></bsu-mask>\n </div>\n</ng-template>\n<ng-template #notificationItem> </ng-template>\n\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\n <div style=\"max-height: 346px; overflow-y: auto; overflow-x: hidden\">\n @for (mo of notifications; track _trackMoById($index, mo); let first = $first; let last = $last) {\n <bsu-notification-item\n [notificationItem]=\"mo\"\n (viewed)=\"viewed.emit($event)\"\n (remove)=\"remove.emit($event)\"\n (showEvent)=\"showEvent.emit($event)\"\n (actionClick)=\"actionClick.emit($event)\"\n intersectionObserver\n [intersectionThreshold]=\"0.5\"\n [deviceSize]=\"deviceSize\"\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\n ></bsu-notification-item>\n } @if (loading) {\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\n }\n </div>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n inject,\n Inject,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Observable, Subject } from 'rxjs';\nimport {\n ComboboxComponent,\n DialogService,\n PopoverComponent,\n ProductSwitchItem,\n ShellbarMenuItem,\n ShellbarUser\n} from '@fundamental-ngx/core';\n\nimport {\n BaseComponent,\n MetaobjectDataModel,\n FilePictureInfoModel,\n MoForReportModel,\n APP_VERSION,\n NotificationService,\n NotificationItem,\n NotificationAction,\n AbbrevationDeviceSize,\n PortalService\n} from 'barsa-novin-ray-core';\nimport { SafeResourceUrl } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\ninterface ShellbarSetting extends MetaobjectDataModel {\n subtitle: string;\n calcSubtitle: string;\n logo: FilePictureInfoModel;\n ProductSwitchItems: MoForReportModel;\n ProductMenuItems: MoForReportModel;\n UserMenuItems: MoForReportModel;\n ActionItems: MoForReportModel;\n}\n\n@Component({\n selector: 'bt-barsa-shellbar',\n templateUrl: './barsa-shellbar.component.html',\n styleUrls: ['./barsa-shellbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaShellbarComponent extends BaseComponent implements OnInit {\n @Input() cssCustomUrl: SafeResourceUrl | null;\n @Input() cssUrl: SafeResourceUrl | null;\n @Input() cssVariableUrl: SafeResourceUrl | null;\n @Input() multiLanguages: boolean;\n @Input() userLoggedIn: boolean;\n @Input() settings: MetaobjectDataModel;\n @Input() productMenuControl: string;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() cultures: Record<string, any>;\n @Input() shellbarData: ShellbarSetting;\n @Input() notificationCount: { unread: number; all: number };\n @Input() notifcationLoaded: boolean;\n @Input() notificationLoading: boolean;\n @Input() notifications: NotificationItem[];\n @Input() productMenuItems1: ShellbarMenuItem[];\n @Input() bodyClick: string;\n @Input() logo: { FileId: string };\n @Input() actions: Array<MetaobjectDataModel>;\n @Input() userMenu: { text: string; callback: () => void }[];\n @Input() productSwitcher: ProductSwitchItem[];\n @Input() subtitle: string;\n @Input() isMobile: boolean;\n @Input() hideShellbarActions: boolean;\n @Input() showExtraButton: boolean;\n @Input() isTablet: boolean;\n @Input() userProfileImageUrl: string | null;\n @Input() isDesktop: boolean;\n @Input() isServiceDesk = false;\n @Input() isOpenQuickAccess;\n @Input() sideMenuTemplate: TemplateRef<any> | null;\n\n @Output() isOpenQuickAccessChanged = new EventEmitter<boolean>(false);\n @Output() openNotificationPanel = new EventEmitter<void>();\n @Output() openQuickAccessPanel = new EventEmitter<void>();\n @Output() cultureChanged = new EventEmitter<string>();\n @Output() notificationLoadMore = new EventEmitter<void>();\n @Output() removeNotification = new EventEmitter<{ items: MetaobjectDataModel[]; silent: boolean }>();\n @Output() notifiationActionClick = new EventEmitter<{ item: NotificationItem; btn: NotificationAction }>();\n @Output() notificationViewed = new EventEmitter<NotificationItem>();\n\n @ViewChild(ComboboxComponent) comboboxComponent: ComboboxComponent;\n @ViewChild('popoverComponent', { static: false }) popoverComponent: PopoverComponent;\n @ViewChild('notificationsDialog', { static: true, read: TemplateRef }) _notificationsDialog: TemplateRef<any>;\n\n private _cdr = inject(ChangeDetectorRef);\n\n Array = Array;\n isOpenNotificatoin = false;\n\n user: ShellbarUser = {\n initials: 'WW',\n colorAccent: 1\n };\n searchTerms = ['مرخصی', 'ماموریت', 'تیکت', 'پروژه'];\n searchTerm: string;\n actions$: Observable<ShellbarMenuItem[]>;\n\n showVersion = false;\n\n _viewedNotifications$ = new Subject<NotificationItem>();\n onBellNotification = (): void => {\n this._document?.body && this._document.body.click();\n this._dialogService\n .open(this._notificationsDialog, {\n mobile: true,\n verticalPadding: false,\n closeOnNavigation: true\n })\n .afterLoaded.subscribe(() => {\n this.openNotificationPanel.emit();\n });\n };\n _viewedNotifications: NotificationItem[] = [];\n constructor(\n private _notificationService: NotificationService,\n private _dialogService: DialogService,\n private _router: Router,\n private _portalService: PortalService,\n @Inject(DOCUMENT) private _document: Document,\n @Inject(APP_VERSION) public appVersion: string\n ) {\n super();\n this.showVersion = false;\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { userProfileImageUrl } = changes;\n if (userProfileImageUrl) {\n this.user.image = userProfileImageUrl.currentValue;\n }\n }\n onRouteFormStateChange(): void {\n this._closeSideMenu();\n }\n onCultureChange(culture): void {\n this._changeCulture(culture);\n }\n onShowNotification(e: { tag: string; mo: MetaobjectDataModel; nama: string }): void {\n this.isOpenNotificatoin = false;\n this._notificationService.ShowNotificationRelatedMo(e);\n }\n onNotificationItemViewed(viewedMo: NotificationItem): void {\n this.notificationViewed.emit(viewedMo);\n }\n\n onRemoveNotifications(e: { items: MetaobjectDataModel[]; silent: boolean }): void {\n this.removeNotification.emit(e);\n }\n onOpenQuickAccess = (): void => {\n this.isOpenQuickAccessChanged.emit(true);\n this.openQuickAccessPanel.emit();\n };\n onOpenNotification = (): void => {\n this.isOpenNotificatoin = true;\n this.openNotificationPanel.emit();\n };\n onNotificationAction(e: { item: NotificationItem; btn: NotificationAction }): void {\n this.notifiationActionClick.emit(e);\n }\n onLanguage = (e): void => {\n const culture = e.currentTarget.textContent.trim();\n this._changeCulture(culture);\n };\n onNotificationLoadMore(): void {\n this.notificationLoadMore.emit();\n }\n private _closeSideMenu(): void {\n if (!this.isOpenQuickAccess) {\n return;\n }\n this.isOpenQuickAccessChanged.emit(false);\n this._cdr.detectChanges();\n }\n private _changeCulture(culture: string): void {\n this.cultureChanged.emit(culture);\n }\n}\n","@if (cssVariableUrl) {\n<link type=\"text/css\" rel=\"stylesheet\" [href]=\"cssVariableUrl\" />\n} @if (cssUrl) {\n<link type=\"text/css\" rel=\"stylesheet\" [href]=\"cssUrl\" />\n} @if (cssCustomUrl) {\n<link type=\"text/css\" rel=\"stylesheet\" [href]=\"cssCustomUrl\" />\n}\n<fd-shellbar\n [size]=\"deviceSize\"\n [ngClass]=\"deviceSize\"\n routeFormChange\n (stateChanged)=\"onRouteFormStateChange()\"\n [handleBodyClick]=\"true\"\n>\n @if (sideMenuTemplate) {\n <fd-shellbar-action\n [glyph]=\"'apps'\"\n [label]=\"'Quick Access' | bbbTranslate\"\n [notificationCount]=\"notificationCount.unread ?? 0\"\n [notificationLabel]=\"'Quick Access' | bbbTranslate\"\n [callback]=\"onOpenQuickAccess\"\n >\n </fd-shellbar-action>\n } @if (sideMenuTemplate) {\n <button\n fd-shellbar-side-nav\n fd-button\n fdType=\"transparent\"\n glyph=\"menu2\"\n style=\"width: 2.75rem\"\n (click)=\"$event.stopPropagation(); isOpenQuickAccessChanged.emit(!isOpenQuickAccess)\"\n ></button>\n } @if (logo) {\n <fd-shellbar-logo>\n <a\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\n href=\"/\"\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\"\n aria-label=\"Barsa Novin Ray\"\n ></a>\n </fd-shellbar-logo>\n } @if (!settings?.HideProductMenu && productMenuItems1 && productMenuItems1.length > 0) {\n <fd-product-menu [control]=\"productMenuControl\" [closePopoverOnSelect]=\"true\" [items]=\"productMenuItems1\">\n </fd-product-menu>\n }\n <fd-shellbar-subtitle> {{ subtitle | bbbTranslate }}{{ showVersion ? appVersion : '' }}</fd-shellbar-subtitle>\n @if (!hideShellbarActions&& user && (userMenu?.length || !settings?.HideLanguage)) {\n <fd-shellbar-actions [user]=\"user\" [userMenu]=\"userMenu\" #langRef>\n @for (action of actions; track action) {\n <fd-shellbar-action\n [glyph]=\"action.Icon\"\n [callback]=\"action.Callback\"\n [label]=\"action.Label\"\n notificationLabel=\"login\"\n >\n </fd-shellbar-action>\n } @if (deviceSize === 's' && userLoggedIn && !settings?.HideNotifications) {\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notifications' | bbbTranslate\"\n [notificationCount]=\"notificationCount.unread ?? 0\"\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\n [callback]=\"onBellNotification\"\n >\n </fd-shellbar-action>\n } @if (!settings?.HideNotifications && userLoggedIn) {\n <fd-popover\n [(isOpen)]=\"isOpenNotificatoin\"\n [triggers]=\"[]\"\n [focusTrapped]=\"true\"\n [noArrow]=\"true\"\n placement=\"bottom\"\n title=\"Notification Popover\"\n [focusAutoCapture]=\"true\"\n [mobile]=\"deviceSize === 's'\"\n #popoverComponent\n >\n <fd-popover-control>\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notification'\"\n [notificationCount]=\"notificationCount.unread\"\n [notificationLabel]=\"'Notification Label'\"\n [callback]=\"onOpenNotification\"\n >\n </fd-shellbar-action>\n </fd-popover-control>\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationCount }\"\n ></ng-container>\n </fd-popover-body>\n </fd-popover>\n } @if (!settings?.HideLanguage && deviceSize !== 's' && multiLanguages) {\n <fd-shellbar-action [glyph]=\"'world'\" [label]=\"'language'\" [fdMenuTrigger]=\"menu\" (callback)=\"(onLanguage)\">\n </fd-shellbar-action>\n } @if (!settings?.HideLanguage && deviceSize === 's' && multiLanguages) { @for (culture of cultures | keyvalue;\n track culture) {\n <fd-shellbar-action\n [label]=\"culture.value\"\n [callback]=\"onLanguage\"\n class=\"culture-abbrivation\"\n [glyph]=\"culture.key\"\n [ngClass]=\"'flags'\"\n >\n </fd-shellbar-action>\n } } @if (productSwitcher?.length) {\n <fd-product-switch>\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\n </fd-product-switch-body>\n </fd-product-switch>\n }\n </fd-shellbar-actions>\n }\n</fd-shellbar>\n@if(showExtraButton){\n<div\n [class.fd-shellbar--xl]=\"isDesktop\"\n [class.fd-shellbar--m]=\"isTablet\"\n [class.fd-shellbar--s]=\"isMobile\"\n class=\"extra-button-wrapper\"\n [class.service-desk]=\"isServiceDesk\"\n>\n <ng-content select=\"button\"></ng-content>\n</div>\n}\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<div\n *ngIf=\"sideMenuTemplate\"\n class=\"sidemenu-h tw-fixed tw-bg-white tw-transition-all tw-z-[100] tw-shadow-2xl tw-overflow-auto\"\n [class.tw-w-screen]=\"isMobile\"\n [class.-tw-right-full]=\"isMobile\"\n [class.tw-w-96]=\"!isMobile\"\n [class.-tw-right-96]=\"!isMobile\"\n [class.!tw-right-0]=\"isOpenQuickAccess\"\n (click)=\"$event.stopPropagation()\"\n>\n <ng-container *ngTemplateOutlet=\"sideMenuTemplate\"></ng-container>\n</div>\n\n@if(isOpenQuickAccess) {\n<div\n class=\"sidemenu-h tw-fixed tw-right-0 tw-bg-slate-800/[.5] tw-z-[90] tw-w-screen tw-backdrop-blur-sm\"\n (click)=\"isOpenQuickAccessChanged.emit(false)\"\n></div>\n}\n<fd-menu #menu>\n <ul fd-list>\n @for (culture of cultures | keyvalue; track culture) {\n <li fd-list-item>\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\n <span fd-list-title>\n <img width=\"14px\" height=\"12px\" [src]=\"'/assets/flags/' + culture.key + '.png'\" />\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\n </span>\n </a>\n </li>\n }\n </ul>\n</fd-menu>\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\n @if (!notifcationLoaded && notificationLoading === true) {\n <div style=\"position: relative; height: 100px\">\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n }\n <bt-notification-group\n [notifications]=\"notifications\"\n [notificationCount]=\"notificationCount\"\n [loading]=\"notificationLoading === true\"\n (viewed)=\"onNotificationItemViewed($event)\"\n (remove)=\"onRemoveNotifications($event)\"\n (showEvent)=\"popoverComponent.close(); onShowNotification($event)\"\n (actionClick)=\"popoverComponent.close(); onNotificationAction($event)\"\n (loadMore)=\"onNotificationLoadMore()\"\n [deviceSize]=\"deviceSize\"\n ></bt-notification-group>\n</ng-template>\n\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"mobile\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationCount }\"\n ></ng-container>\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnInit,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { forkJoin, Observable, of, Subject } from 'rxjs';\nimport { debounceTime, map, takeUntil, tap } from 'rxjs/operators';\nimport {\n ComboboxComponent,\n PopoverComponent,\n ProductSwitchItem,\n ShellbarMenuItem,\n ShellbarUser\n} from '@fundamental-ngx/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\nimport {\n BaseComponent,\n BarsaApi,\n MetaobjectDataModel,\n FilePictureInfoModel,\n MoForReportModel,\n PortalService,\n BreadcrumbService,\n APP_VERSION,\n NotificationService,\n NotificationItem,\n NotificationAction,\n BbbTranslatePipe,\n AbbrevationDeviceSize,\n getDeviceIsMobile,\n getDeviceIsDesktop,\n getDeviceIsTablet\n} from 'barsa-novin-ray-core';\n\nimport { TilesService } from '../tiles.service';\n\ninterface ShellbarSetting extends MetaobjectDataModel {\n CssStyles: string;\n subtitle: string;\n calcSubtitle: string;\n logo: FilePictureInfoModel;\n ProductSwitchItems: MoForReportModel;\n ProductMenuItems: MoForReportModel;\n UserMenuItems: MoForReportModel;\n ActionItems: MoForReportModel;\n SidebarReport: MetaobjectDataModel;\n ProfileImageReport: MetaobjectDataModel;\n}\n\n@Component({\n selector: 'bt-shellbar',\n templateUrl: './shellbar.component.html',\n styleUrls: ['./shellbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ShellbarComponent extends BaseComponent implements OnInit {\n @ViewChild(ComboboxComponent) comboboxComponent: ComboboxComponent;\n @ViewChild('popoverComponent', { static: false }) popoverComponent: PopoverComponent;\n @ViewChild('notificationsDialog', { static: true, read: TemplateRef }) _notificationsDialog: TemplateRef<any>;\n shellbarData: ShellbarSetting;\n settings: MetaobjectDataModel;\n isOpenNotificatoin = false;\n deviceSize$: Observable<AbbrevationDeviceSize>;\n productMenuControl: string;\n user: ShellbarUser = {\n initials: 'WW',\n colorAccent: 1\n };\n\n productMenuItems1: ShellbarMenuItem[];\n userLoggedIn$: Observable<boolean>;\n cssUrl$: Observable<SafeResourceUrl | null>;\n cssVariableUrl$: Observable<SafeResourceUrl | null>;\n cssCustomUrl$: Observable<SafeResourceUrl | null>;\n cultures: Record<string, any>;\n notificationsCount$: Observable<{ unread: number; all: number }>;\n notifications$: Observable<NotificationItem[]>;\n notificationLoading$: Observable<boolean>;\n notifcationLoaded = false;\n notifiationCountLoaded$: Observable<boolean>;\n _viewedNotifications$ = new Subject<NotificationItem>();\n _viewedNotifications: NotificationItem[] = [];\n bodyClick = ';$(\"body\").click()';\n isMobile = getDeviceIsMobile();\n isDesktop = getDeviceIsDesktop();\n isTablet = getDeviceIsTablet();\n loginRouterLink$: Observable<string>;\n isServiceDesk = false;\n isOpenQuickAccess = false;\n userProfileImageUrl$: Observable<string | null>;\n get repIdProfileImage(): string {\n return this.shellbarData?.ProfileImageReport?.Id;\n }\n get subtitle(): string {\n if (!this.shellbarData) {\n return '';\n }\n if (this._portalService.deviceSize === 's' && this.shellbarData.MobileSubtitle) {\n return this.shellbarData.MobileSubtitle\n ? `${this.shellbarData.MobileSubtitle} ${\n typeof this.shellbarData?.calcSubtitle === 'string' ? this.shellbarData.calcSubtitle : ''\n }`\n : '';\n }\n return this.shellbarData.Subtitle\n ? `${this.shellbarData?.Subtitle} ${\n typeof this.shellbarData?.calcSubtitle === 'string' ? this.shellbarData.calcSubtitle : ''\n }`\n : '';\n }\n get logo(): { FileId: string } {\n return this.shellbarData?.Logo;\n }\n get cssStyles(): string {\n return this.shellbarData?.CssStyles;\n }\n get actions(): Array<MetaobjectDataModel> {\n return this.settings?.HideUserMenu ? [] : this.shellbarData?.ActionItems?.MoDataList ?? [];\n }\n get sidebarSettings(): null | any {\n if (!this.shellbarData?.SidebarReport?.Id) {\n return null;\n }\n return {\n RelatedReport: { Id: this.shellbarData?.SidebarReport?.Id, $Caption: '' },\n RowClick: '',\n DataOnly: false\n };\n }\n get userMenu(): { text: string; callback: () => void }[] {\n const moDataList = BarsaApi.Common.Util.TryGetValue(this.shellbarData, 'UserMenuItems.MoDataList');\n const items = moDataList ? [...moDataList] : [];\n if (!items.length) {\n return [];\n }\n items.forEach((c) => {\n c.text = this._bbbTranslatePipe.transform(c.text);\n c.callback = new Function(c.Code + this.bodyClick);\n });\n if (!this.IsUserAnonymous && this.IsUserLoggedIn) {\n items.splice(0, 0, { Id: '-1', $Caption: '', text: BarsaApi.LoginFormData.UserDisplayName });\n }\n return this.settings?.HideUserMenu ? [] : (items as any);\n }\n get productSwitcher(): ProductSwitchItem[] {\n return (this.shellbarData?.ProductSwitchItems?.MoDataList ?? []) as unknown as ProductSwitchItem[];\n }\n get multiLanguages(): boolean {\n return this.shellbarData?.MultiLanguages;\n }\n get productMenuItems(): ShellbarMenuItem[] {\n const items = this.shellbarData?.ProductMenuItems?.MoDataList ?? [];\n items.forEach((c) => (c.callback = new Function(c.Code + this.bodyClick)));\n return items as unknown as ShellbarMenuItem[];\n }\n get IsUserLoggedIn(): boolean {\n return BarsaApi.LoginFormData.IsUserLoggedIn;\n }\n get IsUserAnonymous(): boolean {\n return BarsaApi.LoginFormData.IsAnonymous;\n }\n\n constructor(\n private _bbbTranslatePipe: BbbTranslatePipe,\n private _portalService: PortalService,\n private _breadCrumbService: BreadcrumbService,\n private _tilesService: TilesService,\n private _cdr: ChangeDetectorRef,\n private _domSanitizer: DomSanitizer,\n private _notificationService: NotificationService,\n @Inject(APP_VERSION) public appVersion: string\n ) {\n super();\n\n this.userLoggedIn$ = this._portalService.userLoggedIn$;\n this.notifiationCountLoaded$ = this._notificationService.notificationCountLoaded$;\n this._viewedNotifications$\n .pipe(\n takeUntil(this._onDestroy$),\n tap((item) => this._viewedNotifications.push(item)),\n map((item) => this._viewedNotifications),\n debounceTime(2000),\n map((items) => items.map((item) => item.Tag))\n )\n .subscribe((tags) => {\n this._viewedNotifications = [];\n this._notificationService.setNotificationViewed(tags);\n });\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.isServiceDesk = BarsaApi.LoginFormData.IsServiceDesk;\n\n this.cultures = BarsaApi.LoginFormData.Cultures;\n this.cssUrl$ = this._portalService.cssUrl$;\n this.cssVariableUrl$ = this._portalService.cssVariableUrl$;\n this.cssCustomUrl$ = this._portalService.cssCustomUrl$;\n this.loginRouterLink$ = this._portalService.loginRoute$;\n this.notificationsCount$ = this._notificationService.notificationCount$;\n this._notificationService.notificationCount$.subscribe(() => this._cdr.detectChanges());\n this.notificationLoading$ = this._notificationService.notificationLoading$;\n this.notifications$ = this._notificationService.notifications$.pipe(\n takeUntil(this._onDestroy$),\n map((notifications) => this._mapNotifications(notifications))\n );\n BarsaApi.Bw.SetUserPortalSettings = (userPortalSettings: MetaobjectDataModel): void => {\n this._portalService.setUserPortalSettings(userPortalSettings);\n };\n BarsaApi.Bw.SetShellbarSubtitle = (calcSubtitle: string): void => {\n this.shellbarData.calcSubtitle = calcSubtitle;\n this._cdr.detectChanges();\n };\n this.deviceSize$ = this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$));\n\n this._breadCrumbService.breadcrumbs$.pipe(takeUntil(this._onDestroy$)).subscribe((breadCrumbs) => {\n if (breadCrumbs.length > 0) {\n this.productMenuControl = breadCrumbs[breadCrumbs.length - 1].label;\n }\n this._cdr.detectChanges();\n });\n this.userProfileImageUrl$ = this._tilesService.userProfileImageUrl$;\n this._tilesService.shellbar$.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\n this.shellbarData = mo as ShellbarSetting;\n if (this.IsUserLoggedIn) {\n this._tilesService.loadUserProfileImage(this.repIdProfileImage);\n }\n\n // this._cdr.detectChanges();\n forkJoin([of(this.productMenuItems), of([])]) // to append user defined\n .pipe(\n takeUntil(this._onDestroy$),\n map(([s1, s2]) => [...s1, ...s2])\n )\n .subscribe((c) => {\n this.productMenuItems1 = c;\n this._cdr.detectChanges();\n });\n });\n if (this.settings?.AllowAnonymous) {\n this._tilesService.loadShellbar();\n }\n this._portalService.userLoggedIn$.pipe(takeUntil(this._onDestroy$)).subscribe((loggedIn) => {\n if (!loggedIn) {\n return;\n }\n this._tilesService.loadShellbar();\n this._notificationService.loadUnreadNotificationCount();\n });\n }\n\n onCultureChange(culture): void {\n this._changeCulture(culture);\n }\n onShowNotification(e: { tag: string; mo: MetaobjectDataModel; nama: string }): void {\n this.isOpenNotificatoin = false;\n this._notificationService.ShowNotificationRelatedMo(e);\n }\n onNotificationItemViewed(viewedMo: NotificationItem): void {\n this._viewedNotifications$.next(viewedMo);\n }\n\n onRemoveNotifications(e: { items: MetaobjectDataModel[]; silent: boolean }): void {\n this._notificationService.removeNotification(e.items);\n }\n onOpenNotification = (): void => {\n this.isOpenNotificatoin = true;\n this._handleOpenNotificationPanel();\n };\n onNotificationAction(e: { item: NotificationItem; btn: NotificationAction }): void {\n this._portalService.ExecuteNotificationAction(e.item.Tag, e.btn.Title);\n }\n onCultureChanged = (culture: string): void => {\n this._changeCulture(culture);\n };\n onNotificationLoadMore(): void {\n this._notificationService.loadMore();\n }\n onNotificationWorkflowChoiceSuccess(result): void {}\n onNotificationWorkflowChoiceFailed(err): void {}\n\n onHandleOpenNotificationPanel(): void {\n this._handleOpenNotificationPanel();\n }\n\n private _handleOpenNotificationPanel(): void {\n if (this.notifcationLoaded) {\n return;\n }\n this.notifcationLoaded = true;\n this._notificationService.loadNotifications();\n }\n private _mapNotifications(notifications): NotificationItem[] {\n return notifications.map((notification) => ({\n ...notification,\n contentSafeHtml: notification.Content\n ? this._domSanitizer.bypassSecurityTrustHtml(notification.Content)\n : ''\n }));\n }\n private _changeCulture(culture: string /* culture sample :English */): void {\n BarsaApi.Bw.SetCultureByDisplayName(culture);\n BarsaApi.Bw.NavigateTo('/');\n }\n}\n","@if (userLoggedIn$ | async; as userloggend) { @if (notifiationCountLoaded$ | async; as notifiationCountLoaded) { @if\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"cssUrl$ | async\"\n [cssVariableUrl]=\"cssVariableUrl$ | async\"\n [userProfileImageUrl]=\"userProfileImageUrl$ | async\"\n [cssCustomUrl]=\"cssCustomUrl$ | async\"\n [userLoggedIn]=\"true\"\n [deviceSize]=\"deviceSize\"\n [shellbarData]=\"shellbarData\"\n [cssStyle]=\"cssStyles\"\n [productMenuControl]=\"productMenuControl\"\n [settings]=\"settings\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [multiLanguages]=\"multiLanguages\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notifications]=\"(notifications$ | async) ?? []\"\n [notifcationLoaded]=\"notifcationLoaded\"\n [notificationLoading]=\"(notificationLoading$ | async) === true\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [isServiceDesk]=\"isServiceDesk\"\n [sideMenuTemplate]=\"QuickAccessTemplate\"\n [productMenuItems1]=\"productMenuItems1\"\n [isOpenQuickAccess]=\"isOpenQuickAccess\"\n (isOpenQuickAccessChanged)=\"isOpenQuickAccess = $event\"\n (cultureChanged)=\"onCultureChanged($event)\"\n (notificationViewed)=\"onNotificationItemViewed($event)\"\n (notifiationActionClick)=\"onNotificationAction($event)\"\n (removeNotification)=\"onRemoveNotifications($event)\"\n (notificationLoadMore)=\"onNotificationLoadMore()\"\n (openNotificationPanel)=\"onHandleOpenNotificationPanel()\"\n>\n</bt-barsa-shellbar>\n} } } } @else { @if (notificationsCount$ | async; as notificationCount) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"''\"\n [cssStyle]=\"cssStyles\"\n [cssVariableUrl]=\"''\"\n [cssCustomUr]=\"''\"\n [userLoggedIn]=\"false\"\n [multiLanguages]=\"multiLanguages\"\n [userMenu]=\"userMenu\"\n [logo]=\"logo\"\n [productMenuItems1]=\"productMenuItems1\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [shellbarData]=\"shellbarData\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [isServiceDesk]=\"isServiceDesk\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productMenuControl]=\"productMenuControl\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [settings]=\"settings\"\n [notificationCount]=\"{ unread: 0, all: 0 }\"\n [notifications]=\"[]\"\n [notifcationLoaded]=\"true\"\n [notificationLoading]=\"false\"\n [hideShellbarActions]=\"true\"\n [showExtraButton]=\"true\"\n [cultures]=\"cultures\"\n [productMenuItems1]=\"productMenuItems1\"\n (cultureChanged)=\"onCultureChanged($event)\"\n>\n @for(btn of userMenu;track btn){\n <button\n class=\"extra_btn\"\n fd-button\n [label]=\"btn.text\"\n [glyph]=\"btn.text === ('Login' | bbbTranslate) ? 'person-placeholder' : null\"\n fdType=\"emphasized\"\n (click)=\"btn.callback()\"\n ></button>\n }\n</bt-barsa-shellbar>\n} }\n<ng-template #QuickAccessTemplate>\n @if ((notificationLoading$ | async) === true) {\n <div style=\"position: relative; height: 100px\">\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n }\n <bnrc-report-container *ngIf=\"sidebarSettings\" [settings]=\"sidebarSettings\"> </bnrc-report-container>\n <!-- <bt-popover-app-finder (closeMenu)=\"isOpenQuickAccess = false\"></bt-popover-app-finder> -->\n</ng-template>\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})\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})\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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n OnInit,\n Output\n} from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { ContentDensity, ContentDensityService, DialogService } from '@fundamental-ngx/core';\n\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\nimport { AppFinderService } from '../app-finder.service';\nimport { AppTileGroupPin } from '../models';\nimport { PinTileComponent } from '../pin-tile/pin-tile.component';\n\n@Component({\n selector: 'bt-popover-app-finder',\n templateUrl: './popover-app-finder.component.html',\n styleUrls: ['./popover-app-finder.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: '!tw-min-h-min'\n }\n})\nexport class PopoverAppFinderComponent extends BaseComponent implements OnInit {\n @Output() closeMenu = new EventEmitter<void>();\n selectedGroups: MetaobjectDataModel[];\n isAllSelected = true;\n appGroups$: Observable<MetaobjectDataModel[] | undefined>;\n appTileGroups$: Observable<MetaobjectDataModel[]>;\n searchTerm: string;\n deviceSize$: Observable<AbbrevationDeviceSize>;\n sideContentSize$: Observable<string>;\n contentDensity$: Observable<ContentDensity>;\n selectedAppGroup$: Observable<MetaobjectDataModel | undefined>;\n selectedAppGroupId$: Observable<string>;\n mobile$: Observable<boolean>;\n contentHeight: string;\n pinnedAppInAppTileGroups$: Observable<Record<string, string[]>>;\n\n constructor(\n private _cdr: ChangeDetectorRef,\n private _dialogService: DialogService,\n private _appFinderService: AppFinderService,\n private _el: ElementRef,\n _contentDensityService: ContentDensityService\n ) {\n super();\n this.contentDensity$ = _contentDensityService.contentDensity.asObservable();\n this.appGroups$ = this._appFinderService.appGroups$.pipe(\n map((appGroups) => {\n appGroups.forEach((cat) => {\n this._appFinderService.loadAppsByAppGroup(appGroups, cat);\n });\n return appGroups;\n })\n );\n this.selectedAppGroup$ = this._appFinderService.selectedAppGroup$;\n this.selectedAppGroupId$ = this._appFinderService.selectedAppGroupId$;\n this.deviceSize$ = this._appFinderService.deviceSize$;\n this.pinnedAppInAppTileGroups$ = this._appFinderService.pinnedAppInAppTileGroups$;\n this.mobile$ = this.deviceSize$.pipe(map((c) => c === 's'));\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.contentHeight = 'calc(' + this._el.nativeElement.offsetHeight + 'px - 2.75rem)';\n\n this.sideContentSize$ = this.deviceSize$.pipe(\n takeUntil(this._onDestroy$),\n map((deviceSize) => {\n switch (deviceSize) {\n case 's':\n return 'sm';\n case 'm':\n return 'md';\n case 'l':\n return 'lg';\n case 'xl':\n return 'xl';\n default:\n return 'l';\n }\n })\n );\n }\n\n onSelectedAppGroupChange(appGroupId: string): void {\n this._changeGroup(appGroupId);\n }\n\n onPinClick(app: MetaobjectDataModel): void {\n const pinnedAppInTileGroups = this._appFinderService.loadPinnedAppInTileGroups(app);\n const appTileGroups = this._appFinderService.appTileGroups;\n const deviceSize = this._appFinderService.deviceSize;\n const mobile = deviceSize === 's';\n this._dialogService\n .open(PinTileComponent, {\n data: { app, pinnedAppInTileGroups, appTileGroups },\n minWidth: '350px',\n minHeight: '420px',\n draggable: false,\n mobile,\n resizable: false,\n verticalPadding: false,\n backdropClickCloseable: false\n })\n .afterClosed.subscribe((result) => {\n this._appTileGroupsPinChange(result);\n });\n }\n onRefresh(): void {}\n async _appTileGroupsPinChange(result: {\n appTileGroupsPin: AppTileGroupPin[];\n app: MetaobjectDataModel;\n }): Promise<void> {\n try {\n // Will try to ask for permission\n this._appFinderService.pinTileChanged(result.appTileGroupsPin, result.app, () => {\n this._cdr.detectChanges();\n });\n } catch (err) {\n // show msg error\n } finally {\n // show toast successful\n }\n }\n private _changeGroup(appGroupId: string): void {\n this.isAllSelected = false;\n this._appFinderService.selectAppGroup(appGroupId);\n this._cdr.detectChanges();\n }\n}\n","<!-- \n<div>\n <div class=\"!tw-px-4 !tw-pt-2\" fd-form-item>\n <fd-input-group\n glyph=\"decline\"\n glyphAriaLabel=\"Clear\"\n placeholder=\"جستجو\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"searchTerm = ''\"\n >\n </fd-input-group>\n </div>\n @for (cat of appGroups$ | async | filterAppsGrouped:searchTerm; track cat.Id) {\n <fd-panel\n fdCompact\n expandAriaLabel=\"Panel Expand\"\n expandAriaLabelledBy=\"panel-compact-1\"\n [expanded]=\"!!searchTerm?.length\"\n >\n <h5 fd-panel-title id=\"panel-compact-1\">{{ cat.Title }}</h5>\n <div fd-panel-content ariaLabel=\"Panel Content\" id=\"panel-content-3\" class=\"!p-0\">\n <ul fd-list [noBorder]=\"false\">\n @for (app of cat.Apps | filterApps:searchTerm; track app.Id) {\n <li fd-list-item>\n <a fd-list-link [navigated]=\"true\" [dynCommand]=\"app.DynamicCommand\" (click)=\"closeMenu.emit()\">\n <i fd-list-icon glyph=\"history\"></i>\n <span fd-list-title>{{ app.Title }}</span>\n <span fd-list-secondary>\n @if(pinnedAppInAppTileGroups$ | async; as pinnedAppInAppTileGroups) {\n <button\n ariaLabel=\"Bookmark\"\n fdType=\"transparent\"\n title=\"Bookmark\"\n fd-button\n [glyph]=\"'pushpin-off'\"\n [fdType]=\"\n pinnedAppInAppTileGroups[app.Id]\n ? pinnedAppInAppTileGroups[app.Id].length\n ? 'emphasized'\n : 'transparent'\n : app.$HasPinned\n ? 'emphasized'\n : 'transparent'\n \"\n (click)=\"$event.stopPropagation(); onPinClick(app)\"\n ></button>\n }\n </span>\n </a>\n </li>\n }\n </ul>\n </div>\n </fd-panel>\n }\n</div> -->\n","import { ChangeDetectionStrategy, Component, inject, Input, signal, TemplateRef, WritableSignal } from '@angular/core';\nimport { BarsaTreeItemComponent } from 'barsa-sap-ui';\n\nimport { takeUntil } from 'rxjs';\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\nimport { AppFinderService } from '../app-finder.service';\n\n@Component({\n selector: 'bt-barsa-pin-app',\n templateUrl: './barsa-pin-app.component.html',\n styleUrls: ['./barsa-pin-app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaPinAppComponent extends BarsaTreeItemComponent {\n @Input() titleTemplateRef: TemplateRef<any>;\n private _appFinderService = inject(AppFinderService);\n appGroups$: WritableSignal<MetaobjectDataModel[]> = signal([]);\n\n pinnedAppInAppTileGroups$: WritableSignal<Record<string, string[]>> = signal({});\n\n ngOnInit(): void {\n super.ngOnInit();\n this._appFinderService.appGroups$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\n this.appGroups$.set(c);\n });\n this._appFinderService.pinnedAppInAppTileGroups$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\n this.pinnedAppInAppTileGroups$.set(c);\n });\n }\n onPinTap(): void {}\n}\n","<ng-container *ngIf=\"titleTemplateRef\">\n <ng-container *ngTemplateOutlet=\"titleTemplateRef\"></ng-container>\n</ng-container>\n<button\n fd-button\n [glyph]=\"'pushpin-off'\"\n [fdType]=\"\n pinnedAppInAppTileGroups$()[node.Data.Id]\n ? pinnedAppInAppTileGroups$()[node.Data.Id].length\n ? 'emphasized'\n : 'standard'\n : node.Data.$HasPinned\n ? 'emphasized'\n : 'standard'\n \"\n (click)=\"onPinTap()\"\n></button>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n inject,\n OnChanges,\n signal,\n SimpleChanges,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport {\n BarsaApi,\n BaseComponent,\n getDeviceIsMobile,\n LogService,\n LocalStorageService,\n MetaobjectDataModel,\n BreadcrumbService,\n BreadCrumbInfo,\n RoutingService,\n MoForReportModel,\n PortalService,\n AbbrevationDeviceSize\n} from 'barsa-novin-ray-core';\nimport { BaseTileSetting } from '../models';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'bt-barsa-tile-group-page',\n templateUrl: './barsa-tile-group-page.component.html',\n styleUrls: ['./barsa-tile-group-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [RoutingService]\n})\nexport class BarsaTileGroupPageComponent extends BaseComponent implements OnChanges {\n @ViewChild('containerRef', { read: ViewContainerRef }) _containerRef: ViewContainerRef;\n @HostBinding('style.position') _position = 'absolute';\n moList = signal<BaseTileSetting[]>([]);\n isMobile = getDeviceIsMobile();\n rtl = BarsaApi.LoginFormData.IsRtl;\n title: string | null;\n dialogRef: any;\n parameters: BarsaTileGroupPageSettings;\n settings: BarsaTileGroupPageSettings;\n protected _logService: LogService = inject(LogService);\n protected _activatedRoute = inject(ActivatedRoute);\n protected _cdr = inject(ChangeDetectorRef);\n protected _router = inject(Router);\n protected _localStorage = inject(LocalStorageService);\n protected _breadCrumbService = inject(BreadcrumbService);\n protected _portalService = inject(PortalService);\n isSimple: boolean;\n listMode: boolean;\n breadcrumbs$: Observable<BreadCrumbInfo[]>;\n reportId: string;\n loading = signal(false);\n deviceSize: AbbrevationDeviceSize;\n ngOnInit(): void {\n super.ngOnInit();\n this.breadcrumbs$ = this._breadCrumbService.breadcrumbs$;\n\n this.title = localStorage.getItem('ActiveTile');\n this.isSimple = this.parameters?.IsSimple || this.settings?.IsSimple;\n this.listMode = this.parameters?.ListMode || this.settings?.ListMode;\n if (this.isSimple) {\n this._position = 'relative';\n }\n this.deviceSize = this._portalService.deviceSize;\n const id = this._activatedRoute.snapshot.params['id'];\n\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [id],\n Method: 'GetTileGroupApps',\n SuccessFn: (e: MoForReportModel) => {\n this.moList.set(e.MoDataList as Array<BaseTileSetting>);\n },\n FailFn: (e) => {\n this._logService.error(e);\n }\n });\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n }\n onClose(): void {\n this._router.navigate(['../']);\n }\n}\ninterface BarsaTileGroupPageSettings extends MetaobjectDataModel {\n IsSimple: boolean;\n ListMode: boolean;\n}\n","@if(!isSimple ){\n<fd-dynamic-page [autoResponsive]=\"true\">\n <fd-dynamic-page-header\n [class.simple-title]=\"true\"\n [title]=\"title | bbbTranslate\"\n [class.p-b0]=\"true\"\n [class.hide-title]=\"false\"\n >\n <fd-dynamic-page-breadcrumb [class.hide]=\"isMobile\">\n <fd-breadcrumb>\n @if (breadcrumbs$ | async; as breadCrumbs) { @for ( breadCrumb of breadCrumbs | slice:\n 0:breadCrumbs.length; track breadCrumb.url; let i = $index; let last = $last) {\n <fd-breadcrumb-item>\n <bsu-breadcrumb\n [index]=\"i\"\n [isLast]=\"last\"\n [breadCrumb]=\"breadCrumb\"\n [allBreadCrumb]=\"breadCrumbs\"\n ></bsu-breadcrumb>\n </fd-breadcrumb-item>\n } }\n </fd-breadcrumb>\n </fd-dynamic-page-breadcrumb>\n <fd-dynamic-page-layout-actions>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"onClose()\" title=\"Close\">\n <i [class]=\"'sap-icon--' + (isMobile ? (rtl ? 'arrow-right' : 'arrow-left') : 'decline')\"></i>\n </button>\n </fd-toolbar>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n\n <fd-dynamic-page-content cdkScrollable>\n <ng-container *ngTemplateOutlet=\"tilesTpl\"> </ng-container>\n </fd-dynamic-page-content>\n</fd-dynamic-page>\n} @else {\n<ng-container *ngTemplateOutlet=\"tilesTpl\"> </ng-container>\n}\n<ng-template #loadingTpl>\n <bsu-mask></bsu-mask>\n</ng-template>\n<ng-template #tilesTpl>\n <div class=\"tw-flex tw-gap-1 tw-flex-wrap\">\n @for(app of moList();track app.Id){\n <ng-container *ngTemplateOutlet=\"tile; context: { $implicit: app, deviceSize: deviceSize }\"></ng-container>\n }\n </div>\n</ng-template>\n<ng-template #tile let-app let-listMode=\"listMode\" let-navigateBack=\"navigateBack\" let-deviceSize=\"deviceSize\">\n <span\n [dynamicCommand]=\"app.DynamicCommand\"\n [setToStorage]=\"false\"\n [listMode]=\"false\"\n [navigateBackOnClick]=\"listMode ? false : isSimple ? true : false\"\n [enableCommand]=\"app.Component\"\n tileRenderer\n [data]=\"app\"\n [edit]=\"false\"\n [deviceSize]=\"deviceSize\"\n [component]=\"app.Component\"\n >\n </span>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, inject, OnChanges, signal } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport {\n BarsaApi,\n getDeviceIsMobile,\n LocalStorageService,\n BreadcrumbService,\n BreadCrumbInfo,\n RoutingService,\n EmptyPageComponent\n} from 'barsa-novin-ray-core';\nimport { Observable, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'bt-barsa-tile-sidebar-page',\n templateUrl: './barsa-tile-sidebar-page.component.html',\n styleUrls: ['./barsa-tile-sidebar-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [RoutingService]\n})\nexport class BarsaTileSidebarPageComponent extends EmptyPageComponent implements OnChanges {\n isMobile = getDeviceIsMobile();\n rtl = BarsaApi.LoginFormData.IsRtl;\n protected _router = inject(Router);\n protected _localStorage = inject(LocalStorageService);\n protected _breadCrumbService = inject(BreadcrumbService);\n protected _routingService = inject(RoutingService); // create new routing service to handle sidebar navigation\n breadcrumbs$: Observable<BreadCrumbInfo[]>;\n title: string | null;\n firstReportLoaded = signal(false);\n ngOnInit(): void {\n super.ngOnInit();\n this.isFirstPage = false;\n this._portalService.navigationEnd$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\n c && c.url.indexOf('mainside:report') > 0 && this.firstReportLoaded.set(true);\n });\n this.breadcrumbs$ = this._breadCrumbService.breadcrumbs$;\n this._routingService.isSidebar = true;\n this.title = localStorage.getItem('ActiveTile');\n }\n onClose(): void {\n this._router.navigate(['../']);\n }\n}\n","<div fd-bar>\n <div fd-bar-left style=\"flex: 1; width: 100%\">\n <fd-breadcrumb style=\"width: 100%\">\n @if (breadcrumbs$ | async; as breadCrumbs) { @for ( breadCrumb of breadCrumbs ;track breadCrumb.url; let i =\n $index; let last = $last) {\n <fd-breadcrumb-item>\n <bsu-breadcrumb\n [index]=\"i\"\n [isLast]=\"last\"\n [breadCrumb]=\"breadCrumb\"\n [allBreadCrumb]=\"breadCrumbs\"\n ></bsu-breadcrumb>\n </fd-breadcrumb-item>\n } }\n </fd-breadcrumb>\n </div>\n</div>\n\n<fd-dynamic-side-content class=\"tiles-sidebar-wrapper\" fillEmptySpace style=\"overflow: auto\">\n <fd-dynamic-side-content-side>\n <ng-container #containerRef></ng-container>\n </fd-dynamic-side-content-side>\n <fd-dynamic-side-content-main style=\"margin: 2rem\">\n @if(firstReportLoaded()===false){\n <fd-message-page type=\"no-items\" style=\"align-self: center; background: transparent\">\n <fd-message-page-title>{{ 'SearchInReports' | bbbTranslate }}</fd-message-page-title>\n </fd-message-page>\n }\n <router-outlet name=\"mainside\"> </router-outlet>\n </fd-dynamic-side-content-main>\n</fd-dynamic-side-content>\n<div class=\"sidbar-outlet\">\n <router-outlet></router-outlet>\n</div>\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})\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})\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 { Pipe, PipeTransform } from '@angular/core';\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Pipe({\n name: 'filterAppsGrouped',\n standalone: true,\n pure: false\n})\nexport class FilterAppsGroupedPipe implements PipeTransform {\n transform(value: MetaobjectDataModel[] | undefined | null, term: string): MetaobjectDataModel[] | undefined | null {\n return value?.filter((cat) => !!cat.Apps.filter((app) => app.$Caption.includes(term ?? ''))?.length);\n }\n}\n\n@Pipe({\n name: 'filterApps',\n standalone: true,\n pure: false\n})\nexport class FilterAppsPipe implements PipeTransform {\n transform(value: MetaobjectDataModel[] | undefined | null, term: string): MetaobjectDataModel[] | undefined | null {\n if (!Array.isArray(value) || !term) {\n return value;\n }\n return value?.filter((app) => app.$Caption.includes(term));\n }\n}\n","import { Directive, ElementRef, OnChanges, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { BaseDirective, PortalService } from 'barsa-novin-ray-core';\nimport { takeUntil } from 'rxjs';\n\n@Directive({\n selector: '[tileSize]'\n})\nexport class TileSizeDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy {\n constructor(private _renderer2: Renderer2, protected _el: ElementRef, private _portalService: PortalService) {\n super(_el);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\n if (c === 's') {\n this._renderer2.addClass(this._el.nativeElement.firstChild, 'fd-tile--s');\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuard, PortalPageResolver, TileGroupBreadcrumResolver } from 'barsa-novin-ray-core';\nimport { BarsaTileSidebarPageComponent } from './barsa-tile-sidebar-page/barsa-tile-sidebar-page.component';\nimport { ReportNavigatorComponent } from 'barsa-sap-ui';\n\nexport const extendHomeRouter = [\n {\n path: 'appgroupsidebar',\n component: BarsaTileSidebarPageComponent,\n canActivate: [AuthGuard],\n data: {\n pageData: {\n Module: 'BarsaHomePage',\n HasAuthorize: true,\n Route: '/appgroupsidebar'\n }\n },\n resolve: { pageData: PortalPageResolver, breadcrumb: TileGroupBreadcrumResolver },\n children: [\n {\n path: 'report/:id',\n outlet: 'mainside',\n component: ReportNavigatorComponent,\n data: {\n pageData: {\n HasAuthorize: false,\n Route: '/report',\n Module: 'BarsaReportPage'\n }\n }\n },\n {\n path: 'popup',\n loadChildren: () => import('barsa-novin-ray-core').then((c) => c.BarsaSapUiFormPageModule)\n },\n {\n path: 'formfieldshow',\n loadChildren: () => import('barsa-novin-ray-core').then((c) => c.BarsaSapUiFormPageModule)\n }\n ]\n }\n];\nconst routes: Routes = [];\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class BarsaTilesRoutingModule {}\n","import { APP_INITIALIZER, ComponentFactoryResolver, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule, LowerCasePipe } from '@angular/common';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { FundamentalNgxCoreModule, GridListModule } from '@fundamental-ngx/core';\nimport { SplitterModule } from '@fundamental-ngx/btp/splitter';\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\nimport { BarsaSapUiModule } from 'barsa-sap-ui';\nimport { BarsaEchartsModule } from 'barsa-echarts';\n\nimport { ShellbarComponent } from './shellbar/shellbar.component';\nimport { TilesViewerComponent } from './tiles-viewer/tiles-viewer.component';\nimport { ProfileTileComponent } from './profile-tile/profile-tile.component';\nimport { SimpleTileComponent } from './simple-tile/simple-tile.component';\nimport { FeedTileComponent } from './feed-tile/feed-tile.component';\nimport { FooterTileComponent } from './footer-tile/footer-tile.component';\nimport { TileComponent } from './tile/tile.component';\nimport { LogoTileComponent } from './logo-tile/logo-tile.component';\nimport { NumericTileComponent } from './numeric-tile/numeric-tile.component';\nimport { TileHomeFilterPipe } from './pipes/tile-home-filter.pipe';\nimport { FooterEditTileComponent } from './footer-edit-tile/footer-edit-tile.component';\nimport { FormAppFinderComponent } from './form-app-finder/form-app-finder.component';\nimport { PinTileComponent } from './pin-tile/pin-tile.component';\nimport { GroupTilesPipe } from './pipes/group-tiles.pipe';\nimport { HomeGroupPipe } from './pipes/home-group.pipe';\nimport { TilePropPipe } from './pipes/tile-prop.pipe';\n\nimport { TilesService } from './tiles.service';\nimport { EmptyListDirective } from './directives/emptylist.directive';\nimport { ChangeAppTileComponent } from './change-app-tile/change-app-tile.component';\nimport { CreateAppGroupComponent } from './create-app-group/create-app-group.component';\n\nimport { MicroTileChartBarComponent } from './micro-tile-chart-bar/micro-tile-chart-bar.component';\nimport { MicroTileChartAreaComponent } from './micro-tile-chart-area/micro-tile-chart-area.component';\nimport { MicroTileChartCircularComponent } from './micro-tile-chart-circular/micro-tile-chart-circular.component';\nimport { MicroTileChartLineComponent } from './micro-tile-chart-line/micro-tile-chart-line.component';\nimport { MicroTileChartStackbarComponent } from './micro-tile-chart-stackbar/micro-tile-chart-stackbar.component';\nimport { MicroTileChartComparisonComponent } from './micro-tile-chart-comparison/micro-tile-chart-comparison.component';\nimport { NewsTileComponent } from './news-tile/news-tile.component';\nimport { ActionsLinkComponent } from './actions-link/actions-link.component';\nimport { ActionItemComponent } from './action-item/action-item.component';\nimport { MicroTileChartBulletComponent } from './micro-tile-chart-bullet/micro-tile-chart-bullet.component';\nimport { ActionLinksPipe } from './action-links.pipe';\nimport { AppFinderService } from './app-finder.service';\nimport { TilesViewerContainerComponent } from './tiles-viewer-container/tiles-viewer-container.component';\nimport { AppFinderComponent } from './app-finder/app-finder.component';\nimport { AppFinderGroupComponent } from './app-finder-group/app-finder-group.component';\nimport { AppFinderAppListComponent } from './app-finder-app-list/app-finder-app-list.component';\nimport { TileRendererDirective } from './tile-renderer.directive';\nimport { TilesViewerGroupComponent } from './tiles-viewer-group/tiles-viewer-group.component';\nimport { FormTileComponent } from './form-tile/form-tile.component';\nimport { NotificationGroupComponent } from './notification-group/notification-group.component';\nimport { NotificationGroupHeaderComponent } from './notification-group-header/notification-group-header.component';\nimport { BarsaShellbarComponent } from './barsa-shellbar/barsa-shellbar.component';\nimport { IconTabBarComponent, IconTabBarTabComponent, IconTabBarTabContentDirective } from '@fundamental-ngx/platform';\nimport { PopoverAppFinderComponent } from './popover-app-finder/popover-app-finder.component';\nimport { FilterAppsGroupedPipe, FilterAppsPipe } from './popover-app-finder/filter-apps-grouped.pipe';\nimport { TileStyleDirective } from './tile-style.directive';\nimport { TileSizeDirective } from './tile-size.directive';\nimport { BarsaPinAppComponent } from './barsa-pin-app/barsa-pin-app.component';\nimport { Router, RouterModule } from '@angular/router';\nimport { BarsaTileGroupPageComponent } from './barsa-tile-group-page/barsa-tile-group-page.component';\nimport { BarsaTilesRoutingModule, extendHomeRouter } from './barsa-tiles-routing.module';\nimport { BarsaTileSidebarPageComponent } from './barsa-tile-sidebar-page/barsa-tile-sidebar-page.component';\n\nconst components = [\n ShellbarComponent,\n SimpleTileComponent,\n TilesViewerComponent,\n ProfileTileComponent,\n FeedTileComponent,\n FooterTileComponent,\n TileComponent,\n LogoTileComponent,\n NumericTileComponent,\n FooterEditTileComponent,\n FormAppFinderComponent,\n PinTileComponent,\n ChangeAppTileComponent,\n CreateAppGroupComponent,\n MicroTileChartAreaComponent,\n MicroTileChartCircularComponent,\n MicroTileChartLineComponent,\n MicroTileChartStackbarComponent,\n MicroTileChartComparisonComponent,\n MicroTileChartBarComponent,\n MicroTileChartBulletComponent,\n TilesViewerContainerComponent,\n NewsTileComponent,\n ActionsLinkComponent,\n ActionItemComponent,\n AppFinderComponent,\n AppFinderGroupComponent,\n AppFinderAppListComponent,\n TilesViewerGroupComponent,\n FormTileComponent,\n BarsaShellbarComponent,\n PopoverAppFinderComponent,\n BarsaPinAppComponent,\n BarsaTileGroupPageComponent,\n BarsaTileSidebarPageComponent\n];\nconst pipes = [GroupTilesPipe, TileHomeFilterPipe, HomeGroupPipe, ActionLinksPipe, TilePropPipe];\nconst directives = [EmptyListDirective, TileRendererDirective, TileStyleDirective, TileSizeDirective];\nexport function addTilesPageSidebar(_router: Router): void {\n const config = _router.config;\n const home = config.find((c) => c.path === 'home');\n home?.children?.push(...extendHomeRouter);\n const servicedesk = config.find((c) => c.path === 'servicedesk');\n servicedesk?.children?.push(...extendHomeRouter);\n _router.resetConfig(config);\n}\n@NgModule({\n schemas: [NO_ERRORS_SCHEMA],\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n DragDropModule,\n CdkTableModule,\n FundamentalNgxCoreModule,\n GridListModule,\n ReactiveFormsModule,\n BarsaNovinRayCoreModule,\n BarsaSapUiModule,\n BarsaTilesRoutingModule,\n BarsaEchartsModule,\n IconTabBarComponent,\n IconTabBarTabComponent,\n IconTabBarTabContentDirective,\n FilterAppsGroupedPipe,\n FilterAppsPipe,\n SplitterModule\n ],\n providers: [\n TilesService,\n AppFinderService,\n LowerCasePipe,\n {\n provide: APP_INITIALIZER,\n useFactory: (_router: Router) => () => addTilesPageSidebar(_router),\n deps: [Router],\n multi: true\n }\n ],\n declarations: [\n ...components,\n ...pipes,\n ...directives,\n NotificationGroupComponent,\n NotificationGroupHeaderComponent\n ],\n exports: [...components]\n})\nexport class BarsaTilesModule extends BaseModule {\n protected dynamicComponents = [...components];\n\n constructor(protected dcm: DynamicComponentService, protected componentFactoryResolver: ComponentFactoryResolver) {\n super(dcm, componentFactoryResolver, 'BarsaTilesModule');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1.TilesService","takeUntil","filter","i1","i3","i4","i5","i7.FooterTileComponent","i8.TileStyleDirective","i9","i3.TileComponent","i4.TilePropPipe","i2.ActionItemComponent","i3.TilePropPipe","i6","i10","i11","i12.ActionsLinkComponent","i13.TileRendererDirective","i14","i7.EmptyListDirective","i7","i8.AppFinderGroupComponent","i9.AppFinderAppListComponent","i2.TilesService","i8","i10.TilesViewerGroupComponent","i3.TilesViewerService","i5.TilesViewerComponent","i5.TileComponent","i6.TilePropPipe","i2.AppFinderService","i4.AppFinderComponent","i2.TileComponent","i7.NotificationGroupHeaderComponent","i13","i14.NotificationGroupComponent","i7.BarsaShellbarComponent","i8.TileRendererDirective"],"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/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/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/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/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/profile-tile/profile-tile.component.ts","../../../projects/barsa-tiles/src/lib/profile-tile/profile-tile.component.html","../../../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/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/pipes/home-group.pipe.ts","../../../projects/barsa-tiles/src/lib/action-links.pipe.ts","../../../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 } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable, of, from } from 'rxjs';\nimport { concatMap, distinctUntilChanged, filter, shareReplay, startWith, takeUntil, tap } from 'rxjs/operators';\n\nimport { RtlService } from '@fundamental-ngx/core';\nimport { BarsaApi, BbbTranslatePipe, MetaobjectDataModel, MoForReportModel, PortalService } from 'barsa-novin-ray-core';\nimport { AppTileGroupPin, UserPortalSettings } from './models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TilesService implements OnDestroy {\n deviceSize$: Observable<'s' | 'm' | 'l' | 'xl'>;\n homeAppTileGroups$: Observable<MetaobjectDataModel[]>;\n pinTiles$: Observable<PinTileInfo | null>;\n shellbarSource = new Subject<MetaobjectDataModel>();\n shellbar$: Observable<MetaobjectDataModel>;\n appTileGroups$: Observable<MoForReportModel | null>;\n edit$: Observable<boolean>;\n userProfileImageUrl$: Observable<string | null>;\n\n private _OnDestroy$ = new Subject<void>();\n private _homeAppTileGroupsSource = new BehaviorSubject<MetaobjectDataModel[]>([]);\n private pinTilesSource = new Subject<PinTileInfo>();\n private _appTileGroupsSource = new BehaviorSubject<MoForReportModel | null>(null);\n private _userProfileImageUrl$ = new BehaviorSubject<string | null>(null);\n private _edithomeSource = new BehaviorSubject<boolean>(false);\n private _componentSettings$ = new Subject<MetaobjectDataModel>();\n constructor(\n private _portalService: PortalService,\n private _rtlService: RtlService,\n private _bbbTranslatePipe: BbbTranslatePipe\n ) {\n BarsaApi.Bw.TilesService = this;\n this.userProfileImageUrl$ = this._userProfileImageUrl$.asObservable();\n this.homeAppTileGroups$ = this._homeAppTileGroupsSource.asObservable();\n this.pinTiles$ = this.pinTilesSource.asObservable().pipe(startWith(null));\n this.shellbarSource = new Subject<MetaobjectDataModel>();\n this.shellbar$ = this.shellbarSource.asObservable().pipe(shareReplay(1));\n this.appTileGroups$ = this._appTileGroupsSource.pipe(shareReplay(1));\n\n this.edit$ = this._edithomeSource.asObservable().pipe(takeUntil(this._OnDestroy$), distinctUntilChanged());\n this.deviceSize$ = this._portalService.deviceSize$;\n this._rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);\n this.loadAllAppTileGroups();\n this.appTileGroups$\n .pipe(\n filter((moForReportModel) => moForReportModel !== null),\n tap((moForReportModel) => {\n if (moForReportModel) {\n this._allAppsLoaded(moForReportModel);\n }\n })\n )\n .subscribe();\n BarsaApi.Ul.ApplicationCtrlr.on('GlobalRefreshTile', this._onApplication_GlobalRefreshTile.bind(this));\n }\n get componentSettings$(): Observable<MetaobjectDataModel> {\n return this._componentSettings$.asObservable();\n }\n get appTileGroups(): MoForReportModel | null {\n return this._appTileGroupsSource.getValue();\n }\n ngOnDestroy(): void {\n this._OnDestroy$.next();\n }\n protected _onApplication_GlobalRefreshTile(sender, appTilesTitle: string[]): void {\n const allApps = this._appTileGroupsSource.getValue();\n const appTiles: MetaobjectDataModel[] = [];\n if (allApps) {\n appTilesTitle.forEach((c) => {\n const selectedTile = this.findAppTileWithKey(allApps, 'A_App_AppKey', c);\n if (selectedTile) {\n appTiles.push(selectedTile);\n }\n });\n this._updateAppTileFromNotification(allApps, appTiles);\n this._appTileGroupsSource.next(allApps);\n }\n }\n\n protected _updateAppTileFromNotification(allApps: MoForReportModel, appTiles: MetaobjectDataModel[]): void {\n if (!appTiles?.length) {\n return;\n }\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appTiles.map((c) => (c.AppTile?.Id ? c.AppTile?.Id : c.Id))],\n Method: 'RefreshAppTiles',\n SuccessFn: (result: MoForReportModel) => {\n result.MoDataList.forEach((c) => this.updateAppTile(allApps, c));\n this._appTileGroupsSource.next({ ...allApps });\n },\n FailFn: () => {}\n });\n }\n loadUserProfileImage(repIdProfileImage: string): void {\n if (!repIdProfileImage) {\n return;\n }\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [repIdProfileImage],\n Method: 'BarsaPortalGetProfileImage',\n SuccessFn: (url: string) => {\n this._userProfileImageUrl$.next(url);\n },\n FailFn: () => {}\n });\n }\n loadAppTileGroups(appTileGroup: MetaobjectDataModel): void {\n if (!appTileGroup || appTileGroup.$TilesLoaded) {\n return;\n }\n const allApps = this._appTileGroupsSource.getValue();\n if (allApps) {\n const selectedAppTilegroup = allApps?.MoDataList.find((c) => c.Id === appTileGroup.Id);\n if (selectedAppTilegroup) {\n this._loadAppTilesOfAppTileGroup(selectedAppTilegroup, allApps);\n selectedAppTilegroup.$Children?.forEach((subGroup) => {\n this._loadAppTilesOfAppTileGroup(subGroup, allApps);\n });\n }\n }\n }\n saveTilesStackContent(tilesStackContent: boolean): Promise<void> {\n const userPortalSettings = this._portalService.userPortalSettings['UserPortalSettings'];\n if (userPortalSettings == null) {\n return Promise.resolve();\n }\n userPortalSettings.TilesStackContent = tilesStackContent;\n userPortalSettings.$State = 'Modified';\n return this._saveUserPortalSettings(userPortalSettings).then(() =>\n this._portalService.setUserPortalSettings(userPortalSettings)\n );\n }\n\n loadUserPortalSettings(): Observable<any> {\n return this._portalService.getData('UserPortalSetting').pipe(\n concatMap((data) => {\n if (data) {\n return of(data);\n } else {\n return this.loadFromServerUserPortalSetting();\n }\n })\n );\n }\n refreshTile(appTile: MetaobjectDataModel): Promise<MetaobjectDataModel> {\n return new Promise<MetaobjectDataModel>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appTile.Id],\n Method: 'RefreshTile',\n SuccessFn: (newAppTile: MoForReportModel) => {\n if (newAppTile.MoDataList?.length) {\n resolve(newAppTile.MoDataList[0]);\n }\n reject(`refresh tile not found apptile width title: ${appTile.Title}`);\n },\n FailFn: () => {\n reject(null);\n }\n });\n });\n }\n loadFromServerUserPortalSetting(): Observable<MetaobjectDataModel> {\n return from(\n new Promise<UserPortalSettings>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [],\n Method: 'GetUserPortalSettings',\n SuccessFn: (userPortalSetting: MetaobjectDataModel) => {\n this._portalService.setData('UserPortalSetting', userPortalSetting);\n resolve(userPortalSetting);\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n );\n }\n toggleAppGroupSettingVisible(appGroup: MetaobjectDataModel): Observable<MetaobjectDataModel> {\n return from(\n new Promise<MetaobjectDataModel>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appGroup.Id],\n Method: 'ToggleAppTileGroupSettingVisible',\n SuccessFn: (appGroupSetting) => {\n this._updateAppTileGroupSettings(appGroup, appGroupSetting);\n resolve(appGroupSetting);\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n ).pipe(\n tap((appGroupSetting) => {\n this._updateAppGroupSetting(appGroup, appGroupSetting);\n })\n );\n }\n resetAppGroupSetting(appGroup: MetaobjectDataModel): Observable<MetaobjectDataModel> {\n return from(\n new Promise<MetaobjectDataModel>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appGroup.Id],\n Method: 'ResetAppTileGroupSettingVisible',\n SuccessFn: (appGroupSetting: MetaobjectDataModel) => {\n this._updateAppTileGroupSettings(appGroup, appGroupSetting);\n resolve(appGroupSetting);\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n ).pipe(\n tap((appGroupSetting) => {\n this._updateAppGroupSetting(appGroup, appGroupSetting);\n })\n );\n }\n\n deleteAppGroup(appGroup: MetaobjectDataModel): Observable<string> {\n return from(\n new Promise<string>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appGroup.Id],\n Method: 'DeleteAppGroup',\n SuccessFn: () => {\n resolve(appGroup.Id);\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n ).pipe(\n tap((appGroupId) => {\n const allApps = this.appTileGroups;\n if (allApps) {\n allApps.MoDataList = allApps.MoDataList.filter((c) => c.Id !== appGroupId);\n this._appTileGroupsSource.next(allApps);\n }\n })\n );\n }\n changeAppTileSetting(appTile: MetaobjectDataModel): Observable<MetaobjectDataModel | null> {\n const allApps = this.appTileGroups;\n const selectedGroup = this.findGroupWithAppTileId(allApps, appTile.Id);\n if (selectedGroup === null) {\n return of(null);\n }\n return from(\n new Promise<MetaobjectDataModel>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [selectedGroup.Id, appTile.Id, appTile.Title, appTile.Subtitle],\n Method: 'ChangeAppTileSetting',\n SuccessFn: (settings) => {\n this._updateAppTileGroupSettings(selectedGroup, settings);\n this._nextAllAppTileGroups(allApps);\n resolve(selectedGroup);\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n );\n }\n\n saveAppGroupOrders(appGroups: MetaobjectDataModel[]): Observable<void> {\n const groupOrders = appGroups.map((c) => c.Id);\n return from(\n new Promise<void>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [groupOrders],\n Method: 'ChangeOrderAppTileGroups',\n SuccessFn: () => {\n resolve();\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n ).pipe();\n }\n\n createAppGroup(title: string): Observable<MetaobjectDataModel> {\n return from(\n new Promise<MetaobjectDataModel>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [title],\n Method: 'CreateAppTileGroup',\n SuccessFn: (mo: MetaobjectDataModel) => {\n resolve(mo);\n },\n FailFn: () => {\n reject(null);\n }\n });\n })\n ).pipe(tap((mo) => this.addAppGroup(mo)));\n }\n\n saveOrderAppTiles(\n appGroup: MetaobjectDataModel,\n appTiles: number[],\n isActionLink = false,\n appTileIdTransferedId: string = '0'\n ): void {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appGroup.Id, appTiles, isActionLink, appTileIdTransferedId],\n Method: 'ChangeOrderAppTiles',\n SuccessFn: () => {},\n FailFn: () => {}\n });\n }\n\n updateAppTile(allApps: MoForReportModel | null, appTile: MetaobjectDataModel): void {\n if (!allApps) {\n return;\n }\n const selectedAppTile = this.findAppTileWithKey(\n allApps,\n 'A_App_Component.Settings.Id',\n appTile.A_App_Component.Settings.Id\n );\n if (selectedAppTile) {\n BarsaApi.Common.Merger.FastMerge(\n selectedAppTile.A_App_Component.Settings,\n appTile.A_App_Component.Settings\n );\n this._componentSettings$.next(selectedAppTile.A_App_Component.Settings);\n }\n }\n updataAppTileSetting(selectedGroup: MetaobjectDataModel, appGroupSetting: MetaobjectDataModel): void {\n const allApps = this.appTileGroups;\n allApps?.MoDataList.forEach((appGroup) => {\n if (appGroup.Id === selectedGroup.Id) {\n appGroup.UserAppTileGroupSetting = appGroupSetting;\n }\n });\n this._appTileGroupsSource.next(allApps);\n }\n\n addAppGroup(mo: MetaobjectDataModel): void {\n const allApps = this.appTileGroups;\n if (allApps) {\n allApps.MoDataList.push(mo);\n this._appTileGroupsSource.next(allApps);\n }\n }\n\n singlePinTileChanged(appTileId): Observable<boolean> {\n const allApps = this.appTileGroups;\n const group = this.findGroupWithAppTileId(allApps, appTileId);\n if (group === null) {\n return of(false);\n }\n return from(\n new Promise<boolean>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [group.Id, appTileId],\n Method: 'RemoveAppTileFromTileGroup',\n SuccessFn: (setting) => {\n this._updateAppTileGroupSettings(group, setting);\n this._nextAllAppTileGroups(allApps);\n resolve(true);\n },\n FailFn: () => {\n reject(false);\n }\n });\n })\n );\n }\n pinTileChanged(appTileGroupsPin: AppTileGroupPin[], app: MetaobjectDataModel, callback): void {\n const allApps = this.appTileGroups;\n const visible = appTileGroupsPin.map((c) => c.visible);\n const groupChanges = appTileGroupsPin.map(\n (c) =>\n new BarsaApi.Common.MetaObjectWeb({\n Id: c.appTileGroup.Id,\n TypeDefId: allApps?.TypeDefId\n })\n );\n\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [groupChanges, visible, app.Id],\n Method: 'TilePinChanged',\n SuccessFn: (settings) => {\n this._tilePinChange(appTileGroupsPin, allApps);\n callback(settings);\n },\n FailFn: () => {\n // TODO show error\n }\n });\n }\n _tilePinChange(appTileGroupsPin, allApps): void {\n for (const appTileGroupPin of appTileGroupsPin) {\n let selectedAppGroup;\n const appGroupId = appTileGroupPin.appTileGroup.Id;\n allApps?.MoDataList.forEach((c) => {\n if (c.Id === appGroupId) {\n selectedAppGroup = c;\n } else if (!selectedAppGroup) {\n selectedAppGroup = c.$Children?.find((child) => child.Id === appGroupId);\n }\n });\n if (selectedAppGroup && selectedAppGroup.$TilesLoaded) {\n // let moDataList = selectedAppGroup.AppTiles.MoDataList;\n // if (appTileGroups[i].visible)\n // selectedAppGroup.AppTiles.MoDataList = [...moDataList, settings[i]];\n // else\n // selectedAppGroup.AppTiles.MoDataList = moDataList.filter(\n // (c) => c.App.Id !== app.Id\n // );\n this._loadAppTilesOfAppTileGroup(selectedAppGroup, allApps);\n }\n }\n this._nextAllAppTileGroups(allApps);\n }\n\n loadShellbar(): void {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [BarsaApi.LoginFormData.PortalId],\n Method: 'LoadShellbarByPortalId',\n SuccessFn: (shellbar: MetaobjectDataModel): void => {\n this.shellbarSource.next(shellbar);\n },\n FailFn: (): void => {\n // TODO show error\n }\n });\n\n // this._portalService\n // .ReportExecutePromise('Shellbar')\n // .then((moForReportModel) => this.shellbarSource.next(moForReportModel.MoDataList[0]));\n }\n\n loadAllAppTileGroups(): void {\n this._portalService\n .ReportExecute('AllAppTileGroups')\n .subscribe((allApps) => this._nextAllAppTileGroups(allApps));\n }\n _setTileInfo(appTile): void {\n {\n const title = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Title', null);\n appTile.TileTitle = !appTile.Title ? title : appTile.Title;\n const subtitle = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Subtitle', null);\n appTile.Subtitle = !appTile.Subtitle ? subtitle : appTile.Subtitle;\n }\n }\n\n getTileGroups(): MoForReportModel | null {\n return this._appTileGroupsSource.getValue();\n }\n\n setEditHome(edit: boolean): void {\n this._edithomeSource.next(edit);\n }\n private _allAppsLoaded(moForReportModel: MoForReportModel): void {\n moForReportModel.MoDataList.forEach((c) => {\n this._prepareNavigator(c);\n });\n this._setHomeAppTileGroups(moForReportModel.MoDataList);\n }\n private _loadAppTilesOfAppTileGroup(selectedAppTilegroup: MetaobjectDataModel, allApps: any): void {\n const callback = (): void => {\n this._nextAllAppTileGroups(allApps);\n };\n if (!selectedAppTilegroup.UserAppTileGroupSetting) {\n this._loadAppTilesByAppTileGroup(selectedAppTilegroup, callback);\n } else {\n this._loadAppTilesByAppTileGroupSetting(selectedAppTilegroup, callback);\n }\n }\n private _loadAppTilesByAppTileGroup(appGroup: MetaobjectDataModel, callback: () => void): void {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appGroup.Id],\n Method: 'LoadAllAppTilesByAppTileGroup',\n SuccessFn: (appTiles: MoForReportModel): void => {\n this._updateAppTilesOfAppTileGroup(appGroup, appTiles);\n callback();\n },\n FailFn: (): void => {\n // TODO show error\n }\n });\n }\n private _updateAppTilesOfAppTileGroup(selectedAppTilegroup: MetaobjectDataModel, appTiles: MoForReportModel): void {\n if (this.appTileGroups) {\n selectedAppTilegroup = { ...selectedAppTilegroup, $TilesLoaded: true };\n appTiles.MoDataList.forEach((element) => {\n element.Component = element.A_App_Component ?? element.A_AppTile_App_Component;\n element.DynamicCommand = element.A_App_DynamicCommand ?? element.A_AppTile_App_DynamicCommand;\n element.Predefined = element.Predefined ?? element.A_AppTile_Predefined;\n });\n const apptileGroupIndex = this.appTileGroups?.MoDataList.findIndex(\n (c) => c.Id === selectedAppTilegroup.Id || c.Id === selectedAppTilegroup.$ParentId\n );\n selectedAppTilegroup.AppTiles = appTiles;\n const tileGroup = this.appTileGroups.MoDataList[apptileGroupIndex];\n if (selectedAppTilegroup.$ParentId) {\n if (tileGroup.$Children) {\n const idOfSubGroup = tileGroup.$Children.findIndex((c) => c.Id === selectedAppTilegroup.Id);\n tileGroup.$Children[idOfSubGroup] = selectedAppTilegroup;\n }\n this.appTileGroups.MoDataList[apptileGroupIndex] = { ...tileGroup };\n } else {\n this.appTileGroups.MoDataList[apptileGroupIndex] = selectedAppTilegroup;\n }\n }\n }\n private _loadAppTilesByAppTileGroupSetting(appTileGroup: MetaobjectDataModel, callback: () => void): void {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [appTileGroup.Id],\n Method: 'LoadAllAppTilesByUserAppTileGroupSettings',\n SuccessFn: (appTiles: MoForReportModel) => {\n this._updateAppTilesOfAppTileGroup(appTileGroup, appTiles);\n callback();\n },\n FailFn: () => {\n // TODO show error\n }\n });\n }\n\n private _nextAllAppTileGroups(newAllApps: MoForReportModel | null = null): void {\n const allApps = newAllApps ?? this._appTileGroupsSource.getValue();\n this._appTileGroupsSource.next(allApps ? { ...allApps } : null);\n }\n private _setHomeAppTileGroups(appGroups: MetaobjectDataModel[]): void {\n let newAppGroups = [...appGroups];\n newAppGroups = newAppGroups\n .filter((c) => c.Visible)\n .sort((a, b) => Number(a.navigatorOrderItem) - Number(b.navigatorOrderItem));\n this._homeAppTileGroupsSource.next(newAppGroups);\n }\n private _saveUserPortalSettings(userPortalSettings: UserPortalSettings): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [new BarsaApi.Common.MetaObjectWeb(userPortalSettings)],\n Method: 'SaveUserPortalSettings',\n SuccessFn: () => {\n resolve();\n },\n FailFn: () => {\n reject(null);\n }\n });\n });\n }\n\n private _updateAppGroupSetting(appGroup: MetaobjectDataModel, appGroupSetting: MetaobjectDataModel): void {\n const allApps = this.appTileGroups;\n const selectedAppGroup = allApps?.MoDataList.find((c) => c.Id === appGroup.Id);\n if (selectedAppGroup && allApps) {\n selectedAppGroup.UserAppTileGroupSetting = appGroupSetting;\n this._nextAllAppTileGroups(allApps);\n }\n }\n private findAppTileWithKey(allApps: MoForReportModel, key: string, value: any): MetaobjectDataModel | null {\n let selectedTile;\n if (typeof value === 'string') {\n value = BarsaApi.Common.Util.ReplaceArabicCharchter(value);\n }\n if (!allApps) {\n return null;\n }\n allApps.MoDataList.forEach((appGroup) => {\n if (selectedTile) {\n return;\n }\n selectedTile = appGroup.navigatorTiles.find(\n (c) => BarsaApi.Common.Util.TryGetValue(c, key, null) === value\n );\n appGroup.$Children?.forEach((subGroup) => {\n if (selectedTile) {\n return;\n }\n selectedTile = subGroup.navigatorTiles.find(\n (c) => BarsaApi.Common.Util.TryGetValue(c, key, null) === value\n );\n });\n });\n return selectedTile;\n }\n private findGroupWithAppTileId(allApps, appTileId: string): MetaobjectDataModel | null {\n let selectedGroup;\n\n if (!allApps) {\n return null;\n }\n allApps.MoDataList.forEach((appGroup) => {\n if (selectedGroup) {\n return;\n }\n if (appGroup.navigatorTiles.some((appTile) => appTile.Id === appTileId)) {\n selectedGroup = appGroup;\n return;\n }\n appGroup.$Children?.forEach((subGroup) => {\n if (subGroup.navigatorTiles.some((appTile) => appTile.Id === appTileId)) {\n selectedGroup = subGroup;\n return;\n }\n });\n });\n return selectedGroup;\n }\n private _findGroupWithAppGroupId(allApps, appGroupId: string): MetaobjectDataModel | null {\n let selectedGroup;\n\n if (!allApps) {\n return null;\n }\n allApps.MoDataList.forEach((appGroup) => {\n if (selectedGroup) {\n return;\n }\n if (appGroup.Id === appGroupId) {\n selectedGroup = appGroup;\n return;\n }\n appGroup.$Children?.forEach((subGroup) => {\n if (subGroup.Id === appGroupId) {\n selectedGroup = subGroup;\n return;\n }\n });\n });\n return selectedGroup;\n }\n\n private _updateAppTileGroupSettings(\n appTileGroup: MetaobjectDataModel,\n setting: MetaobjectDataModel\n ): MetaobjectDataModel {\n appTileGroup.UserAppTileGroupSetting = setting;\n\n appTileGroup.AppTiles.MoDataList.forEach((e, i) => {\n const ex = setting.UserAppTilesSetting.MoDataList.find((c) => c.Id === e.Id);\n if (ex) {\n appTileGroup.AppTiles.MoDataList[i] = { ...appTileGroup.AppTiles.MoDataList[i], ...ex };\n }\n });\n this._prepareNavigator(appTileGroup);\n // this._nextAllAppTileGroups();\n return appTileGroup;\n }\n\n private _prepareNavigator(appTileGroup: MetaobjectDataModel): void {\n appTileGroup.$TileSettingChanged = false;\n appTileGroup.$Disabledpin = false;\n appTileGroup.navigatorTitle = BarsaApi.Common.Util.TryGetValue(\n appTileGroup,\n 'UserAppTileGroupSetting.Title',\n appTileGroup.Title\n );\n appTileGroup.navigatorTitle = appTileGroup.navigatorTitle =\n appTileGroup.navigatorTitle === '' ? appTileGroup.Title : appTileGroup.navigatorTitle;\n appTileGroup.navigatorTitle = this._bbbTranslatePipe.transform(appTileGroup.navigatorTitle);\n const orderItem = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.OrderItem', null);\n if (orderItem !== null) {\n appTileGroup.navigatorOrderItem = orderItem;\n } else {\n appTileGroup.navigatorOrderItem = appTileGroup.OrderItem;\n }\n\n const visible = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.Visible', null);\n if (visible !== null) {\n appTileGroup.navigatorVisible = visible;\n } else {\n appTileGroup.navigatorVisible = appTileGroup.Visible;\n }\n\n const appTiles = appTileGroup.AppTiles?.MoDataList ?? [];\n\n appTileGroup.navigatorTiles = appTiles\n .filter((c) => c.Visible && !c.IsActionLink)\n .sort((a, b) => Number(a.OrderItem) - Number(b.OrderItem));\n appTileGroup.navigatorActionLinks = appTiles\n .filter((c) => c.Visible && c.IsActionLink)\n .sort((a, b) => Number(a.OrderItemActionLink) - Number(b.OrderItemActionLink));\n appTileGroup.navigatorTiles.forEach((appTile) => this._setTileInfo(appTile));\n appTileGroup.navigatorActionLinks.forEach((appTile) => this._setTileInfo(appTile));\n\n appTileGroup.$Children?.forEach((subAppTileGroup) => {\n this._prepareNavigator(subAppTileGroup);\n });\n }\n}\ninterface PinTileInfo {\n groups: MetaobjectDataModel[];\n visible: boolean[];\n tileId: string;\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnInit, Renderer2 } 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})\r\nexport abstract class BaseTileComponent<T extends BaseTileSetting> extends TilePropsComponent implements OnInit {\r\n constructor(\r\n public el: ElementRef,\r\n protected _renderer2: Renderer2,\r\n protected _cdr: ChangeDetectorRef,\r\n protected _tilesService: TilesService\r\n ) {\r\n super(el, _renderer2, _cdr);\r\n }\r\n get settings(): T {\r\n const data = this.data?.Component?.Settings;\r\n return data ? data : this.parameters;\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})\r\nexport abstract class BaseBtTileComponent<T extends BaseTileSetting> extends BaseTileComponent<T> implements OnInit {\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';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\nimport { AppTileFooterSection } from '../models';\n@Component({\n selector: 'bt-footer-tile,div[bt-footer-tile]',\n templateUrl: './footer-tile.component.html',\n styleUrls: ['./footer-tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FooterTileComponent extends BaseComponent {\n @Input() firstSection: AppTileFooterSection;\n @Input() secondSection: AppTileFooterSection;\n @Input() twoColumn: boolean;\n}\n","@if (twoColumn) {\n<div fd-tile-section>\n <fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\n <span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\n</div>\n<div fd-tile-section>\n <fd-icon fd-tile-refresh [font]=\"secondSection.Icon | sapFont\" [glyph]=\"secondSection.Icon\"></fd-icon>\n <span fd-tile-footer-text>{{ secondSection.Text | bbbTranslate }}</span>\n</div>\n} @else {\n<fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\n<span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\n}\n","import { Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { BaseDirective } from 'barsa-novin-ray-core';\n\n@Directive({\n selector: '[tileStyle]'\n})\nexport class TileStyleDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy {\n @Input() backColor: string;\n\n constructor(private _renderer2: Renderer2, protected _el: ElementRef) {\n super(_el);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n const firstChild = this._el.nativeElement.firstChild;\n if (this.backColor && firstChild) {\n this._renderer2.setStyle(firstChild, 'background-color', `${this.backColor}`);\n this._renderer2.addClass(firstChild, 'customColor');\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, HostListener, inject, Input, TemplateRef } from '@angular/core';\nimport { BarsaApi, PreventDefaulEvent, TilePropsComponent, LocalStorageService } from 'barsa-novin-ray-core';\nimport { AppTileFooter } from '../models';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'bt-tile',\n templateUrl: './tile.component.html',\n styleUrls: ['./tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TileComponent extends TilePropsComponent {\n @Input() type: 'feed' | 'launch' | 'kpi';\n @Input() footerTemplate: TemplateRef<any>;\n @Input() footer: AppTileFooter;\n @Input() disableClick: boolean;\n @Input() title: string;\n @Input() icon: string;\n @Input() subtitle: string;\n @Input() isDouble: boolean;\n @Input() edit: boolean;\n @Input() backColor: string;\n @Input() dynamicCommand: any;\n @Input() hideHeader: boolean;\n @Input() setToStorage: boolean;\n @Input() listMode: boolean;\n @Input() navigateBackOnClick: boolean;\n _localStorage = inject(LocalStorageService);\n _router = inject(Router);\n runningCommand = false;\n @HostListener('click', ['$event'])\n onClick(ev): boolean {\n if (this.edit || this.disableClick || this.runningCommand || !this.dynamicCommand) {\n return false;\n }\n PreventDefaulEvent(ev);\n if (this.setToStorage) {\n this._localStorage.setItem('ActiveTile', this.title);\n }\n const command = this.dynamicCommand;\n const e = { command, DynamicSetting: null };\n this.runningCommand = true;\n if (this.navigateBackOnClick) {\n this._router.navigate(['../']);\n setTimeout(() => {\n this.executeCommand(command, e);\n });\n return true;\n }\n\n return this.executeCommand(command, e);\n }\n private executeCommand(command: any, e: { command: any; DynamicSetting: null }): boolean {\n this._cdr.detectChanges();\n BarsaApi.Common.CustomCodeManager.RunDynamicCommand(command.Id, e, (res) => {\n this.runningCommand = false;\n if (res && typeof res.Detail !== 'undefined') {\n BarsaApi.Bw.Msg.Error(res.message || res.Text);\n }\n this._cdr.detectChanges();\n });\n return false;\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n }\n}\n","@if(!listMode) {\n<fd-tile [type]=\"type\" [double]=\"isDouble\" [action]=\"edit\" tileStyle [backColor]=\"backColor\" [size]=\"'s'\">\n @if (edit && !data.Locked) {\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\n } @if (edit && !data.Locked) {\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\n } @if(!hideHeader){\n <div fd-tile-header>\n <h1 fd-tile-title>\n {{ title | bbbTranslate }}\n </h1>\n <h2 fd-tile-subtitle>\n {{ subtitle | bbbTranslate }}\n </h2>\n </div>\n }\n <ng-content></ng-content>\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\n</fd-tile>\n}@else{\n<span fd-list-title> {{ title | bbbTranslate }} </span>\n<span fd-list-secondary> {{ subtitle | bbbTranslate }} </span>\n@if(icon){ <i fd-list-icon [glyph]=\"icon\"></i>} }\n<ng-template #defaultFooter>\n @if (footer) {\n <div\n fd-tile-footer\n bt-footer-tile\n [secondSection]=\"footer.SecondSection\"\n [twoColumn]=\"footer.twoColumn\"\n [firstSection]=\"footer.FirstSection\"\n ></div>\n\n }\n</ng-template>\n<fd-menu #menu>\n <li fd-menu-item>\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\n </a>\n </li>\n</fd-menu>\n@if (runningCommand) {\n<bsu-mask></bsu-mask>\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MetaobjectDataModel, BarsaApi } from 'barsa-novin-ray-core';\n\n@Pipe({\n name: 'tileProp'\n})\nexport class TilePropPipe implements PipeTransform {\n transform(data: any, prop: string, parameters?: MetaobjectDataModel): string | any {\n if (data) {\n if (prop === 'Title') {\n let val = data.TileTitle;\n if (!val) {\n val = BarsaApi.Common.Util.TryGetValue(data, 'Component.Settings.TileSetting.Title', '');\n }\n if (!val) {\n val = BarsaApi.Common.Util.TryGetValue(data, 'Title', '');\n }\n return val;\n }\n if (prop === 'Subtitle') {\n let val = data.Subtitle;\n if (!val) {\n val = BarsaApi.Common.Util.TryGetValue(data, 'Component.Settings.TileSetting.Subtitle', '');\n }\n if (!val) {\n val = BarsaApi.Common.Util.TryGetValue(data, 'Subtitle', '');\n }\n return val;\n }\n if (prop === 'DynamicCommand') {\n return data['DynamicCommand'];\n }\n if (data.Component && data.Component.Settings) {\n const val = data.Component.Settings.TileSetting[prop];\n if (typeof val === 'undefined') {\n return data.Component.Settings[prop];\n }\n return val;\n }\n return '';\n }\n return parameters ? parameters.TileSetting[prop] : '';\n }\n}\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})\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\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [deviceSize]=\"deviceSize\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n [disableClick]=\"true\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n>\n <div fd-tile-content>\n @if (params) {\n <bnrc-form [params]=\"params\"></bnrc-form>\n }\n </div>\n</bt-tile>\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})\r\nexport class ActionItemComponent extends TileComponent {}\r\n","<div [class.action-item-edit-mode]=\"edit\" class=\"action-item s\">\n @if (icon) {\n <fd-icon [glyph]=\"icon\"></fd-icon>\n }\n <h1 fd-tile-title>{{ title }}</h1>\n\n @if (subtitle) {\n <h2 fd-tile-subtitle>{{ subtitle }}</h2>\n } @if (edit && !data.Locked) {\n <div class=\"buttons\">\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\n </div>\n }\n <fd-menu #menu>\n <li fd-menu-item>\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\n </a>\n </li>\n </fd-menu>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\n\nimport { AbbrevationDeviceSize, getDeviceIsMobile, BaseComponent } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bt-actions-link',\n templateUrl: './actions-link.component.html',\n styleUrls: ['./actions-link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ActionsLinkComponent extends BaseComponent implements OnChanges {\n @HostBinding('class.hide') hide;\n @Input() actionsLink;\n @Input() edit: boolean;\n @Input() deviceSize: AbbrevationDeviceSize;\n\n @HostBinding('class') _class = '';\n /**\n *\n */\n isMobile = getDeviceIsMobile();\n constructor(protected _cdr: ChangeDetectorRef) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.hide = this.actionsLink?.length === 0;\n this._class = 's';\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { actionsLink } = changes;\n if (actionsLink && !actionsLink.firstChange) {\n this.hide = actionsLink.currentValue?.length === 0;\n this._cdr.detectChanges();\n }\n }\n}\n","@for (actionItem of actionsLink; track actionItem) {\n<bt-action-item\n cdkDrag\n [data]=\"actionItem\"\n [edit]=\"edit\"\n [title]=\"actionItem | tileProp: 'Title'\"\n [subtitle]=\"actionItem | tileProp: 'Subtitle'\"\n [dynamicCommand]=\"actionItem | tileProp: 'DynamicCommand'\"\n [isDouble]=\"actionItem | tileProp: 'IsDouble'\"\n [footer]=\"actionItem | tileProp: 'Footer'\"\n [icon]=\"actionItem | tileProp: 'Icon'\"\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\n [mo]=\"actionItem\"\n [class.isMobile]=\"isMobile\"\n>\n</bt-action-item>\n}\n","import {\n ChangeDetectorRef,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewContainerRef\n} from '@angular/core';\nimport { BaseDirective, PortalService } from 'barsa-novin-ray-core';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseTileComponent, BaseTileSetting } from './models';\nimport { AbbrevationDeviceSize } from 'barsa-novin-ray-core';\n\n@Directive({\n selector: '[tileRenderer]'\n})\nexport class TileRendererDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy {\n @Input() component: {\n Module: string;\n ModuleFileName: string;\n Name: string;\n Selector: string;\n };\n @Input() data: BaseTileSetting;\n @Input() edit: boolean;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() setToStorage: boolean;\n @Input() listMode: boolean;\n @Input() navigateBackOnClick: boolean;\n @Output() hideClick = new EventEmitter();\n @Output() renameClick = new EventEmitter();\n private _tileRef: ComponentRef<BaseTileComponent<BaseTileSetting>>;\n constructor(\n private _cdr: ChangeDetectorRef,\n private _portalService: PortalService,\n private _vcr: ViewContainerRef,\n private _injector: Injector,\n protected _el: ElementRef\n ) {\n super(_el);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n if (!this.component) {\n return;\n }\n const { Module, ModuleFileName, Name, Selector } = this.component;\n this._portalService\n .getComponent(Module, ModuleFileName, Name, Selector, this._injector)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((componentRef: ComponentRef<BaseTileComponent<BaseTileSetting>>) => {\n const instance = componentRef.instance;\n instance.data = this.data;\n instance.edit = this.edit;\n instance.deviceSize = this.deviceSize;\n instance.setToStorage = this.setToStorage;\n instance.listMode = this.listMode;\n instance.navigateBackOnClick = this.navigateBackOnClick;\n instance.hideClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this.hideClick.emit();\n });\n instance.renameClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => this.renameClick.emit());\n this._vcr.insert(componentRef.hostView);\n this._tileRef = componentRef;\n // this._cdr.detectChanges();\n });\n }\n ngOnChanges(changes: SimpleChanges): void {\n const { edit } = changes;\n if (edit && !edit.firstChange) {\n this._tileRef.instance.setEditHome(edit.currentValue);\n }\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this._tileRef) {\n this._tileRef.destroy();\n }\n }\n}\n","import { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output } from '@angular/core';\n\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\n\n@Component({\n selector: 'bt-tiles-viewer-group',\n templateUrl: './tiles-viewer-group.component.html',\n styleUrls: ['./tiles-viewer-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TilesViewerGroupComponent extends BaseComponent {\n @Input() appTileGroup: MetaobjectDataModel;\n @Input() stackContent: boolean;\n @Input() edit: boolean;\n @Input() rtl: boolean;\n @Input() isAppTileSubGroup: boolean | undefined;\n @Input() deviceSize: AbbrevationDeviceSize;\n\n @Output() tilesDropped = new EventEmitter<{\n appTileGroup: MetaobjectDataModel;\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>;\n }>();\n @Output() hideAppTileClick = new EventEmitter<MetaobjectDataModel>();\n @Output() renameAppTileClick = new EventEmitter<MetaobjectDataModel>();\n @Output() toggleGroup = new EventEmitter<MetaobjectDataModel>();\n @Output() resetGroup = new EventEmitter<MetaobjectDataModel>();\n @Output() deleteGroup = new EventEmitter<MetaobjectDataModel>();\n\n marginRightTile: number | null = null;\n constructor(protected _el: ElementRef) {\n super();\n }\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n if (this.deviceSize === 's') {\n const t = document.body.clientWidth % 154;\n this.marginRightTile = t / 3;\n }\n }\n\n onDrop(\n appTileGroup: MetaobjectDataModel,\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>\n ): void {\n if (!this.edit || appTileGroup.Locked) {\n return;\n }\n this.tilesDropped.emit({ appTileGroup, event });\n }\n onAppTileHideClick(appTile: MetaobjectDataModel): void {\n this.hideAppTileClick.emit(appTile);\n }\n onAppTileRenameClick(appTile: MetaobjectDataModel): void {\n this.renameAppTileClick.emit(appTile);\n }\n onDelete(appTileGroup: MetaobjectDataModel): void {\n this.deleteGroup.emit(appTileGroup);\n }\n\n onToggleShowHide(appTileGroup: MetaobjectDataModel): void {\n this.toggleGroup.emit(appTileGroup);\n }\n\n onReset(appTileGroup: MetaobjectDataModel): void {\n this.resetGroup.emit(appTileGroup);\n }\n}\n","<fd-layout-panel\n [fixed]=\"true\"\n [attr.editHome]=\"edit\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || !stackContent\"\n [class.empty-tiles-group]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\n>\n @if (edit || stackContent || isAppTileSubGroup) {\n <fd-layout-panel-header>\n <fd-layout-panel-head>\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h5>\n </fd-layout-panel-head>\n @if (edit) {\n <fd-layout-panel-actions class=\"group-btns\">\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\n <button\n fd-button\n fd-toolbar-item\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\n (click)=\"onToggleShowHide(appTileGroup)\"\n ></button>\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\n } @if (!appTileGroup.Predefined) {\n <button\n fd-button\n [label]=\"'Delete' | bbbTranslate\"\n [fdType]=\"'negative'\"\n (click)=\"onDelete(appTileGroup)\"\n ></button>\n }\n </fd-toolbar>\n </fd-layout-panel-actions>\n }\n </fd-layout-panel-header>\n }\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\n <div\n class=\"tile-wrapper\"\n [ngClass]=\"{ rtl: rtl, ltr: !rtl, s: deviceSize === 's' }\"\n fd-panel-content\n #tiles=\"cdkDropList\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListConnectedTo]=\"actionLinks\"\n [cdkDropListData]=\"{\n isTile: true,\n items: appTileGroup.navigatorTiles || []\n }\"\n >\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\n <h5 fd-title></h5>\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\n <div\n [class.edit-home]=\"edit\"\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\n >\n <span\n [dynamicCommand]=\"appTile.DynamicCommand\"\n [setToStorage]=\"true\"\n [enableCommand]=\"!edit && appTile.Component\"\n tileRenderer\n [deviceSize]=\"deviceSize\"\n [data]=\"appTile\"\n [edit]=\"edit\"\n [component]=\"appTile.Component\"\n (hideClick)=\"onAppTileHideClick(appTile)\"\n (renameClick)=\"onAppTileRenameClick(appTile)\"\n ></span>\n </div>\n } @if (edit) {\n <fd-tile class=\"add-tile\" [routerLink]=\"['/home/appfinder']\">\n <div style=\"margin: 0\">\n <fd-icon glyph=\"add\"></fd-icon>\n </div>\n </fd-tile>\n }\n </div>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<bt-actions-link\n [class.actions-link-edit-home]=\"edit\"\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\n [edit]=\"edit\"\n [deviceSize]=\"deviceSize\"\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\n cdkDropList\n #actionLinks=\"cdkDropList\"\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListConnectedTo]=\"tiles\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListData]=\"{\n isTile: false,\n items: appTileGroup.navigatorActionLinks || []\n }\"\n>\n</bt-actions-link>\n@for (appTileSubGroup of appTileGroup.$Children; track appTileSubGroup) {\n<bt-tiles-viewer-group\n [class]=\"deviceSize\"\n [appTileGroup]=\"appTileSubGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"true\"\n [deviceSize]=\"deviceSize\"\n (tilesDropped)=\"tilesDropped.emit($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n></bt-tiles-viewer-group>\n}\n","import { Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef } from '@angular/core';\r\n\r\nimport { BbbTranslatePipe } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n selector: '[emptyList]'\r\n})\r\nexport class EmptyListDirective {\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 constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private bbbPipe: BbbTranslatePipe\r\n ) {}\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})\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) {\n<h5 fd-title *emptyList=\"appGroup.Apps\"></h5>\n@if ((appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }).length > 0) {\n<fd-fixed-card-layout [disableDragDrop]=\"true\">\n @for (app of appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }; track app; let i = $index) {\n <fd-card *fdCardDef=\"i\">\n <fd-card-header [dynCommand]=\"app.DynamicCommand\" [mo]=\"app\">\n <fd-card-main-header>\n @if (app.Icon) {\n <fd-avatar [glyph]=\"app.Icon\" size=\"s\" [title]=\"app.Title\"></fd-avatar>\n }\n <h2 fd-card-title class=\"header-title\">\n {{ app.Title }}\n </h2>\n <h3 fd-card-subtitle></h3>\n </fd-card-main-header>\n </fd-card-header>\n <fd-card-content>\n <button\n fd-button\n [glyph]=\"'pushpin-off'\"\n [fdType]=\"\n pinnedAppInAppTileGroups[app.Id]\n ? pinnedAppInAppTileGroups[app.Id].length\n ? 'emphasized'\n : 'standard'\n : app.$HasPinned\n ? 'emphasized'\n : 'standard'\n \"\n (click)=\"onPinTap(app)\"\n ></button>\n </fd-card-content>\n </fd-card>\n }\n</fd-fixed-card-layout>\n} }\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})\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})\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\" [style.height]=\"contentHeight\">\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 } 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})\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 constructor(private fb: UntypedFormBuilder, public dialogRef: DialogRef, private bbbPipe: BbbTranslatePipe) {\r\n super();\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 } 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\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(private dialogService: DialogService, private tilesService: TilesService) {\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 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 loadAppGroup(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';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\n\nimport {\n BaseComponent,\n MetaobjectDataModel,\n BarsaApi,\n AbbrevationDeviceSize,\n SaveScrollPositionService,\n IntersectionStatus,\n fromIntersectionObserver\n} from 'barsa-novin-ray-core';\nimport { Nullable } from '@fundamental-ngx/core';\nimport { takeUntil } from 'rxjs';\nimport { IconTabBarComponent, IconTabBarItem, IconTabBarTabComponent, SemanticColor } from '@fundamental-ngx/platform';\n\n@Component({\n selector: 'bt-tiles-viewer',\n templateUrl: './tiles-viewer.component.html',\n styleUrls: ['./tiles-viewer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TilesViewerComponent extends BaseComponent implements OnInit {\n @ViewChild(IconTabBarComponent) tabListComponent: IconTabBarComponent;\n @ViewChild('contentPage', { static: true, read: ElementRef }) contentPageRef: ElementRef<any>;\n @HostBinding('class.page-content') pageContentClass = true;\n @Input() appTileGroups: Array<MetaobjectDataModel>;\n @Input() loading: boolean;\n @Input() edit: boolean;\n @Input() rtl: boolean;\n @Input() defaultTab: string;\n @Input() stackContent: boolean;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() selectedAppGroupId: string;\n @Input() hideTabs: boolean | undefined;\n @Input() DynamicComponents: any;\n\n @Output() stackContentChange = new EventEmitter<boolean>();\n @Output() closeEditHome = new EventEmitter();\n @Output() save = new EventEmitter();\n @Output() listDropped = new EventEmitter<{\n appTileGroups: MetaobjectDataModel[];\n event: CdkDragDrop<MetaobjectDataModel[]>;\n }>();\n @Output() tabChanged = new EventEmitter<{\n firstSelected: boolean;\n selectedTabTitle: string;\n tabPanels: IconTabBarTabComponent[];\n appTileGroups: MetaobjectDataModel[];\n tabbarComponent: IconTabBarComponent;\n }>();\n\n @Output() toggleGroup = new EventEmitter<MetaobjectDataModel>();\n @Output() resetGroup = new EventEmitter<MetaobjectDataModel>();\n @Output() deleteGroup = new EventEmitter<MetaobjectDataModel>();\n @Output() hideAppTileClick = new EventEmitter<MetaobjectDataModel>();\n @Output() renameAppTileClick = new EventEmitter<MetaobjectDataModel>();\n\n @Output() tilesDropped = new EventEmitter<{\n appTileGroup: MetaobjectDataModel;\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>;\n }>();\n\n @HostBinding('attr.rtl') _rtl = BarsaApi.LoginFormData.IsRtl;\n selectedTabTitle: Nullable<string>;\n selectedTabId: string;\n _tilesIntersection: any;\n formVisibilityStatus: IntersectionStatus;\n color: SemanticColor = 'informative';\n constructor(protected _cdr: ChangeDetectorRef, protected _saveScrollPosition: SaveScrollPositionService) {\n super();\n }\n id = 'tilesviewer';\n ngOnInit(): void {\n super.ngOnInit();\n\n if (this.contentPageRef) {\n const elDom = this.contentPageRef.nativeElement as HTMLElement;\n elDom.addEventListener('scroll', () => {\n this._saveScrollPosition.setScrollPosition(this.id, elDom.scrollTop);\n });\n this._tilesIntersection = fromIntersectionObserver(\n elDom,\n {\n root: null,\n rootMargin: '0px',\n threshold: 0\n },\n 0,\n false\n )\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((e) => {\n this._onInView(e);\n });\n }\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n if (this.tabListComponent) {\n this.tabListComponent._disableScrollSpy = true;\n }\n }\n onSelectedTabChange(selectedTab: IconTabBarItem): void {\n let firstSelected = false;\n if (!this.selectedTabTitle) {\n firstSelected = true;\n }\n const selectedTabTitle = (selectedTab.label as string) || '';\n this.selectedTabTitle = selectedTabTitle;\n if (firstSelected) {\n const tab = this.appTileGroups.find((c) => c.Id === this.defaultTab);\n if (tab) {\n if (!this.tabListComponent) {\n setTimeout(() => {\n this._selectTab(tab.Id);\n });\n } else {\n this._selectTab(tab.Id);\n }\n return;\n }\n }\n setTimeout(() => {\n this.tabChanged.emit({\n firstSelected,\n selectedTabTitle,\n tabPanels: this.tabListComponent.children() as any,\n appTileGroups: this.appTileGroups,\n tabbarComponent: this.tabListComponent\n });\n });\n }\n onDropGroup(appTileGroups: MetaobjectDataModel[], event: CdkDragDrop<MetaobjectDataModel[]>): void {\n if (!this.edit) {\n return;\n }\n this.listDropped.emit({ appTileGroups, event });\n }\n onDrop($event): void {\n this.tilesDropped.emit($event);\n }\n onStackContentChanged(checked): void {\n this.stackContentChange.emit(checked);\n }\n onExitEditHome(appGroups: MetaobjectDataModel[]): void {\n this.save.emit(appGroups);\n }\n onCloseEditHome(): void {\n this.closeEditHome.emit();\n }\n _trackById(index, item): string | number {\n return item ? item.Id : index;\n }\n protected _selectTab(tabId: string): void {\n if (this.tabListComponent) {\n this.tabListComponent.selectTab(tabId);\n }\n }\n protected _onInView(e): void {\n this.formVisibilityStatus = e;\n if (this.formVisibilityStatus === IntersectionStatus.Visible) {\n const scrollTop = this._saveScrollPosition.getScrollPosition(this.id);\n // window.scrollTo({ top: scrollTop, behavior: 'smooth' });\n (this.contentPageRef.nativeElement as HTMLElement).scrollTop = scrollTop;\n // this._cdr.detectChanges();\n }\n }\n}\n","<fd-dynamic-page size=\"large\" [autoResponsive]=\"true\" [class.hideTabs]=\"hideTabs\">\n <fd-dynamic-page-header [class.hide]=\"!edit\" [title]=\"'HomeEdit' | bbbTranslate\">\n <fd-dynamic-page-global-actions>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\n <fd-switch\n fd-toolbar-item\n [checked]=\"stackContent\"\n (checkedChange)=\"onStackContentChanged($event)\"\n ></fd-switch>\n </fd-toolbar>\n </fd-dynamic-page-global-actions>\n <fd-dynamic-page-layout-actions>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\n <i class=\"sap-icon--decline\"></i>\n </button>\n </fd-toolbar>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n\n <fdp-icon-tab-bar\n [stackContent]=\"stackContent\"\n maxContentHeight=\"auto\"\n ariaRoledescription=\"Tiles Container\"\n (iconTabSelected)=\"onSelectedTabChange($event)\"\n >\n @for (appTileGroup of appTileGroups; track _trackById(i, appTileGroup); let i = $index) { @if (edit ||\n appTileGroup.navigatorVisible) {\n\n <fdp-icon-tab-bar-tab\n [id]=\"appTileGroup.Id\"\n [color]=\"color\"\n [label]=\"appTileGroup.navigatorTitle | bbbTranslate\"\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\n >\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\" cdkScrollable>\n <bt-tiles-viewer-group\n [class]=\"deviceSize\"\n [appTileGroup]=\"appTileGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [deviceSize]=\"deviceSize\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"false || hideTabs\"\n (tilesDropped)=\"onDrop($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n ></bt-tiles-viewer-group>\n </fd-dynamic-page-content>\n </fdp-icon-tab-bar-tab>\n\n } }\n </fdp-icon-tab-bar>\n\n <fd-dynamic-page-footer>\n @if (edit) {\n <div fd-bar barDesign=\"footer\">\n <div fd-bar-right>\n <fd-button-bar\n [label]=\"'SaveAndClose' | bbbTranslate\"\n fdType=\"emphasized\"\n (click)=\"onExitEditHome(appTileGroups)\"\n ></fd-button-bar>\n </div>\n </div>\n }\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\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],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TilesViewerContainerComponent extends BaseComponent implements OnInit, OnDestroy {\r\n settings: TileViewerSettings;\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 constructor(\r\n protected _portalService: PortalService,\r\n protected _tilesService: TilesService,\r\n protected _tilesViewerService: TilesViewerService\r\n ) {\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 this.viewLoading$ = this._tilesViewerService.viewLoading$;\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._tilesService.loadAppTileGroups(c);\r\n });\r\n }\r\n });\r\n // setTimeout(() => {\r\n // this._router.navigate(\r\n // ['home', { outlets: { dialog: ['appgroupdialog', '_2tevxXK-rtcFnX_ZsfG1LX_VvR0K81'] } }],\r\n // { relativeTo: this._activatedRoute }\r\n // );\r\n // }, 3000);\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 }\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._tilesViewerService.loadAppGroup(appTileGroup);\r\n }\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 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 TileViewerSettings extends MetaobjectDataModel {\r\n HideTabs: boolean;\r\n}\r\n","@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\r\n<bt-tiles-viewer\r\n [class.edit]=\"(edit$ | async)!!\"\r\n [appTileGroups]=\"appTileGroups\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [hideTabs]=\"settings?.HideTabs\"\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} @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})\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\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [deviceSize]=\"deviceSize\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content>\n @if (double) {\n <be-micro-chart-bullet\n [target]=\"target\"\n [value]=\"value\"\n [range]=\"range\"\n [forecast]=\"forecast\"\n [isDelta]=\"isDelta\"\n [separatorLines]=\"separatorLines\"\n [suffix]=\"suffix\"\n >\n </be-micro-chart-bullet>\n }\n\n <be-micro-chart-bullet\n [target]=\"target\"\n [value]=\"value\"\n [range]=\"range\"\n [forecast]=\"forecast\"\n [isDelta]=\"double ? false : isDelta\"\n [separatorLines]=\"separatorLines\"\n [suffix]=\"suffix\"\n >\n </be-micro-chart-bullet>\n </div>\n</bt-tile>\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})\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\n [data]=\"data\"\n [type]=\"'launch'\"\n [footerTemplate]=\"newsFooter\"\n [edit]=\"edit\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [setToStorage]=\"setToStorage\"\n [deviceSize]=\"deviceSize\"\n [listMode]=\"listMode\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\n <span>\n {{ activeNews?.Text | bbbTranslate }}\n </span>\n\n <div class=\"wrapper-carousel\">\n <div class=\"cover\"></div>\n @if (slides.length > 1) {\n <button\n fd-button\n fdType=\"transparent\"\n [glyph]=\"isStop ? 'play' : 'pause'\"\n (click)=\"isStop = !isStop; $event.preventDefault(); $event.stopPropagation()\"\n ></button>\n }\n <fd-carousel\n carouselIndicatorsOrientation=\"top\"\n [slideTransitionDuration]=\"1000\"\n (slideChange)=\"slideChange($event)\"\n [loop]=\"true\"\n [navigation]=\"false\"\n [navigatorInPageIndicator]=\"false\"\n width=\"100%\"\n >\n @for (slide of slides; track slide) {\n <fd-carousel-item [value]=\"slide\">\n <img\n [src]=\"slide.Img ? (slide.Img.FileId | picFieldSrc: 'ID':null:slide.Img.FileId:335:170) : ''\"\n />\n </fd-carousel-item>\n }\n </fd-carousel>\n </div>\n </div>\n</bt-tile>\n\n<!-- tile footer-->\n<ng-template #newsFooter>\n <div fd-tile-footer [twoColumn]=\"twoColumn\" *untilInView=\"el\">\n @if (twoColumn) {\n <div fd-tile-section>\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\n </div>\n <div fd-tile-section>\n <span fd-tile-footer-text>{{ activeNews?.Footer2 | bbbTranslate }}</span>\n </div>\n } @else {\n <span fd-tile-footer-text>{{ activeNews?.Footer1 | bbbTranslate }}</span>\n }\n </div>\n</ng-template>\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})\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\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [deviceSize]=\"deviceSize\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content>\n <be-micro-chart-comparison [data]=\"chartData\" [size]=\"double ? 'l' : 's'\"></be-micro-chart-comparison>\n </div>\n</bt-tile>\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})\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})\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})\r\nexport class MicroTileChartCircularComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n chartData = 70;\r\n}\r\n","<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [deviceSize]=\"deviceSize\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content>\n <be-micro-chart-circular [data]=\"chartData\"></be-micro-chart-circular>\n </div>\n</bt-tile>\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})\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\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [deviceSize]=\"deviceSize\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content>\n <be-micro-chart-area\n [style.flex-direction]=\"double ? 'row' : 'column'\"\n [chartData]=\"chartData\"\n [size]=\"double ? 'l' : 's'\"\n ></be-micro-chart-area>\n </div>\n</bt-tile>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { BaseBtTileComponent, ChartTileSetting } from '../models';\n\n@Component({\n selector: 'bt-micro-tile-chart-bar',\n templateUrl: './micro-tile-chart-bar.component.html',\n styleUrls: ['./micro-tile-chart-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MicroTileChartBarComponent extends BaseBtTileComponent<ChartTileSetting> {}\n","<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [deviceSize]=\"deviceSize\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n [footerTemplate]=\"footerTpl\"\n [hideHeader]=\"true\"\n>\n <div fd-tile-content style=\"height: 100%; max-height: 100%\">\n @if(settings.ChartInstance?.Id){\n <be-micro-chart-bar\n [chartInstanceId]=\"settings.ChartInstance.Id\"\n [size]=\"double ? 'l' : 's'\"\n ></be-micro-chart-bar>\n }@else{\n <div>chart defined</div>\n }\n </div>\n</bt-tile>\n<ng-template #footerTpl></ng-template>\n","import { ChangeDetectionStrategy, Component, OnInit } 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})\r\nexport class CreateAppGroupComponent extends BaseComponent implements OnInit {\r\n title: string;\r\n appGroupForm: UntypedFormGroup;\r\n submitted: boolean;\r\n RequiredText: string;\r\n constructor(private fb: UntypedFormBuilder, public dialogRef: DialogRef, private bbbPipe: BbbTranslatePipe) {\r\n super();\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 });\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 } 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})\r\nexport class PinTileComponent extends BaseComponent implements OnInit {\r\n @Input() app: MetaobjectDataModel;\r\n @Input() appTileGroups: MetaobjectDataModel[];\r\n\r\n @Input() mobile: boolean;\r\n @Input() pin: boolean;\r\n newGroupDialogRef: DialogRef;\r\n 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 pinnedAppInTileGroups: {\r\n [key: string]: string[];\r\n };\r\n constructor(public _dialogService: DialogService, public _dialogRef: DialogRef, private bbbPipe: BbbTranslatePipe) {\r\n super();\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 } 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\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\r\n private _selectedAppGroupIdSource = new Subject<string>();\r\n private _pinnedAppInAppTileGroupsSource = new BehaviorSubject<{\r\n [key: string]: string[];\r\n }>({});\r\n constructor(private _portalService: PortalService, private _tileService: TilesService) {\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, ElementRef, OnInit } 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})\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 constructor(\r\n private _cdr: ChangeDetectorRef,\r\n private _dialogService: DialogService,\r\n private _appFinderService: AppFinderService,\r\n private _el: ElementRef,\r\n _contentDensityService: ContentDensityService\r\n ) {\r\n super();\r\n this.contentDensity$ = _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\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 } 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 [contentHeight]=\"contentHeight\"\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})\r\nexport class FooterEditTileComponent extends BaseComponent {}\r\n","<button fd-button [glyph]=\"'pushpin-off'\" fdType=\"\"></button>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { BaseBtTileComponent, NumericTileSetting } from '../models';\nimport { NumericContentState } from '@fundamental-ngx/core';\n@Component({\n selector: 'bt-numeric-tile',\n templateUrl: './numeric-tile.component.html',\n styleUrls: ['./numeric-tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NumericTileComponent extends BaseBtTileComponent<NumericTileSetting> {\n kpiStateIsColor = false;\n scalseStateIsColor = false;\n ngOnInit(): void {\n super.ngOnInit();\n switch (this.kpiState) {\n case 'positive':\n case 'negative':\n case 'informative':\n case 'critical':\n case 'neutral':\n break;\n default:\n this.kpiStateIsColor = this.kpiState !== '';\n break;\n }\n switch (this.scaleState) {\n case 'positive':\n case 'negative':\n case 'informative':\n case 'critical':\n case 'neutral':\n break;\n default:\n this.scalseStateIsColor = this.scaleState !== '';\n break;\n }\n }\n get launchIcon(): string {\n return this.settings.LaunchIcon;\n }\n get kpiState(): NumericContentState {\n return this.settings.ContentKpiState;\n }\n get kpi(): string {\n return this.settings.ContentKpi;\n }\n get scaleState(): NumericContentState {\n return this.settings.ScaleState;\n }\n get scaleText(): string {\n return this.settings.ScaleText;\n }\n get scaleArrowIcon(): string {\n return this.settings.ScaleArrowIcon;\n }\n}\n","<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [backColor]=\"backColor\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [deviceSize]=\"deviceSize\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content>\n <div fd-numeric-content>\n <div fd-numeric-content-launch-icon-container>\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\n </div>\n <div fd-numeric-content-kpi-container>\n <div fd-numeric-content-kpi [state]=\"kpiState\" [style.color]=\"kpiStateIsColor ? kpiState : null\">\n {{ kpi }}\n </div>\n </div>\n <div fd-numeric-content-scale-container style=\"padding-top: 0.2rem\">\n <div\n fd-numeric-content-scale\n [state]=\"scaleState\"\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\n >\n <span\n fd-numeric-content-scale-arrow\n [glyph]=\"scaleArrowIcon\"\n [class]=\"scaleArrowIcon | sapFontClass\"\n [style.color]=\"scalseStateIsColor ? scaleState : null\"\n ></span>\n <span fd-numeric-content-scale-text [style.color]=\"scalseStateIsColor ? scaleState : null\">{{\n scaleText\n }}</span>\n </div>\n </div>\n </div>\n </div>\n</bt-tile>\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})\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\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [deviceSize]=\"deviceSize\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [backColor]=\"backColor\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n>\n <div fd-tile-content>\n <img fd-tile-logo [src]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\" />\n </div>\n</bt-tile>\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})\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\n [data]=\"data\"\n [type]=\"'feed'\"\n [edit]=\"edit\"\n [backColor]=\"backColor\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content [twoColumn]=\"twoColumn\">\n @if (twoColumn) {\n <div fd-tile-section>\n <div fd-tile-content-text>{{ text | bbbTranslate }}</div>\n <div fd-tile-content-byline>{{ byline }}</div>\n </div>\n <div fd-tile-section>\n <div fd-numeric-content>\n <div fd-numeric-content-kpi-container>\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\n </div>\n </div>\n </div>\n } @else {\n <div fd-numeric-content>\n <div fd-numeric-content-kpi-container>\n <div fd-numeric-content-kpi [state]=\"state\">{{ kpi }}</div>\n </div>\n </div>\n }\n </div>\n</bt-tile>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\n\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\nimport { FilePictureInfoModel } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bt-simple-tile',\n templateUrl: './simple-tile.component.html',\n styleUrls: ['./simple-tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SimpleTileComponent extends BaseBtTileComponent<BaseTileSetting> implements OnInit {\n icon: string;\n iconCalc: string;\n iconColor: string;\n pictureIcon: FilePictureInfoModel;\n ngOnInit(): void {\n super.ngOnInit();\n this.icon = this.settings.Icon;\n this.pictureIcon = this.settings.PictureIcon;\n if (this.icon && this.icon.toLowerCase().startsWith('ih')) {\n this.iconCalc = this.icon;\n }\n this.iconColor = this.settings.IconColor;\n }\n}\n","<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [backColor]=\"backColor\"\n [deviceSize]=\"deviceSize\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content [class.picture-icon]=\"pictureIcon || iconCalc\">\n @if(pictureIcon || iconCalc){\n <span\n class=\"tile-picture-icon\"\n fd-tile-profile-img\n [backgroundImage]=\"iconCalc || (pictureIcon.FileId | picFieldSrc: 'GetPictureFromFileInfo':null)\"\n ></span>\n } @else if (icon) {\n <div class=\"fd-numeric-content__launch-icon-container\" style=\"justify-content: center\">\n <fd-icon\n class=\"fd-numeric-content__launch-icon\"\n fd-numeric-content-launch-icon\n [glyph]=\"icon\"\n [font]=\"icon | sapFont\"\n [style.color]=\"iconColor\"\n ></fd-icon>\n </div>\n }\n </div>\n</bt-tile>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { BaseBtTileComponent, ProfileTileSetting } from '../models';\nimport { FilePictureInfoModel } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bt-profile-tile',\n templateUrl: './profile-tile.component.html',\n styleUrls: ['./profile-tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProfileTileComponent extends BaseBtTileComponent<ProfileTileSetting> {\n icon: string;\n iconCalc: string;\n iconColor: string;\n calcImage: string;\n image: FilePictureInfoModel;\n fileId2: string;\n get fileId(): string {\n let fileId = this.settings?.Image?.FileId;\n if (!fileId) {\n fileId = this.settings?.CalcImage;\n }\n return fileId;\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.icon = this.settings?.Icon;\n this.fileId2 = this.fileId;\n this.calcImage = this.settings?.CalcImage;\n if (this.calcImage && this.calcImage.toLowerCase().startsWith('ih')) {\n this.iconCalc = this.calcImage;\n }\n }\n}\n","<bt-tile\n [data]=\"data\"\n [type]=\"'launch'\"\n [edit]=\"edit\"\n [backColor]=\"backColor\"\n [setToStorage]=\"setToStorage\"\n [listMode]=\"listMode\"\n [deviceSize]=\"deviceSize\"\n [navigateBackOnClick]=\"navigateBackOnClick\"\n [title]=\"data | tileProp: 'Title':parameters\"\n [subtitle]=\"data | tileProp: 'Subtitle':parameters\"\n [dynamicCommand]=\"data | tileProp: 'DynamicCommand':parameters\"\n [isDouble]=\"data | tileProp: 'IsDouble':parameters\"\n [footer]=\"data | tileProp: 'Footer':parameters\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n (click)=\"onTileClick()\"\n>\n <div fd-tile-content>\n @if (fileId2 || calcImage) {\n <span\n class=\"profile\"\n fd-tile-profile-img\n [backgroundImage]=\"calcImage || (fileId2 | picFieldSrc: 'GetPictureFromFileInfo':null)\"\n ></span>\n } @else if(icon){\n <fd-icon [font]=\"icon | sapFont\" fd-tile-profile-img style=\"font-size: 2rem\" [glyph]=\"icon\"></fd-icon>\n } @else {\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\n }\n </div>\n</bt-tile>\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} 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})\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 constructor(private _cdr: ChangeDetectorRef) {\r\n super();\r\n }\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 {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {\r\n BaseComponent,\r\n GroupByItem,\r\n GroupByPipe,\r\n IntersectionStatus,\r\n MetaobjectDataModel,\r\n WorkflowExecuteChoiceStatus,\r\n BarsaApi,\r\n NotificationItem,\r\n NotificationAction,\r\n AbbrevationDeviceSize\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})\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\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 expanded: Record<string, boolean> = {};\r\n\r\n tabList: { title: string; groupByItems: GroupByItem[] }[] = [\r\n { title: 'By Date', groupByItems: [] },\r\n { title: 'By Type', groupByItems: [] },\r\n { title: 'By Priority', groupByItems: [] }\r\n ];\r\n viewedNotifications: NotificationItem[] = [];\r\n constructor(private _groupByPipe: GroupByPipe, private _cdr: ChangeDetectorRef) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this._deviceSize = this.deviceSize;\r\n this.applyGroupByItems(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.applyGroupByItems(notifications.currentValue);\r\n this._cdr.detectChanges();\r\n }\r\n }\r\n applyGroupByItems(notifications: NotificationItem[] | null): void {\r\n if (!notifications?.length) {\r\n return;\r\n }\r\n this.tabList[0].groupByItems = this._groupByPipe.transform(notifications, 'CreationDate');\r\n this.tabList[1].groupByItems = this._groupByPipe.transform(notifications, 'Subject');\r\n this.tabList[2].groupByItems = this._groupByPipe.transform(notifications, 'Priority');\r\n for (let i = 0; i < this.tabList.length; i++) {\r\n if (this.tabList[i].groupByItems.length) {\r\n const firstKey = this.tabList[i].groupByItems[0].key;\r\n if (firstKey && typeof this.expanded[firstKey] === 'undefined') {\r\n this.expanded[firstKey] = true;\r\n }\r\n }\r\n }\r\n }\r\n _trackByTitle(_index: number, _: { title: string; groupByItems: GroupByItem[] }): number | string {\r\n return _index;\r\n }\r\n _trackByKey(_index: number, item: { id: string; key: string; value: any }): number | string {\r\n return item.key;\r\n }\r\n _trackMoById(_index: number, mo: MetaobjectDataModel): number | string {\r\n return mo.Id;\r\n }\r\n onVisibilityChange(e: IntersectionStatus, mo: NotificationItem, isLast: boolean): void {\r\n if (e === IntersectionStatus.Visible) {\r\n if (mo.Unread) {\r\n this.viewedNotifications = [...this.viewedNotifications.filter((c) => c.Unread), mo];\r\n this.viewed.emit(mo);\r\n }\r\n if (isLast) {\r\n this.loadMore.emit();\r\n }\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}\r\n","@if (notifications && notifications.length > 0) {\n<ng-container>\n <fd-notification-group>\n <fd-tab-list size=\"s\" [expandOverflowText]=\"'More' | bbbTranslate\">\n @for (tab of tabList; track _trackByTitle(index, tab); let index = $index) {\n <fd-tab [title]=\"tab.title | bbbTranslate\">\n @for (groupItem of tab.groupByItems; track _trackByKey(index, groupItem); let index = $index) {\n <fd-notification-group-list>\n <fd-notification-group-header [(expanded)]=\"expanded[groupItem.key]\">\n <fd-notification-header>\n <bt-notification-group-header\n [notifications]=\"groupItem.value\"\n [title]=\"groupItem.key\"\n ></bt-notification-group-header>\n </fd-notification-header>\n <fd-notification-actions>\n <!-- <button fd-button label=\"Accept All\"></button> -->\n <button\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'DeleteAll' | bbbTranslate\"\n [title]=\"'DeleteAll' | bbbTranslate\"\n glyph=\"decline\"\n (click)=\"remove.emit({ items: groupItem.value, silent: false })\"\n ></button>\n </fd-notification-actions>\n </fd-notification-group-header>\n <ng-container\n *ngTemplateOutlet=\"\n notificationBody;\n context: { $implicit: groupItem.value, expanded: expanded[groupItem.key] }\n \"\n ></ng-container>\n <!-- <fd-notification-limit *ngIf=\"groupItem.value.length - 4 > 0\">\n <h1 fd-notification-limit-title>\n There are {{ groupItem.value.length - 4 }} more notifications\n </h1>\n <p fd-notification-limit-description>\n You need to close or take action on the listed notifications to display more.\n </p>\n </fd-notification-limit> -->\n </fd-notification-group-list>\n }\n </fd-tab>\n }\n </fd-tab-list>\n </fd-notification-group>\n</ng-container>\n} @else { @if (!loading) {\n<bsu-no-data [simple]=\"true\" style=\"height: 3rem\"></bsu-no-data>\n} @else {\n<div style=\"height: 30px; position: relative\">\n <bsu-mask [top]=\"'10px'\"></bsu-mask>\n</div>\n} }\n<ng-template #loadingTpl>\n <div style=\"height: 30px; position: relative\">\n <bsu-mask [top]=\"'10px'\"></bsu-mask>\n </div>\n</ng-template>\n<ng-template #notificationItem> </ng-template>\n\n<ng-template #notificationBody let-notifications let-exapanded=\"expanded\">\n <div style=\"max-height: 346px; overflow-y: auto; overflow-x: hidden\">\n @for (mo of notifications; track _trackMoById($index, mo); let first = $first; let last = $last) {\n <bsu-notification-item\n [notificationItem]=\"mo\"\n (viewed)=\"viewed.emit($event)\"\n (remove)=\"remove.emit($event)\"\n (showEvent)=\"showEvent.emit($event)\"\n (actionClick)=\"actionClick.emit($event)\"\n intersectionObserver\n [intersectionThreshold]=\"0.5\"\n [deviceSize]=\"deviceSize\"\n (visibilityChange)=\"onVisibilityChange($event, mo, last)\"\n ></bsu-notification-item>\n } @if (loading) {\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\n }\n </div>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n inject,\n Inject,\n Input,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Observable, Subject } from 'rxjs';\nimport {\n ComboboxComponent,\n DialogService,\n PopoverComponent,\n ProductSwitchItem,\n ShellbarMenuItem,\n ShellbarUser\n} from '@fundamental-ngx/core';\n\nimport {\n BaseComponent,\n MetaobjectDataModel,\n FilePictureInfoModel,\n MoForReportModel,\n APP_VERSION,\n NotificationService,\n NotificationItem,\n NotificationAction,\n AbbrevationDeviceSize,\n PortalService\n} from 'barsa-novin-ray-core';\nimport { SafeResourceUrl } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\ninterface ShellbarSetting extends MetaobjectDataModel {\n subtitle: string;\n calcSubtitle: string;\n logo: FilePictureInfoModel;\n ProductSwitchItems: MoForReportModel;\n ProductMenuItems: MoForReportModel;\n UserMenuItems: MoForReportModel;\n ActionItems: MoForReportModel;\n}\n\n@Component({\n selector: 'bt-barsa-shellbar',\n templateUrl: './barsa-shellbar.component.html',\n styleUrls: ['./barsa-shellbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaShellbarComponent extends BaseComponent implements OnInit {\n @Input() cssCustomUrl: SafeResourceUrl | null;\n @Input() cssUrl: SafeResourceUrl | null;\n @Input() cssVariableUrl: SafeResourceUrl | null;\n @Input() multiLanguages: boolean;\n @Input() userLoggedIn: boolean;\n @Input() settings: MetaobjectDataModel;\n @Input() productMenuControl: string;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() cultures: Record<string, any>;\n @Input() shellbarData: ShellbarSetting;\n @Input() notificationCount: { unread: number; all: number };\n @Input() notifcationLoaded: boolean;\n @Input() notificationLoading: boolean;\n @Input() notifications: NotificationItem[];\n @Input() productMenuItems1: ShellbarMenuItem[];\n @Input() bodyClick: string;\n @Input() logo: { FileId: string };\n @Input() actions: Array<MetaobjectDataModel>;\n @Input() userMenu: { text: string; callback: () => void }[];\n @Input() productSwitcher: ProductSwitchItem[];\n @Input() subtitle: string;\n @Input() isMobile: boolean;\n @Input() hideShellbarActions: boolean;\n @Input() showExtraButton: boolean;\n @Input() isTablet: boolean;\n @Input() userProfileImageUrl: string | null;\n @Input() isDesktop: boolean;\n @Input() isServiceDesk = false;\n @Input() isOpenQuickAccess;\n @Input() sideMenuTemplate: TemplateRef<any> | null;\n\n @Output() isOpenQuickAccessChanged = new EventEmitter<boolean>(false);\n @Output() openNotificationPanel = new EventEmitter<void>();\n @Output() openQuickAccessPanel = new EventEmitter<void>();\n @Output() cultureChanged = new EventEmitter<string>();\n @Output() notificationLoadMore = new EventEmitter<void>();\n @Output() removeNotification = new EventEmitter<{ items: MetaobjectDataModel[]; silent: boolean }>();\n @Output() notifiationActionClick = new EventEmitter<{ item: NotificationItem; btn: NotificationAction }>();\n @Output() notificationViewed = new EventEmitter<NotificationItem>();\n\n @ViewChild(ComboboxComponent) comboboxComponent: ComboboxComponent;\n @ViewChild('popoverComponent', { static: false }) popoverComponent: PopoverComponent;\n @ViewChild('notificationsDialog', { static: true, read: TemplateRef }) _notificationsDialog: TemplateRef<any>;\n\n private _cdr = inject(ChangeDetectorRef);\n\n Array = Array;\n isOpenNotificatoin = false;\n\n user: ShellbarUser = {\n initials: 'WW',\n colorAccent: 1\n };\n searchTerms = ['مرخصی', 'ماموریت', 'تیکت', 'پروژه'];\n searchTerm: string;\n actions$: Observable<ShellbarMenuItem[]>;\n\n showVersion = false;\n\n _viewedNotifications$ = new Subject<NotificationItem>();\n onBellNotification = (): void => {\n this._document?.body && this._document.body.click();\n this._dialogService\n .open(this._notificationsDialog, {\n mobile: true,\n verticalPadding: false,\n closeOnNavigation: true\n })\n .afterLoaded.subscribe(() => {\n this.openNotificationPanel.emit();\n });\n };\n _viewedNotifications: NotificationItem[] = [];\n constructor(\n private _notificationService: NotificationService,\n private _dialogService: DialogService,\n private _router: Router,\n private _portalService: PortalService,\n @Inject(DOCUMENT) private _document: Document,\n @Inject(APP_VERSION) public appVersion: string\n ) {\n super();\n this.showVersion = false;\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { userProfileImageUrl } = changes;\n if (userProfileImageUrl) {\n this.user.image = userProfileImageUrl.currentValue;\n }\n }\n onRouteFormStateChange(): void {\n this._closeSideMenu();\n }\n onCultureChange(culture): void {\n this._changeCulture(culture);\n }\n onShowNotification(e: { tag: string; mo: MetaobjectDataModel; nama: string }): void {\n this.isOpenNotificatoin = false;\n this._notificationService.ShowNotificationRelatedMo(e);\n }\n onNotificationItemViewed(viewedMo: NotificationItem): void {\n this.notificationViewed.emit(viewedMo);\n }\n\n onRemoveNotifications(e: { items: MetaobjectDataModel[]; silent: boolean }): void {\n this.removeNotification.emit(e);\n }\n onOpenQuickAccess = (): void => {\n this.isOpenQuickAccessChanged.emit(true);\n this.openQuickAccessPanel.emit();\n };\n onOpenNotification = (): void => {\n this.isOpenNotificatoin = true;\n this.openNotificationPanel.emit();\n };\n onNotificationAction(e: { item: NotificationItem; btn: NotificationAction }): void {\n this.notifiationActionClick.emit(e);\n }\n onLanguage = (e): void => {\n const culture = e.currentTarget.textContent.trim();\n this._changeCulture(culture);\n };\n onNotificationLoadMore(): void {\n this.notificationLoadMore.emit();\n }\n private _closeSideMenu(): void {\n if (!this.isOpenQuickAccess) {\n return;\n }\n this.isOpenQuickAccessChanged.emit(false);\n this._cdr.detectChanges();\n }\n private _changeCulture(culture: string): void {\n this.cultureChanged.emit(culture);\n }\n}\n","@if (cssVariableUrl) {\n<link type=\"text/css\" rel=\"stylesheet\" [href]=\"cssVariableUrl\" />\n} @if (cssUrl) {\n<link type=\"text/css\" rel=\"stylesheet\" [href]=\"cssUrl\" />\n} @if (cssCustomUrl) {\n<link type=\"text/css\" rel=\"stylesheet\" [href]=\"cssCustomUrl\" />\n}\n<fd-shellbar\n [size]=\"deviceSize\"\n [ngClass]=\"deviceSize\"\n routeFormChange\n (stateChanged)=\"onRouteFormStateChange()\"\n [handleBodyClick]=\"true\"\n>\n @if (sideMenuTemplate) {\n <fd-shellbar-action\n [glyph]=\"'apps'\"\n [label]=\"'Quick Access' | bbbTranslate\"\n [notificationCount]=\"notificationCount.unread ?? 0\"\n [notificationLabel]=\"'Quick Access' | bbbTranslate\"\n [callback]=\"onOpenQuickAccess\"\n >\n </fd-shellbar-action>\n } @if (sideMenuTemplate) {\n <button\n fd-shellbar-side-nav\n fd-button\n fdType=\"transparent\"\n glyph=\"menu2\"\n style=\"width: 2.75rem\"\n (click)=\"$event.stopPropagation(); isOpenQuickAccessChanged.emit(!isOpenQuickAccess)\"\n ></button>\n } @if (logo) {\n <fd-shellbar-logo>\n <a\n [style.backgroundImage]=\"'url(' + (logo?.FileId | picFieldSrc: 'GetPictureFromFileInfo':null) + ')'\"\n href=\"/\"\n class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\"\n aria-label=\"Barsa Novin Ray\"\n ></a>\n </fd-shellbar-logo>\n } @if (!settings?.HideProductMenu && productMenuItems1 && productMenuItems1.length > 0) {\n <fd-product-menu [control]=\"productMenuControl\" [closePopoverOnSelect]=\"true\" [items]=\"productMenuItems1\">\n </fd-product-menu>\n }\n <fd-shellbar-subtitle> {{ subtitle | bbbTranslate }}{{ showVersion ? appVersion : '' }}</fd-shellbar-subtitle>\n @if (!hideShellbarActions&& user && (userMenu?.length || !settings?.HideLanguage)) {\n <fd-shellbar-actions [user]=\"user\" [userMenu]=\"userMenu\" #langRef>\n @for (action of actions; track action) {\n <fd-shellbar-action\n [glyph]=\"action.Icon\"\n [callback]=\"action.Callback\"\n [label]=\"action.Label\"\n notificationLabel=\"login\"\n >\n </fd-shellbar-action>\n } @if (deviceSize === 's' && userLoggedIn && !settings?.HideNotifications) {\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notifications' | bbbTranslate\"\n [notificationCount]=\"notificationCount.unread ?? 0\"\n [notificationLabel]=\"'Notifications' | bbbTranslate\"\n [callback]=\"onBellNotification\"\n >\n </fd-shellbar-action>\n } @if (!settings?.HideNotifications && userLoggedIn) {\n <fd-popover\n [(isOpen)]=\"isOpenNotificatoin\"\n [triggers]=\"[]\"\n [focusTrapped]=\"true\"\n [noArrow]=\"true\"\n placement=\"bottom\"\n title=\"Notification Popover\"\n [focusAutoCapture]=\"true\"\n [mobile]=\"deviceSize === 's'\"\n #popoverComponent\n >\n <fd-popover-control>\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notification'\"\n [notificationCount]=\"notificationCount.unread\"\n [notificationLabel]=\"'Notification Label'\"\n [callback]=\"onOpenNotification\"\n >\n </fd-shellbar-action>\n </fd-popover-control>\n <fd-popover-body style=\"min-width: 320px; overflow-x: auto; box-shadow: var(--sapContent_Shadow0)\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationCount }\"\n ></ng-container>\n </fd-popover-body>\n </fd-popover>\n } @if (!settings?.HideLanguage && deviceSize !== 's' && multiLanguages) {\n <fd-shellbar-action [glyph]=\"'world'\" [label]=\"'language'\" [fdMenuTrigger]=\"menu\" (callback)=\"(onLanguage)\">\n </fd-shellbar-action>\n } @if (!settings?.HideLanguage && deviceSize === 's' && multiLanguages) { @for (culture of cultures | keyvalue;\n track culture) {\n <fd-shellbar-action\n [label]=\"culture.value\"\n [callback]=\"onLanguage\"\n class=\"culture-abbrivation\"\n [glyph]=\"culture.key\"\n [ngClass]=\"'flags'\"\n >\n </fd-shellbar-action>\n } } @if (productSwitcher?.length) {\n <fd-product-switch>\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\n </fd-product-switch-body>\n </fd-product-switch>\n }\n </fd-shellbar-actions>\n }\n</fd-shellbar>\n@if(showExtraButton){\n<div\n [class.fd-shellbar--xl]=\"isDesktop\"\n [class.fd-shellbar--m]=\"isTablet\"\n [class.fd-shellbar--s]=\"isMobile\"\n class=\"extra-button-wrapper\"\n [class.service-desk]=\"isServiceDesk\"\n>\n <ng-content select=\"button\"></ng-content>\n</div>\n}\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<div\n *ngIf=\"sideMenuTemplate\"\n class=\"sidemenu-h tw-fixed tw-bg-white tw-transition-all tw-z-[100] tw-shadow-2xl tw-overflow-auto\"\n [class.tw-w-screen]=\"isMobile\"\n [class.-tw-right-full]=\"isMobile\"\n [class.tw-w-96]=\"!isMobile\"\n [class.-tw-right-96]=\"!isMobile\"\n [class.!tw-right-0]=\"isOpenQuickAccess\"\n (click)=\"$event.stopPropagation()\"\n>\n <ng-container *ngTemplateOutlet=\"sideMenuTemplate\"></ng-container>\n</div>\n\n@if(isOpenQuickAccess) {\n<div\n class=\"sidemenu-h tw-fixed tw-right-0 tw-bg-slate-800/[.5] tw-z-[90] tw-w-screen tw-backdrop-blur-sm\"\n (click)=\"isOpenQuickAccessChanged.emit(false)\"\n></div>\n}\n<fd-menu #menu>\n <ul fd-list>\n @for (culture of cultures | keyvalue; track culture) {\n <li fd-list-item>\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\n <span fd-list-title>\n <img width=\"14px\" height=\"12px\" [src]=\"'/assets/flags/' + culture.key + '.png'\" />\n <span class=\"culture-abbrivation\" [ngClass]=\"culture.key\"> {{ culture.key }}</span>\n </span>\n </a>\n </li>\n }\n </ul>\n</fd-menu>\n<ng-template #notificationGroupTpl let-notificationCount=\"notificationCount\">\n @if (!notifcationLoaded && notificationLoading === true) {\n <div style=\"position: relative; height: 100px\">\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n }\n <bt-notification-group\n [notifications]=\"notifications\"\n [notificationCount]=\"notificationCount\"\n [loading]=\"notificationLoading === true\"\n (viewed)=\"onNotificationItemViewed($event)\"\n (remove)=\"onRemoveNotifications($event)\"\n (showEvent)=\"popoverComponent.close(); onShowNotification($event)\"\n (actionClick)=\"popoverComponent.close(); onNotificationAction($event)\"\n (loadMore)=\"onNotificationLoadMore()\"\n [deviceSize]=\"deviceSize\"\n ></bt-notification-group>\n</ng-template>\n\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #notificationsDialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Notification' | bbbTranslate }}</h1>\n <button fd-dialog-close-button (click)=\"dialog.dismiss()\"></button>\n </fd-dialog-header>\n <fd-dialog-body class=\"mobile\">\n <ng-container\n *ngTemplateOutlet=\"notificationGroupTpl; context: { notificationCount: notificationCount }\"\n ></ng-container>\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnInit,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { forkJoin, Observable, of, Subject } from 'rxjs';\nimport { debounceTime, map, takeUntil, tap } from 'rxjs/operators';\nimport {\n ComboboxComponent,\n PopoverComponent,\n ProductSwitchItem,\n ShellbarMenuItem,\n ShellbarUser\n} from '@fundamental-ngx/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\nimport {\n BaseComponent,\n BarsaApi,\n MetaobjectDataModel,\n FilePictureInfoModel,\n MoForReportModel,\n PortalService,\n BreadcrumbService,\n APP_VERSION,\n NotificationService,\n NotificationItem,\n NotificationAction,\n BbbTranslatePipe,\n AbbrevationDeviceSize,\n getDeviceIsMobile,\n getDeviceIsDesktop,\n getDeviceIsTablet\n} from 'barsa-novin-ray-core';\n\nimport { TilesService } from '../tiles.service';\n\ninterface ShellbarSetting extends MetaobjectDataModel {\n CssStyles: string;\n subtitle: string;\n calcSubtitle: string;\n logo: FilePictureInfoModel;\n ProductSwitchItems: MoForReportModel;\n ProductMenuItems: MoForReportModel;\n UserMenuItems: MoForReportModel;\n ActionItems: MoForReportModel;\n SidebarReport: MetaobjectDataModel;\n ProfileImageReport: MetaobjectDataModel;\n}\n\n@Component({\n selector: 'bt-shellbar',\n templateUrl: './shellbar.component.html',\n styleUrls: ['./shellbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ShellbarComponent extends BaseComponent implements OnInit {\n @ViewChild(ComboboxComponent) comboboxComponent: ComboboxComponent;\n @ViewChild('popoverComponent', { static: false }) popoverComponent: PopoverComponent;\n @ViewChild('notificationsDialog', { static: true, read: TemplateRef }) _notificationsDialog: TemplateRef<any>;\n shellbarData: ShellbarSetting;\n settings: MetaobjectDataModel;\n isOpenNotificatoin = false;\n deviceSize$: Observable<AbbrevationDeviceSize>;\n productMenuControl: string;\n user: ShellbarUser = {\n initials: 'WW',\n colorAccent: 1\n };\n\n productMenuItems1: ShellbarMenuItem[];\n userLoggedIn$: Observable<boolean>;\n cssUrl$: Observable<SafeResourceUrl | null>;\n cssVariableUrl$: Observable<SafeResourceUrl | null>;\n cssCustomUrl$: Observable<SafeResourceUrl | null>;\n cultures: Record<string, any>;\n notificationsCount$: Observable<{ unread: number; all: number }>;\n notifications$: Observable<NotificationItem[]>;\n notificationLoading$: Observable<boolean>;\n notifcationLoaded = false;\n notifiationCountLoaded$: Observable<boolean>;\n _viewedNotifications$ = new Subject<NotificationItem>();\n _viewedNotifications: NotificationItem[] = [];\n bodyClick = ';$(\"body\").click()';\n isMobile = getDeviceIsMobile();\n isDesktop = getDeviceIsDesktop();\n isTablet = getDeviceIsTablet();\n loginRouterLink$: Observable<string>;\n isServiceDesk = false;\n isOpenQuickAccess = false;\n userProfileImageUrl$: Observable<string | null>;\n get repIdProfileImage(): string {\n return this.shellbarData?.ProfileImageReport?.Id;\n }\n get subtitle(): string {\n if (!this.shellbarData) {\n return '';\n }\n if (this._portalService.deviceSize === 's' && this.shellbarData.MobileSubtitle) {\n return this.shellbarData.MobileSubtitle\n ? `${this.shellbarData.MobileSubtitle} ${\n typeof this.shellbarData?.calcSubtitle === 'string' ? this.shellbarData.calcSubtitle : ''\n }`\n : '';\n }\n return this.shellbarData.Subtitle\n ? `${this.shellbarData?.Subtitle} ${\n typeof this.shellbarData?.calcSubtitle === 'string' ? this.shellbarData.calcSubtitle : ''\n }`\n : '';\n }\n get logo(): { FileId: string } {\n return this.shellbarData?.Logo;\n }\n get cssStyles(): string {\n return this.shellbarData?.CssStyles;\n }\n get actions(): Array<MetaobjectDataModel> {\n return this.settings?.HideUserMenu ? [] : this.shellbarData?.ActionItems?.MoDataList ?? [];\n }\n get sidebarSettings(): null | any {\n if (!this.shellbarData?.SidebarReport?.Id) {\n return null;\n }\n return {\n RelatedReport: { Id: this.shellbarData?.SidebarReport?.Id, $Caption: '' },\n RowClick: '',\n DataOnly: false\n };\n }\n get userMenu(): { text: string; callback: () => void }[] {\n const moDataList = BarsaApi.Common.Util.TryGetValue(this.shellbarData, 'UserMenuItems.MoDataList');\n const items = moDataList ? [...moDataList] : [];\n if (!items.length) {\n return [];\n }\n items.forEach((c) => {\n c.text = this._bbbTranslatePipe.transform(c.text);\n c.callback = new Function(c.Code + this.bodyClick);\n });\n if (!this.IsUserAnonymous && this.IsUserLoggedIn) {\n items.splice(0, 0, { Id: '-1', $Caption: '', text: BarsaApi.LoginFormData.UserDisplayName });\n }\n return this.settings?.HideUserMenu ? [] : (items as any);\n }\n get productSwitcher(): ProductSwitchItem[] {\n return (this.shellbarData?.ProductSwitchItems?.MoDataList ?? []) as unknown as ProductSwitchItem[];\n }\n get multiLanguages(): boolean {\n return this.shellbarData?.MultiLanguages;\n }\n get productMenuItems(): ShellbarMenuItem[] {\n const items = this.shellbarData?.ProductMenuItems?.MoDataList ?? [];\n items.forEach((c) => (c.callback = new Function(c.Code + this.bodyClick)));\n return items as unknown as ShellbarMenuItem[];\n }\n get IsUserLoggedIn(): boolean {\n return BarsaApi.LoginFormData.IsUserLoggedIn;\n }\n get IsUserAnonymous(): boolean {\n return BarsaApi.LoginFormData.IsAnonymous;\n }\n\n constructor(\n private _bbbTranslatePipe: BbbTranslatePipe,\n private _portalService: PortalService,\n private _breadCrumbService: BreadcrumbService,\n private _tilesService: TilesService,\n private _cdr: ChangeDetectorRef,\n private _domSanitizer: DomSanitizer,\n private _notificationService: NotificationService,\n @Inject(APP_VERSION) public appVersion: string\n ) {\n super();\n\n this.userLoggedIn$ = this._portalService.userLoggedIn$;\n this.notifiationCountLoaded$ = this._notificationService.notificationCountLoaded$;\n this._viewedNotifications$\n .pipe(\n takeUntil(this._onDestroy$),\n tap((item) => this._viewedNotifications.push(item)),\n map((item) => this._viewedNotifications),\n debounceTime(2000),\n map((items) => items.map((item) => item.Tag))\n )\n .subscribe((tags) => {\n this._viewedNotifications = [];\n this._notificationService.setNotificationViewed(tags);\n });\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.isServiceDesk = BarsaApi.LoginFormData.IsServiceDesk;\n\n this.cultures = BarsaApi.LoginFormData.Cultures;\n this.cssUrl$ = this._portalService.cssUrl$;\n this.cssVariableUrl$ = this._portalService.cssVariableUrl$;\n this.cssCustomUrl$ = this._portalService.cssCustomUrl$;\n this.loginRouterLink$ = this._portalService.loginRoute$;\n this.notificationsCount$ = this._notificationService.notificationCount$;\n this._notificationService.notificationCount$.subscribe(() => this._cdr.detectChanges());\n this.notificationLoading$ = this._notificationService.notificationLoading$;\n this.notifications$ = this._notificationService.notifications$.pipe(\n takeUntil(this._onDestroy$),\n map((notifications) => this._mapNotifications(notifications))\n );\n BarsaApi.Bw.SetUserPortalSettings = (userPortalSettings: MetaobjectDataModel): void => {\n this._portalService.setUserPortalSettings(userPortalSettings);\n };\n BarsaApi.Bw.SetShellbarSubtitle = (calcSubtitle: string): void => {\n this.shellbarData.calcSubtitle = calcSubtitle;\n this._cdr.detectChanges();\n };\n this.deviceSize$ = this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$));\n\n this._breadCrumbService.breadcrumbs$.pipe(takeUntil(this._onDestroy$)).subscribe((breadCrumbs) => {\n if (breadCrumbs.length > 0) {\n this.productMenuControl = breadCrumbs[breadCrumbs.length - 1].label;\n }\n this._cdr.detectChanges();\n });\n this.userProfileImageUrl$ = this._tilesService.userProfileImageUrl$;\n this._tilesService.shellbar$.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\n this.shellbarData = mo as ShellbarSetting;\n if (this.IsUserLoggedIn) {\n this._tilesService.loadUserProfileImage(this.repIdProfileImage);\n }\n\n // this._cdr.detectChanges();\n forkJoin([of(this.productMenuItems), of([])]) // to append user defined\n .pipe(\n takeUntil(this._onDestroy$),\n map(([s1, s2]) => [...s1, ...s2])\n )\n .subscribe((c) => {\n this.productMenuItems1 = c;\n this._cdr.detectChanges();\n });\n });\n if (this.settings?.AllowAnonymous) {\n this._tilesService.loadShellbar();\n }\n this._portalService.userLoggedIn$.pipe(takeUntil(this._onDestroy$)).subscribe((loggedIn) => {\n if (!loggedIn) {\n return;\n }\n this._tilesService.loadShellbar();\n this._notificationService.loadUnreadNotificationCount();\n });\n }\n\n onCultureChange(culture): void {\n this._changeCulture(culture);\n }\n onShowNotification(e: { tag: string; mo: MetaobjectDataModel; nama: string }): void {\n this.isOpenNotificatoin = false;\n this._notificationService.ShowNotificationRelatedMo(e);\n }\n onNotificationItemViewed(viewedMo: NotificationItem): void {\n this._viewedNotifications$.next(viewedMo);\n }\n\n onRemoveNotifications(e: { items: MetaobjectDataModel[]; silent: boolean }): void {\n this._notificationService.removeNotification(e.items);\n }\n onOpenNotification = (): void => {\n this.isOpenNotificatoin = true;\n this._handleOpenNotificationPanel();\n };\n onNotificationAction(e: { item: NotificationItem; btn: NotificationAction }): void {\n this._portalService.ExecuteNotificationAction(e.item.Tag, e.btn.Title);\n }\n onCultureChanged = (culture: string): void => {\n this._changeCulture(culture);\n };\n onNotificationLoadMore(): void {\n this._notificationService.loadMore();\n }\n onNotificationWorkflowChoiceSuccess(result): void {}\n onNotificationWorkflowChoiceFailed(err): void {}\n\n onHandleOpenNotificationPanel(): void {\n this._handleOpenNotificationPanel();\n }\n\n private _handleOpenNotificationPanel(): void {\n if (this.notifcationLoaded) {\n return;\n }\n this.notifcationLoaded = true;\n this._notificationService.loadNotifications();\n }\n private _mapNotifications(notifications): NotificationItem[] {\n return notifications.map((notification) => ({\n ...notification,\n contentSafeHtml: notification.Content\n ? this._domSanitizer.bypassSecurityTrustHtml(notification.Content)\n : ''\n }));\n }\n private _changeCulture(culture: string /* culture sample :English */): void {\n BarsaApi.Bw.SetCultureByDisplayName(culture);\n BarsaApi.Bw.NavigateTo('/');\n }\n}\n","@if (userLoggedIn$ | async; as userloggend) { @if (notifiationCountLoaded$ | async; as notifiationCountLoaded) { @if\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"cssUrl$ | async\"\n [cssVariableUrl]=\"cssVariableUrl$ | async\"\n [userProfileImageUrl]=\"userProfileImageUrl$ | async\"\n [cssCustomUrl]=\"cssCustomUrl$ | async\"\n [userLoggedIn]=\"true\"\n [deviceSize]=\"deviceSize\"\n [shellbarData]=\"shellbarData\"\n [cssStyle]=\"cssStyles\"\n [productMenuControl]=\"productMenuControl\"\n [settings]=\"settings\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [multiLanguages]=\"multiLanguages\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notifications]=\"(notifications$ | async) ?? []\"\n [notifcationLoaded]=\"notifcationLoaded\"\n [notificationLoading]=\"(notificationLoading$ | async) === true\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [isServiceDesk]=\"isServiceDesk\"\n [sideMenuTemplate]=\"QuickAccessTemplate\"\n [productMenuItems1]=\"productMenuItems1\"\n [isOpenQuickAccess]=\"isOpenQuickAccess\"\n (isOpenQuickAccessChanged)=\"isOpenQuickAccess = $event\"\n (cultureChanged)=\"onCultureChanged($event)\"\n (notificationViewed)=\"onNotificationItemViewed($event)\"\n (notifiationActionClick)=\"onNotificationAction($event)\"\n (removeNotification)=\"onRemoveNotifications($event)\"\n (notificationLoadMore)=\"onNotificationLoadMore()\"\n (openNotificationPanel)=\"onHandleOpenNotificationPanel()\"\n>\n</bt-barsa-shellbar>\n} } } } @else { @if (notificationsCount$ | async; as notificationCount) {\n<bt-barsa-shellbar\n [class.service-desk]=\"isServiceDesk\"\n [cssUrl]=\"''\"\n [cssStyle]=\"cssStyles\"\n [cssVariableUrl]=\"''\"\n [cssCustomUr]=\"''\"\n [userLoggedIn]=\"false\"\n [multiLanguages]=\"multiLanguages\"\n [userMenu]=\"userMenu\"\n [logo]=\"logo\"\n [productMenuItems1]=\"productMenuItems1\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [shellbarData]=\"shellbarData\"\n [cultures]=\"cultures\"\n [logo]=\"logo\"\n [isMobile]=\"isMobile\"\n [isTablet]=\"isTablet\"\n [isDesktop]=\"isDesktop\"\n [isServiceDesk]=\"isServiceDesk\"\n [actions]=\"actions\"\n [userMenu]=\"userMenu\"\n [productMenuControl]=\"productMenuControl\"\n [productSwitcher]=\"productSwitcher\"\n [subtitle]=\"subtitle\"\n [settings]=\"settings\"\n [notificationCount]=\"{ unread: 0, all: 0 }\"\n [notifications]=\"[]\"\n [notifcationLoaded]=\"true\"\n [notificationLoading]=\"false\"\n [hideShellbarActions]=\"true\"\n [showExtraButton]=\"true\"\n [cultures]=\"cultures\"\n [productMenuItems1]=\"productMenuItems1\"\n (cultureChanged)=\"onCultureChanged($event)\"\n>\n @for(btn of userMenu;track btn){\n <button\n class=\"extra_btn\"\n fd-button\n [label]=\"btn.text\"\n [glyph]=\"btn.text === ('Login' | bbbTranslate) ? 'person-placeholder' : null\"\n fdType=\"emphasized\"\n (click)=\"btn.callback()\"\n ></button>\n }\n</bt-barsa-shellbar>\n} }\n<ng-template #QuickAccessTemplate>\n @if ((notificationLoading$ | async) === true) {\n <div style=\"position: relative; height: 100px\">\n <bsu-mask size=\"s\"></bsu-mask>\n </div>\n }\n <bnrc-report-container *ngIf=\"sidebarSettings\" [settings]=\"sidebarSettings\"> </bnrc-report-container>\n <!-- <bt-popover-app-finder (closeMenu)=\"isOpenQuickAccess = false\"></bt-popover-app-finder> -->\n</ng-template>\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})\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})\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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n OnInit,\n Output\n} from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { ContentDensity, ContentDensityService, DialogService } from '@fundamental-ngx/core';\n\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\nimport { AppFinderService } from '../app-finder.service';\nimport { AppTileGroupPin } from '../models';\nimport { PinTileComponent } from '../pin-tile/pin-tile.component';\n\n@Component({\n selector: 'bt-popover-app-finder',\n templateUrl: './popover-app-finder.component.html',\n styleUrls: ['./popover-app-finder.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: '!tw-min-h-min'\n }\n})\nexport class PopoverAppFinderComponent extends BaseComponent implements OnInit {\n @Output() closeMenu = new EventEmitter<void>();\n selectedGroups: MetaobjectDataModel[];\n isAllSelected = true;\n appGroups$: Observable<MetaobjectDataModel[] | undefined>;\n appTileGroups$: Observable<MetaobjectDataModel[]>;\n searchTerm: string;\n deviceSize$: Observable<AbbrevationDeviceSize>;\n sideContentSize$: Observable<string>;\n contentDensity$: Observable<ContentDensity>;\n selectedAppGroup$: Observable<MetaobjectDataModel | undefined>;\n selectedAppGroupId$: Observable<string>;\n mobile$: Observable<boolean>;\n contentHeight: string;\n pinnedAppInAppTileGroups$: Observable<Record<string, string[]>>;\n\n constructor(\n private _cdr: ChangeDetectorRef,\n private _dialogService: DialogService,\n private _appFinderService: AppFinderService,\n private _el: ElementRef,\n _contentDensityService: ContentDensityService\n ) {\n super();\n this.contentDensity$ = _contentDensityService.contentDensity.asObservable();\n this.appGroups$ = this._appFinderService.appGroups$.pipe(\n map((appGroups) => {\n appGroups.forEach((cat) => {\n this._appFinderService.loadAppsByAppGroup(appGroups, cat);\n });\n return appGroups;\n })\n );\n this.selectedAppGroup$ = this._appFinderService.selectedAppGroup$;\n this.selectedAppGroupId$ = this._appFinderService.selectedAppGroupId$;\n this.deviceSize$ = this._appFinderService.deviceSize$;\n this.pinnedAppInAppTileGroups$ = this._appFinderService.pinnedAppInAppTileGroups$;\n this.mobile$ = this.deviceSize$.pipe(map((c) => c === 's'));\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n this.contentHeight = 'calc(' + this._el.nativeElement.offsetHeight + 'px - 2.75rem)';\n\n this.sideContentSize$ = this.deviceSize$.pipe(\n takeUntil(this._onDestroy$),\n map((deviceSize) => {\n switch (deviceSize) {\n case 's':\n return 'sm';\n case 'm':\n return 'md';\n case 'l':\n return 'lg';\n case 'xl':\n return 'xl';\n default:\n return 'l';\n }\n })\n );\n }\n\n onSelectedAppGroupChange(appGroupId: string): void {\n this._changeGroup(appGroupId);\n }\n\n onPinClick(app: MetaobjectDataModel): void {\n const pinnedAppInTileGroups = this._appFinderService.loadPinnedAppInTileGroups(app);\n const appTileGroups = this._appFinderService.appTileGroups;\n const deviceSize = this._appFinderService.deviceSize;\n const mobile = deviceSize === 's';\n this._dialogService\n .open(PinTileComponent, {\n data: { app, pinnedAppInTileGroups, appTileGroups },\n minWidth: '350px',\n minHeight: '420px',\n draggable: false,\n mobile,\n resizable: false,\n verticalPadding: false,\n backdropClickCloseable: false\n })\n .afterClosed.subscribe((result) => {\n this._appTileGroupsPinChange(result);\n });\n }\n onRefresh(): void {}\n async _appTileGroupsPinChange(result: {\n appTileGroupsPin: AppTileGroupPin[];\n app: MetaobjectDataModel;\n }): Promise<void> {\n try {\n // Will try to ask for permission\n this._appFinderService.pinTileChanged(result.appTileGroupsPin, result.app, () => {\n this._cdr.detectChanges();\n });\n } catch (err) {\n // show msg error\n } finally {\n // show toast successful\n }\n }\n private _changeGroup(appGroupId: string): void {\n this.isAllSelected = false;\n this._appFinderService.selectAppGroup(appGroupId);\n this._cdr.detectChanges();\n }\n}\n","<!-- \n<div>\n <div class=\"!tw-px-4 !tw-pt-2\" fd-form-item>\n <fd-input-group\n glyph=\"decline\"\n glyphAriaLabel=\"Clear\"\n placeholder=\"جستجو\"\n [button]=\"true\"\n [disabled]=\"false\"\n [(ngModel)]=\"searchTerm\"\n (addOnButtonClicked)=\"searchTerm = ''\"\n >\n </fd-input-group>\n </div>\n @for (cat of appGroups$ | async | filterAppsGrouped:searchTerm; track cat.Id) {\n <fd-panel\n fdCompact\n expandAriaLabel=\"Panel Expand\"\n expandAriaLabelledBy=\"panel-compact-1\"\n [expanded]=\"!!searchTerm?.length\"\n >\n <h5 fd-panel-title id=\"panel-compact-1\">{{ cat.Title }}</h5>\n <div fd-panel-content ariaLabel=\"Panel Content\" id=\"panel-content-3\" class=\"!p-0\">\n <ul fd-list [noBorder]=\"false\">\n @for (app of cat.Apps | filterApps:searchTerm; track app.Id) {\n <li fd-list-item>\n <a fd-list-link [navigated]=\"true\" [dynCommand]=\"app.DynamicCommand\" (click)=\"closeMenu.emit()\">\n <i fd-list-icon glyph=\"history\"></i>\n <span fd-list-title>{{ app.Title }}</span>\n <span fd-list-secondary>\n @if(pinnedAppInAppTileGroups$ | async; as pinnedAppInAppTileGroups) {\n <button\n ariaLabel=\"Bookmark\"\n fdType=\"transparent\"\n title=\"Bookmark\"\n fd-button\n [glyph]=\"'pushpin-off'\"\n [fdType]=\"\n pinnedAppInAppTileGroups[app.Id]\n ? pinnedAppInAppTileGroups[app.Id].length\n ? 'emphasized'\n : 'transparent'\n : app.$HasPinned\n ? 'emphasized'\n : 'transparent'\n \"\n (click)=\"$event.stopPropagation(); onPinClick(app)\"\n ></button>\n }\n </span>\n </a>\n </li>\n }\n </ul>\n </div>\n </fd-panel>\n }\n</div> -->\n","import { ChangeDetectionStrategy, Component, inject, Input, signal, TemplateRef, WritableSignal } from '@angular/core';\nimport { BarsaTreeItemComponent } from 'barsa-sap-ui';\n\nimport { takeUntil } from 'rxjs';\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\nimport { AppFinderService } from '../app-finder.service';\n\n@Component({\n selector: 'bt-barsa-pin-app',\n templateUrl: './barsa-pin-app.component.html',\n styleUrls: ['./barsa-pin-app.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarsaPinAppComponent extends BarsaTreeItemComponent {\n @Input() titleTemplateRef: TemplateRef<any>;\n private _appFinderService = inject(AppFinderService);\n appGroups$: WritableSignal<MetaobjectDataModel[]> = signal([]);\n\n pinnedAppInAppTileGroups$: WritableSignal<Record<string, string[]>> = signal({});\n\n ngOnInit(): void {\n super.ngOnInit();\n this._appFinderService.appGroups$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\n this.appGroups$.set(c);\n });\n this._appFinderService.pinnedAppInAppTileGroups$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\n this.pinnedAppInAppTileGroups$.set(c);\n });\n }\n onPinTap(): void {}\n}\n","<ng-container *ngIf=\"titleTemplateRef\">\n <ng-container *ngTemplateOutlet=\"titleTemplateRef\"></ng-container>\n</ng-container>\n<button\n fd-button\n [glyph]=\"'pushpin-off'\"\n [fdType]=\"\n pinnedAppInAppTileGroups$()[node.Data.Id]\n ? pinnedAppInAppTileGroups$()[node.Data.Id].length\n ? 'emphasized'\n : 'standard'\n : node.Data.$HasPinned\n ? 'emphasized'\n : 'standard'\n \"\n (click)=\"onPinTap()\"\n></button>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n inject,\n OnChanges,\n signal,\n SimpleChanges,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport {\n BarsaApi,\n BaseComponent,\n getDeviceIsMobile,\n LogService,\n LocalStorageService,\n MetaobjectDataModel,\n BreadcrumbService,\n BreadCrumbInfo,\n RoutingService,\n MoForReportModel,\n PortalService,\n AbbrevationDeviceSize\n} from 'barsa-novin-ray-core';\nimport { BaseTileSetting } from '../models';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'bt-barsa-tile-group-page',\n templateUrl: './barsa-tile-group-page.component.html',\n styleUrls: ['./barsa-tile-group-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [RoutingService]\n})\nexport class BarsaTileGroupPageComponent extends BaseComponent implements OnChanges {\n @ViewChild('containerRef', { read: ViewContainerRef }) _containerRef: ViewContainerRef;\n @HostBinding('style.position') _position = 'absolute';\n moList = signal<BaseTileSetting[]>([]);\n isMobile = getDeviceIsMobile();\n rtl = BarsaApi.LoginFormData.IsRtl;\n title: string | null;\n dialogRef: any;\n parameters: BarsaTileGroupPageSettings;\n settings: BarsaTileGroupPageSettings;\n protected _logService: LogService = inject(LogService);\n protected _activatedRoute = inject(ActivatedRoute);\n protected _cdr = inject(ChangeDetectorRef);\n protected _router = inject(Router);\n protected _localStorage = inject(LocalStorageService);\n protected _breadCrumbService = inject(BreadcrumbService);\n protected _portalService = inject(PortalService);\n isSimple: boolean;\n listMode: boolean;\n breadcrumbs$: Observable<BreadCrumbInfo[]>;\n reportId: string;\n loading = signal(false);\n deviceSize: AbbrevationDeviceSize;\n ngOnInit(): void {\n super.ngOnInit();\n this.breadcrumbs$ = this._breadCrumbService.breadcrumbs$;\n\n this.title = localStorage.getItem('ActiveTile');\n this.isSimple = this.parameters?.IsSimple || this.settings?.IsSimple;\n this.listMode = this.parameters?.ListMode || this.settings?.ListMode;\n if (this.isSimple) {\n this._position = 'relative';\n }\n this.deviceSize = this._portalService.deviceSize;\n const id = this._activatedRoute.snapshot.params['id'];\n\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [id],\n Method: 'GetTileGroupApps',\n SuccessFn: (e: MoForReportModel) => {\n this.moList.set(e.MoDataList as Array<BaseTileSetting>);\n },\n FailFn: (e) => {\n this._logService.error(e);\n }\n });\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n }\n onClose(): void {\n this._router.navigate(['../']);\n }\n}\ninterface BarsaTileGroupPageSettings extends MetaobjectDataModel {\n IsSimple: boolean;\n ListMode: boolean;\n}\n","@if(!isSimple ){\n<fd-dynamic-page [autoResponsive]=\"true\">\n <fd-dynamic-page-header\n [class.simple-title]=\"true\"\n [title]=\"title | bbbTranslate\"\n [class.p-b0]=\"true\"\n [class.hide-title]=\"false\"\n >\n <fd-dynamic-page-breadcrumb [class.hide]=\"isMobile\">\n <fd-breadcrumb>\n @if (breadcrumbs$ | async; as breadCrumbs) { @for ( breadCrumb of breadCrumbs | slice:\n 0:breadCrumbs.length; track breadCrumb.url; let i = $index; let last = $last) {\n <fd-breadcrumb-item>\n <bsu-breadcrumb\n [index]=\"i\"\n [isLast]=\"last\"\n [breadCrumb]=\"breadCrumb\"\n [allBreadCrumb]=\"breadCrumbs\"\n ></bsu-breadcrumb>\n </fd-breadcrumb-item>\n } }\n </fd-breadcrumb>\n </fd-dynamic-page-breadcrumb>\n <fd-dynamic-page-layout-actions>\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" (click)=\"onClose()\" title=\"Close\">\n <i [class]=\"'sap-icon--' + (isMobile ? (rtl ? 'arrow-right' : 'arrow-left') : 'decline')\"></i>\n </button>\n </fd-toolbar>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n\n <fd-dynamic-page-content cdkScrollable>\n <ng-container *ngTemplateOutlet=\"tilesTpl\"> </ng-container>\n </fd-dynamic-page-content>\n</fd-dynamic-page>\n} @else {\n<ng-container *ngTemplateOutlet=\"tilesTpl\"> </ng-container>\n}\n<ng-template #loadingTpl>\n <bsu-mask></bsu-mask>\n</ng-template>\n<ng-template #tilesTpl>\n <div class=\"tw-flex tw-gap-1 tw-flex-wrap\">\n @for(app of moList();track app.Id){\n <ng-container *ngTemplateOutlet=\"tile; context: { $implicit: app, deviceSize: deviceSize }\"></ng-container>\n }\n </div>\n</ng-template>\n<ng-template #tile let-app let-listMode=\"listMode\" let-navigateBack=\"navigateBack\" let-deviceSize=\"deviceSize\">\n <span\n [dynamicCommand]=\"app.DynamicCommand\"\n [setToStorage]=\"false\"\n [listMode]=\"false\"\n [navigateBackOnClick]=\"listMode ? false : isSimple ? true : false\"\n [enableCommand]=\"app.Component\"\n tileRenderer\n [data]=\"app\"\n [edit]=\"false\"\n [deviceSize]=\"deviceSize\"\n [component]=\"app.Component\"\n >\n </span>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, inject, OnChanges, signal } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport {\n BarsaApi,\n getDeviceIsMobile,\n LocalStorageService,\n BreadcrumbService,\n BreadCrumbInfo,\n RoutingService,\n EmptyPageComponent\n} from 'barsa-novin-ray-core';\nimport { Observable, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'bt-barsa-tile-sidebar-page',\n templateUrl: './barsa-tile-sidebar-page.component.html',\n styleUrls: ['./barsa-tile-sidebar-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [RoutingService]\n})\nexport class BarsaTileSidebarPageComponent extends EmptyPageComponent implements OnChanges {\n isMobile = getDeviceIsMobile();\n rtl = BarsaApi.LoginFormData.IsRtl;\n protected _router = inject(Router);\n protected _localStorage = inject(LocalStorageService);\n protected _breadCrumbService = inject(BreadcrumbService);\n protected _routingService = inject(RoutingService); // create new routing service to handle sidebar navigation\n breadcrumbs$: Observable<BreadCrumbInfo[]>;\n title: string | null;\n firstReportLoaded = signal(false);\n ngOnInit(): void {\n super.ngOnInit();\n this.isFirstPage = false;\n this._portalService.navigationEnd$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\n c && c.url.indexOf('mainside:report') > 0 && this.firstReportLoaded.set(true);\n });\n this.breadcrumbs$ = this._breadCrumbService.breadcrumbs$;\n this._routingService.isSidebar = true;\n this.title = localStorage.getItem('ActiveTile');\n }\n onClose(): void {\n this._router.navigate(['../']);\n }\n}\n","<div fd-bar>\n <div fd-bar-left style=\"flex: 1; width: 100%\">\n <fd-breadcrumb style=\"width: 100%\">\n @if (breadcrumbs$ | async; as breadCrumbs) { @for ( breadCrumb of breadCrumbs ;track breadCrumb.url; let i =\n $index; let last = $last) {\n <fd-breadcrumb-item>\n <bsu-breadcrumb\n [index]=\"i\"\n [isLast]=\"last\"\n [breadCrumb]=\"breadCrumb\"\n [allBreadCrumb]=\"breadCrumbs\"\n ></bsu-breadcrumb>\n </fd-breadcrumb-item>\n } }\n </fd-breadcrumb>\n </div>\n</div>\n\n<fd-dynamic-side-content class=\"tiles-sidebar-wrapper\" fillEmptySpace style=\"overflow: auto\">\n <fd-dynamic-side-content-side>\n <ng-container #containerRef></ng-container>\n </fd-dynamic-side-content-side>\n <fd-dynamic-side-content-main style=\"margin: 2rem\">\n @if(firstReportLoaded()===false){\n <fd-message-page type=\"no-items\" style=\"align-self: center; background: transparent\">\n <fd-message-page-title>{{ 'SearchInReports' | bbbTranslate }}</fd-message-page-title>\n </fd-message-page>\n }\n <router-outlet name=\"mainside\"> </router-outlet>\n </fd-dynamic-side-content-main>\n</fd-dynamic-side-content>\n<div class=\"sidbar-outlet\">\n <router-outlet></router-outlet>\n</div>\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})\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})\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 { Pipe, PipeTransform } from '@angular/core';\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\n\n@Pipe({\n name: 'filterAppsGrouped',\n standalone: true,\n pure: false\n})\nexport class FilterAppsGroupedPipe implements PipeTransform {\n transform(value: MetaobjectDataModel[] | undefined | null, term: string): MetaobjectDataModel[] | undefined | null {\n return value?.filter((cat) => !!cat.Apps.filter((app) => app.$Caption.includes(term ?? ''))?.length);\n }\n}\n\n@Pipe({\n name: 'filterApps',\n standalone: true,\n pure: false\n})\nexport class FilterAppsPipe implements PipeTransform {\n transform(value: MetaobjectDataModel[] | undefined | null, term: string): MetaobjectDataModel[] | undefined | null {\n if (!Array.isArray(value) || !term) {\n return value;\n }\n return value?.filter((app) => app.$Caption.includes(term));\n }\n}\n","import { Directive, ElementRef, OnChanges, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { BaseDirective, PortalService } from 'barsa-novin-ray-core';\nimport { takeUntil } from 'rxjs';\n\n@Directive({\n selector: '[tileSize]'\n})\nexport class TileSizeDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy {\n constructor(private _renderer2: Renderer2, protected _el: ElementRef, private _portalService: PortalService) {\n super(_el);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\n if (c === 's') {\n this._renderer2.addClass(this._el.nativeElement.firstChild, 'fd-tile--s');\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuard, PortalPageResolver, TileGroupBreadcrumResolver } from 'barsa-novin-ray-core';\nimport { BarsaTileSidebarPageComponent } from './barsa-tile-sidebar-page/barsa-tile-sidebar-page.component';\nimport { ReportNavigatorComponent } from 'barsa-sap-ui';\n\nexport const extendHomeRouter = [\n {\n path: 'appgroupsidebar',\n component: BarsaTileSidebarPageComponent,\n canActivate: [AuthGuard],\n data: {\n pageData: {\n Module: 'BarsaHomePage',\n HasAuthorize: true,\n Route: '/appgroupsidebar'\n }\n },\n resolve: { pageData: PortalPageResolver, breadcrumb: TileGroupBreadcrumResolver },\n children: [\n {\n path: 'report/:id',\n outlet: 'mainside',\n component: ReportNavigatorComponent,\n data: {\n pageData: {\n HasAuthorize: false,\n Route: '/report',\n Module: 'BarsaReportPage'\n }\n }\n },\n {\n path: 'popup',\n loadChildren: () => import('barsa-novin-ray-core').then((c) => c.BarsaSapUiFormPageModule)\n },\n {\n path: 'formfieldshow',\n loadChildren: () => import('barsa-novin-ray-core').then((c) => c.BarsaSapUiFormPageModule)\n }\n ]\n }\n];\nconst routes: Routes = [];\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class BarsaTilesRoutingModule {}\n","import { APP_INITIALIZER, ComponentFactoryResolver, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule, LowerCasePipe } from '@angular/common';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { FundamentalNgxCoreModule, GridListModule } from '@fundamental-ngx/core';\nimport { SplitterModule } from '@fundamental-ngx/btp/splitter';\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\nimport { BarsaSapUiModule } from 'barsa-sap-ui';\nimport { BarsaEchartsModule } from 'barsa-echarts';\n\nimport { ShellbarComponent } from './shellbar/shellbar.component';\nimport { TilesViewerComponent } from './tiles-viewer/tiles-viewer.component';\nimport { ProfileTileComponent } from './profile-tile/profile-tile.component';\nimport { SimpleTileComponent } from './simple-tile/simple-tile.component';\nimport { FeedTileComponent } from './feed-tile/feed-tile.component';\nimport { FooterTileComponent } from './footer-tile/footer-tile.component';\nimport { TileComponent } from './tile/tile.component';\nimport { LogoTileComponent } from './logo-tile/logo-tile.component';\nimport { NumericTileComponent } from './numeric-tile/numeric-tile.component';\nimport { TileHomeFilterPipe } from './pipes/tile-home-filter.pipe';\nimport { FooterEditTileComponent } from './footer-edit-tile/footer-edit-tile.component';\nimport { FormAppFinderComponent } from './form-app-finder/form-app-finder.component';\nimport { PinTileComponent } from './pin-tile/pin-tile.component';\nimport { GroupTilesPipe } from './pipes/group-tiles.pipe';\nimport { HomeGroupPipe } from './pipes/home-group.pipe';\nimport { TilePropPipe } from './pipes/tile-prop.pipe';\n\nimport { TilesService } from './tiles.service';\nimport { EmptyListDirective } from './directives/emptylist.directive';\nimport { ChangeAppTileComponent } from './change-app-tile/change-app-tile.component';\nimport { CreateAppGroupComponent } from './create-app-group/create-app-group.component';\n\nimport { MicroTileChartBarComponent } from './micro-tile-chart-bar/micro-tile-chart-bar.component';\nimport { MicroTileChartAreaComponent } from './micro-tile-chart-area/micro-tile-chart-area.component';\nimport { MicroTileChartCircularComponent } from './micro-tile-chart-circular/micro-tile-chart-circular.component';\nimport { MicroTileChartLineComponent } from './micro-tile-chart-line/micro-tile-chart-line.component';\nimport { MicroTileChartStackbarComponent } from './micro-tile-chart-stackbar/micro-tile-chart-stackbar.component';\nimport { MicroTileChartComparisonComponent } from './micro-tile-chart-comparison/micro-tile-chart-comparison.component';\nimport { NewsTileComponent } from './news-tile/news-tile.component';\nimport { ActionsLinkComponent } from './actions-link/actions-link.component';\nimport { ActionItemComponent } from './action-item/action-item.component';\nimport { MicroTileChartBulletComponent } from './micro-tile-chart-bullet/micro-tile-chart-bullet.component';\nimport { ActionLinksPipe } from './action-links.pipe';\nimport { AppFinderService } from './app-finder.service';\nimport { TilesViewerContainerComponent } from './tiles-viewer-container/tiles-viewer-container.component';\nimport { AppFinderComponent } from './app-finder/app-finder.component';\nimport { AppFinderGroupComponent } from './app-finder-group/app-finder-group.component';\nimport { AppFinderAppListComponent } from './app-finder-app-list/app-finder-app-list.component';\nimport { TileRendererDirective } from './tile-renderer.directive';\nimport { TilesViewerGroupComponent } from './tiles-viewer-group/tiles-viewer-group.component';\nimport { FormTileComponent } from './form-tile/form-tile.component';\nimport { NotificationGroupComponent } from './notification-group/notification-group.component';\nimport { NotificationGroupHeaderComponent } from './notification-group-header/notification-group-header.component';\nimport { BarsaShellbarComponent } from './barsa-shellbar/barsa-shellbar.component';\nimport { IconTabBarComponent, IconTabBarTabComponent, IconTabBarTabContentDirective } from '@fundamental-ngx/platform';\nimport { PopoverAppFinderComponent } from './popover-app-finder/popover-app-finder.component';\nimport { FilterAppsGroupedPipe, FilterAppsPipe } from './popover-app-finder/filter-apps-grouped.pipe';\nimport { TileStyleDirective } from './tile-style.directive';\nimport { TileSizeDirective } from './tile-size.directive';\nimport { BarsaPinAppComponent } from './barsa-pin-app/barsa-pin-app.component';\nimport { Router, RouterModule } from '@angular/router';\nimport { BarsaTileGroupPageComponent } from './barsa-tile-group-page/barsa-tile-group-page.component';\nimport { BarsaTilesRoutingModule, extendHomeRouter } from './barsa-tiles-routing.module';\nimport { BarsaTileSidebarPageComponent } from './barsa-tile-sidebar-page/barsa-tile-sidebar-page.component';\n\nconst components = [\n ShellbarComponent,\n SimpleTileComponent,\n TilesViewerComponent,\n ProfileTileComponent,\n FeedTileComponent,\n FooterTileComponent,\n TileComponent,\n LogoTileComponent,\n NumericTileComponent,\n FooterEditTileComponent,\n FormAppFinderComponent,\n PinTileComponent,\n ChangeAppTileComponent,\n CreateAppGroupComponent,\n MicroTileChartAreaComponent,\n MicroTileChartCircularComponent,\n MicroTileChartLineComponent,\n MicroTileChartStackbarComponent,\n MicroTileChartComparisonComponent,\n MicroTileChartBarComponent,\n MicroTileChartBulletComponent,\n TilesViewerContainerComponent,\n NewsTileComponent,\n ActionsLinkComponent,\n ActionItemComponent,\n AppFinderComponent,\n AppFinderGroupComponent,\n AppFinderAppListComponent,\n TilesViewerGroupComponent,\n FormTileComponent,\n BarsaShellbarComponent,\n PopoverAppFinderComponent,\n BarsaPinAppComponent,\n BarsaTileGroupPageComponent,\n BarsaTileSidebarPageComponent\n];\nconst pipes = [GroupTilesPipe, TileHomeFilterPipe, HomeGroupPipe, ActionLinksPipe, TilePropPipe];\nconst directives = [EmptyListDirective, TileRendererDirective, TileStyleDirective, TileSizeDirective];\nexport function addTilesPageSidebar(_router: Router): void {\n const config = _router.config;\n const home = config.find((c) => c.path === 'home');\n home?.children?.push(...extendHomeRouter);\n const servicedesk = config.find((c) => c.path === 'servicedesk');\n servicedesk?.children?.push(...extendHomeRouter);\n _router.resetConfig(config);\n}\n@NgModule({\n schemas: [NO_ERRORS_SCHEMA],\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n DragDropModule,\n CdkTableModule,\n FundamentalNgxCoreModule,\n GridListModule,\n ReactiveFormsModule,\n BarsaNovinRayCoreModule,\n BarsaSapUiModule,\n BarsaTilesRoutingModule,\n BarsaEchartsModule,\n IconTabBarComponent,\n IconTabBarTabComponent,\n IconTabBarTabContentDirective,\n FilterAppsGroupedPipe,\n FilterAppsPipe,\n SplitterModule\n ],\n providers: [\n TilesService,\n AppFinderService,\n LowerCasePipe,\n {\n provide: APP_INITIALIZER,\n useFactory: (_router: Router) => () => addTilesPageSidebar(_router),\n deps: [Router],\n multi: true\n }\n ],\n declarations: [\n ...components,\n ...pipes,\n ...directives,\n NotificationGroupComponent,\n NotificationGroupHeaderComponent\n ],\n exports: [...components]\n})\nexport class BarsaTilesModule extends BaseModule {\n protected dynamicComponents = [...components];\n\n constructor(protected dcm: DynamicComponentService, protected componentFactoryResolver: ComponentFactoryResolver) {\n super(dcm, componentFactoryResolver, 'BarsaTilesModule');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1.TilesService","takeUntil","filter","i1","i3","i4","i5","i7.FooterTileComponent","i8.TileStyleDirective","i9","i3.TileComponent","i4.TilePropPipe","i2.ActionItemComponent","i3.TilePropPipe","i6","i10","i11","i12.ActionsLinkComponent","i13.TileRendererDirective","i14","i7.EmptyListDirective","i7","i8.AppFinderGroupComponent","i9.AppFinderAppListComponent","i2.TilesService","i8","i10.TilesViewerGroupComponent","i3.TilesViewerService","i5.TilesViewerComponent","i5.TileComponent","i6.TilePropPipe","i2.AppFinderService","i4.AppFinderComponent","i2.TileComponent","i7.NotificationGroupHeaderComponent","i13","i14.NotificationGroupComponent","i7.BarsaShellbarComponent","i8.TileRendererDirective"],"mappings":"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"}
|