{"version":3,"file":"ironsource-fusion-ui-components-sidebar-common-services.mjs","sources":["../../../projects/fusion-ui/components/sidebar/common/services/sidebar-menu.service.ts","../../../projects/fusion-ui/components/sidebar/common/services/ironsource-fusion-ui-components-sidebar-common-services.ts"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\nimport {SidebarMenuItem} from '@ironsource/fusion-ui/components/sidebar/common/entities';\nimport {isNullOrUndefined} from '@ironsource/fusion-ui/utils';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class SidebarMenuService {\n    openedMenuItem$ = new BehaviorSubject<SidebarMenuItem>(null);\n    selectedMenuItem$ = new BehaviorSubject<SidebarMenuItem>(null);\n    activeMenuItem$ = new BehaviorSubject<SidebarMenuItem>(null);\n\n    constructor() {}\n\n    normalizeActiveRoute(activeRoute: string, regExp: RegExp): string {\n        return !isNullOrUndefined(regExp) ? activeRoute.replace(regExp, '') : activeRoute;\n    }\n\n    /**\n     * Found in menu-items three open, selected and active menu item by route (ignore part after menu item route)\n     * route '/XXX/YYY/ZZZ' will match for menuItem route '/XXX/YYY'\n     * - menuItems menu items array\n     * - activeRoute\n     * - rootItem (first parent in three)\n     * - deepLevel (optional need just for not replace root parent if level of parents more than one)\n     */\n    setMenuByActiveRoute(menuItems: SidebarMenuItem[] = [], activeRoute: string, rootItem?: SidebarMenuItem, deepLevel = 0) {\n        deepLevel++;\n        menuItems.forEach(item => {\n            if (\n                (item.route && activeRoute.startsWith(item.route)) ||\n                this.checkBySubRoutes(item, activeRoute) ||\n                (item.additionalAction?.route && activeRoute.startsWith(item.additionalAction.route))\n            ) {\n                this.setMenuItemsState(item, rootItem ?? item, rootItem ?? item);\n                return false;\n            } else if (!!item.children) {\n                this.setMenuByActiveRoute(item.children, activeRoute, deepLevel === 1 ? item : rootItem, deepLevel);\n            }\n        });\n    }\n\n    private checkBySubRoutes(item: SidebarMenuItem, route: string): boolean {\n        if (Array.isArray(item.subRoutes)) {\n            return item.subRoutes.some(subRoute => route.startsWith(subRoute));\n        }\n        return false;\n    }\n\n    private setMenuItemsState(active: SidebarMenuItem, selected: SidebarMenuItem, opened: SidebarMenuItem) {\n        this.activeMenuItem$.next(active);\n        this.selectedMenuItem$.next(selected);\n        this.openedMenuItem$.next(opened);\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAQa,kBAAkB,CAAA;AAK3B,IAAA,WAAA,GAAA;AAJA,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAkB,IAAI,CAAC,CAAC;AAC7D,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAAkB,IAAI,CAAC,CAAC;AAC/D,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAkB,IAAI,CAAC,CAAC;KAE7C;IAEhB,oBAAoB,CAAC,WAAmB,EAAE,MAAc,EAAA;QACpD,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC;KACrF;AAED;;;;;;;AAOG;IACH,oBAAoB,CAAC,SAA+B,GAAA,EAAE,EAAE,WAAmB,EAAE,QAA0B,EAAE,SAAS,GAAG,CAAC,EAAA;AAClH,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,SAAS,CAAC,OAAO,CAAC,IAAI,IAAG;AACrB,YAAA,IACI,CAAC,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AACjD,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC;AACxC,iBAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EACvF;AACE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;AACjE,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;AAAM,iBAAA,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACxB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,KAAK,CAAC,GAAG,IAAI,GAAG,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvG,aAAA;AACL,SAAC,CAAC,CAAC;KACN;IAEO,gBAAgB,CAAC,IAAqB,EAAE,KAAa,EAAA;QACzD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AAC/B,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KAChB;AAEO,IAAA,iBAAiB,CAAC,MAAuB,EAAE,QAAyB,EAAE,MAAuB,EAAA;AACjG,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACrC;mFA9CQ,kBAAkB,GAAA,CAAA,EAAA,CAAA,EAAA;uEAAlB,kBAAkB,EAAA,OAAA,EAAlB,kBAAkB,CAAA,IAAA,EAAA,UAAA,EAFf,MAAM,EAAA,CAAA,CAAA,EAAA;;iFAET,kBAAkB,EAAA,CAAA;cAH9B,UAAU;AAAC,QAAA,IAAA,EAAA,CAAA;AACR,gBAAA,UAAU,EAAE,MAAM;AACrB,aAAA,CAAA;;;ACPD;;AAEG;;;;"}