@mintplayer/ng-bootstrap 13.1.2 → 13.1.7
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/esm2020/index.mjs +2 -1
- package/esm2020/lib/components/calendar/calendar.component.mjs +77 -34
- package/esm2020/lib/components/card/card/card.component.mjs +1 -2
- package/esm2020/lib/components/carousel/carousel/carousel.component.mjs +11 -7
- package/esm2020/lib/components/carousel/carousel-image/carousel-image.directive.mjs +10 -7
- package/esm2020/lib/components/datatable/datatable/datatable.component.mjs +51 -0
- package/esm2020/lib/components/datatable/datatable-column/datatable-column-metadata.mjs +2 -0
- package/esm2020/lib/components/datatable/datatable-column/datatable-column.directive.mjs +19 -0
- package/esm2020/lib/components/datatable/datatable-settings.mjs +37 -0
- package/esm2020/lib/components/datatable/datatable.module.mjs +40 -0
- package/esm2020/lib/components/datatable/index.mjs +6 -0
- package/esm2020/lib/components/datatable/row-template/row-template.directive.mjs +19 -0
- package/esm2020/lib/components/datepicker/datepicker.component.mjs +22 -0
- package/esm2020/lib/components/datepicker/datepicker.module.mjs +34 -0
- package/esm2020/lib/components/datepicker/index.mjs +3 -0
- package/esm2020/lib/components/dropdown/dropdown/dropdown.directive.mjs +31 -0
- package/esm2020/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.mjs +64 -0
- package/esm2020/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.mjs +29 -0
- package/esm2020/lib/components/dropdown/dropdown.module.mjs +40 -0
- package/esm2020/lib/components/dropdown/index.mjs +5 -0
- package/esm2020/lib/components/index.mjs +6 -1
- package/esm2020/lib/components/multiselect/index.mjs +3 -0
- package/esm2020/lib/components/multiselect/multiselect.component.mjs +33 -0
- package/esm2020/lib/components/multiselect/multiselect.module.mjs +30 -0
- package/esm2020/lib/components/navbar/nav-link/nav-link.directive.mjs +1 -1
- package/esm2020/lib/components/navbar/navbar/navbar.component.mjs +2 -2
- package/esm2020/lib/components/pagination/pagination/pagination.component.mjs +146 -0
- package/esm2020/lib/components/pagination/pagination.module.mjs +26 -0
- package/esm2020/lib/components/scrollspy/component/scrollspy.component.mjs +48 -0
- package/esm2020/lib/components/scrollspy/directives/scrollspy.directive.mjs +16 -0
- package/esm2020/lib/components/scrollspy/index.mjs +4 -0
- package/esm2020/lib/components/scrollspy/scrollspy.module.mjs +31 -0
- package/esm2020/lib/interfaces/index.mjs +2 -0
- package/esm2020/lib/interfaces/page-with-selection.mjs +2 -0
- package/esm2020/lib/pipes/month-name/month-name.pipe.mjs +7 -2
- package/esm2020/lib/types/page-number.type.mjs +2 -0
- package/fesm2015/mintplayer-ng-bootstrap.mjs +743 -56
- package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap.mjs +739 -56
- package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/components/calendar/calendar.component.d.ts +21 -13
- package/lib/components/carousel/carousel/carousel.component.d.ts +4 -3
- package/lib/components/carousel/carousel-image/carousel-image.directive.d.ts +5 -2
- package/lib/components/datatable/datatable/datatable.component.d.ts +17 -0
- package/lib/components/datatable/datatable-column/datatable-column-metadata.d.ts +4 -0
- package/lib/components/datatable/datatable-column/datatable-column.directive.d.ts +10 -0
- package/lib/components/datatable/datatable-settings.d.ts +15 -0
- package/lib/components/datatable/datatable.module.d.ts +11 -0
- package/lib/components/datatable/index.d.ts +5 -0
- package/lib/components/datatable/row-template/row-template.directive.d.ts +9 -0
- package/lib/components/datepicker/datepicker.component.d.ts +10 -0
- package/lib/components/datepicker/datepicker.module.d.ts +10 -0
- package/lib/components/datepicker/index.d.ts +2 -0
- package/lib/components/dropdown/dropdown/dropdown.directive.d.ts +13 -0
- package/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +17 -0
- package/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.d.ts +11 -0
- package/lib/components/dropdown/dropdown.module.d.ts +11 -0
- package/lib/components/dropdown/index.d.ts +4 -0
- package/lib/components/index.d.ts +5 -0
- package/lib/components/multiselect/index.d.ts +2 -0
- package/lib/components/multiselect/multiselect.component.d.ts +11 -0
- package/lib/components/multiselect/multiselect.module.d.ts +9 -0
- package/lib/components/pagination/pagination/pagination.component.d.ts +45 -0
- package/lib/components/pagination/pagination.module.d.ts +8 -0
- package/lib/components/scrollspy/component/scrollspy.component.d.ts +15 -0
- package/lib/components/scrollspy/directives/scrollspy.directive.d.ts +8 -0
- package/lib/components/scrollspy/index.d.ts +3 -0
- package/lib/components/scrollspy/scrollspy.module.d.ts +9 -0
- package/lib/interfaces/index.d.ts +1 -0
- package/lib/interfaces/page-with-selection.d.ts +5 -0
- package/lib/pipes/month-name/month-name.pipe.d.ts +1 -1
- package/lib/types/page-number.type.d.ts +1 -0
- package/package.json +3 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../calendar/calendar.component";
|
|
4
|
+
import * as i2 from "../dropdown/dropdown/dropdown.directive";
|
|
5
|
+
import * as i3 from "../dropdown/dropdown-toggle/dropdown-toggle.directive";
|
|
6
|
+
import * as i4 from "../dropdown/dropdown-menu/dropdown-menu.directive";
|
|
7
|
+
import * as i5 from "@angular/common";
|
|
8
|
+
export class BsDatepickerComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.selectedDate = new Date();
|
|
11
|
+
this.currentMonth = new Date();
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
BsDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
BsDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsDatepickerComponent, selector: "bs-datepicker", ngImport: i0, template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">{{ selectedDate | date }}</button>\n <div *bsDropdownMenu>\n <bs-calendar [(selectedDate)]=\"selectedDate\" [(currentMonth)]=\"currentMonth\"></bs-calendar>\n </div>\n</div>", styles: [""], components: [{ type: i1.BsCalendarComponent, selector: "bs-calendar", inputs: ["currentMonth", "selectedDate"], outputs: ["currentMonthChange", "selectedDateChange"] }], directives: [{ type: i2.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "closeOnClickOutside"] }, { type: i3.BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { type: i4.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }], pipes: { "date": i5.DatePipe } });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: 'bs-datepicker', template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">{{ selectedDate | date }}</button>\n <div *bsDropdownMenu>\n <bs-calendar [(selectedDate)]=\"selectedDate\" [(currentMonth)]=\"currentMonth\"></bs-calendar>\n </div>\n</div>", styles: [""] }]
|
|
21
|
+
}], ctorParameters: function () { return []; } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFPbEQsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQztRQUNFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUtELFFBQVE7SUFDUixDQUFDOztrSEFYVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixxRENQbEMsMlRBS007MkZERU8scUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1kYXRlcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNEYXRlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgdGhpcy5jdXJyZW50TW9udGggPSBuZXcgRGF0ZSgpO1xuICB9XG5cbiAgc2VsZWN0ZWREYXRlOiBEYXRlO1xuICBjdXJyZW50TW9udGg6IERhdGU7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxufVxuIiwiPGRpdiBic0Ryb3Bkb3duIFtoYXNCYWNrZHJvcF09XCJ0cnVlXCIgW2Nsb3NlT25DbGlja091dHNpZGVdPVwidHJ1ZVwiPlxuICAgIDxidXR0b24gYnNEcm9wZG93blRvZ2dsZSBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPnt7IHNlbGVjdGVkRGF0ZSB8IGRhdGUgfX08L2J1dHRvbj5cbiAgICA8ZGl2ICpic0Ryb3Bkb3duTWVudT5cbiAgICAgICAgPGJzLWNhbGVuZGFyIFsoc2VsZWN0ZWREYXRlKV09XCJzZWxlY3RlZERhdGVcIiBbKGN1cnJlbnRNb250aCldPVwiY3VycmVudE1vbnRoXCI+PC9icy1jYWxlbmRhcj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { BsDatepickerComponent } from './datepicker.component';
|
|
4
|
+
import { BsCalendarModule } from '../calendar/calendar.module';
|
|
5
|
+
import { BsDropdownModule } from '../dropdown/dropdown.module';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class BsDatepickerModule {
|
|
8
|
+
}
|
|
9
|
+
BsDatepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
BsDatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerModule, declarations: [BsDatepickerComponent], imports: [CommonModule,
|
|
11
|
+
BsCalendarModule,
|
|
12
|
+
BsDropdownModule], exports: [BsDatepickerComponent] });
|
|
13
|
+
BsDatepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerModule, imports: [[
|
|
14
|
+
CommonModule,
|
|
15
|
+
BsCalendarModule,
|
|
16
|
+
BsDropdownModule
|
|
17
|
+
]] });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerModule, decorators: [{
|
|
19
|
+
type: NgModule,
|
|
20
|
+
args: [{
|
|
21
|
+
declarations: [
|
|
22
|
+
BsDatepickerComponent
|
|
23
|
+
],
|
|
24
|
+
imports: [
|
|
25
|
+
CommonModule,
|
|
26
|
+
BsCalendarModule,
|
|
27
|
+
BsDropdownModule
|
|
28
|
+
],
|
|
29
|
+
exports: [
|
|
30
|
+
BsDatepickerComponent
|
|
31
|
+
]
|
|
32
|
+
}]
|
|
33
|
+
}] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQWlCL0QsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQVgzQixxQkFBcUIsYUFHckIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixnQkFBZ0IsYUFHaEIscUJBQXFCO2dIQUdaLGtCQUFrQixZQVRwQjtZQUNQLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1NBQ2pCOzJGQUtVLGtCQUFrQjtrQkFiOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjtxQkFDdEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJzRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNDYWxlbmRhck1vZHVsZSB9IGZyb20gJy4uL2NhbGVuZGFyL2NhbGVuZGFyLm1vZHVsZSc7XG5pbXBvcnQgeyBCc0Ryb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi4vZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJzRGF0ZXBpY2tlckNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJzQ2FsZW5kYXJNb2R1bGUsXG4gICAgQnNEcm9wZG93bk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQnNEYXRlcGlja2VyQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnNEYXRlcGlja2VyTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './datepicker.component';
|
|
2
|
+
export * from './datepicker.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9kYXRlcGlja2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlcGlja2VyLm1vZHVsZSc7Il19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ContentChild, Directive, Input } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { BsDropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';
|
|
4
|
+
import { BsDropdownToggleDirective } from '../dropdown-toggle/dropdown-toggle.directive';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class BsDropdownDirective {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.isOpen$ = new BehaviorSubject(false);
|
|
9
|
+
this.hasBackdrop = false;
|
|
10
|
+
this.closeOnClickOutside = false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
BsDropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
+
BsDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsDropdownDirective, selector: "[bsDropdown]", inputs: { hasBackdrop: "hasBackdrop", closeOnClickOutside: "closeOnClickOutside" }, queries: [{ propertyName: "menu", first: true, predicate: BsDropdownMenuDirective, descendants: true }, { propertyName: "toggle", first: true, predicate: BsDropdownToggleDirective, descendants: true }], ngImport: i0 });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownDirective, decorators: [{
|
|
16
|
+
type: Directive,
|
|
17
|
+
args: [{
|
|
18
|
+
selector: '[bsDropdown]'
|
|
19
|
+
}]
|
|
20
|
+
}], propDecorators: { menu: [{
|
|
21
|
+
type: ContentChild,
|
|
22
|
+
args: [BsDropdownMenuDirective, { static: false }]
|
|
23
|
+
}], toggle: [{
|
|
24
|
+
type: ContentChild,
|
|
25
|
+
args: [BsDropdownToggleDirective, { static: false }]
|
|
26
|
+
}], hasBackdrop: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], closeOnClickOutside: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24vZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQUt6RixNQUFNLE9BQU8sbUJBQW1CO0lBSGhDO1FBS1MsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBS3JDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztLQUM3Qzs7Z0hBVFksbUJBQW1CO29HQUFuQixtQkFBbUIsMEtBSWhCLHVCQUF1Qix5RUFDdkIseUJBQXlCOzJGQUw1QixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOzhCQUt5RCxJQUFJO3NCQUEzRCxZQUFZO3VCQUFDLHVCQUF1QixFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFDSSxNQUFNO3NCQUEvRCxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFFeEMsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxtQkFBbUI7c0JBQWxDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNEcm9wZG93bk1lbnVEaXJlY3RpdmUgfSBmcm9tICcuLi9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJzRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kcm9wZG93bi10b2dnbGUvZHJvcGRvd24tdG9nZ2xlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tic0Ryb3Bkb3duXSdcbn0pXG5leHBvcnQgY2xhc3MgQnNEcm9wZG93bkRpcmVjdGl2ZSB7XG5cbiAgcHVibGljIGlzT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBAQ29udGVudENoaWxkKEJzRHJvcGRvd25NZW51RGlyZWN0aXZlLCB7c3RhdGljOiBmYWxzZX0pIG1lbnUhOiBCc0Ryb3Bkb3duTWVudURpcmVjdGl2ZTtcbiAgQENvbnRlbnRDaGlsZChCc0Ryb3Bkb3duVG9nZ2xlRGlyZWN0aXZlLCB7c3RhdGljOiBmYWxzZX0pIHRvZ2dsZSE6IEJzRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmU7XG4gIFxuICBASW5wdXQoKSBwdWJsaWMgaGFzQmFja2Ryb3AgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGNsb3NlT25DbGlja091dHNpZGUgPSBmYWxzZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Directive, forwardRef, Inject, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
3
|
+
import { Overlay } from '@angular/cdk/overlay';
|
|
4
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
5
|
+
import { BsDropdownDirective } from '../dropdown/dropdown.directive';
|
|
6
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
9
|
+
import * as i2 from "../dropdown/dropdown.directive";
|
|
10
|
+
export class BsDropdownMenuDirective {
|
|
11
|
+
constructor(dropdown, document, viewContainerRef, templateRef, overlay) {
|
|
12
|
+
this.dropdown = dropdown;
|
|
13
|
+
this.viewContainerRef = viewContainerRef;
|
|
14
|
+
this.templateRef = templateRef;
|
|
15
|
+
this.overlay = overlay;
|
|
16
|
+
this.destroyed$ = new Subject();
|
|
17
|
+
this.overlayRef = null;
|
|
18
|
+
this.templatePortal = null;
|
|
19
|
+
this.document = document;
|
|
20
|
+
this.dropdown.isOpen$
|
|
21
|
+
.pipe(takeUntil(this.destroyed$))
|
|
22
|
+
.subscribe((isOpen) => {
|
|
23
|
+
if (isOpen) {
|
|
24
|
+
this.overlayRef = this.overlay.create({
|
|
25
|
+
hasBackdrop: this.dropdown.hasBackdrop,
|
|
26
|
+
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
27
|
+
positionStrategy: this.overlay.position()
|
|
28
|
+
.flexibleConnectedTo(this.dropdown.toggle.toggleButton)
|
|
29
|
+
.withPositions([
|
|
30
|
+
{ originX: "start", "originY": "bottom", overlayX: "start", overlayY: "top", offsetY: 0 },
|
|
31
|
+
{ originX: "start", "originY": "top", overlayX: "start", overlayY: "bottom", offsetY: 0 },
|
|
32
|
+
]),
|
|
33
|
+
});
|
|
34
|
+
this.overlayRef.backdropClick().subscribe(() => this.dropdown.isOpen$.next(false));
|
|
35
|
+
this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);
|
|
36
|
+
this.overlayRef.attach(this.templatePortal);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
if (this.overlayRef) {
|
|
40
|
+
this.overlayRef.detach();
|
|
41
|
+
this.overlayRef.dispose();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
BsDropdownMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownMenuDirective, deps: [{ token: forwardRef(() => BsDropdownDirective) }, { token: DOCUMENT }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Directive });
|
|
48
|
+
BsDropdownMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]", host: { properties: { "class.show": "dropdown.isOpen" } }, ngImport: i0 });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownMenuDirective, decorators: [{
|
|
50
|
+
type: Directive,
|
|
51
|
+
args: [{
|
|
52
|
+
selector: '[bsDropdownMenu]',
|
|
53
|
+
host: {
|
|
54
|
+
'[class.show]': 'dropdown.isOpen',
|
|
55
|
+
},
|
|
56
|
+
}]
|
|
57
|
+
}], ctorParameters: function () { return [{ type: i2.BsDropdownDirective, decorators: [{
|
|
58
|
+
type: Inject,
|
|
59
|
+
args: [forwardRef(() => BsDropdownDirective)]
|
|
60
|
+
}] }, { type: undefined, decorators: [{
|
|
61
|
+
type: Inject,
|
|
62
|
+
args: [DOCUMENT]
|
|
63
|
+
}] }, { type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i1.Overlay }]; } });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUErQixVQUFVLEVBQUUsTUFBTSxFQUFhLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySSxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBUXJELE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFDeUQsUUFBNkIsRUFDbEUsUUFBYSxFQUN2QixnQkFBa0MsRUFDbEMsV0FBNkIsRUFDN0IsT0FBZ0I7UUFKK0IsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFFNUUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0IsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQWdDbEIsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDM0IsZUFBVSxHQUFzQixJQUFJLENBQUM7UUFDckMsbUJBQWMsR0FBK0IsSUFBSSxDQUFDO1FBaEN4RCxJQUFJLENBQUMsUUFBUSxHQUFhLFFBQVEsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87YUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDcEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztvQkFDdEMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFO29CQUMxRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTt5QkFDdEMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO3lCQUN0RCxhQUFhLENBQUM7d0JBQ2IsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7d0JBQ3pGLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO3FCQUMxRixDQUFDO2lCQUNMLENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFFbkYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUNsRixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDN0M7aUJBQU07Z0JBQ0wsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUMzQjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztvSEFuQ1UsdUJBQXVCLGtCQUV4QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsYUFDckMsUUFBUTt3R0FIUCx1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFObkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixJQUFJLEVBQUU7d0JBQ0osY0FBYyxFQUFFLGlCQUFpQjtxQkFDbEM7aUJBQ0Y7OzBCQUdJLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDOzswQkFDNUMsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIGZvcndhcmRSZWYsIEluamVjdCwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNEcm9wZG93bk1lbnVdJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muc2hvd10nOiAnZHJvcGRvd24uaXNPcGVuJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQnNEcm9wZG93bk1lbnVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gQnNEcm9wZG93bkRpcmVjdGl2ZSkpIHByaXZhdGUgZHJvcGRvd246IEJzRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXlcbiAgKSB7XG4gICAgdGhpcy5kb2N1bWVudCA9IDxEb2N1bWVudD5kb2N1bWVudDtcbiAgICB0aGlzLmRyb3Bkb3duLmlzT3BlbiRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoaXNPcGVuKSA9PiB7XG4gICAgICAgIGlmIChpc09wZW4pIHtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLmRyb3Bkb3duLmhhc0JhY2tkcm9wLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXG4gICAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZHJvcGRvd24udG9nZ2xlLnRvZ2dsZUJ1dHRvbilcbiAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgICAgICAgIHsgb3JpZ2luWDogXCJzdGFydFwiLCBcIm9yaWdpbllcIjogXCJib3R0b21cIiwgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwidG9wXCIsIG9mZnNldFk6IDAgfSxcbiAgICAgICAgICAgICAgICB7IG9yaWdpblg6IFwic3RhcnRcIiwgXCJvcmlnaW5ZXCI6IFwidG9wXCIsIG92ZXJsYXlYOiBcInN0YXJ0XCIsIG92ZXJsYXlZOiBcImJvdHRvbVwiLCBvZmZzZXRZOiAwIH0sXG4gICAgICAgICAgICAgIF0pLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kcm9wZG93bi5pc09wZW4kLm5leHQoZmFsc2UpKTtcbiAgICAgIFxuICAgICAgICAgIHRoaXMudGVtcGxhdGVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZVJlZiwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMudGVtcGxhdGVQb3J0YWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSB0ZW1wbGF0ZVBvcnRhbDogVGVtcGxhdGVQb3J0YWw8YW55PiB8IG51bGwgPSBudWxsO1xuXG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Directive, ElementRef, HostListener } from '@angular/core';
|
|
2
|
+
import { take } from 'rxjs';
|
|
3
|
+
import { BsDropdownDirective } from '../dropdown/dropdown.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../dropdown/dropdown.directive";
|
|
6
|
+
export class BsDropdownToggleDirective {
|
|
7
|
+
constructor(dropdown, toggleButton) {
|
|
8
|
+
this.dropdown = dropdown;
|
|
9
|
+
this.toggleButton = toggleButton;
|
|
10
|
+
}
|
|
11
|
+
onClick() {
|
|
12
|
+
console.log('clicked');
|
|
13
|
+
this.dropdown.isOpen$.pipe(take(1)).subscribe((isOpen) => {
|
|
14
|
+
this.dropdown.isOpen$.next(!isOpen);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
BsDropdownToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownToggleDirective, deps: [{ token: i1.BsDropdownDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
19
|
+
BsDropdownToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsDropdownToggleDirective, selector: "[bsDropdownToggle]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownToggleDirective, decorators: [{
|
|
21
|
+
type: Directive,
|
|
22
|
+
args: [{
|
|
23
|
+
selector: '[bsDropdownToggle]'
|
|
24
|
+
}]
|
|
25
|
+
}], ctorParameters: function () { return [{ type: i1.BsDropdownDirective }, { type: i0.ElementRef }]; }, propDecorators: { onClick: [{
|
|
26
|
+
type: HostListener,
|
|
27
|
+
args: ['click']
|
|
28
|
+
}] } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdG9nZ2xlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLXRvZ2dsZS9kcm9wZG93bi10b2dnbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFLckUsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxZQUNVLFFBQTZCLEVBQ3JDLFlBQXdCO1FBRGhCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBRW5DLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFNSCxPQUFPO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztzSEFqQlUseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjttSUFhQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc0Ryb3Bkb3duRGlyZWN0aXZlIH0gZnJvbSAnLi4vZHJvcGRvd24vZHJvcGRvd24uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2JzRHJvcGRvd25Ub2dnbGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBCc0Ryb3Bkb3duVG9nZ2xlRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRyb3Bkb3duOiBCc0Ryb3Bkb3duRGlyZWN0aXZlLFxuICAgIHRvZ2dsZUJ1dHRvbjogRWxlbWVudFJlZikge1xuICAgICAgdGhpcy50b2dnbGVCdXR0b24gPSB0b2dnbGVCdXR0b247XG4gICAgfVxuXG4gIHRvZ2dsZUJ1dHRvbjogRWxlbWVudFJlZjtcblxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgb25DbGljaygpIHtcbiAgICBjb25zb2xlLmxvZygnY2xpY2tlZCcpO1xuICAgIHRoaXMuZHJvcGRvd24uaXNPcGVuJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoaXNPcGVuKSA9PiB7XG4gICAgICB0aGlzLmRyb3Bkb3duLmlzT3BlbiQubmV4dCghaXNPcGVuKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
4
|
+
import { BsDropdownDirective } from './dropdown/dropdown.directive';
|
|
5
|
+
import { BsDropdownMenuDirective } from './dropdown-menu/dropdown-menu.directive';
|
|
6
|
+
import { BsDropdownToggleDirective } from './dropdown-toggle/dropdown-toggle.directive';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class BsDropdownModule {
|
|
9
|
+
}
|
|
10
|
+
BsDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
BsDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownModule, declarations: [BsDropdownDirective,
|
|
12
|
+
BsDropdownToggleDirective,
|
|
13
|
+
BsDropdownMenuDirective], imports: [CommonModule,
|
|
14
|
+
OverlayModule], exports: [BsDropdownDirective,
|
|
15
|
+
BsDropdownToggleDirective,
|
|
16
|
+
BsDropdownMenuDirective] });
|
|
17
|
+
BsDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownModule, imports: [[
|
|
18
|
+
CommonModule,
|
|
19
|
+
OverlayModule
|
|
20
|
+
]] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownModule, decorators: [{
|
|
22
|
+
type: NgModule,
|
|
23
|
+
args: [{
|
|
24
|
+
declarations: [
|
|
25
|
+
BsDropdownDirective,
|
|
26
|
+
BsDropdownToggleDirective,
|
|
27
|
+
BsDropdownMenuDirective
|
|
28
|
+
],
|
|
29
|
+
imports: [
|
|
30
|
+
CommonModule,
|
|
31
|
+
OverlayModule
|
|
32
|
+
],
|
|
33
|
+
exports: [
|
|
34
|
+
BsDropdownDirective,
|
|
35
|
+
BsDropdownToggleDirective,
|
|
36
|
+
BsDropdownMenuDirective
|
|
37
|
+
]
|
|
38
|
+
}]
|
|
39
|
+
}] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7QUFvQnhGLE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFkekIsbUJBQW1CO1FBQ25CLHlCQUF5QjtRQUN6Qix1QkFBdUIsYUFHdkIsWUFBWTtRQUNaLGFBQWEsYUFHYixtQkFBbUI7UUFDbkIseUJBQXlCO1FBQ3pCLHVCQUF1Qjs4R0FHZCxnQkFBZ0IsWUFWbEI7WUFDUCxZQUFZO1lBQ1osYUFBYTtTQUNkOzJGQU9VLGdCQUFnQjtrQkFoQjVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6Qix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6Qix1QkFBdUI7cUJBQ3hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQnNEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24vZHJvcGRvd24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJzRHJvcGRvd25NZW51RGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJzRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLXRvZ2dsZS9kcm9wZG93bi10b2dnbGUuZGlyZWN0aXZlJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJzRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgQnNEcm9wZG93blRvZ2dsZURpcmVjdGl2ZSxcbiAgICBCc0Ryb3Bkb3duTWVudURpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJzRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgQnNEcm9wZG93blRvZ2dsZURpcmVjdGl2ZSxcbiAgICBCc0Ryb3Bkb3duTWVudURpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJzRHJvcGRvd25Nb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './dropdown/dropdown.directive';
|
|
2
|
+
export * from './dropdown-menu/dropdown-menu.directive';
|
|
3
|
+
export * from './dropdown-toggle/dropdown-toggle.directive';
|
|
4
|
+
export * from './dropdown.module';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tdG9nZ2xlL2Ryb3Bkb3duLXRvZ2dsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi5tb2R1bGUnOyJdfQ==
|
|
@@ -2,8 +2,13 @@ export * from './alert';
|
|
|
2
2
|
export * from './card';
|
|
3
3
|
export * from './calendar';
|
|
4
4
|
export * from './carousel';
|
|
5
|
+
export * from './datatable';
|
|
5
6
|
export * from './list-group';
|
|
6
7
|
export * from './navbar';
|
|
7
8
|
export * from './accordion';
|
|
8
9
|
export * from './tab-control';
|
|
9
|
-
|
|
10
|
+
export * from './scrollspy';
|
|
11
|
+
export * from './dropdown';
|
|
12
|
+
export * from './datepicker';
|
|
13
|
+
export * from './multiselect';
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWxlcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXInO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJvdXNlbCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QtZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9uYXZiYXInO1xuZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi90YWItY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL3Njcm9sbHNweSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXBpY2tlcic7XG5leHBvcnQgKiBmcm9tICcuL211bHRpc2VsZWN0JzsiXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './multiselect.component';
|
|
2
|
+
export * from './multiselect.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9tdWx0aXNlbGVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL211bHRpc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL211bHRpc2VsZWN0Lm1vZHVsZSc7Il19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../dropdown/dropdown/dropdown.directive";
|
|
4
|
+
import * as i2 from "../dropdown/dropdown-toggle/dropdown-toggle.directive";
|
|
5
|
+
import * as i3 from "../dropdown/dropdown-menu/dropdown-menu.directive";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
export class BsMultiselectComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.items = [];
|
|
10
|
+
this.selectedItems = [];
|
|
11
|
+
}
|
|
12
|
+
itemChange(item, event) {
|
|
13
|
+
if (!!event.target.checked) {
|
|
14
|
+
this.selectedItems.push(item);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
this.selectedItems.splice(this.selectedItems.findIndex((i) => i === item), 1);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
BsMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
BsMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsMultiselectComponent, selector: "bs-multiselect", inputs: { items: "items", selectedItems: "selectedItems" }, ngImport: i0, template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">{{ selectedItems.length }} selected</button>\n <div *bsDropdownMenu class=\"bg-white p-3 border shadow\">\n <label *ngFor=\"let item of items\" class=\"form-check\">\n <input type=\"checkbox\" [checked]=\"selectedItems.indexOf(item) > -1\" (change)=\"itemChange(item, $event)\" class=\"form-check-input\">\n <span class=\"form-check-label\">{{ item }}</span>\n </label>\n </div>\n</div>", styles: [""], directives: [{ type: i1.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "closeOnClickOutside"] }, { type: i2.BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { type: i3.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectComponent, decorators: [{
|
|
26
|
+
type: Component,
|
|
27
|
+
args: [{ selector: 'bs-multiselect', template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">{{ selectedItems.length }} selected</button>\n <div *bsDropdownMenu class=\"bg-white p-3 border shadow\">\n <label *ngFor=\"let item of items\" class=\"form-check\">\n <input type=\"checkbox\" [checked]=\"selectedItems.indexOf(item) > -1\" (change)=\"itemChange(item, $event)\" class=\"form-check-input\">\n <span class=\"form-check-label\">{{ item }}</span>\n </label>\n </div>\n</div>", styles: [""] }]
|
|
28
|
+
}], ctorParameters: function () { return []; }, propDecorators: { items: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], selectedItems: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQU96RCxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDO1FBRWdCLFVBQUssR0FBVSxFQUFFLENBQUM7UUFDbEIsa0JBQWEsR0FBVSxFQUFFLENBQUM7SUFIMUIsQ0FBQztJQUtqQixVQUFVLENBQUMsSUFBUyxFQUFFLEtBQVk7UUFDaEMsSUFBSSxDQUFDLENBQU8sS0FBSyxDQUFDLE1BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0U7SUFDSCxDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7O21IQWhCVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixrSENQbkMsNmlCQVFNOzJGRERPLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxnQkFBZ0I7MEVBUVYsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLW11bHRpc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGlzZWxlY3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCc011bHRpc2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG5cbiAgaXRlbUNoYW5nZShpdGVtOiBhbnksIGV2ZW50OiBFdmVudCkge1xuICAgIGlmICghISg8YW55PmV2ZW50LnRhcmdldCkuY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5zcGxpY2UodGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmRJbmRleCgoaSkgPT4gaSA9PT0gaXRlbSksIDEpO1xuICAgIH1cbiAgfVxuICBcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuXG59XG4iLCI8ZGl2IGJzRHJvcGRvd24gW2hhc0JhY2tkcm9wXT1cInRydWVcIiBbY2xvc2VPbkNsaWNrT3V0c2lkZV09XCJ0cnVlXCI+XG4gICAgPGJ1dHRvbiBic0Ryb3Bkb3duVG9nZ2xlIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+e3sgc2VsZWN0ZWRJdGVtcy5sZW5ndGggfX0gc2VsZWN0ZWQ8L2J1dHRvbj5cbiAgICA8ZGl2ICpic0Ryb3Bkb3duTWVudSBjbGFzcz1cImJnLXdoaXRlIHAtMyBib3JkZXIgc2hhZG93XCI+XG4gICAgICAgIDxsYWJlbCAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiIGNsYXNzPVwiZm9ybS1jaGVja1wiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cInNlbGVjdGVkSXRlbXMuaW5kZXhPZihpdGVtKSA+IC0xXCIgKGNoYW5nZSk9XCJpdGVtQ2hhbmdlKGl0ZW0sICRldmVudClcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPnt7IGl0ZW0gfX08L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { BsMultiselectComponent } from './multiselect.component';
|
|
4
|
+
import { BsDropdownModule } from '../dropdown/dropdown.module';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class BsMultiselectModule {
|
|
7
|
+
}
|
|
8
|
+
BsMultiselectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
BsMultiselectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, declarations: [BsMultiselectComponent], imports: [CommonModule,
|
|
10
|
+
BsDropdownModule], exports: [BsMultiselectComponent] });
|
|
11
|
+
BsMultiselectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, imports: [[
|
|
12
|
+
CommonModule,
|
|
13
|
+
BsDropdownModule
|
|
14
|
+
]] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
declarations: [
|
|
19
|
+
BsMultiselectComponent
|
|
20
|
+
],
|
|
21
|
+
imports: [
|
|
22
|
+
CommonModule,
|
|
23
|
+
BsDropdownModule
|
|
24
|
+
],
|
|
25
|
+
exports: [
|
|
26
|
+
BsMultiselectComponent
|
|
27
|
+
]
|
|
28
|
+
}]
|
|
29
|
+
}] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQWMvRCxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBVjVCLHNCQUFzQixhQUd0QixZQUFZO1FBQ1osZ0JBQWdCLGFBR2hCLHNCQUFzQjtpSEFHYixtQkFBbUIsWUFSckI7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1NBQ2pCOzJGQUtVLG1CQUFtQjtrQkFaL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxzQkFBc0I7cUJBQ3ZCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCc011bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNEcm9wZG93bk1vZHVsZSB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJzTXVsdGlzZWxlY3RDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCc0Ryb3Bkb3duTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCc011bHRpc2VsZWN0Q29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnNNdWx0aXNlbGVjdE1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
26
26
|
type: Inject,
|
|
27
27
|
args: [forwardRef(() => BsNavbarDropdownComponent)]
|
|
28
28
|
}] }]; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbmF2YmFyL25hdi1saW5rL25hdi1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBS3pGLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFDVSxVQUF5QyxFQUNnQixjQUF5QztRQURsRyxlQUFVLEdBQVYsVUFBVSxDQUErQjtRQUdqRCxJQUFJLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN6RDthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7OzZHQVhVLGdCQUFnQiw0Q0FJTCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUdBSnRELGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQ0FBZ0M7aUJBQzNDOzswQkFLSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL25hdmJhci1kcm9wZG93bi9uYXZiYXItZHJvcGRvd24uY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnYnMtbmF2YmFyLWl0ZW0gPiBhW3JvdXRlckxpbmtdJ1xufSlcbmV4cG9ydCBjbGFzcyBOYXZMaW5rRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50KSkgcGFyZW50RHJvcGRvd246IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnRcbiAgKSB7XG4gICAgaWYgKHBhcmVudERyb3Bkb3duID09IG51bGwpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ25hdi1saW5rJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2Ryb3Bkb3duLWl0ZW0nKTtcbiAgICB9XG4gIH1cblxufSJdfQ==
|
|
@@ -9,10 +9,10 @@ export class BsNavbarComponent {
|
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
BsNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarComponent, selector: "bs-navbar", viewQueries: [{ propertyName: "nav", first: true, predicate: ["nav"], descendants: true }], ngImport: i0, template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\" data-toggle=\"collapse\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>", styles: [":host ::ng-deep+*{padding-top:56px}nav{left:0;top:0;right:0;z-index:
|
|
12
|
+
BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarComponent, selector: "bs-navbar", viewQueries: [{ propertyName: "nav", first: true, predicate: ["nav"], descendants: true }], ngImport: i0, template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\" data-toggle=\"collapse\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>", styles: [":host ::ng-deep+*{padding-top:56px}nav{left:0;top:0;right:0;z-index:10}@media (min-width: 768px){.mx-md-unset{margin-left:0!important;margin-right:0!important}.w-md-auto{width:auto!important}}\n"] });
|
|
13
13
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
|
-
args: [{ selector: 'bs-navbar', template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\" data-toggle=\"collapse\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>", styles: [":host ::ng-deep+*{padding-top:56px}nav{left:0;top:0;right:0;z-index:
|
|
15
|
+
args: [{ selector: 'bs-navbar', template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\" data-toggle=\"collapse\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>", styles: [":host ::ng-deep+*{padding-top:56px}nav{left:0;top:0;right:0;z-index:10}@media (min-width: 768px){.mx-md-unset{margin-left:0!important;margin-right:0!important}.w-md-auto{width:auto!important}}\n"] }]
|
|
16
16
|
}], ctorParameters: function () { return []; }, propDecorators: { nav: [{
|
|
17
17
|
type: ViewChild,
|
|
18
18
|
args: ['nav']
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, combineLatest, map, Observable, Subject, takeUntil } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class BsPaginationComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
/** All page numbers. */
|
|
8
|
+
this.pageNumbers$ = new BehaviorSubject([]);
|
|
9
|
+
/** Selected number. */
|
|
10
|
+
this.selectedPageNumber$ = new BehaviorSubject(1);
|
|
11
|
+
/** Number of boxes. */
|
|
12
|
+
this.numberOfBoxes$ = new BehaviorSubject(0);
|
|
13
|
+
/** Display previous/next arrows. */
|
|
14
|
+
this.showArrows$ = new BehaviorSubject(true);
|
|
15
|
+
/** Indicates if first value is selected. */
|
|
16
|
+
this.isFirstPage$ = new Observable();
|
|
17
|
+
/** Indicates if last value is selected. */
|
|
18
|
+
this.isLastPage$ = new Observable();
|
|
19
|
+
/** The number of boxes (excluding arrows) that's being shown on the pagination component. */
|
|
20
|
+
this.visibleNumberOfNumberBoxes$ = new Observable();
|
|
21
|
+
this._selectedPageNumber = 0;
|
|
22
|
+
this.selectedPageNumberChange = new EventEmitter();
|
|
23
|
+
this._numberOfBoxes = 0;
|
|
24
|
+
this._pageNumbers = [];
|
|
25
|
+
this._showArrows = true;
|
|
26
|
+
this.destroyed$ = new Subject();
|
|
27
|
+
this.visibleNumberOfNumberBoxes$ =
|
|
28
|
+
combineLatest([this.numberOfBoxes$, this.pageNumbers$, this.showArrows$])
|
|
29
|
+
.pipe(takeUntil(this.destroyed$))
|
|
30
|
+
.pipe(map(([numberOfBoxes, pageNumbers, showArrows]) => {
|
|
31
|
+
if (numberOfBoxes <= 0) {
|
|
32
|
+
return pageNumbers.length;
|
|
33
|
+
}
|
|
34
|
+
else if (!showArrows) {
|
|
35
|
+
return Math.min(numberOfBoxes, pageNumbers.length);
|
|
36
|
+
}
|
|
37
|
+
else if (numberOfBoxes <= 2) {
|
|
38
|
+
return Math.min(1, pageNumbers.length);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
return Math.min(numberOfBoxes - 2, pageNumbers.length);
|
|
42
|
+
}
|
|
43
|
+
}));
|
|
44
|
+
this.shownPageNumbers$ =
|
|
45
|
+
combineLatest([this.pageNumbers$, this.selectedPageNumber$, this.visibleNumberOfNumberBoxes$])
|
|
46
|
+
.pipe(takeUntil(this.destroyed$))
|
|
47
|
+
.pipe(map(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes]) => {
|
|
48
|
+
let startIndex = 0;
|
|
49
|
+
const half = Math.round((visibleNumberOfNumberBoxes - 1) / 2);
|
|
50
|
+
if (pageNumbers.indexOf(selectedPageNumber) < half) {
|
|
51
|
+
startIndex = 0;
|
|
52
|
+
}
|
|
53
|
+
else if (pageNumbers.indexOf(selectedPageNumber) >= (pageNumbers.length - half)) {
|
|
54
|
+
startIndex = pageNumbers.length - visibleNumberOfNumberBoxes;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
startIndex = pageNumbers.indexOf(selectedPageNumber) - half;
|
|
58
|
+
}
|
|
59
|
+
return [...Array(visibleNumberOfNumberBoxes).keys()]
|
|
60
|
+
.map(p => p + startIndex)
|
|
61
|
+
.map(p => ({
|
|
62
|
+
page: pageNumbers[p],
|
|
63
|
+
selected: pageNumbers[p] === selectedPageNumber
|
|
64
|
+
}));
|
|
65
|
+
}));
|
|
66
|
+
this.isFirstPage$ =
|
|
67
|
+
combineLatest([this.pageNumbers$, this.selectedPageNumber$])
|
|
68
|
+
.pipe(takeUntil(this.destroyed$))
|
|
69
|
+
.pipe(map(([pageNumbers, selectedPageNumber]) => {
|
|
70
|
+
return pageNumbers.indexOf(selectedPageNumber) === 0;
|
|
71
|
+
}));
|
|
72
|
+
this.isLastPage$ =
|
|
73
|
+
combineLatest([this.pageNumbers$, this.selectedPageNumber$])
|
|
74
|
+
.pipe(takeUntil(this.destroyed$))
|
|
75
|
+
.pipe(map(([pageNumbers, selectedPageNumber]) => {
|
|
76
|
+
return pageNumbers.indexOf(selectedPageNumber) === (pageNumbers.length - 1);
|
|
77
|
+
}));
|
|
78
|
+
this.selectedPageNumber$
|
|
79
|
+
.pipe(takeUntil(this.destroyed$))
|
|
80
|
+
.subscribe((selectedPageNumber) => {
|
|
81
|
+
this.selectedPageNumberChange.emit(selectedPageNumber);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
ngOnInit() {
|
|
85
|
+
}
|
|
86
|
+
ngOnDestroy() {
|
|
87
|
+
this.destroyed$.next(true);
|
|
88
|
+
}
|
|
89
|
+
onSelectPage(event, page) {
|
|
90
|
+
this.selectedPageNumber$.next(page);
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
onPrevious() {
|
|
94
|
+
this.selectedPageNumber$.next(this.selectedPageNumber$.value - 1);
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
onNext() {
|
|
98
|
+
this.selectedPageNumber$.next(this.selectedPageNumber$.value + 1);
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
set selectedPageNumber(value) {
|
|
102
|
+
this._selectedPageNumber = value;
|
|
103
|
+
this.selectedPageNumber$.next(value);
|
|
104
|
+
}
|
|
105
|
+
get selectedPageNumber() {
|
|
106
|
+
return this._selectedPageNumber;
|
|
107
|
+
}
|
|
108
|
+
set numberOfBoxes(value) {
|
|
109
|
+
this._numberOfBoxes = value;
|
|
110
|
+
this.numberOfBoxes$.next(value);
|
|
111
|
+
}
|
|
112
|
+
get numberOfBoxes() {
|
|
113
|
+
return this._numberOfBoxes;
|
|
114
|
+
}
|
|
115
|
+
set pageNumbers(value) {
|
|
116
|
+
this._pageNumbers = value;
|
|
117
|
+
this.pageNumbers$.next(value);
|
|
118
|
+
}
|
|
119
|
+
get pageNumbers() {
|
|
120
|
+
return this._pageNumbers;
|
|
121
|
+
}
|
|
122
|
+
set showArrows(value) {
|
|
123
|
+
this._showArrows = value;
|
|
124
|
+
this.showArrows$.next(value);
|
|
125
|
+
}
|
|
126
|
+
get showArrows() {
|
|
127
|
+
return this._showArrows;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
BsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
+
BsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", 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 } });
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsPaginationComponent, decorators: [{
|
|
133
|
+
type: Component,
|
|
134
|
+
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"] }]
|
|
135
|
+
}], ctorParameters: function () { return []; }, propDecorators: { selectedPageNumberChange: [{
|
|
136
|
+
type: Output
|
|
137
|
+
}], selectedPageNumber: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], numberOfBoxes: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], pageNumbers: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], showArrows: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}] } });
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQVEzRixNQUFNLE9BQU8scUJBQXFCO0lBRWhDO1FBb0ZBLHdCQUF3QjtRQUN4QixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBR2pELHVCQUF1QjtRQUN2Qix3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRCx1QkFBdUI7UUFDdkIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNoRCxvQ0FBb0M7UUFDcEMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUVqRCw0Q0FBNEM7UUFDNUMsaUJBQVksR0FBRyxJQUFJLFVBQVUsRUFBVyxDQUFDO1FBQ3pDLDJDQUEyQztRQUMzQyxnQkFBVyxHQUFHLElBQUksVUFBVSxFQUFXLENBQUM7UUFDeEMsNkZBQTZGO1FBQzdGLGdDQUEyQixH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Q2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFHRCxJQUFhLFVBQVUsQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQzs7a0hBL0lVLHFCQUFxQjtzR0FBckIscUJBQXFCLG9RQ1RsQywybENBb0JLOzJGRFhRLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxlQUFlOzBFQWlIUix3QkFBd0I7c0JBQXhDLE1BQU07Z0JBQ00sa0JBQWtCO3NCQUE5QixLQUFLO2dCQVNPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBU08sV0FBVztzQkFBdkIsS0FBSztnQkFTTyxVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQYWdlV2l0aFNlbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvcGFnZS13aXRoLXNlbGVjdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCc1BhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHRoaXMudmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMkID1cbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMubnVtYmVyT2ZCb3hlcyQsIHRoaXMucGFnZU51bWJlcnMkLCB0aGlzLnNob3dBcnJvd3MkXSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAgIC5waXBlKG1hcCgoW251bWJlck9mQm94ZXMsIHBhZ2VOdW1iZXJzLCBzaG93QXJyb3dzXSkgPT4ge1xuICAgICAgICAgIGlmIChudW1iZXJPZkJveGVzIDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybiBwYWdlTnVtYmVycy5sZW5ndGg7XG4gICAgICAgICAgfSBlbHNlIGlmICghc2hvd0Fycm93cykge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGgubWluKG51bWJlck9mQm94ZXMsIHBhZ2VOdW1iZXJzLmxlbmd0aCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChudW1iZXJPZkJveGVzIDw9IDIpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1pbigxLCBwYWdlTnVtYmVycy5sZW5ndGgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5taW4obnVtYmVyT2ZCb3hlcyAtIDIsIHBhZ2VOdW1iZXJzLmxlbmd0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG5cbiAgICB0aGlzLnNob3duUGFnZU51bWJlcnMkID0gXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnBhZ2VOdW1iZXJzJCwgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLCB0aGlzLnZpc2libGVOdW1iZXJPZk51bWJlckJveGVzJF0pXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgICAucGlwZShtYXAoKFtwYWdlTnVtYmVycywgc2VsZWN0ZWRQYWdlTnVtYmVyLCB2aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlc10pID0+IHtcbiAgICAgICAgICBsZXQgc3RhcnRJbmRleCA9IDA7XG4gICAgICAgICAgXG4gICAgICAgICAgY29uc3QgaGFsZiA9IE1hdGgucm91bmQoKHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzIC0gMSkgLyAyKTtcbiAgICAgICAgICBpZiAocGFnZU51bWJlcnMuaW5kZXhPZihzZWxlY3RlZFBhZ2VOdW1iZXIpIDwgaGFsZikge1xuICAgICAgICAgICAgc3RhcnRJbmRleCA9IDA7XG4gICAgICAgICAgfSBlbHNlIGlmIChwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcikgPj0gKHBhZ2VOdW1iZXJzLmxlbmd0aCAtIGhhbGYpKSB7XG4gICAgICAgICAgICBzdGFydEluZGV4ID0gcGFnZU51bWJlcnMubGVuZ3RoIC0gdmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXJ0SW5kZXggPSBwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcikgLSBoYWxmO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbLi4uQXJyYXkodmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMpLmtleXMoKV1cbiAgICAgICAgICAgIC5tYXAocCA9PiBwICsgc3RhcnRJbmRleClcbiAgICAgICAgICAgIC5tYXAocCA9PiA8UGFnZVdpdGhTZWxlY3Rpb24+e1xuICAgICAgICAgICAgICBwYWdlOiBwYWdlTnVtYmVyc1twXSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHBhZ2VOdW1iZXJzW3BdID09PSBzZWxlY3RlZFBhZ2VOdW1iZXJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSk7XG5cbiAgICB0aGlzLmlzRmlyc3RQYWdlJCA9XG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnBhZ2VOdW1iZXJzJCwgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkXSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAgIC5waXBlKG1hcCgoW3BhZ2VOdW1iZXJzLCBzZWxlY3RlZFBhZ2VOdW1iZXJdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHBhZ2VOdW1iZXJzLmluZGV4T2Yoc2VsZWN0ZWRQYWdlTnVtYmVyKSA9PT0gMDtcbiAgICAgICAgfSkpO1xuICAgICAgICBcbiAgICB0aGlzLmlzTGFzdFBhZ2UkID1cbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucGFnZU51bWJlcnMkLCB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciRdKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgICAgLnBpcGUobWFwKChbcGFnZU51bWJlcnMsIHNlbGVjdGVkUGFnZU51bWJlcl0pID0+IHtcbiAgICAgICAgICByZXR1cm4gcGFnZU51bWJlcnMuaW5kZXhPZihzZWxlY3RlZFBhZ2VOdW1iZXIpID09PSAocGFnZU51bWJlcnMubGVuZ3RoIC0gMSk7XG4gICAgICAgIH0pKTtcbiAgICBcbiAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRQYWdlTnVtYmVyKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyQ2hhbmdlLmVtaXQoc2VsZWN0ZWRQYWdlTnVtYmVyKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG9uU2VsZWN0UGFnZShldmVudDogTW91c2VFdmVudCwgcGFnZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQocGFnZSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb25QcmV2aW91cygpIHtcbiAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQubmV4dCh0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQudmFsdWUgLSAxKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvbk5leHQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQodGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLnZhbHVlICsgMSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqIEFsbCBwYWdlIG51bWJlcnMuICovXG4gIHBhZ2VOdW1iZXJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyW10+KFtdKTtcbiAgLyoqIFBhZ2UgbnVtYmVycyB0byBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuICovXG4gIHNob3duUGFnZU51bWJlcnMkOiBPYnNlcnZhYmxlPFBhZ2VXaXRoU2VsZWN0aW9uW10+O1xuICAvKiogU2VsZWN0ZWQgbnVtYmVyLiAqL1xuICBzZWxlY3RlZFBhZ2VOdW1iZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDEpO1xuICAvKiogTnVtYmVyIG9mIGJveGVzLiAqL1xuICBudW1iZXJPZkJveGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgLyoqIERpc3BsYXkgcHJldmlvdXMvbmV4dCBhcnJvd3MuICovXG4gIHNob3dBcnJvd3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICAvKiogSW5kaWNhdGVzIGlmIGZpcnN0IHZhbHVlIGlzIHNlbGVjdGVkLiAqL1xuICBpc0ZpcnN0UGFnZSQgPSBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigpO1xuICAvKiogSW5kaWNhdGVzIGlmIGxhc3QgdmFsdWUgaXMgc2VsZWN0ZWQuICovXG4gIGlzTGFzdFBhZ2UkID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgLyoqIFRoZSBudW1iZXIgb2YgYm94ZXMgKGV4Y2x1ZGluZyBhcnJvd3MpIHRoYXQncyBiZWluZyBzaG93biBvbiB0aGUgcGFnaW5hdGlvbiBjb21wb25lbnQuICovXG4gIHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzJCA9IG5ldyBPYnNlcnZhYmxlPG51bWJlcj4oKTtcbiAgLyoqIE1vbml0b3IgT25EZXN0cm95ZWQgaG9vay4gKi9cbiAgcHJpdmF0ZSBkZXN0cm95ZWQkOiBTdWJqZWN0PGFueT47XG5cblxuICBcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRQYWdlTnVtYmVyOiBudW1iZXIgPSAwO1xuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkUGFnZU51bWJlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRQYWdlTnVtYmVyKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9zZWxlY3RlZFBhZ2VOdW1iZXIgPSB2YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHNlbGVjdGVkUGFnZU51bWJlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRQYWdlTnVtYmVyO1xuICB9XG4gIFxuICBwcml2YXRlIF9udW1iZXJPZkJveGVzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBzZXQgbnVtYmVyT2ZCb3hlcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbnVtYmVyT2ZCb3hlcyA9IHZhbHVlO1xuICAgIHRoaXMubnVtYmVyT2ZCb3hlcyQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IG51bWJlck9mQm94ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX251bWJlck9mQm94ZXM7XG4gIH1cbiAgXG4gIHByaXZhdGUgX3BhZ2VOdW1iZXJzOiBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKSBzZXQgcGFnZU51bWJlcnModmFsdWU6IG51bWJlcltdKSB7XG4gICAgdGhpcy5fcGFnZU51bWJlcnMgPSB2YWx1ZTtcbiAgICB0aGlzLnBhZ2VOdW1iZXJzJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgcGFnZU51bWJlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VOdW1iZXJzO1xuICB9XG4gIFxuICBwcml2YXRlIF9zaG93QXJyb3dzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2V0IHNob3dBcnJvd3ModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93QXJyb3dzID0gdmFsdWU7XG4gICAgdGhpcy5zaG93QXJyb3dzJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgc2hvd0Fycm93cygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd0Fycm93cztcbiAgfVxuXG59XG4iLCI8dWwgY2xhc3M9XCJwYWdpbmF0aW9uXCI+XG4gICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgKm5nSWY9XCJzaG93QXJyb3dzJCB8IGFzeW5jXCIgW2NsYXNzLmRpc2FibGVkXT1cImlzRmlyc3RQYWdlJCB8IGFzeW5jXCI+XG4gICAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgaHJlZj1cIlwiIChjbGljayk9XCJvblByZXZpb3VzKClcIiBhcmlhLWxhYmVsPVwiUHJldmlvdXNcIj5cbiAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZsYXF1bzs8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlByZXZpb3VzPC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgKm5nRm9yPVwibGV0IHBhZ2VOdW1iZXIgb2YgKHNob3duUGFnZU51bWJlcnMkIHwgYXN5bmMpXCIgY2xhc3M9XCJwYWdlLWl0ZW1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdhY3RpdmUnOiBwYWdlTnVtYmVyLnNlbGVjdGVkIH1cIj5cbiAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiBocmVmPVwiXCIgKGNsaWNrKT1cIm9uU2VsZWN0UGFnZSgkZXZlbnQsIHBhZ2VOdW1iZXIucGFnZSlcIiAqbmdJZj1cInBhZ2VOdW1iZXIucGFnZSAhPSAnLi4uJ1wiPlxuICAgICAgICAgICAge3sgcGFnZU51bWJlci5wYWdlIH19XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiICpuZ0lmPVwicGFnZU51bWJlci5zZWxlY3RlZFwiPihjdXJyZW50KTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG4gICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgKm5nSWY9XCJzaG93QXJyb3dzJCB8IGFzeW5jXCIgW2NsYXNzLmRpc2FibGVkXT1cImlzTGFzdFBhZ2UkIHwgYXN5bmNcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiBocmVmPVwiXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCIgYXJpYS1sYWJlbD1cIk5leHRcIj5cbiAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZyYXF1bzs8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPk5leHQ8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L2xpPlxuPC91bD4iXX0=
|