@mintplayer/ng-bootstrap 13.3.6 → 13.3.10
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/_bootstrap.scss +1 -0
- package/esm2020/lib/components/accordion/accordion/accordion.component.mjs +18 -5
- package/esm2020/lib/components/accordion/accordion-tab/accordion-tab.component.mjs +9 -6
- package/esm2020/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.mjs +3 -3
- package/esm2020/lib/components/accordion/accordion.module.mjs +4 -4
- package/esm2020/lib/components/alert/alert/alert.component.mjs +3 -3
- package/esm2020/lib/components/alert/alert-close/alert-close.component.mjs +3 -3
- package/esm2020/lib/components/alert/alert.module.mjs +4 -4
- package/esm2020/lib/components/calendar/calendar.component.mjs +6 -6
- package/esm2020/lib/components/calendar/calendar.module.mjs +4 -4
- package/esm2020/lib/components/card/card/card.component.mjs +3 -3
- package/esm2020/lib/components/card/card-header/card-header.component.mjs +3 -3
- package/esm2020/lib/components/card/card.module.mjs +4 -4
- package/esm2020/lib/components/carousel/carousel/carousel.component.mjs +3 -3
- package/esm2020/lib/components/carousel/carousel-image/carousel-image.directive.mjs +3 -3
- package/esm2020/lib/components/carousel/carousel.module.mjs +4 -4
- package/esm2020/lib/components/code-snippet/code-snippet.component.mjs +3 -3
- package/esm2020/lib/components/code-snippet/code-snippet.module.mjs +4 -4
- package/esm2020/lib/components/context-menu/context-menu.directive.mjs +3 -3
- package/esm2020/lib/components/context-menu/context-menu.module.mjs +4 -4
- package/esm2020/lib/components/copy/copy.directive.mjs +3 -3
- package/esm2020/lib/components/copy/copy.module.mjs +4 -4
- package/esm2020/lib/components/datatable/datatable/datatable.component.mjs +3 -3
- package/esm2020/lib/components/datatable/datatable-column/datatable-column.directive.mjs +3 -3
- package/esm2020/lib/components/datatable/datatable.module.mjs +4 -4
- package/esm2020/lib/components/datatable/row-template/row-template.directive.mjs +3 -3
- package/esm2020/lib/components/datepicker/datepicker.component.mjs +3 -3
- package/esm2020/lib/components/datepicker/datepicker.module.mjs +4 -4
- package/esm2020/lib/components/dropdown/dropdown/dropdown.directive.mjs +3 -3
- package/esm2020/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.mjs +3 -3
- package/esm2020/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.mjs +3 -3
- package/esm2020/lib/components/dropdown/dropdown.module.mjs +4 -4
- package/esm2020/lib/components/file-upload/component/file-upload.component.mjs +3 -3
- package/esm2020/lib/components/file-upload/directive/file-upload-template.directive.mjs +3 -3
- package/esm2020/lib/components/file-upload/file-upload.module.mjs +4 -4
- package/esm2020/lib/components/for/for.directive.mjs +3 -3
- package/esm2020/lib/components/for/for.module.mjs +4 -4
- package/esm2020/lib/components/index.mjs +2 -1
- package/esm2020/lib/components/list-group/list-group/list-group.component.mjs +3 -3
- package/esm2020/lib/components/list-group/list-group-item/list-group-item.component.mjs +3 -3
- package/esm2020/lib/components/list-group/list-group.module.mjs +4 -4
- package/esm2020/lib/components/modal/component/modal/modal.component.mjs +3 -3
- package/esm2020/lib/components/modal/component/modal-content/modal-content.component.mjs +3 -3
- package/esm2020/lib/components/modal/directives/modal-body/modal-body.directive.mjs +3 -3
- package/esm2020/lib/components/modal/directives/modal-footer/modal-footer.directive.mjs +3 -3
- package/esm2020/lib/components/modal/directives/modal-header/modal-header.directive.mjs +3 -3
- package/esm2020/lib/components/modal/modal.module.mjs +4 -4
- package/esm2020/lib/components/modal/service/modal.service.mjs +3 -3
- package/esm2020/lib/components/multiselect/component/multiselect.component.mjs +3 -3
- package/esm2020/lib/components/multiselect/directives/button-template/button-template.directive.mjs +3 -3
- package/esm2020/lib/components/multiselect/directives/footer-template/footer-template.directive.mjs +3 -3
- package/esm2020/lib/components/multiselect/directives/header-template/header-template.directive.mjs +3 -3
- package/esm2020/lib/components/multiselect/multiselect.module.mjs +4 -4
- package/esm2020/lib/components/navbar/dropdown-toggle/dropdown-toggle.directive.mjs +3 -3
- package/esm2020/lib/components/navbar/expand-button/expand-button.directive.mjs +3 -3
- package/esm2020/lib/components/navbar/nav-link/nav-link.directive.mjs +3 -3
- package/esm2020/lib/components/navbar/navbar/navbar.component.mjs +3 -3
- package/esm2020/lib/components/navbar/navbar-brand/navbar-brand.component.mjs +3 -3
- package/esm2020/lib/components/navbar/navbar-content/navbar-content.directive.mjs +3 -3
- package/esm2020/lib/components/navbar/navbar-dropdown/navbar-dropdown.component.mjs +3 -3
- package/esm2020/lib/components/navbar/navbar-item/navbar-item.component.mjs +3 -3
- package/esm2020/lib/components/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
- package/esm2020/lib/components/navbar/navbar-toggler/navbar-toggler.component.mjs +3 -3
- package/esm2020/lib/components/navbar/navbar.module.mjs +4 -4
- package/esm2020/lib/components/offcanvas/components/index.mjs +4 -0
- package/esm2020/lib/components/offcanvas/components/offcanvas/offcanvas.component.mjs +57 -0
- package/esm2020/lib/components/offcanvas/components/offcanvas-body/offcanvas-body.component.mjs +14 -0
- package/esm2020/lib/components/offcanvas/components/offcanvas-header/offcanvas-header.component.mjs +14 -0
- package/esm2020/lib/components/offcanvas/directives/index.mjs +2 -0
- package/esm2020/lib/components/offcanvas/directives/offcanvas-close/offcanvas-close.directive.mjs +27 -0
- package/esm2020/lib/components/offcanvas/index.mjs +7 -0
- package/esm2020/lib/components/offcanvas/interfaces/index.mjs +2 -0
- package/esm2020/lib/components/offcanvas/interfaces/offcanvas-animation-meta.mjs +2 -0
- package/esm2020/lib/components/offcanvas/offcanvas.module.mjs +45 -0
- package/esm2020/lib/components/offcanvas/providers/offcanvas-content.provider.mjs +3 -0
- package/esm2020/lib/components/offcanvas/services/index.mjs +2 -0
- package/esm2020/lib/components/offcanvas/services/offcanvas/offcanvas.service.mjs +72 -0
- package/esm2020/lib/components/offcanvas/types/index.mjs +2 -0
- package/esm2020/lib/components/offcanvas/types/position.mjs +2 -0
- package/esm2020/lib/components/pagination/pagination/pagination.component.mjs +3 -3
- package/esm2020/lib/components/pagination/pagination.module.mjs +4 -4
- package/esm2020/lib/components/progress-bar/progress/progress.component.mjs +3 -3
- package/esm2020/lib/components/progress-bar/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +4 -4
- package/esm2020/lib/components/rating/rating.component.mjs +3 -3
- package/esm2020/lib/components/rating/rating.module.mjs +4 -4
- package/esm2020/lib/components/scheduler/components/index.mjs +2 -1
- package/esm2020/lib/components/scheduler/components/resource-group-presenter/resource-group-presenter.component.mjs +84 -0
- package/esm2020/lib/components/scheduler/components/scheduler/scheduler.component.mjs +199 -74
- package/esm2020/lib/components/scheduler/constants/available-scales.mjs +12 -0
- package/esm2020/lib/components/scheduler/constants/index.mjs +2 -0
- package/esm2020/lib/components/scheduler/enums/index.mjs +2 -0
- package/esm2020/lib/components/scheduler/enums/scheduler-mode.mjs +6 -0
- package/esm2020/lib/components/scheduler/index.mjs +4 -1
- package/esm2020/lib/components/scheduler/interfaces/index.mjs +6 -0
- package/esm2020/lib/components/scheduler/interfaces/resource-group.mjs +2 -0
- package/esm2020/lib/components/scheduler/interfaces/resource-or-group.mjs +2 -0
- package/esm2020/lib/components/scheduler/interfaces/resource.mjs +2 -0
- package/esm2020/lib/components/scheduler/interfaces/scheduler-schale.mjs +2 -0
- package/esm2020/lib/components/scheduler/interfaces/scheduler-stamp-with-slots.mjs +2 -0
- package/esm2020/lib/components/scheduler/interfaces/timeline-options.mjs +2 -0
- package/esm2020/lib/components/scheduler/interfaces/week-options.mjs +2 -0
- package/esm2020/lib/components/scheduler/pipes/bs-seconds-timespan.pipe/bs-seconds-timespan.pipe.mjs +3 -3
- package/esm2020/lib/components/scheduler/pipes/bs-seconds-today-offset/bs-seconds-today-offset.pipe.mjs +3 -3
- package/esm2020/lib/components/scheduler/pipes/date-offset/date-offset.pipe.mjs +3 -3
- package/esm2020/lib/components/scheduler/pipes/day-of-week/day-of-week.pipe.mjs +3 -3
- package/esm2020/lib/components/scheduler/scheduler.module.mjs +13 -8
- package/esm2020/lib/components/scheduler/services/timeline/timeline.service.mjs +3 -3
- package/esm2020/lib/components/scrollspy/component/scrollspy.component.mjs +3 -3
- package/esm2020/lib/components/scrollspy/directives/scrollspy.directive.mjs +3 -3
- package/esm2020/lib/components/scrollspy/scrollspy.module.mjs +4 -4
- package/esm2020/lib/components/select2/component/select2.component.mjs +3 -3
- package/esm2020/lib/components/select2/directive/item-template.directive.mjs +3 -3
- package/esm2020/lib/components/select2/select2.module.mjs +4 -4
- package/esm2020/lib/components/snackbar/component/snackbar.component.mjs +3 -3
- package/esm2020/lib/components/snackbar/directives/snackbar-close/snackbar-close.directive.mjs +3 -3
- package/esm2020/lib/components/snackbar/service/snackbar.service.mjs +8 -9
- package/esm2020/lib/components/snackbar/snackbar.module.mjs +5 -12
- package/esm2020/lib/components/tab-control/tab-control/tab-control.component.mjs +3 -3
- package/esm2020/lib/components/tab-control/tab-control.module.mjs +4 -4
- package/esm2020/lib/components/tab-control/tab-page/tab-page.component.mjs +3 -3
- package/esm2020/lib/components/timepicker/timepicker.component.mjs +3 -3
- package/esm2020/lib/components/timepicker/timepicker.module.mjs +4 -4
- package/esm2020/lib/components/toggle-button/toggle-button.component.mjs +3 -3
- package/esm2020/lib/components/toggle-button/toggle-button.module.mjs +4 -4
- package/esm2020/lib/components/tooltip/component/tooltip.component.mjs +3 -3
- package/esm2020/lib/components/tooltip/directive/tooltip.directive.mjs +3 -3
- package/esm2020/lib/components/tooltip/tooltip.module.mjs +4 -4
- package/esm2020/lib/components/typeahead/typeahead.component.mjs +3 -3
- package/esm2020/lib/components/typeahead/typeahead.module.mjs +4 -4
- package/esm2020/lib/directives/enhanced-paste/enhanced-paste.directive.mjs +3 -3
- package/esm2020/lib/directives/enhanced-paste/enhanced-paste.module.mjs +4 -4
- package/esm2020/lib/pipes/font-color/font-color.module.mjs +4 -4
- package/esm2020/lib/pipes/font-color/font-color.pipe.mjs +3 -3
- package/esm2020/lib/pipes/format-bytes/format-bytes.module.mjs +4 -4
- package/esm2020/lib/pipes/format-bytes/format-bytes.pipe.mjs +3 -3
- package/esm2020/lib/pipes/in-list/in-list.module.mjs +4 -4
- package/esm2020/lib/pipes/in-list/in-list.pipe.mjs +3 -3
- package/esm2020/lib/pipes/month-name/month-name.module.mjs +4 -4
- package/esm2020/lib/pipes/month-name/month-name.pipe.mjs +3 -3
- package/esm2020/lib/pipes/uc-first/uc-first.module.mjs +4 -4
- package/esm2020/lib/pipes/uc-first/uc-first.pipe.mjs +3 -3
- package/esm2020/lib/pipes/weekday-name/weekday-name.module.mjs +4 -4
- package/esm2020/lib/pipes/weekday-name/weekday-name.pipe.mjs +3 -3
- package/esm2020/lib/services/calendar-month/calendar-month.service.mjs +3 -3
- package/esm2020/lib/services/scroll-offset/scroll-offset.service.mjs +3 -3
- package/fesm2015/mintplayer-ng-bootstrap.mjs +900 -464
- package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap.mjs +898 -464
- package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/lib/components/accordion/accordion/accordion.component.d.ts +3 -1
- package/lib/components/accordion/accordion-tab/accordion-tab.component.d.ts +3 -1
- package/lib/components/calendar/calendar.component.d.ts +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/offcanvas/components/index.d.ts +3 -0
- package/lib/components/offcanvas/components/offcanvas/offcanvas.component.d.ts +21 -0
- package/lib/components/offcanvas/components/offcanvas-body/offcanvas-body.component.d.ts +8 -0
- package/lib/components/offcanvas/components/offcanvas-header/offcanvas-header.component.d.ts +8 -0
- package/lib/components/offcanvas/directives/index.d.ts +1 -0
- package/lib/components/offcanvas/directives/offcanvas-close/offcanvas-close.directive.d.ts +11 -0
- package/lib/components/offcanvas/index.d.ts +6 -0
- package/lib/components/offcanvas/interfaces/index.d.ts +1 -0
- package/lib/components/offcanvas/interfaces/offcanvas-animation-meta.d.ts +7 -0
- package/lib/components/offcanvas/offcanvas.module.d.ts +12 -0
- package/lib/components/offcanvas/providers/offcanvas-content.provider.d.ts +2 -0
- package/lib/components/offcanvas/services/index.d.ts +1 -0
- package/lib/components/offcanvas/services/offcanvas/offcanvas.service.d.ts +13 -0
- package/lib/components/offcanvas/types/index.d.ts +1 -0
- package/lib/components/offcanvas/types/position.d.ts +1 -0
- package/lib/components/scheduler/components/index.d.ts +1 -0
- package/lib/components/scheduler/components/resource-group-presenter/resource-group-presenter.component.d.ts +26 -0
- package/lib/components/scheduler/components/scheduler/scheduler.component.d.ts +32 -11
- package/lib/components/scheduler/constants/available-scales.d.ts +2 -0
- package/lib/components/scheduler/constants/index.d.ts +1 -0
- package/lib/components/scheduler/enums/index.d.ts +1 -0
- package/lib/components/scheduler/enums/scheduler-mode.d.ts +4 -0
- package/lib/components/scheduler/index.d.ts +3 -0
- package/lib/components/scheduler/interfaces/index.d.ts +5 -0
- package/lib/components/scheduler/interfaces/resource-group.d.ts +5 -0
- package/lib/components/scheduler/interfaces/resource-or-group.d.ts +6 -0
- package/lib/components/scheduler/interfaces/resource.d.ts +5 -0
- package/lib/components/scheduler/interfaces/scheduler-schale.d.ts +5 -0
- package/lib/components/scheduler/interfaces/scheduler-stamp-with-slots.d.ts +6 -0
- package/lib/components/scheduler/interfaces/timeline-options.d.ts +3 -0
- package/lib/components/scheduler/interfaces/week-options.d.ts +3 -0
- package/lib/components/scheduler/scheduler.module.d.ts +3 -2
- package/lib/components/snackbar/service/snackbar.service.d.ts +2 -3
- package/package.json +1 -1
- package/src/styles/custom.scss +4 -0
- package/src/styles/utilities/overflow.scss +10 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './position';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9vZmZjYW52YXMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Bvc2l0aW9uJzsiXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9vZmZjYW52YXMvdHlwZXMvcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE9mZmNhbnZhc1Bvc2l0aW9uID0gJ3RvcCcgfCAnYm90dG9tJyB8ICdzdGFydCcgfCAnZW5kJzsiXX0=
|
|
@@ -144,9 +144,9 @@ export class BsPaginationComponent {
|
|
|
144
144
|
return false;
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
|
-
BsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
148
|
-
BsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.
|
|
149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
147
|
+
BsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
148
|
+
BsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BsPaginationComponent, selector: "bs-pagination", inputs: { selectedPageNumber: "selectedPageNumber", numberOfBoxes: "numberOfBoxes", pageNumbers: "pageNumbers", showArrows: "showArrows" }, outputs: { selectedPageNumberChange: "selectedPageNumberChange" }, ngImport: i0, template: "<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isFirstPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">«</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async)\" class=\"page-item\"\n [ngClass]=\"{ 'active': pageNumber.selected }\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\" *ngIf=\"pageNumber.page != '...'\">\n {{ pageNumber.page }}\n <span class=\"visually-hidden\" *ngIf=\"pageNumber.selected\">(current)</span>\n </a>\n </li>\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isLastPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" aria-label=\"Next\">\n <span aria-hidden=\"true\">»</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>", styles: [":host{display:inline-block}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1.AsyncPipe } });
|
|
149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationComponent, decorators: [{
|
|
150
150
|
type: Component,
|
|
151
151
|
args: [{ selector: 'bs-pagination', template: "<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isFirstPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">«</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async)\" class=\"page-item\"\n [ngClass]=\"{ 'active': pageNumber.selected }\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\" *ngIf=\"pageNumber.page != '...'\">\n {{ pageNumber.page }}\n <span class=\"visually-hidden\" *ngIf=\"pageNumber.selected\">(current)</span>\n </a>\n </li>\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isLastPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" aria-label=\"Next\">\n <span aria-hidden=\"true\">»</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>", styles: [":host{display:inline-block}\n"] }]
|
|
152
152
|
}], ctorParameters: function () { return []; }, propDecorators: { selectedPageNumberChange: [{
|
|
@@ -4,12 +4,12 @@ import { BsPaginationComponent } from './pagination/pagination.component';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class BsPaginationModule {
|
|
6
6
|
}
|
|
7
|
-
BsPaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
8
|
-
BsPaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.
|
|
9
|
-
BsPaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.
|
|
7
|
+
BsPaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
BsPaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationModule, declarations: [BsPaginationComponent], imports: [CommonModule], exports: [BsPaginationComponent] });
|
|
9
|
+
BsPaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationModule, imports: [[
|
|
10
10
|
CommonModule
|
|
11
11
|
]] });
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
declarations: [
|
|
@@ -8,9 +8,9 @@ export class BsProgressComponent {
|
|
|
8
8
|
this.isIndeterminate = false;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
BsProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
12
|
-
BsProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
11
|
+
BsProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
BsProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BsProgressComponent, selector: "bs-progress", inputs: { height: "height", isIndeterminate: "isIndeterminate" }, host: { properties: { "class.progress": "this.progressClass", "style.height.px": "this.height" } }, ngImport: i0, template: "<ng-content *ngIf=\"!isIndeterminate\"></ng-content>\n<div *ngIf=\"isIndeterminate\" class=\"progress-bar progress-bar-infinite\" role=\"progressbar\" aria-valuenow=\"infinite\"></div>", styles: ["@keyframes progress-infinite{0%{width:10%;margin-left:0%}25%{width:70%;margin-left:15%}50%{width:10%;margin-left:90%}75%{width:70%;margin-left:15%}to{width:10%;margin-left:0%}}.progress-bar-infinite{animation:progress-infinite 1.5s infinite}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
15
|
args: [{ selector: 'bs-progress', template: "<ng-content *ngIf=\"!isIndeterminate\"></ng-content>\n<div *ngIf=\"isIndeterminate\" class=\"progress-bar progress-bar-infinite\" role=\"progressbar\" aria-valuenow=\"infinite\"></div>", styles: ["@keyframes progress-infinite{0%{width:10%;margin-left:0%}25%{width:70%;margin-left:15%}50%{width:10%;margin-left:90%}75%{width:70%;margin-left:15%}to{width:10%;margin-left:0%}}.progress-bar-infinite{animation:progress-infinite 1.5s infinite}\n"] }]
|
|
16
16
|
}], propDecorators: { progressClass: [{
|
|
@@ -73,9 +73,9 @@ export class BsProgressBarComponent {
|
|
|
73
73
|
this.destroyed$.next(true);
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
-
BsProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
77
|
-
BsProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
76
|
+
BsProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
77
|
+
BsProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BsProgressBarComponent, selector: "bs-progress-bar", inputs: { minimum: "minimum", maximum: "maximum", value: "value", color: "color", striped: "striped", animated: "animated" }, host: { properties: { "class.progress-bar-striped": "this.striped", "class.progress-bar-animated": "this.animated", "class.progress-bar": "this.progressBar", "class": "this.colorClass", "style.width": "this.widthStyle", "attr.role": "this.role", "attr.aria-valuenow": "this.valueNow", "attr.aria-valuemin": "this.valueMin", "attr.aria-valuemax": "this.valueMax" } }, ngImport: i0, template: "", styles: [""] });
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarComponent, decorators: [{
|
|
79
79
|
type: Component,
|
|
80
80
|
args: [{ selector: 'bs-progress-bar', template: "", styles: [""] }]
|
|
81
81
|
}], ctorParameters: function () { return []; }, propDecorators: { minimum: [{
|
|
@@ -5,14 +5,14 @@ import { BsProgressBarComponent } from './progress-bar/progress-bar.component';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class BsProgressBarModule {
|
|
7
7
|
}
|
|
8
|
-
BsProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
9
|
-
BsProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.
|
|
8
|
+
BsProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
BsProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarModule, declarations: [BsProgressBarComponent,
|
|
10
10
|
BsProgressComponent], imports: [CommonModule], exports: [BsProgressBarComponent,
|
|
11
11
|
BsProgressComponent] });
|
|
12
|
-
BsProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.
|
|
12
|
+
BsProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarModule, imports: [[
|
|
13
13
|
CommonModule
|
|
14
14
|
]] });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarModule, decorators: [{
|
|
16
16
|
type: NgModule,
|
|
17
17
|
args: [{
|
|
18
18
|
declarations: [
|
|
@@ -52,9 +52,9 @@ export class BsRatingComponent {
|
|
|
52
52
|
this.previewValue$.next(null);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
BsRatingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
56
|
-
BsRatingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
55
|
+
BsRatingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
+
BsRatingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BsRatingComponent, selector: "bs-rating", inputs: { maximum: "maximum", value: "value" }, outputs: { valueChange: "valueChange", starsChange: "starsChange" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, ngImport: i0, template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '★' : '☆' }}\n</span>", styles: [""], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingComponent, decorators: [{
|
|
58
58
|
type: Component,
|
|
59
59
|
args: [{ selector: 'bs-rating', template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '★' : '☆' }}\n</span>", styles: [""] }]
|
|
60
60
|
}], ctorParameters: function () { return []; }, propDecorators: { maximum: [{
|
|
@@ -4,12 +4,12 @@ import { BsRatingComponent } from './rating.component';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class BsRatingModule {
|
|
6
6
|
}
|
|
7
|
-
BsRatingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
8
|
-
BsRatingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.
|
|
9
|
-
BsRatingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.
|
|
7
|
+
BsRatingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
BsRatingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingModule, declarations: [BsRatingComponent], imports: [CommonModule], exports: [BsRatingComponent] });
|
|
9
|
+
BsRatingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingModule, imports: [[
|
|
10
10
|
CommonModule
|
|
11
11
|
]] });
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
declarations: [
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './scheduler/scheduler.component';
|
|
2
|
-
|
|
2
|
+
export * from './resource-group-presenter/resource-group-presenter.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9zY2hlZHVsZXIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0RBQStELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlci9zY2hlZHVsZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyL3Jlc291cmNlLWdyb3VwLXByZXNlbnRlci5jb21wb25lbnQnOyJdfQ==
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, filter, map, Subject, take } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class ResourceGroupPresenterComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.level = 0;
|
|
8
|
+
this.resourceOrGroup$ = new BehaviorSubject(null);
|
|
9
|
+
this.timeSlots$ = new BehaviorSubject([]);
|
|
10
|
+
this.isExpanded$ = new BehaviorSubject(false);
|
|
11
|
+
this.destroyed$ = new Subject();
|
|
12
|
+
this.data$ = this.resourceOrGroup$
|
|
13
|
+
.pipe(map((resourceOrGroup) => {
|
|
14
|
+
if (!resourceOrGroup) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
else if ('children' in resourceOrGroup) {
|
|
18
|
+
return {
|
|
19
|
+
resource: null,
|
|
20
|
+
resourceGroup: resourceOrGroup
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return {
|
|
25
|
+
resource: resourceOrGroup,
|
|
26
|
+
resourceGroup: null
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}))
|
|
30
|
+
.pipe(filter((resourceOrGroup) => !!resourceOrGroup))
|
|
31
|
+
.pipe(map((resourceOrGroup) => resourceOrGroup));
|
|
32
|
+
this.colSpan$ = this.timeSlots$
|
|
33
|
+
.pipe(map(timeSlots => timeSlots
|
|
34
|
+
.map(timeslot => timeslot.slots.length)
|
|
35
|
+
.reduce((sum, current) => sum + current, 0)));
|
|
36
|
+
}
|
|
37
|
+
//#region resourceOrGroup
|
|
38
|
+
get resourceOrGroup() {
|
|
39
|
+
return this.resourceOrGroup$.value;
|
|
40
|
+
}
|
|
41
|
+
set resourceGroup(value) {
|
|
42
|
+
this.resourceOrGroup$.next(value);
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region timeSlots
|
|
46
|
+
get timeSlots() {
|
|
47
|
+
return this.timeSlots$.value;
|
|
48
|
+
}
|
|
49
|
+
set timeSlots(value) {
|
|
50
|
+
this.timeSlots$.next(value);
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region isExpanded
|
|
54
|
+
get isExpanded() {
|
|
55
|
+
return this.isExpanded$.value;
|
|
56
|
+
}
|
|
57
|
+
set isExpanded(value) {
|
|
58
|
+
this.isExpanded$.next(value);
|
|
59
|
+
}
|
|
60
|
+
//#endregion
|
|
61
|
+
toggleExpanded() {
|
|
62
|
+
this.isExpanded$.pipe(take(1)).subscribe((isExpanded) => {
|
|
63
|
+
this.isExpanded$.next(!isExpanded);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
ngOnDestroy() {
|
|
67
|
+
this.destroyed$.next(true);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
ResourceGroupPresenterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ResourceGroupPresenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
+
ResourceGroupPresenterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: { level: "level", resourceGroup: "resourceGroup", timeSlots: "timeSlots", isExpanded: "isExpanded" }, ngImport: i0, template: "<ng-container *ngIf=\"(data$ | async) as data\">\n\n <!-- Data is a resource group -->\n <ng-container *ngIf=\"data.resourceGroup\">\n <!-- Header -->\n <tr class=\"p-0 cursor-pointer\" *ngIf=\"(timeSlots$ | async) as timeSlots\" [title]=\"data.resourceGroup.description\">\n <ng-container *ngIf=\"(colSpan$ | async) as colspan\">\n <td class=\"p-2 cursor-pointer\" [colSpan]=\"colspan + 1\" (click)=\"toggleExpanded()\">\n <span class=\"p-2 align-middle position-sticky\">\n <i class=\"bi bi-chevron-down\" [style.padding-left.px]=\"level * 20\" *ngIf=\"isExpanded$ | async\"></i>\n <i class=\"bi bi-chevron-right\" [style.padding-left.px]=\"level * 20\" *ngIf=\"(isExpanded$ | async) === false\"></i>\n {{ data.resourceGroup.description }}\n </span>\n </td>\n </ng-container>\n </tr>\n\n <!-- Subgroups or resources -->\n <ng-container *ngIf=\"isExpanded$ | async\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <ng-container *ngFor=\"let child of data.resourceGroup.children\">\n <bs-resource-group-presenter [resourceGroup]=\"child\" [timeSlots]=\"timeSlots\" [level]=\"level + 1\"></bs-resource-group-presenter>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Data is a resource -->\n <tr *ngIf=\"data.resource\" class=\"p-0 bordered\" [title]=\"data.resource.description\">\n <td class=\"p-0 bg-white\">\n <div class=\"p-2\">{{ data.resource.description }}</div>\n </td>\n <ng-container *ngFor=\"let slots of (timeSlots$ | async)\">\n <td class=\"bg-white border-1\" *ngFor=\"let slot of slots.slots\">\n <!-- {{ slot.start | date: 'dd/MM/yyyy HH:mm:ss' }} -->\n </td>\n </ng-container>\n </tr>\n</ng-container>", styles: [":host{display:contents}tr{border-bottom-width:1px}tr:not(.bordered) td span.position-sticky{left:0;right:0}\n"], components: [{ type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: ["level", "resourceGroup", "timeSlots", "isExpanded"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ResourceGroupPresenterComponent, decorators: [{
|
|
73
|
+
type: Component,
|
|
74
|
+
args: [{ selector: 'bs-resource-group-presenter', template: "<ng-container *ngIf=\"(data$ | async) as data\">\n\n <!-- Data is a resource group -->\n <ng-container *ngIf=\"data.resourceGroup\">\n <!-- Header -->\n <tr class=\"p-0 cursor-pointer\" *ngIf=\"(timeSlots$ | async) as timeSlots\" [title]=\"data.resourceGroup.description\">\n <ng-container *ngIf=\"(colSpan$ | async) as colspan\">\n <td class=\"p-2 cursor-pointer\" [colSpan]=\"colspan + 1\" (click)=\"toggleExpanded()\">\n <span class=\"p-2 align-middle position-sticky\">\n <i class=\"bi bi-chevron-down\" [style.padding-left.px]=\"level * 20\" *ngIf=\"isExpanded$ | async\"></i>\n <i class=\"bi bi-chevron-right\" [style.padding-left.px]=\"level * 20\" *ngIf=\"(isExpanded$ | async) === false\"></i>\n {{ data.resourceGroup.description }}\n </span>\n </td>\n </ng-container>\n </tr>\n\n <!-- Subgroups or resources -->\n <ng-container *ngIf=\"isExpanded$ | async\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <ng-container *ngFor=\"let child of data.resourceGroup.children\">\n <bs-resource-group-presenter [resourceGroup]=\"child\" [timeSlots]=\"timeSlots\" [level]=\"level + 1\"></bs-resource-group-presenter>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Data is a resource -->\n <tr *ngIf=\"data.resource\" class=\"p-0 bordered\" [title]=\"data.resource.description\">\n <td class=\"p-0 bg-white\">\n <div class=\"p-2\">{{ data.resource.description }}</div>\n </td>\n <ng-container *ngFor=\"let slots of (timeSlots$ | async)\">\n <td class=\"bg-white border-1\" *ngFor=\"let slot of slots.slots\">\n <!-- {{ slot.start | date: 'dd/MM/yyyy HH:mm:ss' }} -->\n </td>\n </ng-container>\n </tr>\n</ng-container>", styles: [":host{display:contents}tr{border-bottom-width:1px}tr:not(.bordered) td span.position-sticky{left:0;right:0}\n"] }]
|
|
75
|
+
}], ctorParameters: function () { return []; }, propDecorators: { level: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], resourceGroup: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], timeSlots: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], isExpanded: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}] } });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3NjaGVkdWxlci9jb21wb25lbnRzL3Jlc291cmNlLWdyb3VwLXByZXNlbnRlci9yZXNvdXJjZS1ncm91cC1wcmVzZW50ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvc2NoZWR1bGVyL2NvbXBvbmVudHMvcmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyL3Jlc291cmNlLWdyb3VwLXByZXNlbnRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsT0FBTyxFQUFFLElBQUksRUFBYSxNQUFNLE1BQU0sQ0FBQzs7O0FBWTFGLE1BQU0sT0FBTywrQkFBK0I7SUFFMUM7UUEyQlMsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNuQixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBa0MsSUFBSSxDQUFDLENBQUM7UUFDOUUsZUFBVSxHQUFHLElBQUksZUFBZSxDQUE0QixFQUFFLENBQUMsQ0FBQztRQUNoRSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBR2xELGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBaEN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0I7YUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU0sSUFBSSxVQUFVLElBQUksZUFBZSxFQUFFO2dCQUN4QyxPQUF3QjtvQkFDdEIsUUFBUSxFQUFFLElBQUk7b0JBQ2QsYUFBYSxFQUFFLGVBQWU7aUJBQy9CLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxPQUF3QjtvQkFDdEIsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLGFBQWEsRUFBRSxJQUFJO2lCQUNwQixDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQzthQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBa0IsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVO2FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTO2FBQzdCLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3RDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQzVDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFVRCx5QkFBeUI7SUFDekIsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBb0IsYUFBYSxDQUFDLEtBQXNDO1FBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELFlBQVk7SUFFWixtQkFBbUI7SUFDbkIsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQW9CLFNBQVMsQ0FBQyxLQUFnQztRQUM1RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsWUFBWTtJQUVaLG9CQUFvQjtJQUNwQixJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBb0IsVUFBVSxDQUFDLEtBQWM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELFlBQVk7SUFFWixjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7NEhBeEVVLCtCQUErQjtnSEFBL0IsK0JBQStCLGlMQ2I1QyxvL0RBc0NlLGtKRHpCRiwrQkFBK0I7MkZBQS9CLCtCQUErQjtrQkFOM0MsU0FBUzsrQkFDRSw2QkFBNkI7MEVBa0M5QixLQUFLO3NCQUFiLEtBQUs7Z0JBWWMsYUFBYTtzQkFBaEMsS0FBSztnQkFTYyxTQUFTO3NCQUE1QixLQUFLO2dCQVNjLFVBQVU7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzb3VyY2UsIFJlc291cmNlR3JvdXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFJlc291cmNlT3JHcm91cCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVzb3VyY2Utb3ItZ3JvdXAnO1xuaW1wb3J0IHsgU2NoZWR1bGVyU3RhbXBXaXRoU2xvdHMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjaGVkdWxlci1zdGFtcC13aXRoLXNsb3RzJztcbmltcG9ydCB7IFRpbWVTbG90IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy90aW1lLXNsb3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1yZXNvdXJjZS1ncm91cC1wcmVzZW50ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIFxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZUdyb3VwUHJlc2VudGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGF0YSQgPSB0aGlzLnJlc291cmNlT3JHcm91cCRcbiAgICAgIC5waXBlKG1hcCgocmVzb3VyY2VPckdyb3VwKSA9PiB7XG4gICAgICAgIGlmICghcmVzb3VyY2VPckdyb3VwKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAoJ2NoaWxkcmVuJyBpbiByZXNvdXJjZU9yR3JvdXApIHtcbiAgICAgICAgICByZXR1cm4gPFJlc291cmNlT3JHcm91cD57XG4gICAgICAgICAgICByZXNvdXJjZTogbnVsbCxcbiAgICAgICAgICAgIHJlc291cmNlR3JvdXA6IHJlc291cmNlT3JHcm91cFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIDxSZXNvdXJjZU9yR3JvdXA+e1xuICAgICAgICAgICAgcmVzb3VyY2U6IHJlc291cmNlT3JHcm91cCxcbiAgICAgICAgICAgIHJlc291cmNlR3JvdXA6IG51bGxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KSlcbiAgICAgIC5waXBlKGZpbHRlcigocmVzb3VyY2VPckdyb3VwKSA9PiAhIXJlc291cmNlT3JHcm91cCkpXG4gICAgICAucGlwZShtYXAoKHJlc291cmNlT3JHcm91cCkgPT4gPFJlc291cmNlT3JHcm91cD5yZXNvdXJjZU9yR3JvdXApKTtcblxuICAgIHRoaXMuY29sU3BhbiQgPSB0aGlzLnRpbWVTbG90cyRcbiAgICAgIC5waXBlKG1hcCh0aW1lU2xvdHMgPT4gdGltZVNsb3RzXG4gICAgICAgIC5tYXAodGltZXNsb3QgPT4gdGltZXNsb3Quc2xvdHMubGVuZ3RoKVxuICAgICAgICAucmVkdWNlKChzdW0sIGN1cnJlbnQpID0+IHN1bSArIGN1cnJlbnQsIDApXG4gICAgICApKTtcbiAgfVxuXG4gIEBJbnB1dCgpIGxldmVsID0gMDtcbiAgcmVzb3VyY2VPckdyb3VwJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVzb3VyY2UgfCBSZXNvdXJjZUdyb3VwIHwgbnVsbD4obnVsbCk7XG4gIHRpbWVTbG90cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNjaGVkdWxlclN0YW1wV2l0aFNsb3RzW10+KFtdKTtcbiAgaXNFeHBhbmRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZGF0YSQ6IE9ic2VydmFibGU8UmVzb3VyY2VPckdyb3VwPjtcbiAgY29sU3BhbiQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgLy8jcmVnaW9uIHJlc291cmNlT3JHcm91cFxuICBwdWJsaWMgZ2V0IHJlc291cmNlT3JHcm91cCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZU9yR3JvdXAkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgcmVzb3VyY2VHcm91cCh2YWx1ZTogUmVzb3VyY2UgfCBSZXNvdXJjZUdyb3VwIHwgbnVsbCkge1xuICAgIHRoaXMucmVzb3VyY2VPckdyb3VwJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gdGltZVNsb3RzXG4gIHB1YmxpYyBnZXQgdGltZVNsb3RzKCkge1xuICAgIHJldHVybiB0aGlzLnRpbWVTbG90cyQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCB0aW1lU2xvdHModmFsdWU6IFNjaGVkdWxlclN0YW1wV2l0aFNsb3RzW10pIHtcbiAgICB0aGlzLnRpbWVTbG90cyQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIGlzRXhwYW5kZWRcbiAgcHVibGljIGdldCBpc0V4cGFuZGVkKCkge1xuICAgIHJldHVybiB0aGlzLmlzRXhwYW5kZWQkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgaXNFeHBhbmRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNFeHBhbmRlZCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgdG9nZ2xlRXhwYW5kZWQoKSB7XG4gICAgdGhpcy5pc0V4cGFuZGVkJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoaXNFeHBhbmRlZCkgPT4ge1xuICAgICAgdGhpcy5pc0V4cGFuZGVkJC5uZXh0KCFpc0V4cGFuZGVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KHRydWUpO1xuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIoZGF0YSQgfCBhc3luYykgYXMgZGF0YVwiPlxuXG4gICAgPCEtLSBEYXRhIGlzIGEgcmVzb3VyY2UgZ3JvdXAgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEucmVzb3VyY2VHcm91cFwiPlxuICAgICAgICA8IS0tIEhlYWRlciAtLT5cbiAgICAgICAgPHRyIGNsYXNzPVwicC0wIGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCIodGltZVNsb3RzJCB8IGFzeW5jKSBhcyB0aW1lU2xvdHNcIiBbdGl0bGVdPVwiZGF0YS5yZXNvdXJjZUdyb3VwLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGNvbFNwYW4kIHwgYXN5bmMpIGFzIGNvbHNwYW5cIj5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJwLTIgY3Vyc29yLXBvaW50ZXJcIiBbY29sU3Bhbl09XCJjb2xzcGFuICsgMVwiIChjbGljayk9XCJ0b2dnbGVFeHBhbmRlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC0yIGFsaWduLW1pZGRsZSBwb3NpdGlvbi1zdGlja3lcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktY2hldnJvbi1kb3duXCIgW3N0eWxlLnBhZGRpbmctbGVmdC5weF09XCJsZXZlbCAqIDIwXCIgKm5nSWY9XCJpc0V4cGFuZGVkJCB8IGFzeW5jXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1jaGV2cm9uLXJpZ2h0XCIgW3N0eWxlLnBhZGRpbmctbGVmdC5weF09XCJsZXZlbCAqIDIwXCIgKm5nSWY9XCIoaXNFeHBhbmRlZCQgfCBhc3luYykgPT09IGZhbHNlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZGF0YS5yZXNvdXJjZUdyb3VwLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdHI+XG5cbiAgICAgICAgPCEtLSBTdWJncm91cHMgb3IgcmVzb3VyY2VzIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFeHBhbmRlZCQgfCBhc3luY1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIih0aW1lU2xvdHMkIHwgYXN5bmMpIGFzIHRpbWVTbG90c1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGRhdGEucmVzb3VyY2VHcm91cC5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICA8YnMtcmVzb3VyY2UtZ3JvdXAtcHJlc2VudGVyIFtyZXNvdXJjZUdyb3VwXT1cImNoaWxkXCIgW3RpbWVTbG90c109XCJ0aW1lU2xvdHNcIiBbbGV2ZWxdPVwibGV2ZWwgKyAxXCI+PC9icy1yZXNvdXJjZS1ncm91cC1wcmVzZW50ZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIERhdGEgaXMgYSByZXNvdXJjZSAtLT5cbiAgICA8dHIgKm5nSWY9XCJkYXRhLnJlc291cmNlXCIgY2xhc3M9XCJwLTAgYm9yZGVyZWRcIiBbdGl0bGVdPVwiZGF0YS5yZXNvdXJjZS5kZXNjcmlwdGlvblwiPlxuICAgICAgICA8dGQgY2xhc3M9XCJwLTAgYmctd2hpdGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTJcIj57eyBkYXRhLnJlc291cmNlLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNsb3RzIG9mICh0aW1lU2xvdHMkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJiZy13aGl0ZSBib3JkZXItMVwiICpuZ0Zvcj1cImxldCBzbG90IG9mIHNsb3RzLnNsb3RzXCI+XG4gICAgICAgICAgICAgICAgPCEtLSB7eyBzbG90LnN0YXJ0IHwgZGF0ZTogJ2RkL01NL3l5eXkgSEg6bW06c3MnIH19IC0tPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90cj5cbjwvbmctY29udGFpbmVyPiJdfQ==
|