{"version":3,"file":"sowatech-shared-side-content.mjs","sources":["../../../projects/shared/side-content/side-content.service.ts","../../../projects/shared/side-content/side-content.component.ts","../../../projects/shared/side-content/side-content.component.html","../../../projects/shared/side-content/empty-side-content/empty-side-content.component.ts","../../../projects/shared/side-content/empty-side-content/empty-side-content.component.html","../../../projects/shared/side-content/side-content.routing.ts","../../../projects/shared/side-content/side-content.module.ts","../../../projects/shared/side-content/sowatech-shared-side-content.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { SideContentConfig } from './side-content.component';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SideContentService {\r\n\r\n    constructor() {\r\n    }\r\n\r\n    onInit: Subject<SideContentConfig> = new Subject<SideContentConfig>();\r\n    onRemove: Subject<void> = new Subject<void>();\r\n    onShow: Subject<void> = new Subject<void>();\r\n    onHide: Subject<void> = new Subject<void>();\r\n\r\n    public init(config: SideContentConfig) {\r\n        this.lastConfig = config;\r\n        this.onInit.next(config);\r\n    }\r\n\r\n    public lastConfig: SideContentConfig;\r\n\r\n    public show() {\r\n        this.onShow.next();\r\n    }\r\n\r\n    public hide() {\r\n        this.onHide.next();\r\n    }\r\n\r\n    public remove() {\r\n        this.onRemove.next();\r\n    }\r\n\r\n    /**Der sideContent wurde geöffnet*/\r\n    opened: Subject<void> = new Subject<void>();\r\n\r\n    /**Der sideContent wurde geschlossen*/\r\n    closed: Subject<void> = new Subject<void>();\r\n    public isOpen=false;\r\n\r\n    /**Nur aufzurufen vom sideContent selbst*/\r\n    public setOpened(value: boolean) {\r\n        if (this.isOpen == value) return;\r\n        this.isOpen = value;\r\n        if (this.isOpen)\r\n            this.opened.next();\r\n\r\n        else\r\n            this.closed.next();\r\n\r\n\r\n    }\r\n}\r\n","import { Component, OnDestroy, OnInit, ViewChild, ElementRef, Input } from '@angular/core';\r\nimport { Router, RouterOutlet, ActivationStart } from '@angular/router';\r\nimport { LoggerService } from '@sowatech/shared/logger';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { SideContentService } from './side-content.service';\r\n\r\nconst CLASS = 'SideContentComponent';\r\n\r\n@Component({\r\n    selector: 'side-content',\r\n    templateUrl: './side-content.component.html',\r\n    styles: [`\r\n        .side-content-wrapper{\r\n            position: fixed;\r\n            z-index: 2045;\r\n            top: 90px;\r\n            right: 0;\r\n            display: none;\r\n        }\r\n        .side-content-wrapper.show{\r\n            display: block;\r\n        }\r\n\r\n        .side-content-box {\r\n            margin-right: -800px;\r\n            position: relative;\r\n            z-index: 2000;\r\n            -webkit-transition-duration: 0.8s;\r\n            transition-duration: 0.8s;\r\n        }\r\n\r\n        .side-content-box.show {\r\n            margin-right: 0 !important;\r\n        }\r\n\r\n        .side-content {\r\n            width: 800px;\r\n            margin-left: 40px;\r\n            background: #f3f3f4;\r\n            min-height: 36px;\r\n        }\r\n\r\n        .side-content.show{\r\n            box-shadow: -1px 1px 17px grey;\r\n        }\r\n        `\r\n    ],\r\n    standalone: false\r\n})\r\nexport class SideContentComponent implements OnInit, OnDestroy {\r\n    constructor(\r\n        public logger: LoggerService,\r\n        private sideContentService: SideContentService,\r\n        private router: Router,\r\n    ) {\r\n    }\r\n\r\n    private subscriptions: Array<Subscription> = [];\r\n    ngOnInit() {\r\n        this.subscriptions.push(\r\n            this.sideContentService.onRemove.subscribe(() => {\r\n                this.remove();\r\n            }),\r\n            this.sideContentService.onInit.subscribe((config: SideContentConfig) => {\r\n                this.init(config);\r\n            }),\r\n            this.sideContentService.onHide.subscribe(() => {\r\n                this.hide();\r\n            }),\r\n            this.sideContentService.onShow.subscribe(() => {\r\n                this.show();\r\n            })\r\n        );\r\n\r\n        //FIX: https://stackoverflow.com/questions/55617772/angular-7-multiple-outlets-error-cannot-activate-an-already-activated-outle\r\n        if (this.hackDeactivateOutletOnActivationStart) {\r\n            this.subscriptions.push(\r\n                this.router.events.subscribe(e => {\r\n                    if (e instanceof ActivationStart && e.snapshot.outlet === 'sideContent')\r\n                        this.outlet.deactivate();\r\n\r\n                })\r\n            );\r\n        }\r\n\r\n        //--notwendig da reihenfolge ggf so dass sideContentService bereist ein init ausgelöst hat bevor die sideContentComponent selbst initialisiert war\r\n        if (this.sideContentService.lastConfig != null)\r\n            this.init(this.sideContentService.lastConfig);\r\n\r\n    }\r\n\r\n    @ViewChild(RouterOutlet) outlet: RouterOutlet;\r\n\r\n    @ViewChild('sideContent', { static: true }) sideContent: ElementRef;\r\n    @ViewChild('contentBox', { static: true }) contentBox: ElementRef;\r\n    @ViewChild('icon', { static: true }) icon: ElementRef;\r\n    @ViewChild('content', { static: true }) content: ElementRef;\r\n\r\n    //FIX in lazy load environment: https://stackoverflow.com/questions/55617772/angular-7-multiple-outlets-error-cannot-activate-an-already-activated-outle\r\n    @Input() hackDeactivateOutletOnActivationStart: boolean;\r\n\r\n    config: SideContentConfig;\r\n\r\n    private async init(config: SideContentConfig) {\r\n        this.logger.log(CLASS + '.onInit');\r\n        this.config = config;\r\n        this.setSideContentOpenerVisible();\r\n        this.open(false);\r\n        const navSuccess = await this.router.navigate([{ outlets: { sideContent: null } }], { skipLocationChange: true });\r\n        if (!navSuccess)\r\n            this.logger.warn(CLASS +'onInit navigate to sideContent=null not successfull');\r\n\r\n        this.logger.log(CLASS + '.onInit done');\r\n    }\r\n\r\n    private async remove() {\r\n        this.logger.log(CLASS + '.onRemove');\r\n        this.setSideContentOpenerInvisible();\r\n        this.open(false);\r\n        const navSuccess = await this.router.navigate([{ outlets: { sideContent: null } }], { skipLocationChange: true });\r\n        if (!navSuccess)\r\n            this.logger.warn(CLASS + '.onRemove navigate to sideContent=null not successfull');\r\n\r\n    }\r\n\r\n    public toggle() {\r\n        this.open(!this.isOpen);\r\n    }\r\n\r\n    public hide() {\r\n        this.open(false);\r\n    }\r\n\r\n    public show() {\r\n        this.open(true);\r\n    }\r\n\r\n    private setSideContentOpenerVisible() {\r\n        this.sideContent.nativeElement.classList.add('show');\r\n    }\r\n\r\n    private setSideContentOpenerInvisible(){\r\n        this.sideContent.nativeElement.classList.remove('show');\r\n    }\r\n\r\n    private isOpen=false;\r\n    private open(value: boolean) {\r\n        if (this.isOpen == value) return;\r\n        this.isOpen = value;\r\n        if (this.isOpen) {\r\n            this.setSideContentOpenerVisible();//soll eigtl durch init schon gesetzt sein; um irritation (falls kein init aufgerufen) zu vermeiden hier noch einmal\r\n\r\n            this.contentBox.nativeElement.classList.add('show');\r\n            this.content.nativeElement.classList.add('show');\r\n        }\r\n        else {\r\n            this.contentBox.nativeElement.classList.remove('show');\r\n            this.content.nativeElement.classList.remove('show');\r\n        }\r\n        this.sideContentService.setOpened(this.isOpen);\r\n    }\r\n\r\n    ngOnDestroy(): void {\r\n        this.subscriptions.forEach(s => s.unsubscribe());\r\n    }\r\n\r\n}\r\n\r\nexport class SideContentConfig {\r\n    constructor(\r\n        public icon: string,\r\n        public iconTooltip: string,\r\n        public contentWidth: number = 800,\r\n        public contentMaxHeight: number = 800) {\r\n    }\r\n}\r\n","<div #sideContent class=\"side-content-wrapper\">\r\n    <div #contentBox class=\"side-content-box\"\r\n        [style.margin-right.px]=\"config?.contentWidth ? -config?.contentWidth:-800\">\r\n        <div class=\"spin-icon\" [title]=\"config?.iconTooltip\" (click)=\"toggle()\">\r\n            <i #icon class=\"fa\" [ngClass]=\"config?.icon\"></i>\r\n        </div>\r\n        <div #content class=\"side-content\" [style.width.px]=\"config?.contentWidth ? config?.contentWidth:800\">\r\n            <div #contentCore>\r\n                <ng-scrollbar [ngStyle]=\"{'max-height.px':config?.contentMaxHeight}\">\r\n                    <router-outlet #outlet name=\"sideContent\"></router-outlet>\r\n                </ng-scrollbar>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { LoggerService } from '@sowatech/shared/logger';\r\n\r\nconst CLASS = 'SideContentComponent';\r\n\r\n@Component({\r\n    selector: 'empty-side-content',\r\n    templateUrl: './empty-side-content.component.html',\r\n    standalone: false\r\n})\r\nexport class EmptySideContentComponent implements OnInit, OnDestroy {\r\n    constructor(\r\n        public logger: LoggerService,\r\n        private router: Router\r\n    ) {\r\n    }\r\n\r\n    ngOnInit() {\r\n    }\r\n\r\n    ngOnDestroy(): void {\r\n    }\r\n}\r\n","<div style=\"text-align: center;\">\r\n    <b i18n=\"@@EmptySideContent.NoContentChosen.msg.Text\">Kein Inhalt ausgewählt!</b>\r\n</div>\r\n","\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { EmptySideContentComponent } from './empty-side-content/empty-side-content.component';\r\n\r\nconst sideContentRoutes: Routes = [\r\n    { path: 'empty-side-content', component: EmptySideContentComponent, outlet: 'sideContent' },\r\n];\r\n\r\nexport const sideRouting = RouterModule.forChild(sideContentRoutes);\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NgScrollbarModule } from 'ngx-scrollbar';\r\n\r\nimport { EmptySideContentComponent } from './empty-side-content/empty-side-content.component';\r\nimport { SideContentComponent } from './side-content.component';\r\nimport { sideRouting } from './side-content.routing';\r\n\r\n\r\n@NgModule({\r\n    imports: [\r\n        sideRouting,\r\n        RouterModule,\r\n        CommonModule,\r\n        NgScrollbarModule\r\n    ],\r\n    declarations: [\r\n        EmptySideContentComponent,\r\n        SideContentComponent\r\n    ],\r\n    exports: [\r\n        SideContentComponent\r\n    ],\r\n    providers: []\r\n})\r\nexport class SideContentModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CLASS","i2.SideContentService","i2"],"mappings":"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"}