@mintplayer/ng-bootstrap 13.1.6 → 13.1.11
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/accordion/accordion-tab/accordion-tab.component.mjs +4 -3
- package/esm2020/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.mjs +7 -3
- package/esm2020/lib/components/alert/alert/alert.component.mjs +4 -4
- package/esm2020/lib/components/calendar/calendar.component.mjs +77 -34
- package/esm2020/lib/components/carousel/carousel/carousel.component.mjs +21 -7
- package/esm2020/lib/components/context-menu/context-menu.directive.mjs +63 -0
- package/esm2020/lib/components/context-menu/context-menu.module.mjs +26 -0
- package/esm2020/lib/components/context-menu/index.mjs +3 -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 +58 -0
- package/esm2020/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.mjs +91 -0
- package/esm2020/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.mjs +28 -0
- package/esm2020/lib/components/dropdown/dropdown.module.mjs +44 -0
- package/esm2020/lib/components/dropdown/index.mjs +5 -0
- package/esm2020/lib/components/index.mjs +15 -4
- package/esm2020/lib/components/multiselect/index.mjs +3 -0
- package/esm2020/lib/components/multiselect/multiselect.component.mjs +36 -0
- package/esm2020/lib/components/multiselect/multiselect.module.mjs +34 -0
- package/esm2020/lib/components/navbar/nav-link/nav-link.directive.mjs +1 -1
- package/esm2020/lib/components/navbar/navbar/navbar.component.mjs +9 -6
- package/esm2020/lib/components/navbar/navbar-nav/navbar-nav.component.mjs +47 -9
- package/esm2020/lib/components/pagination/index.mjs +3 -0
- package/esm2020/lib/components/progress-bar/index.mjs +4 -0
- package/esm2020/lib/components/progress-bar/progress/progress.component.mjs +27 -0
- package/esm2020/lib/components/progress-bar/progress-bar/progress-bar.component.mjs +121 -0
- package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +31 -0
- package/esm2020/lib/components/scrollspy/component/scrollspy.component.mjs +54 -14
- package/esm2020/lib/components/select2/component/select2.component.mjs +96 -0
- package/esm2020/lib/components/select2/directive/item-template.directive.mjs +19 -0
- package/esm2020/lib/components/select2/index.mjs +4 -0
- package/esm2020/lib/components/select2/select2.module.mjs +43 -0
- package/esm2020/lib/components/snackbar/component/snackbar.component.mjs +35 -0
- package/esm2020/lib/components/snackbar/directives/index.mjs +2 -0
- package/esm2020/lib/components/snackbar/directives/snackbar-close/snackbar-close.directive.mjs +27 -0
- package/esm2020/lib/components/snackbar/index.mjs +6 -0
- package/esm2020/lib/components/snackbar/interfaces/index.mjs +2 -0
- package/esm2020/lib/components/snackbar/interfaces/snackbar-animation-meta.mjs +2 -0
- package/esm2020/lib/components/snackbar/providers/snackbar-content.provider.mjs +3 -0
- package/esm2020/lib/components/snackbar/service/snackbar.service.mjs +49 -0
- package/esm2020/lib/components/snackbar/snackbar.module.mjs +38 -0
- package/esm2020/lib/components/toggle-button/index.mjs +3 -0
- package/esm2020/lib/components/toggle-button/toggle-button.component.mjs +42 -0
- package/esm2020/lib/components/toggle-button/toggle-button.module.mjs +26 -0
- package/esm2020/lib/components/tooltip/component/tooltip.component.mjs +25 -0
- package/esm2020/lib/components/tooltip/directive/tooltip.directive.mjs +110 -0
- package/esm2020/lib/components/tooltip/index.mjs +4 -0
- package/esm2020/lib/components/tooltip/providers/tooltip-content.provider.mjs +3 -0
- package/esm2020/lib/components/tooltip/tooltip.module.mjs +29 -0
- package/esm2020/lib/components/typeahead/index.mjs +3 -0
- package/esm2020/lib/components/typeahead/typeahead.component.mjs +90 -0
- package/esm2020/lib/components/typeahead/typeahead.module.mjs +38 -0
- package/esm2020/lib/enums/index.mjs +2 -1
- package/esm2020/lib/enums/position.enum.mjs +8 -0
- package/esm2020/lib/pipes/font-color/font-color.module.mjs +26 -0
- package/esm2020/lib/pipes/font-color/font-color.pipe.mjs +26 -0
- package/esm2020/lib/pipes/font-color/index.mjs +3 -0
- package/esm2020/lib/pipes/in-list/in-list.module.mjs +26 -0
- package/esm2020/lib/pipes/in-list/in-list.pipe.mjs +16 -0
- package/esm2020/lib/pipes/index.mjs +2 -0
- package/esm2020/lib/pipes/month-name/month-name.pipe.mjs +7 -2
- package/esm2020/lib/services/calendar-month/calendar-month.service.mjs +12 -14
- package/esm2020/lib/services/scroll-offset/scroll-offset.service.mjs +31 -0
- package/fesm2015/mintplayer-ng-bootstrap.mjs +1674 -270
- package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap.mjs +1658 -268
- package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.d.ts +1 -0
- package/lib/components/calendar/calendar.component.d.ts +21 -13
- package/lib/components/carousel/carousel/carousel.component.d.ts +4 -1
- package/lib/components/context-menu/context-menu.directive.d.ts +17 -0
- package/lib/components/context-menu/context-menu.module.d.ts +8 -0
- package/lib/components/context-menu/index.d.ts +2 -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 +21 -0
- package/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +20 -0
- package/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.d.ts +11 -0
- package/lib/components/dropdown/dropdown.module.d.ts +12 -0
- package/lib/components/dropdown/index.d.ts +4 -0
- package/lib/components/index.d.ts +14 -3
- package/lib/components/multiselect/index.d.ts +2 -0
- package/lib/components/multiselect/multiselect.component.d.ts +12 -0
- package/lib/components/multiselect/multiselect.module.d.ts +10 -0
- package/lib/components/navbar/navbar/navbar.component.d.ts +3 -3
- package/lib/components/navbar/navbar-nav/navbar-nav.component.d.ts +10 -4
- package/lib/components/pagination/index.d.ts +2 -0
- package/lib/components/progress-bar/index.d.ts +3 -0
- package/lib/components/progress-bar/progress/progress.component.d.ts +8 -0
- package/lib/components/progress-bar/progress-bar/progress-bar.component.d.ts +31 -0
- package/lib/components/progress-bar/progress-bar.module.d.ts +9 -0
- package/lib/components/scrollspy/component/scrollspy.component.d.ts +14 -4
- package/lib/components/select2/component/select2.component.d.ts +30 -0
- package/lib/components/select2/directive/item-template.directive.d.ts +9 -0
- package/lib/components/select2/index.d.ts +3 -0
- package/lib/components/select2/select2.module.d.ts +12 -0
- package/lib/components/snackbar/component/snackbar.component.d.ts +15 -0
- package/lib/components/snackbar/directives/index.d.ts +1 -0
- package/lib/components/snackbar/directives/snackbar-close/snackbar-close.directive.d.ts +11 -0
- package/lib/components/snackbar/index.d.ts +5 -0
- package/lib/components/snackbar/interfaces/index.d.ts +1 -0
- package/lib/components/snackbar/interfaces/snackbar-animation-meta.d.ts +7 -0
- package/lib/components/snackbar/providers/snackbar-content.provider.d.ts +2 -0
- package/lib/components/snackbar/service/snackbar.service.d.ts +14 -0
- package/lib/components/snackbar/snackbar.module.d.ts +9 -0
- package/lib/components/toggle-button/index.d.ts +2 -0
- package/lib/components/toggle-button/toggle-button.component.d.ts +15 -0
- package/lib/components/toggle-button/toggle-button.module.d.ts +8 -0
- package/lib/components/tooltip/component/tooltip.component.d.ts +11 -0
- package/lib/components/tooltip/directive/tooltip.directive.d.ts +20 -0
- package/lib/components/tooltip/index.d.ts +2 -0
- package/lib/components/tooltip/providers/tooltip-content.provider.d.ts +2 -0
- package/lib/components/tooltip/tooltip.module.d.ts +9 -0
- package/lib/components/typeahead/index.d.ts +2 -0
- package/lib/components/typeahead/typeahead.component.d.ts +29 -0
- package/lib/components/typeahead/typeahead.module.d.ts +11 -0
- package/lib/enums/index.d.ts +1 -0
- package/lib/enums/position.enum.d.ts +6 -0
- package/lib/pipes/font-color/font-color.module.d.ts +8 -0
- package/lib/pipes/font-color/font-color.pipe.d.ts +7 -0
- package/lib/pipes/font-color/index.d.ts +2 -0
- package/lib/pipes/in-list/in-list.module.d.ts +8 -0
- package/lib/pipes/in-list/in-list.pipe.d.ts +7 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/month-name/month-name.pipe.d.ts +1 -1
- package/lib/services/calendar-month/calendar-month.service.d.ts +0 -1
- package/lib/services/scroll-offset/scroll-offset.service.d.ts +9 -0
- package/package.json +5 -2
|
@@ -1,15 +1,120 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component,
|
|
2
|
+
import { Component, ContentChildren, NgModule, Input, Injectable, Pipe, EventEmitter, Output, Directive, HostBinding, Host, SkipSelf, HostListener, forwardRef, PLATFORM_ID, Inject, ContentChild, TemplateRef, ViewChild, Optional, ViewChildren, InjectionToken, Injector } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
5
|
-
import { SlideUpDownAnimation, FadeInOutAnimation, CarouselSlideAnimation } from '@mintplayer/ng-animations';
|
|
6
|
-
import { Subject, BehaviorSubject, Observable, combineLatest, takeUntil as takeUntil$1, map as map$1 } from 'rxjs';
|
|
7
|
-
import { map, takeUntil, take } from 'rxjs/operators';
|
|
8
|
-
import '@mintplayer/ng-pagination';
|
|
9
|
-
import { RouterModule } from '@angular/router';
|
|
10
|
-
import * as i1$1 from '@mintplayer/ng-click-outside';
|
|
11
|
-
import { ClickOutsideModule } from '@mintplayer/ng-click-outside';
|
|
12
5
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
6
|
+
import { SlideUpDownAnimation, FadeInOutAnimation, CarouselSlideAnimation, ColorTransitionAnimation } from '@mintplayer/ng-animations';
|
|
7
|
+
import { Subject, BehaviorSubject, map, takeUntil, filter, take, Observable, combineLatest, debounceTime } from 'rxjs';
|
|
8
|
+
import { map as map$1, takeUntil as takeUntil$1, take as take$1 } from 'rxjs/operators';
|
|
9
|
+
import * as i1$1 from '@angular/cdk/overlay';
|
|
10
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
11
|
+
import { TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
|
|
12
|
+
import '@mintplayer/ng-pagination';
|
|
13
|
+
import * as i1$2 from '@mintplayer/ng-click-outside';
|
|
14
|
+
import { ClickOutsideDirective, ClickOutsideModule } from '@mintplayer/ng-click-outside';
|
|
15
|
+
import { FocusOnLoadModule } from '@mintplayer/ng-focus-on-load';
|
|
16
|
+
import { RouterModule, ROUTER_CONFIGURATION } from '@angular/router';
|
|
17
|
+
import * as i3 from '@angular/forms';
|
|
18
|
+
import { FormsModule } from '@angular/forms';
|
|
19
|
+
|
|
20
|
+
class BsAccordionTabComponent {
|
|
21
|
+
constructor(accordion) {
|
|
22
|
+
this.accordion = accordion;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
}
|
|
26
|
+
headerClicked(event) {
|
|
27
|
+
if (this.accordion.activeTab === this) {
|
|
28
|
+
this.accordion.activeTab = null;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this.accordion.activeTab = this;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
BsAccordionTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAccordionTabComponent, deps: [{ token: BsAccordionComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
BsAccordionTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsAccordionTabComponent, selector: "bs-accordion-tab", ngImport: i0, template: "<div class=\"card\">\n <ng-content select=\"bs-accordion-tab-header\"></ng-content>\n <div class=\"card-block overflow-hidden\" [@slideUpDown] *ngIf=\"accordion.activeTab === this\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".card,.card-header,.card-block{border-radius:0}.card{margin-bottom:-1px}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [SlideUpDownAnimation] });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAccordionTabComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: 'bs-accordion-tab', animations: [SlideUpDownAnimation], template: "<div class=\"card\">\n <ng-content select=\"bs-accordion-tab-header\"></ng-content>\n <div class=\"card-block overflow-hidden\" [@slideUpDown] *ngIf=\"accordion.activeTab === this\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".card,.card-header,.card-block{border-radius:0}.card{margin-bottom:-1px}\n"] }]
|
|
40
|
+
}], ctorParameters: function () { return [{ type: BsAccordionComponent }]; } });
|
|
41
|
+
|
|
42
|
+
class BsAccordionComponent {
|
|
43
|
+
constructor() {
|
|
44
|
+
this.activeTab = null;
|
|
45
|
+
}
|
|
46
|
+
ngOnInit() {
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
BsAccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
BsAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsAccordionComponent, selector: "bs-accordion", queries: [{ propertyName: "tabPages", predicate: BsAccordionTabComponent }], ngImport: i0, template: "<ng-content></ng-content>", styles: [""] });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAccordionComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{ selector: 'bs-accordion', template: "<ng-content></ng-content>", styles: [""] }]
|
|
54
|
+
}], ctorParameters: function () { return []; }, propDecorators: { tabPages: [{
|
|
55
|
+
type: ContentChildren,
|
|
56
|
+
args: [BsAccordionTabComponent]
|
|
57
|
+
}] } });
|
|
58
|
+
|
|
59
|
+
class BsAccordionTabHeaderComponent {
|
|
60
|
+
constructor(accordionTab, accordion) {
|
|
61
|
+
this.accordionTab = accordionTab;
|
|
62
|
+
this.accordion = accordion;
|
|
63
|
+
}
|
|
64
|
+
ngOnInit() {
|
|
65
|
+
}
|
|
66
|
+
headerClicked(event) {
|
|
67
|
+
event.preventDefault();
|
|
68
|
+
if (this.accordion.activeTab === this.accordionTab) {
|
|
69
|
+
this.accordion.activeTab = null;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.accordion.activeTab = this.accordionTab;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
foo(event) {
|
|
76
|
+
event.preventDefault();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
BsAccordionTabHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAccordionTabHeaderComponent, deps: [{ token: BsAccordionTabComponent }, { token: BsAccordionComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
+
BsAccordionTabHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsAccordionTabHeaderComponent, selector: "bs-accordion-tab-header", ngImport: i0, template: "<div class=\"card-header cursor-pointer\" (click)=\"headerClicked($event)\" (contextmenu)=\"foo($event)\">\n <ng-content></ng-content>\n</div>", styles: [""] });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAccordionTabHeaderComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{ selector: 'bs-accordion-tab-header', template: "<div class=\"card-header cursor-pointer\" (click)=\"headerClicked($event)\" (contextmenu)=\"foo($event)\">\n <ng-content></ng-content>\n</div>", styles: [""] }]
|
|
84
|
+
}], ctorParameters: function () { return [{ type: BsAccordionTabComponent }, { type: BsAccordionComponent }]; } });
|
|
85
|
+
|
|
86
|
+
class BsAccordionModule {
|
|
87
|
+
}
|
|
88
|
+
BsAccordionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
89
|
+
BsAccordionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAccordionModule, declarations: [BsAccordionComponent,
|
|
90
|
+
BsAccordionTabComponent,
|
|
91
|
+
BsAccordionTabHeaderComponent], imports: [CommonModule,
|
|
92
|
+
BrowserAnimationsModule], exports: [BsAccordionComponent,
|
|
93
|
+
BsAccordionTabComponent,
|
|
94
|
+
BsAccordionTabHeaderComponent] });
|
|
95
|
+
BsAccordionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAccordionModule, imports: [[
|
|
96
|
+
CommonModule,
|
|
97
|
+
BrowserAnimationsModule
|
|
98
|
+
]] });
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAccordionModule, decorators: [{
|
|
100
|
+
type: NgModule,
|
|
101
|
+
args: [{
|
|
102
|
+
declarations: [
|
|
103
|
+
BsAccordionComponent,
|
|
104
|
+
BsAccordionTabComponent,
|
|
105
|
+
BsAccordionTabHeaderComponent
|
|
106
|
+
],
|
|
107
|
+
imports: [
|
|
108
|
+
CommonModule,
|
|
109
|
+
BrowserAnimationsModule
|
|
110
|
+
],
|
|
111
|
+
exports: [
|
|
112
|
+
BsAccordionComponent,
|
|
113
|
+
BsAccordionTabComponent,
|
|
114
|
+
BsAccordionTabHeaderComponent
|
|
115
|
+
]
|
|
116
|
+
}]
|
|
117
|
+
}] });
|
|
13
118
|
|
|
14
119
|
var Color;
|
|
15
120
|
(function (Color) {
|
|
@@ -26,6 +131,14 @@ var Color;
|
|
|
26
131
|
Color[Color["transparent"] = 10] = "transparent";
|
|
27
132
|
})(Color || (Color = {}));
|
|
28
133
|
|
|
134
|
+
var Position;
|
|
135
|
+
(function (Position) {
|
|
136
|
+
Position[Position["top"] = 0] = "top";
|
|
137
|
+
Position[Position["left"] = 1] = "left";
|
|
138
|
+
Position[Position["bottom"] = 2] = "bottom";
|
|
139
|
+
Position[Position["right"] = 3] = "right";
|
|
140
|
+
})(Position || (Position = {}));
|
|
141
|
+
|
|
29
142
|
class BsAlertComponent {
|
|
30
143
|
constructor() {
|
|
31
144
|
this.type = Color.primary;
|
|
@@ -36,10 +149,10 @@ class BsAlertComponent {
|
|
|
36
149
|
}
|
|
37
150
|
}
|
|
38
151
|
BsAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
-
BsAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsAlertComponent, selector: "bs-alert", inputs: { type: "type" }, ngImport: i0, template: "<div class=\"mb-3 overflow-hidden\" *ngIf=\"isVisible\" [@fadeInOut]>\n <div class=\"alert mb-0\" [ngClass]=\"'alert-' + colors[type]\">\n <ng-content></ng-content>\n </div>\n</div>", styles: ["::ng-deep .alert .btn{bottom:0;display:inline-flex;align-items:center}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
|
|
152
|
+
BsAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsAlertComponent, selector: "bs-alert", inputs: { type: "type" }, ngImport: i0, template: "<div class=\"mb-3 overflow-hidden\" *ngIf=\"isVisible\" [@fadeInOut]>\n <div class=\"alert mb-0\" [ngClass]=\"'alert-' + colors[type]\">\n <ng-content></ng-content>\n </div>\n</div>", styles: ["::ng-deep .alert .btn{bottom:0;display:inline-flex;align-items:center}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [FadeInOutAnimation] });
|
|
40
153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAlertComponent, decorators: [{
|
|
41
154
|
type: Component,
|
|
42
|
-
args: [{ selector: 'bs-alert', animations: [
|
|
155
|
+
args: [{ selector: 'bs-alert', animations: [FadeInOutAnimation], template: "<div class=\"mb-3 overflow-hidden\" *ngIf=\"isVisible\" [@fadeInOut]>\n <div class=\"alert mb-0\" [ngClass]=\"'alert-' + colors[type]\">\n <ng-content></ng-content>\n </div>\n</div>", styles: ["::ng-deep .alert .btn{bottom:0;display:inline-flex;align-items:center}\n"] }]
|
|
43
156
|
}], ctorParameters: function () { return []; }, propDecorators: { type: [{
|
|
44
157
|
type: Input
|
|
45
158
|
}] } });
|
|
@@ -83,63 +196,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
83
196
|
}]
|
|
84
197
|
}] });
|
|
85
198
|
|
|
86
|
-
class BsCardComponent {
|
|
87
|
-
constructor() {
|
|
88
|
-
}
|
|
89
|
-
ngOnInit() {
|
|
90
|
-
}
|
|
91
|
-
ngAfterViewInit() {
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
BsCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
-
BsCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsCardComponent, selector: "bs-card", ngImport: i0, template: "<div class=\"card\" style=\"width: 18rem;\">\n <ng-content select=\"bs-card-header\"></ng-content>\n <div class=\"card-block\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".card-block{margin:-1px}\n"] });
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardComponent, decorators: [{
|
|
97
|
-
type: Component,
|
|
98
|
-
args: [{ selector: 'bs-card', template: "<div class=\"card\" style=\"width: 18rem;\">\n <ng-content select=\"bs-card-header\"></ng-content>\n <div class=\"card-block\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".card-block{margin:-1px}\n"] }]
|
|
99
|
-
}], ctorParameters: function () { return []; } });
|
|
100
|
-
|
|
101
|
-
class BsCardHeaderComponent {
|
|
102
|
-
constructor() {
|
|
103
|
-
}
|
|
104
|
-
ngOnInit() {
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
BsCardHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
108
|
-
BsCardHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsCardHeaderComponent, selector: "bs-card-header", ngImport: i0, template: "<div class=\"card-header\">\n <ng-content></ng-content>\n</div>", styles: [""] });
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardHeaderComponent, decorators: [{
|
|
110
|
-
type: Component,
|
|
111
|
-
args: [{ selector: 'bs-card-header', template: "<div class=\"card-header\">\n <ng-content></ng-content>\n</div>", styles: [""] }]
|
|
112
|
-
}], ctorParameters: function () { return []; } });
|
|
113
|
-
|
|
114
|
-
class BsCardModule {
|
|
115
|
-
}
|
|
116
|
-
BsCardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
117
|
-
BsCardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardModule, declarations: [BsCardComponent,
|
|
118
|
-
BsCardHeaderComponent], imports: [CommonModule], exports: [BsCardComponent,
|
|
119
|
-
BsCardHeaderComponent] });
|
|
120
|
-
BsCardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardModule, imports: [[CommonModule]] });
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardModule, decorators: [{
|
|
122
|
-
type: NgModule,
|
|
123
|
-
args: [{
|
|
124
|
-
imports: [CommonModule],
|
|
125
|
-
declarations: [
|
|
126
|
-
BsCardComponent,
|
|
127
|
-
BsCardHeaderComponent
|
|
128
|
-
],
|
|
129
|
-
exports: [
|
|
130
|
-
BsCardComponent,
|
|
131
|
-
BsCardHeaderComponent
|
|
132
|
-
]
|
|
133
|
-
}]
|
|
134
|
-
}] });
|
|
135
|
-
|
|
136
199
|
class BsCalendarMonthService {
|
|
137
|
-
constructor() {
|
|
138
|
-
}
|
|
139
200
|
getWeeks(month) {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
201
|
+
const firstAndLast = this.getFirstAndLastDayOfMonth(month);
|
|
202
|
+
const days = this.dateDiff(firstAndLast.first, firstAndLast.last) + 1;
|
|
203
|
+
const allDays = [
|
|
143
204
|
...this.generateList(this.dayOfWeekMondayBased(firstAndLast.first)).map(d => null),
|
|
144
205
|
...this.generateList(days).map(d => {
|
|
145
206
|
return {
|
|
@@ -149,8 +210,8 @@ class BsCalendarMonthService {
|
|
|
149
210
|
}),
|
|
150
211
|
...this.generateList(6 - this.dayOfWeekMondayBased(firstAndLast.last)).map(d => null),
|
|
151
212
|
];
|
|
152
|
-
|
|
153
|
-
|
|
213
|
+
const weeks = this.chunk(allDays, 7);
|
|
214
|
+
const weeksMapped = weeks.map((w, i) => {
|
|
154
215
|
return {
|
|
155
216
|
number: this.weekOfYear(new Date(month.getFullYear(), month.getMonth(), w.find(d => d !== null)?.dayOfMonth)),
|
|
156
217
|
week: w
|
|
@@ -162,7 +223,7 @@ class BsCalendarMonthService {
|
|
|
162
223
|
return [...Array(count).keys()];
|
|
163
224
|
}
|
|
164
225
|
dayOfWeekMondayBased(date) {
|
|
165
|
-
|
|
226
|
+
const d = date.getDay() - 1;
|
|
166
227
|
if (d < 0) {
|
|
167
228
|
return 6;
|
|
168
229
|
}
|
|
@@ -171,10 +232,10 @@ class BsCalendarMonthService {
|
|
|
171
232
|
}
|
|
172
233
|
}
|
|
173
234
|
weekOfYear(date) {
|
|
174
|
-
|
|
235
|
+
const dateClone = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));
|
|
175
236
|
dateClone.setUTCDate(dateClone.getUTCDate() + 4 - (dateClone.getUTCDay() || 7));
|
|
176
|
-
|
|
177
|
-
|
|
237
|
+
const yearStart = new Date(Date.UTC(dateClone.getUTCFullYear(), 0, 1));
|
|
238
|
+
const utcDiff = this.toUTC(dateClone) - this.toUTC(yearStart);
|
|
178
239
|
return Math.ceil((utcDiff / (1000 * 60 * 60 * 24) + 1) / 7);
|
|
179
240
|
}
|
|
180
241
|
getFirstAndLastDayOfMonth(date) {
|
|
@@ -197,7 +258,7 @@ class BsCalendarMonthService {
|
|
|
197
258
|
return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate());
|
|
198
259
|
}
|
|
199
260
|
chunk(items, size) {
|
|
200
|
-
|
|
261
|
+
const result = [];
|
|
201
262
|
for (let i = 0; i < items.length; i += size) {
|
|
202
263
|
result.push(items.slice(i, i + size));
|
|
203
264
|
}
|
|
@@ -211,7 +272,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
211
272
|
args: [{
|
|
212
273
|
providedIn: 'root'
|
|
213
274
|
}]
|
|
214
|
-
}]
|
|
275
|
+
}] });
|
|
215
276
|
|
|
216
277
|
class UcFirstPipe {
|
|
217
278
|
transform(value, ...args) {
|
|
@@ -229,7 +290,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
229
290
|
|
|
230
291
|
class MonthNamePipe {
|
|
231
292
|
transform(date, ...args) {
|
|
232
|
-
|
|
293
|
+
if (date) {
|
|
294
|
+
return date.toLocaleString("default", { month: 'long' });
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
return '';
|
|
298
|
+
}
|
|
233
299
|
}
|
|
234
300
|
}
|
|
235
301
|
MonthNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonthNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
@@ -242,58 +308,100 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
242
308
|
}] });
|
|
243
309
|
|
|
244
310
|
class BsCalendarComponent {
|
|
245
|
-
constructor(calendarMonthService) {
|
|
311
|
+
constructor(calendarMonthService, ref) {
|
|
246
312
|
this.calendarMonthService = calendarMonthService;
|
|
247
|
-
this.
|
|
313
|
+
this.ref = ref;
|
|
314
|
+
this.destroyed$ = new Subject();
|
|
315
|
+
//#region CurrentMonth
|
|
316
|
+
this.currentMonth$ = new BehaviorSubject(new Date());
|
|
317
|
+
this.currentMonthChange = new EventEmitter();
|
|
318
|
+
//#endregion
|
|
248
319
|
//#region SelectedDate
|
|
249
|
-
this.selectedDate = new Date();
|
|
320
|
+
this.selectedDate$ = new BehaviorSubject(new Date());
|
|
321
|
+
this.selectedDateChange = new EventEmitter();
|
|
250
322
|
//#endregion
|
|
251
|
-
|
|
252
|
-
this.
|
|
323
|
+
this.daysOfWeek = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];
|
|
324
|
+
this.weeks$ = this.currentMonth$
|
|
325
|
+
.pipe(map((month) => this.calendarMonthService.getWeeks(month)))
|
|
326
|
+
.pipe(takeUntil(this.destroyed$));
|
|
327
|
+
this.daysOfWeek$ = this.weeks$
|
|
328
|
+
.pipe(filter((weeks) => weeks.length > 1))
|
|
329
|
+
.pipe(map((weeks) => weeks[1].week))
|
|
330
|
+
.pipe(map((week) => {
|
|
331
|
+
const firstDay = week[0];
|
|
332
|
+
if (firstDay) {
|
|
333
|
+
return week.map((d) => {
|
|
334
|
+
const date = new Date(firstDay.date.getFullYear(), firstDay.date.getMonth(), d?.dayOfMonth);
|
|
335
|
+
return date.toLocaleString('default', { weekday: 'short' });
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
return [];
|
|
340
|
+
}
|
|
341
|
+
}));
|
|
342
|
+
this.selectedDate$.pipe(takeUntil(this.destroyed$)).subscribe((date) => {
|
|
343
|
+
this.selectedDateChange.emit(date);
|
|
344
|
+
});
|
|
345
|
+
this.currentMonth$.pipe(takeUntil(this.destroyed$)).subscribe((month) => {
|
|
346
|
+
this.currentMonthChange.emit(month);
|
|
347
|
+
});
|
|
253
348
|
}
|
|
254
|
-
|
|
255
|
-
this.
|
|
349
|
+
get currentMonth() {
|
|
350
|
+
return this.currentMonth$.value;
|
|
256
351
|
}
|
|
257
|
-
|
|
258
|
-
|
|
352
|
+
set currentMonth(value) {
|
|
353
|
+
this.currentMonth$.next(value);
|
|
259
354
|
}
|
|
260
|
-
|
|
261
|
-
this.
|
|
262
|
-
this.weeks = this.calendarMonthService.getWeeks(this.month);
|
|
355
|
+
get selectedDate() {
|
|
356
|
+
return this.selectedDate$.value;
|
|
263
357
|
}
|
|
264
|
-
|
|
265
|
-
|
|
358
|
+
set selectedDate(value) {
|
|
359
|
+
this.selectedDate$.next(value);
|
|
266
360
|
}
|
|
267
|
-
|
|
268
|
-
this.
|
|
269
|
-
if (this._weeks.length > 1) {
|
|
270
|
-
this.daysOfWeek = this._weeks[1].week.map(d => {
|
|
271
|
-
let date = new Date(this.month.getFullYear(), this.month.getMonth(), d?.dayOfMonth);
|
|
272
|
-
return date.toLocaleString("default", { weekday: 'short' });
|
|
273
|
-
});
|
|
274
|
-
}
|
|
361
|
+
ngOnDestroy() {
|
|
362
|
+
this.destroyed$.next(true);
|
|
275
363
|
}
|
|
276
|
-
//#endregion
|
|
277
364
|
previousMonth() {
|
|
278
|
-
this.
|
|
365
|
+
this.currentMonth$.pipe(take(1)).subscribe((month) => {
|
|
366
|
+
this.currentMonth$.next(new Date(month.getFullYear(), month.getMonth() - 1, 1));
|
|
367
|
+
});
|
|
279
368
|
return false;
|
|
280
369
|
}
|
|
281
370
|
nextMonth() {
|
|
282
|
-
this.
|
|
371
|
+
this.currentMonth$.pipe(take(1)).subscribe((month) => {
|
|
372
|
+
this.currentMonth$.next(new Date(month.getFullYear(), month.getMonth() + 1, 1));
|
|
373
|
+
});
|
|
283
374
|
return false;
|
|
284
375
|
}
|
|
285
376
|
isSameDate(date1, date2) {
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
377
|
+
if (date1 === null && date2 === null)
|
|
378
|
+
return true;
|
|
379
|
+
if (date1 === null || date2 === null)
|
|
380
|
+
return false;
|
|
381
|
+
return (date1.getFullYear() === date2.getFullYear() &&
|
|
382
|
+
date1.getMonth() === date2.getMonth() &&
|
|
383
|
+
date1.getDate() === date2.getDate());
|
|
384
|
+
}
|
|
385
|
+
goto(day) {
|
|
386
|
+
if (day) {
|
|
387
|
+
this.selectedDate$.next(day.date);
|
|
388
|
+
}
|
|
289
389
|
}
|
|
290
390
|
}
|
|
291
|
-
BsCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCalendarComponent, deps: [{ token: BsCalendarMonthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
292
|
-
BsCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsCalendarComponent, selector: "bs-calendar", ngImport: i0, template: "<table class=\"table w-auto\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <i class=\"bi bi-chevron-left fw-bolder\"></i>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{
|
|
391
|
+
BsCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCalendarComponent, deps: [{ token: BsCalendarMonthService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
392
|
+
BsCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsCalendarComponent, selector: "bs-calendar", inputs: { currentMonth: "currentMonth", selectedDate: "selectedDate" }, outputs: { currentMonthChange: "currentMonthChange", selectedDateChange: "selectedDateChange" }, ngImport: i0, template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <i class=\"bi bi-chevron-left fw-bolder\"></i>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | ucFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <i class=\"bi bi-chevron-right fw-bolder\"></i>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n <th *ngFor=\"let dayOfWeek of daysOfWeek\">\n {{ dayOfWeek }}\n </th>\n </tr>\n <tr *ngFor=\"let week of (weeks$ | async)\">\n <th>\n {{ week.number }}\n </th>\n <td [class.selected]=\"day === null ? false : isSameDate(selectedDate$ | async, day.date)\" *ngFor=\"let day of week.week\" (click)=\"goto(day)\">\n <span *ngIf=\"day !== null\">{{ day.dayOfMonth }}</span>\n </td>\n </tr>\n</table>", styles: ["table{border-collapse:collapse;border:1px solid rgba(0,0,0,.125);background:#fff}table td,table th{width:40px;height:40px;text-align:center}table td span,table th span{cursor:pointer;white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid rgba(0,0,0,.125)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid rgba(0,0,0,.125)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid rgba(0,0,0,.125)}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "ucFirst": UcFirstPipe, "monthName": MonthNamePipe, "async": i1.AsyncPipe } });
|
|
293
393
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCalendarComponent, decorators: [{
|
|
294
394
|
type: Component,
|
|
295
|
-
args: [{ selector: 'bs-calendar', template: "<table class=\"table w-auto\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <i class=\"bi bi-chevron-left fw-bolder\"></i>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{
|
|
296
|
-
}], ctorParameters: function () { return [{ type: BsCalendarMonthService }]; }
|
|
395
|
+
args: [{ selector: 'bs-calendar', template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <i class=\"bi bi-chevron-left fw-bolder\"></i>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | ucFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <i class=\"bi bi-chevron-right fw-bolder\"></i>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n <th *ngFor=\"let dayOfWeek of daysOfWeek\">\n {{ dayOfWeek }}\n </th>\n </tr>\n <tr *ngFor=\"let week of (weeks$ | async)\">\n <th>\n {{ week.number }}\n </th>\n <td [class.selected]=\"day === null ? false : isSameDate(selectedDate$ | async, day.date)\" *ngFor=\"let day of week.week\" (click)=\"goto(day)\">\n <span *ngIf=\"day !== null\">{{ day.dayOfMonth }}</span>\n </td>\n </tr>\n</table>", styles: ["table{border-collapse:collapse;border:1px solid rgba(0,0,0,.125);background:#fff}table td,table th{width:40px;height:40px;text-align:center}table td span,table th span{cursor:pointer;white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid rgba(0,0,0,.125)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid rgba(0,0,0,.125)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid rgba(0,0,0,.125)}\n"] }]
|
|
396
|
+
}], ctorParameters: function () { return [{ type: BsCalendarMonthService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { currentMonthChange: [{
|
|
397
|
+
type: Output
|
|
398
|
+
}], currentMonth: [{
|
|
399
|
+
type: Input
|
|
400
|
+
}], selectedDateChange: [{
|
|
401
|
+
type: Output
|
|
402
|
+
}], selectedDate: [{
|
|
403
|
+
type: Input
|
|
404
|
+
}] } });
|
|
297
405
|
|
|
298
406
|
class BsMonthNamePipeModule {
|
|
299
407
|
}
|
|
@@ -406,6 +514,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
406
514
|
}]
|
|
407
515
|
}] });
|
|
408
516
|
|
|
517
|
+
class BsCardComponent {
|
|
518
|
+
constructor() {
|
|
519
|
+
}
|
|
520
|
+
ngOnInit() {
|
|
521
|
+
}
|
|
522
|
+
ngAfterViewInit() {
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
BsCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
526
|
+
BsCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsCardComponent, selector: "bs-card", ngImport: i0, template: "<div class=\"card\" style=\"width: 18rem;\">\n <ng-content select=\"bs-card-header\"></ng-content>\n <div class=\"card-block\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".card-block{margin:-1px}\n"] });
|
|
527
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardComponent, decorators: [{
|
|
528
|
+
type: Component,
|
|
529
|
+
args: [{ selector: 'bs-card', template: "<div class=\"card\" style=\"width: 18rem;\">\n <ng-content select=\"bs-card-header\"></ng-content>\n <div class=\"card-block\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".card-block{margin:-1px}\n"] }]
|
|
530
|
+
}], ctorParameters: function () { return []; } });
|
|
531
|
+
|
|
532
|
+
class BsCardHeaderComponent {
|
|
533
|
+
constructor() {
|
|
534
|
+
}
|
|
535
|
+
ngOnInit() {
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
BsCardHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
539
|
+
BsCardHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsCardHeaderComponent, selector: "bs-card-header", ngImport: i0, template: "<div class=\"card-header\">\n <ng-content></ng-content>\n</div>", styles: [""] });
|
|
540
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardHeaderComponent, decorators: [{
|
|
541
|
+
type: Component,
|
|
542
|
+
args: [{ selector: 'bs-card-header', template: "<div class=\"card-header\">\n <ng-content></ng-content>\n</div>", styles: [""] }]
|
|
543
|
+
}], ctorParameters: function () { return []; } });
|
|
544
|
+
|
|
545
|
+
class BsCardModule {
|
|
546
|
+
}
|
|
547
|
+
BsCardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
548
|
+
BsCardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardModule, declarations: [BsCardComponent,
|
|
549
|
+
BsCardHeaderComponent], imports: [CommonModule], exports: [BsCardComponent,
|
|
550
|
+
BsCardHeaderComponent] });
|
|
551
|
+
BsCardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardModule, imports: [[CommonModule]] });
|
|
552
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCardModule, decorators: [{
|
|
553
|
+
type: NgModule,
|
|
554
|
+
args: [{
|
|
555
|
+
imports: [CommonModule],
|
|
556
|
+
declarations: [
|
|
557
|
+
BsCardComponent,
|
|
558
|
+
BsCardHeaderComponent
|
|
559
|
+
],
|
|
560
|
+
exports: [
|
|
561
|
+
BsCardComponent,
|
|
562
|
+
BsCardHeaderComponent
|
|
563
|
+
]
|
|
564
|
+
}]
|
|
565
|
+
}] });
|
|
566
|
+
|
|
409
567
|
class BsCarouselImageDirective {
|
|
410
568
|
constructor(templateRef) {
|
|
411
569
|
this.templateRef = templateRef;
|
|
@@ -423,20 +581,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
423
581
|
|
|
424
582
|
class BsCarouselComponent {
|
|
425
583
|
constructor() {
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
this.
|
|
584
|
+
this.animationsDisabled = false;
|
|
585
|
+
//#region Animation
|
|
586
|
+
this._animation = 'slide';
|
|
587
|
+
//#endregion
|
|
429
588
|
this.destroyed$ = new Subject();
|
|
430
589
|
this.currentImageCounter$ = new BehaviorSubject(-1);
|
|
431
590
|
this.currentImageIndex$ = this.currentImageCounter$
|
|
432
|
-
.pipe(map((counter) => {
|
|
591
|
+
.pipe(map$1((counter) => {
|
|
433
592
|
const l = this.images.length;
|
|
434
593
|
return ((counter % l) + l) % l;
|
|
435
594
|
}))
|
|
436
|
-
.pipe(takeUntil(this.destroyed$));
|
|
595
|
+
.pipe(takeUntil$1(this.destroyed$));
|
|
437
596
|
this.currentImage$ = this.currentImageIndex$
|
|
438
|
-
.pipe(map((index) => this.images.get(index)?.itemTemplate ?? null))
|
|
439
|
-
.pipe(takeUntil(this.destroyed$));
|
|
597
|
+
.pipe(map$1((index) => this.images.get(index)?.itemTemplate ?? null))
|
|
598
|
+
.pipe(takeUntil$1(this.destroyed$));
|
|
440
599
|
}
|
|
441
600
|
ngOnInit() { }
|
|
442
601
|
ngOnDestroy() {
|
|
@@ -450,16 +609,26 @@ class BsCarouselComponent {
|
|
|
450
609
|
this.currentImageCounter$.next(-1);
|
|
451
610
|
}
|
|
452
611
|
}
|
|
612
|
+
set animation(value) {
|
|
613
|
+
this.animationsDisabled = true;
|
|
614
|
+
this._animation = value;
|
|
615
|
+
setTimeout(() => {
|
|
616
|
+
this.animationsDisabled = false;
|
|
617
|
+
}, 20);
|
|
618
|
+
}
|
|
619
|
+
get animation() {
|
|
620
|
+
return this._animation;
|
|
621
|
+
}
|
|
453
622
|
previousImage() {
|
|
454
623
|
this.currentImageCounter$
|
|
455
|
-
.pipe(take(1))
|
|
624
|
+
.pipe(take$1(1))
|
|
456
625
|
.subscribe((currentImageCounter) => {
|
|
457
626
|
this.currentImageCounter$.next(currentImageCounter - 1);
|
|
458
627
|
});
|
|
459
628
|
}
|
|
460
629
|
nextImage() {
|
|
461
630
|
this.currentImageCounter$
|
|
462
|
-
.pipe(take(1))
|
|
631
|
+
.pipe(take$1(1))
|
|
463
632
|
.subscribe((currentImageCounter) => {
|
|
464
633
|
this.currentImageCounter$.next(currentImageCounter + 1);
|
|
465
634
|
});
|
|
@@ -473,11 +642,14 @@ class BsCarouselComponent {
|
|
|
473
642
|
}
|
|
474
643
|
}
|
|
475
644
|
BsCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
476
|
-
BsCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsCarouselComponent, selector: "bs-carousel", inputs: { animation: "animation" }, queries: [{ propertyName: "images", predicate: BsCarouselImageDirective }], ngImport: i0, template: "<div class=\"carousel slide\">\n <div class=\"carousel-indicators\">\n <button *ngFor=\"let image of images; let i = index\" type=\"button\" (click)=\"setCurrentImage(i)\"\n [class.active]=\"(currentImageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(currentImageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n\n <div class=\"carousel-inner\" [@carouselSlide]=\"currentImageCounter$ | async\" *ngIf=\"animation === 'slide'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <div class=\"carousel-inner\" *ngIf=\"animation === 'fade'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n</div>", styles: [".carousel{min-height:100px}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i1.AsyncPipe }, animations: [FadeInOutAnimation, CarouselSlideAnimation] });
|
|
645
|
+
BsCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsCarouselComponent, selector: "bs-carousel", inputs: { animation: "animation" }, host: { properties: { "@.disabled": "this.animationsDisabled" } }, queries: [{ propertyName: "images", predicate: BsCarouselImageDirective }], ngImport: i0, template: "<div class=\"carousel slide\">\n <div class=\"carousel-indicators\">\n <button *ngFor=\"let image of images; let i = index\" type=\"button\" (click)=\"setCurrentImage(i)\"\n [class.active]=\"(currentImageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(currentImageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n\n <div class=\"carousel-inner\" [@carouselSlide]=\"currentImageCounter$ | async\" *ngIf=\"animation === 'slide'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <div class=\"carousel-inner\" *ngIf=\"animation === 'fade'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n</div>", styles: [".carousel{min-height:100px}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i1.AsyncPipe }, animations: [FadeInOutAnimation, CarouselSlideAnimation] });
|
|
477
646
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCarouselComponent, decorators: [{
|
|
478
647
|
type: Component,
|
|
479
648
|
args: [{ selector: 'bs-carousel', animations: [FadeInOutAnimation, CarouselSlideAnimation], template: "<div class=\"carousel slide\">\n <div class=\"carousel-indicators\">\n <button *ngFor=\"let image of images; let i = index\" type=\"button\" (click)=\"setCurrentImage(i)\"\n [class.active]=\"(currentImageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(currentImageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n\n <div class=\"carousel-inner\" [@carouselSlide]=\"currentImageCounter$ | async\" *ngIf=\"animation === 'slide'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <div class=\"carousel-inner\" *ngIf=\"animation === 'fade'\">\n <ng-container *ngFor=\"let image of images; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"(currentImageIndex$ | async) === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n</div>", styles: [".carousel{min-height:100px}\n"] }]
|
|
480
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
649
|
+
}], ctorParameters: function () { return []; }, propDecorators: { animationsDisabled: [{
|
|
650
|
+
type: HostBinding,
|
|
651
|
+
args: ['@.disabled']
|
|
652
|
+
}], animation: [{
|
|
481
653
|
type: Input
|
|
482
654
|
}], images: [{
|
|
483
655
|
type: ContentChildren,
|
|
@@ -510,25 +682,105 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
510
682
|
}]
|
|
511
683
|
}] });
|
|
512
684
|
|
|
513
|
-
class
|
|
514
|
-
constructor(templateRef) {
|
|
515
|
-
this.
|
|
685
|
+
class BsContextMenuDirective {
|
|
686
|
+
constructor(overlay, templateRef, viewContainerRef, element) {
|
|
687
|
+
this.overlay = overlay;
|
|
516
688
|
this.templateRef = templateRef;
|
|
689
|
+
this.viewContainerRef = viewContainerRef;
|
|
690
|
+
this.element = element;
|
|
691
|
+
this.overlayRef = null;
|
|
692
|
+
this.templatePortal = null;
|
|
693
|
+
this.element.nativeElement.oncontextmenu = (ev) => {
|
|
694
|
+
ev.preventDefault();
|
|
695
|
+
this.checkAndCloseExisting(ev);
|
|
696
|
+
this.overlayRef = this.overlay.create({
|
|
697
|
+
scrollStrategy: this.overlay.scrollStrategies.noop(),
|
|
698
|
+
positionStrategy: this.overlay.position()
|
|
699
|
+
.global()
|
|
700
|
+
.left(ev.x + 'px')
|
|
701
|
+
.bottom((window.innerHeight - ev.y) + 'px')
|
|
702
|
+
.top(ev.y + 'px')
|
|
703
|
+
});
|
|
704
|
+
this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);
|
|
705
|
+
this.overlayRef.attach(this.templatePortal);
|
|
706
|
+
};
|
|
707
|
+
}
|
|
708
|
+
clickAnywhere(ev) {
|
|
709
|
+
this.checkAndCloseExisting(ev);
|
|
710
|
+
}
|
|
711
|
+
close() {
|
|
712
|
+
if (this.overlayRef) {
|
|
713
|
+
this.overlayRef.detach();
|
|
714
|
+
this.overlayRef.dispose();
|
|
715
|
+
this.overlayRef = null;
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
checkAndCloseExisting(ev) {
|
|
719
|
+
if (this.overlayRef && !this.overlayRef.overlayElement.contains(ev.target)) {
|
|
720
|
+
this.close();
|
|
721
|
+
}
|
|
517
722
|
}
|
|
518
723
|
}
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type:
|
|
724
|
+
BsContextMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsContextMenuDirective, deps: [{ token: i1$1.Overlay }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ElementRef, host: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
725
|
+
BsContextMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsContextMenuDirective, selector: "[bsContextMenu]", host: { listeners: { "document:click": "clickAnywhere($event)", "window:blur": "close()" } }, ngImport: i0 });
|
|
726
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsContextMenuDirective, decorators: [{
|
|
522
727
|
type: Directive,
|
|
523
728
|
args: [{
|
|
524
|
-
selector: '[
|
|
729
|
+
selector: '[bsContextMenu]'
|
|
525
730
|
}]
|
|
526
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }
|
|
527
|
-
|
|
731
|
+
}], ctorParameters: function () { return [{ type: i1$1.Overlay }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i0.ElementRef, decorators: [{
|
|
732
|
+
type: Host
|
|
733
|
+
}, {
|
|
734
|
+
type: SkipSelf
|
|
735
|
+
}] }]; }, propDecorators: { clickAnywhere: [{
|
|
736
|
+
type: HostListener,
|
|
737
|
+
args: ['document:click', ['$event']]
|
|
738
|
+
}], close: [{
|
|
739
|
+
type: HostListener,
|
|
740
|
+
args: ['window:blur']
|
|
528
741
|
}] } });
|
|
529
742
|
|
|
530
|
-
class
|
|
531
|
-
|
|
743
|
+
class BsContextMenuModule {
|
|
744
|
+
}
|
|
745
|
+
BsContextMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
746
|
+
BsContextMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsContextMenuModule, declarations: [BsContextMenuDirective], imports: [CommonModule], exports: [BsContextMenuDirective] });
|
|
747
|
+
BsContextMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsContextMenuModule, imports: [[
|
|
748
|
+
CommonModule
|
|
749
|
+
]] });
|
|
750
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsContextMenuModule, decorators: [{
|
|
751
|
+
type: NgModule,
|
|
752
|
+
args: [{
|
|
753
|
+
declarations: [
|
|
754
|
+
BsContextMenuDirective
|
|
755
|
+
],
|
|
756
|
+
imports: [
|
|
757
|
+
CommonModule
|
|
758
|
+
],
|
|
759
|
+
exports: [
|
|
760
|
+
BsContextMenuDirective
|
|
761
|
+
]
|
|
762
|
+
}]
|
|
763
|
+
}] });
|
|
764
|
+
|
|
765
|
+
class BsDatatableColumnDirective {
|
|
766
|
+
constructor(templateRef) {
|
|
767
|
+
this.bsDatatableColumn = { name: '', sortable: true };
|
|
768
|
+
this.templateRef = templateRef;
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
BsDatatableColumnDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatatableColumnDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
772
|
+
BsDatatableColumnDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsDatatableColumnDirective, selector: "[bsDatatableColumn]", inputs: { bsDatatableColumn: "bsDatatableColumn" }, ngImport: i0 });
|
|
773
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatatableColumnDirective, decorators: [{
|
|
774
|
+
type: Directive,
|
|
775
|
+
args: [{
|
|
776
|
+
selector: '[bsDatatableColumn]'
|
|
777
|
+
}]
|
|
778
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { bsDatatableColumn: [{
|
|
779
|
+
type: Input
|
|
780
|
+
}] } });
|
|
781
|
+
|
|
782
|
+
class DatatableSettings {
|
|
783
|
+
constructor(data) {
|
|
532
784
|
this.sortProperty = '';
|
|
533
785
|
this.sortDirection = 'ascending';
|
|
534
786
|
Object.assign(this, data);
|
|
@@ -588,8 +840,8 @@ class BsPaginationComponent {
|
|
|
588
840
|
this.destroyed$ = new Subject();
|
|
589
841
|
this.visibleNumberOfNumberBoxes$ =
|
|
590
842
|
combineLatest([this.numberOfBoxes$, this.pageNumbers$, this.showArrows$])
|
|
591
|
-
.pipe(takeUntil
|
|
592
|
-
.pipe(map
|
|
843
|
+
.pipe(takeUntil(this.destroyed$))
|
|
844
|
+
.pipe(map(([numberOfBoxes, pageNumbers, showArrows]) => {
|
|
593
845
|
if (numberOfBoxes <= 0) {
|
|
594
846
|
return pageNumbers.length;
|
|
595
847
|
}
|
|
@@ -605,8 +857,8 @@ class BsPaginationComponent {
|
|
|
605
857
|
}));
|
|
606
858
|
this.shownPageNumbers$ =
|
|
607
859
|
combineLatest([this.pageNumbers$, this.selectedPageNumber$, this.visibleNumberOfNumberBoxes$])
|
|
608
|
-
.pipe(takeUntil
|
|
609
|
-
.pipe(map
|
|
860
|
+
.pipe(takeUntil(this.destroyed$))
|
|
861
|
+
.pipe(map(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes]) => {
|
|
610
862
|
let startIndex = 0;
|
|
611
863
|
const half = Math.round((visibleNumberOfNumberBoxes - 1) / 2);
|
|
612
864
|
if (pageNumbers.indexOf(selectedPageNumber) < half) {
|
|
@@ -627,18 +879,18 @@ class BsPaginationComponent {
|
|
|
627
879
|
}));
|
|
628
880
|
this.isFirstPage$ =
|
|
629
881
|
combineLatest([this.pageNumbers$, this.selectedPageNumber$])
|
|
630
|
-
.pipe(takeUntil
|
|
631
|
-
.pipe(map
|
|
882
|
+
.pipe(takeUntil(this.destroyed$))
|
|
883
|
+
.pipe(map(([pageNumbers, selectedPageNumber]) => {
|
|
632
884
|
return pageNumbers.indexOf(selectedPageNumber) === 0;
|
|
633
885
|
}));
|
|
634
886
|
this.isLastPage$ =
|
|
635
887
|
combineLatest([this.pageNumbers$, this.selectedPageNumber$])
|
|
636
|
-
.pipe(takeUntil
|
|
637
|
-
.pipe(map
|
|
888
|
+
.pipe(takeUntil(this.destroyed$))
|
|
889
|
+
.pipe(map(([pageNumbers, selectedPageNumber]) => {
|
|
638
890
|
return pageNumbers.indexOf(selectedPageNumber) === (pageNumbers.length - 1);
|
|
639
891
|
}));
|
|
640
892
|
this.selectedPageNumber$
|
|
641
|
-
.pipe(takeUntil
|
|
893
|
+
.pipe(takeUntil(this.destroyed$))
|
|
642
894
|
.subscribe((selectedPageNumber) => {
|
|
643
895
|
this.selectedPageNumberChange.emit(selectedPageNumber);
|
|
644
896
|
});
|
|
@@ -820,6 +1072,242 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
820
1072
|
}]
|
|
821
1073
|
}] });
|
|
822
1074
|
|
|
1075
|
+
class BsDropdownMenuDirective extends ClickOutsideDirective {
|
|
1076
|
+
constructor(dropdown, document, viewContainerRef, templateRef, overlay, elementRef, zone, platformId) {
|
|
1077
|
+
super(elementRef, zone, platformId);
|
|
1078
|
+
this.dropdown = dropdown;
|
|
1079
|
+
this.viewContainerRef = viewContainerRef;
|
|
1080
|
+
this.templateRef = templateRef;
|
|
1081
|
+
this.overlay = overlay;
|
|
1082
|
+
this.wait = false;
|
|
1083
|
+
this.destroyed$ = new Subject();
|
|
1084
|
+
this.overlayRef = null;
|
|
1085
|
+
this.templatePortal = null;
|
|
1086
|
+
this.document = document;
|
|
1087
|
+
this.dropdown.isOpen$
|
|
1088
|
+
.pipe(takeUntil(this.destroyed$))
|
|
1089
|
+
.subscribe((isOpen) => {
|
|
1090
|
+
if (isOpen) {
|
|
1091
|
+
this.wait = true;
|
|
1092
|
+
setTimeout(() => this.wait = false, 100);
|
|
1093
|
+
this.overlayRef = this.overlay.create({
|
|
1094
|
+
hasBackdrop: this.dropdown.hasBackdrop,
|
|
1095
|
+
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
1096
|
+
positionStrategy: this.overlay.position()
|
|
1097
|
+
.flexibleConnectedTo(!this.dropdown.toggle ? dropdown.elementRef : this.dropdown.toggle.toggleButton)
|
|
1098
|
+
.withPositions([
|
|
1099
|
+
{ originX: "start", originY: "bottom", overlayX: "start", overlayY: "top", offsetY: 0 },
|
|
1100
|
+
{ originX: "start", originY: "top", overlayX: "start", overlayY: "bottom", offsetY: 0 },
|
|
1101
|
+
]),
|
|
1102
|
+
});
|
|
1103
|
+
if (this.dropdown.hasBackdrop && this.dropdown.closeOnClickOutside) {
|
|
1104
|
+
this.overlayRef.backdropClick().subscribe(() => {
|
|
1105
|
+
this.dropdown.isOpen = false;
|
|
1106
|
+
});
|
|
1107
|
+
}
|
|
1108
|
+
this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);
|
|
1109
|
+
this.overlayRef.attach(this.templatePortal);
|
|
1110
|
+
}
|
|
1111
|
+
else {
|
|
1112
|
+
if (this.overlayRef) {
|
|
1113
|
+
this.overlayRef.detach();
|
|
1114
|
+
this.overlayRef.dispose();
|
|
1115
|
+
this.overlayRef = null;
|
|
1116
|
+
}
|
|
1117
|
+
}
|
|
1118
|
+
});
|
|
1119
|
+
}
|
|
1120
|
+
clickedOutside(ev) {
|
|
1121
|
+
if (!this.wait) {
|
|
1122
|
+
if (!this.overlayRef?.overlayElement.contains(ev.target)) {
|
|
1123
|
+
this.dropdown.isOpen$.pipe(take(1)).subscribe((isOpen) => {
|
|
1124
|
+
if (isOpen && !this.dropdown.hasBackdrop && this.dropdown.closeOnClickOutside) {
|
|
1125
|
+
this.dropdown.isOpen = false;
|
|
1126
|
+
}
|
|
1127
|
+
});
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1130
|
+
}
|
|
1131
|
+
}
|
|
1132
|
+
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$1.Overlay }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1133
|
+
BsDropdownMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]", host: { listeners: { "clickOutside": "clickedOutside($event)" }, properties: { "class.show": "dropdown.isOpen" } }, usesInheritance: true, ngImport: i0 });
|
|
1134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownMenuDirective, decorators: [{
|
|
1135
|
+
type: Directive,
|
|
1136
|
+
args: [{
|
|
1137
|
+
selector: '[bsDropdownMenu]',
|
|
1138
|
+
host: {
|
|
1139
|
+
'[class.show]': 'dropdown.isOpen',
|
|
1140
|
+
},
|
|
1141
|
+
}]
|
|
1142
|
+
}], ctorParameters: function () { return [{ type: BsDropdownDirective, decorators: [{
|
|
1143
|
+
type: Inject,
|
|
1144
|
+
args: [forwardRef(() => BsDropdownDirective)]
|
|
1145
|
+
}] }, { type: undefined, decorators: [{
|
|
1146
|
+
type: Inject,
|
|
1147
|
+
args: [DOCUMENT]
|
|
1148
|
+
}] }, { type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i1$1.Overlay }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: Object, decorators: [{
|
|
1149
|
+
type: Inject,
|
|
1150
|
+
args: [PLATFORM_ID]
|
|
1151
|
+
}] }]; }, propDecorators: { clickedOutside: [{
|
|
1152
|
+
type: HostListener,
|
|
1153
|
+
args: ['clickOutside', ['$event']]
|
|
1154
|
+
}] } });
|
|
1155
|
+
|
|
1156
|
+
class BsDropdownToggleDirective {
|
|
1157
|
+
constructor(dropdown, toggleButton) {
|
|
1158
|
+
this.dropdown = dropdown;
|
|
1159
|
+
this.toggleButton = toggleButton;
|
|
1160
|
+
}
|
|
1161
|
+
onClick() {
|
|
1162
|
+
this.dropdown.isOpen$.pipe(take(1)).subscribe((isOpen) => {
|
|
1163
|
+
this.dropdown.isOpen$.next(!isOpen);
|
|
1164
|
+
});
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
BsDropdownToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownToggleDirective, deps: [{ token: BsDropdownDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1168
|
+
BsDropdownToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsDropdownToggleDirective, selector: "[bsDropdownToggle]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
|
|
1169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownToggleDirective, decorators: [{
|
|
1170
|
+
type: Directive,
|
|
1171
|
+
args: [{
|
|
1172
|
+
selector: '[bsDropdownToggle]'
|
|
1173
|
+
}]
|
|
1174
|
+
}], ctorParameters: function () { return [{ type: BsDropdownDirective }, { type: i0.ElementRef }]; }, propDecorators: { onClick: [{
|
|
1175
|
+
type: HostListener,
|
|
1176
|
+
args: ['click']
|
|
1177
|
+
}] } });
|
|
1178
|
+
|
|
1179
|
+
class BsDropdownDirective {
|
|
1180
|
+
constructor(elementRef) {
|
|
1181
|
+
this.isOpen$ = new BehaviorSubject(false);
|
|
1182
|
+
this.toggle = null;
|
|
1183
|
+
this.hasBackdrop = false;
|
|
1184
|
+
this.sameWidth = false;
|
|
1185
|
+
this.closeOnClickOutside = false;
|
|
1186
|
+
this.isOpenChange = new EventEmitter();
|
|
1187
|
+
this.elementRef = elementRef;
|
|
1188
|
+
}
|
|
1189
|
+
//#region IsOpen
|
|
1190
|
+
get isOpen() {
|
|
1191
|
+
return this.isOpen$.value;
|
|
1192
|
+
}
|
|
1193
|
+
set isOpen(value) {
|
|
1194
|
+
if (this.isOpen$.value !== value) {
|
|
1195
|
+
this.isOpen$.next(value);
|
|
1196
|
+
this.isOpenChange.emit(value);
|
|
1197
|
+
}
|
|
1198
|
+
}
|
|
1199
|
+
//#endregion
|
|
1200
|
+
onBlur() {
|
|
1201
|
+
this.isOpen = false;
|
|
1202
|
+
}
|
|
1203
|
+
}
|
|
1204
|
+
BsDropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1205
|
+
BsDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsDropdownDirective, selector: "[bsDropdown]", inputs: { hasBackdrop: "hasBackdrop", sameWidth: "sameWidth", closeOnClickOutside: "closeOnClickOutside", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, host: { listeners: { "window:blur": "onBlur()" } }, queries: [{ propertyName: "menu", first: true, predicate: BsDropdownMenuDirective, descendants: true }, { propertyName: "toggle", first: true, predicate: BsDropdownToggleDirective, descendants: true }], ngImport: i0 });
|
|
1206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownDirective, decorators: [{
|
|
1207
|
+
type: Directive,
|
|
1208
|
+
args: [{
|
|
1209
|
+
selector: '[bsDropdown]'
|
|
1210
|
+
}]
|
|
1211
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { menu: [{
|
|
1212
|
+
type: ContentChild,
|
|
1213
|
+
args: [BsDropdownMenuDirective, { static: false }]
|
|
1214
|
+
}], toggle: [{
|
|
1215
|
+
type: ContentChild,
|
|
1216
|
+
args: [BsDropdownToggleDirective, { static: false }]
|
|
1217
|
+
}], hasBackdrop: [{
|
|
1218
|
+
type: Input
|
|
1219
|
+
}], sameWidth: [{
|
|
1220
|
+
type: Input
|
|
1221
|
+
}], closeOnClickOutside: [{
|
|
1222
|
+
type: Input
|
|
1223
|
+
}], isOpenChange: [{
|
|
1224
|
+
type: Output
|
|
1225
|
+
}], isOpen: [{
|
|
1226
|
+
type: Input
|
|
1227
|
+
}], onBlur: [{
|
|
1228
|
+
type: HostListener,
|
|
1229
|
+
args: ['window:blur']
|
|
1230
|
+
}] } });
|
|
1231
|
+
|
|
1232
|
+
class BsDatepickerComponent {
|
|
1233
|
+
constructor() {
|
|
1234
|
+
this.selectedDate = new Date();
|
|
1235
|
+
this.currentMonth = new Date();
|
|
1236
|
+
}
|
|
1237
|
+
ngOnInit() {
|
|
1238
|
+
}
|
|
1239
|
+
}
|
|
1240
|
+
BsDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1241
|
+
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: BsCalendarComponent, selector: "bs-calendar", inputs: ["currentMonth", "selectedDate"], outputs: ["currentMonthChange", "selectedDateChange"] }], directives: [{ type: BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "isOpen"], outputs: ["isOpenChange"] }, { type: BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }], pipes: { "date": i1.DatePipe } });
|
|
1242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerComponent, decorators: [{
|
|
1243
|
+
type: Component,
|
|
1244
|
+
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: [""] }]
|
|
1245
|
+
}], ctorParameters: function () { return []; } });
|
|
1246
|
+
|
|
1247
|
+
class BsDropdownModule {
|
|
1248
|
+
}
|
|
1249
|
+
BsDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1250
|
+
BsDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownModule, declarations: [BsDropdownDirective,
|
|
1251
|
+
BsDropdownToggleDirective,
|
|
1252
|
+
BsDropdownMenuDirective], imports: [CommonModule,
|
|
1253
|
+
OverlayModule,
|
|
1254
|
+
ClickOutsideModule], exports: [BsDropdownDirective,
|
|
1255
|
+
BsDropdownToggleDirective,
|
|
1256
|
+
BsDropdownMenuDirective] });
|
|
1257
|
+
BsDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownModule, imports: [[
|
|
1258
|
+
CommonModule,
|
|
1259
|
+
OverlayModule,
|
|
1260
|
+
ClickOutsideModule
|
|
1261
|
+
]] });
|
|
1262
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownModule, decorators: [{
|
|
1263
|
+
type: NgModule,
|
|
1264
|
+
args: [{
|
|
1265
|
+
declarations: [
|
|
1266
|
+
BsDropdownDirective,
|
|
1267
|
+
BsDropdownToggleDirective,
|
|
1268
|
+
BsDropdownMenuDirective
|
|
1269
|
+
],
|
|
1270
|
+
imports: [
|
|
1271
|
+
CommonModule,
|
|
1272
|
+
OverlayModule,
|
|
1273
|
+
ClickOutsideModule
|
|
1274
|
+
],
|
|
1275
|
+
exports: [
|
|
1276
|
+
BsDropdownDirective,
|
|
1277
|
+
BsDropdownToggleDirective,
|
|
1278
|
+
BsDropdownMenuDirective
|
|
1279
|
+
]
|
|
1280
|
+
}]
|
|
1281
|
+
}] });
|
|
1282
|
+
|
|
1283
|
+
class BsDatepickerModule {
|
|
1284
|
+
}
|
|
1285
|
+
BsDatepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1286
|
+
BsDatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerModule, declarations: [BsDatepickerComponent], imports: [CommonModule,
|
|
1287
|
+
BsCalendarModule,
|
|
1288
|
+
BsDropdownModule], exports: [BsDatepickerComponent] });
|
|
1289
|
+
BsDatepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerModule, imports: [[
|
|
1290
|
+
CommonModule,
|
|
1291
|
+
BsCalendarModule,
|
|
1292
|
+
BsDropdownModule
|
|
1293
|
+
]] });
|
|
1294
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerModule, decorators: [{
|
|
1295
|
+
type: NgModule,
|
|
1296
|
+
args: [{
|
|
1297
|
+
declarations: [
|
|
1298
|
+
BsDatepickerComponent
|
|
1299
|
+
],
|
|
1300
|
+
imports: [
|
|
1301
|
+
CommonModule,
|
|
1302
|
+
BsCalendarModule,
|
|
1303
|
+
BsDropdownModule
|
|
1304
|
+
],
|
|
1305
|
+
exports: [
|
|
1306
|
+
BsDatepickerComponent
|
|
1307
|
+
]
|
|
1308
|
+
}]
|
|
1309
|
+
}] });
|
|
1310
|
+
|
|
823
1311
|
class BsListGroupItemComponent {
|
|
824
1312
|
constructor() {
|
|
825
1313
|
}
|
|
@@ -871,46 +1359,142 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
871
1359
|
}]
|
|
872
1360
|
}] });
|
|
873
1361
|
|
|
1362
|
+
class BsMultiselectComponent {
|
|
1363
|
+
constructor() {
|
|
1364
|
+
this.items = [];
|
|
1365
|
+
this.selectedItems = [];
|
|
1366
|
+
}
|
|
1367
|
+
itemChange(item, event) {
|
|
1368
|
+
if (!!event.target.checked) {
|
|
1369
|
+
this.selectedItems.push(item);
|
|
1370
|
+
}
|
|
1371
|
+
else {
|
|
1372
|
+
this.selectedItems.splice(this.selectedItems.findIndex((i) => i === item), 1);
|
|
1373
|
+
}
|
|
1374
|
+
}
|
|
1375
|
+
ngOnInit() {
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
BsMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1379
|
+
BsMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsMultiselectComponent, selector: "bs-multiselect", inputs: { items: "items", selectedItems: "selectedItems" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], 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 mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <hr class=\"my-2\">\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: [".mw-250px{min-width:250px}\n"], directives: [{ type: BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "isOpen"], outputs: ["isOpenChange"] }, { type: BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
1380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectComponent, decorators: [{
|
|
1381
|
+
type: Component,
|
|
1382
|
+
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 mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <hr class=\"my-2\">\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: [".mw-250px{min-width:250px}\n"] }]
|
|
1383
|
+
}], ctorParameters: function () { return []; }, propDecorators: { template: [{
|
|
1384
|
+
type: ContentChild,
|
|
1385
|
+
args: [TemplateRef]
|
|
1386
|
+
}], items: [{
|
|
1387
|
+
type: Input
|
|
1388
|
+
}], selectedItems: [{
|
|
1389
|
+
type: Input
|
|
1390
|
+
}] } });
|
|
1391
|
+
|
|
1392
|
+
class BsMultiselectModule {
|
|
1393
|
+
}
|
|
1394
|
+
BsMultiselectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1395
|
+
BsMultiselectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, declarations: [BsMultiselectComponent], imports: [CommonModule,
|
|
1396
|
+
BsDropdownModule,
|
|
1397
|
+
FocusOnLoadModule], exports: [BsMultiselectComponent] });
|
|
1398
|
+
BsMultiselectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, imports: [[
|
|
1399
|
+
CommonModule,
|
|
1400
|
+
BsDropdownModule,
|
|
1401
|
+
FocusOnLoadModule,
|
|
1402
|
+
]] });
|
|
1403
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, decorators: [{
|
|
1404
|
+
type: NgModule,
|
|
1405
|
+
args: [{
|
|
1406
|
+
declarations: [
|
|
1407
|
+
BsMultiselectComponent
|
|
1408
|
+
],
|
|
1409
|
+
imports: [
|
|
1410
|
+
CommonModule,
|
|
1411
|
+
BsDropdownModule,
|
|
1412
|
+
FocusOnLoadModule,
|
|
1413
|
+
],
|
|
1414
|
+
exports: [
|
|
1415
|
+
BsMultiselectComponent
|
|
1416
|
+
]
|
|
1417
|
+
}]
|
|
1418
|
+
}] });
|
|
1419
|
+
|
|
874
1420
|
class BsNavbarComponent {
|
|
875
1421
|
constructor() {
|
|
876
|
-
this.isExpanded = false;
|
|
1422
|
+
this.isExpanded$ = new BehaviorSubject(false);
|
|
877
1423
|
}
|
|
878
1424
|
toggleExpanded() {
|
|
879
|
-
this.isExpanded
|
|
1425
|
+
this.isExpanded$.pipe(take(1)).subscribe((isExpanded) => {
|
|
1426
|
+
this.isExpanded$.next(!isExpanded);
|
|
1427
|
+
});
|
|
880
1428
|
}
|
|
881
1429
|
}
|
|
882
1430
|
BsNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
883
|
-
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\"
|
|
1431
|
+
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\">\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"] });
|
|
884
1432
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarComponent, decorators: [{
|
|
885
1433
|
type: Component,
|
|
886
|
-
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\"
|
|
887
|
-
}],
|
|
1434
|
+
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\">\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"] }]
|
|
1435
|
+
}], propDecorators: { nav: [{
|
|
888
1436
|
type: ViewChild,
|
|
889
1437
|
args: ['nav']
|
|
890
1438
|
}] } });
|
|
891
1439
|
|
|
892
1440
|
class BsNavbarNavComponent {
|
|
893
1441
|
constructor(bsNavbar) {
|
|
894
|
-
|
|
895
|
-
this.
|
|
1442
|
+
this.collapse$ = new BehaviorSubject(true);
|
|
1443
|
+
this.windowWidth$ = new BehaviorSubject(null);
|
|
1444
|
+
this.isResizing$ = new BehaviorSubject(false);
|
|
1445
|
+
this.destroyed$ = new Subject();
|
|
896
1446
|
this.bsNavbar = bsNavbar;
|
|
1447
|
+
this.showNavs$ = combineLatest([this.bsNavbar.isExpanded$, this.windowWidth$])
|
|
1448
|
+
.pipe(filter(([isExpanded, windowWidth]) => {
|
|
1449
|
+
return windowWidth !== null;
|
|
1450
|
+
}))
|
|
1451
|
+
.pipe(map(([isExpanded, windowWidth]) => {
|
|
1452
|
+
if (windowWidth === null) {
|
|
1453
|
+
throw 'windowWidth should not be null here';
|
|
1454
|
+
}
|
|
1455
|
+
else if (windowWidth >= 768) {
|
|
1456
|
+
return true;
|
|
1457
|
+
}
|
|
1458
|
+
else if (isExpanded) {
|
|
1459
|
+
return true;
|
|
1460
|
+
}
|
|
1461
|
+
else {
|
|
1462
|
+
return false;
|
|
1463
|
+
}
|
|
1464
|
+
}));
|
|
1465
|
+
this.windowWidth$
|
|
1466
|
+
.pipe(debounceTime(300), takeUntil(this.destroyed$))
|
|
1467
|
+
.subscribe(() => {
|
|
1468
|
+
this.isResizing$.next(false);
|
|
1469
|
+
});
|
|
1470
|
+
this.onWindowResize();
|
|
897
1471
|
}
|
|
898
|
-
|
|
1472
|
+
ngOnDestroy() {
|
|
1473
|
+
this.destroyed$.next(true);
|
|
899
1474
|
}
|
|
1475
|
+
//#region collapse
|
|
900
1476
|
set collapse(value) {
|
|
901
|
-
this.
|
|
1477
|
+
this.collapse$.next(value);
|
|
902
1478
|
}
|
|
903
1479
|
get collapse() {
|
|
904
|
-
return this.
|
|
1480
|
+
return this.collapse$.value;
|
|
1481
|
+
}
|
|
1482
|
+
//#endregion
|
|
1483
|
+
onWindowResize() {
|
|
1484
|
+
this.isResizing$.next(true);
|
|
1485
|
+
this.windowWidth$.next(window.innerWidth);
|
|
905
1486
|
}
|
|
906
1487
|
}
|
|
907
1488
|
BsNavbarNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarNavComponent, deps: [{ token: BsNavbarComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
908
|
-
BsNavbarNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarNavComponent, selector: "bs-navbar-nav", inputs: { collapse: "collapse" }, ngImport: i0, template: "<div class=\"navbar-collapse
|
|
1489
|
+
BsNavbarNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarNavComponent, selector: "bs-navbar-nav", inputs: { collapse: "collapse" }, host: { listeners: { "window:resize": "onWindowResize()" } }, ngImport: i0, template: "<div class=\"navbar-collapse w-100 show\" [class.collapse]=\"collapse$ | async\" *ngIf=\"showNavs$ | async\" [@slideUpDown] [@.disabled]=\"isResizing$ | async\">\n <ul class=\"navbar-nav mr-auto\">\n <ng-content></ng-content>\n </ul>\n</div>", styles: [":host{margin-right:auto}@media screen and (max-width: 767px){:host{width:100%!important}.navbar-collapse.collapse{overflow:hidden}}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i1.AsyncPipe }, animations: [SlideUpDownAnimation] });
|
|
909
1490
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarNavComponent, decorators: [{
|
|
910
1491
|
type: Component,
|
|
911
|
-
args: [{ selector: 'bs-navbar-nav', animations: [SlideUpDownAnimation], template: "<div class=\"navbar-collapse
|
|
1492
|
+
args: [{ selector: 'bs-navbar-nav', animations: [SlideUpDownAnimation], template: "<div class=\"navbar-collapse w-100 show\" [class.collapse]=\"collapse$ | async\" *ngIf=\"showNavs$ | async\" [@slideUpDown] [@.disabled]=\"isResizing$ | async\">\n <ul class=\"navbar-nav mr-auto\">\n <ng-content></ng-content>\n </ul>\n</div>", styles: [":host{margin-right:auto}@media screen and (max-width: 767px){:host{width:100%!important}.navbar-collapse.collapse{overflow:hidden}}\n"] }]
|
|
912
1493
|
}], ctorParameters: function () { return [{ type: BsNavbarComponent }]; }, propDecorators: { collapse: [{
|
|
913
1494
|
type: Input
|
|
1495
|
+
}], onWindowResize: [{
|
|
1496
|
+
type: HostListener,
|
|
1497
|
+
args: ['window:resize']
|
|
914
1498
|
}] } });
|
|
915
1499
|
|
|
916
1500
|
class BsNavbarItemComponent {
|
|
@@ -969,7 +1553,7 @@ class BsNavbarDropdownComponent {
|
|
|
969
1553
|
}
|
|
970
1554
|
}
|
|
971
1555
|
BsNavbarDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarDropdownComponent, deps: [{ token: BsNavbarDropdownComponent, host: true, optional: true, skipSelf: true }, { token: forwardRef(() => BsNavbarItemComponent), host: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
972
|
-
BsNavbarDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarDropdownComponent, selector: "bs-navbar-dropdown", queries: [{ propertyName: "childDropdowns", predicate: i0.forwardRef(function () { return BsNavbarDropdownComponent; }), descendants: true }], ngImport: i0, template: "<ul class=\"dropdown-menu\" [class.show]=\"isVisible\" [class.submenu]=\"!!parentDropdown\" (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>", styles: ["@media (max-width: 767px){.submenu{margin-left:.5rem;margin-right:.5rem}}@media (min-width: 768px){.submenu{position:absolute;left:100%;top:-1px}}\n"], directives: [{ type: i1$
|
|
1556
|
+
BsNavbarDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarDropdownComponent, selector: "bs-navbar-dropdown", queries: [{ propertyName: "childDropdowns", predicate: i0.forwardRef(function () { return BsNavbarDropdownComponent; }), descendants: true }], ngImport: i0, template: "<ul class=\"dropdown-menu\" [class.show]=\"isVisible\" [class.submenu]=\"!!parentDropdown\" (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>", styles: ["@media (max-width: 767px){.submenu{margin-left:.5rem;margin-right:.5rem}}@media (min-width: 768px){.submenu{position:absolute;left:100%;top:-1px}}\n"], directives: [{ type: i1$2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }] });
|
|
973
1557
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarDropdownComponent, decorators: [{
|
|
974
1558
|
type: Component,
|
|
975
1559
|
args: [{ selector: 'bs-navbar-dropdown', template: "<ul class=\"dropdown-menu\" [class.show]=\"isVisible\" [class.submenu]=\"!!parentDropdown\" (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>", styles: ["@media (max-width: 767px){.submenu{margin-left:.5rem;margin-right:.5rem}}@media (min-width: 768px){.submenu{position:absolute;left:100%;top:-1px}}\n"] }]
|
|
@@ -1128,97 +1712,619 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
1128
1712
|
}]
|
|
1129
1713
|
}] });
|
|
1130
1714
|
|
|
1131
|
-
class
|
|
1132
|
-
constructor(
|
|
1133
|
-
this.
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
}
|
|
1137
|
-
headerClicked(event) {
|
|
1138
|
-
if (this.accordion.activeTab === this) {
|
|
1139
|
-
this.accordion.activeTab = null;
|
|
1140
|
-
}
|
|
1141
|
-
else {
|
|
1142
|
-
this.accordion.activeTab = this;
|
|
1143
|
-
}
|
|
1715
|
+
class BsProgressComponent {
|
|
1716
|
+
constructor() {
|
|
1717
|
+
this.progressClass = true;
|
|
1718
|
+
this.height = null;
|
|
1719
|
+
this.isIndeterminate = false;
|
|
1144
1720
|
}
|
|
1145
1721
|
}
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type:
|
|
1722
|
+
BsProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1723
|
+
BsProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", 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"] }] });
|
|
1724
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsProgressComponent, decorators: [{
|
|
1149
1725
|
type: Component,
|
|
1150
|
-
args: [{ selector: 'bs-
|
|
1151
|
-
}],
|
|
1726
|
+
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"] }]
|
|
1727
|
+
}], propDecorators: { progressClass: [{
|
|
1728
|
+
type: HostBinding,
|
|
1729
|
+
args: ['class.progress']
|
|
1730
|
+
}], height: [{
|
|
1731
|
+
type: Input
|
|
1732
|
+
}, {
|
|
1733
|
+
type: HostBinding,
|
|
1734
|
+
args: ['style.height.px']
|
|
1735
|
+
}], isIndeterminate: [{
|
|
1736
|
+
type: Input
|
|
1737
|
+
}] } });
|
|
1152
1738
|
|
|
1153
|
-
class
|
|
1739
|
+
class BsProgressBarComponent {
|
|
1154
1740
|
constructor() {
|
|
1155
|
-
this.
|
|
1741
|
+
this.destroyed$ = new Subject();
|
|
1742
|
+
this.minimum$ = new BehaviorSubject(0);
|
|
1743
|
+
this.maximum$ = new BehaviorSubject(100);
|
|
1744
|
+
this.value$ = new BehaviorSubject(50);
|
|
1745
|
+
this.color$ = new BehaviorSubject(Color.primary);
|
|
1746
|
+
this.striped = false;
|
|
1747
|
+
this.animated = false;
|
|
1748
|
+
this.progressBar = true;
|
|
1749
|
+
this.colorClass = 'bg-primary';
|
|
1750
|
+
this.widthStyle = '0';
|
|
1751
|
+
this.role = 'progressbar';
|
|
1752
|
+
this.valueNow = 50;
|
|
1753
|
+
this.valueMin = 0;
|
|
1754
|
+
this.valueMax = 100;
|
|
1755
|
+
this.percentage$ = combineLatest([this.minimum$, this.maximum$, this.value$])
|
|
1756
|
+
.pipe(map(([minimum, maximum, value]) => {
|
|
1757
|
+
return (value - minimum) / (maximum - minimum) * 100;
|
|
1758
|
+
}));
|
|
1759
|
+
this.width$ = this.percentage$
|
|
1760
|
+
.pipe(map((width) => {
|
|
1761
|
+
return String(width) + '%';
|
|
1762
|
+
}));
|
|
1763
|
+
this.colorClass$ = this.color$
|
|
1764
|
+
.pipe(map((color) => {
|
|
1765
|
+
const name = Color[color];
|
|
1766
|
+
return `bg-${name}`;
|
|
1767
|
+
}));
|
|
1768
|
+
this.colorClass$
|
|
1769
|
+
.pipe(takeUntil(this.destroyed$))
|
|
1770
|
+
.subscribe((color) => {
|
|
1771
|
+
this.colorClass = color;
|
|
1772
|
+
});
|
|
1773
|
+
this.width$
|
|
1774
|
+
.pipe(takeUntil(this.destroyed$))
|
|
1775
|
+
.subscribe((width) => {
|
|
1776
|
+
this.widthStyle = width;
|
|
1777
|
+
});
|
|
1778
|
+
this.value$
|
|
1779
|
+
.pipe(takeUntil(this.destroyed$))
|
|
1780
|
+
.subscribe((value) => {
|
|
1781
|
+
this.valueNow = value;
|
|
1782
|
+
});
|
|
1783
|
+
this.minimum$
|
|
1784
|
+
.pipe(takeUntil(this.destroyed$))
|
|
1785
|
+
.subscribe((value) => {
|
|
1786
|
+
this.valueMin = value;
|
|
1787
|
+
});
|
|
1788
|
+
this.maximum$
|
|
1789
|
+
.pipe(takeUntil(this.destroyed$))
|
|
1790
|
+
.subscribe((value) => {
|
|
1791
|
+
this.valueMax = value;
|
|
1792
|
+
});
|
|
1156
1793
|
}
|
|
1157
|
-
|
|
1794
|
+
set minimum(value) {
|
|
1795
|
+
this.minimum$.next(value);
|
|
1158
1796
|
}
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
BsAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsAccordionComponent, selector: "bs-accordion", queries: [{ propertyName: "tabPages", predicate: BsAccordionTabComponent }], ngImport: i0, template: "<ng-content></ng-content>", styles: [""] });
|
|
1162
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAccordionComponent, decorators: [{
|
|
1163
|
-
type: Component,
|
|
1164
|
-
args: [{ selector: 'bs-accordion', template: "<ng-content></ng-content>", styles: [""] }]
|
|
1165
|
-
}], ctorParameters: function () { return []; }, propDecorators: { tabPages: [{
|
|
1166
|
-
type: ContentChildren,
|
|
1167
|
-
args: [BsAccordionTabComponent]
|
|
1168
|
-
}] } });
|
|
1169
|
-
|
|
1170
|
-
class BsAccordionTabHeaderComponent {
|
|
1171
|
-
constructor(accordionTab, accordion) {
|
|
1172
|
-
this.accordionTab = accordionTab;
|
|
1173
|
-
this.accordion = accordion;
|
|
1797
|
+
set maximum(value) {
|
|
1798
|
+
this.maximum$.next(value);
|
|
1174
1799
|
}
|
|
1175
|
-
|
|
1800
|
+
set value(value) {
|
|
1801
|
+
this.value$.next(value);
|
|
1176
1802
|
}
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
this.accordion.activeTab = this.accordionTab;
|
|
1183
|
-
}
|
|
1803
|
+
set color(value) {
|
|
1804
|
+
this.color$.next(value);
|
|
1805
|
+
}
|
|
1806
|
+
ngOnDestroy() {
|
|
1807
|
+
this.destroyed$.next(true);
|
|
1184
1808
|
}
|
|
1185
1809
|
}
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type:
|
|
1810
|
+
BsProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1811
|
+
BsProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", 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: [""] });
|
|
1812
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsProgressBarComponent, decorators: [{
|
|
1189
1813
|
type: Component,
|
|
1190
|
-
args: [{ selector: 'bs-
|
|
1191
|
-
}], ctorParameters: function () { return [
|
|
1814
|
+
args: [{ selector: 'bs-progress-bar', template: "", styles: [""] }]
|
|
1815
|
+
}], ctorParameters: function () { return []; }, propDecorators: { minimum: [{
|
|
1816
|
+
type: Input
|
|
1817
|
+
}], maximum: [{
|
|
1818
|
+
type: Input
|
|
1819
|
+
}], value: [{
|
|
1820
|
+
type: Input
|
|
1821
|
+
}], color: [{
|
|
1822
|
+
type: Input
|
|
1823
|
+
}], striped: [{
|
|
1824
|
+
type: Input
|
|
1825
|
+
}, {
|
|
1826
|
+
type: HostBinding,
|
|
1827
|
+
args: ['class.progress-bar-striped']
|
|
1828
|
+
}], animated: [{
|
|
1829
|
+
type: Input
|
|
1830
|
+
}, {
|
|
1831
|
+
type: HostBinding,
|
|
1832
|
+
args: ['class.progress-bar-animated']
|
|
1833
|
+
}], progressBar: [{
|
|
1834
|
+
type: HostBinding,
|
|
1835
|
+
args: ['class.progress-bar']
|
|
1836
|
+
}], colorClass: [{
|
|
1837
|
+
type: HostBinding,
|
|
1838
|
+
args: ['class']
|
|
1839
|
+
}], widthStyle: [{
|
|
1840
|
+
type: HostBinding,
|
|
1841
|
+
args: ['style.width']
|
|
1842
|
+
}], role: [{
|
|
1843
|
+
type: HostBinding,
|
|
1844
|
+
args: ['attr.role']
|
|
1845
|
+
}], valueNow: [{
|
|
1846
|
+
type: HostBinding,
|
|
1847
|
+
args: ['attr.aria-valuenow']
|
|
1848
|
+
}], valueMin: [{
|
|
1849
|
+
type: HostBinding,
|
|
1850
|
+
args: ['attr.aria-valuemin']
|
|
1851
|
+
}], valueMax: [{
|
|
1852
|
+
type: HostBinding,
|
|
1853
|
+
args: ['attr.aria-valuemax']
|
|
1854
|
+
}] } });
|
|
1192
1855
|
|
|
1193
|
-
class
|
|
1856
|
+
class BsProgressBarModule {
|
|
1194
1857
|
}
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
BsAccordionTabHeaderComponent] });
|
|
1202
|
-
BsAccordionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsAccordionModule, imports: [[
|
|
1203
|
-
CommonModule,
|
|
1204
|
-
BrowserAnimationsModule
|
|
1858
|
+
BsProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1859
|
+
BsProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsProgressBarModule, declarations: [BsProgressBarComponent,
|
|
1860
|
+
BsProgressComponent], imports: [CommonModule], exports: [BsProgressBarComponent,
|
|
1861
|
+
BsProgressComponent] });
|
|
1862
|
+
BsProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsProgressBarModule, imports: [[
|
|
1863
|
+
CommonModule
|
|
1205
1864
|
]] });
|
|
1206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type:
|
|
1865
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsProgressBarModule, decorators: [{
|
|
1207
1866
|
type: NgModule,
|
|
1208
1867
|
args: [{
|
|
1209
1868
|
declarations: [
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1869
|
+
BsProgressBarComponent,
|
|
1870
|
+
BsProgressComponent
|
|
1871
|
+
],
|
|
1872
|
+
imports: [
|
|
1873
|
+
CommonModule
|
|
1874
|
+
],
|
|
1875
|
+
exports: [
|
|
1876
|
+
BsProgressBarComponent,
|
|
1877
|
+
BsProgressComponent
|
|
1878
|
+
]
|
|
1879
|
+
}]
|
|
1880
|
+
}] });
|
|
1881
|
+
|
|
1882
|
+
class BsScrollOffsetService {
|
|
1883
|
+
constructor(routerConfig) {
|
|
1884
|
+
this.routerConfig = routerConfig;
|
|
1885
|
+
}
|
|
1886
|
+
getScrollOffset() {
|
|
1887
|
+
if (!this.routerConfig.scrollOffset) {
|
|
1888
|
+
return [0, 0];
|
|
1889
|
+
}
|
|
1890
|
+
else if (Array.isArray(this.routerConfig.scrollOffset)) {
|
|
1891
|
+
return this.routerConfig.scrollOffset;
|
|
1892
|
+
}
|
|
1893
|
+
else {
|
|
1894
|
+
return this.routerConfig.scrollOffset();
|
|
1895
|
+
}
|
|
1896
|
+
}
|
|
1897
|
+
}
|
|
1898
|
+
BsScrollOffsetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollOffsetService, deps: [{ token: ROUTER_CONFIGURATION }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1899
|
+
BsScrollOffsetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollOffsetService, providedIn: 'root' });
|
|
1900
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollOffsetService, decorators: [{
|
|
1901
|
+
type: Injectable,
|
|
1902
|
+
args: [{
|
|
1903
|
+
providedIn: 'root'
|
|
1904
|
+
}]
|
|
1905
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1906
|
+
type: Inject,
|
|
1907
|
+
args: [ROUTER_CONFIGURATION]
|
|
1908
|
+
}] }]; } });
|
|
1909
|
+
|
|
1910
|
+
class BsScrollspyDirective {
|
|
1911
|
+
constructor(element) {
|
|
1912
|
+
this.element = element;
|
|
1913
|
+
}
|
|
1914
|
+
}
|
|
1915
|
+
BsScrollspyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1916
|
+
BsScrollspyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsScrollspyDirective, selector: "[bsScrollspy]", ngImport: i0 });
|
|
1917
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyDirective, decorators: [{
|
|
1918
|
+
type: Directive,
|
|
1919
|
+
args: [{
|
|
1920
|
+
selector: '[bsScrollspy]'
|
|
1921
|
+
}]
|
|
1922
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
1923
|
+
|
|
1924
|
+
class BsScrollspyComponent {
|
|
1925
|
+
constructor(scrollOffsetService, document, zone) {
|
|
1926
|
+
this.scrollOffsetService = scrollOffsetService;
|
|
1927
|
+
this.zone = zone;
|
|
1928
|
+
this.destroyed$ = new Subject();
|
|
1929
|
+
this.viewInit$ = new BehaviorSubject(false);
|
|
1930
|
+
this.contentInit$ = new BehaviorSubject(false);
|
|
1931
|
+
this.activeDirective = null;
|
|
1932
|
+
this.doc = document;
|
|
1933
|
+
combineLatest([this.viewInit$, this.contentInit$])
|
|
1934
|
+
.pipe(filter(([viewInit, contentInit]) => viewInit && contentInit), take(1))
|
|
1935
|
+
.pipe(takeUntil(this.destroyed$))
|
|
1936
|
+
.subscribe(() => {
|
|
1937
|
+
// this.setActiveDirective();
|
|
1938
|
+
this.scrollToCurrentInSpy();
|
|
1939
|
+
});
|
|
1940
|
+
}
|
|
1941
|
+
ngAfterViewInit() {
|
|
1942
|
+
this.viewInit$.next(true);
|
|
1943
|
+
}
|
|
1944
|
+
ngAfterContentInit() {
|
|
1945
|
+
this.contentInit$.next(true);
|
|
1946
|
+
}
|
|
1947
|
+
ngOnDestroy() {
|
|
1948
|
+
this.destroyed$.next(true);
|
|
1949
|
+
}
|
|
1950
|
+
onWindowScroll() {
|
|
1951
|
+
this.setActiveDirective();
|
|
1952
|
+
this.scrollToCurrentInSpy();
|
|
1953
|
+
}
|
|
1954
|
+
setActiveDirective() {
|
|
1955
|
+
const offsetY = this.scrollOffsetService.getScrollOffset()[1];
|
|
1956
|
+
const dirs = this.directives.filter((d) => d.element.nativeElement.getBoundingClientRect().y < offsetY);
|
|
1957
|
+
if (this.directives.length === 0) {
|
|
1958
|
+
this.activeDirective = null;
|
|
1959
|
+
}
|
|
1960
|
+
else if (dirs.length === 0) {
|
|
1961
|
+
this.activeDirective = this.directives.get(0) ?? null;
|
|
1962
|
+
}
|
|
1963
|
+
else {
|
|
1964
|
+
this.activeDirective = dirs[dirs.length - 1];
|
|
1965
|
+
}
|
|
1966
|
+
}
|
|
1967
|
+
scrollToCurrentInSpy() {
|
|
1968
|
+
if (window && (window.innerWidth >= 768)) {
|
|
1969
|
+
if (this.activeDirective) {
|
|
1970
|
+
const index = this.directives.toArray().findIndex((v, i) => v === this.activeDirective);
|
|
1971
|
+
const anchor = this.anchors.get(index);
|
|
1972
|
+
if (anchor && anchor.nativeElement.parentElement) {
|
|
1973
|
+
anchor.nativeElement.scrollIntoView({ block: 'nearest', inline: 'nearest' });
|
|
1974
|
+
}
|
|
1975
|
+
}
|
|
1976
|
+
}
|
|
1977
|
+
}
|
|
1978
|
+
scrollToHeader(directive) {
|
|
1979
|
+
const header = directive.element.nativeElement;
|
|
1980
|
+
const offsetY = this.scrollOffsetService.getScrollOffset()[1];
|
|
1981
|
+
const y = header.getBoundingClientRect().top + window.scrollY - offsetY + 1;
|
|
1982
|
+
window.scrollTo({ top: y, behavior: 'smooth' });
|
|
1983
|
+
}
|
|
1984
|
+
}
|
|
1985
|
+
BsScrollspyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyComponent, deps: [{ token: BsScrollOffsetService }, { token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1986
|
+
BsScrollspyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsScrollspyComponent, selector: "bs-scrollspy", host: { listeners: { "window:scroll": "onWindowScroll($event)" } }, queries: [{ propertyName: "directives", predicate: BsScrollspyDirective, descendants: true }], viewQueries: [{ propertyName: "anchors", predicate: ["anchor"], descendants: true }], ngImport: i0, template: "<div class=\"spy\">\n <ul class=\"text-muted\">\n <li *ngFor=\"let dir of directives; let i = index\">\n <span [attr.data-index]=\"i\" class=\"cursor-pointer\" [ngClass]=\"'nav' + dir.element.nativeElement.tagName\" [class.fw-bold]=\"activeDirective?.element === dir.element\" (click)=\"scrollToHeader(dir)\" [title]=\"dir.element.nativeElement.textContent\" #anchor>\n {{ dir.element.nativeElement.textContent }}\n </span>\n </li>\n </ul>\n</div>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:block}.spy>ul{list-style-type:none;padding-left:0}.spy>ul>li:hover{color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.spy>ul>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){:host{display:grid;grid-template-areas:\"content toc\";grid-template-columns:auto 200px;grid-template-rows:auto;grid-gap:inherit;gap:inherit;grid-area:main}.spy{position:sticky;top:5rem;right:0;z-index:2;height:calc(100vh - 7rem);overflow-y:auto;grid-area:toc}.spy>ul{padding-left:2rem}}.navH2{margin-left:20px}.navH3{margin-left:40px}.navH4{margin-left:60px}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
1987
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyComponent, decorators: [{
|
|
1988
|
+
type: Component,
|
|
1989
|
+
args: [{ selector: 'bs-scrollspy', template: "<div class=\"spy\">\n <ul class=\"text-muted\">\n <li *ngFor=\"let dir of directives; let i = index\">\n <span [attr.data-index]=\"i\" class=\"cursor-pointer\" [ngClass]=\"'nav' + dir.element.nativeElement.tagName\" [class.fw-bold]=\"activeDirective?.element === dir.element\" (click)=\"scrollToHeader(dir)\" [title]=\"dir.element.nativeElement.textContent\" #anchor>\n {{ dir.element.nativeElement.textContent }}\n </span>\n </li>\n </ul>\n</div>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:block}.spy>ul{list-style-type:none;padding-left:0}.spy>ul>li:hover{color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.spy>ul>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){:host{display:grid;grid-template-areas:\"content toc\";grid-template-columns:auto 200px;grid-template-rows:auto;grid-gap:inherit;gap:inherit;grid-area:main}.spy{position:sticky;top:5rem;right:0;z-index:2;height:calc(100vh - 7rem);overflow-y:auto;grid-area:toc}.spy>ul{padding-left:2rem}}.navH2{margin-left:20px}.navH3{margin-left:40px}.navH4{margin-left:60px}\n"] }]
|
|
1990
|
+
}], ctorParameters: function () { return [{ type: BsScrollOffsetService }, { type: undefined, decorators: [{
|
|
1991
|
+
type: Inject,
|
|
1992
|
+
args: [DOCUMENT]
|
|
1993
|
+
}] }, { type: i0.NgZone }]; }, propDecorators: { directives: [{
|
|
1994
|
+
type: ContentChildren,
|
|
1995
|
+
args: [BsScrollspyDirective, { descendants: true }]
|
|
1996
|
+
}], anchors: [{
|
|
1997
|
+
type: ViewChildren,
|
|
1998
|
+
args: ['anchor']
|
|
1999
|
+
}], onWindowScroll: [{
|
|
2000
|
+
type: HostListener,
|
|
2001
|
+
args: ['window:scroll', ['$event']]
|
|
2002
|
+
}] } });
|
|
2003
|
+
|
|
2004
|
+
class BsScrollspyModule {
|
|
2005
|
+
}
|
|
2006
|
+
BsScrollspyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2007
|
+
BsScrollspyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyModule, declarations: [BsScrollspyComponent,
|
|
2008
|
+
BsScrollspyDirective], imports: [CommonModule], exports: [BsScrollspyComponent,
|
|
2009
|
+
BsScrollspyDirective] });
|
|
2010
|
+
BsScrollspyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyModule, imports: [[
|
|
2011
|
+
CommonModule
|
|
2012
|
+
]] });
|
|
2013
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyModule, decorators: [{
|
|
2014
|
+
type: NgModule,
|
|
2015
|
+
args: [{
|
|
2016
|
+
declarations: [
|
|
2017
|
+
BsScrollspyComponent,
|
|
2018
|
+
BsScrollspyDirective
|
|
2019
|
+
],
|
|
2020
|
+
imports: [
|
|
2021
|
+
CommonModule
|
|
2022
|
+
],
|
|
2023
|
+
exports: [
|
|
2024
|
+
BsScrollspyComponent,
|
|
2025
|
+
BsScrollspyDirective
|
|
2026
|
+
]
|
|
2027
|
+
}]
|
|
2028
|
+
}] });
|
|
2029
|
+
|
|
2030
|
+
class BsInListPipe {
|
|
2031
|
+
transform(items, parameter) {
|
|
2032
|
+
return items.some(item => item.id === parameter);
|
|
2033
|
+
}
|
|
2034
|
+
}
|
|
2035
|
+
BsInListPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsInListPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
2036
|
+
BsInListPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsInListPipe, name: "inList" });
|
|
2037
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsInListPipe, decorators: [{
|
|
2038
|
+
type: Pipe,
|
|
2039
|
+
args: [{
|
|
2040
|
+
name: 'inList'
|
|
2041
|
+
}]
|
|
2042
|
+
}] });
|
|
2043
|
+
|
|
2044
|
+
class BsSelect2Component {
|
|
2045
|
+
constructor() {
|
|
2046
|
+
this.isOpen = false;
|
|
2047
|
+
this.suggestions$ = new BehaviorSubject([]);
|
|
2048
|
+
this.isLoading$ = new BehaviorSubject(false);
|
|
2049
|
+
this.hostWidth$ = new BehaviorSubject(200);
|
|
2050
|
+
this.searchterm = '';
|
|
2051
|
+
this.suggestions = [];
|
|
2052
|
+
this.provideSuggestions = new EventEmitter();
|
|
2053
|
+
this.selectedItems = [];
|
|
2054
|
+
this.isFocused = false;
|
|
2055
|
+
this.charWidth = 10;
|
|
2056
|
+
this.searchWidth = 20;
|
|
2057
|
+
}
|
|
2058
|
+
ngAfterViewInit() {
|
|
2059
|
+
this.onResize();
|
|
2060
|
+
}
|
|
2061
|
+
onProvideSuggestions(value) {
|
|
2062
|
+
this.searchWidth = this.charWidth * (this.searchterm.length + 2);
|
|
2063
|
+
if (value === '') {
|
|
2064
|
+
this.isOpen = false;
|
|
2065
|
+
this.suggestions$.next([]);
|
|
2066
|
+
}
|
|
2067
|
+
else {
|
|
2068
|
+
this.isLoading$.next(true);
|
|
2069
|
+
this.isOpen = true;
|
|
2070
|
+
this.provideSuggestions.emit(value);
|
|
2071
|
+
}
|
|
2072
|
+
}
|
|
2073
|
+
onSuggestionClicked(suggestion) {
|
|
2074
|
+
this.searchterm = '';
|
|
2075
|
+
this.isOpen = false;
|
|
2076
|
+
const existing = this.selectedItems.find((value, index) => value.id === suggestion.id);
|
|
2077
|
+
if (existing === undefined) {
|
|
2078
|
+
this.selectedItems.push(suggestion);
|
|
2079
|
+
}
|
|
2080
|
+
else {
|
|
2081
|
+
this.selectedItems.splice(this.selectedItems.indexOf(existing), 1);
|
|
2082
|
+
}
|
|
2083
|
+
this.searchBox.nativeElement.focus();
|
|
2084
|
+
}
|
|
2085
|
+
onRemoveItem(item, event) {
|
|
2086
|
+
event.stopPropagation();
|
|
2087
|
+
this.selectedItems.splice(this.selectedItems.indexOf(item), 1);
|
|
2088
|
+
this.focus();
|
|
2089
|
+
}
|
|
2090
|
+
ngOnInit() {
|
|
2091
|
+
}
|
|
2092
|
+
onResize() {
|
|
2093
|
+
this.hostWidth$.next(this.itemsBox.nativeElement.offsetWidth);
|
|
2094
|
+
}
|
|
2095
|
+
focus() {
|
|
2096
|
+
this.searchBox.nativeElement.focus();
|
|
2097
|
+
}
|
|
2098
|
+
}
|
|
2099
|
+
BsSelect2Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSelect2Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2100
|
+
BsSelect2Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsSelect2Component, selector: "bs-select2", inputs: { searchterm: "searchterm", suggestions: "suggestions", selectedItems: "selectedItems" }, outputs: { provideSuggestions: "provideSuggestions" }, host: { listeners: { "window:resize": "onResize()", "click": "focus()" }, properties: { "class.focus": "this.isFocused" } }, viewQueries: [{ propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }, { propertyName: "itemsBox", first: true, predicate: ["itemsBox"], descendants: true }, { propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true, static: true }], ngImport: i0, template: "<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [closeOnClickOutside]=\"true\" #itemsBox class=\"items-box\">\n <ng-container *ngFor=\"let item of selectedItems\">\n <ng-container *ngTemplateOutlet=\"itemTemplate ?? defaultItemTemplate; context: { item: item, select2: this }\"></ng-container>\n </ng-container>\n\n <input type=\"text\" autocomplete=\"off\"\n [(ngModel)]=\"searchterm\"\n (ngModelChange)=\"onProvideSuggestions($event)\"\n (focus)=\"isFocused=true\"\n (blur)=\"isFocused=false\"\n [style.width.px]=\"searchWidth\"\n #searchBox />\n <div *bsDropdownMenu>\n <ul class=\"dropdown-menu d-block position-static p-0\" [style.width.px]=\"hostWidth$ | async\">\n <li *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [class.selected]=\"selectedItems | inList:suggestion.id\">{{ suggestion.text }}</li>\n </ul>\n </div>\n</div>\n\n<ng-template #defaultItemTemplate let-item=\"item\" let-select2=\"select2\">\n <span class=\"select2-item\">\n <span (click)=\"select2.onRemoveItem(item,$event)\">\u00D7</span>\n {{ item.text }}\n </span>\n</ng-template>\n", styles: [".items-box{display:block;position:relative;width:100%;min-height:38px;padding:0 5px 3px;cursor:text;border:1px solid #ccc}.items-box .select2-item{display:inline-block;background-color:#e4e4e4;color:#1a1a1a;border:1px solid #aaa;border-radius:4px;margin-top:5px;margin-right:5px;padding:0 5px;cursor:default;user-select:none;-webkit-user-select:none}.items-box .select2-item>span{cursor:pointer;color:#999}.items-box .select2-item>span:hover{color:#333}.items-box input{border:none;outline:0;margin:5px 0 2px;background:none}:host{display:block;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host.focus{color:#495057;background-color:#fff;border-color:#80bdff!important;outline:0;box-shadow:0 0 0 .2rem #007bff40}ul{max-height:200px;overflow-y:auto}ul>li{padding:10px;cursor:pointer}ul>li.selected{background:#ddd}ul>li:hover{color:#fff;background-color:#5897fb}\n"], directives: [{ type: BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "isOpen"], outputs: ["isOpenChange"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }], pipes: { "async": i1.AsyncPipe, "inList": BsInListPipe } });
|
|
2101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSelect2Component, decorators: [{
|
|
2102
|
+
type: Component,
|
|
2103
|
+
args: [{ selector: 'bs-select2', template: "<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [closeOnClickOutside]=\"true\" #itemsBox class=\"items-box\">\n <ng-container *ngFor=\"let item of selectedItems\">\n <ng-container *ngTemplateOutlet=\"itemTemplate ?? defaultItemTemplate; context: { item: item, select2: this }\"></ng-container>\n </ng-container>\n\n <input type=\"text\" autocomplete=\"off\"\n [(ngModel)]=\"searchterm\"\n (ngModelChange)=\"onProvideSuggestions($event)\"\n (focus)=\"isFocused=true\"\n (blur)=\"isFocused=false\"\n [style.width.px]=\"searchWidth\"\n #searchBox />\n <div *bsDropdownMenu>\n <ul class=\"dropdown-menu d-block position-static p-0\" [style.width.px]=\"hostWidth$ | async\">\n <li *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [class.selected]=\"selectedItems | inList:suggestion.id\">{{ suggestion.text }}</li>\n </ul>\n </div>\n</div>\n\n<ng-template #defaultItemTemplate let-item=\"item\" let-select2=\"select2\">\n <span class=\"select2-item\">\n <span (click)=\"select2.onRemoveItem(item,$event)\">\u00D7</span>\n {{ item.text }}\n </span>\n</ng-template>\n", styles: [".items-box{display:block;position:relative;width:100%;min-height:38px;padding:0 5px 3px;cursor:text;border:1px solid #ccc}.items-box .select2-item{display:inline-block;background-color:#e4e4e4;color:#1a1a1a;border:1px solid #aaa;border-radius:4px;margin-top:5px;margin-right:5px;padding:0 5px;cursor:default;user-select:none;-webkit-user-select:none}.items-box .select2-item>span{cursor:pointer;color:#999}.items-box .select2-item>span:hover{color:#333}.items-box input{border:none;outline:0;margin:5px 0 2px;background:none}:host{display:block;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host.focus{color:#495057;background-color:#fff;border-color:#80bdff!important;outline:0;box-shadow:0 0 0 .2rem #007bff40}ul{max-height:200px;overflow-y:auto}ul>li{padding:10px;cursor:pointer}ul>li.selected{background:#ddd}ul>li:hover{color:#fff;background-color:#5897fb}\n"] }]
|
|
2104
|
+
}], ctorParameters: function () { return []; }, propDecorators: { searchBox: [{
|
|
2105
|
+
type: ViewChild,
|
|
2106
|
+
args: ['searchBox']
|
|
2107
|
+
}], itemsBox: [{
|
|
2108
|
+
type: ViewChild,
|
|
2109
|
+
args: ['itemsBox']
|
|
2110
|
+
}], searchterm: [{
|
|
2111
|
+
type: Input
|
|
2112
|
+
}], suggestions: [{
|
|
2113
|
+
type: Input
|
|
2114
|
+
}], provideSuggestions: [{
|
|
2115
|
+
type: Output
|
|
2116
|
+
}], selectedItems: [{
|
|
2117
|
+
type: Input
|
|
2118
|
+
}], isFocused: [{
|
|
2119
|
+
type: HostBinding,
|
|
2120
|
+
args: ['class.focus']
|
|
2121
|
+
}], onResize: [{
|
|
2122
|
+
type: HostListener,
|
|
2123
|
+
args: ['window:resize']
|
|
2124
|
+
}], focus: [{
|
|
2125
|
+
type: HostListener,
|
|
2126
|
+
args: ['click']
|
|
2127
|
+
}], defaultItemTemplate: [{
|
|
2128
|
+
type: ViewChild,
|
|
2129
|
+
args: ['defaultItemTemplate', { static: true }]
|
|
2130
|
+
}] } });
|
|
2131
|
+
|
|
2132
|
+
class BsItemTemplateDirective {
|
|
2133
|
+
constructor(select2component, templateRef) {
|
|
2134
|
+
this.select2component = select2component;
|
|
2135
|
+
this.select2component.itemTemplate = templateRef;
|
|
2136
|
+
}
|
|
2137
|
+
}
|
|
2138
|
+
BsItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsItemTemplateDirective, deps: [{ token: BsSelect2Component }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2139
|
+
BsItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsItemTemplateDirective, selector: "[bsItemTemplate]", ngImport: i0 });
|
|
2140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsItemTemplateDirective, decorators: [{
|
|
2141
|
+
type: Directive,
|
|
2142
|
+
args: [{
|
|
2143
|
+
selector: '[bsItemTemplate]'
|
|
2144
|
+
}]
|
|
2145
|
+
}], ctorParameters: function () { return [{ type: BsSelect2Component }, { type: i0.TemplateRef }]; } });
|
|
2146
|
+
|
|
2147
|
+
class BsInListModule {
|
|
2148
|
+
}
|
|
2149
|
+
BsInListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsInListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2150
|
+
BsInListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsInListModule, declarations: [BsInListPipe], imports: [CommonModule], exports: [BsInListPipe] });
|
|
2151
|
+
BsInListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsInListModule, imports: [[
|
|
2152
|
+
CommonModule
|
|
2153
|
+
]] });
|
|
2154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsInListModule, decorators: [{
|
|
2155
|
+
type: NgModule,
|
|
2156
|
+
args: [{
|
|
2157
|
+
declarations: [
|
|
2158
|
+
BsInListPipe
|
|
2159
|
+
],
|
|
2160
|
+
imports: [
|
|
2161
|
+
CommonModule
|
|
2162
|
+
],
|
|
2163
|
+
exports: [
|
|
2164
|
+
BsInListPipe
|
|
2165
|
+
]
|
|
2166
|
+
}]
|
|
2167
|
+
}] });
|
|
2168
|
+
|
|
2169
|
+
class BsSelect2Module {
|
|
2170
|
+
}
|
|
2171
|
+
BsSelect2Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSelect2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2172
|
+
BsSelect2Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSelect2Module, declarations: [BsSelect2Component,
|
|
2173
|
+
BsItemTemplateDirective], imports: [CommonModule,
|
|
2174
|
+
FormsModule,
|
|
2175
|
+
BsDropdownModule,
|
|
2176
|
+
BsInListModule], exports: [BsSelect2Component,
|
|
2177
|
+
BsItemTemplateDirective] });
|
|
2178
|
+
BsSelect2Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSelect2Module, imports: [[
|
|
2179
|
+
CommonModule,
|
|
2180
|
+
FormsModule,
|
|
2181
|
+
BsDropdownModule,
|
|
2182
|
+
BsInListModule
|
|
2183
|
+
]] });
|
|
2184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSelect2Module, decorators: [{
|
|
2185
|
+
type: NgModule,
|
|
2186
|
+
args: [{
|
|
2187
|
+
declarations: [
|
|
2188
|
+
BsSelect2Component,
|
|
2189
|
+
BsItemTemplateDirective
|
|
1213
2190
|
],
|
|
1214
2191
|
imports: [
|
|
1215
2192
|
CommonModule,
|
|
1216
|
-
|
|
2193
|
+
FormsModule,
|
|
2194
|
+
BsDropdownModule,
|
|
2195
|
+
BsInListModule
|
|
1217
2196
|
],
|
|
1218
2197
|
exports: [
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
2198
|
+
BsSelect2Component,
|
|
2199
|
+
BsItemTemplateDirective
|
|
2200
|
+
]
|
|
2201
|
+
}]
|
|
2202
|
+
}] });
|
|
2203
|
+
|
|
2204
|
+
const SNACKBAR_CONTENT = new InjectionToken('SnackbarContent');
|
|
2205
|
+
|
|
2206
|
+
class BsSnackbarComponent {
|
|
2207
|
+
constructor(content) {
|
|
2208
|
+
this.displayBlock = true;
|
|
2209
|
+
this.width100 = true;
|
|
2210
|
+
this.instance = null;
|
|
2211
|
+
//#region Monitor @slideUpDown hooks
|
|
2212
|
+
this.animationState = '';
|
|
2213
|
+
this.animationStateChanged = new EventEmitter();
|
|
2214
|
+
this.content = content;
|
|
2215
|
+
}
|
|
2216
|
+
onAnimationChanged(event) {
|
|
2217
|
+
this.animationStateChanged.emit(event);
|
|
2218
|
+
}
|
|
2219
|
+
}
|
|
2220
|
+
BsSnackbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarComponent, deps: [{ token: SNACKBAR_CONTENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
2221
|
+
BsSnackbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsSnackbarComponent, selector: "bs-snackbar", host: { properties: { "class.d-block": "this.displayBlock", "class.w-100": "this.width100" } }, ngImport: i0, template: "<div [@slideUpDown]=\"animationState\"\n (@slideUpDown.start)=\"onAnimationChanged($event)\"\n (@slideUpDown.done)=\"onAnimationChanged($event)\">\n\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: this }\" ></ng-container>\n</div>", styles: [":host{background:#232323;color:rgba(var(--bs-light-rgb))}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [SlideUpDownAnimation] });
|
|
2222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarComponent, decorators: [{
|
|
2223
|
+
type: Component,
|
|
2224
|
+
args: [{ selector: 'bs-snackbar', animations: [SlideUpDownAnimation], template: "<div [@slideUpDown]=\"animationState\"\n (@slideUpDown.start)=\"onAnimationChanged($event)\"\n (@slideUpDown.done)=\"onAnimationChanged($event)\">\n\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: this }\" ></ng-container>\n</div>", styles: [":host{background:#232323;color:rgba(var(--bs-light-rgb))}\n"] }]
|
|
2225
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
|
|
2226
|
+
type: Inject,
|
|
2227
|
+
args: [SNACKBAR_CONTENT]
|
|
2228
|
+
}] }]; }, propDecorators: { displayBlock: [{
|
|
2229
|
+
type: HostBinding,
|
|
2230
|
+
args: ['class.d-block']
|
|
2231
|
+
}], width100: [{
|
|
2232
|
+
type: HostBinding,
|
|
2233
|
+
args: ['class.w-100']
|
|
2234
|
+
}] } });
|
|
2235
|
+
|
|
2236
|
+
class BsSnackbarService {
|
|
2237
|
+
constructor(overlay, parentInjector, componentFactoryResolver) {
|
|
2238
|
+
this.overlay = overlay;
|
|
2239
|
+
this.parentInjector = parentInjector;
|
|
2240
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
2241
|
+
}
|
|
2242
|
+
show(template) {
|
|
2243
|
+
const injector = Injector.create({
|
|
2244
|
+
providers: [{ provide: SNACKBAR_CONTENT, useValue: template }],
|
|
2245
|
+
parent: this.parentInjector
|
|
2246
|
+
});
|
|
2247
|
+
const portal = new ComponentPortal(BsSnackbarComponent, null, injector, this.componentFactoryResolver);
|
|
2248
|
+
const overlayRef = this.overlay.create({
|
|
2249
|
+
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
2250
|
+
positionStrategy: this.overlay.position()
|
|
2251
|
+
.global().centerHorizontally().bottom('0'),
|
|
2252
|
+
width: '100%'
|
|
2253
|
+
});
|
|
2254
|
+
const componentInstance = overlayRef.attach(portal);
|
|
2255
|
+
componentInstance.instance['instance'] = {
|
|
2256
|
+
component: componentInstance,
|
|
2257
|
+
overlay: overlayRef
|
|
2258
|
+
};
|
|
2259
|
+
return componentInstance.instance;
|
|
2260
|
+
}
|
|
2261
|
+
hide(snackbar) {
|
|
2262
|
+
snackbar.animationStateChanged.pipe(filter(ev => ev.phaseName === 'done' && ev.toState === 'void'), take(1)).subscribe(() => {
|
|
2263
|
+
snackbar['instance']?.overlay.dispose();
|
|
2264
|
+
});
|
|
2265
|
+
snackbar.animationState = 'void';
|
|
2266
|
+
}
|
|
2267
|
+
}
|
|
2268
|
+
BsSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarService, deps: [{ token: i1$1.Overlay }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2269
|
+
BsSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarService, providedIn: 'root' });
|
|
2270
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarService, decorators: [{
|
|
2271
|
+
type: Injectable,
|
|
2272
|
+
args: [{
|
|
2273
|
+
providedIn: 'root'
|
|
2274
|
+
}]
|
|
2275
|
+
}], ctorParameters: function () { return [{ type: i1$1.Overlay }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }]; } });
|
|
2276
|
+
|
|
2277
|
+
class BsSnackbarCloseDirective {
|
|
2278
|
+
constructor(snackbarService) {
|
|
2279
|
+
this.snackbarService = snackbarService;
|
|
2280
|
+
}
|
|
2281
|
+
onClick() {
|
|
2282
|
+
this.snackbarService.hide(this.bsSnackbarClose);
|
|
2283
|
+
}
|
|
2284
|
+
}
|
|
2285
|
+
BsSnackbarCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarCloseDirective, deps: [{ token: BsSnackbarService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2286
|
+
BsSnackbarCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsSnackbarCloseDirective, selector: "[bsSnackbarClose]", inputs: { bsSnackbarClose: "bsSnackbarClose" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
|
|
2287
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarCloseDirective, decorators: [{
|
|
2288
|
+
type: Directive,
|
|
2289
|
+
args: [{
|
|
2290
|
+
selector: '[bsSnackbarClose]'
|
|
2291
|
+
}]
|
|
2292
|
+
}], ctorParameters: function () { return [{ type: BsSnackbarService }]; }, propDecorators: { bsSnackbarClose: [{
|
|
2293
|
+
type: Input
|
|
2294
|
+
}], onClick: [{
|
|
2295
|
+
type: HostListener,
|
|
2296
|
+
args: ['click']
|
|
2297
|
+
}] } });
|
|
2298
|
+
|
|
2299
|
+
class BsSnackbarModule {
|
|
2300
|
+
}
|
|
2301
|
+
BsSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2302
|
+
BsSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarModule, declarations: [BsSnackbarComponent,
|
|
2303
|
+
BsSnackbarCloseDirective], imports: [CommonModule], exports: [BsSnackbarComponent,
|
|
2304
|
+
BsSnackbarCloseDirective] });
|
|
2305
|
+
BsSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarModule, providers: [
|
|
2306
|
+
// { provide: BsSnackbarComponent, useExisting: forwardRef(() => BsSnackbarComponent) }
|
|
2307
|
+
// { provide: BsSnackbarComponent, useClass: BsSnackbarComponent }
|
|
2308
|
+
], imports: [[
|
|
2309
|
+
CommonModule
|
|
2310
|
+
]] });
|
|
2311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarModule, decorators: [{
|
|
2312
|
+
type: NgModule,
|
|
2313
|
+
args: [{
|
|
2314
|
+
declarations: [
|
|
2315
|
+
BsSnackbarComponent,
|
|
2316
|
+
BsSnackbarCloseDirective
|
|
2317
|
+
],
|
|
2318
|
+
imports: [
|
|
2319
|
+
CommonModule
|
|
2320
|
+
],
|
|
2321
|
+
exports: [
|
|
2322
|
+
BsSnackbarComponent,
|
|
2323
|
+
BsSnackbarCloseDirective
|
|
2324
|
+
],
|
|
2325
|
+
providers: [
|
|
2326
|
+
// { provide: BsSnackbarComponent, useExisting: forwardRef(() => BsSnackbarComponent) }
|
|
2327
|
+
// { provide: BsSnackbarComponent, useClass: BsSnackbarComponent }
|
|
1222
2328
|
]
|
|
1223
2329
|
}]
|
|
1224
2330
|
}] });
|
|
@@ -1292,85 +2398,369 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
1292
2398
|
}]
|
|
1293
2399
|
}] });
|
|
1294
2400
|
|
|
1295
|
-
class
|
|
1296
|
-
constructor(
|
|
1297
|
-
this.
|
|
2401
|
+
class BsToggleButtonComponent {
|
|
2402
|
+
constructor() {
|
|
2403
|
+
this.disableAnimations = true;
|
|
2404
|
+
//#region isToggled
|
|
2405
|
+
this._isToggled = false;
|
|
2406
|
+
this.isToggledChange = new EventEmitter();
|
|
2407
|
+
//#endregion
|
|
2408
|
+
this.offColor = '#CCCCCC';
|
|
2409
|
+
this.onColor = '#2196F3';
|
|
2410
|
+
this.round = true;
|
|
2411
|
+
}
|
|
2412
|
+
ngAfterViewInit() {
|
|
2413
|
+
this.disableAnimations = false;
|
|
2414
|
+
}
|
|
2415
|
+
get isToggled() {
|
|
2416
|
+
return this._isToggled;
|
|
2417
|
+
}
|
|
2418
|
+
set isToggled(value) {
|
|
2419
|
+
this._isToggled = value;
|
|
2420
|
+
this.isToggledChange.emit(this._isToggled);
|
|
1298
2421
|
}
|
|
1299
2422
|
}
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type:
|
|
1303
|
-
type:
|
|
2423
|
+
BsToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2424
|
+
BsToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsToggleButtonComponent, selector: "bs-toggle-button", inputs: { isToggled: "isToggled", offColor: "offColor", onColor: "onColor", round: "round" }, outputs: { isToggledChange: "isToggledChange" }, ngImport: i0, template: "<label (click)=\"isToggled = !isToggled\" class=\"switch\" [class.checked]=\"isToggled\">\n <span class=\"slider\" [class.round]=\"round\" [@colorTransition]=\"{ value: isToggled ? 'color2' : 'color1', params: { color1: offColor, color2: onColor, 'duration': '.4s' } }\"></span>\n</label>", styles: [".switch{position:relative;display:inline-block;width:30px;height:17px}.switch>.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;transition:transform .4s}.switch>.slider.round{border-radius:8.5px}.switch>.slider.round:before{border-radius:50%}.switch>.slider:before{position:absolute;content:\"\";height:13px;width:13px;left:2px;top:0;bottom:0;margin:auto 0;background-color:#fff;transition:transform .4s}.switch.checked .slider:before{transform:translate(13px)}\n"], animations: [ColorTransitionAnimation] });
|
|
2425
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsToggleButtonComponent, decorators: [{
|
|
2426
|
+
type: Component,
|
|
2427
|
+
args: [{ selector: 'bs-toggle-button', animations: [ColorTransitionAnimation], template: "<label (click)=\"isToggled = !isToggled\" class=\"switch\" [class.checked]=\"isToggled\">\n <span class=\"slider\" [class.round]=\"round\" [@colorTransition]=\"{ value: isToggled ? 'color2' : 'color1', params: { color1: offColor, color2: onColor, 'duration': '.4s' } }\"></span>\n</label>", styles: [".switch{position:relative;display:inline-block;width:30px;height:17px}.switch>.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;transition:transform .4s}.switch>.slider.round{border-radius:8.5px}.switch>.slider.round:before{border-radius:50%}.switch>.slider:before{position:absolute;content:\"\";height:13px;width:13px;left:2px;top:0;bottom:0;margin:auto 0;background-color:#fff;transition:transform .4s}.switch.checked .slider:before{transform:translate(13px)}\n"] }]
|
|
2428
|
+
}], propDecorators: { isToggledChange: [{
|
|
2429
|
+
type: Output
|
|
2430
|
+
}], isToggled: [{
|
|
2431
|
+
type: Input
|
|
2432
|
+
}], offColor: [{
|
|
2433
|
+
type: Input
|
|
2434
|
+
}], onColor: [{
|
|
2435
|
+
type: Input
|
|
2436
|
+
}], round: [{
|
|
2437
|
+
type: Input
|
|
2438
|
+
}] } });
|
|
2439
|
+
|
|
2440
|
+
class BsToggleButtonModule {
|
|
2441
|
+
}
|
|
2442
|
+
BsToggleButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsToggleButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2443
|
+
BsToggleButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsToggleButtonModule, declarations: [BsToggleButtonComponent], imports: [CommonModule], exports: [BsToggleButtonComponent] });
|
|
2444
|
+
BsToggleButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsToggleButtonModule, imports: [[
|
|
2445
|
+
CommonModule
|
|
2446
|
+
]] });
|
|
2447
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsToggleButtonModule, decorators: [{
|
|
2448
|
+
type: NgModule,
|
|
1304
2449
|
args: [{
|
|
1305
|
-
|
|
2450
|
+
declarations: [
|
|
2451
|
+
BsToggleButtonComponent
|
|
2452
|
+
],
|
|
2453
|
+
imports: [
|
|
2454
|
+
CommonModule
|
|
2455
|
+
],
|
|
2456
|
+
exports: [
|
|
2457
|
+
BsToggleButtonComponent
|
|
2458
|
+
]
|
|
1306
2459
|
}]
|
|
1307
|
-
}]
|
|
2460
|
+
}] });
|
|
1308
2461
|
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
2462
|
+
const TOOLTIP_CONTENT = new InjectionToken('TooltipContent');
|
|
2463
|
+
|
|
2464
|
+
class BsTooltipComponent {
|
|
2465
|
+
constructor(content) {
|
|
2466
|
+
this.positions = Position;
|
|
2467
|
+
this.position = Position.bottom;
|
|
2468
|
+
this.template = content;
|
|
1313
2469
|
}
|
|
1314
|
-
|
|
2470
|
+
}
|
|
2471
|
+
BsTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTooltipComponent, deps: [{ token: TOOLTIP_CONTENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
2472
|
+
BsTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsTooltipComponent, selector: "bs-tooltip", inputs: { position: "position" }, ngImport: i0, template: "<div [@fadeInOut] class=\"tooltip position-relative show\"\n [class.bs-tooltip-bottom]=\"position === positions.bottom\"\n [class.bs-tooltip-top]=\"position === positions.top\"\n [class.bs-tooltip-start]=\"position === positions.left\"\n [class.bs-tooltip-end]=\"position === positions.right\">\n <div class=\"tooltip-arrow\"></div>\n <div class=\"tooltip-inner\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n</div>\n", styles: [".tooltip.bs-tooltip-bottom .tooltip-arrow,.tooltip.bs-tooltip-top .tooltip-arrow{left:50%;transform:translate(-50%)}.tooltip.bs-tooltip-start .tooltip-arrow,.tooltip.bs-tooltip-end .tooltip-arrow{top:50%;transform:translateY(-50%)}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [FadeInOutAnimation] });
|
|
2473
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTooltipComponent, decorators: [{
|
|
2474
|
+
type: Component,
|
|
2475
|
+
args: [{ selector: 'bs-tooltip', animations: [FadeInOutAnimation], template: "<div [@fadeInOut] class=\"tooltip position-relative show\"\n [class.bs-tooltip-bottom]=\"position === positions.bottom\"\n [class.bs-tooltip-top]=\"position === positions.top\"\n [class.bs-tooltip-start]=\"position === positions.left\"\n [class.bs-tooltip-end]=\"position === positions.right\">\n <div class=\"tooltip-arrow\"></div>\n <div class=\"tooltip-inner\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n</div>\n", styles: [".tooltip.bs-tooltip-bottom .tooltip-arrow,.tooltip.bs-tooltip-top .tooltip-arrow{left:50%;transform:translate(-50%)}.tooltip.bs-tooltip-start .tooltip-arrow,.tooltip.bs-tooltip-end .tooltip-arrow{top:50%;transform:translateY(-50%)}\n"] }]
|
|
2476
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
|
|
2477
|
+
type: Inject,
|
|
2478
|
+
args: [TOOLTIP_CONTENT]
|
|
2479
|
+
}] }]; }, propDecorators: { position: [{
|
|
2480
|
+
type: Input
|
|
2481
|
+
}] } });
|
|
2482
|
+
|
|
2483
|
+
class BsTooltipDirective {
|
|
2484
|
+
constructor(overlay, templateRef, componentFactoryResolver, parentInjector, parent) {
|
|
2485
|
+
this.overlay = overlay;
|
|
2486
|
+
this.templateRef = templateRef;
|
|
2487
|
+
this.parentInjector = parentInjector;
|
|
2488
|
+
this.parent = parent;
|
|
2489
|
+
this.bsTooltip = Position.bottom;
|
|
2490
|
+
this.overlayRef = null;
|
|
2491
|
+
this.injector = Injector.create({
|
|
2492
|
+
providers: [{ provide: TOOLTIP_CONTENT, useValue: this.templateRef }],
|
|
2493
|
+
parent: this.parentInjector
|
|
2494
|
+
});
|
|
2495
|
+
this.portal = new ComponentPortal(BsTooltipComponent, null, this.injector, componentFactoryResolver);
|
|
2496
|
+
parent.nativeElement.onmouseenter = () => {
|
|
2497
|
+
this.showTooltip();
|
|
2498
|
+
};
|
|
2499
|
+
parent.nativeElement.onmouseleave = () => {
|
|
2500
|
+
this.hideTooltip();
|
|
2501
|
+
};
|
|
2502
|
+
}
|
|
2503
|
+
onBlur() {
|
|
2504
|
+
this.hideTooltip();
|
|
2505
|
+
}
|
|
2506
|
+
showTooltip() {
|
|
2507
|
+
const positions = [];
|
|
2508
|
+
switch (this.bsTooltip) {
|
|
2509
|
+
case Position.bottom:
|
|
2510
|
+
{
|
|
2511
|
+
positions.push({
|
|
2512
|
+
originX: "center",
|
|
2513
|
+
originY: "bottom",
|
|
2514
|
+
overlayX: "center",
|
|
2515
|
+
overlayY: "top"
|
|
2516
|
+
});
|
|
2517
|
+
}
|
|
2518
|
+
break;
|
|
2519
|
+
case Position.top:
|
|
2520
|
+
{
|
|
2521
|
+
positions.push({
|
|
2522
|
+
originX: "center",
|
|
2523
|
+
originY: "top",
|
|
2524
|
+
overlayX: "center",
|
|
2525
|
+
overlayY: "bottom"
|
|
2526
|
+
});
|
|
2527
|
+
}
|
|
2528
|
+
break;
|
|
2529
|
+
case Position.left:
|
|
2530
|
+
{
|
|
2531
|
+
positions.push({
|
|
2532
|
+
originX: "start",
|
|
2533
|
+
originY: "center",
|
|
2534
|
+
overlayX: "end",
|
|
2535
|
+
overlayY: "center",
|
|
2536
|
+
});
|
|
2537
|
+
}
|
|
2538
|
+
break;
|
|
2539
|
+
case Position.right:
|
|
2540
|
+
{
|
|
2541
|
+
positions.push({
|
|
2542
|
+
originX: "end",
|
|
2543
|
+
originY: "center",
|
|
2544
|
+
overlayX: "start",
|
|
2545
|
+
overlayY: "center"
|
|
2546
|
+
});
|
|
2547
|
+
}
|
|
2548
|
+
break;
|
|
2549
|
+
}
|
|
2550
|
+
this.overlayRef = this.overlay.create({
|
|
2551
|
+
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
2552
|
+
positionStrategy: this.overlay.position()
|
|
2553
|
+
.flexibleConnectedTo(this.parent)
|
|
2554
|
+
.withPositions(positions),
|
|
2555
|
+
});
|
|
2556
|
+
const component = this.overlayRef.attach(this.portal);
|
|
2557
|
+
component.instance.position = this.bsTooltip;
|
|
2558
|
+
}
|
|
2559
|
+
hideTooltip() {
|
|
2560
|
+
if (this.overlayRef) {
|
|
2561
|
+
this.overlayRef.detach();
|
|
2562
|
+
this.overlayRef.dispose();
|
|
2563
|
+
this.overlayRef = null;
|
|
2564
|
+
}
|
|
2565
|
+
}
|
|
2566
|
+
}
|
|
2567
|
+
BsTooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTooltipDirective, deps: [{ token: i1$1.Overlay }, { token: i0.TemplateRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ElementRef, host: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2568
|
+
BsTooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsTooltipDirective, selector: "*[bsTooltip]", inputs: { bsTooltip: "bsTooltip" }, host: { listeners: { "window:blur": "onBlur()" } }, ngImport: i0 });
|
|
2569
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTooltipDirective, decorators: [{
|
|
2570
|
+
type: Directive,
|
|
2571
|
+
args: [{
|
|
2572
|
+
selector: '*[bsTooltip]'
|
|
2573
|
+
}]
|
|
2574
|
+
}], ctorParameters: function () { return [{ type: i1$1.Overlay }, { type: i0.TemplateRef }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ElementRef, decorators: [{
|
|
2575
|
+
type: Host
|
|
2576
|
+
}, {
|
|
2577
|
+
type: SkipSelf
|
|
2578
|
+
}] }]; }, propDecorators: { onBlur: [{
|
|
2579
|
+
type: HostListener,
|
|
2580
|
+
args: ['window:blur']
|
|
2581
|
+
}], bsTooltip: [{
|
|
2582
|
+
type: Input
|
|
2583
|
+
}] } });
|
|
2584
|
+
|
|
2585
|
+
class BsTooltipModule {
|
|
2586
|
+
}
|
|
2587
|
+
BsTooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2588
|
+
BsTooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTooltipModule, declarations: [BsTooltipDirective,
|
|
2589
|
+
BsTooltipComponent], imports: [CommonModule], exports: [BsTooltipDirective] });
|
|
2590
|
+
BsTooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTooltipModule, imports: [[
|
|
2591
|
+
CommonModule
|
|
2592
|
+
]] });
|
|
2593
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTooltipModule, decorators: [{
|
|
2594
|
+
type: NgModule,
|
|
2595
|
+
args: [{
|
|
2596
|
+
declarations: [
|
|
2597
|
+
BsTooltipDirective,
|
|
2598
|
+
BsTooltipComponent
|
|
2599
|
+
],
|
|
2600
|
+
imports: [
|
|
2601
|
+
CommonModule
|
|
2602
|
+
],
|
|
2603
|
+
exports: [
|
|
2604
|
+
BsTooltipDirective
|
|
2605
|
+
]
|
|
2606
|
+
}]
|
|
2607
|
+
}] });
|
|
2608
|
+
|
|
2609
|
+
class BsTypeaheadComponent {
|
|
2610
|
+
constructor() {
|
|
2611
|
+
this.isOpen = false;
|
|
2612
|
+
this.suggestions$ = new BehaviorSubject([]);
|
|
2613
|
+
this.isLoading$ = new BehaviorSubject(false);
|
|
2614
|
+
this.hostWidth$ = new BehaviorSubject(200);
|
|
2615
|
+
this.destroyed$ = new Subject();
|
|
2616
|
+
this.searchterm = '';
|
|
2617
|
+
this.isLoadingText = 'Loading...';
|
|
2618
|
+
this.noSuggestionsText = 'No suggestions found';
|
|
2619
|
+
this.provideSuggestions = new EventEmitter();
|
|
2620
|
+
this.suggestionSelected = new EventEmitter();
|
|
2621
|
+
this.searchtermChange = new EventEmitter();
|
|
2622
|
+
this.submitted = new EventEmitter();
|
|
2623
|
+
this.showNoSuggestions$ = this.suggestions$
|
|
2624
|
+
.pipe(map(suggestions => suggestions.length === 0));
|
|
1315
2625
|
}
|
|
1316
2626
|
ngAfterViewInit() {
|
|
1317
|
-
this.
|
|
2627
|
+
this.onResize();
|
|
1318
2628
|
}
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
if (
|
|
1322
|
-
this.
|
|
1323
|
-
|
|
1324
|
-
else if (dirs.length === 0) {
|
|
1325
|
-
this.activeDirective = this.directives.get(0) ?? null;
|
|
2629
|
+
onProvideSuggestions(value) {
|
|
2630
|
+
this.searchtermChange.emit(value);
|
|
2631
|
+
if (value === '') {
|
|
2632
|
+
this.isOpen = false;
|
|
2633
|
+
this.suggestions$.next([]);
|
|
1326
2634
|
}
|
|
1327
2635
|
else {
|
|
1328
|
-
this.
|
|
2636
|
+
this.isLoading$.next(true);
|
|
2637
|
+
this.isOpen = true;
|
|
2638
|
+
this.provideSuggestions.emit(value);
|
|
1329
2639
|
}
|
|
1330
2640
|
}
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
2641
|
+
set suggestions(value) {
|
|
2642
|
+
this.isLoading$.next(false);
|
|
2643
|
+
this.suggestions$.next(value);
|
|
2644
|
+
}
|
|
2645
|
+
suggestionClicked(suggestion) {
|
|
2646
|
+
this.searchterm = suggestion.text;
|
|
2647
|
+
this.searchtermChange.emit(this.searchterm);
|
|
2648
|
+
this.isOpen = false;
|
|
2649
|
+
this.suggestionSelected.emit(suggestion);
|
|
2650
|
+
}
|
|
2651
|
+
onSubmit() {
|
|
2652
|
+
this.isOpen = false;
|
|
2653
|
+
this.submitted.emit(this.searchterm);
|
|
2654
|
+
}
|
|
2655
|
+
focus() {
|
|
2656
|
+
this.textbox.nativeElement.focus();
|
|
2657
|
+
}
|
|
2658
|
+
onResize() {
|
|
2659
|
+
this.hostWidth$.next(this.textbox.nativeElement.offsetWidth);
|
|
1334
2660
|
}
|
|
1335
2661
|
}
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type:
|
|
2662
|
+
BsTypeaheadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTypeaheadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2663
|
+
BsTypeaheadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsTypeaheadComponent, selector: "bs-typeahead", inputs: { searchterm: "searchterm", isLoadingText: "isLoadingText", noSuggestionsText: "noSuggestionsText", suggestions: "suggestions" }, outputs: { provideSuggestions: "provideSuggestions", suggestionSelected: "suggestionSelected", searchtermChange: "searchtermChange", submitted: "submitted" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textbox"], descendants: true }], ngImport: i0, template: "<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [closeOnClickOutside]=\"true\">\n <input type=\"text\" class=\"form-control\" #textbox [(ngModel)]=\"searchterm\" (ngModelChange)=\"onProvideSuggestions($event)\" (keyup.enter)=\"onSubmit()\" />\n <div *bsDropdownMenu>\n <ul class=\"dropdown-menu d-block position-static\" [style.width.px]=\"hostWidth$ | async\">\n <bs-progress *ngIf=\"isLoading$ | async\" [height]=\"2\" [isIndeterminate]=\"true\"></bs-progress>\n <li *ngIf=\"isLoading$ | async\">\n <a class=\"dropdown-item disabled\">{{ isLoadingText }}</a>\n </li>\n <ng-container *ngIf=\"(isLoading$ | async) === false\">\n <li *ngIf=\"showNoSuggestions$ | async\">\n <a class=\"dropdown-item disabled\">{{ noSuggestionsText }}</a>\n </li>\n <li *ngFor=\"let suggestion of (suggestions$ | async)\" (click)=\"suggestionClicked(suggestion)\">\n <a class=\"dropdown-item cursor-pointer\">{{ suggestion.text }}</a>\n </li>\n </ng-container>\n </ul>\n </div>\n</div>", styles: ["bs-progress{margin-top:-8px;margin-bottom:6px}\n"], components: [{ type: BsProgressComponent, selector: "bs-progress", inputs: ["height", "isIndeterminate"] }], directives: [{ type: BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "isOpen"], outputs: ["isOpenChange"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
|
|
2664
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTypeaheadComponent, decorators: [{
|
|
1339
2665
|
type: Component,
|
|
1340
|
-
args: [{ selector: 'bs-
|
|
1341
|
-
}], ctorParameters: function () { return [
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
type:
|
|
1346
|
-
|
|
1347
|
-
|
|
2666
|
+
args: [{ selector: 'bs-typeahead', template: "<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [closeOnClickOutside]=\"true\">\n <input type=\"text\" class=\"form-control\" #textbox [(ngModel)]=\"searchterm\" (ngModelChange)=\"onProvideSuggestions($event)\" (keyup.enter)=\"onSubmit()\" />\n <div *bsDropdownMenu>\n <ul class=\"dropdown-menu d-block position-static\" [style.width.px]=\"hostWidth$ | async\">\n <bs-progress *ngIf=\"isLoading$ | async\" [height]=\"2\" [isIndeterminate]=\"true\"></bs-progress>\n <li *ngIf=\"isLoading$ | async\">\n <a class=\"dropdown-item disabled\">{{ isLoadingText }}</a>\n </li>\n <ng-container *ngIf=\"(isLoading$ | async) === false\">\n <li *ngIf=\"showNoSuggestions$ | async\">\n <a class=\"dropdown-item disabled\">{{ noSuggestionsText }}</a>\n </li>\n <li *ngFor=\"let suggestion of (suggestions$ | async)\" (click)=\"suggestionClicked(suggestion)\">\n <a class=\"dropdown-item cursor-pointer\">{{ suggestion.text }}</a>\n </li>\n </ng-container>\n </ul>\n </div>\n</div>", styles: ["bs-progress{margin-top:-8px;margin-bottom:6px}\n"] }]
|
|
2667
|
+
}], ctorParameters: function () { return []; }, propDecorators: { textbox: [{
|
|
2668
|
+
type: ViewChild,
|
|
2669
|
+
args: ['textbox']
|
|
2670
|
+
}], searchterm: [{
|
|
2671
|
+
type: Input
|
|
2672
|
+
}], isLoadingText: [{
|
|
2673
|
+
type: Input
|
|
2674
|
+
}], noSuggestionsText: [{
|
|
2675
|
+
type: Input
|
|
2676
|
+
}], provideSuggestions: [{
|
|
2677
|
+
type: Output
|
|
2678
|
+
}], suggestionSelected: [{
|
|
2679
|
+
type: Output
|
|
2680
|
+
}], searchtermChange: [{
|
|
2681
|
+
type: Output
|
|
2682
|
+
}], submitted: [{
|
|
2683
|
+
type: Output
|
|
2684
|
+
}], suggestions: [{
|
|
2685
|
+
type: Input
|
|
2686
|
+
}], onResize: [{
|
|
1348
2687
|
type: HostListener,
|
|
1349
|
-
args: ['window:
|
|
2688
|
+
args: ['window:resize']
|
|
1350
2689
|
}] } });
|
|
1351
2690
|
|
|
1352
|
-
class
|
|
2691
|
+
class BsTypeaheadModule {
|
|
1353
2692
|
}
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
2693
|
+
BsTypeaheadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTypeaheadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2694
|
+
BsTypeaheadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTypeaheadModule, declarations: [BsTypeaheadComponent], imports: [CommonModule,
|
|
2695
|
+
FormsModule,
|
|
2696
|
+
BsDropdownModule,
|
|
2697
|
+
BsProgressBarModule], exports: [BsTypeaheadComponent] });
|
|
2698
|
+
BsTypeaheadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTypeaheadModule, imports: [[
|
|
2699
|
+
CommonModule,
|
|
2700
|
+
FormsModule,
|
|
2701
|
+
BsDropdownModule,
|
|
2702
|
+
BsProgressBarModule
|
|
2703
|
+
]] });
|
|
2704
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsTypeaheadModule, decorators: [{
|
|
2705
|
+
type: NgModule,
|
|
2706
|
+
args: [{
|
|
2707
|
+
declarations: [
|
|
2708
|
+
BsTypeaheadComponent
|
|
2709
|
+
],
|
|
2710
|
+
imports: [
|
|
2711
|
+
CommonModule,
|
|
2712
|
+
FormsModule,
|
|
2713
|
+
BsDropdownModule,
|
|
2714
|
+
BsProgressBarModule
|
|
2715
|
+
],
|
|
2716
|
+
exports: [
|
|
2717
|
+
BsTypeaheadComponent
|
|
2718
|
+
]
|
|
2719
|
+
}]
|
|
2720
|
+
}] });
|
|
2721
|
+
|
|
2722
|
+
class BsFontColorPipe {
|
|
2723
|
+
transform(color_hex) {
|
|
2724
|
+
if (color_hex === undefined || color_hex === null || color_hex.length < 7 || typeof (color_hex) !== 'string') {
|
|
2725
|
+
return '#FFFFFF';
|
|
2726
|
+
}
|
|
2727
|
+
const R_HEX = color_hex.substr(1, 2);
|
|
2728
|
+
const G_HEX = color_hex.substr(3, 2);
|
|
2729
|
+
const B_HEX = color_hex.substr(5, 2);
|
|
2730
|
+
const R_DEC = parseInt(R_HEX, 16);
|
|
2731
|
+
const G_DEC = parseInt(G_HEX, 16);
|
|
2732
|
+
const B_DEC = parseInt(B_HEX, 16);
|
|
2733
|
+
const CONTRAST_HEX = R_DEC * 0.299 + G_DEC * 0.587 + B_DEC * 0.114 > 186 ? '#000000' : '#FFFFFF';
|
|
2734
|
+
return CONTRAST_HEX;
|
|
2735
|
+
}
|
|
2736
|
+
}
|
|
2737
|
+
BsFontColorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsFontColorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
2738
|
+
BsFontColorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsFontColorPipe, name: "bsFontColor" });
|
|
2739
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsFontColorPipe, decorators: [{
|
|
2740
|
+
type: Pipe,
|
|
2741
|
+
args: [{
|
|
2742
|
+
name: 'bsFontColor'
|
|
2743
|
+
}]
|
|
2744
|
+
}] });
|
|
2745
|
+
|
|
2746
|
+
class BsFontColorPipeModule {
|
|
2747
|
+
}
|
|
2748
|
+
BsFontColorPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsFontColorPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2749
|
+
BsFontColorPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsFontColorPipeModule, declarations: [BsFontColorPipe], imports: [CommonModule], exports: [BsFontColorPipe] });
|
|
2750
|
+
BsFontColorPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsFontColorPipeModule, imports: [[
|
|
1359
2751
|
CommonModule
|
|
1360
2752
|
]] });
|
|
1361
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type:
|
|
2753
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsFontColorPipeModule, decorators: [{
|
|
1362
2754
|
type: NgModule,
|
|
1363
2755
|
args: [{
|
|
1364
2756
|
declarations: [
|
|
1365
|
-
|
|
1366
|
-
BsScrollspyDirective
|
|
2757
|
+
BsFontColorPipe
|
|
1367
2758
|
],
|
|
1368
2759
|
imports: [
|
|
1369
2760
|
CommonModule
|
|
1370
2761
|
],
|
|
1371
2762
|
exports: [
|
|
1372
|
-
|
|
1373
|
-
BsScrollspyDirective
|
|
2763
|
+
BsFontColorPipe
|
|
1374
2764
|
]
|
|
1375
2765
|
}]
|
|
1376
2766
|
}] });
|
|
@@ -1379,5 +2769,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
1379
2769
|
* Generated bundle index. Do not edit.
|
|
1380
2770
|
*/
|
|
1381
2771
|
|
|
1382
|
-
export { BsAccordionComponent, BsAccordionModule, BsAccordionTabComponent, BsAccordionTabHeaderComponent, BsAlertCloseComponent, BsAlertComponent, BsAlertModule, BsCalendarComponent, BsCalendarModule, BsCardComponent, BsCardHeaderComponent, BsCardModule, BsCarouselComponent, BsCarouselImageDirective, BsCarouselModule, BsDatatableColumnDirective, BsDatatableComponent, BsDatatableModule, BsListGroupComponent, BsListGroupItemComponent, BsListGroupModule, BsNavbarComponent, BsNavbarDropdownComponent, BsNavbarItemComponent, BsNavbarModule, BsNavbarNavComponent, BsRowTemplateDirective, BsScrollspyComponent, BsScrollspyDirective, BsScrollspyModule, BsTabControlComponent, BsTabControlModule, BsTabPageComponent, Color, DatatableSettings, DropdownToggleDirective, NavLinkDirective, NavbarContentDirective };
|
|
2772
|
+
export { BsAccordionComponent, BsAccordionModule, BsAccordionTabComponent, BsAccordionTabHeaderComponent, BsAlertCloseComponent, BsAlertComponent, BsAlertModule, BsCalendarComponent, BsCalendarModule, BsCardComponent, BsCardHeaderComponent, BsCardModule, BsCarouselComponent, BsCarouselImageDirective, BsCarouselModule, BsContextMenuDirective, BsContextMenuModule, BsDatatableColumnDirective, BsDatatableComponent, BsDatatableModule, BsDatepickerComponent, BsDatepickerModule, BsDropdownDirective, BsDropdownMenuDirective, BsDropdownModule, BsDropdownToggleDirective, BsFontColorPipe, BsFontColorPipeModule, BsItemTemplateDirective, BsListGroupComponent, BsListGroupItemComponent, BsListGroupModule, BsMultiselectComponent, BsMultiselectModule, BsNavbarComponent, BsNavbarDropdownComponent, BsNavbarItemComponent, BsNavbarModule, BsNavbarNavComponent, BsPaginationComponent, BsPaginationModule, BsProgressBarComponent, BsProgressBarModule, BsProgressComponent, BsRowTemplateDirective, BsScrollspyComponent, BsScrollspyDirective, BsScrollspyModule, BsSelect2Component, BsSelect2Module, BsSnackbarCloseDirective, BsSnackbarComponent, BsSnackbarModule, BsSnackbarService, BsTabControlComponent, BsTabControlModule, BsTabPageComponent, BsToggleButtonComponent, BsToggleButtonModule, BsTooltipDirective, BsTooltipModule, BsTypeaheadComponent, BsTypeaheadModule, Color, DatatableSettings, DropdownToggleDirective, NavLinkDirective, NavbarContentDirective, Position };
|
|
1383
2773
|
//# sourceMappingURL=mintplayer-ng-bootstrap.mjs.map
|