@sd-angular/core 0.0.834 → 0.0.838
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/bundles/sd-angular-core-editor.umd.js +1 -0
- package/bundles/sd-angular-core-editor.umd.js.map +1 -1
- package/bundles/sd-angular-core-editor.umd.min.js +1 -1
- package/bundles/sd-angular-core-editor.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js +4 -3
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-tab-router.umd.js +827 -0
- package/bundles/sd-angular-core-tab-router.umd.js.map +1 -0
- package/bundles/sd-angular-core-tab-router.umd.min.js +16 -0
- package/bundles/sd-angular-core-tab-router.umd.min.js.map +1 -0
- package/bundles/sd-angular-core.umd.js +4 -4
- package/bundles/sd-angular-core.umd.js.map +1 -1
- package/bundles/sd-angular-core.umd.min.js +1 -1
- package/bundles/sd-angular-core.umd.min.js.map +1 -1
- package/editor/sd-angular-core-editor.metadata.json +1 -1
- package/esm2015/editor/src/lib/editor.component.js +2 -1
- package/esm2015/grid-material/src/lib/grid-material.component.js +5 -4
- package/esm2015/public-api.js +2 -1
- package/esm2015/tab-router/index.js +2 -0
- package/esm2015/tab-router/sd-angular-core-tab-router.js +6 -0
- package/esm2015/tab-router/src/lib/actions/tab-router.action.js +2 -0
- package/esm2015/tab-router/src/lib/components/tab-router-item/tab-router-item.component.js +26 -0
- package/esm2015/tab-router/src/lib/components/tab-router-nav/tab-router-nav.component.js +33 -0
- package/esm2015/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.js +193 -0
- package/esm2015/tab-router/src/lib/decorators/tab.decorator.js +9 -0
- package/esm2015/tab-router/src/lib/events/tab-router.event.js +17 -0
- package/esm2015/tab-router/src/lib/models/tab-router.model.js +5 -0
- package/esm2015/tab-router/src/lib/pipes/tab-info.pipe.js +34 -0
- package/esm2015/tab-router/src/lib/services/tab-decorator.service.js +26 -0
- package/esm2015/tab-router/src/lib/services/tab-router.service.js +106 -0
- package/esm2015/tab-router/src/lib/tab-router.module.js +29 -0
- package/esm2015/tab-router/src/public-api.js +18 -0
- package/fesm2015/sd-angular-core-editor.js +1 -0
- package/fesm2015/sd-angular-core-editor.js.map +1 -1
- package/fesm2015/sd-angular-core-grid-material.js +4 -3
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/fesm2015/sd-angular-core-tab-router.js +462 -0
- package/fesm2015/sd-angular-core-tab-router.js.map +1 -0
- package/fesm2015/sd-angular-core.js +1 -0
- package/fesm2015/sd-angular-core.js.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/{sd-angular-core-0.0.834.tgz → sd-angular-core-0.0.838.tgz} +0 -0
- package/tab-router/index.d.ts +1 -0
- package/tab-router/package.json +12 -0
- package/tab-router/sd-angular-core-tab-router.d.ts +5 -0
- package/tab-router/sd-angular-core-tab-router.metadata.json +1 -0
- package/tab-router/src/lib/actions/tab-router.action.d.ts +5 -0
- package/tab-router/src/lib/components/tab-router-item/tab-router-item.component.d.ts +8 -0
- package/tab-router/src/lib/components/tab-router-nav/tab-router-nav.component.d.ts +10 -0
- package/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.d.ts +20 -0
- package/tab-router/src/lib/decorators/tab.decorator.d.ts +17 -0
- package/tab-router/src/lib/events/tab-router.event.d.ts +11 -0
- package/tab-router/src/lib/models/tab-router.model.d.ts +20 -0
- package/tab-router/src/lib/pipes/tab-info.pipe.d.ts +9 -0
- package/tab-router/src/lib/services/tab-decorator.service.d.ts +6 -0
- package/tab-router/src/lib/services/tab-router.service.d.ts +24 -0
- package/tab-router/src/lib/tab-router.module.d.ts +2 -0
- package/tab-router/src/public-api.d.ts +9 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { SdTabRouterService } from '../../services/tab-router.service';
|
|
3
|
+
export class SdTabRouterItemComponent {
|
|
4
|
+
constructor(tabRouterService) {
|
|
5
|
+
this.tabRouterService = tabRouterService;
|
|
6
|
+
this.close = (event) => {
|
|
7
|
+
event.preventDefault();
|
|
8
|
+
event.stopPropagation();
|
|
9
|
+
this.tabRouterService.close(this.tab);
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SdTabRouterItemComponent.decorators = [
|
|
14
|
+
{ type: Component, args: [{
|
|
15
|
+
selector: 'sd-tab-router-item',
|
|
16
|
+
template: "<a [routerLink]=\"[tab.url]\" [state]=\"{ switchTab: true }\" class=\"tab-router__item d-flex align-items-center\" [ngClass]=\"{\r\n 'tab-router__item--active': tab.isActive,\r\n 'tab-router__item--child': tab.isChild\r\n }\" matTooltip=\"{{ tab.name }}\" matTooltipPosition=\"below\" matTooltipShowDelay=\"1000\">\r\n <ng-container *ngIf=\"tab | sdTabInfo | async as tabInfo\">\r\n <div class=\"\r\n tab-router__icon\r\n d-flex\r\n align-items-center\r\n justify-content-center\r\n mr-8\r\n \" [ngStyle]=\"{\r\n 'background-color': tabInfo.color\r\n }\">\r\n <mat-icon fontSet=\"material-icons-outlined\" *ngIf=\"tab.isChild; else parentIcon\">circle</mat-icon>\r\n <ng-template #parentIcon>{{ tabInfo.initialName || 'W' }}</ng-template>\r\n </div>\r\n <div class=\"flex-1\">\r\n <div class=\"tab-router__name\">{{ tabInfo.name }}</div>\r\n </div>\r\n <button type=\"button\" class=\"\r\n tab-router__close\r\n d-flex\r\n align-items-center\r\n justify-content-center\r\n ml-4\r\n \" (click)=\"close($event)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n</a>",
|
|
17
|
+
styles: [":host{flex:1 1 auto;max-width:240px;position:relative}:host:after{background:#dde0e5;bottom:0;content:\"\";height:16px;margin:auto;position:absolute;right:0;top:0;width:1px}:host:last-child:after{content:none}.flex-1{flex:1}.tab-router__icon{background-color:#5c6bc0;border-radius:2px;color:#fff;font-size:10px;height:16px;line-height:1;text-transform:uppercase;width:16px}.tab-router__icon .mat-icon{font-size:10px;height:10px;width:10px}.tab-router__close{background:none;border:0;border-radius:50%;color:#757575;height:16px;outline:none;width:16px}.tab-router__close:hover{background-color:rgba(0,0,0,.12)}.tab-router__close .mat-icon{font-size:12px;height:12px;width:12px}.tab-router__item{background:#f2f3f4;color:inherit;font-size:12px;line-height:16px;padding:16px 16px 8px;text-decoration:none}.tab-router__item:hover{background-color:#fff}.tab-router__name{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.tab-router__item--active{background-color:#fff;border-radius:8px 8px 0 0}"]
|
|
18
|
+
},] }
|
|
19
|
+
];
|
|
20
|
+
SdTabRouterItemComponent.ctorParameters = () => [
|
|
21
|
+
{ type: SdTabRouterService }
|
|
22
|
+
];
|
|
23
|
+
SdTabRouterItemComponent.propDecorators = {
|
|
24
|
+
tab: [{ type: Input }]
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJvdXRlci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy91c2VyL0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3RhYi1yb3V0ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL2NvbXBvbmVudHMvdGFiLXJvdXRlci1pdGVtL3RhYi1yb3V0ZXItaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFPdkUsTUFBTSxPQUFPLHdCQUF3QjtJQUduQyxZQUFvQixnQkFBb0M7UUFBcEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtRQUV4RCxVQUFLLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQTtJQU4wRCxDQUFDOzs7WUFSN0QsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLCtwQ0FBK0M7O2FBRWhEOzs7WUFOUSxrQkFBa0I7OztrQkFReEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFNkVGFiIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYi1yb3V0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTZFRhYlJvdXRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YWItcm91dGVyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC10YWItcm91dGVyLWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItcm91dGVyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RhYi1yb3V0ZXItaXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RUYWJSb3V0ZXJJdGVtQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSB0YWI6IFNkVGFiO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRhYlJvdXRlclNlcnZpY2U6IFNkVGFiUm91dGVyU2VydmljZSkge31cclxuXHJcbiAgY2xvc2UgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnRhYlJvdXRlclNlcnZpY2UuY2xvc2UodGhpcy50YWIpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component, HostListener, Input, ViewChild, } from '@angular/core';
|
|
2
|
+
export class SdTabRouterNavComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.mode = 'default';
|
|
5
|
+
this.checkUI = () => {
|
|
6
|
+
const width = this.tabRouterNav.nativeElement.clientWidth;
|
|
7
|
+
const nameWidth = (width - this.tabs.length * 64) / this.tabs.length;
|
|
8
|
+
if (nameWidth <= 20) {
|
|
9
|
+
this.mode = 'compact';
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
this.mode = 'default';
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
onResize(event) {
|
|
17
|
+
this.checkUI();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
SdTabRouterNavComponent.decorators = [
|
|
21
|
+
{ type: Component, args: [{
|
|
22
|
+
selector: 'sd-tab-router-nav',
|
|
23
|
+
template: "<div\r\n #tabRouterNav\r\n class=\"tab-router__nav tab-router__nav--{{ mode }} d-flex align-items-center\"\r\n>\r\n <ng-container *ngFor=\"let tab of tabs\">\r\n <sd-tab-router-item [tab]=\"tab\"></sd-tab-router-item>\r\n </ng-container>\r\n</div>\r\n",
|
|
24
|
+
styles: [".tab-router__nav{background:#f9f9f9}.tab-router__nav--compact::ng-deep .tab-router__name{display:none}.tab-router__nav--compact::ng-deep .tab-router__icon{margin:0!important}.tab-router__nav--compact::ng-deep .tab-router__item--active{min-width:240px}.tab-router__nav--compact::ng-deep .tab-router__item--active .tab-router__icon{margin-right:8px!important}.tab-router__nav--compact::ng-deep .tab-router__item--active .tab-router__name{display:-webkit-box}"]
|
|
25
|
+
},] }
|
|
26
|
+
];
|
|
27
|
+
SdTabRouterNavComponent.ctorParameters = () => [];
|
|
28
|
+
SdTabRouterNavComponent.propDecorators = {
|
|
29
|
+
tabRouterNav: [{ type: ViewChild, args: ['tabRouterNav',] }],
|
|
30
|
+
tabs: [{ type: Input }],
|
|
31
|
+
onResize: [{ type: HostListener, args: ['window:resize', ['$event'],] }]
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJvdXRlci1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvdGFiLXJvdXRlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy90YWItcm91dGVyLW5hdi90YWItcm91dGVyLW5hdi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQVN2QixNQUFNLE9BQU8sdUJBQXVCO0lBTWxDO1FBRkEsU0FBSSxHQUEwQixTQUFTLENBQUM7UUFTeEMsWUFBTyxHQUFHLEdBQUcsRUFBRTtZQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUMxRCxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNyRSxJQUFJLFNBQVMsSUFBSSxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFBO0lBZmMsQ0FBQztJQUdoQixRQUFRLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7WUFoQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLDhRQUE4Qzs7YUFFL0M7Ozs7MkJBRUUsU0FBUyxTQUFDLGNBQWM7bUJBRXhCLEtBQUs7dUJBS0wsWUFBWSxTQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFNkVGFiIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYi1yb3V0ZXIubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC10YWItcm91dGVyLW5hdicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1yb3V0ZXItbmF2LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWItcm91dGVyLW5hdi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RUYWJSb3V0ZXJOYXZDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYlJvdXRlck5hdicpIHRhYlJvdXRlck5hdjogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KCkgdGFiczogU2RUYWJbXTtcclxuICBtb2RlOiAnZGVmYXVsdCcgfCAnY29tcGFjdCcgPSAnZGVmYXVsdCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25SZXNpemUoZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hlY2tVSSgpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tVSSA9ICgpID0+IHtcclxuICAgIGNvbnN0IHdpZHRoID0gdGhpcy50YWJSb3V0ZXJOYXYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcclxuICAgIGNvbnN0IG5hbWVXaWR0aCA9ICh3aWR0aCAtIHRoaXMudGFicy5sZW5ndGggKiA2NCkgLyB0aGlzLnRhYnMubGVuZ3RoO1xyXG4gICAgaWYgKG5hbWVXaWR0aCA8PSAyMCkge1xyXG4gICAgICB0aGlzLm1vZGUgPSAnY29tcGFjdCc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1vZGUgPSAnZGVmYXVsdCc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2015/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.js
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
var _rootRoute, _subscription, _closeTab, _activeRoute, _getActivatedRouteSnapshot, _getActivatedRoute;
|
|
2
|
+
import { __awaiter, __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { ChangeDetectorRef, Compiler, Component, Injector, ViewChild, } from '@angular/core';
|
|
4
|
+
import { ActivatedRoute, ChildrenOutletContexts, Router, RoutesRecognized, } from '@angular/router';
|
|
5
|
+
import { SdNotifyService } from '@sd-angular/core/notify';
|
|
6
|
+
import { SdTabActivated, SdTabDeactivated, } from '../../events/tab-router.event';
|
|
7
|
+
import { SdTabRouterService } from '../../services/tab-router.service';
|
|
8
|
+
import { Subscription } from 'rxjs';
|
|
9
|
+
export class SdTabRouterOutletComponent {
|
|
10
|
+
constructor(router, cd, injector, compiler, parentContexts, tabRouterService, sdNotifyService) {
|
|
11
|
+
this.router = router;
|
|
12
|
+
this.cd = cd;
|
|
13
|
+
this.injector = injector;
|
|
14
|
+
this.compiler = compiler;
|
|
15
|
+
this.parentContexts = parentContexts;
|
|
16
|
+
this.tabRouterService = tabRouterService;
|
|
17
|
+
this.sdNotifyService = sdNotifyService;
|
|
18
|
+
this.tabs = [];
|
|
19
|
+
_rootRoute.set(this, void 0);
|
|
20
|
+
_subscription.set(this, new Subscription());
|
|
21
|
+
_closeTab.set(this, (tab) => {
|
|
22
|
+
var _a;
|
|
23
|
+
this.tabs = this.tabs.filter(({ key }) => key !== tab.key);
|
|
24
|
+
if (tab.isActive) {
|
|
25
|
+
const lastTab = this.tabs[this.tabs.length - 1];
|
|
26
|
+
if (lastTab) {
|
|
27
|
+
this.router.navigateByUrl(lastTab.url, {
|
|
28
|
+
state: {
|
|
29
|
+
switchTab: true,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this.router.navigateByUrl('/', {
|
|
35
|
+
state: {
|
|
36
|
+
switchTab: true,
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
(_a = this.tabRouterNav) === null || _a === void 0 ? void 0 : _a.checkUI();
|
|
43
|
+
this.cd.markForCheck();
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
_activeRoute.set(this, (url, route) => __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
48
|
+
if (!(route === null || route === void 0 ? void 0 : route.component)) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const component = route.component;
|
|
52
|
+
const queryParams = Object.assign({}, (route.queryParams || {}));
|
|
53
|
+
const params = Object.assign({}, (route.params || {}));
|
|
54
|
+
let existedIndex = -1;
|
|
55
|
+
this.tabs.forEach((tab, index) => {
|
|
56
|
+
if (tab.key === url) {
|
|
57
|
+
tab.isActive = true;
|
|
58
|
+
existedIndex = index;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
if (tab.isActive) {
|
|
62
|
+
this.tabRouterService.pushEvent(tab, SdTabDeactivated);
|
|
63
|
+
}
|
|
64
|
+
tab.isActive = false;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
const currentNavigation = this.router.getCurrentNavigation();
|
|
68
|
+
if (existedIndex >= 0 && ((_b = (_a = currentNavigation === null || currentNavigation === void 0 ? void 0 : currentNavigation.extras) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.switchTab)) {
|
|
69
|
+
const existedTab = this.tabs[existedIndex];
|
|
70
|
+
this.tabRouterService.setCurrentTab(existedTab);
|
|
71
|
+
this.tabRouterService.pushEvent(existedTab, SdTabActivated);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
if (typeof ((_d = (_c = route === null || route === void 0 ? void 0 : route.parent) === null || _c === void 0 ? void 0 : _c.routeConfig) === null || _d === void 0 ? void 0 : _d.loadChildren) === 'function') {
|
|
75
|
+
const module = yield route.parent.routeConfig.loadChildren();
|
|
76
|
+
const factory = yield this.compiler.compileModuleAsync(module);
|
|
77
|
+
const injector = factory.create(this.injector);
|
|
78
|
+
// let tabInfo = {};
|
|
79
|
+
// if ('getTabInfo' in component) {
|
|
80
|
+
// tabInfo = component.getTabInfo({
|
|
81
|
+
// params,
|
|
82
|
+
// queryParams,
|
|
83
|
+
// });
|
|
84
|
+
// }
|
|
85
|
+
const activatedRoute = __classPrivateFieldGet(this, _getActivatedRoute).call(this, __classPrivateFieldGet(this, _rootRoute), component);
|
|
86
|
+
const tab = {
|
|
87
|
+
key: url,
|
|
88
|
+
component,
|
|
89
|
+
injector: new SdOutletInjector(activatedRoute, injector),
|
|
90
|
+
isActive: true,
|
|
91
|
+
name: url,
|
|
92
|
+
url,
|
|
93
|
+
params,
|
|
94
|
+
queryParams,
|
|
95
|
+
};
|
|
96
|
+
this.tabRouterService.setCurrentTab(tab);
|
|
97
|
+
if (existedIndex >= 0 && !((_f = (_e = currentNavigation === null || currentNavigation === void 0 ? void 0 : currentNavigation.extras) === null || _e === void 0 ? void 0 : _e.state) === null || _f === void 0 ? void 0 : _f.switchTab)) {
|
|
98
|
+
this.tabs[existedIndex] = tab;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this.tabs.push(tab);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
(_g = this.tabRouterNav) === null || _g === void 0 ? void 0 : _g.checkUI();
|
|
105
|
+
if (this.tabs.length > 10) {
|
|
106
|
+
this.sdNotifyService.notify.warning('Bạn đã mở quá nhiều tab. Vui lòng tắt các tab không dùng để hệ thống hoạt động tốt hơn.');
|
|
107
|
+
}
|
|
108
|
+
if (this.tabs.length > 12) {
|
|
109
|
+
this.tabs.splice(0, this.tabs.length - 10);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
this.cd.markForCheck();
|
|
113
|
+
}));
|
|
114
|
+
_getActivatedRouteSnapshot.set(this, (activatedRouteSnapshot) => {
|
|
115
|
+
if (!activatedRouteSnapshot) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
if (activatedRouteSnapshot.firstChild) {
|
|
119
|
+
return __classPrivateFieldGet(this, _getActivatedRouteSnapshot).call(this, activatedRouteSnapshot.firstChild);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
return activatedRouteSnapshot;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
_getActivatedRoute.set(this, (activatedRoute, component) => {
|
|
126
|
+
if (!activatedRoute) {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
if (activatedRoute.component && activatedRoute.component === component) {
|
|
130
|
+
return activatedRoute;
|
|
131
|
+
}
|
|
132
|
+
else if (activatedRoute.firstChild) {
|
|
133
|
+
return __classPrivateFieldGet(this, _getActivatedRoute).call(this, activatedRoute.firstChild, component);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
__classPrivateFieldGet(this, _subscription).add(router.events.subscribe((event) => __awaiter(this, void 0, void 0, function* () {
|
|
140
|
+
if (event instanceof RoutesRecognized) {
|
|
141
|
+
const route = __classPrivateFieldGet(this, _getActivatedRouteSnapshot).call(this, event.state.root);
|
|
142
|
+
__classPrivateFieldSet(this, _rootRoute, this.router.routerState.root);
|
|
143
|
+
yield __classPrivateFieldGet(this, _activeRoute).call(this, event.urlAfterRedirects || event.url, route);
|
|
144
|
+
}
|
|
145
|
+
})));
|
|
146
|
+
__classPrivateFieldGet(this, _subscription).add(tabRouterService.actions.subscribe((event) => {
|
|
147
|
+
if (event && event.type === 'close') {
|
|
148
|
+
__classPrivateFieldGet(this, _closeTab).call(this, event.tab);
|
|
149
|
+
}
|
|
150
|
+
}));
|
|
151
|
+
}
|
|
152
|
+
ngOnDestroy() {
|
|
153
|
+
__classPrivateFieldGet(this, _subscription).unsubscribe();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
_rootRoute = new WeakMap(), _subscription = new WeakMap(), _closeTab = new WeakMap(), _activeRoute = new WeakMap(), _getActivatedRouteSnapshot = new WeakMap(), _getActivatedRoute = new WeakMap();
|
|
157
|
+
SdTabRouterOutletComponent.decorators = [
|
|
158
|
+
{ type: Component, args: [{
|
|
159
|
+
selector: 'sd-tab-router-outlet',
|
|
160
|
+
template: "<sd-tab-router-nav [tabs]=\"tabs\" #tabRouterNav></sd-tab-router-nav>\r\n\r\n<div class=\"tab-router__list\">\r\n <ng-container *ngFor=\"let tab of tabs\">\r\n <div class=\"tab-router__pane\" [class.active]=\"tab.isActive\" [id]=\"tab.key\">\r\n <div class=\"tab-router__content\">\r\n <ng-container\r\n *ngComponentOutlet=\"tab.component; injector: tab.injector\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n",
|
|
161
|
+
styles: [".tab-router__list{flex:1}.tab-router__pane{display:none;height:100%;position:relative;width:100%}.tab-router__pane.active{display:block}.tab-router__content{bottom:0;height:100%;left:0;overflow:auto;position:absolute;right:0;top:0;width:100%}"]
|
|
162
|
+
},] }
|
|
163
|
+
];
|
|
164
|
+
SdTabRouterOutletComponent.ctorParameters = () => [
|
|
165
|
+
{ type: Router },
|
|
166
|
+
{ type: ChangeDetectorRef },
|
|
167
|
+
{ type: Injector },
|
|
168
|
+
{ type: Compiler },
|
|
169
|
+
{ type: ChildrenOutletContexts },
|
|
170
|
+
{ type: SdTabRouterService },
|
|
171
|
+
{ type: SdNotifyService }
|
|
172
|
+
];
|
|
173
|
+
SdTabRouterOutletComponent.propDecorators = {
|
|
174
|
+
tabRouterNav: [{ type: ViewChild, args: ['tabRouterNav',] }]
|
|
175
|
+
};
|
|
176
|
+
class SdOutletInjector {
|
|
177
|
+
constructor(route,
|
|
178
|
+
// private childContexts: ChildrenOutletContexts,
|
|
179
|
+
parent) {
|
|
180
|
+
this.route = route;
|
|
181
|
+
this.parent = parent;
|
|
182
|
+
}
|
|
183
|
+
get(token, notFoundValue) {
|
|
184
|
+
if (token === ActivatedRoute && this.route) {
|
|
185
|
+
return this.route;
|
|
186
|
+
}
|
|
187
|
+
// if (token === ChildrenOutletContexts) {
|
|
188
|
+
// return this.childContexts;
|
|
189
|
+
// }
|
|
190
|
+
return this.parent.get(token, notFoundValue);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJvdXRlci1vdXRsZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvdGFiLXJvdXRlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy90YWItcm91dGVyLW91dGxldC90YWItcm91dGVyLW91dGxldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixTQUFTLEVBQ1QsUUFBUSxFQUtSLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsY0FBYyxFQUVkLHNCQUFzQixFQUl0QixNQUFNLEVBQ04sZ0JBQWdCLEdBQ2pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEdBQ2pCLE1BQU0sK0JBQStCLENBQUM7QUFJdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVFwQyxNQUFNLE9BQU8sMEJBQTBCO0lBTXJDLFlBQ1UsTUFBYyxFQUNkLEVBQXFCLEVBQ3JCLFFBQWtCLEVBQ2xCLFFBQWtCLEVBQ2xCLGNBQXNDLEVBQ3RDLGdCQUFvQyxFQUNwQyxlQUFnQztRQU5oQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG1CQUFjLEdBQWQsY0FBYyxDQUF3QjtRQUN0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9CO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVgxQyxTQUFJ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QyxNQUFXO1FBRlgsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFFNUIsV0FBTSxHQUFOLE1BQU0sQ0FBSztJQUNsQixDQUFDO0lBRUosR0FBRyxDQUFDLEtBQVUsRUFBRSxhQUFtQjtRQUNqQyxJQUFJLEtBQUssS0FBSyxjQUFjLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUMxQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDbkI7UUFFRCwwQ0FBMEM7UUFDMUMsK0JBQStCO1FBQy9CLElBQUk7UUFFSixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBpbGVyLFxyXG4gIENvbXBvbmVudCxcclxuICBJbmplY3RvcixcclxuICBOZ01vZHVsZVJlZixcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFR5cGUsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFjdGl2YXRlZFJvdXRlLFxyXG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgQ2hpbGRyZW5PdXRsZXRDb250ZXh0cyxcclxuICAvLyBDaGlsZHJlbk91dGxldENvbnRleHRzLFxyXG4gIEV2ZW50LFxyXG4gIFBSSU1BUllfT1VUTEVULFxyXG4gIFJvdXRlcixcclxuICBSb3V0ZXNSZWNvZ25pemVkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNkTm90aWZ5U2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbm90aWZ5JztcclxuaW1wb3J0IHtcclxuICBTZFRhYkFjdGl2YXRlZCxcclxuICBTZFRhYkRlYWN0aXZhdGVkLFxyXG59IGZyb20gJy4uLy4uL2V2ZW50cy90YWItcm91dGVyLmV2ZW50JztcclxuXHJcbmltcG9ydCB7IFNkVGFiIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYi1yb3V0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTZFRhYkFjdGlvbiB9IGZyb20gJy4uLy4uL2FjdGlvbnMvdGFiLXJvdXRlci5hY3Rpb24nO1xyXG5pbXBvcnQgeyBTZFRhYlJvdXRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YWItcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZFRhYlJvdXRlck5hdkNvbXBvbmVudCB9IGZyb20gJy4uL3RhYi1yb3V0ZXItbmF2L3RhYi1yb3V0ZXItbmF2LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC10YWItcm91dGVyLW91dGxldCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1yb3V0ZXItb3V0bGV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWItcm91dGVyLW91dGxldC5jb21wb25lbnQuc2NzcyddLFxyXG4gIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RUYWJSb3V0ZXJPdXRsZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYlJvdXRlck5hdicpIHRhYlJvdXRlck5hdjogU2RUYWJSb3V0ZXJOYXZDb21wb25lbnQ7XHJcbiAgdGFiczogU2RUYWJbXSA9IFtdO1xyXG5cclxuICAjcm9vdFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcclxuICAjc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIGNvbXBpbGVyOiBDb21waWxlcixcclxuICAgIHByaXZhdGUgcGFyZW50Q29udGV4dHM6IENoaWxkcmVuT3V0bGV0Q29udGV4dHMsXHJcbiAgICBwcml2YXRlIHRhYlJvdXRlclNlcnZpY2U6IFNkVGFiUm91dGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgc2ROb3RpZnlTZXJ2aWNlOiBTZE5vdGlmeVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQocm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoYXN5bmMgKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBSb3V0ZXNSZWNvZ25pemVkKSB7XHJcbiAgICAgICAgY29uc3Qgcm91dGUgPSB0aGlzLiNnZXRBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KGV2ZW50LnN0YXRlLnJvb3QpO1xyXG4gICAgICAgIHRoaXMuI3Jvb3RSb3V0ZSA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3Q7XHJcbiAgICAgICAgYXdhaXQgdGhpcy4jYWN0aXZlUm91dGUoZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMgfHwgZXZlbnQudXJsLCByb3V0ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pKTtcclxuXHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRhYlJvdXRlclNlcnZpY2UuYWN0aW9ucy5zdWJzY3JpYmUoKGV2ZW50OiBTZFRhYkFjdGlvbiB8IG51bGwpID0+IHtcclxuICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50LnR5cGUgPT09ICdjbG9zZScpIHtcclxuICAgICAgICB0aGlzLiNjbG9zZVRhYihldmVudC50YWIpO1xyXG4gICAgICB9XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgI2Nsb3NlVGFiID0gKHRhYjogU2RUYWIpID0+IHtcclxuICAgIHRoaXMudGFicyA9IHRoaXMudGFicy5maWx0ZXIoKHsga2V5IH0pID0+IGtleSAhPT0gdGFiLmtleSk7XHJcbiAgICBpZiAodGFiLmlzQWN0aXZlKSB7XHJcbiAgICAgIGNvbnN0IGxhc3RUYWIgPSB0aGlzLnRhYnNbdGhpcy50YWJzLmxlbmd0aCAtIDFdO1xyXG4gICAgICBpZiAobGFzdFRhYikge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwobGFzdFRhYi51cmwsIHtcclxuICAgICAgICAgIHN0YXRlOiB7XHJcbiAgICAgICAgICAgIHN3aXRjaFRhYjogdHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnLycsIHtcclxuICAgICAgICAgIHN0YXRlOiB7XHJcbiAgICAgICAgICAgIHN3aXRjaFRhYjogdHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGFiUm91dGVyTmF2Py5jaGVja1VJKCk7XHJcbiAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjYWN0aXZlUm91dGUgPSBhc3luYyAodXJsOiBzdHJpbmcsIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCkgPT4ge1xyXG4gICAgaWYgKCFyb3V0ZT8uY29tcG9uZW50KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjb21wb25lbnQgPSByb3V0ZS5jb21wb25lbnQgYXMgVHlwZTxhbnk+O1xyXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7XHJcbiAgICAgIC4uLihyb3V0ZS5xdWVyeVBhcmFtcyB8fCB7fSksXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcGFyYW1zID0ge1xyXG4gICAgICAuLi4ocm91dGUucGFyYW1zIHx8IHt9KSxcclxuICAgIH07XHJcblxyXG4gICAgbGV0IGV4aXN0ZWRJbmRleCA9IC0xO1xyXG4gICAgdGhpcy50YWJzLmZvckVhY2goKHRhYjogU2RUYWIsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgaWYgKHRhYi5rZXkgPT09IHVybCkge1xyXG4gICAgICAgIHRhYi5pc0FjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgZXhpc3RlZEluZGV4ID0gaW5kZXg7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHRhYi5pc0FjdGl2ZSkge1xyXG4gICAgICAgICAgdGhpcy50YWJSb3V0ZXJTZXJ2aWNlLnB1c2hFdmVudCh0YWIsIFNkVGFiRGVhY3RpdmF0ZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0YWIuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgY3VycmVudE5hdmlnYXRpb24gPSB0aGlzLnJvdXRlci5nZXRDdXJyZW50TmF2aWdhdGlvbigpO1xyXG4gICAgaWYgKGV4aXN0ZWRJbmRleCA+PSAwICYmIGN1cnJlbnROYXZpZ2F0aW9uPy5leHRyYXM/LnN0YXRlPy5zd2l0Y2hUYWIpIHtcclxuICAgICAgY29uc3QgZXhpc3RlZFRhYiA9IHRoaXMudGFic1tleGlzdGVkSW5kZXhdO1xyXG4gICAgICB0aGlzLnRhYlJvdXRlclNlcnZpY2Uuc2V0Q3VycmVudFRhYihleGlzdGVkVGFiKTtcclxuICAgICAgdGhpcy50YWJSb3V0ZXJTZXJ2aWNlLnB1c2hFdmVudChleGlzdGVkVGFiLCBTZFRhYkFjdGl2YXRlZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodHlwZW9mIHJvdXRlPy5wYXJlbnQ/LnJvdXRlQ29uZmlnPy5sb2FkQ2hpbGRyZW4gPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICBjb25zdCBtb2R1bGUgPSBhd2FpdCByb3V0ZS5wYXJlbnQucm91dGVDb25maWcubG9hZENoaWxkcmVuKCk7XHJcbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IGF3YWl0IHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFzeW5jKG1vZHVsZSk7XHJcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBmYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuICAgICAgICAvLyBsZXQgdGFiSW5mbyA9IHt9O1xyXG4gICAgICAgIC8vIGlmICgnZ2V0VGFiSW5mbycgaW4gY29tcG9uZW50KSB7XHJcbiAgICAgICAgLy8gICB0YWJJbmZvID0gY29tcG9uZW50LmdldFRhYkluZm8oe1xyXG4gICAgICAgIC8vICAgICBwYXJhbXMsXHJcbiAgICAgICAgLy8gICAgIHF1ZXJ5UGFyYW1zLFxyXG4gICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICBjb25zdCBhY3RpdmF0ZWRSb3V0ZSA9IHRoaXMuI2dldEFjdGl2YXRlZFJvdXRlKFxyXG4gICAgICAgICAgdGhpcy4jcm9vdFJvdXRlLFxyXG4gICAgICAgICAgY29tcG9uZW50XHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3QgdGFiID0ge1xyXG4gICAgICAgICAga2V5OiB1cmwsXHJcbiAgICAgICAgICBjb21wb25lbnQsXHJcbiAgICAgICAgICBpbmplY3RvcjogbmV3IFNkT3V0bGV0SW5qZWN0b3IoYWN0aXZhdGVkUm91dGUsIGluamVjdG9yKSxcclxuXHJcbiAgICAgICAgICBpc0FjdGl2ZTogdHJ1ZSxcclxuICAgICAgICAgIG5hbWU6IHVybCxcclxuICAgICAgICAgIHVybCxcclxuICAgICAgICAgIHBhcmFtcyxcclxuICAgICAgICAgIHF1ZXJ5UGFyYW1zLFxyXG4gICAgICAgICAgLy8gLi4udGFiSW5mbyxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnRhYlJvdXRlclNlcnZpY2Uuc2V0Q3VycmVudFRhYih0YWIpO1xyXG4gICAgICAgIGlmIChleGlzdGVkSW5kZXggPj0gMCAmJiAhY3VycmVudE5hdmlnYXRpb24/LmV4dHJhcz8uc3RhdGU/LnN3aXRjaFRhYikge1xyXG4gICAgICAgICAgdGhpcy50YWJzW2V4aXN0ZWRJbmRleF0gPSB0YWI7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudGFicy5wdXNoKHRhYik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnRhYlJvdXRlck5hdj8uY2hlY2tVSSgpO1xyXG4gICAgICBpZiAodGhpcy50YWJzLmxlbmd0aCA+IDEwKSB7XHJcbiAgICAgICAgdGhpcy5zZE5vdGlmeVNlcnZpY2Uubm90aWZ5Lndhcm5pbmcoXHJcbiAgICAgICAgICAnQuG6oW4gxJHDoyBt4bufIHF1w6Egbmhp4buBdSB0YWIuIFZ1aSBsw7JuZyB04bqvdCBjw6FjIHRhYiBraMO0bmcgZMO5bmcgxJHhu4MgaOG7hyB0aOG7kW5nIGhv4bqhdCDEkeG7mW5nIHThu5F0IGjGoW4uJ1xyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudGFicy5sZW5ndGggPiAxMikge1xyXG4gICAgICAgIHRoaXMudGFicy5zcGxpY2UoMCwgdGhpcy50YWJzLmxlbmd0aCAtIDEwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gICNnZXRBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90ID0gKFxyXG4gICAgYWN0aXZhdGVkUm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxyXG4gICk6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsID0+IHtcclxuICAgIGlmICghYWN0aXZhdGVkUm91dGVTbmFwc2hvdCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYWN0aXZhdGVkUm91dGVTbmFwc2hvdC5maXJzdENoaWxkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLiNnZXRBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KGFjdGl2YXRlZFJvdXRlU25hcHNob3QuZmlyc3RDaGlsZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gYWN0aXZhdGVkUm91dGVTbmFwc2hvdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICNnZXRBY3RpdmF0ZWRSb3V0ZSA9IChcclxuICAgIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIGNvbXBvbmVudDogYW55XHJcbiAgKTogQWN0aXZhdGVkUm91dGUgfCBudWxsID0+IHtcclxuICAgIGlmICghYWN0aXZhdGVkUm91dGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGFjdGl2YXRlZFJvdXRlLmNvbXBvbmVudCAmJiBhY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnQgPT09IGNvbXBvbmVudCkge1xyXG4gICAgICByZXR1cm4gYWN0aXZhdGVkUm91dGU7XHJcbiAgICB9IGVsc2UgaWYgKGFjdGl2YXRlZFJvdXRlLmZpcnN0Q2hpbGQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuI2dldEFjdGl2YXRlZFJvdXRlKGFjdGl2YXRlZFJvdXRlLmZpcnN0Q2hpbGQsIGNvbXBvbmVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmNsYXNzIFNkT3V0bGV0SW5qZWN0b3IgaW1wbGVtZW50cyBJbmplY3RvciB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSB8IG51bGwsXHJcbiAgICAvLyBwcml2YXRlIGNoaWxkQ29udGV4dHM6IENoaWxkcmVuT3V0bGV0Q29udGV4dHMsXHJcbiAgICBwcml2YXRlIHBhcmVudDogYW55XHJcbiAgKSB7fVxyXG5cclxuICBnZXQodG9rZW46IGFueSwgbm90Rm91bmRWYWx1ZT86IGFueSk6IGFueSB7XHJcbiAgICBpZiAodG9rZW4gPT09IEFjdGl2YXRlZFJvdXRlICYmIHRoaXMucm91dGUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucm91dGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gaWYgKHRva2VuID09PSBDaGlsZHJlbk91dGxldENvbnRleHRzKSB7XHJcbiAgICAvLyAgIHJldHVybiB0aGlzLmNoaWxkQ29udGV4dHM7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmdldCh0b2tlbiwgbm90Rm91bmRWYWx1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SdTabDecoratorService } from '../services/tab-decorator.service';
|
|
2
|
+
export function SdTabComponent(builder) {
|
|
3
|
+
return (constructor) => {
|
|
4
|
+
const service = SdTabDecoratorService.getService();
|
|
5
|
+
service.addBuilder(builder);
|
|
6
|
+
console.log(constructor);
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy91c2VyL0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3RhYi1yb3V0ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL2RlY29yYXRvcnMvdGFiLmRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQVMxRSxNQUFNLFVBQVUsY0FBYyxDQUFJLE9BQThCO0lBQzlELE9BQU8sQ0FBQyxXQUFjLEVBQUUsRUFBRTtRQUN4QixNQUFNLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuRCxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0IsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2RUYWJEZWNvcmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGFiLWRlY29yYXRvci5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTZFRhYkNvbXBvbmVudEJ1aWxkZXIge1xyXG4gIGNvbXBvbmVudDogVHlwZTxhbnk+O1xyXG4gIG5hbWU6IHN0cmluZyB8ICgoYXJnczogeyBwYXJhbXM6IGFueSwgcXVlcnlQYXJhbXM6IGFueSB9KSA9PiBzdHJpbmcpO1xyXG4gIGluaXRpYWxOYW1lOiBzdHJpbmcgfCAoKGFyZ3M6IHsgcGFyYW1zOiBhbnksIHF1ZXJ5UGFyYW1zOiBhbnkgfSkgPT4gc3RyaW5nKTtcclxuICBjb2xvcj86IHN0cmluZyB8ICgoYXJnczogeyBwYXJhbXM6IGFueSwgcXVlcnlQYXJhbXM6IGFueSB9KSA9PiBzdHJpbmcpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU2RUYWJDb21wb25lbnQ8VD4oYnVpbGRlcjogU2RUYWJDb21wb25lbnRCdWlsZGVyKSB7XHJcbiAgcmV0dXJuIChjb25zdHJ1Y3RvcjogVCkgPT4ge1xyXG4gICAgY29uc3Qgc2VydmljZSA9IFNkVGFiRGVjb3JhdG9yU2VydmljZS5nZXRTZXJ2aWNlKCk7XHJcbiAgICBzZXJ2aWNlLmFkZEJ1aWxkZXIoYnVpbGRlcik7XHJcbiAgICBjb25zb2xlLmxvZyhjb25zdHJ1Y3Rvcik7XHJcbiAgfTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var _tab;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
export class SdTabBase {
|
|
4
|
+
constructor(tab) {
|
|
5
|
+
_tab.set(this, void 0);
|
|
6
|
+
__classPrivateFieldSet(this, _tab, tab);
|
|
7
|
+
}
|
|
8
|
+
get tab() {
|
|
9
|
+
return __classPrivateFieldGet(this, _tab);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
_tab = new WeakMap();
|
|
13
|
+
export class SdTabActivated extends SdTabBase {
|
|
14
|
+
}
|
|
15
|
+
export class SdTabDeactivated extends SdTabBase {
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJvdXRlci5ldmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy91c2VyL0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3RhYi1yb3V0ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL2V2ZW50cy90YWItcm91dGVyLmV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsTUFBTSxPQUFPLFNBQVM7SUFHcEIsWUFBWSxHQUFpQjtRQUY3Qix1QkFBbUI7UUFHakIsdUJBQUEsSUFBSSxRQUFRLEdBQUcsRUFBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsMENBQWlCO0lBQ25CLENBQUM7Q0FDRjs7QUFFRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQVM7Q0FBRztBQUVoRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsU0FBUztDQUFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2RUYWIgfSBmcm9tICcuLi9tb2RlbHMvdGFiLXJvdXRlci5tb2RlbCc7XHJcblxyXG5leHBvcnQgY2xhc3MgU2RUYWJCYXNlIHtcclxuICAjdGFiOiBTZFRhYiB8IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHRhYjogU2RUYWIgfCBudWxsKSB7XHJcbiAgICB0aGlzLiN0YWIgPSB0YWI7XHJcbiAgfVxyXG5cclxuICBnZXQgdGFiKCk6IFNkVGFiIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy4jdGFiO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNkVGFiQWN0aXZhdGVkIGV4dGVuZHMgU2RUYWJCYXNlIHt9XHJcblxyXG5leHBvcnQgY2xhc3MgU2RUYWJEZWFjdGl2YXRlZCBleHRlbmRzIFNkVGFiQmFzZSB7fVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBTZFRhYkV2ZW50ID0gU2RUYWJBY3RpdmF0ZWQgfCBTZFRhYkRlYWN0aXZhdGVkO1xyXG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
// export interface SdTabComponent {
|
|
3
|
+
// getTabInfo(args: {params: any, queryParams: any});
|
|
4
|
+
// }
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJvdXRlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy91c2VyL0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3RhYi1yb3V0ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL21vZGVscy90YWItcm91dGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUF3QkEsb0NBQW9DO0FBQ3BDLHVEQUF1RDtBQUN2RCxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkVGFiSW5mbyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGluaXRpYWxOYW1lPzogc3RyaW5nO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNkVGFiIGV4dGVuZHMgU2RUYWJJbmZvIHtcclxuICBjb21wb25lbnQ6IFR5cGU8YW55PjtcclxuICBpbmplY3Rvcj86IGFueTtcclxuICBrZXk6IHN0cmluZztcclxuXHJcbiAgaXNBY3RpdmU6IGJvb2xlYW47XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgaXNDaGlsZD86IGJvb2xlYW47XHJcbiAgcGFyYW1zPzoge1xyXG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIH07XHJcbiAgcXVlcnlQYXJhbXM/OiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgfTtcclxufVxyXG5cclxuLy8gZXhwb3J0IGludGVyZmFjZSBTZFRhYkNvbXBvbmVudCB7XHJcbi8vICAgZ2V0VGFiSW5mbyhhcmdzOiB7cGFyYW1zOiBhbnksIHF1ZXJ5UGFyYW1zOiBhbnl9KTtcclxuLy8gfSJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { SdTabRouterService } from '../services/tab-router.service';
|
|
4
|
+
export class SdTabInfoPipe {
|
|
5
|
+
constructor(tabRouterService) {
|
|
6
|
+
this.tabRouterService = tabRouterService;
|
|
7
|
+
}
|
|
8
|
+
transform(tab) {
|
|
9
|
+
return this.tabRouterService.builders.pipe(map(builders => {
|
|
10
|
+
const builder = builders.find(e => e.component === tab.component);
|
|
11
|
+
if (builder) {
|
|
12
|
+
const { params, queryParams } = tab;
|
|
13
|
+
return {
|
|
14
|
+
name: typeof (builder.name) === 'function' ? builder.name({ params, queryParams }) : builder.name,
|
|
15
|
+
initialName: typeof (builder.initialName) === 'function' ? builder.initialName({ params, queryParams }) : builder.initialName,
|
|
16
|
+
color: typeof (builder.color) === 'function' ? builder.color({ params, queryParams }) : builder.color
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
name: tab.url,
|
|
21
|
+
initialName: tab.url[0],
|
|
22
|
+
};
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
SdTabInfoPipe.decorators = [
|
|
27
|
+
{ type: Pipe, args: [{
|
|
28
|
+
name: 'sdTabInfo'
|
|
29
|
+
},] }
|
|
30
|
+
];
|
|
31
|
+
SdTabInfoPipe.ctorParameters = () => [
|
|
32
|
+
{ type: SdTabRouterService }
|
|
33
|
+
];
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWluZm8ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy91c2VyL0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3RhYi1yb3V0ZXIvIiwic291cmNlcyI6WyJzcmMvbGliL3BpcGVzL3RhYi1pbmZvLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSXBFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQW9CLGdCQUFvQztRQUFwQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9CO0lBQUksQ0FBQztJQUM3RCxTQUFTLENBQUMsR0FBVTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN4RCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbEUsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUM7Z0JBQ3BDLE9BQU87b0JBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJO29CQUNqRyxXQUFXLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVc7b0JBQzdILEtBQUssRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSztpQkFDdEcsQ0FBQzthQUNIO1lBQ0QsT0FBTztnQkFDTCxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUc7Z0JBQ2IsV0FBVyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3hCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs7O1lBckJGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsV0FBVzthQUNsQjs7O1lBSFEsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2RUYWIsIFNkVGFiSW5mbyB9IGZyb20gJy4uL21vZGVscy90YWItcm91dGVyLm1vZGVsJztcclxuaW1wb3J0IHsgU2RUYWJSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGFiLXJvdXRlci5zZXJ2aWNlJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzZFRhYkluZm8nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFRhYkluZm9QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0YWJSb3V0ZXJTZXJ2aWNlOiBTZFRhYlJvdXRlclNlcnZpY2UpIHsgfVxyXG4gIHRyYW5zZm9ybSh0YWI6IFNkVGFiKTogT2JzZXJ2YWJsZTxTZFRhYkluZm8+IHtcclxuICAgIHJldHVybiB0aGlzLnRhYlJvdXRlclNlcnZpY2UuYnVpbGRlcnMucGlwZShtYXAoYnVpbGRlcnMgPT4ge1xyXG4gICAgICBjb25zdCBidWlsZGVyID0gYnVpbGRlcnMuZmluZChlID0+IGUuY29tcG9uZW50ID09PSB0YWIuY29tcG9uZW50KTtcclxuICAgICAgaWYgKGJ1aWxkZXIpIHtcclxuICAgICAgICBjb25zdCB7IHBhcmFtcywgcXVlcnlQYXJhbXMgfSA9IHRhYjtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgbmFtZTogdHlwZW9mIChidWlsZGVyLm5hbWUpID09PSAnZnVuY3Rpb24nID8gYnVpbGRlci5uYW1lKHsgcGFyYW1zLCBxdWVyeVBhcmFtcyB9KSA6IGJ1aWxkZXIubmFtZSxcclxuICAgICAgICAgIGluaXRpYWxOYW1lOiB0eXBlb2YgKGJ1aWxkZXIuaW5pdGlhbE5hbWUpID09PSAnZnVuY3Rpb24nID8gYnVpbGRlci5pbml0aWFsTmFtZSh7IHBhcmFtcywgcXVlcnlQYXJhbXMgfSkgOiBidWlsZGVyLmluaXRpYWxOYW1lLFxyXG4gICAgICAgICAgY29sb3I6IHR5cGVvZiAoYnVpbGRlci5jb2xvcikgPT09ICdmdW5jdGlvbicgPyBidWlsZGVyLmNvbG9yKHsgcGFyYW1zLCBxdWVyeVBhcmFtcyB9KSA6IGJ1aWxkZXIuY29sb3JcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgbmFtZTogdGFiLnVybCxcclxuICAgICAgICBpbml0aWFsTmFtZTogdGFiLnVybFswXSxcclxuICAgICAgfTtcclxuICAgIH0pKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { SdTabRouterService } from './tab-router.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./tab-router.service";
|
|
5
|
+
export class SdTabDecoratorService {
|
|
6
|
+
constructor(service) {
|
|
7
|
+
SdTabDecoratorService.service = service;
|
|
8
|
+
}
|
|
9
|
+
static getService() {
|
|
10
|
+
if (!SdTabDecoratorService.service) {
|
|
11
|
+
throw new Error('SdTabDecoratorService not initialized');
|
|
12
|
+
}
|
|
13
|
+
return SdTabDecoratorService.service;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
SdTabDecoratorService.service = undefined;
|
|
17
|
+
SdTabDecoratorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SdTabDecoratorService_Factory() { return new SdTabDecoratorService(i0.ɵɵinject(i1.SdTabRouterService)); }, token: SdTabDecoratorService, providedIn: "root" });
|
|
18
|
+
SdTabDecoratorService.decorators = [
|
|
19
|
+
{ type: Injectable, args: [{
|
|
20
|
+
providedIn: 'root'
|
|
21
|
+
},] }
|
|
22
|
+
];
|
|
23
|
+
SdTabDecoratorService.ctorParameters = () => [
|
|
24
|
+
{ type: SdTabRouterService }
|
|
25
|
+
];
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWRlY29yYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvdGFiLXJvdXRlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2VydmljZXMvdGFiLWRlY29yYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUkxRCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQW1CLE9BQTJCO1FBQzVDLHFCQUFxQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDMUMsQ0FBQztJQUNNLE1BQU0sQ0FBQyxVQUFVO1FBQ3RCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsT0FBTyxxQkFBcUIsQ0FBQyxPQUFPLENBQUM7SUFDdkMsQ0FBQzs7QUFUYyw2QkFBTyxHQUFtQyxTQUFTLENBQUM7OztZQUpwRSxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUhRLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2RUYWJSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi90YWItcm91dGVyLnNlcnZpY2UnO1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFRhYkRlY29yYXRvclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgc3RhdGljIHNlcnZpY2U6IFNkVGFiUm91dGVyU2VydmljZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgY29uc3RydWN0b3Ioc2VydmljZTogU2RUYWJSb3V0ZXJTZXJ2aWNlKSB7XHJcbiAgICBTZFRhYkRlY29yYXRvclNlcnZpY2Uuc2VydmljZSA9IHNlcnZpY2U7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0U2VydmljZSgpOiBTZFRhYlJvdXRlclNlcnZpY2Uge1xyXG4gICAgaWYgKCFTZFRhYkRlY29yYXRvclNlcnZpY2Uuc2VydmljZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NkVGFiRGVjb3JhdG9yU2VydmljZSBub3QgaW5pdGlhbGl6ZWQnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBTZFRhYkRlY29yYXRvclNlcnZpY2Uuc2VydmljZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
var _currentTab, _componentBuilders;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { Injectable } from '@angular/core';
|
|
4
|
+
import { BehaviorSubject } from 'rxjs';
|
|
5
|
+
import { SdTabBase } from '../events/tab-router.event';
|
|
6
|
+
import { SdNotifyService } from '@sd-angular/core/notify';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@sd-angular/core/notify";
|
|
9
|
+
export class SdTabRouterService {
|
|
10
|
+
constructor(notifyService) {
|
|
11
|
+
this.notifyService = notifyService;
|
|
12
|
+
this.events = new BehaviorSubject(new SdTabBase(null));
|
|
13
|
+
this.actions = new BehaviorSubject(null);
|
|
14
|
+
this.builders = new BehaviorSubject([]);
|
|
15
|
+
_currentTab.set(this, null);
|
|
16
|
+
_componentBuilders.set(this, []);
|
|
17
|
+
this.addBuilder = (builder) => {
|
|
18
|
+
if (!__classPrivateFieldGet(this, _componentBuilders).some(e => e.component === builder.component)) {
|
|
19
|
+
__classPrivateFieldGet(this, _componentBuilders).push(builder);
|
|
20
|
+
this.builders.next(__classPrivateFieldGet(this, _componentBuilders));
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
// select = (tabOrKey: string | SdTab): void => {
|
|
24
|
+
// const tab = this.#tabs.find(e => {
|
|
25
|
+
// if (typeof (tabOrKey) === 'string') {
|
|
26
|
+
// return e.key === tabOrKey;
|
|
27
|
+
// }
|
|
28
|
+
// return e.key === tabOrKey?.key;
|
|
29
|
+
// });
|
|
30
|
+
// if (tab) {
|
|
31
|
+
// this.#currentTab = tab;
|
|
32
|
+
// }
|
|
33
|
+
// }
|
|
34
|
+
// add = (tab: SdTab): void => {
|
|
35
|
+
// if (!tab.key) {
|
|
36
|
+
// this.notifyService.notify.warning('Tab key is required');
|
|
37
|
+
// }
|
|
38
|
+
// if (!tab.component) {
|
|
39
|
+
// this.notifyService.notify.warning('Tab component is required');
|
|
40
|
+
// }
|
|
41
|
+
// const existedTab = this.#tabs.find(e => e.key === tab.key);
|
|
42
|
+
// if (!existedTab) {
|
|
43
|
+
// this.#tabs.push(tab);
|
|
44
|
+
// this.select(tab);
|
|
45
|
+
// } else {
|
|
46
|
+
// this.select(existedTab);
|
|
47
|
+
// }
|
|
48
|
+
// }
|
|
49
|
+
// remove = (tabOrKey: string | SdTab): void => {
|
|
50
|
+
// this.#tabs = this.#tabs.filter(e => {
|
|
51
|
+
// if (typeof (tabOrKey) === 'string') {
|
|
52
|
+
// return e.key !== tabOrKey;
|
|
53
|
+
// }
|
|
54
|
+
// return e.key !== tabOrKey?.key;
|
|
55
|
+
// });
|
|
56
|
+
// }
|
|
57
|
+
this.setCurrentTab = (tab) => {
|
|
58
|
+
__classPrivateFieldSet(this, _currentTab, tab);
|
|
59
|
+
};
|
|
60
|
+
this.pushEvent = (tab, Event) => {
|
|
61
|
+
this.events.next(new Event(tab));
|
|
62
|
+
};
|
|
63
|
+
this.setOptions = () => { };
|
|
64
|
+
this.close = (tab) => {
|
|
65
|
+
if (tab) {
|
|
66
|
+
this.actions.next({
|
|
67
|
+
type: 'close',
|
|
68
|
+
tab,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else if (__classPrivateFieldGet(this, _currentTab)) {
|
|
72
|
+
this.actions.next({
|
|
73
|
+
type: 'close',
|
|
74
|
+
tab: __classPrivateFieldGet(this, _currentTab),
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
SdTabRouterService.service = this;
|
|
79
|
+
}
|
|
80
|
+
// #tabs: SdTab[] = [];
|
|
81
|
+
static getService() {
|
|
82
|
+
if (!SdTabRouterService.service) {
|
|
83
|
+
throw new Error('SdTabRouterService is not initialized');
|
|
84
|
+
}
|
|
85
|
+
return SdTabRouterService.service;
|
|
86
|
+
}
|
|
87
|
+
get currentTab() {
|
|
88
|
+
return __classPrivateFieldGet(this, _currentTab);
|
|
89
|
+
}
|
|
90
|
+
get key() {
|
|
91
|
+
var _a;
|
|
92
|
+
return ((_a = __classPrivateFieldGet(this, _currentTab)) === null || _a === void 0 ? void 0 : _a.key) || null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
_currentTab = new WeakMap(), _componentBuilders = new WeakMap();
|
|
96
|
+
SdTabRouterService.service = undefined;
|
|
97
|
+
SdTabRouterService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SdTabRouterService_Factory() { return new SdTabRouterService(i0.ɵɵinject(i1.SdNotifyService)); }, token: SdTabRouterService, providedIn: "root" });
|
|
98
|
+
SdTabRouterService.decorators = [
|
|
99
|
+
{ type: Injectable, args: [{
|
|
100
|
+
providedIn: 'root',
|
|
101
|
+
},] }
|
|
102
|
+
];
|
|
103
|
+
SdTabRouterService.ctorParameters = () => [
|
|
104
|
+
{ type: SdNotifyService }
|
|
105
|
+
];
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJvdXRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3VzZXIvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvdGFiLXJvdXRlci8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2VydmljZXMvdGFiLXJvdXRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZDLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQU0xRCxNQUFNLE9BQU8sa0JBQWtCO0lBZ0I3QixZQUFvQixhQUE4QjtRQUE5QixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFkbEQsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFhLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDOUQsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFxQixJQUFJLENBQUMsQ0FBQztRQUN4RCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQTBCLEVBQUUsQ0FBQyxDQUFDO1FBRTVELHNCQUE0QixJQUFJLEVBQUM7UUFDakMsNkJBQThDLEVBQUUsRUFBQztRQWFqRCxlQUFVLEdBQUcsQ0FBQyxPQUE4QixFQUFFLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGlEQUF3QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDekUsaURBQXdCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGtEQUF5QixDQUFDO2FBQzdDO1FBQ0gsQ0FBQyxDQUFBO1FBVUQsaURBQWlEO1FBQ2pELHVDQUF1QztRQUN2Qyw0Q0FBNEM7UUFDNUMsbUNBQW1DO1FBQ25DLFFBQVE7UUFDUixzQ0FBc0M7UUFDdEMsUUFBUTtRQUNSLGVBQWU7UUFDZiw4QkFBOEI7UUFDOUIsTUFBTTtRQUNOLElBQUk7UUFFSixnQ0FBZ0M7UUFDaEMsb0JBQW9CO1FBQ3BCLGdFQUFnRTtRQUNoRSxNQUFNO1FBQ04sMEJBQTBCO1FBQzFCLHNFQUFzRTtRQUN0RSxNQUFNO1FBQ04sZ0VBQWdFO1FBQ2hFLHVCQUF1QjtRQUN2Qiw0QkFBNEI7UUFDNUIsd0JBQXdCO1FBQ3hCLGFBQWE7UUFDYiwrQkFBK0I7UUFDL0IsTUFBTTtRQUNOLElBQUk7UUFFSixpREFBaUQ7UUFDakQsMENBQTBDO1FBQzFDLDRDQUE0QztRQUM1QyxtQ0FBbUM7UUFDbkMsUUFBUTtRQUNSLHNDQUFzQztRQUN0QyxRQUFRO1FBQ1IsSUFBSTtRQUVKLGtCQUFhLEdBQUcsQ0FBQyxHQUFVLEVBQVEsRUFBRTtZQUNuQyx1QkFBQSxJQUFJLGVBQWUsR0FBRyxFQUFDO1FBQ3pCLENBQUMsQ0FBQTtRQUVELGNBQVMsR0FBRyxDQUFDLEdBQVUsRUFBRSxLQUF1QixFQUFFLEVBQUU7WUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUE7UUFFRCxlQUFVLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLFVBQUssR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQ3RCLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNoQixJQUFJLEVBQUUsT0FBTztvQkFDYixHQUFHO2lCQUNKLENBQUMsQ0FBQzthQUNKO2lCQUFNLCtDQUFzQjtnQkFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ2hCLElBQUksRUFBRSxPQUFPO29CQUNiLEdBQUcsMkNBQWtCO2lCQUN0QixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQTtRQTdFQyxrQkFBa0IsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFWRCx1QkFBdUI7SUFFaEIsTUFBTSxDQUFDLFVBQVU7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRTtZQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQUNwQyxDQUFDO0lBWUQsSUFBSSxVQUFVO1FBQ1osaURBQXdCO0lBQzFCLENBQUM7SUFFRCxJQUFJLEdBQUc7O1FBQ0wsT0FBTywwRkFBa0IsR0FBRyxLQUFJLElBQUksQ0FBQztJQUN2QyxDQUFDOzs7QUFoQ2MsMEJBQU8sR0FBbUMsU0FBUyxDQUFDOzs7WUFKcEUsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFMUSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2RUYWIgfSBmcm9tICcuLi9tb2RlbHMvdGFiLXJvdXRlci5tb2RlbCc7XHJcbmltcG9ydCB7IFNkVGFiQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucy90YWItcm91dGVyLmFjdGlvbic7XHJcbmltcG9ydCB7IFNkVGFiRXZlbnQsIFNkVGFiQmFzZSB9IGZyb20gJy4uL2V2ZW50cy90YWItcm91dGVyLmV2ZW50JztcclxuaW1wb3J0IHsgU2ROb3RpZnlTZXJ2aWNlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9ub3RpZnknO1xyXG5pbXBvcnQgeyBTZFRhYkNvbXBvbmVudEJ1aWxkZXIgfSBmcm9tICcuLi9kZWNvcmF0b3JzL3RhYi5kZWNvcmF0b3InO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkVGFiUm91dGVyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgc2VydmljZTogU2RUYWJSb3V0ZXJTZXJ2aWNlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gIGV2ZW50cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2RUYWJFdmVudD4obmV3IFNkVGFiQmFzZShudWxsKSk7XHJcbiAgYWN0aW9ucyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2RUYWJBY3Rpb24gfCBudWxsPihudWxsKTtcclxuICBidWlsZGVycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2RUYWJDb21wb25lbnRCdWlsZGVyW10+KFtdKTtcclxuXHJcbiAgI2N1cnJlbnRUYWI6IFNkVGFiIHwgbnVsbCA9IG51bGw7XHJcbiAgI2NvbXBvbmVudEJ1aWxkZXJzOiBTZFRhYkNvbXBvbmVudEJ1aWxkZXJbXSA9IFtdO1xyXG4gIC8vICN0YWJzOiBTZFRhYltdID0gW107XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0U2VydmljZSgpOiBTZFRhYlJvdXRlclNlcnZpY2Uge1xyXG4gICAgaWYgKCFTZFRhYlJvdXRlclNlcnZpY2Uuc2VydmljZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NkVGFiUm91dGVyU2VydmljZSBpcyBub3QgaW5pdGlhbGl6ZWQnKTtcclxuICAgIH1cclxuICAgIHJldHVybiBTZFRhYlJvdXRlclNlcnZpY2Uuc2VydmljZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBub3RpZnlTZXJ2aWNlOiBTZE5vdGlmeVNlcnZpY2UpIHtcclxuICAgIFNkVGFiUm91dGVyU2VydmljZS5zZXJ2aWNlID0gdGhpcztcclxuICB9XHJcblxyXG4gIGFkZEJ1aWxkZXIgPSAoYnVpbGRlcjogU2RUYWJDb21wb25lbnRCdWlsZGVyKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMuI2NvbXBvbmVudEJ1aWxkZXJzLnNvbWUoZSA9PiBlLmNvbXBvbmVudCA9PT0gYnVpbGRlci5jb21wb25lbnQpKSB7XHJcbiAgICAgIHRoaXMuI2NvbXBvbmVudEJ1aWxkZXJzLnB1c2goYnVpbGRlcik7XHJcbiAgICAgIHRoaXMuYnVpbGRlcnMubmV4dCh0aGlzLiNjb21wb25lbnRCdWlsZGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgY3VycmVudFRhYigpIHtcclxuICAgIHJldHVybiB0aGlzLiNjdXJyZW50VGFiO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGtleSgpIHtcclxuICAgIHJldHVybiB0aGlzLiNjdXJyZW50VGFiPy5rZXkgfHwgbnVsbDtcclxuICB9XHJcblxyXG4gIC8vIHNlbGVjdCA9ICh0YWJPcktleTogc3RyaW5nIHwgU2RUYWIpOiB2b2lkID0+IHtcclxuICAvLyAgIGNvbnN0IHRhYiA9IHRoaXMuI3RhYnMuZmluZChlID0+IHtcclxuICAvLyAgICAgaWYgKHR5cGVvZiAodGFiT3JLZXkpID09PSAnc3RyaW5nJykge1xyXG4gIC8vICAgICAgIHJldHVybiBlLmtleSA9PT0gdGFiT3JLZXk7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgICAgcmV0dXJuIGUua2V5ID09PSB0YWJPcktleT8ua2V5O1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gICBpZiAodGFiKSB7XHJcbiAgLy8gICAgIHRoaXMuI2N1cnJlbnRUYWIgPSB0YWI7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuICAvLyBhZGQgPSAodGFiOiBTZFRhYik6IHZvaWQgPT4ge1xyXG4gIC8vICAgaWYgKCF0YWIua2V5KSB7XHJcbiAgLy8gICAgIHRoaXMubm90aWZ5U2VydmljZS5ub3RpZnkud2FybmluZygnVGFiIGtleSBpcyByZXF1aXJlZCcpO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgaWYgKCF0YWIuY29tcG9uZW50KSB7XHJcbiAgLy8gICAgIHRoaXMubm90aWZ5U2VydmljZS5ub3RpZnkud2FybmluZygnVGFiIGNvbXBvbmVudCBpcyByZXF1aXJlZCcpO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgY29uc3QgZXhpc3RlZFRhYiA9IHRoaXMuI3RhYnMuZmluZChlID0+IGUua2V5ID09PSB0YWIua2V5KTtcclxuICAvLyAgIGlmICghZXhpc3RlZFRhYikge1xyXG4gIC8vICAgICB0aGlzLiN0YWJzLnB1c2godGFiKTtcclxuICAvLyAgICAgdGhpcy5zZWxlY3QodGFiKTtcclxuICAvLyAgIH0gZWxzZSB7XHJcbiAgLy8gICAgIHRoaXMuc2VsZWN0KGV4aXN0ZWRUYWIpO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbiAgLy8gcmVtb3ZlID0gKHRhYk9yS2V5OiBzdHJpbmcgfCBTZFRhYik6IHZvaWQgPT4ge1xyXG4gIC8vICAgdGhpcy4jdGFicyA9IHRoaXMuI3RhYnMuZmlsdGVyKGUgPT4ge1xyXG4gIC8vICAgICBpZiAodHlwZW9mICh0YWJPcktleSkgPT09ICdzdHJpbmcnKSB7XHJcbiAgLy8gICAgICAgcmV0dXJuIGUua2V5ICE9PSB0YWJPcktleTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgICByZXR1cm4gZS5rZXkgIT09IHRhYk9yS2V5Py5rZXk7XHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcblxyXG4gIHNldEN1cnJlbnRUYWIgPSAodGFiOiBTZFRhYik6IHZvaWQgPT4ge1xyXG4gICAgdGhpcy4jY3VycmVudFRhYiA9IHRhYjtcclxuICB9XHJcblxyXG4gIHB1c2hFdmVudCA9ICh0YWI6IFNkVGFiLCBFdmVudDogVHlwZTxTZFRhYkV2ZW50PikgPT4ge1xyXG4gICAgdGhpcy5ldmVudHMubmV4dChuZXcgRXZlbnQodGFiKSk7XHJcbiAgfVxyXG5cclxuICBzZXRPcHRpb25zID0gKCkgPT4geyB9O1xyXG5cclxuICBjbG9zZSA9ICh0YWI/OiBTZFRhYikgPT4ge1xyXG4gICAgaWYgKHRhYikge1xyXG4gICAgICB0aGlzLmFjdGlvbnMubmV4dCh7XHJcbiAgICAgICAgdHlwZTogJ2Nsb3NlJyxcclxuICAgICAgICB0YWIsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLiNjdXJyZW50VGFiKSB7XHJcbiAgICAgIHRoaXMuYWN0aW9ucy5uZXh0KHtcclxuICAgICAgICB0eXBlOiAnY2xvc2UnLFxyXG4gICAgICAgIHRhYjogdGhpcy4jY3VycmVudFRhYixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { RouterModule } from '@angular/router';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
|
+
import { SdTabRouterItemComponent } from './components/tab-router-item/tab-router-item.component';
|
|
7
|
+
import { SdTabRouterNavComponent } from './components/tab-router-nav/tab-router-nav.component';
|
|
8
|
+
import { SdTabRouterOutletComponent } from './components/tab-router-outlet/tab-router-outlet.component';
|
|
9
|
+
import { SdTabInfoPipe } from './pipes/tab-info.pipe';
|
|
10
|
+
export class SdTabRouterModule {
|
|
11
|
+
}
|
|
12
|
+
SdTabRouterModule.decorators = [
|
|
13
|
+
{ type: NgModule, args: [{
|
|
14
|
+
declarations: [
|
|
15
|
+
SdTabRouterItemComponent,
|
|
16
|
+
SdTabRouterNavComponent,
|
|
17
|
+
SdTabRouterOutletComponent,
|
|
18
|
+
SdTabInfoPipe,
|
|
19
|
+
],
|
|
20
|
+
imports: [RouterModule, CommonModule, MatIconModule, MatTooltipModule],
|
|
21
|
+
exports: [
|
|
22
|
+
SdTabRouterItemComponent,
|
|
23
|
+
SdTabRouterNavComponent,
|
|
24
|
+
SdTabRouterOutletComponent,
|
|
25
|
+
],
|
|
26
|
+
providers: [],
|
|
27
|
+
},] }
|
|
28
|
+
];
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXJvdXRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvdXNlci9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90YWItcm91dGVyLyIsInNvdXJjZXMiOlsic3JjL2xpYi90YWItcm91dGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWlCdEQsTUFBTSxPQUFPLGlCQUFpQjs7O1lBZjdCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osd0JBQXdCO29CQUN4Qix1QkFBdUI7b0JBQ3ZCLDBCQUEwQjtvQkFDMUIsYUFBYTtpQkFDZDtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQztnQkFDdEUsT0FBTyxFQUFFO29CQUNQLHdCQUF3QjtvQkFDeEIsdUJBQXVCO29CQUN2QiwwQkFBMEI7aUJBQzNCO2dCQUNELFNBQVMsRUFBRSxFQUFFO2FBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IFNkVGFiUm91dGVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWItcm91dGVyLWl0ZW0vdGFiLXJvdXRlci1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkVGFiUm91dGVyTmF2Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYi1yb3V0ZXItbmF2L3RhYi1yb3V0ZXItbmF2LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkVGFiUm91dGVyT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYi1yb3V0ZXItb3V0bGV0L3RhYi1yb3V0ZXItb3V0bGV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkVGFiSW5mb1BpcGUgfSBmcm9tICcuL3BpcGVzL3RhYi1pbmZvLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNkVGFiUm91dGVySXRlbUNvbXBvbmVudCxcclxuICAgIFNkVGFiUm91dGVyTmF2Q29tcG9uZW50LFxyXG4gICAgU2RUYWJSb3V0ZXJPdXRsZXRDb21wb25lbnQsXHJcbiAgICBTZFRhYkluZm9QaXBlLFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZSwgQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZFRhYlJvdXRlckl0ZW1Db21wb25lbnQsXHJcbiAgICBTZFRhYlJvdXRlck5hdkNvbXBvbmVudCxcclxuICAgIFNkVGFiUm91dGVyT3V0bGV0Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkVGFiUm91dGVyTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of superdev-angular-core
|
|
3
|
+
*/
|
|
4
|
+
// Models
|
|
5
|
+
export * from './lib/models/tab-router.model';
|
|
6
|
+
export * from './lib/events/tab-router.event';
|
|
7
|
+
export * from './lib/actions/tab-router.action';
|
|
8
|
+
// Decorators
|
|
9
|
+
export * from './lib/decorators/tab.decorator';
|
|
10
|
+
// Service
|
|
11
|
+
export * from './lib/services/tab-router.service';
|
|
12
|
+
// Components
|
|
13
|
+
export * from './lib/components/tab-router-item/tab-router-item.component';
|
|
14
|
+
export * from './lib/components/tab-router-nav/tab-router-nav.component';
|
|
15
|
+
export * from './lib/components/tab-router-outlet/tab-router-outlet.component';
|
|
16
|
+
// Module
|
|
17
|
+
export * from './lib/tab-router.module';
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy91c2VyL0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3RhYi1yb3V0ZXIvIiwic291cmNlcyI6WyJzcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILFNBQVM7QUFDVCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxhQUFhO0FBQ2IsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxVQUFVO0FBQ1YsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxhQUFhO0FBQ2IsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsZ0VBQWdFLENBQUM7QUFFL0UsU0FBUztBQUNULGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygc3VwZXJkZXYtYW5ndWxhci1jb3JlXHJcbiAqL1xyXG5cclxuLy8gTW9kZWxzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90YWItcm91dGVyLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZXZlbnRzL3RhYi1yb3V0ZXIuZXZlbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zL3RhYi1yb3V0ZXIuYWN0aW9uJztcclxuXHJcbi8vIERlY29yYXRvcnNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGVjb3JhdG9ycy90YWIuZGVjb3JhdG9yJztcclxuXHJcbi8vIFNlcnZpY2VcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdGFiLXJvdXRlci5zZXJ2aWNlJztcclxuXHJcbi8vIENvbXBvbmVudHNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWItcm91dGVyLWl0ZW0vdGFiLXJvdXRlci1pdGVtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFiLXJvdXRlci1uYXYvdGFiLXJvdXRlci1uYXYuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWItcm91dGVyLW91dGxldC90YWItcm91dGVyLW91dGxldC5jb21wb25lbnQnO1xyXG5cclxuLy8gTW9kdWxlXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYi1yb3V0ZXIubW9kdWxlJztcclxuIl19
|