@coreui/angular 2.11.3 → 2.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/coreui-angular.d.ts +1 -19
- package/esm2020/coreui-angular.mjs +5 -0
- package/esm2020/lib/aside/app-aside.component.mjs +58 -0
- package/esm2020/lib/aside/app-aside.module.mjs +30 -0
- package/{esm2015/lib/aside/index.js → esm2020/lib/aside/index.mjs} +0 -0
- package/{esm2015/lib/aside/public_api.js → esm2020/lib/aside/public_api.mjs} +0 -0
- package/esm2020/lib/breadcrumb/app-breadcrumb.component.mjs +62 -0
- package/esm2020/lib/breadcrumb/app-breadcrumb.module.mjs +31 -0
- package/esm2020/lib/breadcrumb/app-breadcrumb.service.mjs +46 -0
- package/esm2020/lib/breadcrumb/cui-breadcrumb.component.mjs +38 -0
- package/{esm2015/lib/breadcrumb/index.js → esm2020/lib/breadcrumb/index.mjs} +0 -0
- package/{esm2015/lib/breadcrumb/public_api.js → esm2020/lib/breadcrumb/public_api.mjs} +0 -0
- package/esm2020/lib/footer/app-footer.component.mjs +40 -0
- package/esm2020/lib/footer/app-footer.module.mjs +18 -0
- package/{esm2015/lib/footer/index.js → esm2020/lib/footer/index.mjs} +0 -0
- package/{esm2015/lib/footer/public_api.js → esm2020/lib/footer/public_api.mjs} +0 -0
- package/esm2020/lib/header/app-header.component.mjs +97 -0
- package/esm2020/lib/header/app-header.module.mjs +34 -0
- package/{esm2015/lib/header/index.js → esm2020/lib/header/index.mjs} +0 -0
- package/{esm2015/lib/header/public_api.js → esm2020/lib/header/public_api.mjs} +0 -0
- package/{esm2015/lib/shared/classes.js → esm2020/lib/shared/classes.mjs} +0 -0
- package/esm2020/lib/shared/index.mjs +2 -0
- package/esm2020/lib/shared/layout/layout.directive.mjs +233 -0
- package/esm2020/lib/shared/layout/layout.module.mjs +56 -0
- package/esm2020/lib/shared/public_api.mjs +5 -0
- package/esm2020/lib/shared/replace.mjs +12 -0
- package/esm2020/lib/shared/toggle-classes.mjs +46 -0
- package/esm2020/lib/sidebar/app-sidebar-footer.component.mjs +20 -0
- package/esm2020/lib/sidebar/app-sidebar-form.component.mjs +20 -0
- package/esm2020/lib/sidebar/app-sidebar-header.component.mjs +20 -0
- package/esm2020/lib/sidebar/app-sidebar-minimizer.component.mjs +35 -0
- package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-badge.pipe.mjs +22 -0
- package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-divider.component.mjs +18 -0
- package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-icon.pipe.mjs +21 -0
- package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-item-class.pipe.mjs +31 -0
- package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-items.component.mjs +181 -0
- package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-label.component.mjs +44 -0
- package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.component.mjs +97 -0
- package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.pipe.mjs +21 -0
- package/esm2020/lib/sidebar/app-sidebar-nav/app-sidebar-nav-title.component.mjs +67 -0
- package/esm2020/lib/sidebar/app-sidebar-nav.component.mjs +33 -0
- package/esm2020/lib/sidebar/app-sidebar-nav.directive.mjs +42 -0
- package/esm2020/lib/sidebar/app-sidebar-nav.mjs +2 -0
- package/esm2020/lib/sidebar/app-sidebar-nav.service.mjs +53 -0
- package/esm2020/lib/sidebar/app-sidebar.component.mjs +112 -0
- package/esm2020/lib/sidebar/app-sidebar.module.mjs +119 -0
- package/esm2020/lib/sidebar/app-sidebar.service.mjs +21 -0
- package/{esm2015/lib/sidebar/index.js → esm2020/lib/sidebar/index.mjs} +0 -0
- package/esm2020/lib/sidebar/public_api.mjs +16 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/coreui-angular.mjs +1680 -0
- package/fesm2015/coreui-angular.mjs.map +1 -0
- package/fesm2020/coreui-angular.mjs +1655 -0
- package/fesm2020/coreui-angular.mjs.map +1 -0
- package/lib/aside/app-aside.component.d.ts +7 -4
- package/lib/aside/app-aside.module.d.ts +7 -0
- package/lib/breadcrumb/app-breadcrumb.component.d.ts +7 -3
- package/lib/breadcrumb/app-breadcrumb.module.d.ts +8 -0
- package/lib/breadcrumb/app-breadcrumb.service.d.ts +3 -0
- package/lib/breadcrumb/cui-breadcrumb.component.d.ts +7 -3
- package/lib/footer/app-footer.component.d.ts +5 -2
- package/lib/footer/app-footer.module.d.ts +6 -0
- package/lib/header/app-header.component.d.ts +8 -5
- package/lib/header/app-header.module.d.ts +8 -0
- package/lib/shared/index.d.ts +1 -3
- package/lib/shared/layout/layout.directive.d.ts +20 -5
- package/lib/shared/layout/layout.module.d.ts +6 -0
- package/lib/shared/public_api.d.ts +4 -0
- package/lib/shared/toggle-classes.d.ts +6 -3
- package/lib/sidebar/app-sidebar-footer.component.d.ts +3 -0
- package/lib/sidebar/app-sidebar-form.component.d.ts +3 -0
- package/lib/sidebar/app-sidebar-header.component.d.ts +3 -0
- package/lib/sidebar/app-sidebar-minimizer.component.d.ts +3 -0
- package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-badge.pipe.d.ts +3 -0
- package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-divider.component.d.ts +4 -1
- package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-icon.pipe.d.ts +3 -0
- package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-item-class.pipe.d.ts +3 -0
- package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-items.component.d.ts +10 -0
- package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-label.component.d.ts +3 -0
- package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.component.d.ts +7 -2
- package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.pipe.d.ts +3 -0
- package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-title.component.d.ts +3 -0
- package/lib/sidebar/app-sidebar-nav.component.d.ts +3 -0
- package/lib/sidebar/app-sidebar-nav.d.ts +2 -1
- package/lib/sidebar/app-sidebar-nav.directive.d.ts +5 -0
- package/lib/sidebar/app-sidebar-nav.service.d.ts +10 -5
- package/lib/sidebar/app-sidebar.component.d.ts +9 -6
- package/lib/sidebar/app-sidebar.module.d.ts +23 -0
- package/lib/sidebar/app-sidebar.service.d.ts +3 -0
- package/lib/sidebar/public_api.d.ts +3 -0
- package/package.json +24 -12
- package/bundles/coreui-angular.umd.js +0 -1820
- package/bundles/coreui-angular.umd.js.map +0 -1
- package/bundles/coreui-angular.umd.min.js +0 -2
- package/bundles/coreui-angular.umd.min.js.map +0 -1
- package/coreui-angular.metadata.json +0 -1
- package/esm2015/coreui-angular.js +0 -24
- package/esm2015/lib/aside/app-aside.component.js +0 -52
- package/esm2015/lib/aside/app-aside.module.js +0 -22
- package/esm2015/lib/breadcrumb/app-breadcrumb.component.js +0 -51
- package/esm2015/lib/breadcrumb/app-breadcrumb.module.js +0 -26
- package/esm2015/lib/breadcrumb/app-breadcrumb.service.js +0 -48
- package/esm2015/lib/breadcrumb/cui-breadcrumb.component.js +0 -39
- package/esm2015/lib/footer/app-footer.component.js +0 -36
- package/esm2015/lib/footer/app-footer.module.js +0 -13
- package/esm2015/lib/header/app-header.component.js +0 -76
- package/esm2015/lib/header/app-header.module.js +0 -24
- package/esm2015/lib/shared/index.js +0 -4
- package/esm2015/lib/shared/layout/index.js +0 -2
- package/esm2015/lib/shared/layout/layout.directive.js +0 -216
- package/esm2015/lib/shared/layout/layout.module.js +0 -35
- package/esm2015/lib/shared/replace.js +0 -11
- package/esm2015/lib/shared/toggle-classes.js +0 -46
- package/esm2015/lib/sidebar/app-sidebar-footer.component.js +0 -17
- package/esm2015/lib/sidebar/app-sidebar-form.component.js +0 -17
- package/esm2015/lib/sidebar/app-sidebar-header.component.js +0 -17
- package/esm2015/lib/sidebar/app-sidebar-minimizer.component.js +0 -28
- package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-badge.pipe.js +0 -18
- package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-divider.component.js +0 -16
- package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-dropdown.component.js +0 -35
- package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-icon.pipe.js +0 -17
- package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-item-class.pipe.js +0 -30
- package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-items.component.js +0 -81
- package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-label.component.js +0 -40
- package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.component.js +0 -86
- package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.pipe.js +0 -17
- package/esm2015/lib/sidebar/app-sidebar-nav/app-sidebar-nav-title.component.js +0 -67
- package/esm2015/lib/sidebar/app-sidebar-nav.component.js +0 -29
- package/esm2015/lib/sidebar/app-sidebar-nav.directive.js +0 -41
- package/esm2015/lib/sidebar/app-sidebar-nav.js +0 -2
- package/esm2015/lib/sidebar/app-sidebar-nav.service.js +0 -49
- package/esm2015/lib/sidebar/app-sidebar.component.js +0 -104
- package/esm2015/lib/sidebar/app-sidebar.module.js +0 -81
- package/esm2015/lib/sidebar/app-sidebar.service.js +0 -20
- package/esm2015/lib/sidebar/public_api.js +0 -6
- package/fesm2015/coreui-angular.js +0 -1428
- package/fesm2015/coreui-angular.js.map +0 -1
- package/lib/shared/layout/index.d.ts +0 -1
- package/lib/sidebar/app-sidebar-nav/app-sidebar-nav-dropdown.component.d.ts +0 -7
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# [@coreui/angular](https://coreui.io/angular)
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|
[![npm package][npm-coreui-angular-badge-v2]][npm-coreui-angular]
|
|
5
5
|
[![npm package][npm-coreui-angular-badge-latest]][npm-coreui-angular]
|
|
6
6
|
[![NPM downloads][npm-coreui-angular-download]][npm-coreui-angular]
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
Before you begin, make sure your development environment includes `Node.js®` and an `npm` package manager.
|
|
30
30
|
|
|
31
31
|
###### Node.js
|
|
32
|
-
Angular
|
|
32
|
+
Angular 13 requires `Node.js` version 14.15 or later.
|
|
33
33
|
|
|
34
34
|
- To check your version, run `node -v` in a terminal/console window.
|
|
35
35
|
- To get `Node.js`, go to [nodejs.org](https://nodejs.org/).
|
|
@@ -37,10 +37,10 @@ Angular 11 requires `Node.js` version 10.19 or later.
|
|
|
37
37
|
###### Angular CLI
|
|
38
38
|
Install the Angular CLI globally using a terminal/console window.
|
|
39
39
|
```bash
|
|
40
|
-
npm install -g @angular/cli
|
|
40
|
+
npm install -g @angular/cli@13
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
##### Update to Angular
|
|
43
|
+
##### Update to Angular 13
|
|
44
44
|
see: [https://update.angular.io](https://update.angular.io)
|
|
45
45
|
|
|
46
46
|
## CoreUI Installation
|
package/coreui-angular.d.ts
CHANGED
|
@@ -1,23 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
|
+
/// <amd-module name="@coreui/angular" />
|
|
4
5
|
export * from './public-api';
|
|
5
|
-
export { AppBreadcrumbService as ɵj } from './lib/breadcrumb/app-breadcrumb.service';
|
|
6
|
-
export { AsideToggleDirective as ɵg, BrandMinimizeDirective as ɵf, HtmlAttributesDirective as ɵh, MobileSidebarToggleDirective as ɵd, SidebarMinimizeDirective as ɵc, SidebarOffCanvasCloseDirective as ɵe, SidebarToggleDirective as ɵb } from './lib/shared/layout/layout.directive';
|
|
7
|
-
export { LayoutModule as ɵa } from './lib/shared/layout/layout.module';
|
|
8
|
-
export { ClassToggler as ɵi } from './lib/shared/toggle-classes';
|
|
9
|
-
export { AppSidebarFooterComponent as ɵl } from './lib/sidebar/app-sidebar-footer.component';
|
|
10
|
-
export { AppSidebarFormComponent as ɵm } from './lib/sidebar/app-sidebar-form.component';
|
|
11
|
-
export { AppSidebarHeaderComponent as ɵn } from './lib/sidebar/app-sidebar-header.component';
|
|
12
|
-
export { NavDropdownDirective as ɵv, NavDropdownToggleDirective as ɵw } from './lib/sidebar/app-sidebar-nav.directive';
|
|
13
|
-
export { AppSidebarNavBadgePipe as ɵy } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-badge.pipe';
|
|
14
|
-
export { AppSidebarNavDividerComponent as ɵp } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-divider.component';
|
|
15
|
-
export { AppSidebarNavDropdownComponent as ɵq } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-dropdown.component';
|
|
16
|
-
export { AppSidebarNavIconPipe as ɵx } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-icon.pipe';
|
|
17
|
-
export { AppSidebarNavItemClassPipe as ɵba } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-item-class.pipe';
|
|
18
|
-
export { AppSidebarNavItemsComponent as ɵo } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-items.component';
|
|
19
|
-
export { AppSidebarNavLabelComponent as ɵr } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-label.component';
|
|
20
|
-
export { AppSidebarNavLinkComponent as ɵt, AppSidebarNavLinkContentComponent as ɵs } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.component';
|
|
21
|
-
export { AppSidebarNavLinkPipe as ɵz } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-link.pipe';
|
|
22
|
-
export { AppSidebarNavTitleComponent as ɵu } from './lib/sidebar/app-sidebar-nav/app-sidebar-nav-title.component';
|
|
23
|
-
export { AppSidebarService as ɵk } from './lib/sidebar/app-sidebar.service';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZXVpLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWkvYW5ndWxhci9zcmMvY29yZXVpLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Component, Input, Inject, HostBinding } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { asideMenuCssClasses } from '../shared';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class AppAsideComponent {
|
|
6
|
+
constructor(document, renderer) {
|
|
7
|
+
this.document = document;
|
|
8
|
+
this.renderer = renderer;
|
|
9
|
+
this.fixedClass = 'aside-menu-fixed';
|
|
10
|
+
this.asideMenuClass = true;
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() {
|
|
13
|
+
this.isFixed(this.fixed);
|
|
14
|
+
this.isOffCanvas(this.offCanvas);
|
|
15
|
+
this.displayBreakpoint(this.display);
|
|
16
|
+
}
|
|
17
|
+
ngOnDestroy() {
|
|
18
|
+
this.renderer.removeClass(this.document.body, this.fixedClass);
|
|
19
|
+
}
|
|
20
|
+
isFixed(fixed = this.fixed) {
|
|
21
|
+
if (fixed) {
|
|
22
|
+
this.renderer.addClass(this.document.body, this.fixedClass);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
isOffCanvas(offCanvas = this.offCanvas) {
|
|
26
|
+
if (offCanvas) {
|
|
27
|
+
this.renderer.addClass(this.document.body, 'aside-menu-off-canvas');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
displayBreakpoint(display = this.display) {
|
|
31
|
+
if (display !== false) {
|
|
32
|
+
const cssClass = this.display ? `aside-menu-${this.display}-show` : asideMenuCssClasses[0];
|
|
33
|
+
this.renderer.addClass(this.document.body, cssClass);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
AppAsideComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppAsideComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
AppAsideComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: AppAsideComponent, selector: "app-aside, cui-aside", inputs: { display: "display", fixed: "fixed", offCanvas: "offCanvas" }, host: { properties: { "class.aside-menu": "this.asideMenuClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppAsideComponent, decorators: [{
|
|
40
|
+
type: Component,
|
|
41
|
+
args: [{
|
|
42
|
+
selector: 'app-aside, cui-aside',
|
|
43
|
+
template: `<ng-content></ng-content>`
|
|
44
|
+
}]
|
|
45
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
46
|
+
type: Inject,
|
|
47
|
+
args: [DOCUMENT]
|
|
48
|
+
}] }, { type: i0.Renderer2 }]; }, propDecorators: { display: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], fixed: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], offCanvas: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], asideMenuClass: [{
|
|
55
|
+
type: HostBinding,
|
|
56
|
+
args: ['class.aside-menu']
|
|
57
|
+
}] } });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWFzaWRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS9hbmd1bGFyL3NyYy9saWIvYXNpZGUvYXBwLWFzaWRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFhLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDOztBQU1oRCxNQUFNLE9BQU8saUJBQWlCO0lBUzVCLFlBQzRCLFFBQWEsRUFDL0IsUUFBbUI7UUFERCxhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFOWixlQUFVLEdBQUcsa0JBQWtCLENBQUM7UUFFaEIsbUJBQWMsR0FBRyxJQUFJLENBQUM7SUFLbkQsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLO1FBQ3hCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVM7UUFDcEMsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1NBQ3JFO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFVBQWUsSUFBSSxDQUFDLE9BQU87UUFDM0MsSUFBSSxPQUFPLEtBQUssS0FBSyxFQUFHO1lBQ3RCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsSUFBSSxDQUFDLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztTQUN0RDtJQUNILENBQUM7OzhHQXpDVSxpQkFBaUIsa0JBVWxCLFFBQVE7a0dBVlAsaUJBQWlCLHlNQUZsQiwyQkFBMkI7MkZBRTFCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs7MEJBV0ksTUFBTTsyQkFBQyxRQUFRO29FQVRULE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFJMkIsY0FBYztzQkFBOUMsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95LCBJbmplY3QsIFJlbmRlcmVyMiwgSG9zdEJpbmRpbmd9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgYXNpZGVNZW51Q3NzQ2xhc3NlcyB9IGZyb20gJy4uL3NoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hc2lkZSwgY3VpLWFzaWRlJyxcclxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBBc2lkZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBkaXNwbGF5OiBhbnk7XHJcbiAgQElucHV0KCkgZml4ZWQ/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIG9mZkNhbnZhcz86IGJvb2xlYW47XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZml4ZWRDbGFzcyA9ICdhc2lkZS1tZW51LWZpeGVkJztcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hc2lkZS1tZW51JykgYXNpZGVNZW51Q2xhc3MgPSB0cnVlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSxcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGaXhlZCh0aGlzLmZpeGVkKTtcclxuICAgIHRoaXMuaXNPZmZDYW52YXModGhpcy5vZmZDYW52YXMpO1xyXG4gICAgdGhpcy5kaXNwbGF5QnJlYWtwb2ludCh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5maXhlZENsYXNzKTtcclxuICB9XHJcblxyXG4gIGlzRml4ZWQoZml4ZWQgPSB0aGlzLmZpeGVkKTogdm9pZCB7XHJcbiAgICBpZiAoZml4ZWQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIHRoaXMuZml4ZWRDbGFzcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc09mZkNhbnZhcyhvZmZDYW52YXMgPSB0aGlzLm9mZkNhbnZhcyk6IHZvaWQge1xyXG4gICAgaWYgKG9mZkNhbnZhcykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ2FzaWRlLW1lbnUtb2ZmLWNhbnZhcycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzcGxheUJyZWFrcG9pbnQoZGlzcGxheTogYW55ID0gdGhpcy5kaXNwbGF5KTogdm9pZCB7XHJcbiAgICBpZiAoZGlzcGxheSAhPT0gZmFsc2UgKSB7XHJcbiAgICAgIGNvbnN0IGNzc0NsYXNzID0gdGhpcy5kaXNwbGF5ID8gYGFzaWRlLW1lbnUtJHt0aGlzLmRpc3BsYXl9LXNob3dgIDogYXNpZGVNZW51Q3NzQ2xhc3Nlc1swXTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIGNzc0NsYXNzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { LayoutModule } from './../shared/layout/layout.module';
|
|
4
|
+
import { AppAsideComponent } from './app-aside.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class AppAsideModule {
|
|
7
|
+
}
|
|
8
|
+
AppAsideModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppAsideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
AppAsideModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppAsideModule, declarations: [AppAsideComponent], imports: [CommonModule,
|
|
10
|
+
LayoutModule], exports: [AppAsideComponent] });
|
|
11
|
+
AppAsideModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppAsideModule, imports: [[
|
|
12
|
+
CommonModule,
|
|
13
|
+
LayoutModule
|
|
14
|
+
]] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppAsideModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
imports: [
|
|
19
|
+
CommonModule,
|
|
20
|
+
LayoutModule
|
|
21
|
+
],
|
|
22
|
+
exports: [
|
|
23
|
+
AppAsideComponent
|
|
24
|
+
],
|
|
25
|
+
declarations: [
|
|
26
|
+
AppAsideComponent
|
|
27
|
+
]
|
|
28
|
+
}]
|
|
29
|
+
}] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWFzaWRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS9hbmd1bGFyL3NyYy9saWIvYXNpZGUvYXBwLWFzaWRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBYzFELE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBSHZCLGlCQUFpQixhQVBqQixZQUFZO1FBQ1osWUFBWSxhQUdaLGlCQUFpQjs0R0FNUixjQUFjLFlBWGhCO1lBQ1AsWUFBWTtZQUNaLFlBQVk7U0FDYjsyRkFRVSxjQUFjO2tCQVoxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjtxQkFDbEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExheW91dE1vZHVsZSB9IGZyb20gJy4vLi4vc2hhcmVkL2xheW91dC9sYXlvdXQubW9kdWxlJztcclxuXHJcbmltcG9ydCB7IEFwcEFzaWRlQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAtYXNpZGUuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTGF5b3V0TW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBBcHBBc2lkZUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBBcHBBc2lkZUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcEFzaWRlTW9kdWxlIHt9XHJcbiJdfQ==
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Component, Inject, Input } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { Replace } from '../shared';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./app-breadcrumb.service";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/router";
|
|
8
|
+
export class AppBreadcrumbComponent {
|
|
9
|
+
constructor(document, renderer, service, el) {
|
|
10
|
+
this.document = document;
|
|
11
|
+
this.renderer = renderer;
|
|
12
|
+
this.service = service;
|
|
13
|
+
this.el = el;
|
|
14
|
+
this.fixedClass = 'breadcrumb-fixed';
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
Replace(this.el);
|
|
18
|
+
this.isFixed(this.fixed);
|
|
19
|
+
this.breadcrumbs = this.service.breadcrumbs;
|
|
20
|
+
}
|
|
21
|
+
ngOnDestroy() {
|
|
22
|
+
this.renderer.removeClass(this.document.body, this.fixedClass);
|
|
23
|
+
}
|
|
24
|
+
isFixed(fixed = this.fixed) {
|
|
25
|
+
if (fixed) {
|
|
26
|
+
this.renderer.addClass(this.document.body, this.fixedClass);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
AppBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i1.AppBreadcrumbService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
AppBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: AppBreadcrumbComponent, selector: "app-breadcrumb", inputs: { fixed: "fixed" }, ngImport: i0, template: `
|
|
32
|
+
<ng-template ngFor let-breadcrumb [ngForOf]="breadcrumbs | async" let-last = last>
|
|
33
|
+
<li class="breadcrumb-item"
|
|
34
|
+
*ngIf="breadcrumb.label.title && (breadcrumb.url.slice(-1) == '/' || last)"
|
|
35
|
+
[ngClass]="{active: last}">
|
|
36
|
+
<a *ngIf="!last" [routerLink]="breadcrumb.url">{{breadcrumb.label.title}}</a>
|
|
37
|
+
<span *ngIf="last" [routerLink]="breadcrumb.url">{{breadcrumb.label.title}}</span>
|
|
38
|
+
</li>
|
|
39
|
+
</ng-template>
|
|
40
|
+
`, isInline: true, directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i3.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "async": i2.AsyncPipe } });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{
|
|
44
|
+
selector: 'app-breadcrumb',
|
|
45
|
+
template: `
|
|
46
|
+
<ng-template ngFor let-breadcrumb [ngForOf]="breadcrumbs | async" let-last = last>
|
|
47
|
+
<li class="breadcrumb-item"
|
|
48
|
+
*ngIf="breadcrumb.label.title && (breadcrumb.url.slice(-1) == '/' || last)"
|
|
49
|
+
[ngClass]="{active: last}">
|
|
50
|
+
<a *ngIf="!last" [routerLink]="breadcrumb.url">{{breadcrumb.label.title}}</a>
|
|
51
|
+
<span *ngIf="last" [routerLink]="breadcrumb.url">{{breadcrumb.label.title}}</span>
|
|
52
|
+
</li>
|
|
53
|
+
</ng-template>
|
|
54
|
+
`
|
|
55
|
+
}]
|
|
56
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
57
|
+
type: Inject,
|
|
58
|
+
args: [DOCUMENT]
|
|
59
|
+
}] }, { type: i0.Renderer2 }, { type: i1.AppBreadcrumbService }, { type: i0.ElementRef }]; }, propDecorators: { fixed: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpL2FuZ3VsYXIvc3JjL2xpYi9icmVhZGNydW1iL2FwcC1icmVhZGNydW1iLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUd6QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7OztBQWdCbEMsTUFBTSxPQUFPLHNCQUFzQjtJQUtqQyxZQUM0QixRQUFhLEVBQy9CLFFBQW1CLEVBQ3BCLE9BQTZCLEVBQzdCLEVBQWM7UUFISyxhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDcEIsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFDN0IsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQU5OLGVBQVUsR0FBRyxrQkFBa0IsQ0FBQztJQU83QyxDQUFDO0lBRUUsUUFBUTtRQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztJQUM5QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSztRQUN4QixJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM3RDtJQUNILENBQUM7O21IQTFCVSxzQkFBc0Isa0JBTXZCLFFBQVE7dUdBTlAsc0JBQXNCLGtGQVh2Qjs7Ozs7Ozs7O0dBU1Q7MkZBRVUsc0JBQXNCO2tCQWJsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7O0dBU1Q7aUJBQ0Y7OzBCQU9JLE1BQU07MkJBQUMsUUFBUTtnSUFMVCxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQge0FwcEJyZWFkY3J1bWJTZXJ2aWNlfSBmcm9tICcuL2FwcC1icmVhZGNydW1iLnNlcnZpY2UnO1xyXG5pbXBvcnQge1JlcGxhY2V9IGZyb20gJy4uL3NoYXJlZCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJyZWFkY3J1bWInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWJyZWFkY3J1bWIgW25nRm9yT2ZdPVwiYnJlYWRjcnVtYnMgfCBhc3luY1wiIGxldC1sYXN0ID0gbGFzdD5cclxuICAgICAgPGxpIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtXCJcclxuICAgICAgICAgICpuZ0lmPVwiYnJlYWRjcnVtYi5sYWJlbC50aXRsZSAmJiAoYnJlYWRjcnVtYi51cmwuc2xpY2UoLTEpID09ICcvJyB8fCBsYXN0KVwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7YWN0aXZlOiBsYXN0fVwiPlxyXG4gICAgICAgIDxhICpuZ0lmPVwiIWxhc3RcIiBbcm91dGVyTGlua109XCJicmVhZGNydW1iLnVybFwiPnt7YnJlYWRjcnVtYi5sYWJlbC50aXRsZX19PC9hPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwibGFzdFwiIFtyb3V0ZXJMaW5rXT1cImJyZWFkY3J1bWIudXJsXCI+e3ticmVhZGNydW1iLmxhYmVsLnRpdGxlfX08L3NwYW4+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgZml4ZWQ/OiBib29sZWFuO1xyXG4gIHB1YmxpYyBicmVhZGNydW1icz86IE9ic2VydmFibGU8YW55PjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGZpeGVkQ2xhc3MgPSAnYnJlYWRjcnVtYi1maXhlZCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIHNlcnZpY2U6IEFwcEJyZWFkY3J1bWJTZXJ2aWNlLFxyXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmXHJcbiAgKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgUmVwbGFjZSh0aGlzLmVsKTtcclxuICAgIHRoaXMuaXNGaXhlZCh0aGlzLmZpeGVkKTtcclxuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSB0aGlzLnNlcnZpY2UuYnJlYWRjcnVtYnM7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCB0aGlzLmZpeGVkQ2xhc3MpO1xyXG4gIH1cclxuXHJcbiAgaXNGaXhlZChmaXhlZCA9IHRoaXMuZml4ZWQpOiB2b2lkIHtcclxuICAgIGlmIChmaXhlZCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5maXhlZENsYXNzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { RouterModule } from '@angular/router';
|
|
4
|
+
// App Breadcrumb Component
|
|
5
|
+
import { AppBreadcrumbService } from './app-breadcrumb.service';
|
|
6
|
+
import { AppBreadcrumbComponent } from './app-breadcrumb.component';
|
|
7
|
+
import { CuiBreadcrumbComponent } from './cui-breadcrumb.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
// @dynamic
|
|
10
|
+
export class AppBreadcrumbModule {
|
|
11
|
+
static forRoot(config) {
|
|
12
|
+
return {
|
|
13
|
+
ngModule: AppBreadcrumbModule,
|
|
14
|
+
providers: [
|
|
15
|
+
AppBreadcrumbService
|
|
16
|
+
]
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
AppBreadcrumbModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
21
|
+
AppBreadcrumbModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbModule, declarations: [AppBreadcrumbComponent, CuiBreadcrumbComponent], imports: [CommonModule, RouterModule], exports: [AppBreadcrumbComponent, CuiBreadcrumbComponent] });
|
|
22
|
+
AppBreadcrumbModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbModule, imports: [[CommonModule, RouterModule]] });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbModule, decorators: [{
|
|
24
|
+
type: NgModule,
|
|
25
|
+
args: [{
|
|
26
|
+
imports: [CommonModule, RouterModule],
|
|
27
|
+
exports: [AppBreadcrumbComponent, CuiBreadcrumbComponent],
|
|
28
|
+
declarations: [AppBreadcrumbComponent, CuiBreadcrumbComponent]
|
|
29
|
+
}]
|
|
30
|
+
}] });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJyZWFkY3J1bWIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpL2FuZ3VsYXIvc3JjL2xpYi9icmVhZGNydW1iL2FwcC1icmVhZGNydW1iLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLDJCQUEyQjtBQUMzQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFcEUsV0FBVztBQU1YLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFZO1FBQ3pCLE9BQU87WUFDTCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLFNBQVMsRUFBRTtnQkFDVCxvQkFBb0I7YUFDckI7U0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0hBUlUsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBRmQsc0JBQXNCLEVBQUUsc0JBQXNCLGFBRm5ELFlBQVksRUFBRSxZQUFZLGFBQzFCLHNCQUFzQixFQUFFLHNCQUFzQjtpSEFHOUMsbUJBQW1CLFlBSnJCLENBQUUsWUFBWSxFQUFFLFlBQVksQ0FBRTsyRkFJNUIsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFFLFlBQVksRUFBRSxZQUFZLENBQUU7b0JBQ3ZDLE9BQU8sRUFBRSxDQUFFLHNCQUFzQixFQUFFLHNCQUFzQixDQUFFO29CQUMzRCxZQUFZLEVBQUUsQ0FBRSxzQkFBc0IsRUFBRSxzQkFBc0IsQ0FBRTtpQkFDakUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8vIEFwcCBCcmVhZGNydW1iIENvbXBvbmVudFxyXG5pbXBvcnQgeyBBcHBCcmVhZGNydW1iU2VydmljZSB9IGZyb20gJy4vYXBwLWJyZWFkY3J1bWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2FwcC1icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1aUJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2N1aS1icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcblxyXG4vLyBAZHluYW1pY1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFsgQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUgXSxcclxuICBleHBvcnRzOiBbIEFwcEJyZWFkY3J1bWJDb21wb25lbnQsIEN1aUJyZWFkY3J1bWJDb21wb25lbnQgXSxcclxuICBkZWNsYXJhdGlvbnM6IFsgQXBwQnJlYWRjcnVtYkNvbXBvbmVudCwgQ3VpQnJlYWRjcnVtYkNvbXBvbmVudCBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBCcmVhZGNydW1iTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBhbnkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwcEJyZWFkY3J1bWJNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBBcHBCcmVhZGNydW1iTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBBcHBCcmVhZGNydW1iU2VydmljZVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { NavigationEnd } from '@angular/router';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { filter } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
export class AppBreadcrumbService {
|
|
8
|
+
constructor(router, route) {
|
|
9
|
+
this.router = router;
|
|
10
|
+
this.route = route;
|
|
11
|
+
this.breadcrumbSubject = new BehaviorSubject(new Array());
|
|
12
|
+
this.breadcrumbs = this.breadcrumbSubject.asObservable();
|
|
13
|
+
this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((event) => {
|
|
14
|
+
const breadcrumbs = [];
|
|
15
|
+
let currentRoute = this.route.root;
|
|
16
|
+
let url = '';
|
|
17
|
+
do {
|
|
18
|
+
const childrenRoutes = currentRoute.children;
|
|
19
|
+
currentRoute = null;
|
|
20
|
+
// tslint:disable-next-line:no-shadowed-variable
|
|
21
|
+
childrenRoutes.forEach(route => {
|
|
22
|
+
if (route.outlet === 'primary') {
|
|
23
|
+
const routeSnapshot = route.snapshot;
|
|
24
|
+
url += '/' + routeSnapshot.url.map(segment => segment.path).join('/');
|
|
25
|
+
breadcrumbs.push({
|
|
26
|
+
label: route.snapshot.data,
|
|
27
|
+
url
|
|
28
|
+
});
|
|
29
|
+
currentRoute = route;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
} while (currentRoute);
|
|
33
|
+
this.breadcrumbSubject.next(Object.assign([], breadcrumbs));
|
|
34
|
+
return breadcrumbs;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
AppBreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
|
+
AppBreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbService, providedIn: 'root' });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppBreadcrumbService, decorators: [{
|
|
41
|
+
type: Injectable,
|
|
42
|
+
args: [{
|
|
43
|
+
providedIn: 'root'
|
|
44
|
+
}]
|
|
45
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJyZWFkY3J1bWIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS9hbmd1bGFyL3NyYy9saWIvYnJlYWRjcnVtYi9hcHAtYnJlYWRjcnVtYi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUEwQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTXhDLE1BQU0sT0FBTyxvQkFBb0I7SUFNL0IsWUFBb0IsTUFBYyxFQUFVLEtBQXFCO1FBQTdDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUUvRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVEsSUFBSSxLQUFLLEVBQU8sQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXpELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMzRixNQUFNLFdBQVcsR0FBVSxFQUFFLENBQUM7WUFDOUIsSUFBSSxZQUFZLEdBQTBCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzFELElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNiLEdBQUc7Z0JBQ0QsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztnQkFDN0MsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDcEIsZ0RBQWdEO2dCQUNoRCxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUM3QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO3dCQUM5QixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO3dCQUNyQyxHQUFHLElBQUksR0FBRyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDdEUsV0FBVyxDQUFDLElBQUksQ0FBQzs0QkFDZixLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJOzRCQUMxQixHQUFHO3lCQUNKLENBQUMsQ0FBQzt3QkFDSCxZQUFZLEdBQUcsS0FBSyxDQUFDO3FCQUN0QjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKLFFBQVEsWUFBWSxFQUFFO1lBRXZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUU1RCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQXJDVSxvQkFBb0I7cUhBQXBCLG9CQUFvQixjQUhqQixNQUFNOzJGQUdULG9CQUFvQjtrQkFKaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbiAgfVxyXG4pXHJcbmV4cG9ydCBjbGFzcyBBcHBCcmVhZGNydW1iU2VydmljZSB7XHJcblxyXG4gIGJyZWFkY3J1bWJzOiBPYnNlcnZhYmxlPEFycmF5PGFueT4+O1xyXG5cclxuICBwcml2YXRlIGJyZWFkY3J1bWJTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8QXJyYXk8YW55Pj47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcblxyXG4gICAgdGhpcy5icmVhZGNydW1iU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KG5ldyBBcnJheTxhbnk+KCkpO1xyXG5cclxuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSB0aGlzLmJyZWFkY3J1bWJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBhbnlbXSA9IFtdO1xyXG4gICAgICBsZXQgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSB8IG51bGwgPSB0aGlzLnJvdXRlLnJvb3Q7XHJcbiAgICAgIGxldCB1cmwgPSAnJztcclxuICAgICAgZG8ge1xyXG4gICAgICAgIGNvbnN0IGNoaWxkcmVuUm91dGVzID0gY3VycmVudFJvdXRlLmNoaWxkcmVuO1xyXG4gICAgICAgIGN1cnJlbnRSb3V0ZSA9IG51bGw7XHJcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXNoYWRvd2VkLXZhcmlhYmxlXHJcbiAgICAgICAgY2hpbGRyZW5Sb3V0ZXMuZm9yRWFjaChyb3V0ZSA9PiB7XHJcbiAgICAgICAgICBpZiAocm91dGUub3V0bGV0ID09PSAncHJpbWFyeScpIHtcclxuICAgICAgICAgICAgY29uc3Qgcm91dGVTbmFwc2hvdCA9IHJvdXRlLnNuYXBzaG90O1xyXG4gICAgICAgICAgICB1cmwgKz0gJy8nICsgcm91dGVTbmFwc2hvdC51cmwubWFwKHNlZ21lbnQgPT4gc2VnbWVudC5wYXRoKS5qb2luKCcvJyk7XHJcbiAgICAgICAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xyXG4gICAgICAgICAgICAgIGxhYmVsOiByb3V0ZS5zbmFwc2hvdC5kYXRhLFxyXG4gICAgICAgICAgICAgIHVybFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY3VycmVudFJvdXRlID0gcm91dGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gd2hpbGUgKGN1cnJlbnRSb3V0ZSk7XHJcblxyXG4gICAgICB0aGlzLmJyZWFkY3J1bWJTdWJqZWN0Lm5leHQoT2JqZWN0LmFzc2lnbihbXSwgYnJlYWRjcnVtYnMpKTtcclxuXHJcbiAgICAgIHJldHVybiBicmVhZGNydW1icztcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Component, Inject, Input } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./app-breadcrumb.service";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/router";
|
|
7
|
+
export class CuiBreadcrumbComponent {
|
|
8
|
+
constructor(document, renderer, service) {
|
|
9
|
+
this.document = document;
|
|
10
|
+
this.renderer = renderer;
|
|
11
|
+
this.service = service;
|
|
12
|
+
this.fixedClass = 'breadcrumb-fixed';
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
this.isFixed(this.fixed);
|
|
16
|
+
this.breadcrumbs = this.service.breadcrumbs;
|
|
17
|
+
}
|
|
18
|
+
ngOnDestroy() {
|
|
19
|
+
this.renderer.removeClass(this.document.body, this.fixedClass);
|
|
20
|
+
}
|
|
21
|
+
isFixed(fixed = this.fixed) {
|
|
22
|
+
if (fixed) {
|
|
23
|
+
this.renderer.addClass(this.document.body, this.fixedClass);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
CuiBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: CuiBreadcrumbComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i1.AppBreadcrumbService }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
CuiBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: CuiBreadcrumbComponent, selector: "cui-breadcrumb", inputs: { fixed: "fixed" }, ngImport: i0, template: "<ol class=\"breadcrumb\">\r\n <ng-template ngFor let-breadcrumb [ngForOf]=\"breadcrumbs | async\" let-last = last>\r\n <li class=\"breadcrumb-item\"\r\n *ngIf=\"breadcrumb.label.title && (breadcrumb.url.slice(-1) == '/' || last)\"\r\n [ngClass]=\"{active: last}\">\r\n <a *ngIf=\"!last\" [routerLink]=\"breadcrumb.url\">{{breadcrumb.label.title}}</a>\r\n <span *ngIf=\"last\" [routerLink]=\"breadcrumb.url\">{{breadcrumb.label.title}}</span>\r\n </li>\r\n </ng-template>\r\n <ng-content></ng-content>\r\n</ol>\r\n", directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i3.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "async": i2.AsyncPipe } });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: CuiBreadcrumbComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{ selector: 'cui-breadcrumb', template: "<ol class=\"breadcrumb\">\r\n <ng-template ngFor let-breadcrumb [ngForOf]=\"breadcrumbs | async\" let-last = last>\r\n <li class=\"breadcrumb-item\"\r\n *ngIf=\"breadcrumb.label.title && (breadcrumb.url.slice(-1) == '/' || last)\"\r\n [ngClass]=\"{active: last}\">\r\n <a *ngIf=\"!last\" [routerLink]=\"breadcrumb.url\">{{breadcrumb.label.title}}</a>\r\n <span *ngIf=\"last\" [routerLink]=\"breadcrumb.url\">{{breadcrumb.label.title}}</span>\r\n </li>\r\n </ng-template>\r\n <ng-content></ng-content>\r\n</ol>\r\n" }]
|
|
32
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
33
|
+
type: Inject,
|
|
34
|
+
args: [DOCUMENT]
|
|
35
|
+
}] }, { type: i0.Renderer2 }, { type: i1.AppBreadcrumbService }]; }, propDecorators: { fixed: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}] } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VpLWJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpL2FuZ3VsYXIvc3JjL2xpYi9icmVhZGNydW1iL2N1aS1icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS9hbmd1bGFyL3NyYy9saWIvYnJlYWRjcnVtYi9jdWktYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFVekMsTUFBTSxPQUFPLHNCQUFzQjtJQU1qQyxZQUM0QixRQUFhLEVBQy9CLFFBQW1CLEVBQ3BCLE9BQTZCO1FBRlYsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ3BCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBTHJCLGVBQVUsR0FBRyxrQkFBa0IsQ0FBQztJQU03QyxDQUFDO0lBRUUsUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUs7UUFDeEIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0Q7SUFDSCxDQUFDOzttSEF6QlUsc0JBQXNCLGtCQU92QixRQUFRO3VHQVBQLHNCQUFzQixrRkNYbkMsb2lCQVdBOzJGREFhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFFRSxnQkFBZ0I7OzBCQVV2QixNQUFNOzJCQUFDLFFBQVE7dUdBTlQsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHtBcHBCcmVhZGNydW1iU2VydmljZX0gZnJvbSAnLi9hcHAtYnJlYWRjcnVtYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnY3VpLWJyZWFkY3J1bWInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdWktYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1aUJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgZml4ZWQ/OiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgYnJlYWRjcnVtYnM/OiBPYnNlcnZhYmxlPGFueVtdPjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGZpeGVkQ2xhc3MgPSAnYnJlYWRjcnVtYi1maXhlZCc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIHNlcnZpY2U6IEFwcEJyZWFkY3J1bWJTZXJ2aWNlLFxyXG4gICkgeyB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGaXhlZCh0aGlzLmZpeGVkKTtcclxuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSB0aGlzLnNlcnZpY2UuYnJlYWRjcnVtYnM7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCB0aGlzLmZpeGVkQ2xhc3MpO1xyXG4gIH1cclxuXHJcbiAgaXNGaXhlZChmaXhlZCA9IHRoaXMuZml4ZWQpOiB2b2lkIHtcclxuICAgIGlmIChmaXhlZCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5maXhlZENsYXNzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG9sIGNsYXNzPVwiYnJlYWRjcnVtYlwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtYnJlYWRjcnVtYiBbbmdGb3JPZl09XCJicmVhZGNydW1icyB8IGFzeW5jXCIgbGV0LWxhc3QgPSBsYXN0PlxyXG4gICAgPGxpIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtXCJcclxuICAgICAgICAqbmdJZj1cImJyZWFkY3J1bWIubGFiZWwudGl0bGUgJiYgKGJyZWFkY3J1bWIudXJsLnNsaWNlKC0xKSA9PSAnLycgfHwgbGFzdClcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInthY3RpdmU6IGxhc3R9XCI+XHJcbiAgICAgIDxhICpuZ0lmPVwiIWxhc3RcIiBbcm91dGVyTGlua109XCJicmVhZGNydW1iLnVybFwiPnt7YnJlYWRjcnVtYi5sYWJlbC50aXRsZX19PC9hPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cImxhc3RcIiBbcm91dGVyTGlua109XCJicmVhZGNydW1iLnVybFwiPnt7YnJlYWRjcnVtYi5sYWJlbC50aXRsZX19PC9zcGFuPlxyXG4gICAgPC9saT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9vbD5cclxuIl19
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Component, HostBinding, Inject, Input } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AppFooterComponent {
|
|
5
|
+
constructor(document, renderer) {
|
|
6
|
+
this.document = document;
|
|
7
|
+
this.renderer = renderer;
|
|
8
|
+
this.fixedClass = 'footer-fixed';
|
|
9
|
+
this.appFooterClass = true;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
this.isFixed(this.fixed);
|
|
13
|
+
}
|
|
14
|
+
ngOnDestroy() {
|
|
15
|
+
this.renderer.removeClass(this.document.body, this.fixedClass);
|
|
16
|
+
}
|
|
17
|
+
isFixed(fixed = this.fixed) {
|
|
18
|
+
if (fixed) {
|
|
19
|
+
this.renderer.addClass(this.document.body, this.fixedClass);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
AppFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppFooterComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
AppFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: AppFooterComponent, selector: "app-footer, cui-footer", inputs: { fixed: "fixed" }, host: { properties: { "class.app-footer": "this.appFooterClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppFooterComponent, decorators: [{
|
|
26
|
+
type: Component,
|
|
27
|
+
args: [{
|
|
28
|
+
selector: 'app-footer, cui-footer',
|
|
29
|
+
template: `<ng-content></ng-content>`
|
|
30
|
+
}]
|
|
31
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
32
|
+
type: Inject,
|
|
33
|
+
args: [DOCUMENT]
|
|
34
|
+
}] }, { type: i0.Renderer2 }]; }, propDecorators: { fixed: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], appFooterClass: [{
|
|
37
|
+
type: HostBinding,
|
|
38
|
+
args: ['class.app-footer']
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWkvYW5ndWxhci9zcmMvbGliL2Zvb3Rlci9hcHAtZm9vdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBTXpDLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0IsWUFDNEIsUUFBYSxFQUMvQixRQUFtQjtRQURELGFBQVEsR0FBUixRQUFRLENBQUs7UUFDL0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQU5aLGVBQVUsR0FBRyxjQUFjLENBQUM7UUFFWixtQkFBYyxHQUFHLElBQUksQ0FBQztJQUtuRCxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLO1FBQ3hCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQzs7K0dBeEJVLGtCQUFrQixrQkFRbkIsUUFBUTttR0FSUCxrQkFBa0IsK0pBRm5CLDJCQUEyQjsyRkFFMUIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzswQkFTSSxNQUFNOzJCQUFDLFFBQVE7b0VBUFQsS0FBSztzQkFBYixLQUFLO2dCQUkyQixjQUFjO3NCQUE5QyxXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mb290ZXIsIGN1aS1mb290ZXInLFxyXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcEZvb3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBmaXhlZD86IGJvb2xlYW47XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZml4ZWRDbGFzcyA9ICdmb290ZXItZml4ZWQnO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFwcC1mb290ZXInKSBhcHBGb290ZXJDbGFzcyA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZpeGVkKHRoaXMuZml4ZWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5maXhlZENsYXNzKTtcclxuICB9XHJcblxyXG4gIGlzRml4ZWQoZml4ZWQgPSB0aGlzLmZpeGVkKTogdm9pZCB7XHJcbiAgICBpZiAoZml4ZWQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIHRoaXMuZml4ZWRDbGFzcyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { AppFooterComponent } from './app-footer.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class AppFooterModule {
|
|
6
|
+
}
|
|
7
|
+
AppFooterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppFooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
AppFooterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppFooterModule, declarations: [AppFooterComponent], imports: [CommonModule], exports: [AppFooterComponent] });
|
|
9
|
+
AppFooterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppFooterModule, imports: [[CommonModule]] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppFooterModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
imports: [CommonModule],
|
|
14
|
+
exports: [AppFooterComponent],
|
|
15
|
+
declarations: [AppFooterComponent]
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZvb3Rlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWkvYW5ndWxhci9zcmMvbGliL2Zvb3Rlci9hcHAtZm9vdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPNUQsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFGVixrQkFBa0IsYUFGdkIsWUFBWSxhQUNaLGtCQUFrQjs2R0FHbEIsZUFBZSxZQUpqQixDQUFFLFlBQVksQ0FBRTsyRkFJZCxlQUFlO2tCQUwzQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFFLFlBQVksQ0FBRTtvQkFDekIsT0FBTyxFQUFFLENBQUUsa0JBQWtCLENBQUU7b0JBQy9CLFlBQVksRUFBRSxDQUFFLGtCQUFrQixDQUFFO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEFwcEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vYXBwLWZvb3Rlci5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbIENvbW1vbk1vZHVsZSBdLFxyXG4gIGV4cG9ydHM6IFsgQXBwRm9vdGVyQ29tcG9uZW50IF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbIEFwcEZvb3RlckNvbXBvbmVudCBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBGb290ZXJNb2R1bGUge31cclxuIl19
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Component, Input, Inject, HostBinding } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "../shared/layout/layout.directive";
|
|
6
|
+
import * as i3 from "@angular/router";
|
|
7
|
+
export class AppHeaderComponent {
|
|
8
|
+
constructor(document, renderer) {
|
|
9
|
+
this.document = document;
|
|
10
|
+
this.renderer = renderer;
|
|
11
|
+
this.navbarBrandText = { icon: '🅲', text: '🅲 CoreUI' };
|
|
12
|
+
this.navbarBrandHref = ''; // deprecated, use navbarBrandRouterLink instead
|
|
13
|
+
this.navbarBrandRouterLink = '';
|
|
14
|
+
this.sidebarToggler = 'lg';
|
|
15
|
+
this.mobileSidebarToggler = true;
|
|
16
|
+
this.asideMenuToggler = 'lg';
|
|
17
|
+
this.mobileAsideMenuToggler = true;
|
|
18
|
+
this.fixedClass = 'header-fixed';
|
|
19
|
+
this.appHeaderClass = true;
|
|
20
|
+
this.navbarClass = true;
|
|
21
|
+
this.breakpoints = ['xl', 'lg', 'md', 'sm', 'xs'];
|
|
22
|
+
this.sidebarTogglerClass = 'd-none d-md-block';
|
|
23
|
+
this.sidebarTogglerMobileClass = 'd-lg-none';
|
|
24
|
+
this.asideTogglerClass = 'd-none d-md-block';
|
|
25
|
+
this.asideTogglerMobileClass = 'd-lg-none';
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
this.isFixed(this.fixed);
|
|
29
|
+
this.navbarBrandImg = Boolean(this.navbarBrand || this.navbarBrandFull || this.navbarBrandMinimized);
|
|
30
|
+
this.navbarBrandRouterLink = this.navbarBrandRouterLink[0] ? this.navbarBrandRouterLink : this.navbarBrandHref;
|
|
31
|
+
this.sidebarTogglerClass = this.setTogglerBreakpointClass(this.sidebarToggler);
|
|
32
|
+
this.sidebarTogglerMobileClass = this.setTogglerMobileBreakpointClass(this.sidebarToggler);
|
|
33
|
+
this.asideTogglerClass = this.setTogglerBreakpointClass(this.asideMenuToggler);
|
|
34
|
+
this.asideTogglerMobileClass = this.setTogglerMobileBreakpointClass(this.asideMenuToggler);
|
|
35
|
+
}
|
|
36
|
+
ngOnDestroy() {
|
|
37
|
+
this.renderer.removeClass(this.document.body, this.fixedClass);
|
|
38
|
+
}
|
|
39
|
+
isFixed(fixed = this.fixed) {
|
|
40
|
+
if (fixed) {
|
|
41
|
+
this.renderer.addClass(this.document.body, this.fixedClass);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
setTogglerBreakpointClass(breakpoint = 'md') {
|
|
45
|
+
let togglerClass = 'd-none d-md-block';
|
|
46
|
+
if (this.breakpoints.includes(breakpoint)) {
|
|
47
|
+
const breakpointIndex = this.breakpoints.indexOf(breakpoint);
|
|
48
|
+
togglerClass = `d-none d-${breakpoint}-block`;
|
|
49
|
+
}
|
|
50
|
+
return togglerClass;
|
|
51
|
+
}
|
|
52
|
+
setTogglerMobileBreakpointClass(breakpoint = 'lg') {
|
|
53
|
+
let togglerClass = 'd-lg-none';
|
|
54
|
+
if (this.breakpoints.includes(breakpoint)) {
|
|
55
|
+
togglerClass = `d-${breakpoint}-none`;
|
|
56
|
+
}
|
|
57
|
+
return togglerClass;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
AppHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppHeaderComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
+
AppHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: AppHeaderComponent, selector: "app-header, cui-header", inputs: { fixed: "fixed", navbarBrand: "navbarBrand", navbarBrandFull: "navbarBrandFull", navbarBrandMinimized: "navbarBrandMinimized", navbarBrandText: "navbarBrandText", navbarBrandHref: "navbarBrandHref", navbarBrandRouterLink: "navbarBrandRouterLink", sidebarToggler: "sidebarToggler", mobileSidebarToggler: "mobileSidebarToggler", asideMenuToggler: "asideMenuToggler", mobileAsideMenuToggler: "mobileAsideMenuToggler" }, host: { properties: { "class.app-header": "this.appHeaderClass", "class.navbar": "this.navbarClass" } }, ngImport: i0, template: "<ng-template [ngIf]=\"mobileSidebarToggler != false\">\r\n <button class=\"navbar-toggler {{sidebarTogglerMobileClass}}\" type=\"button\" appSidebarToggler>\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n<a class=\"navbar-brand\" [routerLink]=\"navbarBrandRouterLink\">\r\n <ng-template [ngIf]=\"navbarBrandImg\">\r\n <img *ngIf=\"navbarBrand\"\r\n [appHtmlAttr]=\"navbarBrand\"\r\n [ngClass]=\"'navbar-brand'\">\r\n <img *ngIf=\"navbarBrandFull\"\r\n [appHtmlAttr]=\"navbarBrandFull\"\r\n [ngClass]=\"'navbar-brand-full'\">\r\n <img *ngIf=\"navbarBrandMinimized\"\r\n [appHtmlAttr]=\"navbarBrandMinimized\"\r\n [ngClass]=\"'navbar-brand-minimized'\">\r\n </ng-template>\r\n <ng-template [ngIf]=\"!navbarBrandImg\">\r\n <div class=\"navbar-brand-full\" [innerHTML]=\"navbarBrandText.text\"></div>\r\n <div class=\"navbar-brand-minimized\" [innerHTML]=\"navbarBrandText.icon\"></div>\r\n </ng-template>\r\n</a>\r\n<ng-template [ngIf]=\"sidebarToggler != false\">\r\n <button class=\"navbar-toggler {{sidebarTogglerClass}}\" type=\"button\" [appSidebarToggler]=\"sidebarToggler\">\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n<ng-content></ng-content>\r\n<ng-template [ngIf]=\"asideMenuToggler != false\">\r\n <button class=\"navbar-toggler {{asideTogglerClass}}\" type=\"button\" [appAsideMenuToggler]=\"asideMenuToggler\">\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n<ng-template [ngIf]=\"mobileAsideMenuToggler != false\">\r\n <button class=\"navbar-toggler {{asideTogglerMobileClass}}\" type=\"button\" appAsideMenuToggler>\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.SidebarToggleDirective, selector: "[appSidebarToggler]", inputs: ["appSidebarToggler"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.HtmlAttributesDirective, selector: "[appHtmlAttr]", inputs: ["appHtmlAttr"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.AsideToggleDirective, selector: "[appAsideMenuToggler]", inputs: ["appAsideMenuToggler"] }] });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: AppHeaderComponent, decorators: [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{ selector: 'app-header, cui-header', template: "<ng-template [ngIf]=\"mobileSidebarToggler != false\">\r\n <button class=\"navbar-toggler {{sidebarTogglerMobileClass}}\" type=\"button\" appSidebarToggler>\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n<a class=\"navbar-brand\" [routerLink]=\"navbarBrandRouterLink\">\r\n <ng-template [ngIf]=\"navbarBrandImg\">\r\n <img *ngIf=\"navbarBrand\"\r\n [appHtmlAttr]=\"navbarBrand\"\r\n [ngClass]=\"'navbar-brand'\">\r\n <img *ngIf=\"navbarBrandFull\"\r\n [appHtmlAttr]=\"navbarBrandFull\"\r\n [ngClass]=\"'navbar-brand-full'\">\r\n <img *ngIf=\"navbarBrandMinimized\"\r\n [appHtmlAttr]=\"navbarBrandMinimized\"\r\n [ngClass]=\"'navbar-brand-minimized'\">\r\n </ng-template>\r\n <ng-template [ngIf]=\"!navbarBrandImg\">\r\n <div class=\"navbar-brand-full\" [innerHTML]=\"navbarBrandText.text\"></div>\r\n <div class=\"navbar-brand-minimized\" [innerHTML]=\"navbarBrandText.icon\"></div>\r\n </ng-template>\r\n</a>\r\n<ng-template [ngIf]=\"sidebarToggler != false\">\r\n <button class=\"navbar-toggler {{sidebarTogglerClass}}\" type=\"button\" [appSidebarToggler]=\"sidebarToggler\">\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n<ng-content></ng-content>\r\n<ng-template [ngIf]=\"asideMenuToggler != false\">\r\n <button class=\"navbar-toggler {{asideTogglerClass}}\" type=\"button\" [appAsideMenuToggler]=\"asideMenuToggler\">\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n<ng-template [ngIf]=\"mobileAsideMenuToggler != false\">\r\n <button class=\"navbar-toggler {{asideTogglerMobileClass}}\" type=\"button\" appAsideMenuToggler>\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n</ng-template>\r\n" }]
|
|
65
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
66
|
+
type: Inject,
|
|
67
|
+
args: [DOCUMENT]
|
|
68
|
+
}] }, { type: i0.Renderer2 }]; }, propDecorators: { fixed: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], navbarBrand: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], navbarBrandFull: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], navbarBrandMinimized: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], navbarBrandText: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], navbarBrandHref: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], navbarBrandRouterLink: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], sidebarToggler: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], mobileSidebarToggler: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], asideMenuToggler: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], mobileAsideMenuToggler: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], appHeaderClass: [{
|
|
91
|
+
type: HostBinding,
|
|
92
|
+
args: ['class.app-header']
|
|
93
|
+
}], navbarClass: [{
|
|
94
|
+
type: HostBinding,
|
|
95
|
+
args: ['class.navbar']
|
|
96
|
+
}] } });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWkvYW5ndWxhci9zcmMvbGliL2hlYWRlci9hcHAtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS9hbmd1bGFyL3NyYy9saWIvaGVhZGVyL2FwcC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBYSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQU0zQyxNQUFNLE9BQU8sa0JBQWtCO0lBOEI3QixZQUM0QixRQUFhLEVBQy9CLFFBQW1CO1FBREQsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBekJwQixvQkFBZSxHQUFRLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFDLENBQUM7UUFDdkQsb0JBQWUsR0FBRyxFQUFFLENBQUMsQ0FBQyxnREFBZ0Q7UUFDdEUsMEJBQXFCLEdBQW1CLEVBQUUsQ0FBQztRQUUzQyxtQkFBYyxHQUFxQixJQUFJLENBQUM7UUFDeEMseUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBRTVCLHFCQUFnQixHQUFxQixJQUFJLENBQUM7UUFDMUMsMkJBQXNCLEdBQUcsSUFBSSxDQUFDO1FBRXRCLGVBQVUsR0FBRyxjQUFjLENBQUM7UUFFWixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUMxQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUkvQixnQkFBVyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlELHdCQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQzFDLDhCQUF5QixHQUFHLFdBQVcsQ0FBQztRQUN4QyxzQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztRQUN4Qyw0QkFBdUIsR0FBRyxXQUFXLENBQUM7SUFLbEMsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDckcsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQy9HLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLGNBQXdCLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxjQUF3QixDQUFDLENBQUM7UUFDckcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsZ0JBQTBCLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxnQkFBMEIsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLO1FBQ3hCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVELHlCQUF5QixDQUFDLFVBQVUsR0FBRyxJQUFJO1FBQ3pDLElBQUksWUFBWSxHQUFHLG1CQUFtQixDQUFDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDekMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0QsWUFBWSxHQUFHLFlBQVksVUFBVSxRQUFRLENBQUM7U0FDL0M7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQsK0JBQStCLENBQUMsVUFBVSxHQUFHLElBQUk7UUFDL0MsSUFBSSxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDekMsWUFBWSxHQUFHLEtBQUssVUFBVSxPQUFPLENBQUM7U0FDdkM7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOzsrR0F0RVUsa0JBQWtCLGtCQStCbkIsUUFBUTttR0EvQlAsa0JBQWtCLGlsQkNQL0IsbXhEQXNDQTsyRkQvQmEsa0JBQWtCO2tCQUo5QixTQUFTOytCQUNFLHdCQUF3Qjs7MEJBa0MvQixNQUFNOzJCQUFDLFFBQVE7b0VBN0JULEtBQUs7c0JBQWIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFJMkIsY0FBYztzQkFBOUMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBQ0YsV0FBVztzQkFBdkMsV0FBVzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveSwgSW5qZWN0LCBSZW5kZXJlcjIsIEhvc3RCaW5kaW5nfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaGVhZGVyLCBjdWktaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLWhlYWRlci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgZml4ZWQ/OiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBuYXZiYXJCcmFuZDogYW55O1xyXG4gIEBJbnB1dCgpIG5hdmJhckJyYW5kRnVsbDogYW55O1xyXG4gIEBJbnB1dCgpIG5hdmJhckJyYW5kTWluaW1pemVkOiBhbnk7XHJcbiAgQElucHV0KCkgbmF2YmFyQnJhbmRUZXh0OiBhbnkgPSB7aWNvbjogJ/CfhbInLCB0ZXh0OiAn8J+FsiBDb3JlVUknfTtcclxuICBASW5wdXQoKSBuYXZiYXJCcmFuZEhyZWYgPSAnJzsgLy8gZGVwcmVjYXRlZCwgdXNlIG5hdmJhckJyYW5kUm91dGVyTGluayBpbnN0ZWFkXHJcbiAgQElucHV0KCkgbmF2YmFyQnJhbmRSb3V0ZXJMaW5rOiBhbnlbXSB8IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBzaWRlYmFyVG9nZ2xlcjogc3RyaW5nIHwgYm9vbGVhbiA9ICdsZyc7XHJcbiAgQElucHV0KCkgbW9iaWxlU2lkZWJhclRvZ2dsZXIgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBhc2lkZU1lbnVUb2dnbGVyOiBzdHJpbmcgfCBib29sZWFuID0gJ2xnJztcclxuICBASW5wdXQoKSBtb2JpbGVBc2lkZU1lbnVUb2dnbGVyID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBmaXhlZENsYXNzID0gJ2hlYWRlci1maXhlZCc7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXBwLWhlYWRlcicpIGFwcEhlYWRlckNsYXNzID0gdHJ1ZTtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5hdmJhcicpIG5hdmJhckNsYXNzID0gdHJ1ZTtcclxuXHJcbiAgbmF2YmFyQnJhbmRJbWchOiBib29sZWFuO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRzID0gWyd4bCcsICdsZycsICdtZCcsICdzbScsICd4cyddO1xyXG4gIHNpZGViYXJUb2dnbGVyQ2xhc3MgPSAnZC1ub25lIGQtbWQtYmxvY2snO1xyXG4gIHNpZGViYXJUb2dnbGVyTW9iaWxlQ2xhc3MgPSAnZC1sZy1ub25lJztcclxuICBhc2lkZVRvZ2dsZXJDbGFzcyA9ICdkLW5vbmUgZC1tZC1ibG9jayc7XHJcbiAgYXNpZGVUb2dnbGVyTW9iaWxlQ2xhc3MgPSAnZC1sZy1ub25lJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnksXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRml4ZWQodGhpcy5maXhlZCk7XHJcbiAgICB0aGlzLm5hdmJhckJyYW5kSW1nID0gQm9vbGVhbih0aGlzLm5hdmJhckJyYW5kIHx8IHRoaXMubmF2YmFyQnJhbmRGdWxsIHx8IHRoaXMubmF2YmFyQnJhbmRNaW5pbWl6ZWQpO1xyXG4gICAgdGhpcy5uYXZiYXJCcmFuZFJvdXRlckxpbmsgPSB0aGlzLm5hdmJhckJyYW5kUm91dGVyTGlua1swXSA/IHRoaXMubmF2YmFyQnJhbmRSb3V0ZXJMaW5rIDogdGhpcy5uYXZiYXJCcmFuZEhyZWY7XHJcbiAgICB0aGlzLnNpZGViYXJUb2dnbGVyQ2xhc3MgPSB0aGlzLnNldFRvZ2dsZXJCcmVha3BvaW50Q2xhc3ModGhpcy5zaWRlYmFyVG9nZ2xlciBhcyBzdHJpbmcpO1xyXG4gICAgdGhpcy5zaWRlYmFyVG9nZ2xlck1vYmlsZUNsYXNzID0gdGhpcy5zZXRUb2dnbGVyTW9iaWxlQnJlYWtwb2ludENsYXNzKHRoaXMuc2lkZWJhclRvZ2dsZXIgYXMgc3RyaW5nKTtcclxuICAgIHRoaXMuYXNpZGVUb2dnbGVyQ2xhc3MgPSB0aGlzLnNldFRvZ2dsZXJCcmVha3BvaW50Q2xhc3ModGhpcy5hc2lkZU1lbnVUb2dnbGVyIGFzIHN0cmluZyk7XHJcbiAgICB0aGlzLmFzaWRlVG9nZ2xlck1vYmlsZUNsYXNzID0gdGhpcy5zZXRUb2dnbGVyTW9iaWxlQnJlYWtwb2ludENsYXNzKHRoaXMuYXNpZGVNZW51VG9nZ2xlciBhcyBzdHJpbmcpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy5maXhlZENsYXNzKTtcclxuICB9XHJcblxyXG4gIGlzRml4ZWQoZml4ZWQgPSB0aGlzLmZpeGVkKTogdm9pZCB7XHJcbiAgICBpZiAoZml4ZWQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksIHRoaXMuZml4ZWRDbGFzcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRUb2dnbGVyQnJlYWtwb2ludENsYXNzKGJyZWFrcG9pbnQgPSAnbWQnKSB7XHJcbiAgICBsZXQgdG9nZ2xlckNsYXNzID0gJ2Qtbm9uZSBkLW1kLWJsb2NrJztcclxuICAgIGlmICh0aGlzLmJyZWFrcG9pbnRzLmluY2x1ZGVzKGJyZWFrcG9pbnQpKSB7XHJcbiAgICAgIGNvbnN0IGJyZWFrcG9pbnRJbmRleCA9IHRoaXMuYnJlYWtwb2ludHMuaW5kZXhPZihicmVha3BvaW50KTtcclxuICAgICAgdG9nZ2xlckNsYXNzID0gYGQtbm9uZSBkLSR7YnJlYWtwb2ludH0tYmxvY2tgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRvZ2dsZXJDbGFzcztcclxuICB9XHJcblxyXG4gIHNldFRvZ2dsZXJNb2JpbGVCcmVha3BvaW50Q2xhc3MoYnJlYWtwb2ludCA9ICdsZycpIHtcclxuICAgIGxldCB0b2dnbGVyQ2xhc3MgPSAnZC1sZy1ub25lJztcclxuICAgIGlmICh0aGlzLmJyZWFrcG9pbnRzLmluY2x1ZGVzKGJyZWFrcG9pbnQpKSB7XHJcbiAgICAgIHRvZ2dsZXJDbGFzcyA9IGBkLSR7YnJlYWtwb2ludH0tbm9uZWA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdG9nZ2xlckNsYXNzO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgW25nSWZdPVwibW9iaWxlU2lkZWJhclRvZ2dsZXIgIT0gZmFsc2VcIj5cclxuICA8YnV0dG9uIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXIge3tzaWRlYmFyVG9nZ2xlck1vYmlsZUNsYXNzfX1cIiB0eXBlPVwiYnV0dG9uXCIgYXBwU2lkZWJhclRvZ2dsZXI+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxhIGNsYXNzPVwibmF2YmFyLWJyYW5kXCIgW3JvdXRlckxpbmtdPVwibmF2YmFyQnJhbmRSb3V0ZXJMaW5rXCI+XHJcbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIm5hdmJhckJyYW5kSW1nXCI+XHJcbiAgICA8aW1nICpuZ0lmPVwibmF2YmFyQnJhbmRcIlxyXG4gICAgICAgICBbYXBwSHRtbEF0dHJdPVwibmF2YmFyQnJhbmRcIlxyXG4gICAgICAgICBbbmdDbGFzc109XCInbmF2YmFyLWJyYW5kJ1wiPlxyXG4gICAgPGltZyAqbmdJZj1cIm5hdmJhckJyYW5kRnVsbFwiXHJcbiAgICAgICAgIFthcHBIdG1sQXR0cl09XCJuYXZiYXJCcmFuZEZ1bGxcIlxyXG4gICAgICAgICBbbmdDbGFzc109XCInbmF2YmFyLWJyYW5kLWZ1bGwnXCI+XHJcbiAgICA8aW1nICpuZ0lmPVwibmF2YmFyQnJhbmRNaW5pbWl6ZWRcIlxyXG4gICAgICAgICBbYXBwSHRtbEF0dHJdPVwibmF2YmFyQnJhbmRNaW5pbWl6ZWRcIlxyXG4gICAgICAgICBbbmdDbGFzc109XCInbmF2YmFyLWJyYW5kLW1pbmltaXplZCdcIj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCIhbmF2YmFyQnJhbmRJbWdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJuYXZiYXItYnJhbmQtZnVsbFwiIFtpbm5lckhUTUxdPVwibmF2YmFyQnJhbmRUZXh0LnRleHRcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJuYXZiYXItYnJhbmQtbWluaW1pemVkXCIgW2lubmVySFRNTF09XCJuYXZiYXJCcmFuZFRleHQuaWNvblwiPjwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYT5cclxuPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInNpZGViYXJUb2dnbGVyICE9IGZhbHNlXCI+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyIHt7c2lkZWJhclRvZ2dsZXJDbGFzc319XCIgdHlwZT1cImJ1dHRvblwiIFthcHBTaWRlYmFyVG9nZ2xlcl09XCJzaWRlYmFyVG9nZ2xlclwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJuYXZiYXItdG9nZ2xlci1pY29uXCI+PC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJhc2lkZU1lbnVUb2dnbGVyICE9IGZhbHNlXCI+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyIHt7YXNpZGVUb2dnbGVyQ2xhc3N9fVwiIHR5cGU9XCJidXR0b25cIiBbYXBwQXNpZGVNZW51VG9nZ2xlcl09XCJhc2lkZU1lbnVUb2dnbGVyXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XHJcbiAgPC9idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJtb2JpbGVBc2lkZU1lbnVUb2dnbGVyICE9IGZhbHNlXCI+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyIHt7YXNpZGVUb2dnbGVyTW9iaWxlQ2xhc3N9fVwiIHR5cGU9XCJidXR0b25cIiBhcHBBc2lkZU1lbnVUb2dnbGVyPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJuYXZiYXItdG9nZ2xlci1pY29uXCI+PC9zcGFuPlxyXG4gIDwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|