barsa-tiles 0.0.1
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.
- package/README.md +25 -0
- package/esm2020/barsa-tiles.mjs +5 -0
- package/esm2020/lib/action-item/action-item.component.mjs +17 -0
- package/esm2020/lib/action-links.pipe.mjs +16 -0
- package/esm2020/lib/actions-link/actions-link.component.mjs +19 -0
- package/esm2020/lib/app-finder/app-finder.component.mjs +53 -0
- package/esm2020/lib/app-finder-app-list/app-finder-app-list.component.mjs +40 -0
- package/esm2020/lib/app-finder-group/app-finder-group.component.mjs +42 -0
- package/esm2020/lib/app-finder.service.mjs +121 -0
- package/esm2020/lib/barsa-tiles.module.mjs +196 -0
- package/esm2020/lib/change-app-tile/change-app-tile.component.mjs +47 -0
- package/esm2020/lib/create-app-group/create-app-group.component.mjs +44 -0
- package/esm2020/lib/directives/emptylist.directive.mjs +36 -0
- package/esm2020/lib/feed-tile/feed-tile.component.mjs +31 -0
- package/esm2020/lib/footer-edit-tile/footer-edit-tile.component.mjs +13 -0
- package/esm2020/lib/footer-tile/footer-tile.component.mjs +28 -0
- package/esm2020/lib/form-app-finder/form-app-finder.component.mjs +94 -0
- package/esm2020/lib/form-tile/form-tile.component.mjs +34 -0
- package/esm2020/lib/logo-tile/logo-tile.component.mjs +22 -0
- package/esm2020/lib/micro-tile-chart-area/micro-tile-chart-area.component.mjs +39 -0
- package/esm2020/lib/micro-tile-chart-bar/micro-tile-chart-bar.component.mjs +28 -0
- package/esm2020/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.mjs +26 -0
- package/esm2020/lib/micro-tile-chart-circular/micro-tile-chart-circular.component.mjs +19 -0
- package/esm2020/lib/micro-tile-chart-comparison/micro-tile-chart-comparison.component.mjs +30 -0
- package/esm2020/lib/micro-tile-chart-line/micro-tile-chart-line.component.mjs +31 -0
- package/esm2020/lib/micro-tile-chart-stackbar/micro-tile-chart-stackbar.component.mjs +26 -0
- package/esm2020/lib/models/app-tile-footer-section.mjs +2 -0
- package/esm2020/lib/models/app-tile-footer.mjs +2 -0
- package/esm2020/lib/models/app-tile-group-pin.mjs +2 -0
- package/esm2020/lib/models/base-bt-tile-component.mjs +20 -0
- package/esm2020/lib/models/base-tile-component.mjs +57 -0
- package/esm2020/lib/models/base-tile-setting.mjs +2 -0
- package/esm2020/lib/models/feed-tile-setting.mjs +2 -0
- package/esm2020/lib/models/index.mjs +14 -0
- package/esm2020/lib/models/logo-tile-setting.mjs +2 -0
- package/esm2020/lib/models/micro-tile-chart-bullet-setting.mjs +2 -0
- package/esm2020/lib/models/news-tile-setting.mjs +2 -0
- package/esm2020/lib/models/numeric-tile-setting.mjs +2 -0
- package/esm2020/lib/models/profile-tile-setting.mjs +2 -0
- package/esm2020/lib/models/tile-setting.mjs +2 -0
- package/esm2020/lib/models/user-portal-settings.mjs +2 -0
- package/esm2020/lib/news-tile/news-tile.component.mjs +59 -0
- package/esm2020/lib/numeric-tile/numeric-tile.component.mjs +33 -0
- package/esm2020/lib/pin-tile/pin-tile.component.mjs +111 -0
- package/esm2020/lib/pipes/group-tiles.pipe.mjs +31 -0
- package/esm2020/lib/pipes/home-group.pipe.mjs +17 -0
- package/esm2020/lib/pipes/tile-home-filter.pipe.mjs +28 -0
- package/esm2020/lib/profile-tile/profile-tile.component.mjs +25 -0
- package/esm2020/lib/shellbar/shellbar.component.mjs +159 -0
- package/esm2020/lib/simple-tile/simple-tile.component.mjs +17 -0
- package/esm2020/lib/tile/tile.component.mjs +47 -0
- package/esm2020/lib/tile-renderer.directive.mjs +69 -0
- package/esm2020/lib/tiles-viewer/tiles-viewer.component.mjs +118 -0
- package/esm2020/lib/tiles-viewer-container/tiles-viewer-container.component.mjs +158 -0
- package/esm2020/lib/tiles-viewer-group/tiles-viewer-group.component.mjs +75 -0
- package/esm2020/lib/tiles-viewer.service.mjs +130 -0
- package/esm2020/lib/tiles.service.mjs +500 -0
- package/esm2020/public-api.mjs +43 -0
- package/fesm2015/barsa-tiles.mjs +2415 -0
- package/fesm2015/barsa-tiles.mjs.map +1 -0
- package/fesm2020/barsa-tiles.mjs +2386 -0
- package/fesm2020/barsa-tiles.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/action-item/action-item.component.d.ts +6 -0
- package/lib/action-links.pipe.d.ts +7 -0
- package/lib/actions-link/actions-link.component.d.ts +8 -0
- package/lib/app-finder/app-finder.component.d.ts +24 -0
- package/lib/app-finder-app-list/app-finder-app-list.component.d.ts +20 -0
- package/lib/app-finder-group/app-finder-group.component.d.ts +14 -0
- package/lib/app-finder.service.d.ts +33 -0
- package/lib/barsa-tiles.module.d.ts +65 -0
- package/lib/change-app-tile/change-app-tile.component.d.ts +20 -0
- package/lib/create-app-group/create-app-group.component.d.ts +19 -0
- package/lib/directives/emptylist.directive.d.ts +14 -0
- package/lib/feed-tile/feed-tile.component.d.ts +11 -0
- package/lib/footer-edit-tile/footer-edit-tile.component.d.ts +6 -0
- package/lib/footer-tile/footer-tile.component.d.ts +11 -0
- package/lib/form-app-finder/form-app-finder.component.d.ts +38 -0
- package/lib/form-tile/form-tile.component.d.ts +24 -0
- package/lib/logo-tile/logo-tile.component.d.ts +7 -0
- package/lib/micro-tile-chart-area/micro-tile-chart-area.component.d.ts +8 -0
- package/lib/micro-tile-chart-bar/micro-tile-chart-bar.component.d.ts +12 -0
- package/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.d.ts +16 -0
- package/lib/micro-tile-chart-circular/micro-tile-chart-circular.component.d.ts +7 -0
- package/lib/micro-tile-chart-comparison/micro-tile-chart-comparison.component.d.ts +8 -0
- package/lib/micro-tile-chart-line/micro-tile-chart-line.component.d.ts +8 -0
- package/lib/micro-tile-chart-stackbar/micro-tile-chart-stackbar.component.d.ts +8 -0
- package/lib/models/app-tile-footer-section.d.ts +6 -0
- package/lib/models/app-tile-footer.d.ts +8 -0
- package/lib/models/app-tile-group-pin.d.ts +5 -0
- package/lib/models/base-bt-tile-component.d.ts +9 -0
- package/lib/models/base-tile-component.d.ts +26 -0
- package/lib/models/base-tile-setting.d.ts +5 -0
- package/lib/models/feed-tile-setting.d.ts +7 -0
- package/lib/models/index.d.ts +13 -0
- package/lib/models/logo-tile-setting.d.ts +6 -0
- package/lib/models/micro-tile-chart-bullet-setting.d.ts +10 -0
- package/lib/models/news-tile-setting.d.ts +4 -0
- package/lib/models/numeric-tile-setting.d.ts +9 -0
- package/lib/models/profile-tile-setting.d.ts +7 -0
- package/lib/models/tile-setting.d.ts +9 -0
- package/lib/models/user-portal-settings.d.ts +9 -0
- package/lib/news-tile/news-tile.component.d.ts +24 -0
- package/lib/numeric-tile/numeric-tile.component.d.ts +12 -0
- package/lib/pin-tile/pin-tile.component.d.ts +30 -0
- package/lib/pipes/group-tiles.pipe.d.ts +14 -0
- package/lib/pipes/home-group.pipe.d.ts +9 -0
- package/lib/pipes/tile-home-filter.pipe.d.ts +8 -0
- package/lib/profile-tile/profile-tile.component.d.ts +7 -0
- package/lib/shellbar/shellbar.component.d.ts +64 -0
- package/lib/simple-tile/simple-tile.component.d.ts +6 -0
- package/lib/tile/tile.component.d.ts +12 -0
- package/lib/tile-renderer.directive.d.ts +27 -0
- package/lib/tiles-viewer/tiles-viewer.component.d.ts +51 -0
- package/lib/tiles-viewer-container/tiles-viewer-container.component.d.ts +55 -0
- package/lib/tiles-viewer-group/tiles-viewer-group.component.d.ts +34 -0
- package/lib/tiles-viewer.service.d.ts +42 -0
- package/lib/tiles.service.d.ts +68 -0
- package/package.json +31 -0
- package/public-api.d.ts +39 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barsa-tiles.mjs","sources":["../../../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/tile.component.ts","../../../projects/barsa-tiles/src/lib/tile/tile.component.html","../../../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.service.ts","../../../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/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/pipes/home-group.pipe.ts","../../../projects/barsa-tiles/src/lib/action-links.pipe.ts","../../../projects/barsa-tiles/src/lib/barsa-tiles.module.ts","../../../projects/barsa-tiles/src/barsa-tiles.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n Renderer2\n} from '@angular/core';\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\nimport { AppTileFooter } from './app-tile-footer';\n\nimport { BaseTileSetting } from './base-tile-setting';\nimport { TileSetting } from './tile-setting';\n\n@Component({\n selector: 'bt-base-tile',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport abstract class BaseTileComponent<T extends BaseTileSetting> extends BaseComponent implements OnInit {\n @Input() data: MetaobjectDataModel;\n @Input() editHome: boolean;\n @Output() hideClick = new EventEmitter();\n @Output() renameClick = new EventEmitter();\n\n constructor(public el: ElementRef, protected _renderer2: Renderer2, protected _cdr: ChangeDetectorRef) {\n super();\n }\n get settings(): T {\n return this.data.Component.Settings;\n }\n\n get title(): string {\n return this.data.TileTitle;\n }\n get subtitle(): string {\n return this.data.Subtitle;\n }\n get double(): boolean {\n return this.settings.TileSetting.IsDouble;\n }\n get badge(): string {\n return this.settings.TileSetting.Badge;\n }\n get footer(): AppTileFooter {\n return this.settings.TileSetting.Footer;\n }\n get tileSetting(): TileSetting {\n return this.settings.TileSetting;\n }\n setEditHome(val: boolean): void {\n this.editHome = val;\n this._cdr.detectChanges();\n }\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\nimport { BaseTileComponent } from './base-tile-component';\n\nimport { BaseTileSetting } from './base-tile-setting';\n\n@Component({\n selector: 'bt-base-bt-tile',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport abstract class BaseBtTileComponent<T extends BaseTileSetting> extends BaseTileComponent<T> implements OnInit {\n ngOnInit(): void {\n super.ngOnInit();\n this._renderer2.addClass(this.el.nativeElement, 'barsa-tile');\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\nimport { AppTileFooter, AppTileFooterSection } from '../models';\n@Component({\n selector: '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() settings: AppTileFooter;\n\n get twoColumn(): boolean {\n return this.settings.TwoColumn;\n }\n get firstSection(): AppTileFooterSection {\n return this.settings.FirstSection;\n }\n get secondSection(): AppTileFooterSection {\n return this.settings.SecondSection;\n }\n}\n","<div fd-tile-footer [twoColumn]=\"twoColumn\">\r\n <ng-container *ngIf=\"twoColumn; else oneColumn\">\r\n <div fd-tile-section>\r\n <fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\r\n </div>\r\n <div fd-tile-section>\r\n <fd-icon fd-tile-refresh [font]=\"secondSection.Icon | sapFont\" [glyph]=\"secondSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ secondSection.Text | bbbTranslate }}</span>\r\n </div>\r\n </ng-container>\r\n <ng-template #oneColumn>\r\n <fd-icon fd-tile-refresh [font]=\"firstSection.Icon | sapFont\" [glyph]=\"firstSection.Icon\"></fd-icon>\r\n <span fd-tile-footer-text>{{ firstSection.Text | bbbTranslate }}</span>\r\n </ng-template>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, HostListener, Input, TemplateRef } from '@angular/core';\nimport { BarsaApi } from 'barsa-novin-ray-core';\n\nimport { BaseTileComponent, BaseTileSetting } from '../models';\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 BaseTileComponent<BaseTileSetting> {\n @Input() type: 'feed' | 'launch' | 'kpi';\n @Input() footerTemplate: TemplateRef<any>;\n @Input() disableClick: boolean;\n runningCommand = false;\n @HostListener('click', ['$event'])\n onClick(): boolean {\n if (this.editHome || this.disableClick || this.runningCommand) {\n return false;\n }\n const command = this.data.DynamicCommand;\n const e = { command, DynamicSetting: null };\n this.runningCommand = true;\n this._cdr.detectChanges();\n BarsaApi.Common.CustomCodeManager.RunDynamicCommand(command.Id, e, () => {\n this.runningCommand = false;\n this._cdr.detectChanges();\n });\n return false;\n }\n}\n","<fd-tile [type]=\"type\" [double]=\"double\" [action]=\"editHome\">\n <ng-container *ngIf=\"editHome && !data.Locked\">\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 </ng-container>\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 <ng-content></ng-content>\n <ng-container [ngTemplateOutlet]=\"footerTemplate\" *ngIf=\"footerTemplate; else defaultFooter\"></ng-container>\n</fd-tile>\n<ng-template #defaultFooter>\n <bt-footer-tile *ngIf=\"footer\" [settings]=\"footer\"></bt-footer-tile>\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<bsu-mask *ngIf=\"runningCommand\"></bsu-mask>\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\n\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\nimport { BarsaApi, MetaobjectDataModel } from 'barsa-novin-ray-core';\n\ninterface FormTileSetting extends BaseTileSetting {\n RunBlMethod: string;\n TypeViewEntity: { Id };\n TypeDef: { Id };\n}\n\n@Component({\n selector: 'bt-form-tile',\n templateUrl: './form-tile.component.html',\n styleUrls: ['./form-tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormTileComponent extends BaseBtTileComponent<FormTileSetting> implements OnInit {\n newId: string;\n params: { moId: string; typeDefId: string; viewId: string };\n\n ngOnInit(): void {\n super.ngOnInit();\n const options = {\n Parameters: [],\n Method: this.settings.RunBlMethod,\n SuccessFn: (mo: MetaobjectDataModel) => {\n this.params = {\n moId: mo.$State === 'New' ? '0' : mo.Id,\n typeDefId: this.settings.TypeDef.Id,\n viewId: this.settings.TypeViewEntity.Id\n };\n this._cdr.detectChanges();\n },\n FailFn: () => {}\n };\n BarsaApi.Bw.RunBlMethodAsync(options);\n }\n}\n","<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [editHome]=\"editHome\"\r\n [disableClick]=\"true\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <bnrc-form *ngIf=\"params\" [params]=\"params\"></bnrc-form>\r\n </div>\r\n</bt-tile>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { TileComponent } from '../tile/tile.component';\r\n@Component({\r\n selector: 'bt-action-item',\r\n templateUrl: './action-item.component.html',\r\n styleUrls: ['./action-item.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ActionItemComponent extends TileComponent {}\r\n","<div [class.action-item-edit-mode]=\"editHome\" class=\"action-item\">\r\n <h1 fd-tile-title>{{ title }}</h1>\r\n <h2 fd-tile-subtitle *ngIf=\"subtitle\">{{ subtitle }}</h2>\r\n\r\n <div *ngIf=\"editHome && !data.Locked\" class=\"buttons\">\r\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\r\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\r\n </div>\r\n <fd-menu #menu>\r\n <li fd-menu-item>\r\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\r\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n </fd-menu>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\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 {\n @Input() actionsLink;\n @Input() editHome: boolean;\n}\n","<bt-action-item\n *ngFor=\"let actionItem of actionsLink\"\n cdkDrag\n [data]=\"actionItem\"\n [editHome]=\"editHome\"\n [cdkDragDisabled]=\"!actionItem || actionItem.Locked\"\n [mo]=\"actionItem\"\n>\n</bt-action-item>\n","import {\n ChangeDetectorRef,\n ComponentRef,\n Directive,\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';\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() editHome: 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 ) {\n super();\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.editHome = this.editHome;\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 { editHome } = changes;\n if (editHome && !editHome.firstChange) {\n this._tileRef.instance.setEditHome(editHome.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, EventEmitter, Input, Output } from '@angular/core';\n\nimport { BaseComponent, MetaobjectDataModel } 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() editHome: boolean;\n @Input() isAppTileSubGroup: boolean;\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 constructor() {\n super();\n }\n\n onDrop(\n appTileGroup: MetaobjectDataModel,\n event: CdkDragDrop<{ isTile: boolean; items: MetaobjectDataModel[] }>\n ): void {\n if (!this.editHome || 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 [fixed]=\"true\" [attr.editHome]=\"editHome\" cdkDrag [cdkDragDisabled]=\"!editHome || !stackContent\">\r\n <fd-layout-panel-header *ngIf=\"editHome || stackContent || isAppTileSubGroup\">\r\n <fd-layout-panel-head>\r\n <h2 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h2>\r\n </fd-layout-panel-head>\r\n <fd-layout-panel-actions *ngIf=\"editHome\" class=\"group-btns\">\r\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n <button\r\n fd-button\r\n fd-toolbar-item\r\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\r\n (click)=\"onToggleShowHide(appTileGroup)\"\r\n ></button>\r\n <button\r\n fd-button\r\n *ngIf=\"appTileGroup.Predefined && appTileGroup.$TileSettingChanged\"\r\n [label]=\"'Refresh' | bbbTranslate\"\r\n (click)=\"onReset(appTileGroup)\"\r\n ></button>\r\n <button\r\n *ngIf=\"!appTileGroup.Predefined\"\r\n fd-button\r\n [label]=\"'Delete' | bbbTranslate\"\r\n [fdType]=\"'negative'\"\r\n (click)=\"onDelete(appTileGroup)\"\r\n ></button>\r\n </fd-toolbar>\r\n </fd-layout-panel-actions>\r\n </fd-layout-panel-header>\r\n <fd-layout-panel-body [bleed]=\"!stackContent\">\r\n <div\r\n class=\"tile-wrapper\"\r\n fd-panel-content\r\n #tiles=\"cdkDropList\"\r\n cdkDropList\r\n cdkDropListOrientation=\"horizontal\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListConnectedTo]=\"actionLinks\"\r\n [cdkDropListData]=\"{\r\n isTile: true,\r\n items: appTileGroup.navigatorTiles || []\r\n }\"\r\n >\r\n <ng-container *ngIf=\"!editHome\">\r\n <fd-busy-indicator fd-title *ngIf=\"!appTileGroup.$TilesLoaded\" [loading]=\"true\"></fd-busy-indicator>\r\n\r\n <h5 fd-title *ngIf=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"></h5>\r\n </ng-container>\r\n <div\r\n *ngFor=\"let appTile of appTileGroup.navigatorTiles; let k = index\"\r\n [class.edit-home]=\"editHome\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"!editHome || appTileGroup.Locked\"\r\n [dynamicCommand]=\"appTile.DynamicCommand\"\r\n [enableCommand]=\"!editHome && appTile.Component\"\r\n tileRenderer\r\n [data]=\"appTile\"\r\n [editHome]=\"editHome\"\r\n [component]=\"appTile.Component\"\r\n (hideClick)=\"onAppTileHideClick(appTile)\"\r\n (renameClick)=\"onAppTileRenameClick(appTile)\"\r\n ></div>\r\n <fd-tile class=\"add-tile\" *ngIf=\"editHome\" [routerLink]=\"['/home/appfinder']\">\r\n <div>\r\n <fd-icon glyph=\"add\"></fd-icon>\r\n </div>\r\n </fd-tile>\r\n </div>\r\n </fd-layout-panel-body>\r\n</fd-layout-panel>\r\n\r\n<bt-actions-link\r\n [class.actions-link-edit-home]=\"editHome\"\r\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\r\n [editHome]=\"editHome\"\r\n [style.min-height]=\"editHome ? '4rem' : 'auto'\"\r\n cdkDropList\r\n #actionLinks=\"cdkDropList\"\r\n cdkDropListOrientation=\"horizontal\"\r\n [cdkDropListConnectedTo]=\"tiles\"\r\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\r\n [cdkDropListData]=\"{\r\n isTile: false,\r\n items: appTileGroup.navigatorActionLinks || []\r\n }\"\r\n>\r\n</bt-actions-link>\r\n<ng-container *ngFor=\"let appTileSubGroup of appTileGroup.$Children\">\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileSubGroup\"\r\n [editHome]=\"editHome\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"true\"\r\n (tilesDropped)=\"tilesDropped.emit($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-tiles-viewer-group>\r\n</ng-container>\r\n","import { Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport { BbbTranslatePipe } from 'barsa-novin-ray-core';\n\n@Directive({\n selector: '[emptyList]'\n})\nexport class EmptyListDirective {\n @Input() set emptyList(list: any[]) {\n if (!list || (!list.length && !this.hasView)) {\n const _view = this.viewContainer.createEmbeddedView(this.templateRef);\n this.setNoData(_view);\n this.hasView = true;\n } else if (list && list.length > 0 && this.hasView) {\n this.viewContainer.clear();\n this.hasView = false;\n }\n }\n private hasView = false;\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef,\n private bbbPipe: BbbTranslatePipe\n ) {}\n\n setNoData(view: EmbeddedViewRef<any>): void {\n (view.rootNodes[0] as HTMLElement).innerHTML = this.bbbPipe.transform('NoData');\n }\n}\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","<ng-container *ngIf=\"appGroup\">\r\n <h5 fd-title *emptyList=\"appGroup.Apps\"></h5>\r\n <ng-container *ngIf=\"(appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }).length > 0\">\r\n <fd-fixed-card-layout [disableDragDrop]=\"true\">\r\n <ng-container\r\n *ngFor=\"let app of appGroup.Apps | filterStr: { Title: searchTerm, mode: 'contains' }; let i = index\"\r\n >\r\n <fd-card *fdCardDef=\"i\">\r\n <fd-card-header [dynCommand]=\"app.DynamicCommand\" [mo]=\"app\">\r\n <fd-avatar *ngIf=\"app.Icon\" [glyph]=\"app.Icon\" size=\"s\" [title]=\"app.Title\"></fd-avatar>\r\n <h2 fd-card-title class=\"header-title\">\r\n {{ app.Title }}\r\n </h2>\r\n <h3 fd-card-subtitle></h3>\r\n </fd-card-header>\r\n <fd-card-content>\r\n <button\r\n fd-button\r\n [glyph]=\"'pushpin-off'\"\r\n [fdType]=\"\r\n pinnedAppInAppTileGroups[app.Id]\r\n ? pinnedAppInAppTileGroups[app.Id].length\r\n ? 'emphasized'\r\n : 'standard'\r\n : app.$HasPinned\r\n ? 'emphasized'\r\n : 'standard'\r\n \"\r\n (click)=\"onPinTap(app)\"\r\n ></button>\r\n </fd-card-content>\r\n </fd-card>\r\n </ng-container>\r\n </fd-fixed-card-layout>\r\n </ng-container>\r\n</ng-container>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges\r\n} from '@angular/core';\r\n\r\nimport { BaseComponent, MetaobjectDataModel } from 'barsa-novin-ray-core';\r\n@Component({\r\n selector: 'bt-app-finder-group',\r\n templateUrl: './app-finder-group.component.html',\r\n styleUrls: ['./app-finder-group.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\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","<ng-container *ngIf=\"listMode; else menuTpl\">\n <div class=\"app-groups\">\n <ul fd-list [selection]=\"true\">\n <li\n fd-list-item\n *ngFor=\"let group of appGroups; let i = index\"\n [selected]=\"group.Id === selectedId\"\n (click)=\"OnGroupClick(group)\"\n >\n <span fd-list-title>\n {{ group.Title }}\n </span>\n </li>\n </ul>\n </div>\n</ng-container>\n<ng-template #menuTpl>\n <li *ngFor=\"let group of appGroups; let i = index\" fd-menu-item [selected]=\"group.Id === selectedId\">\n <a fd-menu-interactive (click)=\"OnMenuGroupClick(group)\">\n <span fd-menu-title>\n {{ group.Title }}\n </span>\n </a>\n </li>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ContentDensity } from '@fundamental-ngx/core';\nimport { SearchInput } from '@fundamental-ngx/platform';\n\nimport { BaseComponent, MetaobjectDataModel, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bt-app-finder',\n templateUrl: './app-finder.component.html',\n styleUrls: ['./app-finder.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AppFinderComponent extends BaseComponent {\n @Input() appGroups: MetaobjectDataModel[];\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() sideContentSize: string;\n @Input() selectedAppGroup: MetaobjectDataModel;\n @Input() selectedAppGroupId: string;\n @Input() mobile: boolean;\n @Input() contentDensity: ContentDensity = 'compact';\n @Input() contentHeight: string;\n @Input() pinnedAppInAppTileGroups: { [key: string]: string[] };\n @Output() pinClick = new EventEmitter<MetaobjectDataModel>();\n @Output() selectedAppGroupIdChange = new EventEmitter<string>();\n searchTerm: string;\n\n onSearchSubmit($event: SearchInput): void {\n this.searchTerm = $event.text;\n }\n}\n","<div class=\"wrapper\">\n <ng-container *ngIf=\"appGroups; else loading\">\n <fd-toolbar [fdType]=\"'solid'\">\n <button\n fd-toolbar-item\n fd-button\n [fdMenu]=\"true\"\n [glyph]=\"'menu2'\"\n [fdType]=\"'transparent'\"\n [fdMenuTrigger]=\"menu\"\n [label]=\"selectedAppGroup?.Title\"\n *ngIf=\"deviceSize === 's'\"\n ></button>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <fdp-search-field\n fd-toolbar-item\n [contentDensity]=\"contentDensity\"\n [placeholder]=\"'Search' | bbbTranslate\"\n (searchSubmit)=\"onSearchSubmit($event)\"\n [suggestions]=\"[]\"\n ></fdp-search-field>\n </fd-toolbar>\n <div style=\"display: flex; overflow-y: auto\" [style.height]=\"contentHeight\">\n <div class=\"app-groups\">\n <bt-app-finder-group\n *ngIf=\"deviceSize !== 's'\"\n [appGroups]=\"appGroups\"\n [listMode]=\"true\"\n [selectedId]=\"selectedAppGroupId\"\n (selectedIdChange)=\"selectedAppGroupIdChange.emit($event)\"\n >\n </bt-app-finder-group>\n </div>\n <bt-app-finder-app-list\n [appGroup]=\"selectedAppGroup\"\n [mobile]=\"mobile\"\n [searchTerm]=\"searchTerm\"\n [pinnedAppInAppTileGroups]=\"pinnedAppInAppTileGroups\"\n (pinClick)=\"pinClick.emit($event)\"\n ></bt-app-finder-app-list>\n </div>\n <fd-menu\n #menu\n [mobile]=\"deviceSize === 's'\"\n [mobileConfig]=\"{ title: 'Groups' | bbbTranslate, hasCloseButton: true }\"\n >\n <bt-app-finder-group\n *ngIf=\"deviceSize === 's'\"\n [appGroups]=\"appGroups\"\n [selectedId]=\"selectedAppGroupId\"\n (selectedIdChange)=\"menu.close(); selectedAppGroupIdChange.emit($event)\"\n >\n </bt-app-finder-group>\n </fd-menu>\n </ng-container>\n <ng-template #loading>\n <bsu-mask></bsu-mask>\n </ng-template>\n</div>\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 <fd-form-message *ngIf=\"submitted && appGroupForm.controls.title.errors\" type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\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 fdInitialFocus\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 { Subject, BehaviorSubject, Observable, of, from } from 'rxjs';\r\nimport { concatMap, distinctUntilChanged, filter, shareReplay, startWith, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport { RtlService } from '@fundamental-ngx/core';\r\nimport { BarsaApi, BbbTranslatePipe, MetaobjectDataModel, MoForReportModel, PortalService } from 'barsa-novin-ray-core';\r\nimport { AppTileGroupPin, UserPortalSettings } from './models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TilesService implements OnDestroy {\r\n deviceSize$: Observable<'s' | 'm' | 'l' | 'xl'>;\r\n homeAppTileGroups$: Observable<MetaobjectDataModel[]>;\r\n pinTiles$: Observable<PinTileInfo | null>;\r\n shellbarSource = new Subject<MetaobjectDataModel>();\r\n shellbar$: Observable<MetaobjectDataModel>;\r\n appTileGroups$: Observable<MoForReportModel | null>;\r\n editHome$: Observable<boolean>;\r\n\r\n private _OnDestroy$ = new Subject<void>();\r\n private _homeAppTileGroupsSource = new BehaviorSubject<MetaobjectDataModel[]>([]);\r\n private pinTilesSource = new Subject<PinTileInfo>();\r\n private _appTileGroupsSource = new BehaviorSubject<MoForReportModel | null>(null);\r\n private _edithomeSource = new BehaviorSubject<boolean>(false);\r\n\r\n constructor(\r\n private _portalService: PortalService,\r\n private _rtlService: RtlService,\r\n private _bbbTranslatePipe: BbbTranslatePipe\r\n ) {\r\n BarsaApi.Bw.TilesService = this;\r\n this.homeAppTileGroups$ = this._homeAppTileGroupsSource.asObservable();\r\n this.pinTiles$ = this.pinTilesSource.asObservable().pipe(startWith(null));\r\n this.shellbarSource = new Subject<MetaobjectDataModel>();\r\n this.shellbar$ = this.shellbarSource.asObservable().pipe(shareReplay(1));\r\n this.appTileGroups$ = this._appTileGroupsSource.pipe(shareReplay(1));\r\n\r\n this.editHome$ = this._edithomeSource.asObservable().pipe(takeUntil(this._OnDestroy$), distinctUntilChanged());\r\n this.deviceSize$ = this._portalService.deviceSize$;\r\n this._rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);\r\n this.loadAllAppTileGroups();\r\n this.appTileGroups$\r\n .pipe(\r\n filter((moForReportModel) => moForReportModel !== null),\r\n tap((moForReportModel) => {\r\n if (moForReportModel) {\r\n this._allAppsLoaded(moForReportModel);\r\n }\r\n })\r\n )\r\n .subscribe();\r\n }\r\n get appTileGroups(): MoForReportModel | null {\r\n return this._appTileGroupsSource.getValue();\r\n }\r\n ngOnDestroy(): void {\r\n this._OnDestroy$.next();\r\n }\r\n\r\n loadAppTileGroups(appTileGroup: MetaobjectDataModel): void {\r\n if (!appTileGroup || appTileGroup.$TilesLoaded) {\r\n return;\r\n }\r\n const allApps = this._appTileGroupsSource.getValue();\r\n if (allApps) {\r\n const selectedAppTilegroup = allApps?.MoDataList.find((c) => c.Id === appTileGroup.Id);\r\n if (selectedAppTilegroup) {\r\n this._loadAppTilesOfAppTileGroup(selectedAppTilegroup, allApps);\r\n selectedAppTilegroup.$Children?.forEach((subGroup) => {\r\n this._loadAppTilesOfAppTileGroup(subGroup, allApps);\r\n });\r\n }\r\n }\r\n }\r\n saveTilesStackContent(tilesStackContent: boolean): Promise<void> {\r\n const userPortalSettings = this._portalService.userPortalSettings;\r\n if (userPortalSettings == null) {\r\n return Promise.resolve();\r\n }\r\n userPortalSettings.TilesStackContent = tilesStackContent;\r\n userPortalSettings.$State = 'Modified';\r\n return this._saveUserPortalSettings(userPortalSettings).then(() =>\r\n this._portalService.setUserPortalSettings(userPortalSettings)\r\n );\r\n }\r\n\r\n loadUserPortalSettings(): Observable<any> {\r\n return this._portalService.getData('UserPortalSetting').pipe(\r\n concatMap((data) => {\r\n if (data) {\r\n return of(data);\r\n } else {\r\n return this.loadFromServerUserPortalSetting();\r\n }\r\n })\r\n );\r\n }\r\n\r\n loadFromServerUserPortalSetting(): Observable<MetaobjectDataModel> {\r\n return from(\r\n new Promise<UserPortalSettings>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [],\r\n Method: 'GetUserPortalSettings',\r\n SuccessFn: (userPortalSetting: MetaobjectDataModel) => {\r\n this._portalService.setData('UserPortalSetting', userPortalSetting);\r\n resolve(userPortalSetting);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n );\r\n }\r\n toggleAppGroupSettingVisible(appGroup: MetaobjectDataModel): Observable<MetaobjectDataModel> {\r\n return from(\r\n new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id],\r\n Method: 'ToggleAppTileGroupSettingVisible',\r\n SuccessFn: (appGroupSetting) => {\r\n this._updateAppTileGroupSettings(appGroup, appGroupSetting);\r\n resolve(appGroupSetting);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(\r\n tap((appGroupSetting) => {\r\n this._updateAppGroupSetting(appGroup, appGroupSetting);\r\n })\r\n );\r\n }\r\n resetAppGroupSetting(appGroup: MetaobjectDataModel): Observable<MetaobjectDataModel> {\r\n return from(\r\n new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id],\r\n Method: 'ResetAppTileGroupSettingVisible',\r\n SuccessFn: (appGroupSetting: MetaobjectDataModel) => {\r\n this._updateAppTileGroupSettings(appGroup, appGroupSetting);\r\n resolve(appGroupSetting);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(\r\n tap((appGroupSetting) => {\r\n this._updateAppGroupSetting(appGroup, appGroupSetting);\r\n })\r\n );\r\n }\r\n\r\n deleteAppGroup(appGroup: MetaobjectDataModel): Observable<string> {\r\n return from(\r\n new Promise<string>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id],\r\n Method: 'DeleteAppGroup',\r\n SuccessFn: () => {\r\n resolve(appGroup.Id);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(\r\n tap((appGroupId) => {\r\n const allApps = this.appTileGroups;\r\n if (allApps) {\r\n allApps.MoDataList = allApps.MoDataList.filter((c) => c.Id !== appGroupId);\r\n this._appTileGroupsSource.next(allApps);\r\n }\r\n })\r\n );\r\n }\r\n changeAppTileSetting(appTile: MetaobjectDataModel): Observable<MetaobjectDataModel | null> {\r\n const allApps = this.appTileGroups;\r\n const selectedGroup = this.findGroupWithAppTileId(allApps, appTile.Id);\r\n if (selectedGroup === null) {\r\n return of(null);\r\n }\r\n return from(\r\n new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [selectedGroup.Id, appTile.Id, appTile.Title, appTile.Subtitle],\r\n Method: 'ChangeAppTileSetting',\r\n SuccessFn: () => {\r\n this._nextAllAppTileGroups(allApps);\r\n resolve(selectedGroup);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(tap((appGroupSetting) => this.updataAppTileSetting(selectedGroup, appGroupSetting)));\r\n }\r\n\r\n saveAppGroupOrders(appGroups: MetaobjectDataModel[]): Observable<void> {\r\n const groupOrders = appGroups.map((c) => c.Id);\r\n return from(\r\n new Promise<void>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [groupOrders],\r\n Method: 'ChangeOrderAppTileGroups',\r\n SuccessFn: () => {\r\n resolve();\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe();\r\n }\r\n\r\n createAppGroup(title: string): Observable<MetaobjectDataModel> {\r\n return from(\r\n new Promise<MetaobjectDataModel>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [title],\r\n Method: 'CreateAppTileGroup',\r\n SuccessFn: (mo: MetaobjectDataModel) => {\r\n resolve(mo);\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n })\r\n ).pipe(tap((mo) => this.addAppGroup(mo)));\r\n }\r\n\r\n saveOrderAppTiles(\r\n appGroup: MetaobjectDataModel,\r\n appTiles: number[],\r\n isActionLink = false,\r\n appTileIdTransferedId: string = '0'\r\n ): void {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id, appTiles, isActionLink, appTileIdTransferedId],\r\n Method: 'ChangeOrderAppTiles',\r\n SuccessFn: () => {},\r\n FailFn: () => {}\r\n });\r\n }\r\n\r\n updataAppTileSetting(selectedGroup: MetaobjectDataModel, appGroupSetting: MetaobjectDataModel): void {\r\n const allApps = this.appTileGroups;\r\n allApps?.MoDataList.forEach((appGroup) => {\r\n if (appGroup.Id === selectedGroup.Id) {\r\n appGroup.UserAppTileGroupSetting = appGroupSetting;\r\n }\r\n });\r\n this._appTileGroupsSource.next(allApps);\r\n }\r\n\r\n addAppGroup(mo: MetaobjectDataModel): void {\r\n const allApps = this.appTileGroups;\r\n if (allApps) {\r\n allApps.MoDataList.push(mo);\r\n this._appTileGroupsSource.next(allApps);\r\n }\r\n }\r\n\r\n singlePinTileChanged(appTileId): Observable<boolean> {\r\n const allApps = this.appTileGroups;\r\n const group = this.findGroupWithAppTileId(allApps, appTileId);\r\n if (group === null) {\r\n return of(false);\r\n }\r\n return from(\r\n new Promise<boolean>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [group.Id, appTileId],\r\n Method: 'RemoveAppTileFromTileGroup',\r\n SuccessFn: (setting) => {\r\n this._updateAppTileGroupSettings(group, setting);\r\n this._nextAllAppTileGroups(allApps);\r\n resolve(true);\r\n },\r\n FailFn: () => {\r\n reject(false);\r\n }\r\n });\r\n })\r\n );\r\n }\r\n pinTileChanged(appTileGroupsPin: AppTileGroupPin[], app: MetaobjectDataModel, callback): void {\r\n const allApps = this.appTileGroups;\r\n const visible = appTileGroupsPin.map((c) => c.visible);\r\n const groupChanges = appTileGroupsPin.map(\r\n (c) =>\r\n new BarsaApi.Common.MetaObjectWeb({\r\n Id: c.appTileGroup.Id,\r\n TypeDefId: allApps?.TypeDefId\r\n })\r\n );\r\n\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [groupChanges, visible, app.Id],\r\n Method: 'TilePinChanged',\r\n SuccessFn: (settings) => {\r\n this._tilePinChange(appTileGroupsPin, allApps);\r\n callback(settings);\r\n },\r\n FailFn: () => {\r\n // TODO show error\r\n }\r\n });\r\n }\r\n _tilePinChange(appTileGroupsPin, allApps): void {\r\n for (const appTileGroupPin of appTileGroupsPin) {\r\n let selectedAppGroup;\r\n const appGroupId = appTileGroupPin.appTileGroup.Id;\r\n allApps?.MoDataList.forEach((c) => {\r\n if (c.Id === appGroupId) {\r\n selectedAppGroup = c;\r\n } else if (!selectedAppGroup) {\r\n selectedAppGroup = c.$Children?.find((child) => child.Id === appGroupId);\r\n }\r\n });\r\n if (selectedAppGroup && selectedAppGroup.$TilesLoaded) {\r\n // let moDataList = selectedAppGroup.AppTiles.MoDataList;\r\n // if (appTileGroups[i].visible)\r\n // selectedAppGroup.AppTiles.MoDataList = [...moDataList, settings[i]];\r\n // else\r\n // selectedAppGroup.AppTiles.MoDataList = moDataList.filter(\r\n // (c) => c.App.Id !== app.Id\r\n // );\r\n this._loadAppTilesOfAppTileGroup(selectedAppGroup, allApps);\r\n }\r\n }\r\n this._nextAllAppTileGroups(allApps);\r\n }\r\n\r\n loadShellbar(): void {\r\n this._portalService\r\n .ReportExecutePromise('Shellbar')\r\n .then((moForReportModel) => this.shellbarSource.next(moForReportModel.MoDataList[0]));\r\n }\r\n\r\n loadAllAppTileGroups(): void {\r\n this._portalService\r\n .ReportExecute('AllAppTileGroups')\r\n .subscribe((allApps) => this._nextAllAppTileGroups(allApps));\r\n }\r\n _setTileInfo(appTile): void {\r\n {\r\n const title = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Title', null);\r\n appTile.TileTitle = !appTile.Title ? title : appTile.Title;\r\n const subtitle = BarsaApi.Common.Util.TryGetValue(appTile, 'Component.Settings.TileSetting.Subtitle', null);\r\n appTile.Subtitle = !appTile.Subtitle ? subtitle : appTile.Subtitle;\r\n }\r\n }\r\n\r\n getTileGroups(): MoForReportModel | null {\r\n return this._appTileGroupsSource.getValue();\r\n }\r\n\r\n setEditHome(edit: boolean): void {\r\n this._edithomeSource.next(edit);\r\n }\r\n private _allAppsLoaded(moForReportModel: MoForReportModel): void {\r\n moForReportModel.MoDataList.forEach((c) => {\r\n this._prepareNavigator(c);\r\n });\r\n this._setHomeAppTileGroups(moForReportModel.MoDataList);\r\n }\r\n private _loadAppTilesOfAppTileGroup(selectedAppTilegroup: MetaobjectDataModel, allApps: any): void {\r\n const callback = (): void => {\r\n this._nextAllAppTileGroups(allApps);\r\n };\r\n if (!selectedAppTilegroup.UserAppTileGroupSetting) {\r\n this._loadAppTilesByAppTileGroup(selectedAppTilegroup, callback);\r\n } else {\r\n this._loadAppTilesByAppTileGroupSetting(selectedAppTilegroup, callback);\r\n }\r\n }\r\n private _loadAppTilesByAppTileGroup(appGroup: MetaobjectDataModel, callback: () => void): void {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appGroup.Id],\r\n Method: 'LoadAllAppTilesByAppTileGroup',\r\n SuccessFn: (appTiles: MoForReportModel): void => {\r\n this._updateAppTilesOfAppTileGroup(appGroup, appTiles);\r\n callback();\r\n },\r\n FailFn: (): void => {\r\n // TODO show error\r\n }\r\n });\r\n }\r\n private _updateAppTilesOfAppTileGroup(selectedAppTilegroup: MetaobjectDataModel, appTiles: MoForReportModel): void {\r\n if (this.appTileGroups) {\r\n selectedAppTilegroup = { ...selectedAppTilegroup, $TilesLoaded: true };\r\n appTiles.MoDataList.forEach((element) => {\r\n element.Component = element.A_App_Component ?? element.A_AppTile_App_Component;\r\n element.DynamicCommand = element.A_App_DynamicCommand ?? element.A_AppTile_App_DynamicCommand;\r\n element.Predefined = element.Predefined ?? element.A_AppTile_Predefined;\r\n });\r\n const apptileGroupIndex = this.appTileGroups?.MoDataList.findIndex(\r\n (c) => c.Id === selectedAppTilegroup.Id || c.Id === selectedAppTilegroup.$ParentId\r\n );\r\n selectedAppTilegroup.AppTiles = appTiles;\r\n const tileGroup = this.appTileGroups.MoDataList[apptileGroupIndex];\r\n if (selectedAppTilegroup.$ParentId) {\r\n if (tileGroup.$Children) {\r\n const idOfSubGroup = tileGroup.$Children.findIndex((c) => c.Id === selectedAppTilegroup.Id);\r\n tileGroup.$Children[idOfSubGroup] = selectedAppTilegroup;\r\n }\r\n this.appTileGroups.MoDataList[apptileGroupIndex] = { ...tileGroup };\r\n } else {\r\n this.appTileGroups.MoDataList[apptileGroupIndex] = selectedAppTilegroup;\r\n }\r\n }\r\n }\r\n private _loadAppTilesByAppTileGroupSetting(appTileGroup: MetaobjectDataModel, callback: () => void): void {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [appTileGroup.Id],\r\n Method: 'LoadAllAppTilesByUserAppTileGroupSettings',\r\n SuccessFn: (appTiles: MoForReportModel) => {\r\n this._updateAppTilesOfAppTileGroup(appTileGroup, appTiles);\r\n callback();\r\n },\r\n FailFn: () => {\r\n // TODO show error\r\n }\r\n });\r\n }\r\n\r\n private _nextAllAppTileGroups(newAllApps: MoForReportModel | null = null): void {\r\n const allApps = newAllApps ?? this._appTileGroupsSource.getValue();\r\n this._appTileGroupsSource.next(allApps ? { ...allApps } : null);\r\n }\r\n private _setHomeAppTileGroups(appGroups: MetaobjectDataModel[]): void {\r\n let newAppGroups = [...appGroups];\r\n newAppGroups = newAppGroups\r\n .filter((c) => c.Visible)\r\n .sort((a, b) => Number(a.navigatorOrderItem) - Number(b.navigatorOrderItem));\r\n this._homeAppTileGroupsSource.next(newAppGroups);\r\n }\r\n private _saveUserPortalSettings(userPortalSettings: UserPortalSettings): Promise<void> {\r\n return new Promise<void>((resolve, reject) => {\r\n BarsaApi.Bw.RunBlMethodAsync({\r\n Parameters: [new BarsaApi.Common.MetaObjectWeb(userPortalSettings)],\r\n Method: 'SaveUserPortalSettings',\r\n SuccessFn: () => {\r\n resolve();\r\n },\r\n FailFn: () => {\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n private _updateAppGroupSetting(appGroup: MetaobjectDataModel, appGroupSetting: MetaobjectDataModel): void {\r\n const allApps = this.appTileGroups;\r\n const selectedAppGroup = allApps?.MoDataList.find((c) => c.Id === appGroup.Id);\r\n if (selectedAppGroup && allApps) {\r\n selectedAppGroup.UserAppTileGroupSetting = appGroupSetting;\r\n this._nextAllAppTileGroups(allApps);\r\n }\r\n }\r\n\r\n private findGroupWithAppTileId(allApps, appTileId: string): MetaobjectDataModel | null {\r\n let selectedGroup;\r\n\r\n if (!allApps) {\r\n return null;\r\n }\r\n allApps.MoDataList.forEach((appGroup) => {\r\n if (selectedGroup) {\r\n return;\r\n }\r\n if (appGroup.navigatorTiles.some((appTile) => appTile.Id === appTileId)) {\r\n selectedGroup = appGroup;\r\n return;\r\n }\r\n appGroup.$Children?.forEach((subGroup) => {\r\n if (subGroup.navigatorTiles.some((appTile) => appTile.Id === appTileId)) {\r\n selectedGroup = subGroup;\r\n return;\r\n }\r\n });\r\n });\r\n return selectedGroup;\r\n }\r\n private _findGroupWithAppGroupId(allApps, appGroupId: string): MetaobjectDataModel | null {\r\n let selectedGroup;\r\n\r\n if (!allApps) {\r\n return null;\r\n }\r\n allApps.MoDataList.forEach((appGroup) => {\r\n if (selectedGroup) {\r\n return;\r\n }\r\n if (appGroup.Id === appGroupId) {\r\n selectedGroup = appGroup;\r\n return;\r\n }\r\n appGroup.$Children?.forEach((subGroup) => {\r\n if (subGroup.Id === appGroupId) {\r\n selectedGroup = subGroup;\r\n return;\r\n }\r\n });\r\n });\r\n return selectedGroup;\r\n }\r\n\r\n private _updateAppTileGroupSettings(\r\n appTileGroup: MetaobjectDataModel,\r\n setting: MetaobjectDataModel\r\n ): MetaobjectDataModel {\r\n appTileGroup.UserAppTileGroupSetting = setting;\r\n appTileGroup = JSON.parse(JSON.stringify(appTileGroup));\r\n this._nextAllAppTileGroups();\r\n return appTileGroup;\r\n }\r\n\r\n private _prepareNavigator(appTileGroup: MetaobjectDataModel): void {\r\n appTileGroup.$TileSettingChanged = false;\r\n appTileGroup.$Disabledpin = false;\r\n appTileGroup.navigatorTitle = BarsaApi.Common.Util.TryGetValue(\r\n appTileGroup,\r\n 'UserAppTileGroupSetting.Title',\r\n appTileGroup.Title\r\n );\r\n appTileGroup.navigatorTitle = appTileGroup.navigatorTitle =\r\n appTileGroup.navigatorTitle === '' ? appTileGroup.Title : appTileGroup.navigatorTitle;\r\n appTileGroup.navigatorTitle = this._bbbTranslatePipe.transform(appTileGroup.navigatorTitle);\r\n const orderItem = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.OrderItem', null);\r\n if (orderItem !== null) {\r\n appTileGroup.navigatorOrderItem = orderItem;\r\n } else {\r\n appTileGroup.navigatorOrderItem = appTileGroup.OrderItem;\r\n }\r\n\r\n const visible = BarsaApi.Common.Util.TryGetValue(appTileGroup, 'UserAppTileGroupSetting.Visible', null);\r\n if (visible !== null) {\r\n appTileGroup.navigatorVisible = visible;\r\n } else {\r\n appTileGroup.navigatorVisible = appTileGroup.Visible;\r\n }\r\n\r\n const appTiles = appTileGroup.AppTiles?.MoDataList ?? [];\r\n\r\n appTileGroup.navigatorTiles = appTiles\r\n .filter((c) => c.Visible && !c.IsActionLink)\r\n .sort((a, b) => Number(a.OrderItem) - Number(b.OrderItem));\r\n appTileGroup.navigatorActionLinks = appTiles\r\n .filter((c) => c.Visible && c.IsActionLink)\r\n .sort((a, b) => Number(a.OrderItemActionLink) - Number(b.OrderItemActionLink));\r\n appTileGroup.navigatorTiles.forEach((appTile) => this._setTileInfo(appTile));\r\n appTileGroup.navigatorActionLinks.forEach((appTile) => this._setTileInfo(appTile));\r\n\r\n appTileGroup.$Children?.forEach((subAppTileGroup) => {\r\n this._prepareNavigator(subAppTileGroup);\r\n });\r\n }\r\n}\r\ninterface PinTileInfo {\r\n groups: MetaobjectDataModel[];\r\n visible: boolean[];\r\n tileId: string;\r\n}\r\n","import { 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 { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';\n\nimport { BaseComponent, MetaobjectDataModel, BarsaApi, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\nimport { Nullable, TabListComponent, TabPanelComponent } from '@fundamental-ngx/core';\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 {\n @ViewChild(TabListComponent) tabListComponent: TabListComponent;\n @HostBinding('class.page-content') pageContentClass = true;\n @Input() appTileGroups: Array<MetaobjectDataModel>;\n @Input() loading: boolean;\n @Input() editHome: boolean;\n @Input() stackContent: boolean;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() selectedAppGroupId: string;\n\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 selectedTab: TabPanelComponent;\n tabPanels: TabPanelComponent[];\n appTileGroups: MetaobjectDataModel[];\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 onSelectedTabChange(selectedTab: TabPanelComponent, appTileGroups: MetaobjectDataModel[]): void {\n this.selectedTabTitle = selectedTab.title;\n\n if (!this.tabListComponent) {\n return;\n }\n this.tabChanged.emit({\n tabPanels: this.tabListComponent.tabPanels.toArray(),\n selectedTab,\n appTileGroups\n });\n }\n onDropGroup(appTileGroups: MetaobjectDataModel[], event: CdkDragDrop<MetaobjectDataModel[]>): void {\n if (!this.editHome) {\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\n onExitEditHome(appGroups: MetaobjectDataModel[]): void {\n this.save.emit(appGroups);\n }\n onCloseEditHome(): void {\n this.closeEditHome.emit();\n }\n _trackById(item, index): string | number {\n return item ? item.Id : index;\n }\n}\n","<ng-container *ngIf=\"appTileGroups; else loadingTpl\">\r\n <bsu-mask *ngIf=\"loading\"></bsu-mask>\r\n <fd-dynamic-page\r\n size=\"large\"\r\n [ariaLabel]=\"'HomeEdit' | bbbTranslate\"\r\n [autoResponsive]=\"true\"\r\n [class.stack-mode]=\"stackContent\"\r\n >\r\n <fd-dynamic-page-header *ngIf=\"editHome\" [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n <fd-toolbar *ngIf=\"editHome\" fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n <fd-dynamic-page-content>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n stackContent ? renderTabsStacked : renderTabs;\r\n context: {\r\n $implicit: appTileGroups,\r\n stackContent: stackContent,\r\n editHome: editHome\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n <fd-dynamic-page-footer>\r\n <div fd-bar barDesign=\"footer\" *ngIf=\"editHome\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n </fd-dynamic-page-footer>\r\n </fd-dynamic-page>\r\n</ng-container>\r\n\r\n<ng-template #loadingTpl>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n\r\n<ng-template #renderTabs let-appTileGroups let-stackContent=\"stackContent\" let-editHome=\"editHome\">\r\n <fd-tab-list\r\n class=\"tile-tabs\"\r\n [size]=\"deviceSize\"\r\n [collapseOverflow]=\"true\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\r\n (selectedTabChange)=\"onSelectedTabChange($event, appTileGroups)\"\r\n >\r\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\r\n <fd-tab\r\n *ngIf=\"editHome || appTileGroup.navigatorVisible\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [ngClass]=\"'fd-tabs--' + deviceSize\"\r\n [class.is-expanded]=\"selectedTabTitle === (appTileGroup.navigatorTitle | bbbTranslate)\"\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderGroup;\r\n context: {\r\n $implicit: appTileGroup,\r\n stackContent: stackContent,\r\n editHome: editHome,\r\n isAppTileSubGroup: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n </ng-container>\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template #renderTabsStacked let-appTileGroups let-stackContent=\"stackContent\" let-editHome=\"editHome\">\r\n <fd-tab-list\r\n class=\"tile-tabs\"\r\n [size]=\"deviceSize\"\r\n [collapseOverflow]=\"true\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n [stackContent]=\"true\"\r\n [maxContentHeight]=\"stackContent ? 'calc(99vh - 2.75rem - 44px)' : 'calc(100vh - 44px)'\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\r\n >\r\n <ng-container *ngFor=\"let appTileGroup of appTileGroups; let i = index; trackBy: _trackById\">\r\n <fd-tab\r\n *ngIf=\"editHome || appTileGroup.navigatorVisible\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [ngClass]=\"'fd-tabs--' + deviceSize\"\r\n [count]=\"appTileGroup.$Children?.length\"\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderGroup;\r\n context: {\r\n $implicit: appTileGroup,\r\n stackContent: stackContent,\r\n editHome: editHome,\r\n isAppTileSubGroup: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n </ng-container>\r\n </fd-tab-list>\r\n</ng-template>\r\n<ng-template\r\n #renderGroup\r\n let-appTileGroup\r\n let-stackContent=\"stackContent\"\r\n let-editHome=\"editHome\"\r\n let-isAppTileSubGroup=\"isAppTileSubGroup\"\r\n>\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileGroup\"\r\n [editHome]=\"editHome\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"isAppTileSubGroup\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-tiles-viewer-group>\r\n</ng-template>\r\n","import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { takeUntil, map, distinctUntilChanged, withLatestFrom } from 'rxjs/operators';\nimport { TabPanelComponent } from '@fundamental-ngx/core';\n\nimport { BaseComponent, MetaobjectDataModel, PortalService, AbbrevationDeviceSize } from 'barsa-novin-ray-core';\nimport { TilesService } from '../tiles.service';\nimport { TilesViewerService } from '../tiles-viewer.service';\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 appTileGroups$: Observable<MetaobjectDataModel[]>;\n viewLoading$: Observable<boolean>;\n deviceSize$: Observable<AbbrevationDeviceSize>;\n editHome$: Observable<boolean>;\n changedOrder = false;\n userStackContent = false;\n initialStackContentValue = false;\n userPortalSettings: MetaobjectDataModel;\n stackContent$: Observable<boolean>;\n firstSelected = false;\n\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) => settings?.TilesStackContent),\n distinctUntilChanged()\n );\n this.stackContent$.subscribe((stackContent) => {\n this.initialStackContentValue = this.userStackContent = stackContent;\n if (stackContent) {\n }\n });\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.viewLoading$ = this._tilesViewerService.viewLoading$;\n\n this.deviceSize$ = this._portalService.deviceSize$;\n this.editHome$ = this._tilesService.editHome$;\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 }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this._tilesService.setEditHome(false);\n }\n onSelectedTabChange(e: {\n selectedTab: TabPanelComponent;\n tabPanels: TabPanelComponent[];\n appTileGroups: MetaobjectDataModel[];\n }): void {\n const { selectedTab, appTileGroups: appGroups, tabPanels } = e;\n const appTileGroupTitle = selectedTab.title;\n let appTileGroup: MetaobjectDataModel | undefined;\n if (!this.firstSelected) {\n this.firstSelected = true;\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.title === appTileGroup?.navigatorTitle);\n if (lastTab) {\n appTileGroup = appGroups.find((c) => c.Id === lastSelectedAppGroupId);\n lastTab.open(true);\n }\n }\n }\n }\n if (!appTileGroup) {\n appTileGroup = appGroups.find((c) => c.navigatorTitle === appTileGroupTitle);\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}\n","<bt-tiles-viewer\r\n [appTileGroups]=\"(appTileGroups$ | async)!!\"\r\n [loading]=\"(viewLoading$ | async)!!\"\r\n [editHome]=\"(editHome$ | async)!!\"\r\n [stackContent]=\"(stackContent$ | async)!!\"\r\n [deviceSize]=\"(deviceSize$ | async)!!\"\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","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\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [editHome]=\"editHome\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-bullet\r\n *ngIf=\"double\"\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n\r\n <be-micro-chart-bullet\r\n [target]=\"target\"\r\n [value]=\"value\"\r\n [range]=\"range\"\r\n [forecast]=\"forecast\"\r\n [isDelta]=\"double ? false : isDelta\"\r\n [separatorLines]=\"separatorLines\"\r\n [suffix]=\"suffix\"\r\n >\r\n </be-micro-chart-bullet>\r\n </div>\r\n</bt-tile>\r\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewChild,\n ElementRef,\n ChangeDetectorRef,\n OnInit,\n Renderer2\n} from '@angular/core';\nimport { interval } from 'rxjs';\nimport { tap, takeUntil } from 'rxjs/operators';\nimport { CarouselComponent, CarouselItemComponent } from '@fundamental-ngx/core';\n\nimport { MetaobjectDataModel } from 'barsa-novin-ray-core';\nimport { BaseBtTileComponent, NewsTileSetting } from '../models';\n\n@Component({\n selector: 'bt-news-tile',\n templateUrl: './news-tile.component.html',\n styleUrls: ['./news-tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NewsTileComponent extends BaseBtTileComponent<NewsTileSetting> implements OnInit {\n @ViewChild(CarouselComponent) carouselComponent: CarouselComponent;\n slides: MetaobjectDataModel[];\n activeNews: MetaobjectDataModel;\n isStop = false;\n\n constructor(public el: ElementRef, protected _renderer2: Renderer2, protected _cdr: ChangeDetectorRef) {\n super(el, _renderer2, _cdr);\n }\n\n get twoColumn(): boolean {\n return this.footer.TwoColumn;\n }\n ngOnInit(): void {\n super.ngOnInit();\n const slides = this.settings.Report.MoDataList;\n\n if (slides.length) {\n this._updateTile(slides[0]);\n interval(5000)\n .pipe(\n takeUntil(this._onDestroy$),\n tap(() => {\n if (!this.isStop) {\n this.carouselComponent.next();\n }\n })\n )\n .subscribe();\n }\n this.slides = slides;\n }\n\n trigger(): void {\n this.isStop = !this.isStop;\n }\n\n slideChange(activeSlide: { activeItems: CarouselItemComponent[] }): void {\n const currentSlide = activeSlide.activeItems[0].value;\n this._updateTile(currentSlide);\n }\n\n private _updateTile(newsMo: MetaobjectDataModel): void {\n this.activeNews = newsMo;\n }\n}\n","<bt-tile [data]=\"data\" [type]=\"'launch'\" [footerTemplate]=\"newsFooter\" [editHome]=\"editHome\">\n <div fd-tile-content style=\"align-items: center; padding-top: 1rem\">\n <span>\n {{ activeNews?.Text }}\n </span>\n\n <div class=\"wrapper-carousel\">\n <div class=\"cover\"></div>\n <button *ngIf=\"isStop; else stop\" fd-button fdType=\"transparent\" glyph=\"play\" (click)=\"trigger()\"></button>\n <ng-template #stop>\n <button fd-button fdType=\"transparent\" glyph=\"pause\" (click)=\"trigger()\"></button>\n </ng-template>\n <fd-carousel\n *ngIf=\"slides && slides.length\"\n carouselIndicatorsOrientation=\"top\"\n [slideTransitionDuration]=\"1000\"\n (slideChange)=\"slideChange($event)\"\n [loop]=\"true\"\n [navigation]=\"false\"\n width=\"100%\"\n >\n <fd-carousel-item *ngFor=\"let slide of slides\" [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 </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 <ng-container *ngIf=\"twoColumn; else oneColumn\">\n <div fd-tile-section>\n <span fd-tile-footer-text>{{ activeNews?.Footer1 }}</span>\n </div>\n <div fd-tile-section>\n <span fd-tile-footer-text>{{ activeNews?.Footer2 }}</span>\n </div>\n </ng-container>\n <ng-template #oneColumn>\n <span fd-tile-footer-text>{{ activeNews?.Footer1 }}</span>\n </ng-template>\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\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [editHome]=\"editHome\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-comparison [data]=\"chartData\" [size]=\"double ? 'l' : 's'\"></be-micro-chart-comparison>\r\n </div>\r\n</bt-tile>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { StackbarItem } from 'barsa-echarts';\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-stackbar',\r\n templateUrl: './micro-tile-chart-stackbar.component.html',\r\n styleUrls: ['./micro-tile-chart-stackbar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\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 [editHome]=\"editHome\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\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 [editHome]=\"editHome\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\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\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [editHome]=\"editHome\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-circular [data]=\"chartData\"></be-micro-chart-circular>\r\n </div>\r\n</bt-tile>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\nimport { AreaChart } from 'barsa-echarts';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-area',\r\n templateUrl: './micro-tile-chart-area.component.html',\r\n styleUrls: ['./micro-tile-chart-area.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MicroTileChartAreaComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n chartData: AreaChart = {\r\n areas: [\r\n { data: [2.5, 2.5, 2.5, 2.5], color: '#3fa45b' },\r\n {\r\n data: [2, 2, 2, 2],\r\n color: '#e9730c'\r\n },\r\n { data: [1.5, 1.5, 1.5, 1.5], color: '#dc0d0e' }\r\n ],\r\n\r\n line: {\r\n data: [\r\n { value: 2, label: 'june 1' },\r\n { value: 4, label: 'june 20' },\r\n { value: 3, label: 'june 27' },\r\n { value: 5, label: 'june 30' }\r\n ],\r\n suffix: 'M'\r\n },\r\n firstValueColor: '#3fa45b',\r\n lastValueColor: '#dc0d0e'\r\n };\r\n}\r\n","<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [editHome]=\"editHome\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-area\r\n [style.flex-direction]=\"double ? 'row' : 'column'\"\r\n [chartData]=\"chartData\"\r\n [size]=\"double ? 'l' : 's'\"\r\n ></be-micro-chart-area>\r\n </div>\r\n</bt-tile>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BarItem } from 'barsa-echarts';\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\n\r\n@Component({\r\n selector: 'bt-micro-tile-chart-bar',\r\n templateUrl: './micro-tile-chart-bar.component.html',\r\n styleUrls: ['./micro-tile-chart-bar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MicroTileChartBarComponent extends BaseBtTileComponent<BaseTileSetting> {\r\n chartData: BarItem[] = [\r\n { value: 5, color: '#dc0d0e', label: 'q1' },\r\n { value: 10, color: '#dc0d0e', label: 'q4' },\r\n { value: 20, color: '#e9730c', label: 'q2' },\r\n { value: 36, color: '#3fa45b', label: 'q3' }\r\n ];\r\n extraData = {\r\n value: 1.8,\r\n suffix: 'M'\r\n };\r\n}\r\n","<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [editHome]=\"editHome\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <be-micro-chart-bar [data]=\"chartData\" [size]=\"double ? 'l' : 's'\" [extraData]=\"extraData\"></be-micro-chart-bar>\r\n </div>\r\n</bt-tile>\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-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 <fd-form-message *ngIf=\"submitted && appGroupForm.controls.title.errors\" type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\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 fdInitialFocus\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';\nimport { DialogRef, DialogService } from '@fundamental-ngx/core';\n\nimport { BaseComponent, BarsaApi, MetaobjectDataModel, BbbTranslatePipe } from 'barsa-novin-ray-core';\n\nimport { CreateAppGroupComponent } from '../create-app-group/create-app-group.component';\nimport { AppTileGroupPin } from '../models';\n\n@Component({\n selector: 'bt-pin-tile',\n templateUrl: './pin-tile.component.html',\n styleUrls: ['./pin-tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PinTileComponent extends BaseComponent implements OnInit {\n @Input() app: MetaobjectDataModel;\n @Input() appTileGroups: MetaobjectDataModel[];\n\n @Input() mobile: boolean;\n @Input() pin: boolean;\n newGroupDialogRef: DialogRef;\n newGroupText = BarsaApi.LoginFormData.IsRtl\n ? this.bbbPipe.transform('Groups') + ' ' + this.bbbPipe.transform('New')\n : this.bbbPipe.transform('New') + ' ' + this.bbbPipe.transform('Groups');\n pinnedAppInTileGroups: {\n [key: string]: string[];\n };\n constructor(public _dialogService: DialogService, public _dialogRef: DialogRef, private bbbPipe: BbbTranslatePipe) {\n super();\n this.app = _dialogRef.data.app;\n this.appTileGroups = _dialogRef.data.appTileGroups;\n this.pinnedAppInTileGroups = _dialogRef.data.pinnedAppInTileGroups;\n }\n ngOnInit(): void {\n this._setLoading(true);\n const tileGroupsId = this.pinnedAppInTileGroups[this.app.Id];\n this.appTileGroups.forEach((appGroup) => {\n this._setDefaultPinTile(appGroup, tileGroupsId);\n });\n this._setLoading(false);\n }\n onAccept(): void {\n const appTileGroupsPin: AppTileGroupPin[] = [];\n this.appTileGroups.forEach((group) => {\n this._getChangedPinTileGroups(group, appTileGroupsPin);\n });\n this._close({ appTileGroupsPin, app: this.app });\n }\n\n onClose(): void {\n this._close();\n }\n\n onNewGroup(): void {\n this.newGroupDialogRef = this._dialogService.open(CreateAppGroupComponent, {\n data: { title: this.newGroupText },\n verticalPadding: true,\n mobile: this.mobile,\n responsivePadding: true\n });\n\n this.newGroupDialogRef.afterClosed.subscribe(() => {\n // if (result) {\n // this.dialogRef.loading(true);\n // this.tilesService\n // .createAppGroup(result)\n // .pipe(\n // takeUntil(this._onDestroy$),\n // finalize(() => {\n // this.dialogRef.loading(false);\n // })\n // )\n // .subscribe();\n // }\n });\n }\n _setLoading(loading): void {\n this._dialogRef.loading(loading);\n }\n _setDefaultPinTile(appTileGroup: MetaobjectDataModel, tileGroupsId: string[]): void {\n appTileGroup.$PinTile = appTileGroup.$DefaultPinTile =\n tileGroupsId.includes(appTileGroup.Id) || tileGroupsId.includes(appTileGroup.UserAppTileGroupSetting?.Id);\n appTileGroup.$Children?.forEach((subGroup) => {\n this._setDefaultPinTile(subGroup, tileGroupsId);\n });\n appTileGroup.$Disabledpin = false;\n }\n _getChangedPinTileGroups(appTileGroup: MetaobjectDataModel, appTileGroupsPin: AppTileGroupPin[]): void {\n if (appTileGroup.$PinTile && !appTileGroup.$DefaultPinTile) {\n // Add\n appTileGroupsPin.push({ appTileGroup, visible: true });\n } else if (appTileGroup.$PinTile === false && appTileGroup.$DefaultPinTile) {\n // Remove\n appTileGroupsPin.push({ appTileGroup, visible: false });\n }\n appTileGroup.$Children?.forEach((subGroup) => {\n this._getChangedPinTileGroups(subGroup, appTileGroupsPin);\n });\n }\n _close(result?): void {\n this._dialogRef.close(result);\n }\n}\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 <ng-container *ngFor=\"let appTileGroup of appTileGroups\">\r\n <li *ngIf=\"!appTileGroup.$Disabledpin\" 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 <ng-container *ngFor=\"let subGroup of appTileGroup.$Children\">\r\n <li *ngIf=\"!subGroup.$Disabledpin\" 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 </ng-container>\r\n </ng-container>\r\n </ul>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <ng-template fdTemplate=\"footer\">\r\n <div fd-bar-left></div>\r\n <div fd-bar-right>\r\n <fd-button-bar fd-initial-focus fdType=\"emphasized\" [label]=\"'OK' | bbbTranslate\" (click)=\"onAccept()\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n fd-initial-focus\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';\nimport { Subject, BehaviorSubject, combineLatest, Observable } from 'rxjs';\n\nimport {\n AbbrevationDeviceSize,\n BarsaApi,\n MetaobjectDataModel,\n MoForReportModel,\n PortalService\n} from 'barsa-novin-ray-core';\nimport { TilesService } from './tiles.service';\nimport { AppTileGroupPin } from './models';\nimport { distinctUntilChanged, map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppFinderService implements OnDestroy {\n pinnedAppInAppTileGroups$: Observable<Record<string, string[]>>;\n appGroups$: Observable<MetaobjectDataModel[]>;\n\n selectedAppGroupId$: Observable<string>;\n selectedAppGroup$: Observable<MetaobjectDataModel | undefined>;\n deviceSize$: Observable<'s' | 'm' | 'l' | 'xl'>;\n private _appGroupsSource = new BehaviorSubject<MetaobjectDataModel[]>([]);\n private _OnDestroy$ = new Subject<void>();\n\n private _selectedAppGroupIdSource = new Subject<string>();\n private _pinnedAppInAppTileGroupsSource = new BehaviorSubject<{\n [key: string]: string[];\n }>({});\n constructor(private _portalService: PortalService, private _tileService: TilesService) {\n this.loadAppGroups();\n this.deviceSize$ = this._tileService.deviceSize$;\n this.pinnedAppInAppTileGroups$ = this._pinnedAppInAppTileGroupsSource.asObservable();\n this.appGroups$ = this._appGroupsSource.asObservable();\n this.selectedAppGroupId$ = this._selectedAppGroupIdSource.asObservable().pipe(distinctUntilChanged());\n this.selectedAppGroup$ = combineLatest([this.appGroups$, this.selectedAppGroupId$]).pipe(\n map(([moDataList, selectedId]) => moDataList?.find((c) => c.Id === selectedId))\n );\n }\n get deviceSize(): AbbrevationDeviceSize {\n return this._portalService.deviceSize;\n }\n get appTileGroups(): MetaobjectDataModel[] | undefined {\n return this._tileService.appTileGroups?.MoDataList;\n }\n\n ngOnDestroy(): void {\n this._OnDestroy$.next();\n }\n loadAppGroups(): void {\n this._portalService\n .ReportExecute('UserAppGroups')\n .subscribe((allApps) => this._nextAllApps(allApps.MoDataList));\n }\n selectAppGroup(appGroupId: string): void {\n const appGroups = this._appGroupsSource.getValue();\n const group = appGroups.find((c) => c.Id === appGroupId);\n if (group) {\n this._selectedAppGroupIdSource.next(appGroupId);\n this.loadAppsByAppGroup(appGroups, group);\n }\n }\n loadAppsByAppGroup(appGroups: MetaobjectDataModel[], appGroup: MetaobjectDataModel): void {\n if (appGroup.Apps) {\n return;\n }\n const reportWrapper = BarsaApi.Bw.RunBlMethod('LoadAppsByAppGroup', appGroup.Id);\n const moForReport: MoForReportModel = reportWrapper.Unwrap();\n appGroup.Apps = appGroup.Apps ?? [];\n const apps = moForReport.MoDataList;\n if (apps.length > 0) {\n const customColumns = Object.keys(apps[0]).filter((c) => c.indexOf('$Caption') > -1 && !c.startsWith('$'));\n\n apps.forEach((app) => {\n customColumns.forEach((column) => {\n app.$HasPinned = app.$HasPinned || Number(app[column.split('$Caption')[0]]);\n });\n });\n }\n appGroup.Apps = [...appGroup.Apps, ...apps];\n this._nextAllApps(appGroups);\n }\n loadPinnedAppInTileGroups(app: MetaobjectDataModel): {\n [key: string]: string[];\n } {\n const appId = app.Id;\n const val = this._pinnedAppInAppTileGroupsSource.getValue();\n if (val[appId]) {\n return val;\n }\n const reportWrapper = BarsaApi.Bw.RunBlMethod('PinnedAppInTileGroups', appId);\n const moForReport: MoForReportModel = reportWrapper.Unwrap();\n\n val[appId] = val[appId] ?? [];\n\n const apps = moForReport.MoDataList;\n if (apps.length > 0) {\n apps.forEach((itemApp) => {\n const predefined = (itemApp.Id as any).Id;\n const userSetting = itemApp.UserAppTileGroupSetting?.Id;\n if (predefined) {\n val[appId] = [...val[appId], predefined];\n }\n if (userSetting) {\n val[appId] = [...val[appId], userSetting];\n }\n });\n }\n this._pinnedAppInAppTileGroupsSource.next(val);\n return val;\n }\n pinTileChanged(appTileGroups: AppTileGroupPin[], app: MetaobjectDataModel, callback): void {\n this._tileService.pinTileChanged(appTileGroups, app, (settings) => {\n const val = this._pinnedAppInAppTileGroupsSource.getValue();\n const appId = app.Id;\n\n for (let i = 0; i < appTileGroups.length; i++) {\n const appTileSetting = settings[i];\n const appTileGroupSettingId = appTileSetting.UserAppTileGroupSettingId;\n const appTileGroupId = appTileSetting.AppTileGroupId;\n if (appTileGroups[i].visible) {\n val[appId] = [...val[appId], appTileGroupSettingId, appTileGroupId];\n } else {\n val[appId] = val[appId].filter((c) => c !== appTileGroupSettingId && c !== appTileGroupId);\n }\n }\n this._pinnedAppInAppTileGroupsSource.next({ ...val });\n callback();\n });\n }\n private _nextAllApps(appGroups?: MetaobjectDataModel[]): void {\n const newAppGroups = appGroups ?? this._appGroupsSource.getValue();\n this._appGroupsSource.next([...newAppGroups]);\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnInit } 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-form-app-finder',\n templateUrl: './form-app-finder.component.html',\n styleUrls: ['./form-app-finder.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormAppFinderComponent extends BaseComponent implements OnInit {\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$;\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","<bt-app-finder\n [appGroups]=\"(appGroups$ | async)!!\"\n [selectedAppGroupId]=\"(selectedAppGroupId$ | async)!!\"\n [selectedAppGroup]=\"(selectedAppGroup$ | async)!!\"\n [mobile]=\"(mobile$ | async)!!\"\n [sideContentSize]=\"(sideContentSize$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async) ?? 'compact'\"\n [pinnedAppInAppTileGroups]=\"(pinnedAppInAppTileGroups$ | async)!!\"\n [contentHeight]=\"contentHeight\"\n (selectedAppGroupIdChange)=\"onSelectedAppGroupChange($event)\"\n (pinClick)=\"onPinClick($event)\"\n>\n</bt-app-finder>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { BaseComponent } from 'barsa-novin-ray-core';\n@Component({\n selector: 'bt-footer-edit-tile',\n templateUrl: './footer-edit-tile.component.html',\n styleUrls: ['./footer-edit-tile.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FooterEditTileComponent extends BaseComponent {}\n","<button fd-button [glyph]=\"'pushpin-off'\" fdType=\"\"></button>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BaseBtTileComponent, NumericTileSetting } from '../models';\r\n@Component({\r\n selector: 'bt-numeric-tile',\r\n templateUrl: './numeric-tile.component.html',\r\n styleUrls: ['./numeric-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NumericTileComponent extends BaseBtTileComponent<NumericTileSetting> {\r\n get launchIcon(): string {\r\n return this.settings.LaunchIcon;\r\n }\r\n get kpiState(): 'positive' | 'negative' {\r\n return this.settings.ContentKpiState;\r\n }\r\n get kpi(): string {\r\n return this.settings.ContentKpi;\r\n }\r\n get scaleState(): 'positive' | 'negative' {\r\n return this.settings.ScaleState;\r\n }\r\n get scaleText(): string {\r\n return this.settings.ScaleText;\r\n }\r\n get scaleArrowIcon(): string {\r\n return this.settings.ScaleArrowIcon;\r\n }\r\n}\r\n","<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [editHome]=\"editHome\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <div fd-numeric-content>\r\n <div fd-numeric-content-launch-icon-container>\r\n <i fd-numeric-content-launch-icon [glyph]=\"launchIcon\" [class]=\"launchIcon | sapFontClass\"></i>\r\n </div>\r\n <div fd-numeric-content-kpi-container>\r\n <div fd-numeric-content-kpi [state]=\"kpiState\">{{ kpi }}</div>\r\n </div>\r\n <div fd-numeric-content-scale-container style=\"padding-top: 0.2rem\">\r\n <div fd-numeric-content-scale [state]=\"scaleState\">\r\n <span\r\n fd-numeric-content-scale-arrow\r\n [glyph]=\"scaleArrowIcon\"\r\n [class]=\"scaleArrowIcon | sapFontClass\"\r\n ></span>\r\n <span fd-numeric-content-scale-text>{{ scaleText }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</bt-tile>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, LogoTileSetting } from '../models';\r\n@Component({\r\n selector: 'bt-logo-tile',\r\n templateUrl: './logo-tile.component.html',\r\n styleUrls: ['./logo-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LogoTileComponent extends BaseBtTileComponent<LogoTileSetting> {\r\n get fileId(): string {\r\n let fileId = this.settings.Logo?.FileId;\r\n if (!fileId) {\r\n fileId = this.settings.CalcLogo?.FileId;\r\n }\r\n return fileId;\r\n }\r\n}\r\n","<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [editHome]=\"editHome\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <img fd-tile-logo [src]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\" />\r\n </div>\r\n</bt-tile>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, FeedTileSetting } from '../models';\r\n@Component({\r\n selector: 'bt-feed-tile',\r\n templateUrl: './feed-tile.component.html',\r\n styleUrls: ['./feed-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\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 [editHome]=\"editHome\"\n (hideClick)=\"hideClick.emit()\"\n (renameClick)=\"renameClick.emit()\"\n>\n <div fd-tile-content [twoColumn]=\"twoColumn\">\n <ng-container *ngIf=\"twoColumn; else oneColumn\">\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 </ng-container>\n <ng-template #oneColumn>\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 </ng-template>\n </div>\n</bt-tile>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, BaseTileSetting } from '../models';\r\n@Component({\r\n selector: 'bt-simple-tile',\r\n templateUrl: './simple-tile.component.html',\r\n styleUrls: ['./simple-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SimpleTileComponent extends BaseBtTileComponent<BaseTileSetting> {}\r\n","<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [editHome]=\"editHome\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <fd-icon\r\n *ngIf=\"settings.Icon\"\r\n [glyph]=\"settings.Icon\"\r\n [font]=\"settings.Icon | sapFont\"\r\n [style.color]=\"settings.IconColor\"\r\n ></fd-icon>\r\n </div>\r\n</bt-tile>\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { BaseBtTileComponent, ProfileTileSetting } from '../models';\r\n@Component({\r\n selector: 'bt-profile-tile',\r\n templateUrl: './profile-tile.component.html',\r\n styleUrls: ['./profile-tile.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ProfileTileComponent extends BaseBtTileComponent<ProfileTileSetting> {\r\n get fileId(): string {\r\n let fileId = this.settings.Image?.FileId;\r\n if (!fileId) {\r\n fileId = this.settings.CalcImage;\r\n }\r\n return fileId;\r\n }\r\n}\r\n","<bt-tile\r\n [data]=\"data\"\r\n [type]=\"'launch'\"\r\n [editHome]=\"editHome\"\r\n (hideClick)=\"hideClick.emit()\"\r\n (renameClick)=\"renameClick.emit()\"\r\n>\r\n <div fd-tile-content>\r\n <span\r\n *ngIf=\"fileId; else showIcon\"\r\n class=\"profile\"\r\n fd-tile-profile-img\r\n [backgroundImage]=\"fileId | picFieldSrc: 'GetPictureFromFileInfo':null\"\r\n ></span>\r\n <ng-template #showIcon>\r\n <fd-icon\r\n *ngIf=\"settings.Icon; else avatar\"\r\n [font]=\"settings.Icon | sapFont\"\r\n fd-tile-profile-img\r\n style=\"font-size: 2rem\"\r\n [glyph]=\"settings.Icon\"\r\n ></fd-icon>\r\n </ng-template>\r\n <ng-template #avatar>\r\n <fd-icon font=\"SAP-icons-TNT\" fd-tile-profile-img style=\"font-size: 2rem\" glyph=\"user\"></fd-icon>\r\n </ng-template>\r\n </div>\r\n</bt-tile>\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { ComboboxComponent, ProductSwitchItem, ShellbarMenuItem, ShellbarUser } from '@fundamental-ngx/core';\n\nimport {\n BaseComponent,\n BarsaApi,\n MetaobjectDataModel,\n FilePictureInfoModel,\n MoForReportModel,\n PortalService,\n BreadcrumbService,\n APP_VERSION,\n BbbTranslatePipe\n} from 'barsa-novin-ray-core';\n\nimport { TilesService } from '../tiles.service';\n\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-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 shellbarData: ShellbarSetting;\n settings: MetaobjectDataModel;\n isOpenNotificatoin = false;\n deviceSize: 's' | 'm' | 'l' | 'xl' = 'xl';\n productMenuControl: string;\n user: ShellbarUser = {\n initials: 'WW',\n colorAccent: 1\n };\n searchTerms = ['مرخصی', 'ماموریت', 'تیکت', 'پروژه'];\n searchTerm: string;\n actions$: Observable<ShellbarMenuItem[]>;\n productMenuItems1: ShellbarMenuItem[];\n userLoggedIn$: Observable<boolean>;\n cssUrl$: any;\n cssCustomUrl$: any;\n allowAnonymous = true;\n showVersion = false;\n cultures: Record<string, any>;\n notificationsCount$: Observable<number>;\n notifications$: Observable<MetaobjectDataModel[]>;\n constructor(\n private _portalService: PortalService,\n private _breadCrumbService: BreadcrumbService,\n private _tilesService: TilesService,\n private _cdr: ChangeDetectorRef,\n private _bbbTranslatePipe: BbbTranslatePipe,\n @Inject(APP_VERSION) public appVersion: string\n ) {\n super();\n this.userLoggedIn$ = this._portalService.userLoggedIn$;\n this.showVersion = !BarsaApi.LoginFormData.IsServiceDesk;\n }\n get subtitle(): string {\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 actions(): Array<MetaobjectDataModel> {\n return this.settings?.HideUserMenu ? [] : this.shellbarData?.ActionItems?.MoDataList ?? [];\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 (!BarsaApi.LoginFormData.IsAnonymous && BarsaApi.LoginFormData.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?.ProductSwitchItem?.MoDataList ?? ([] as unknown as ProductSwitchItem[]);\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 bodyClick(): string {\n return ';$(\"body\").click()';\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.cultures = BarsaApi.LoginFormData.Cultures;\n this.cssUrl$ = this._portalService.cssUrl$;\n this.cssCustomUrl$ = this._portalService.cssCustomUrl$;\n this.notificationsCount$ = this._portalService.notificationsCount$.pipe();\n this.notifications$ = this._portalService.notifications$;\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._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\n this.deviceSize = c;\n this._cdr.detectChanges();\n });\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\n this._tilesService.shellbar$.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\n this.shellbarData = mo as ShellbarSetting;\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.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._portalService.loadNotifications();\n });\n }\n onCultureChange(culture): void {\n this._changeCulture(culture);\n }\n onNotificationRelatedClick(mo: MetaobjectDataModel, nama: string): void {\n this.isOpenNotificatoin = false;\n BarsaApi.Bw.Form.Show({\n Mo: mo,\n MoContext: {\n ViewName: nama\n }\n });\n }\n onOpenNotification = (): void => {\n this.isOpenNotificatoin = true;\n };\n onLanguage = (e): void => {\n const culture = e.currentTarget.textContent.trim();\n this._changeCulture(culture);\n };\n\n private _changeCulture(culture: string /* culture sample :English */): void {\n BarsaApi.Bw.SetCultureByDisplayName(culture);\n BarsaApi.Bw.NavigateTo('/');\n }\n}\n","<link *ngIf=\"cssUrl$ | async as cssUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssUrl\" />\n<link *ngIf=\"cssCustomUrl$ | async as cssCustomUrl\" type=\"text/css\" rel=\"stylesheet\" [href]=\"cssCustomUrl\" />\n\n<fd-shellbar *ngIf=\"(userLoggedIn$ | async) || allowAnonymous\" [size]=\"deviceSize\">\n <fd-shellbar-logo *ngIf=\"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\n <fd-product-menu\n *ngIf=\"!settings?.HideProductMenu && productMenuItems1 && productMenuItems1.length > 0\"\n [control]=\"productMenuControl\"\n [closePopoverOnSelect]=\"true\"\n [items]=\"productMenuItems1\"\n >\n </fd-product-menu>\n\n <fd-shellbar-subtitle> {{ subtitle | bbbTranslate }}{{ showVersion ? appVersion : '' }} </fd-shellbar-subtitle>\n <fd-shellbar-actions\n *ngIf=\"user && (userMenu?.length || !settings?.HideLanguage)\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n #langRef\n >\n <fd-shellbar-action\n *ngFor=\"let action of actions\"\n [glyph]=\"action.Icon\"\n [callback]=\"action.Callback\"\n [label]=\"action.Label\"\n >\n </fd-shellbar-action>\n\n <fd-popover\n [(isOpen)]=\"isOpenNotificatoin\"\n [triggers]=\"[]\"\n [focusTrapped]=\"true\"\n [closeOnOutsideClick]=\"true\"\n [noArrow]=\"false\"\n placement=\"bottom\"\n title=\"Notification Popover\"\n [focusAutoCapture]=\"true\"\n >\n <fd-popover-control>\n <fd-shellbar-action\n [glyph]=\"'bell'\"\n [label]=\"'Notification'\"\n [notificationCount]=\"(notificationsCount$ | async)!!\"\n [notificationLabel]=\"'Notification Label'\"\n [callback]=\"onOpenNotification\"\n >\n </fd-shellbar-action>\n </fd-popover-control>\n <fd-popover-body>\n <fd-notification\n *ngFor=\"let mo of notifications$ | async; let first = first; let last = last\"\n style=\"margin-bottom: 1px\"\n [style.border-bottom-left-radius]=\"!last ? 0 : null\"\n [style.border-bottom-right-radius]=\"!last ? 0 : null\"\n [style.border-top-right-radius]=\"!first ? 0 : null\"\n [style.border-top-left-radius]=\"!first ? 0 : null\"\n >\n <fd-notification-body>\n <fd-avatar\n [circle]=\"true\"\n size=\"xs\"\n [glyph]=\"mo.Icon ? mo.Icon : 'bell'\"\n [image]=\"mo.Picture ? mo.Picture : null\"\n ></fd-avatar>\n <fd-notification-content style=\"min-width: 200px; overflow: hidden\">\n <fd-notification-header>\n <div fd-notification-indicator [type]=\"mo.Type\"></div>\n <h2 fd-notification-title [unread]=\"true\">{{ mo.Title }}</h2>\n </fd-notification-header>\n <p fd-notification-paragraph>\n {{ mo.Paragraph }}\n </p>\n <fd-notification-footer>\n <span fd-notification-footer-content>{{ mo.FirstFooterContent }}</span>\n <span fd-notification-separator></span>\n <span fd-notification-footer-content>{{ mo.SecondFooterContent }}</span>\n </fd-notification-footer>\n </fd-notification-content>\n <fd-notification-actions>\n <button\n *ngIf=\"mo.RelatedMo\"\n fd-button\n (click)=\"onNotificationRelatedClick(mo.RelatedMo, mo.NamaRelatedMo)\"\n [label]=\"'View' | bbbTranslate\"\n fdCompact\n ></button>\n <button\n fd-button\n fdType=\"transparent\"\n ariaLabel=\"Close\"\n glyph=\"decline\"\n title=\"close\"\n (click)=\"isOpenNotificatoin = false\"\n fdCompact\n ></button>\n </fd-notification-actions>\n </fd-notification-body>\n </fd-notification>\n </fd-popover-body>\n </fd-popover>\n\n <fd-shellbar-action\n *ngIf=\"!settings?.HideLanguage && deviceSize !== 's'\"\n [glyph]=\"'world'\"\n [label]=\"'language'\"\n [fdMenuTrigger]=\"menu\"\n (callback)=\"(onLanguage)\"\n >\n </fd-shellbar-action>\n <ng-container *ngIf=\"!settings?.HideLanguage && deviceSize === 's'\">\n <fd-shellbar-action\n *ngFor=\"let culture of cultures | keyvalue\"\n [label]=\"culture.value\"\n [callback]=\"onLanguage\"\n >\n </fd-shellbar-action>\n </ng-container>\n\n <fd-product-switch *ngIf=\"productSwitcher.length > 0\">\n <fd-product-switch-body [products]=\"productSwitcher\" [forceListMode]=\"deviceSize === 's'\">\n </fd-product-switch-body>\n </fd-product-switch>\n <!-- <fd-combobox\n [(ngModel)]=\"searchTerm\"\n [dropdownValues]=\"searchTerms\"\n [placeholder]=\"('EnterSearchCriteria' | bbbTranslate) + ' ...'\"\n [compact]=\"true\"\n >\n </fd-combobox> -->\n </fd-shellbar-actions>\n</fd-shellbar>\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n\n<fd-menu #menu>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let culture of cultures | keyvalue\">\n <a fd-list-link (click)=\"onCultureChange(culture.value)\">\n <span fd-list-title>{{ culture.value }} </span>\n </a>\n </li>\n </ul>\n</fd-menu>\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 { 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 { ComponentFactoryResolver, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { FundamentalNgxCoreModule, GridListModule } from '@fundamental-ngx/core';\r\nimport { FundamentalNgxPlatformModule } from '@fundamental-ngx/platform';\r\n\r\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\r\nimport { BarsaSapUiModule } from 'barsa-sap-ui';\r\nimport { BarsaEchartsModule } from 'barsa-echarts';\r\n\r\nimport { ShellbarComponent } from './shellbar/shellbar.component';\r\nimport { TilesViewerComponent } from './tiles-viewer/tiles-viewer.component';\r\nimport { ProfileTileComponent } from './profile-tile/profile-tile.component';\r\nimport { SimpleTileComponent } from './simple-tile/simple-tile.component';\r\nimport { FeedTileComponent } from './feed-tile/feed-tile.component';\r\nimport { FooterTileComponent } from './footer-tile/footer-tile.component';\r\nimport { TileComponent } from './tile/tile.component';\r\nimport { LogoTileComponent } from './logo-tile/logo-tile.component';\r\nimport { NumericTileComponent } from './numeric-tile/numeric-tile.component';\r\nimport { TileHomeFilterPipe } from './pipes/tile-home-filter.pipe';\r\nimport { FooterEditTileComponent } from './footer-edit-tile/footer-edit-tile.component';\r\nimport { FormAppFinderComponent } from './form-app-finder/form-app-finder.component';\r\nimport { PinTileComponent } from './pin-tile/pin-tile.component';\r\nimport { GroupTilesPipe } from './pipes/group-tiles.pipe';\r\nimport { HomeGroupPipe } from './pipes/home-group.pipe';\r\nimport { TilesService } from './tiles.service';\r\nimport { EmptyListDirective } from './directives/emptylist.directive';\r\nimport { ChangeAppTileComponent } from './change-app-tile/change-app-tile.component';\r\nimport { CreateAppGroupComponent } from './create-app-group/create-app-group.component';\r\n\r\nimport { MicroTileChartBarComponent } from './micro-tile-chart-bar/micro-tile-chart-bar.component';\r\nimport { MicroTileChartAreaComponent } from './micro-tile-chart-area/micro-tile-chart-area.component';\r\nimport { MicroTileChartCircularComponent } from './micro-tile-chart-circular/micro-tile-chart-circular.component';\r\nimport { MicroTileChartLineComponent } from './micro-tile-chart-line/micro-tile-chart-line.component';\r\nimport { MicroTileChartStackbarComponent } from './micro-tile-chart-stackbar/micro-tile-chart-stackbar.component';\r\nimport { MicroTileChartComparisonComponent } from './micro-tile-chart-comparison/micro-tile-chart-comparison.component';\r\nimport { NewsTileComponent } from './news-tile/news-tile.component';\r\nimport { ActionsLinkComponent } from './actions-link/actions-link.component';\r\nimport { ActionItemComponent } from './action-item/action-item.component';\r\nimport { MicroTileChartBulletComponent } from './micro-tile-chart-bullet/micro-tile-chart-bullet.component';\r\nimport { ActionLinksPipe } from './action-links.pipe';\r\nimport { AppFinderService } from './app-finder.service';\r\nimport { TilesViewerContainerComponent } from './tiles-viewer-container/tiles-viewer-container.component';\r\nimport { AppFinderComponent } from './app-finder/app-finder.component';\r\nimport { AppFinderGroupComponent } from './app-finder-group/app-finder-group.component';\r\nimport { AppFinderAppListComponent } from './app-finder-app-list/app-finder-app-list.component';\r\nimport { TileRendererDirective } from './tile-renderer.directive';\r\nimport { TilesViewerGroupComponent } from './tiles-viewer-group/tiles-viewer-group.component';\r\nimport { FormTileComponent } from './form-tile/form-tile.component';\r\n\r\nconst components = [\r\n ShellbarComponent,\r\n SimpleTileComponent,\r\n TilesViewerComponent,\r\n ProfileTileComponent,\r\n FeedTileComponent,\r\n FooterTileComponent,\r\n TileComponent,\r\n LogoTileComponent,\r\n NumericTileComponent,\r\n FooterEditTileComponent,\r\n FormAppFinderComponent,\r\n PinTileComponent,\r\n ChangeAppTileComponent,\r\n CreateAppGroupComponent,\r\n MicroTileChartAreaComponent,\r\n MicroTileChartCircularComponent,\r\n MicroTileChartLineComponent,\r\n MicroTileChartStackbarComponent,\r\n MicroTileChartComparisonComponent,\r\n MicroTileChartBarComponent,\r\n MicroTileChartBulletComponent,\r\n TilesViewerContainerComponent,\r\n NewsTileComponent,\r\n ActionsLinkComponent,\r\n ActionItemComponent,\r\n AppFinderComponent,\r\n AppFinderGroupComponent,\r\n AppFinderAppListComponent,\r\n TilesViewerGroupComponent,\r\n FormTileComponent\r\n];\r\nconst pipes = [GroupTilesPipe, TileHomeFilterPipe, HomeGroupPipe, ActionLinksPipe];\r\nconst directives = [EmptyListDirective, TileRendererDirective];\r\n\r\n@NgModule({\r\n schemas: [NO_ERRORS_SCHEMA],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n DragDropModule,\r\n CdkTableModule,\r\n FundamentalNgxCoreModule,\r\n GridListModule,\r\n FundamentalNgxPlatformModule,\r\n ReactiveFormsModule,\r\n BarsaNovinRayCoreModule,\r\n BarsaSapUiModule,\r\n BarsaEchartsModule\r\n ],\r\n providers: [TilesService, AppFinderService],\r\n declarations: [...components, ...pipes, ...directives],\r\n exports: [...components]\r\n})\r\nexport class BarsaTilesModule extends BaseModule {\r\n protected dynamicComponents = [...components];\r\n\r\n constructor(protected dcm: DynamicComponentService, protected componentFactoryResolver: ComponentFactoryResolver) {\r\n super(dcm, componentFactoryResolver, 'BarsaTilesModule');\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i4","i2","i6.FooterTileComponent","i7","i4.TileComponent","i5","i3.ActionItemComponent","i1","i9","i10","i11.ActionsLinkComponent","i12.TileRendererDirective","i13","i6","i8.EmptyListDirective","i8.AppFinderGroupComponent","i9.AppFinderAppListComponent","i8","i2.TilesService","i11.TilesViewerGroupComponent","i12","i3.TilesViewerService","i4.TilesViewerComponent","i6.TileComponent","i3.TileComponent","i11","i2.AppFinderService","i3.AppFinderComponent","i2.TileComponent"],"mappings":"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"}
|