{"version":3,"file":"barsa-navigator.mjs","sources":["../../../projects/barsa-navigator/src/lib/application-ui/application-ui.component.ts","../../../projects/barsa-navigator/src/lib/application-ui/application-ui.component.html","../../../projects/barsa-navigator/src/lib/navigator-settings.store.ts","../../../projects/barsa-navigator/src/lib/nav-ui-state.service.ts","../../../projects/barsa-navigator/src/lib/system-ulv-page.pipe.ts","../../../projects/barsa-navigator/src/lib/system-nav-btp/system-nav-btp.component.ts","../../../projects/barsa-navigator/src/lib/system-nav-btp/system-nav-btp.component.html","../../../projects/barsa-navigator/src/lib/system-nav/system-nav.component.ts","../../../projects/barsa-navigator/src/lib/system-nav/system-nav.component.html","../../../projects/barsa-navigator/src/lib/system-item/system-item.component.ts","../../../projects/barsa-navigator/src/lib/system-item/system-item.component.html","../../../projects/barsa-navigator/src/lib/app-menu/app-menu.component.ts","../../../projects/barsa-navigator/src/lib/app-menu/app-menu.component.html","../../../projects/barsa-navigator/src/lib/system/system.component.ts","../../../projects/barsa-navigator/src/lib/system/system.component.html","../../../projects/barsa-navigator/src/lib/ribbon/ribbon.component.ts","../../../projects/barsa-navigator/src/lib/ribbon/ribbon.component.html","../../../projects/barsa-navigator/src/lib/sidebar.toggle.directive.ts","../../../projects/barsa-navigator/src/lib/system-container/system-container.component.ts","../../../projects/barsa-navigator/src/lib/system-container/system-container.component.html","../../../projects/barsa-navigator/src/lib/system-tile-viewer/system-tile-viewer.component.ts","../../../projects/barsa-navigator/src/lib/system-tile-viewer/system-tile-viewer.component.html","../../../projects/barsa-navigator/src/lib/system-tile-viewer-container/system-tile-viewer-container.component.ts","../../../projects/barsa-navigator/src/lib/system-tile-viewer-container/system-tile-viewer-container.component.html","../../../projects/barsa-navigator/src/lib/system-command/system-command.component.ts","../../../projects/barsa-navigator/src/lib/system-command/system-command.component.html","../../../projects/barsa-navigator/src/lib/nav-selected.directive.ts","../../../projects/barsa-navigator/src/lib/system-command-groups/system-command-groups.component.ts","../../../projects/barsa-navigator/src/lib/system-command-groups/system-command-groups.component.html","../../../projects/barsa-navigator/src/lib/system-tile-groups/system-tile-groups.component.ts","../../../projects/barsa-navigator/src/lib/system-tile-groups/system-tile-groups.component.html","../../../projects/barsa-navigator/src/lib/barsa-navigator.module.ts","../../../projects/barsa-navigator/src/public-api.ts","../../../projects/barsa-navigator/src/barsa-navigator.ts"],"sourcesContent":["import { Component, inject, ViewEncapsulation, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { NavigationStart, Router } from '@angular/router';\r\nimport { takeUntil, filter, Observable } from 'rxjs';\r\nimport { BaseComponent, ApplicationCtrlrService, PortalService } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n    selector: 'bn-application-ui',\r\n    templateUrl: './application-ui.component.html',\r\n    styleUrl: './application-ui.component.scss',\r\n    standalone: false,\r\n    changeDetection: ChangeDetectionStrategy.Eager,\r\n    encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ApplicationUiComponent extends BaseComponent implements OnInit {\r\n    sidebarToggle$: Observable<boolean>;\r\n    protected _portalService = inject(PortalService);\r\n    private _applicationCtrlrService = inject(ApplicationCtrlrService);\r\n    private _router = inject(Router);\r\n    ngOnInit(): void {\r\n        super.ngOnInit();\r\n        this.sidebarToggle$ = this._applicationCtrlrService.sidebarToggle$;\r\n        if (this._portalService.deviceSize === 's' || this._portalService.deviceSize === 'm') {\r\n            this._router.events\r\n                .pipe(\r\n                    takeUntil(this._onDestroy$),\r\n                    filter((event) => event instanceof NavigationStart)\r\n                )\r\n                .subscribe(\r\n                    (_c) =>\r\n                        this._portalService.deviceSize !== 's' && this._applicationCtrlrService.sidebarToggled(false)\r\n                );\r\n        }\r\n    }\r\n    onCloseSidebarToggle(): void {\r\n        this._applicationCtrlrService.sidebarToggled(false);\r\n    }\r\n}\r\n","<router-outlet></router-outlet>\r\n@if(sidebarToggle$ | async) {\r\n<div class=\"sidemenu-h tw-right-0 tw-z-[90] tw-w-screen\" (click)=\"onCloseSidebarToggle()\"></div>\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { EntitySettingsStore } from 'barsa-novin-ray-core';\r\n\r\nexport interface NavigatorConfig {\r\n    sidebarWidth: string;\r\n}\r\n\r\n@Injectable({\r\n    providedIn: 'root'\r\n})\r\nexport class NavigatorSettingsStore extends EntitySettingsStore<NavigatorConfig> {\r\n    protected override keyPrefix = 'cal_cfg_';    \r\n}\r\n","import { Injectable, signal } from '@angular/core';\nimport { BarsaApi } from 'barsa-novin-ray-core';\n\n/**\n * حالتِ سبکِ UIِ نویگیتور که تولبارِ بالای سایدبار با گروه‌ها به اشتراک می‌گذارد:\n * متنِ فیلترِ جستجو و تریگرِ «جمع‌کردنِ همه». سیگنالی است تا گروه‌ها reactive واکنش دهند.\n */\n@Injectable({ providedIn: 'root' })\nexport class NavUiStateService {\n    /** متنِ فیلترِ فعلی (trim و lowercase‌شده). خالی = بدون فیلتر. */\n    readonly filter = signal('');\n    /** با هر افزایش، همه‌ی گروه‌ها جمع می‌شوند. */\n    readonly collapseAllTrigger = signal(0);\n\n    setFilter(value: string): void {\n        this.filter.set((value || '').trim().toLowerCase());\n    }\n\n    collapseAll(): void {\n        this.collapseAllTrigger.update((n) => n + 1);\n    }\n\n    /** کپشن را (مثل bbbTranslate) ترجمه و برای مقایسه نرمال می‌کند. */\n    private _t(text: string | undefined): string {\n        if (!text) {\n            return '';\n        }\n        const translated = BarsaApi?.BBB?.[text] ?? text;\n        return translated.toString().toLowerCase();\n    }\n\n    /** آیا این متن با فیلترِ فعلی مچ می‌شود (خالی‌بودنِ فیلتر = همیشه true). */\n    textMatches(text: string): boolean {\n        const f = this.filter();\n        return !f || this._t(text).includes(f);\n    }\n\n    /** آیا گروه با نامِ خودش یا یکی از آیتم‌هایش مچ می‌شود. */\n    groupHasMatch(navGroup: { Data?: { Caption?: string }; root?: { children?: Array<{ data?: { Caption?: string } }> } }): boolean {\n        const f = this.filter();\n        if (!f) {\n            return true;\n        }\n        if (this._t(navGroup?.Data?.Caption).includes(f)) {\n            return true;\n        }\n        return (navGroup?.root?.children ?? []).some((c) => this._t(c?.data?.Caption).includes(f));\n    }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { CustomSystemNavUi } from 'barsa-novin-ray-core';\r\n\r\n@Pipe({\r\n    name: 'systemUlvPage',\r\n    standalone: false\r\n})\r\nexport class SystemUlvPagePipe implements PipeTransform {\r\n    transform(value: CustomSystemNavUi): UlvGroupSettings | null {\r\n        if (!value) {\r\n            return null;\r\n        }\r\n        return this._getUlvUiMap(null,value.SystemData.Navigator.Root);\r\n    }\r\n    protected _getUlvUiMap(parent: any, obj: any, accumulator: UlvGroupSettings = {}): UlvGroupSettings {\r\n        if (!obj) {return accumulator;}\r\n\r\n        // اگر آیتم فعلی هم title دارد و هم ulvUi، آن را به دیکشنری اضافه کن\r\n        if (obj.ShowReportInNavigator) {\r\n            accumulator[parent.Caption] = {\r\n                itemId: obj.Id,\r\n                iconUrl: parent.IconUrl,\r\n                iconName: obj.iconName,\r\n                iconFontName: obj.iconFontName,\r\n                reportId: `${obj.Id}__${obj.InsideView_RelatedFieldId}__${obj.ReportId}__ulv${parent.Caption}`\r\n            };\r\n        }\r\n        if (Array.isArray(obj.Items)) {\r\n            obj.Items.forEach((child: any) => {\r\n                this._getUlvUiMap(obj, child, accumulator);\r\n            });\r\n        }\r\n\r\n        return accumulator;\r\n    }\r\n}\r\n\r\ntype UlvGroupSettings = Record<\r\n    string,\r\n    {\r\n        iconUrl: string;\r\n        itemId: string;\r\n        iconName: string;\r\n        iconFontName: any;\r\n        reportId: string;\r\n    }\r\n>;\r\n","import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, signal, viewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport {\r\n    ApplicationCtrlrService,\r\n    BaseComponent,\r\n    CustomNavGroupUi,\r\n    CustomSystemNavUi,\r\n    NavGroupItem\r\n} from 'barsa-novin-ray-core';\r\nimport { NavUiStateService } from '../nav-ui-state.service';\r\n\r\n/**\r\n * نسخه‌ی مبتنی بر BTP Side Navigation (`fdb-navigation`) از ناوبریِ سیستم.\r\n * ورودی‌ها را از `bn-system-nav` می‌گیرد و همان درختِ سه‌سطحیِ\r\n * (page → group → item) + ULV را با کامپوننتِ BTP رندر می‌کند.\r\n * پشتِ feature-flag فعال می‌شود؛ نسخه‌ی قدیمی دست‌نخورده باقی می‌ماند.\r\n */\r\n@Component({\r\n    selector: 'bn-system-nav-btp',\r\n    standalone: false,\r\n    templateUrl: './system-nav-btp.component.html',\r\n    styleUrl: './system-nav-btp.component.scss',\r\n    changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SystemNavBtpComponent extends BaseComponent {\r\n    systemNavUi = input.required<CustomSystemNavUi>();\r\n    hideSidebarFn = input.required<(isPage?: boolean) => void>();\r\n    selectedNavGroupItemId = input('');\r\n    routePath = input('');\r\n\r\n    readonly route = inject(ActivatedRoute);\r\n    private readonly _navUi = inject(NavUiStateService);\r\n    private readonly _appCtrl = inject(ApplicationCtrlrService);\r\n    private readonly _host = inject<ElementRef<HTMLElement>>(ElementRef);\r\n\r\n    // ── تولبارِ بالای سایدبار: جستجو + جمع‌کردنِ همه (معادلِ نسخه‌ی legacy) ──\r\n    readonly searchOpen = signal(false);\r\n    readonly searchText = signal('');\r\n    private readonly _searchInput = viewChild<ElementRef<HTMLInputElement>>('btpNavSearch');\r\n    /** گاردِ جمع‌کردنِ همه تا کلیک‌های برنامه‌ای، گروه را select نکنند. */\r\n    private _collapsing = false;\r\n\r\n    toggleSearch(): void {\r\n        const open = !this.searchOpen();\r\n        this.searchOpen.set(open);\r\n        if (open) {\r\n            setTimeout(() => this._searchInput()?.nativeElement?.focus(), 50);\r\n        } else {\r\n            this.clearSearch();\r\n        }\r\n    }\r\n\r\n    onSearchInput(value: string): void {\r\n        this.searchText.set(value);\r\n        this._navUi.setFilter(value);\r\n    }\r\n\r\n    clearSearch(): void {\r\n        this.searchText.set('');\r\n        this._navUi.setFilter('');\r\n    }\r\n\r\n    /**\r\n     * همه‌ی گروه‌های سطحِ دوم (که باز هستند) را جمع می‌کند. سطحِ اول (page/tab)\r\n     * غیرقابل‌جمع است و دست‌نخورده می‌ماند. برای پرهیز از انتخابِ ناخواسته‌ی گروه،\r\n     * کلیک‌های برنامه‌ای با `_collapsing` در `onGroupClick` نادیده گرفته می‌شوند.\r\n     */\r\n    onCollapseAll(): void {\r\n        this._collapsing = true;\r\n        const rows = this._host.nativeElement.querySelectorAll<HTMLElement>(\r\n            '[role=\"treeitem\"][aria-level=\"2\"][aria-expanded=\"true\"]'\r\n        );\r\n        rows.forEach((row) => row.querySelector<HTMLElement>('a.fd-navigation__link')?.click());\r\n        setTimeout(() => (this._collapsing = false), 0);\r\n    }\r\n\r\n    /** مدلِ نمایشِ درختِ ناوبری، reactive نسبت به فیلترِ جستجو. */\r\n    readonly pages = computed<BtpNavPage[]>(() => {\r\n        // ایجادِ وابستگی به فیلتر تا با تغییرِ جستجو دوباره ساخته شود.\r\n        this._navUi.filter();\r\n        const nav = this.systemNavUi();\r\n        const pageItems = nav?.childControl?.controlItems ?? [];\r\n        return pageItems\r\n            .filter((p) => p?.Data)\r\n            .map((p) => ({\r\n                id: p.itemId,\r\n                caption: p.Data?.Caption,\r\n                groups: (p.controlItems ?? [])\r\n                    .filter((g) => g?.Data && this._navUi.groupHasMatch(g))\r\n                    .map((g) => this._mapGroup(g))\r\n            }))\r\n            .filter((p) => p.groups.length);\r\n    });\r\n\r\n    onGroupClick(group: BtpNavGroup): void {\r\n        this._appCtrl.selectNavGroup(group.id);\r\n        this._appCtrl.setCommandGroupsSelected('');\r\n        this._appCtrl.selectAppTileGroup('');\r\n    }\r\n\r\n    onGroupClickGuarded(group: BtpNavGroup): void {\r\n        if (this._collapsing) {\r\n            return;\r\n        }\r\n        this.onGroupClick(group);\r\n    }\r\n\r\n    onItemClick(group: BtpNavGroup, item: BtpNavItem): void {\r\n        const fn = this.hideSidebarFn();\r\n        fn && fn();\r\n        this._appCtrl.selectNavGroupItem(item.id);\r\n        group.ref?._onBeforeClick?.(item.data);\r\n    }\r\n\r\n    onHideSidebar(): void {\r\n        const fn = this.hideSidebarFn();\r\n        fn && fn(true);\r\n    }\r\n\r\n    private _mapGroup(g: CustomNavGroupUi): BtpNavGroup {\r\n        const filterActive = !!this._navUi.filter();\r\n        const nameMatches = this._navUi.textMatches(g?.Data?.Caption);\r\n        const kids = g?.root?.children ?? [];\r\n        const children = filterActive && !nameMatches ? kids.filter((c) => this._navUi.textMatches(c?.data?.Caption)) : kids;\r\n        return {\r\n            ref: g,\r\n            id: g.Data?.Id,\r\n            caption: g.Data?.Caption,\r\n            glyph: g.Data?.fontIcon || null,\r\n            iconUrl: g.Data?.fontIcon ? null : g.Data?.IconUrl,\r\n            hasChildren: kids.length > 0,\r\n            children: children.map((item: NavGroupItem) => ({\r\n                id: item.id,\r\n                caption: item.data?.Caption,\r\n                reportId: item.data?.ReportId,\r\n                isDynamic: !!item.data?.DynamicCommand,\r\n                data: item.data\r\n            }))\r\n        };\r\n    }\r\n}\r\n\r\ninterface BtpNavItem {\r\n    id: string;\r\n    caption: string;\r\n    reportId: string;\r\n    isDynamic: boolean;\r\n    data: any;\r\n}\r\n\r\ninterface BtpNavGroup {\r\n    ref: CustomNavGroupUi;\r\n    id: string;\r\n    caption: string;\r\n    glyph: string | null;\r\n    iconUrl: string | null;\r\n    hasChildren: boolean;\r\n    children: BtpNavItem[];\r\n}\r\n\r\ninterface BtpNavPage {\r\n    id: string;\r\n    caption: string;\r\n    groups: BtpNavGroup[];\r\n}\r\n","@if (systemNavUi()?.title) {\r\n<div class=\"bn-btp-nav__header\" [class.is-searching]=\"searchOpen()\">\r\n    <span class=\"bn-btp-nav__title\" [attr.title]=\"systemNavUi().title | bbbTranslate\">\r\n        {{ systemNavUi().title | bbbTranslate }}\r\n    </span>\r\n\r\n    <div class=\"bn-btp-nav__search\">\r\n        <input\r\n            #btpNavSearch\r\n            type=\"text\"\r\n            class=\"bn-btp-nav__search-input\"\r\n            placeholder=\"جستجو در منو…\"\r\n            [value]=\"searchText()\"\r\n            (input)=\"onSearchInput($any($event.target).value)\"\r\n            (keydown.escape)=\"toggleSearch()\"\r\n        />\r\n    </div>\r\n\r\n    <div class=\"bn-btp-nav__actions\">\r\n        <button type=\"button\" class=\"bn-btp-nav__tool-btn\" (click)=\"onCollapseAll()\" title=\"جمع‌کردن همه\">\r\n            <fd-icon glyph=\"collapse-all\"></fd-icon>\r\n        </button>\r\n        <button\r\n            type=\"button\"\r\n            class=\"bn-btp-nav__tool-btn\"\r\n            (click)=\"toggleSearch()\"\r\n            [attr.title]=\"searchOpen() ? 'بستن جستجو' : 'جستجو'\"\r\n        >\r\n            <fd-icon [glyph]=\"searchOpen() ? 'decline' : 'search'\"></fd-icon>\r\n        </button>\r\n    </div>\r\n</div>\r\n}\r\n<fdb-navigation\r\n    state=\"expanded\"\r\n    selectionMode=\"router\"\r\n    [ariaLabel]=\"(systemNavUi()?.title | bbbTranslate) || 'Navigation'\"\r\n    ariaRoleDescription=\"Side Navigation\"\r\n>\r\n    <fdb-navigation-content-start ariaRoleDescription=\"Navigation List Tree\">\r\n        <!-- ===== ULV pages (آیتم‌های تک‌سطحیِ بالای منو) ===== -->\r\n        @for (ulv of systemNavUi() | systemUlvPage | keyvalue; track ulv.value.itemId) {\r\n        <fdb-navigation-list-item>\r\n            <a\r\n                fdb-navigation-link\r\n                *fdbNavigationLinkRef\r\n                [glyph]=\"ulv.value.iconName || null\"\r\n                [routerLink]=\"['master', ulv.value.reportId]\"\r\n                [relativeTo]=\"route\"\r\n                (click)=\"onHideSidebar()\"\r\n            >\r\n                @if (!ulv.value.iconName && ulv.value.iconUrl) {\r\n                <img class=\"bn-btp-nav__img\" [src]=\"ulv.value.iconUrl\" loading=\"lazy\" alt=\"\" />\r\n                }\r\n                {{ ulv.key | bbbTranslate }}\r\n            </a>\r\n        </fdb-navigation-list-item>\r\n        }\r\n\r\n        <fdb-navigation-list-item separator />\r\n\r\n        <!-- ===== صفحات (تب‌ها، سطحِ اول: غیرقابل‌جمع) → گروه‌ها (قابل‌جمع) → آیتم‌ها ===== -->\r\n        @for (page of pages(); track page.id) {\r\n        <fdb-navigation-list-item group expanded>\r\n            <a fdb-navigation-link *fdbNavigationLinkRef class=\"bn-btp-nav__page-link\" [glyph]=\"null\">{{\r\n                page.caption | bbbTranslate\r\n            }}</a>\r\n\r\n            @for (group of page.groups; track group.id) {\r\n            <fdb-navigation-list-item expanded>\r\n                <a\r\n                    fdb-navigation-link\r\n                    *fdbNavigationLinkRef\r\n                    [glyph]=\"group.glyph\"\r\n                    [attr.title]=\"group.caption | bbbTranslate\"\r\n                    (click)=\"onGroupClickGuarded(group)\"\r\n                >\r\n                    @if (!group.glyph && group.iconUrl) {\r\n                    <img class=\"bn-btp-nav__img\" [src]=\"group.iconUrl\" loading=\"lazy\" alt=\"\" />\r\n                    }\r\n                    {{ group.caption | bbbTranslate }}\r\n                </a>\r\n\r\n                @for (item of group.children; track item.id) {\r\n                <fdb-navigation-list-item [selected]=\"item.id === selectedNavGroupItemId()\">\r\n                    <a\r\n                        fdb-navigation-link\r\n                        *fdbNavigationLinkRef\r\n                        [glyph]=\"null\"\r\n                        [routerLink]=\"\r\n                            item.isDynamic\r\n                                ? null\r\n                                : ['report', item.id + '__' + (item.caption | bbbTranslate) + '__' + item.reportId]\r\n                        \"\r\n                        [attr.title]=\"item.caption | bbbTranslate\"\r\n                        (click)=\"onItemClick(group, item)\"\r\n                    >\r\n                        {{ item.caption | bbbTranslate }}\r\n                    </a>\r\n                </fdb-navigation-list-item>\r\n                }\r\n            </fdb-navigation-list-item>\r\n            }\r\n        </fdb-navigation-list-item>\r\n        }\r\n    </fdb-navigation-content-start>\r\n</fdb-navigation>\r\n","import { Component, inject, input, ChangeDetectionStrategy } from '@angular/core';\r\nimport { addCssVariableToRoot, BaseComponent, CustomSystemNavUi, getDeviceIsMobile } from 'barsa-novin-ray-core';\r\nimport { NavigatorSettingsStore } from '../navigator-settings.store';\r\n\r\n@Component({\r\n    selector: 'bn-system-nav,[bnsystemnav]',\r\n    standalone: false,\r\n    templateUrl: './system-nav.component.html',\r\n    changeDetection: ChangeDetectionStrategy.Eager,\r\n    styleUrl: './system-nav.component.scss'\r\n})\r\nexport class SystemNavComponent extends BaseComponent {\r\n    systemNavUi = input.required<CustomSystemNavUi>();\r\n    hideSidebarFn = input.required<(isPage?: boolean) => void>();\r\n    selectedNavGroupItemId = input('');\r\n\r\n    isMobile = getDeviceIsMobile();\r\n    routePath = input('');\r\n\r\n    private _navigatorStore = inject(NavigatorSettingsStore);\r\n\r\n    constructor() {\r\n        super();\r\n        this._navigatorStore.load('nav').subscribe((c) => {\r\n            c?.sidebarWidth && this.applySidebarWidth(c.sidebarWidth);\r\n        });\r\n    }\r\n\r\n    onSidebarResize(value: string): void {\r\n        this.applySidebarWidth(value);\r\n        this._navigatorStore\r\n            .save('nav', {\r\n                sidebarWidth: `${value}`\r\n            })\r\n            .subscribe();\r\n    }\r\n\r\n    private applySidebarWidth(value: string): void {\r\n        addCssVariableToRoot('--userSidebarWidth', value);\r\n    }\r\n}\r\n","<bn-system-nav-btp\r\n    [systemNavUi]=\"systemNavUi()\"\r\n    [hideSidebarFn]=\"hideSidebarFn()\"\r\n    [selectedNavGroupItemId]=\"selectedNavGroupItemId()\"\r\n    [routePath]=\"routePath()\"\r\n></bn-system-nav-btp>\r\n@if(!isMobile){\r\n<bnrc-splitter class=\"bn-sidebar-splitter\"\r\n    [minWidth]=\"'--sidebarWidth' | getCssVarValue:'px'\"\r\n    [elDom]=\"el.nativeElement\"\r\n    (spliterResized)=\"onSidebarResize($event)\"\r\n    ></bnrc-splitter>\r\n}\r\n","import { Component, Input, input, effect, inject, ChangeDetectionStrategy } from '@angular/core';\r\nimport { AppMenu, AbbrevationDeviceSize, BaseComponent, ApplicationCtrlrService } from 'barsa-novin-ray-core';\r\n@Component({\r\n    selector: 'bn-system-item,li[bnsystemitem]',\r\n    standalone: false,\r\n    templateUrl: './system-item.component.html',\r\n    changeDetection: ChangeDetectionStrategy.Eager,\r\n    styleUrl: './system-item.component.scss'\r\n})\r\nexport class SystemItemComponent extends BaseComponent {\r\n    @Input() appItem: AppMenu;\r\n    @Input() defaultRoute: string;\r\n    @Input() deviceSize: AbbrevationDeviceSize;\r\n    selected = input(false);\r\n    routePath = input('');\r\n    extraPath = input('');\r\n    private _applicationCtrlr = inject(ApplicationCtrlrService);\r\n\r\n    constructor() {\r\n        super();\r\n        effect(() => {\r\n            if (!this.selected()) {\r\n                return;\r\n            }\r\n            requestAnimationFrame(() => {\r\n                this._el.nativeElement.scrollIntoView({\r\n                    behavior: 'smooth',\r\n                    block: 'nearest',\r\n                    inline: 'nearest'\r\n                });\r\n            });\r\n        });\r\n    }\r\n    onSystemClick(e): void {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        if (this.selected()) {\r\n            this._applicationCtrlr.sidebarToggled(!this._applicationCtrlr.sidebarToggle);\r\n            return;\r\n        }\r\n        this._applicationCtrlr.systemChange(this.appItem.id);\r\n    }\r\n}\r\n","<li class=\"mini-nav-item\" [class.selected]=\"selected()\">\r\n    <a\r\n        [class.iconImage]=\"!appItem.icon && appItem.iconImage\"\r\n        [href]=\"routePath() + appItem.id\"\r\n        (click)=\"onSystemClick($event)\"\r\n    >\r\n        @if(appItem.icon || !appItem.iconImage){\r\n        <fd-icon\r\n            [glyph]=\"appItem.icon || 'product'\"\r\n            class=\"navigator-item--glyph\"\r\n            [class.!tw-text-2xl]=\"deviceSize === 'xl'\"\r\n            [class.!tw-text-xl]=\"deviceSize === 'l'\"\r\n            [class.!tw-text-base]=\"deviceSize === 'm'\"\r\n            [class.!tw-text-sm]=\"deviceSize === 's'\"\r\n            [class.active]=\"selected()\"\r\n        ></fd-icon>\r\n        }@else if(appItem.iconImage){\r\n        <img [src]=\"appItem.iconImage\" class=\"navigator-item--icon\" [class.active]=\"selected()\" loading=\"lazy\" />\r\n        }\r\n    </a>\r\n</li>\r\n","import { Component, Input, input, ViewChild, ChangeDetectionStrategy } from '@angular/core';\r\nimport {\r\n    BaseComponent,\r\n    CustomSystemNavUi,\r\n    AbbrevationDeviceSize,\r\n    AppMenu,\r\n    SimplebarDirective\r\n} from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n    selector: 'bn-app-,[bnappmenu]',\r\n    standalone: false,\r\n    templateUrl: './app-menu.component.html',\r\n    changeDetection: ChangeDetectionStrategy.Eager,\r\n    styleUrl: './app-menu.component.scss'\r\n})\r\nexport class AppMenuComponent extends BaseComponent {\r\n    @ViewChild(SimplebarDirective, { static: true }) _simpleBarDirective;\r\n    @Input() appMenuItems: AppMenu[];\r\n    @Input() systemNav: CustomSystemNavUi;\r\n    @Input() deviceSize: AbbrevationDeviceSize;\r\n    selectedSystemId = input('');\r\n    routePath = input('');\r\n}\r\n","<ng-content></ng-content>\r\n<ul class=\"mini-nav-ul\" simplebar>\r\n    @for(appMenuItem of appMenuItems;track $index){\r\n    <li\r\n        class=\"mini-nav-item\"        \r\n        [attr.data-name]=\"appMenuItem.title\"\r\n        [class.selected]=\"appMenuItem.id === selectedSystemId()\"\r\n        bnsystemitem\r\n        [appItem]=\"appMenuItem\"\r\n        [selected]=\"appMenuItem.id === selectedSystemId()\"\r\n        [deviceSize]=\"deviceSize\"\r\n        [bnrcTooltip]=\"appMenuItem.title\"\r\n        [routePath]=\"routePath()\"\r\n    ></li>\r\n    }\r\n</ul>\r\n","import {\r\n    Component,\r\n    EventEmitter,\r\n    Input,\r\n    Output,\r\n    WritableSignal,\r\n    signal,\r\n    input,\r\n    ChangeDetectionStrategy\r\n} from '@angular/core';\r\nimport {\r\n    BaseComponent,\r\n    AbbrevationDeviceSize,\r\n    CustomNavPageUi,\r\n    AppMenu,\r\n    ShellbarSetting,\r\n    CustomSystemNavUi,\r\n    WorkflowItem,\r\n    CommandGroup,\r\n    PageDataModel\r\n} from 'barsa-novin-ray-core';\r\n@Component({\r\n    selector: 'bn-system,aside[bnsystem]',\r\n    standalone: false,\r\n    templateUrl: './system.component.html',\r\n    changeDetection: ChangeDetectionStrategy.Eager,\r\n    styleUrl: './system.component.scss'\r\n})\r\nexport class SystemComponent extends BaseComponent {\r\n    selectedSystemNavUi = input.required<CustomSystemNavUi>();\r\n    systemWorkflowList = input.required<Array<WorkflowItem>>();\r\n    systemCommandGroups = input.required<Array<CommandGroup>>();\r\n    selectedCommandGroups = input.required<string>();\r\n    selectedCommandId = input.required<string>();\r\n    selectedSystemId = input('');\r\n    selectedNavGroupId = input('');\r\n    selectedReportId = input('');\r\n    selectedNavGroupItemId = input('');\r\n    pages = input.required<Array<PageDataModel>>();\r\n\r\n    @Input() appMenuItems: AppMenu[];\r\n    @Input() shellbarData: ShellbarSetting;\r\n    @Input() deviceSize: AbbrevationDeviceSize;\r\n    @Input() hideSidebarFn: (isPage?: boolean) => void;\r\n    @Output() sidebarToggled = new EventEmitter<void>();\r\n    @Output() systemChanged = new EventEmitter<AppMenu>();\r\n\r\n    routePath = input('');\r\n    reportPath = input('');\r\n    selectedNavPage: WritableSignal<null | CustomNavPageUi> = signal(null);\r\n    selectedAppMenu: WritableSignal<null | AppMenu> = signal(null);\r\n    isVisible = signal(false);\r\n\r\n    onNavPageChanged(navPage: CustomNavPageUi): void {\r\n        this.selectedNavPage.set(navPage);\r\n    }\r\n}\r\n","<div class=\"iconbar\">\r\n    <div>\r\n        <div\r\n            class=\"mini-nav\"\r\n            bnappmenu\r\n            [systemNav]=\"selectedSystemNavUi()\"\r\n            [selectedSystemId]=\"selectedSystemId()\"\r\n            [appMenuItems]=\"appMenuItems\"\r\n            [routePath]=\"routePath()\"\r\n        >\r\n            <div class=\"brand-logo brand-logo--centered\">\r\n                <a class=\"sidebartoggler\" id=\"headerCollapse\" (click)=\"sidebarToggled.emit()\">\r\n                    <fd-icon glyph=\"menu2\" class=\"nav-toggle-icon\"></fd-icon>\r\n                </a>\r\n            </div>\r\n        </div>\r\n        <div class=\"sidebarmenu\">\r\n            <div class=\"brand-logo nav-logo\">\r\n                <a href=\"/\" class=\"logo-img\">\r\n                    <img\r\n                        [src]=\"\r\n                            shellbarData?.Logo?.FileId\r\n                                | picFieldSrc: 'GetPictureFromFileInfo':null\r\n                        \"\r\n                        alt=\"Logo\"\r\n                        loading=\"lazy\"\r\n                    />\r\n                    <h5 class=\"fd-shellbar__title\">{{ shellbarData?.Subtitle }}</h5>\r\n                </a>\r\n            </div>\r\n\r\n            <nav\r\n                bnsystemnav\r\n                [systemNavUi]=\"selectedSystemNavUi()\"\r\n                [routePath]=\"reportPath()\"\r\n                [selectedNavGroupItemId]=\"selectedNavGroupItemId()\"\r\n                [hideSidebarFn]=\"hideSidebarFn\"\r\n                class=\"sidebar-nav\"\r\n                id=\"menu-right-mini-1\"\r\n                simplebar\r\n            ></nav>\r\n        </div>\r\n    </div>\r\n</div>\r\n","import { Component, computed, inject, input, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport {\r\n    ApplicationCtrlrService,\r\n    BarsaApi,\r\n    Command,\r\n    CommandGroup,\r\n    SearchInput,\r\n    WorkflowItem\r\n} from 'barsa-novin-ray-core';\r\nimport {\r\n    ShellbarComponent,\r\n    ShellbarGroupedCommandMenu,\r\n    ShellbarCommandNode,\r\n    ShellbarWorkflowMenuItem\r\n} from 'barsa-tiles';\r\nimport { Observable, map } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'bn-ribbon,header[ribbon]',\r\n    standalone: false,\r\n    templateUrl: './ribbon.component.html',\r\n    changeDetection: ChangeDetectionStrategy.Eager,\r\n    styleUrl: './ribbon.component.scss'\r\n})\r\nexport class RibbonComponent extends ShellbarComponent implements OnInit {\r\n    hideBranding = input.required<boolean>();\r\n    systemCommandGroups = input.required<Array<CommandGroup>>();\r\n    systemWorkflowList = input.required<Array<WorkflowItem>>();\r\n    currentCulture = BarsaApi.LoginFormData.Culture;\r\n    sidebarToggle$: Observable<boolean>;\r\n    suggestions$: Observable<{ value: string; data: any }[]>;\r\n    dastoratSarasari = computed<ShellbarCommandNode[]>(() =>\r\n        this.systemCommandGroups()\r\n            .filter((group) => (group.Caption || 'Global') === 'Global')\r\n            .flatMap((group) => this.mapCommandNodes(group.Commands || []))\r\n    );\r\n\r\n    groupedCommandMenus = computed<ShellbarGroupedCommandMenu[]>(() =>\r\n        this.systemCommandGroups()\r\n            .filter((group) => (group.Caption || 'Global') !== 'Global')\r\n            .map((group) => ({\r\n                Caption: group.Caption,\r\n                Commands: this.mapCommandNodes(group.Commands || [])\r\n            }))\r\n            .filter((group) => group.Commands.length > 0)\r\n    );\r\n\r\n    workflowMenuItems = computed<ShellbarWorkflowMenuItem[]>(() =>\r\n        this.systemWorkflowList().map((workflow) => ({\r\n            key: workflow.Id || workflow.Name || workflow.Caption,\r\n            label: workflow.Caption\r\n        }))\r\n    );\r\n    protected _applicationCtrlrService = inject(ApplicationCtrlrService);\r\n\r\n    ngOnInit(): void {\r\n        super.ngOnInit();\r\n        this.suggestions$ = this._applicationCtrlrService.searchResults$.pipe(\r\n            map((e) => e.flat().map((c) => ({ value: c.caption, data: c })))\r\n        );\r\n        this._applicationCtrlrService.loadSearchNavigators();\r\n\r\n        this.sidebarToggle$ = this._applicationCtrlrService.sidebarToggle$;\r\n    }\r\n\r\n    onSidebarToggle(): void {\r\n        this._applicationCtrlrService.sidebarToggled(true);\r\n    }\r\n    onSearchInput(e: SearchInput): void {\r\n        this._applicationCtrlrService.search(e);\r\n    }\r\n    onSearchItemClick(e): void {\r\n        this._applicationCtrlrService.searchItemClick(e);\r\n    }\r\n\r\n    private mapCommandNodes(commands: Command[], priority?: number): ShellbarCommandNode[] {\r\n        const pr = priority ? priority + 1 : 6;\r\n        return commands.map((command) => ({\r\n            key: command.Key,\r\n            label: command.Caption,\r\n            glyph: command.Icon,\r\n            useImageGlyph: command.Icon?.startsWith('/IH.ashx') === true,\r\n            priority: pr,\r\n            callback: () => this._applicationCtrlrService.selectSystemCommand(command),\r\n            children: this.mapCommandNodes(this.getChildCommands(command), pr)\r\n        }));\r\n    }\r\n\r\n    private getChildCommands(command: Command): Command[] {\r\n        if (command.Menu?.length) {\r\n            return command.Menu;\r\n        }\r\n\r\n        return command.Commands || [];\r\n    }\r\n}\r\n","@if (userLoggedIn$ | async; as userloggend) { @if (notificationsUnreadCount$ | async; as notificationsUnreadCount) { @if\r\n(deviceSize$ | async; as deviceSize) { @if (shellbarData) {\r\n<bt-barsa-shellbar\r\n    [class.service-desk]=\"isServiceDesk\"\r\n    cssRootVariable\r\n    [cssVariableValue]=\"(shellbarHeight$ | async)!!\"\r\n    [cssVariableName]=\"'--absolute-page-top'\"\r\n    [notificationReport]=\"notificationReport\"\r\n    [userInfo]=\"userInfo$ | async\"\r\n    [userLoggedIn]=\"true\"\r\n    [deviceSize]=\"deviceSize\"\r\n    [shellbarData]=\"shellbarData\"\r\n    [cssStyle]=\"cssStyles\"\r\n    [suggestions]=\"(suggestions$ | async)!! || []\"\r\n    [date]=\"date$ | async\"\r\n    productMenuControl=\"\"\r\n    [showSearchInSystem]=\"true\"\r\n    [dastoratSarasari]=\"dastoratSarasari()\"\r\n    [workflowMenuItems]=\"[]\"\r\n    [groupedCommandMenus]=\"groupedCommandMenus()\"\r\n    [settings]=\"settings\"\r\n    [informativeText]=\"settings?.InformativeText\"\r\n    [informativeStatus]=\"settings?.InformativeStatus\"\r\n    [hideProductMenu]=\"settings?.HideProductMenu\"\r\n    [hideBranding]=\"hideBranding()\"\r\n    [hideNotifications]=\"settings?.HideNotifications\"\r\n    [profileDynamicCommand]=\"shellbarData?.ProfileDynamicCommand\"\r\n    [profileDynamicCommandText]=\"shellbarData?.ProfileDynamicCommandText\"\r\n    [profileDynamicCommandIcon]=\"shellbarData?.ProfileDynamicCommandIcon\"\r\n    [isMobile]=\"isMobile\"\r\n    [displayName]=\"displayName\"\r\n    [currentCultures]=\"currentCulture\"\r\n    [isTablet]=\"isTablet\"\r\n    [isDesktop]=\"isDesktop\"\r\n    [multiLanguages]=\"multiLanguages\"\r\n    [notificationsUnreadCount]=\"notificationsUnreadCount > 0 ? notificationsUnreadCount : undefined\"\r\n    [cultures]=\"cultures\"\r\n    [logo]=\"logo\"\r\n    [actions]=\"actions\"\r\n    [footerButtons]=\"userMenu | filter: { inFooter: true }\"\r\n    [userMenu]=\"userMenu | filter: { inFooter: false }\"\r\n    [productSwitcher]=\"deviceSize === 's' ? [] : (productSwitcher$ | async)!!\"\r\n    [showSidebar]=\"deviceSize !== 'xl'\"\r\n    [subtitle]=\"subtitle\"\r\n    [enableSearch]=\"enableSearch\"\r\n    [isServiceDesk]=\"isServiceDesk\"\r\n    [sideMenuTemplate]=\"null\"\r\n    [productMenuItems1]=\"productMenuItems1\"\r\n    (isOpenQuickAccessChanged)=\"onSidebarToggle()\"\r\n    (cultureChanged)=\"onCultureChanged($event)\"\r\n    (notifiationActionClick)=\"onNotificationAction($event)\"\r\n    (searchInput)=\"onSearchInput($event)\"\r\n    (searchItemClick)=\"onSearchItemClick($event)\"\r\n    (appTileGroupChange)=\"onAppTileGroupChange($event)\"\r\n>\r\n</bt-barsa-shellbar>\r\n} } } }\r\n","import { Directive, Input, OnChanges, SimpleChanges, inject } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Directive({\r\n    selector: '[appSidebarToggle]',\r\n    standalone: false\r\n})\r\nexport class SidebarToggleDirective implements OnChanges {\r\n    /** اگر true باشه سایدبار کامل، اگر false باشه مینی */\r\n    @Input('appSidebarToggle') sidebarToggle = true;\r\n    private readonly _document = inject(DOCUMENT);\r\n\r\n    ngOnChanges(changes: SimpleChanges): void {\r\n        if (changes['sidebarToggle']) {\r\n            this.applySidebarChanges();\r\n        }\r\n    }\r\n\r\n    private applySidebarChanges():void {\r\n        const document = this._document as any;\r\n\r\n        // همه سوییچ‌ها رو روشن کن\r\n        document.querySelectorAll('.sidebartoggler').forEach((el: any) => {\r\n            el.checked = true;\r\n        });\r\n\r\n        // کلاس show-sidebar رو روی main-wrapper تغییر بده\r\n        if (!this.sidebarToggle) {\r\n        } else {\r\n\r\n        }\r\n        \r\n        // کلاس close رو روی آیتم‌های منو تغییر بده\r\n        document.querySelectorAll('.sidebarmenu').forEach((el: any) => {\r\n            el.classList.toggle('close');\r\n        });\r\n        \r\n        // تغییر نوع نمایش\r\n        if (!this.sidebarToggle) {\r\n            document.getElementById('main-wrapper')?.classList.remove('show-sidebar');\r\n            document.body.setAttribute('data-sidebartype', 'mini-sidebar');\r\n        } else {\r\n            document.getElementById('main-wrapper')?.classList.add('show-sidebar');\r\n            document.body.setAttribute('data-sidebartype', 'full');\r\n        }\r\n    }\r\n}\r\n","import { Component, inject, signal, WritableSignal, OnInit, ChangeDetectionStrategy } from '@angular/core';\r\nimport { ActivatedRoute, Route } from '@angular/router';\r\nimport {\r\n    ApplicationCtrlrService,\r\n    AppMenu,\r\n    PortalService,\r\n    AbbrevationDeviceSize,\r\n    ShellbarSetting,\r\n    CustomSystemNavUi,\r\n    CommandGroup,\r\n    WorkflowItem,\r\n    PageWithFormHandlerBaseComponent,\r\n    PageDataModel,\r\n    BreadcrumbService\r\n} from 'barsa-novin-ray-core';\r\nimport { TilesService } from 'barsa-tiles';\r\nimport { Observable, takeUntil } from 'rxjs';\r\n@Component({\r\n    selector: 'bn-system-container',\r\n    standalone: false,\r\n    templateUrl: './system-container.component.html',\r\n    changeDetection: ChangeDetectionStrategy.Eager,\r\n    styleUrl: './system-container.component.scss'\r\n})\r\nexport class SystemContainerComponent extends PageWithFormHandlerBaseComponent implements OnInit {\r\n    appMenuItems$: Observable<AppMenu[]>;\r\n    selectedSystemId$: Observable<string>;\r\n    selectedSystemNavUi$: Observable<CustomSystemNavUi | null>;\r\n    deviceSize$: Observable<AbbrevationDeviceSize>;\r\n    shellbarData$: Observable<ShellbarSetting>;\r\n    selectedNavGroupId$: Observable<string>;\r\n    selectedReportId$: Observable<string>;\r\n    selectedNavGroupItemId$: Observable<string>;\r\n    sidebarToggle$: Observable<boolean>;\r\n    routePath = signal('');\r\n    reportPath = signal('');\r\n    systemWorkflowList$: Observable<Array<WorkflowItem>>;\r\n    systemCommandGroups$: Observable<Array<CommandGroup>>;\r\n    selectedCommandGroups$: Observable<string>;\r\n    selectedCommandId$: Observable<string>;\r\n    pages: WritableSignal<Array<PageDataModel>> = signal([]);\r\n    hideMiniNav$: Observable<boolean>;\r\n    protected _portalService = inject(PortalService);\r\n    private _applicationCtrlrService = inject(ApplicationCtrlrService);\r\n    private _tilesService = inject(TilesService);\r\n    private _route = inject(ActivatedRoute);\r\n    private _breadCrumbService = inject(BreadcrumbService);\r\n    hideSidebarFn = (isPage?: boolean): void => {\r\n        if (this.deviceSize !== 'xl' || isPage) {\r\n            this._applicationCtrlrService.sidebarToggled(false);\r\n        }\r\n    };\r\n\r\n    ngOnInit(): void {\r\n        super.ngOnInit();\r\n        this.sidebarToggle$ = this._applicationCtrlrService.sidebarToggle$;\r\n        this.shellbarData$ = this._tilesService.shellbar$ as Observable<ShellbarSetting>;\r\n        this.hideMiniNav$ = this._applicationCtrlrService.hideMiniNav$;\r\n        this.selectedSystemId$ = this._applicationCtrlrService.selectedSystemId$;\r\n        this.selectedNavGroupId$ = this._applicationCtrlrService.selectedNavGroupId$;\r\n        this.selectedReportId$ = this._applicationCtrlrService.selectedReportId$;\r\n        this.selectedNavGroupItemId$ = this._applicationCtrlrService.selectedNavGroupItemId$;\r\n        this.appMenuItems$ = this._applicationCtrlrService.appMenuItems$;\r\n\r\n        this.appMenuItems$\r\n            .pipe(takeUntil(this._onDestroy$))\r\n            .subscribe((c) => c?.length === 1 && this._applicationCtrlrService.setHideMiniNav(true));\r\n\r\n        this.deviceSize$ = this._portalService.deviceSize$;\r\n        this.sidebarToggle$ = this._applicationCtrlrService.sidebarToggle$;\r\n        this.shellbarData$ = this._tilesService.shellbar$ as Observable<ShellbarSetting>;\r\n        this.selectedSystemNavUi$ = this._applicationCtrlrService.selectedSystemNavUi$;\r\n        this.systemWorkflowList$ = this._applicationCtrlrService.systemWorkflowList$;\r\n        this.systemCommandGroups$ = this._applicationCtrlrService.systemCommandGroups$;\r\n        this.selectedCommandGroups$ = this._applicationCtrlrService.selectedCommandGroups$;\r\n        this.selectedCommandId$ = this._applicationCtrlrService.selectedCommand$;\r\n        const parentRoute = this._route.snapshot.data['pageData'].Route.split('/');\r\n        this.routePath.set(`#/${parentRoute[1]}/`);\r\n        this._applicationCtrlrService.systemCaption$.subscribe((c) => {\r\n            if (this._activatedRoute.snapshot.data && this._activatedRoute.snapshot.data.pageData) {\r\n                this._activatedRoute.snapshot.data.pageData.BreadCrumb = c;\r\n            }\r\n        });\r\n        this.selectedSystemId$.pipe(takeUntil(this._onDestroy$)).subscribe((c) => {\r\n            this.reportPath.set(`${this.routePath()}${c}/report/`);\r\n            const activeNavItemItem = this._applicationCtrlrService.getSelectedNavGroupItemId(c);\r\n            const activeReportId = this._applicationCtrlrService.getSelectedReportId(c);\r\n            const activeReportCaption = this._applicationCtrlrService.getSelectedReportId(c);\r\n            if (activeNavItemItem && activeReportId) {\r\n                this._router.navigate(\r\n                    ['report', activeNavItemItem + '__' + activeReportCaption + '__' + activeReportId],\r\n                    {\r\n                        relativeTo: this._route\r\n                    }\r\n                );\r\n            }\r\n        });\r\n        const chilren: Route[] = [];\r\n        this._route.snapshot?.routeConfig?.children?.forEach((c: Route) => {\r\n            if (c.data?.pageData?.IsGlobalPage !== 'False' && c.path !== 'form' && c.path !== 'report/:id') {\r\n                chilren.push(c);\r\n            }\r\n        });\r\n        this.pages.set(chilren.map((c) => c.data?.pageData));\r\n        this._applicationCtrlrService.setGlobalPages(this.pages());\r\n        this._applicationCtrlrService.setBasePath(this.routePath());\r\n        this._route.paramMap.pipe(takeUntil(this._onDestroy$)).subscribe((params) => {\r\n            const id = params.get('id');\r\n            if (id) {\r\n                this.systemChanged(id);\r\n            }\r\n        });\r\n    }\r\n    onSidebarToggled(): void {\r\n        this._applicationCtrlrService.sidebarToggled(!this._applicationCtrlrService.sidebarToggle);\r\n    }\r\n    onSystemChanged(_appMenuItem: AppMenu): void {}\r\n    systemChanged(systemId: string): void {\r\n        this._applicationCtrlrService.systemChange(systemId);\r\n        if (this._portalService.deviceSize === 'xl') {\r\n            this._applicationCtrlrService.sidebarToggled(true);\r\n        }\r\n    }\r\n}\r\n","<div\r\n    id=\"main-wrapper\"\r\n    [appSidebarToggle]=\"(sidebarToggle$ | async) === true\"\r\n    cssRootVariable\r\n    [cssVariableValue]=\"'0px'\"\r\n    [cssVariableName]=\"'--sidebarRightWidth'\"\r\n    [disable]=\"(hideMiniNav$ | async) === false\"\r\n    [class.hide-mini-nav]=\"(hideMiniNav$ | async) === true\"\r\n>\r\n    <aside\r\n        class=\"side-mini-panel with-vertical\"\r\n        bnsystem\r\n        [selectedSystemNavUi]=\"(selectedSystemNavUi$ | async)!!\"\r\n        [selectedSystemId]=\"(selectedSystemId$ | async)!!\"\r\n        [selectedNavGroupId]=\"(selectedNavGroupId$ | async)!!\"\r\n        [selectedNavGroupItemId]=\"(selectedNavGroupItemId$ | async)!!\"\r\n        [systemCommandGroups]=\"(systemCommandGroups$ | async)!!\"\r\n        [systemWorkflowList]=\"(systemWorkflowList$ | async)!!\"\r\n        [selectedCommandGroups]=\"(selectedCommandGroups$ | async)!!\"\r\n        [selectedCommandId]=\"(selectedCommandId$ | async)!!\"\r\n        [pages]=\"pages()\"\r\n        [routePath]=\"routePath()\"\r\n        [reportPath]=\"reportPath()\"\r\n        [appMenuItems]=\"(appMenuItems$ | async)!!\"\r\n        [shellbarData]=\"(shellbarData$ | async)!!\"\r\n        [deviceSize]=\"(deviceSize$ | async)!!\"\r\n        (sidebarToggled)=\"onSidebarToggled()\"\r\n        (systemChanged)=\"onSystemChanged($event)\"\r\n        [hideSidebarFn]=\"hideSidebarFn\"\r\n    ></aside>\r\n\r\n    <div class=\"bn-page-wrapper\">\r\n        <header\r\n            ribbon\r\n            class=\"topbar\"\r\n            [hideBranding]=\"(hideMiniNav$ | async) === true\"\r\n            [systemCommandGroups]=\"(systemCommandGroups$ | async)!!\"\r\n            [systemWorkflowList]=\"(systemWorkflowList$ | async)!!\"\r\n        ></header>\r\n        <div class=\"body-wrapper tw-relative\">\r\n            <bu-left-sidebar></bu-left-sidebar>\r\n            <div class=\"tw-h-full bn-page-content\">\r\n                <ng-container #containerRef></ng-container>\r\n\r\n                <router-outlet></router-outlet>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n<router-outlet name=\"dialog\"></router-outlet>\r\n","import { Component, inject, ChangeDetectionStrategy, HostBinding, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport {\r\n    AbbrevationDeviceSize,\r\n    ApplicationCtrlrService,    \r\n    PageWithFormHandlerBaseComponent\r\n} from 'barsa-novin-ray-core';\r\nimport { TilesService } from 'barsa-tiles';\r\nimport { filter, map, Observable, take, takeUntil, tap, withLatestFrom } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'bn-system-tile-viewer',\r\n    standalone: false,\r\n    templateUrl: './system-tile-viewer.component.html',\r\n    styleUrl: './system-tile-viewer.component.scss',\r\n    changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SystemTileViewerComponent extends PageWithFormHandlerBaseComponent implements OnInit {\r\n    @HostBinding('style.position') _position: string | null = null;\r\n    @HostBinding('class.section') sectionClass = true;\r\n    @HostBinding('class.absolute-page') absolutePageClass = true;\r\n    @HostBinding('class.modal') ismodal = false;\r\n    appTileGroup$: Observable<any | undefined>;\r\n    deviceSize: AbbrevationDeviceSize = 'xl';\r\n    rtl = true;\r\n    stackContent = true;\r\n    edit = false;\r\n    defaultTileGroupComponent = {\r\n        Id: '',\r\n        $Caption: '',\r\n        Module: 'BarsaTiles',\r\n        ModuleFileName: '',\r\n        Name: 'TilesViewerGroup',\r\n        Selector: 'bt-tiles-viewer-group'\r\n    };\r\n    private _tilesService = inject(TilesService);\r\n    private _applicationCtrlrService = inject(ApplicationCtrlrService);\r\n    private _route = inject(ActivatedRoute);\r\n    private _loaded = false;\r\n    ngOnInit(): void {\r\n        super.ngOnInit();\r\n        this.appTileGroup$ = this._tilesService.homeAppTileGroups$.pipe(\r\n            filter((c) => typeof c !== 'undefined'),\r\n            withLatestFrom(this._applicationCtrlrService.selectedAppTileGroup$),\r\n            map(([appTileGroups, selectedId]) =>\r\n                appTileGroups?.length ? appTileGroups.find((c) => c.Id === selectedId) : undefined\r\n            )\r\n        );\r\n        this._route.paramMap.pipe(takeUntil(this._onDestroy$)).subscribe((params) => {\r\n            const id = params.get('id');\r\n            if (id) {\r\n                this._applicationCtrlrService.selectAppTileGroup(id);\r\n                this._applicationCtrlrService.selectNavGroup('');\r\n                this._applicationCtrlrService.selectNavGroupItem('');\r\n                this._applicationCtrlrService.selectSystemCommandId('');\r\n            }\r\n\r\n            this._tilesService.homeAppTileGroups$\r\n                .pipe(\r\n                    filter((c) => typeof c !== 'undefined'),\r\n\r\n                    take(2),\r\n                    map((appTileGroups) =>\r\n                        appTileGroups?.length ? appTileGroups.find((c) => c.Id === id) : undefined\r\n                    ),\r\n                    tap((c) => c && this._tilesService.loadAppTileGroups(c))\r\n                )\r\n                .subscribe();\r\n        });\r\n    }\r\n}\r\n","@if(appTileGroup$ | async ;as appTileGroup){\r\n<bt-tiles-viewer\r\n    darkClass\r\n    [class.edit]=\"false\"\r\n    [appTileGroups]=\"[appTileGroup]\"\r\n    [loading]=\"false\"\r\n    cssRootVariable\r\n    [cssVariableName]=\"'--tile-tabs-custom-color'\"\r\n    [edit]=\"false\"\r\n    [rtl]=\"rtl\"\r\n    [stackContent]=\"false\"\r\n    [deviceSize]=\"deviceSize\"\r\n></bt-tiles-viewer>\r\n}\r\n<router-outlet></router-outlet>\r\n<router-outlet name=\"dialog\"></router-outlet>\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { PageWithFormHandlerBaseComponent } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n    selector: 'bn-system-tile-viewer-container',\r\n    standalone: false,\r\n    templateUrl: './system-tile-viewer-container.component.html',\r\n    styleUrl: './system-tile-viewer-container.component.scss',    \r\n    changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SystemTileViewerContainerComponent extends PageWithFormHandlerBaseComponent {}\r\n","<router-outlet></router-outlet>\r\n<router-outlet name=\"dialog\"></router-outlet>\r\n","import { Component, input, output, ChangeDetectionStrategy } from '@angular/core';\r\nimport { Command } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n    selector: 'bn-system-command,[bncommand]',\r\n    standalone: false,\r\n    templateUrl: './system-command.component.html',\r\n    changeDetection: ChangeDetectionStrategy.Eager,\r\n    styleUrl: './system-command.component.scss'\r\n})\r\nexport class SystemCommandComponent {\r\n    commandClick = output();\r\n    command = input.required<Command>();\r\n    selectedCommandId = input('');\r\n    routePath = input('');\r\n\r\n    selected = input(false);\r\n}\r\n","<a\r\n    class=\"sidebar-link\"        \r\n    (click)=\"commandClick.emit()\"\r\n    preventDefault\r\n    stopPropagation\r\n>\r\n    <span class=\"icon-small\"></span>{{ command().Caption | bbbTranslate }}</a\r\n>\r\n","import { Directive, input, SimpleChanges, OnInit, OnChanges } from '@angular/core';\r\nimport { BaseDirective } from 'barsa-novin-ray-core';\r\n\r\n@Directive({\r\n    selector: '[navSelected]',\r\n    standalone: false\r\n})\r\nexport class NavSelectedDirective extends BaseDirective implements OnInit, OnChanges {\r\n    navSelected = input.required<string>();\r\n    id = input.required<string>();\r\n    ngOnInit(): void {\r\n        super.ngOnInit();\r\n        this._addClassSelected(this.navSelected());\r\n    }\r\n    ngOnChanges(changes: SimpleChanges): void {\r\n        const { navSelected } = changes;\r\n        if (navSelected && !navSelected.firstChange) {\r\n            this._addClassSelected(navSelected.currentValue);\r\n        }\r\n    }\r\n    _addClassSelected(selectedId): void {\r\n        if (selectedId === this.id()) {\r\n            this._renderer2.addClass(this._el.nativeElement, 'nav-selected');\r\n        } else {\r\n            this._renderer2.removeClass(this._el.nativeElement, 'nav-selected');\r\n        }\r\n    }\r\n}\r\n","import { Component, input, inject, ChangeDetectionStrategy } from '@angular/core';\r\nimport { BaseComponent, CommandGroup, Command, ApplicationCtrlrService } from 'barsa-novin-ray-core';\r\n\r\n@Component({\r\n    selector: 'bn-system-command-groups,[bncommandgroups]',\r\n    standalone: false,\r\n    templateUrl: './system-command-groups.component.html',\r\n    changeDetection: ChangeDetectionStrategy.Eager,\r\n    styleUrl: './system-command-groups.component.scss'\r\n})\r\nexport class SystemCommandGroupsComponent extends BaseComponent {\r\n    commandGroup = input.required<CommandGroup>();\r\n    selectedCommandId = input('');\r\n    selectedCommandGroups = input.required<string>();\r\n    routePath = input('');\r\n    selected = input(false);\r\n    hideSidebarFn = input.required<(isPage?: boolean) => void>();\r\n    private _applicationCtrlrService = inject(ApplicationCtrlrService);\r\n\r\n    onCommandGroupSelect(command: Command): void {\r\n        this._selectCommandGroups(command);\r\n    }\r\n    onCommandSelect(command: Command): void {\r\n        this.hideSidebarFn() && this.hideSidebarFn()();\r\n        this._applicationCtrlrService.selectSystemCommand(command);\r\n        this._applicationCtrlrService.selectNavGroupItem('');\r\n    }\r\n    protected _selectCommandGroups(command: Command): void {\r\n        let caption = command.Caption;\r\n        if (caption === this.selectedCommandGroups()) {\r\n            caption = '';\r\n        }\r\n        this._applicationCtrlrService.setCommandGroupsSelected(caption);\r\n        this._applicationCtrlrService.selectNavGroup('');\r\n    }\r\n}\r\n","@for(command of commandGroup().Commands;track command.Key){ @if(command.Menu){\r\n\r\n<li class=\"sidebar-item\">\r\n    <a\r\n        class=\"sidebar-link has-arrow\"\r\n        aria-expanded=\"false\"\r\n        [class.active]=\"selectedCommandGroups() === command.Caption\"\r\n        (click)=\"onCommandGroupSelect(command)\"\r\n    >\r\n        <span class=\"hide-menu\">{{ command.Caption | bbbTranslate }}</span>\r\n    </a>\r\n    <ul\r\n        aria-expanded=\"true\"\r\n        class=\"bn-collapsible first-level\"\r\n        [class.is-open]=\"selectedCommandGroups() === command.Caption\"\r\n    >\r\n        <div>\r\n            @for(menuCommand of command.Menu;track menuCommand.Key){\r\n            <ng-template *ngTemplateOutlet=\"commandTpl; context: { $implicit: menuCommand }\"></ng-template>\r\n            }\r\n        </div>\r\n    </ul>\r\n</li>\r\n}@else {\r\n<ng-template *ngTemplateOutlet=\"commandTpl; context: { $implicit: command }\"></ng-template>\r\n} }\r\n\r\n<ng-template #commandTpl let-command>\r\n    <li\r\n        class=\"sidebar-item\"\r\n        [navSelected]=\"selectedCommandId()\"\r\n        [id]=\"command.Key\"\r\n        bncommand\r\n        [routePath]=\"routePath()\"\r\n        [command]=\"command\"\r\n        [selectedCommandId]=\"selectedCommandId()\"\r\n        (commandClick)=\"onCommandSelect(command)\"\r\n    ></li>\r\n</ng-template>\r\n","import { Component, input, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'bn-system-tile-groups',\r\n    standalone: false,\r\n    templateUrl: './system-tile-groups.component.html',\r\n    changeDetection: ChangeDetectionStrategy.Eager,\r\n    styleUrl: './system-tile-groups.component.scss'\r\n})\r\nexport class SystemTileGroupsComponent {\r\n    appTileGroups = input.required<Array<any>>();\r\n    selectedAppTileGroup = input.required<string>();\r\n}\r\n","@for (appTileGroup of appTileGroups(); track appTileGroup.Id) {\r\n<li class=\"sidebar-item\" [class.nav-selected]=\"selectedAppTileGroup() === appTileGroup.Id\">\r\n    <a class=\"sidebar-link\" aria-expanded=\"false\" [routerLink]=\"['tiles', appTileGroup.Id]\">\r\n        <fd-icon\r\n            class=\"tw-text-inherit\"\r\n            [glyph]=\"appTileGroup.IconFont\"\r\n            [font]=\"appTileGroup.IconFontName?.$Caption\"\r\n        ></fd-icon>\r\n        <span class=\"icon-small\"></span>{{ appTileGroup.Title }}\r\n    </a>\r\n</li>\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA, inject } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\n\r\nimport { FundamentalNgxCoreModule, IconModule } from '@fundamental-ngx/core';\r\nimport { PlatformMenuModule } from '@fundamental-ngx/platform';\r\nimport { FDB_NAVIGATION } from '@fundamental-ngx/btp/navigation';\r\n\r\nimport { BarsaNovinRayCoreModule, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';\r\nimport { BarsaTilesModule } from 'barsa-tiles';\r\n\r\nimport {\r\n    ApplicationUiComponent,\r\n    SystemNavComponent,\r\n    SystemComponent,\r\n    SystemTileViewerComponent,\r\n    SystemTileViewerContainerComponent,\r\n    SystemUlvPagePipe\r\n} from './index';\r\n\r\nimport { RibbonComponent } from './ribbon/ribbon.component';\r\nimport { SystemItemComponent } from './system-item/system-item.component';\r\nimport { AppMenuComponent } from './app-menu/app-menu.component';\r\nimport { SidebarToggleDirective } from './sidebar.toggle.directive';\r\nimport { SystemContainerComponent } from './system-container/system-container.component';\r\nimport { SystemCommandGroupsComponent } from './system-command-groups/system-command-groups.component';\r\nimport { SystemCommandComponent } from './system-command/system-command.component';\r\nimport { NavSelectedDirective } from './nav-selected.directive';\r\nimport { SystemTileGroupsComponent } from './system-tile-groups/system-tile-groups.component';\r\nimport { SystemNavBtpComponent } from './system-nav-btp/system-nav-btp.component';\r\n\r\nconst components = [\r\n    ApplicationUiComponent,\r\n    SystemNavComponent,\r\n    SystemContainerComponent,\r\n    SystemComponent,\r\n    SystemTileViewerComponent,\r\n    SystemTileViewerContainerComponent\r\n];\r\n@NgModule({\r\n    declarations: [\r\n        ...components,\r\n        RibbonComponent,\r\n        SystemItemComponent,\r\n        AppMenuComponent,\r\n        SystemContainerComponent,\r\n        SystemCommandGroupsComponent,\r\n        SystemCommandComponent,\r\n        SidebarToggleDirective,\r\n        NavSelectedDirective,\r\n        SystemTileGroupsComponent,\r\n        SystemTileViewerComponent,\r\n        SystemTileViewerContainerComponent,\r\n        SystemUlvPagePipe,\r\n        SystemNavBtpComponent\r\n    ],\r\n    schemas: [NO_ERRORS_SCHEMA],\r\n\r\n    imports: [\r\n        CommonModule,\r\n        RouterModule.forChild([]),\r\n        BarsaNovinRayCoreModule,\r\n        FundamentalNgxCoreModule,\r\n        PlatformMenuModule,\r\n        FormsModule,\r\n        DragDropModule,\r\n        BarsaTilesModule,\r\n        //\r\n\r\n        IconModule,\r\n        ...FDB_NAVIGATION\r\n    ],\r\n    exports: [...components]\r\n})\r\nexport class BarsaNavigatorModule extends BaseModule {\r\n    protected dynamicComponents = [...components];\r\n\r\n    /** Inserted by Angular inject() migration for backwards compatibility */\r\n\r\n    constructor() {\r\n        const dcm = inject(DynamicComponentService);\r\n        super(dcm, 'BarsaNavigatorModule');\r\n        this.dcm = dcm;\r\n    }\r\n}\r\n","/*\r\n * Public API Surface of barsa-navigator\r\n */\r\n\r\nexport * from './lib/index';\r\nexport * from './lib/barsa-navigator.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i5","i6.SystemUlvPagePipe","i1","i2.SystemNavBtpComponent","i2.SystemItemComponent","i3.SystemNavComponent","i4.AppMenuComponent","i3.SystemComponent","i4.RibbonComponent","i5.SidebarToggleDirective","i6","i2.SystemCommandComponent","i3.NavSelectedDirective","i4"],"mappings":"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"}