@mintplayer/ng-bootstrap 13.2.0 → 13.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/datepicker/datepicker.component.mjs +1 -1
- package/esm2020/lib/components/dropdown/dropdown/dropdown.directive.mjs +5 -2
- package/esm2020/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.mjs +6 -2
- package/esm2020/lib/components/multiselect/component/multiselect.component.mjs +1 -1
- package/esm2020/lib/components/navbar/navbar/navbar.component.mjs +3 -3
- package/esm2020/lib/components/navbar/navbar-toggler/navbar-toggler.component.mjs +16 -11
- package/esm2020/lib/components/select2/component/select2.component.mjs +1 -1
- package/esm2020/lib/components/timepicker/timepicker.component.mjs +53 -51
- package/esm2020/lib/components/typeahead/typeahead.component.mjs +1 -1
- package/fesm2015/mintplayer-ng-bootstrap.mjs +78 -63
- package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap.mjs +78 -63
- package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/lib/components/dropdown/dropdown/dropdown.directive.d.ts +2 -1
- package/lib/components/navbar/navbar-toggler/navbar-toggler.component.d.ts +2 -1
- package/lib/components/timepicker/timepicker.component.d.ts +8 -4
- package/package.json +2 -2
|
@@ -31,7 +31,7 @@ export class BsDatepickerComponent {
|
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
BsDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
BsDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsDatepickerComponent, selector: "bs-datepicker", inputs: { selectedDate: "selectedDate", currentMonth: "currentMonth" }, outputs: { selectedDateChange: "selectedDateChange", currentMonthChange: "currentMonthChange" }, ngImport: i0, template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">{{ selectedDate | date }}</button>\n <div *bsDropdownMenu>\n <bs-calendar [(selectedDate)]=\"selectedDate\" [(currentMonth)]=\"currentMonth\"></bs-calendar>\n </div>\n</div>", styles: [""], components: [{ type: i1.BsCalendarComponent, selector: "bs-calendar", inputs: ["currentMonth", "selectedDate"], outputs: ["currentMonthChange", "selectedDateChange"] }], directives: [{ type: i2.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "isOpen"], outputs: ["isOpenChange"] }, { type: i3.BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { type: i4.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }], pipes: { "date": i5.DatePipe } });
|
|
34
|
+
BsDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsDatepickerComponent, selector: "bs-datepicker", inputs: { selectedDate: "selectedDate", currentMonth: "currentMonth" }, outputs: { selectedDateChange: "selectedDateChange", currentMonthChange: "currentMonthChange" }, ngImport: i0, template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">{{ selectedDate | date }}</button>\n <div *bsDropdownMenu>\n <bs-calendar [(selectedDate)]=\"selectedDate\" [(currentMonth)]=\"currentMonth\"></bs-calendar>\n </div>\n</div>", styles: [""], components: [{ type: i1.BsCalendarComponent, selector: "bs-calendar", inputs: ["currentMonth", "selectedDate"], outputs: ["currentMonthChange", "selectedDateChange"] }], directives: [{ type: i2.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { type: i3.BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { type: i4.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }], pipes: { "date": i5.DatePipe } });
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsDatepickerComponent, decorators: [{
|
|
36
36
|
type: Component,
|
|
37
37
|
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: [""] }]
|
|
@@ -10,6 +10,7 @@ export class BsDropdownDirective {
|
|
|
10
10
|
this.hasBackdrop = false;
|
|
11
11
|
this.sameWidth = false;
|
|
12
12
|
this.closeOnClickOutside = false;
|
|
13
|
+
this.sameDropdownWidth = false;
|
|
13
14
|
this.isOpenChange = new EventEmitter();
|
|
14
15
|
this.elementRef = elementRef;
|
|
15
16
|
}
|
|
@@ -29,7 +30,7 @@ export class BsDropdownDirective {
|
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
BsDropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsDropdownDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
32
|
-
BsDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", 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 });
|
|
33
|
+
BsDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: BsDropdownDirective, selector: "[bsDropdown]", inputs: { hasBackdrop: "hasBackdrop", sameWidth: "sameWidth", closeOnClickOutside: "closeOnClickOutside", sameDropdownWidth: "sameDropdownWidth", 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 });
|
|
33
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsDropdownDirective, decorators: [{
|
|
34
35
|
type: Directive,
|
|
35
36
|
args: [{
|
|
@@ -47,6 +48,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
47
48
|
type: Input
|
|
48
49
|
}], closeOnClickOutside: [{
|
|
49
50
|
type: Input
|
|
51
|
+
}], sameDropdownWidth: [{
|
|
52
|
+
type: Input
|
|
50
53
|
}], isOpenChange: [{
|
|
51
54
|
type: Output
|
|
52
55
|
}], isOpen: [{
|
|
@@ -55,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
55
58
|
type: HostListener,
|
|
56
59
|
args: ['window:blur']
|
|
57
60
|
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24vZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFLekYsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUFZLFVBQTJCO1FBSXZDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUlZLFdBQU0sR0FBcUMsSUFBSSxDQUFDO1FBRTFGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQU16QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFsQjFELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFhRCxnQkFBZ0I7SUFDaEIsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBb0IsTUFBTSxDQUFDLEtBQWM7UUFDdkMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBQ0QsWUFBWTtJQUV5QixNQUFNO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7O2dIQWhDVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwyVkFTaEIsdUJBQXVCLHlFQUN2Qix5QkFBeUI7MkZBVjVCLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7aUdBVXlELElBQUk7c0JBQTNELFlBQVk7dUJBQUMsdUJBQXVCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQUNJLE1BQU07c0JBQS9ELFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQUV4QyxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFNVyxZQUFZO3NCQUE1QixNQUFNO2dCQUNhLE1BQU07c0JBQXpCLEtBQUs7Z0JBUStCLE1BQU07c0JBQTFDLFlBQVk7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc0Ryb3Bkb3duTWVudURpcmVjdGl2ZSB9IGZyb20gJy4uL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNEcm9wZG93blRvZ2dsZURpcmVjdGl2ZSB9IGZyb20gJy4uL2Ryb3Bkb3duLXRvZ2dsZS9kcm9wZG93bi10b2dnbGUuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2JzRHJvcGRvd25dJ1xufSlcbmV4cG9ydCBjbGFzcyBCc0Ryb3Bkb3duRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmPGFueT4pIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICB9XG5cbiAgaXNPcGVuJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZChCc0Ryb3Bkb3duTWVudURpcmVjdGl2ZSwge3N0YXRpYzogZmFsc2V9KSBtZW51ITogQnNEcm9wZG93bk1lbnVEaXJlY3RpdmU7XG4gIEBDb250ZW50Q2hpbGQoQnNEcm9wZG93blRvZ2dsZURpcmVjdGl2ZSwge3N0YXRpYzogZmFsc2V9KSB0b2dnbGU6IEJzRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUgfCBudWxsID0gbnVsbDtcbiAgXG4gIEBJbnB1dCgpIHB1YmxpYyBoYXNCYWNrZHJvcCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2FtZVdpZHRoID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbG9zZU9uQ2xpY2tPdXRzaWRlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBzYW1lRHJvcGRvd25XaWR0aCA9IGZhbHNlO1xuXG4gIC8vI3JlZ2lvbiBJc09wZW5cbiAgcHVibGljIGdldCBpc09wZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuJC52YWx1ZTtcbiAgfVxuICBAT3V0cHV0KCkgcHVibGljIGlzT3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQElucHV0KCkgcHVibGljIHNldCBpc09wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5pc09wZW4kLnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5pc09wZW4kLm5leHQodmFsdWUpO1xuICAgICAgdGhpcy5pc09wZW5DaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpibHVyJykgcHJpdmF0ZSBvbkJsdXIoKSB7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -42,7 +42,11 @@ export class BsDropdownMenuDirective extends ClickOutsideDirective {
|
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);
|
|
45
|
-
this.overlayRef.attach(this.templatePortal);
|
|
45
|
+
const view = this.overlayRef.attach(this.templatePortal);
|
|
46
|
+
if (this.dropdown.sameDropdownWidth) {
|
|
47
|
+
const width = this.dropdown.elementRef.nativeElement.offsetWidth;
|
|
48
|
+
view.rootNodes[0].style.width = width + 'px';
|
|
49
|
+
}
|
|
46
50
|
}
|
|
47
51
|
else {
|
|
48
52
|
if (this.overlayRef) {
|
|
@@ -86,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
86
90
|
type: HostListener,
|
|
87
91
|
args: ['clickOutside', ['$event']]
|
|
88
92
|
}] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQUtyRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBQ2hFLFlBQ3lELFFBQTZCLEVBQzVFLGdCQUFrQyxFQUNsQyxXQUE2QixFQUM3QixPQUFnQixFQUV4QixVQUEyQixFQUMzQixJQUFZLEVBQ1MsVUFBZTtRQUVwQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQVRtQixhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQUM1RSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBbURsQixTQUFJLEdBQUcs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LElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM1QixjQUFjLENBQUMsRUFBYztRQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxRQUFRLENBQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ3ZELElBQUksTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRTt3QkFDN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO3FCQUM5QjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDOztvSEF4RVUsdUJBQXVCLGtCQUV4QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsK0lBT3JDLFdBQVc7d0dBVFYsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7OzBCQUdJLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDOzswQkFPNUMsTUFBTTsyQkFBQyxXQUFXOzRDQW9EVSxJQUFJO3NCQUFsQyxXQUFXO3VCQUFDLFlBQVk7Z0JBQ2lCLGNBQWM7c0JBQXZELFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbmplY3QsIE5nWm9uZSwgUExBVEZPUk1fSUQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJ0BtaW50cGxheWVyL25nLWNsaWNrLW91dHNpZGUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc0Ryb3Bkb3duRGlyZWN0aXZlIH0gZnJvbSAnLi4vZHJvcGRvd24vZHJvcGRvd24uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2JzRHJvcGRvd25NZW51XSdcbn0pXG5leHBvcnQgY2xhc3MgQnNEcm9wZG93bk1lbnVEaXJlY3RpdmUgZXh0ZW5kcyBDbGlja091dHNpZGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gQnNEcm9wZG93bkRpcmVjdGl2ZSkpIHByaXZhdGUgZHJvcGRvd246IEJzRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxhbnk+LFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBhbnlcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZiwgem9uZSwgcGxhdGZvcm1JZCk7XG5cbiAgICB0aGlzLmRyb3Bkb3duLmlzT3BlbiRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoaXNPcGVuKSA9PiB7XG4gICAgICAgIGlmIChpc09wZW4pIHtcbiAgICAgICAgICB0aGlzLndhaXQgPSB0cnVlO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy53YWl0ID0gZmFsc2UsIDEwMCk7XG5cbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLmRyb3Bkb3duLmhhc0JhY2tkcm9wLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXG4gICAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKCF0aGlzLmRyb3Bkb3duLnRvZ2dsZSA/IGRyb3Bkb3duLmVsZW1lbnRSZWYgOiB0aGlzLmRyb3Bkb3duLnRvZ2dsZS50b2dnbGVCdXR0b24pXG4gICAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICAgICAgICAvLyBlbGVtZW50OiBCb3R0b21MZWZ0IC0gZHJvcGRvd246IFRvcExlZnRcbiAgICAgICAgICAgICAgICB7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJib3R0b21cIiwgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwidG9wXCIsIG9mZnNldFk6IDAgfSxcbiAgICAgICAgICAgICAgICAvLyBlbGVtZW50OiBUb3BMZWZ0IC0gZHJvcGRvd246IEJvdHRvbUxlZnRcbiAgICAgICAgICAgICAgICB7IG9yaWdpblg6IFwic3RhcnRcIiwgb3JpZ2luWTogXCJ0b3BcIiwgb3ZlcmxheVg6IFwic3RhcnRcIiwgb3ZlcmxheVk6IFwiYm90dG9tXCIsIG9mZnNldFk6IDAgfSxcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAodGhpcy5kcm9wZG93bi5oYXNCYWNrZHJvcCAmJiB0aGlzLmRyb3Bkb3duLmNsb3NlT25DbGlja091dHNpZGUpIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgIFxuICAgICAgICAgIHRoaXMudGVtcGxhdGVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZVJlZiwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgICBjb25zdCB2aWV3ID0gdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0aGlzLnRlbXBsYXRlUG9ydGFsKTtcbiAgICAgICAgICBcbiAgICAgICAgICBpZiAodGhpcy5kcm9wZG93bi5zYW1lRHJvcGRvd25XaWR0aCkge1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLmRyb3Bkb3duLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIHZpZXcucm9vdE5vZGVzWzBdLnN0eWxlLndpZHRoID0gd2lkdGggKyAncHgnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB3YWl0ID0gZmFsc2U7XG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHRlbXBsYXRlUG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zaG93JykgZ2V0IHNob3coKSB7IHJldHVybiB0aGlzLmRyb3Bkb3duLmlzT3BlbjsgfVxuICBASG9zdExpc3RlbmVyKCdjbGlja091dHNpZGUnLCBbJyRldmVudCddKSBjbGlja2VkT3V0c2lkZShldjogTW91c2VFdmVudCkge1xuICAgIGlmICghdGhpcy53YWl0KSB7XG4gICAgICBpZiAoIXRoaXMub3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQuY29udGFpbnMoPGFueT5ldi50YXJnZXQpKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24uaXNPcGVuJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoaXNPcGVuKSA9PiB7XG4gICAgICAgICAgaWYgKGlzT3BlbiAmJiAhdGhpcy5kcm9wZG93bi5oYXNCYWNrZHJvcCAmJiB0aGlzLmRyb3Bkb3duLmNsb3NlT25DbGlja091dHNpZGUpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24uaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIl19
|
|
@@ -19,7 +19,7 @@ export class BsMultiselectComponent {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
BsMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsMultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
-
BsMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsMultiselectComponent, selector: "bs-multiselect", inputs: { items: "items", selectedItems: "selectedItems" }, viewQueries: [{ propertyName: "defaultButtonTemplate", first: true, predicate: ["defaultButtonTemplate"], descendants: true }], ngImport: i0, template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate ?? defaultButtonTemplate; context: { $implicit: selectedItems.length }\"></ng-container>\n </button>\n <div *bsDropdownMenu class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <hr class=\"my-2\" *ngIf=\"headerTemplate\">\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 <hr class=\"my-2\" *ngIf=\"footerTemplate\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>", styles: [".mw-250px{min-width:250px}\n"], directives: [{ type: i1.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "isOpen"], outputs: ["isOpenChange"] }, { type: i2.BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
22
|
+
BsMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsMultiselectComponent, selector: "bs-multiselect", inputs: { items: "items", selectedItems: "selectedItems" }, viewQueries: [{ propertyName: "defaultButtonTemplate", first: true, predicate: ["defaultButtonTemplate"], descendants: true }], ngImport: i0, template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate ?? defaultButtonTemplate; context: { $implicit: selectedItems.length }\"></ng-container>\n </button>\n <div *bsDropdownMenu class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <hr class=\"my-2\" *ngIf=\"headerTemplate\">\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 <hr class=\"my-2\" *ngIf=\"footerTemplate\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>", styles: [".mw-250px{min-width:250px}\n"], directives: [{ type: i1.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { type: i2.BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsMultiselectComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{ selector: 'bs-multiselect', template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate ?? defaultButtonTemplate; context: { $implicit: selectedItems.length }\"></ng-container>\n </button>\n <div *bsDropdownMenu class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <hr class=\"my-2\" *ngIf=\"headerTemplate\">\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 <hr class=\"my-2\" *ngIf=\"footerTemplate\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>", styles: [".mw-250px{min-width:250px}\n"] }]
|
|
@@ -15,14 +15,14 @@ export class BsNavbarComponent {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
BsNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
-
BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsNavbarComponent, selector: "bs-navbar", inputs: { autoclose: "autoclose" }, 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 <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-md-none d-flex tw\">\n <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: {
|
|
18
|
+
BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsNavbarComponent, selector: "bs-navbar", inputs: { autoclose: "autoclose" }, 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 <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-md-none d-flex tw\">\n <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: { $implicit: (isExpanded$ | async) ? 'open' : 'closed' }\"></ng-container>\n </button>\n </div>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>\n\n<ng-template #defaultExpandButton>\n <span class=\"navbar-toggler-icon\"></span>\n</ng-template>", 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}}.tw{margin:-.5rem -.6666666667rem}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i1.AsyncPipe } });
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsNavbarComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
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 <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-md-none d-flex tw\">\n <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: {
|
|
21
|
+
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 <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-md-none d-flex tw\">\n <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: { $implicit: (isExpanded$ | async) ? 'open' : 'closed' }\"></ng-container>\n </button>\n </div>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>\n\n<ng-template #defaultExpandButton>\n <span class=\"navbar-toggler-icon\"></span>\n</ng-template>", 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}}.tw{margin:-.5rem -.6666666667rem}\n"] }]
|
|
22
22
|
}], propDecorators: { nav: [{
|
|
23
23
|
type: ViewChild,
|
|
24
24
|
args: ['nav']
|
|
25
25
|
}], autoclose: [{
|
|
26
26
|
type: Input
|
|
27
27
|
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU83QyxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBUVcsY0FBUyxHQUFHLElBQUksQ0FBQztRQUUxQix5QkFBb0IsR0FBNEIsSUFBSSxDQUFDO1FBRXJELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7S0FRbkQ7SUFQQyxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQVpVLGlCQUFpQjtrR0FBakIsaUJBQWlCLGlMQ1I5QixpL0JBZ0JjOzJGRFJELGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxXQUFXOzhCQU1ILEdBQUc7c0JBQXBCLFNBQVM7dUJBQUMsS0FBSztnQkFDUCxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLW5hdmJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYXZiYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnNOYXZiYXJDb21wb25lbnQge1xuXG4gIEBWaWV3Q2hpbGQoJ25hdicpIG5hdiE6IEVsZW1lbnRSZWY7XG4gIEBJbnB1dCgpIGF1dG9jbG9zZSA9IHRydWU7XG5cbiAgZXhwYW5kQnV0dG9uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgXG4gIGlzRXhwYW5kZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHRvZ2dsZUV4cGFuZGVkKCkge1xuICAgIHRoaXMuaXNFeHBhbmRlZCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGlzRXhwYW5kZWQpID0+IHtcbiAgICAgIHRoaXMuaXNFeHBhbmRlZCQubmV4dCghaXNFeHBhbmRlZCk7XG4gICAgfSk7XG4gIH1cblxuICBcbn1cbiIsIjxuYXYgI25hdiBjbGFzcz1cIm5hdmJhciBuYXZiYXItZXhwYW5kLW1kIHBvc2l0aW9uLWZpeGVkIG5hdmJhci1kYXJrIGJnLWRhcmtcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggdy0xMDAgdy1tZC1hdXRvXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJicy1uYXZiYXItYnJhbmRcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1lbmQgZC1tZC1ub25lIGQtZmxleCB0d1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInRvZ2dsZUV4cGFuZGVkKClcIiB0aXRsZT1cIkV4cGFuZC9jb2xsYXBzZSBtZW51XCIgY2xhc3M9XCJhbGlnbi1zZWxmLWNlbnRlclwiIFtjbGFzcy5uYXZiYXItdG9nZ2xlcl09XCIhZXhwYW5kQnV0dG9uVGVtcGxhdGVcIiBbY2xhc3MuYmctdHJhbnNwYXJlbnRdPVwiZXhwYW5kQnV0dG9uVGVtcGxhdGVcIiBbY2xhc3Muc2hhZG93LW5vbmVdPVwiZXhwYW5kQnV0dG9uVGVtcGxhdGVcIiBbY2xhc3MuYm9yZGVyLTBdPVwiZXhwYW5kQnV0dG9uVGVtcGxhdGVcIiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJleHBhbmRCdXR0b25UZW1wbGF0ZSA/PyBkZWZhdWx0RXhwYW5kQnV0dG9uOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogKGlzRXhwYW5kZWQkIHwgYXN5bmMpID8gJ29wZW4nIDogJ2Nsb3NlZCcgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L25hdj5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0RXhwYW5kQnV0dG9uPlxuICAgIDxzcGFuIGNsYXNzPVwibmF2YmFyLXRvZ2dsZXItaWNvblwiPjwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, HostListener, Input, Output, } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
4
|
export class BsNavbarTogglerComponent {
|
|
@@ -6,6 +6,8 @@ export class BsNavbarTogglerComponent {
|
|
|
6
6
|
//#region State
|
|
7
7
|
this._state = 'closed';
|
|
8
8
|
this.stateChange = new EventEmitter();
|
|
9
|
+
//#endregion
|
|
10
|
+
this.toggleOnClick = true;
|
|
9
11
|
}
|
|
10
12
|
get state() {
|
|
11
13
|
return this._state;
|
|
@@ -14,20 +16,21 @@ export class BsNavbarTogglerComponent {
|
|
|
14
16
|
this._state = value;
|
|
15
17
|
this.stateChange.emit(this._state);
|
|
16
18
|
}
|
|
17
|
-
//#endregion
|
|
18
19
|
toggleState(ev) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
if (this.toggleOnClick) {
|
|
21
|
+
switch (this._state) {
|
|
22
|
+
case 'open':
|
|
23
|
+
this.state = 'closed';
|
|
24
|
+
break;
|
|
25
|
+
default:
|
|
26
|
+
this.state = 'open';
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
26
29
|
}
|
|
27
30
|
}
|
|
28
31
|
}
|
|
29
32
|
BsNavbarTogglerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsNavbarTogglerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
-
BsNavbarTogglerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsNavbarTogglerComponent, selector: "bs-navbar-toggler", inputs: { state: "state" }, outputs: { stateChange: "stateChange" }, host: { listeners: { "click": "toggleState($event)" } }, ngImport: i0, template: "<div class=\"navbar-toggler float-left\" [ngClass]=\"state\">\n <div></div>\n <div></div>\n <div></div>\n</div>", styles: [":host{align-self:start;top:0;right:0}.navbar-toggler{padding:.75rem 1rem;border:none}.navbar-toggler>div{width:25px;height:2px;background:#BBB;margin:6px 0;transition:.4s}.navbar-toggler.open>div:nth-of-type(1){transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.open>div:nth-of-type(2){opacity:0}.navbar-toggler.open>div:nth-of-type(3){transform:rotate(45deg) translate(-6px,-4px)}@media (min-width: 768px){.navbar-toggler.auto>div:nth-of-type(1){transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.auto>div:nth-of-type(2){opacity:0}.navbar-toggler.auto>div:nth-of-type(3){transform:rotate(45deg) translate(-6px,-4px)}}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
33
|
+
BsNavbarTogglerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsNavbarTogglerComponent, selector: "bs-navbar-toggler", inputs: { state: "state", toggleOnClick: "toggleOnClick" }, outputs: { stateChange: "stateChange" }, host: { listeners: { "click": "toggleState($event)" } }, ngImport: i0, template: "<div class=\"navbar-toggler float-left\" [ngClass]=\"state\">\n <div></div>\n <div></div>\n <div></div>\n</div>", styles: [":host{align-self:start;top:0;right:0}.navbar-toggler{padding:.75rem 1rem;border:none}.navbar-toggler>div{width:25px;height:2px;background:#BBB;margin:6px 0;transition:.4s}.navbar-toggler.open>div:nth-of-type(1){transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.open>div:nth-of-type(2){opacity:0}.navbar-toggler.open>div:nth-of-type(3){transform:rotate(45deg) translate(-6px,-4px)}@media (min-width: 768px){.navbar-toggler.auto>div:nth-of-type(1){transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.auto>div:nth-of-type(2){opacity:0}.navbar-toggler.auto>div:nth-of-type(3){transform:rotate(45deg) translate(-6px,-4px)}}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
31
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsNavbarTogglerComponent, decorators: [{
|
|
32
35
|
type: Component,
|
|
33
36
|
args: [{ selector: 'bs-navbar-toggler', template: "<div class=\"navbar-toggler float-left\" [ngClass]=\"state\">\n <div></div>\n <div></div>\n <div></div>\n</div>", styles: [":host{align-self:start;top:0;right:0}.navbar-toggler{padding:.75rem 1rem;border:none}.navbar-toggler>div{width:25px;height:2px;background:#BBB;margin:6px 0;transition:.4s}.navbar-toggler.open>div:nth-of-type(1){transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.open>div:nth-of-type(2){opacity:0}.navbar-toggler.open>div:nth-of-type(3){transform:rotate(45deg) translate(-6px,-4px)}@media (min-width: 768px){.navbar-toggler.auto>div:nth-of-type(1){transform:rotate(-45deg) translate(-7px,5px)}.navbar-toggler.auto>div:nth-of-type(2){opacity:0}.navbar-toggler.auto>div:nth-of-type(3){transform:rotate(45deg) translate(-6px,-4px)}}\n"] }]
|
|
@@ -35,8 +38,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
|
|
|
35
38
|
type: Output
|
|
36
39
|
}], state: [{
|
|
37
40
|
type: Input
|
|
41
|
+
}], toggleOnClick: [{
|
|
42
|
+
type: Input
|
|
38
43
|
}], toggleState: [{
|
|
39
44
|
type: HostListener,
|
|
40
45
|
args: ['click', ['$event']]
|
|
41
46
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLXRvZ2dsZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci10b2dnbGVyL25hdmJhci10b2dnbGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXItdG9nZ2xlci9uYXZiYXItdG9nZ2xlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7O0FBT3ZCLE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFNRSxlQUFlO1FBQ2YsV0FBTSxHQUFzQixRQUFRLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQVFyRSxZQUFZO1FBRUksa0JBQWEsR0FBRyxJQUFJLENBQUM7S0FldEM7SUF4QkMsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFvQixLQUFLLENBQUMsS0FBd0I7UUFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFNRCxXQUFXLENBQUMsRUFBYztRQUN4QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNuQixLQUFLLE1BQU07b0JBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7b0JBQ3RCLE1BQU07Z0JBQ1I7b0JBQ0UsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7b0JBQ3BCLE1BQU07YUFDVDtTQUNGO0lBQ0gsQ0FBQzs7cUhBM0JVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHVOQ2JyQywwSEFJTTsyRkRTTyx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsbUJBQW1COzhCQU9aLFdBQVc7c0JBQTNCLE1BQU07Z0JBSWEsS0FBSztzQkFBeEIsS0FBSztnQkFNVSxhQUFhO3NCQUE1QixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtbmF2YmFyLXRvZ2dsZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLXRvZ2dsZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYXZiYXItdG9nZ2xlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCc05hdmJhclRvZ2dsZXJDb21wb25lbnQge1xuICAvLyNyZWdpb24gU3RhdGVcbiAgX3N0YXRlOiAnb3BlbicgfCAnY2xvc2VkJyA9ICdjbG9zZWQnO1xuICBAT3V0cHV0KCkgcHVibGljIHN0YXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjwnb3BlbicgfCAnY2xvc2VkJz4oKTtcbiAgcHVibGljIGdldCBzdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBzdGF0ZSh2YWx1ZTogJ29wZW4nIHwgJ2Nsb3NlZCcpIHtcbiAgICB0aGlzLl9zdGF0ZSA9IHZhbHVlO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh0aGlzLl9zdGF0ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgQElucHV0KCkgcHVibGljIHRvZ2dsZU9uQ2xpY2sgPSB0cnVlO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgdG9nZ2xlU3RhdGUoZXY6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy50b2dnbGVPbkNsaWNrKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuX3N0YXRlKSB7XG4gICAgICAgIGNhc2UgJ29wZW4nOlxuICAgICAgICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLnN0YXRlID0gJ29wZW4nO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm5hdmJhci10b2dnbGVyIGZsb2F0LWxlZnRcIiBbbmdDbGFzc109XCJzdGF0ZVwiPlxuICAgIDxkaXY+PC9kaXY+XG4gICAgPGRpdj48L2Rpdj5cbiAgICA8ZGl2PjwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -62,7 +62,7 @@ export class BsSelect2Component {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
BsSelect2Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsSelect2Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
BsSelect2Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", 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: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true, static: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }, { propertyName: "itemsBox", first: true, predicate: ["itemsBox"], descendants: true }], ngImport: i0, template: "<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [closeOnClickOutside]=\"true\" #itemsBox class=\"items-box text-wrap\">\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: i1.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "isOpen"], outputs: ["isOpenChange"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.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: i4.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }], pipes: { "async": i2.AsyncPipe, "inList": i5.BsInListPipe } });
|
|
65
|
+
BsSelect2Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", 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: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true, static: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }, { propertyName: "itemsBox", first: true, predicate: ["itemsBox"], descendants: true }], ngImport: i0, template: "<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [closeOnClickOutside]=\"true\" #itemsBox class=\"items-box text-wrap\">\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: i1.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.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: i4.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }], pipes: { "async": i2.AsyncPipe, "inList": i5.BsInListPipe } });
|
|
66
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsSelect2Component, decorators: [{
|
|
67
67
|
type: Component,
|
|
68
68
|
args: [{ selector: 'bs-select2', template: "<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [closeOnClickOutside]=\"true\" #itemsBox class=\"items-box text-wrap\">\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"] }]
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, NgZone, Renderer2 } from '@angular/core';
|
|
1
|
+
import { ChangeDetectorRef, Component, EventEmitter, Input, NgZone, Output, Renderer2 } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "../dropdown/dropdown/dropdown.directive";
|
|
4
4
|
import * as i2 from "../../directives/enhanced-paste/enhanced-paste.directive";
|
|
5
5
|
import * as i3 from "@angular/forms";
|
|
6
|
-
import * as i4 from "../dropdown/dropdown-
|
|
7
|
-
import * as i5 from "
|
|
8
|
-
import * as i6 from "@angular/common";
|
|
6
|
+
import * as i4 from "../dropdown/dropdown-menu/dropdown-menu.directive";
|
|
7
|
+
import * as i5 from "@angular/common";
|
|
9
8
|
export class BsTimepickerComponent {
|
|
10
9
|
constructor(ref, zone, renderer) {
|
|
11
10
|
this.ref = ref;
|
|
@@ -14,43 +13,9 @@ export class BsTimepickerComponent {
|
|
|
14
13
|
this.isOpen = false;
|
|
15
14
|
this.presetTimestamps = [];
|
|
16
15
|
this.isFocused = false;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
// return 0;
|
|
21
|
-
// } else {
|
|
22
|
-
// return Math.min(max, Math.abs(val));
|
|
23
|
-
// }
|
|
24
|
-
// }
|
|
25
|
-
// onPaste(event: ClipboardEvent, max: number) {
|
|
26
|
-
// // event.preventDefault();
|
|
27
|
-
// const data = event.clipboardData || (<any>window).clipboardData;
|
|
28
|
-
// const contents = data.getData('text');
|
|
29
|
-
// const filtered = this.filterInput(contents, max);
|
|
30
|
-
// // this.zone.run(() => {
|
|
31
|
-
// // (<any>event.target).value = filtered;
|
|
32
|
-
// // this.ref.detectChanges();
|
|
33
|
-
// // });
|
|
34
|
-
// // if (max == 59) {
|
|
35
|
-
// // this.minutes = filtered;
|
|
36
|
-
// // } else {
|
|
37
|
-
// // this.hours = filtered;
|
|
38
|
-
// // }
|
|
39
|
-
// // setTimeout(() => {
|
|
40
|
-
// // (<any>event.target).value = filtered;
|
|
41
|
-
// // }, 2000);
|
|
42
|
-
// this.renderer.setValue(event.target, filtered.toString());
|
|
43
|
-
// this.model.valueAccessor?.writeValue(filtered.toString());
|
|
44
|
-
// }
|
|
45
|
-
// ngOnChanges(changes: SimpleChanges): void {
|
|
46
|
-
// console.log('changes', changes);
|
|
47
|
-
// }
|
|
48
|
-
//#region Hours
|
|
49
|
-
this._hours = 0;
|
|
50
|
-
// hours = 0;
|
|
51
|
-
//#endregion
|
|
52
|
-
//#region Minutes
|
|
53
|
-
this._minutes = 0;
|
|
16
|
+
//#region SelectedTime
|
|
17
|
+
this._selectedTime = new Date();
|
|
18
|
+
this.selectedTimeChange = new EventEmitter();
|
|
54
19
|
const today = new Date();
|
|
55
20
|
today.setHours(0);
|
|
56
21
|
today.setMinutes(0);
|
|
@@ -73,11 +38,11 @@ export class BsTimepickerComponent {
|
|
|
73
38
|
const input = event.target;
|
|
74
39
|
const val = parseInt(input.value);
|
|
75
40
|
if (isNaN(val)) {
|
|
76
|
-
input.value = '
|
|
41
|
+
input.value = '00';
|
|
77
42
|
}
|
|
78
43
|
else {
|
|
79
44
|
const result = Math.min(max, Math.abs(val));
|
|
80
|
-
input.value = result.toString();
|
|
45
|
+
input.value = result.toString().padStart(2, '0');
|
|
81
46
|
if (nextInput) {
|
|
82
47
|
// const maxAllowedNumberOfDigits = input.max.length;
|
|
83
48
|
if (result * 10 > parseInt(input.max)) {
|
|
@@ -86,23 +51,60 @@ export class BsTimepickerComponent {
|
|
|
86
51
|
}
|
|
87
52
|
}
|
|
88
53
|
}
|
|
54
|
+
setTime(time) {
|
|
55
|
+
this.selectedTime = time;
|
|
56
|
+
this.isOpen = false;
|
|
57
|
+
}
|
|
58
|
+
get selectedTime() {
|
|
59
|
+
return this._selectedTime;
|
|
60
|
+
}
|
|
61
|
+
set selectedTime(value) {
|
|
62
|
+
// this.hours = value.getHours();
|
|
63
|
+
// this.minutes = value.getMinutes();
|
|
64
|
+
this._selectedTime = value;
|
|
65
|
+
this.selectedTimeChange.emit(this._selectedTime);
|
|
66
|
+
}
|
|
67
|
+
//#endregion
|
|
68
|
+
//#region Hours
|
|
69
|
+
// private _hours = 0;
|
|
89
70
|
get hours() {
|
|
90
|
-
return this._hours;
|
|
71
|
+
// return this._hours;
|
|
72
|
+
return this.selectedTime.getHours();
|
|
91
73
|
}
|
|
92
74
|
set hours(value) {
|
|
93
|
-
this._hours = value;
|
|
75
|
+
// this._hours = value;
|
|
76
|
+
const clone = new Date(this.selectedTime);
|
|
77
|
+
clone.setHours(value);
|
|
78
|
+
this.selectedTime = clone;
|
|
94
79
|
}
|
|
80
|
+
// hours = 0;
|
|
81
|
+
//#endregion
|
|
82
|
+
//#region Minutes
|
|
83
|
+
// private _minutes = 0;
|
|
95
84
|
get minutes() {
|
|
96
|
-
return this._minutes;
|
|
85
|
+
// return this._minutes;
|
|
86
|
+
return this.selectedTime.getMinutes();
|
|
97
87
|
}
|
|
98
88
|
set minutes(value) {
|
|
99
|
-
this._minutes = value;
|
|
89
|
+
// this._minutes = value;
|
|
90
|
+
// this.selectedTime.setMinutes(value);
|
|
91
|
+
const clone = new Date(this.selectedTime);
|
|
92
|
+
clone.setMinutes(value);
|
|
93
|
+
this.selectedTime = clone;
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
96
|
+
timesEqual(time1, time2) {
|
|
97
|
+
return (time1.getHours() === time2.getHours()) && (time1.getMinutes() === time2.getMinutes());
|
|
100
98
|
}
|
|
101
99
|
}
|
|
102
100
|
BsTimepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsTimepickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
-
BsTimepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsTimepickerComponent, selector: "bs-timepicker", ngImport: i0, template: "<div bsDropdown [(isOpen)]=\"isOpen\" [closeOnClickOutside]=\"true\">\n <span class=\"input-group\">\n <span class=\"form-control d-flex\" [class.focus]=\"isFocused\">\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"23\" (input)=\"setNumber($event, 23, minuteBox)\" bsEnhancedPaste [
|
|
101
|
+
BsTimepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: BsTimepickerComponent, selector: "bs-timepicker", inputs: { selectedTime: "selectedTime" }, outputs: { selectedTimeChange: "selectedTimeChange" }, ngImport: i0, template: "<div bsDropdown [(isOpen)]=\"isOpen\" [closeOnClickOutside]=\"true\" [sameDropdownWidth]=\"true\">\n <span class=\"input-group\">\n <span class=\"form-control d-flex\" [class.focus]=\"isFocused\">\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"23\" (input)=\"setNumber($event, 23, minuteBox)\" bsEnhancedPaste [ngModel]=\"hours | number: '2.0'\" (ngModelChange)=\"hours = $event\" (focus)=\"selectAll(hourBox)\" (blur)=\"isFocused = false\" #hourBox class=\"w-100 border-0 bg-transparent text-end\">\n </div>\n <span class=\"px-1\">:</span>\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"59\" (input)=\"setNumber($event, 59, null)\" bsEnhancedPaste [ngModel]=\"minutes | number: '2.0'\" (ngModelChange)=\"minutes = $event\" (focus)=\"selectAll(minuteBox)\" (blur)=\"isFocused = false\" #minuteBox class=\"w-100 border-0 bg-transparent\">\n </div>\n </span>\n <button class=\"btn btn-secondary\" (click)=\"isOpen = !isOpen\">\n <i class=\"bi bi-clock\"></i>\n </button>\n </span>\n <ul class=\"list-group\" *bsDropdownMenu>\n <li class=\"list-group-item list-group-item-action\" [class.active]=\"timesEqual(selectedTime, timestamp)\" *ngFor=\"let timestamp of presetTimestamps\" (click)=\"setTime(timestamp)\">\n {{ timestamp | date: 'HH:mm' }}\n </li>\n </ul>\n</div>", styles: [":host{display:inline-block}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;outline:0px!important}.form-control{transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control.focus{color:#495057;background-color:#fff;border-color:#80bdff!important;outline:0;box-shadow:0 0 0 .2rem #007bff40}.list-group{max-height:250px;overflow-y:auto}.list-group .list-group-item-action{cursor:pointer}\n"], directives: [{ type: i1.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { type: i2.EnhancedPasteDirective, selector: "input[type=\"number\"][bsEnhancedPaste]", outputs: ["numberOverflow"] }, { type: i3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i3.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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: i4.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "number": i5.DecimalPipe, "date": i5.DatePipe } });
|
|
104
102
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsTimepickerComponent, decorators: [{
|
|
105
103
|
type: Component,
|
|
106
|
-
args: [{ selector: 'bs-timepicker', template: "<div bsDropdown [(isOpen)]=\"isOpen\" [closeOnClickOutside]=\"true\">\n <span class=\"input-group\">\n <span class=\"form-control d-flex\" [class.focus]=\"isFocused\">\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"23\" (input)=\"setNumber($event, 23, minuteBox)\" bsEnhancedPaste [
|
|
107
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; }
|
|
108
|
-
|
|
104
|
+
args: [{ selector: 'bs-timepicker', template: "<div bsDropdown [(isOpen)]=\"isOpen\" [closeOnClickOutside]=\"true\" [sameDropdownWidth]=\"true\">\n <span class=\"input-group\">\n <span class=\"form-control d-flex\" [class.focus]=\"isFocused\">\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"23\" (input)=\"setNumber($event, 23, minuteBox)\" bsEnhancedPaste [ngModel]=\"hours | number: '2.0'\" (ngModelChange)=\"hours = $event\" (focus)=\"selectAll(hourBox)\" (blur)=\"isFocused = false\" #hourBox class=\"w-100 border-0 bg-transparent text-end\">\n </div>\n <span class=\"px-1\">:</span>\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"59\" (input)=\"setNumber($event, 59, null)\" bsEnhancedPaste [ngModel]=\"minutes | number: '2.0'\" (ngModelChange)=\"minutes = $event\" (focus)=\"selectAll(minuteBox)\" (blur)=\"isFocused = false\" #minuteBox class=\"w-100 border-0 bg-transparent\">\n </div>\n </span>\n <button class=\"btn btn-secondary\" (click)=\"isOpen = !isOpen\">\n <i class=\"bi bi-clock\"></i>\n </button>\n </span>\n <ul class=\"list-group\" *bsDropdownMenu>\n <li class=\"list-group-item list-group-item-action\" [class.active]=\"timesEqual(selectedTime, timestamp)\" *ngFor=\"let timestamp of presetTimestamps\" (click)=\"setTime(timestamp)\">\n {{ timestamp | date: 'HH:mm' }}\n </li>\n </ul>\n</div>", styles: [":host{display:inline-block}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;outline:0px!important}.form-control{transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control.focus{color:#495057;background-color:#fff;border-color:#80bdff!important;outline:0;box-shadow:0 0 0 .2rem #007bff40}.list-group{max-height:250px;overflow-y:auto}.list-group .list-group-item-action{cursor:pointer}\n"] }]
|
|
105
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { selectedTimeChange: [{
|
|
106
|
+
type: Output
|
|
107
|
+
}], selectedTime: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}] } });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy90aW1lcGlja2VyL3RpbWVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvdGltZXBpY2tlci90aW1lcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQU83RyxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQW9CLEdBQXNCLEVBQVUsSUFBWSxFQUFVLFFBQW1CO1FBQXpFLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFhN0YsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUM5QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBZ0NsQixzQkFBc0I7UUFDZCxrQkFBYSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEIsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQWhEN0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUQsTUFBTSxR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QUN4QyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYTtRQUN2Qix5QkFBeUI7UUFDekIsdUNBQXVDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDRCxZQUFZO0lBRVosVUFBVSxDQUFDLEtBQVcsRUFBRSxLQUFXO1FBQ2pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQzs7a0hBOUZVLHFCQUFxQjtzR0FBckIscUJBQXFCLHNKQ1BsQywrOENBb0JNOzJGRGJPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxlQUFlO3FKQXVEUixrQkFBa0I7c0JBQWxDLE1BQU07Z0JBSWEsWUFBWTtzQkFBL0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtdGltZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZXBpY2tlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJzVGltZXBpY2tlckNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHpvbmU6IE5nWm9uZSwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgIHRvZGF5LnNldEhvdXJzKDApOyB0b2RheS5zZXRNaW51dGVzKDApOyB0b2RheS5zZXRTZWNvbmRzKDApO1xuXG4gICAgY29uc3QgaW50ZXJ2YWwgPSA5MDA7XG4gICAgdGhpcy5wcmVzZXRUaW1lc3RhbXBzID0gQXJyYXkuZnJvbShBcnJheSgyNCAqIDYwICogNjAgLyBpbnRlcnZhbCkua2V5cygpKVxuICAgICAgLm1hcChpID0+IHtcbiAgICAgICAgY29uc3QgY2xvbmUgPSBuZXcgRGF0ZSh0b2RheSk7XG4gICAgICAgIGNsb25lLnNldFRpbWUoY2xvbmUuZ2V0VGltZSgpICsgaSAqIGludGVydmFsICogMTAwMCk7XG4gICAgICAgIHJldHVybiBjbG9uZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgaXNPcGVuID0gZmFsc2U7XG4gIHByZXNldFRpbWVzdGFtcHM6IERhdGVbXSA9IFtdO1xuICBpc0ZvY3VzZWQgPSBmYWxzZTtcblxuICBzZWxlY3RBbGwoYm94OiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgYm94LnNlbGVjdCgpO1xuICAgIC8vIGJveC5zZXRTZWxlY3Rpb25SYW5nZSgwLCBib3gudmFsdWUubGVuZ3RoKTtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gIH1cblxuICBzZXROdW1iZXIoZXZlbnQ6IEV2ZW50LCBtYXg6IG51bWJlciwgbmV4dElucHV0OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgaW5wdXQgPSA8SFRNTElucHV0RWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgY29uc3QgdmFsID0gcGFyc2VJbnQoaW5wdXQudmFsdWUpO1xuICAgIGlmIChpc05hTih2YWwpKSB7XG4gICAgICBpbnB1dC52YWx1ZSA9ICcwMCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IE1hdGgubWluKG1heCwgTWF0aC5hYnModmFsKSk7XG4gICAgICBpbnB1dC52YWx1ZSA9IHJlc3VsdC50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG5cbiAgICAgIGlmIChuZXh0SW5wdXQpIHtcbiAgICAgICAgLy8gY29uc3QgbWF4QWxsb3dlZE51bWJlck9mRGlnaXRzID0gaW5wdXQubWF4Lmxlbmd0aDtcbiAgICAgICAgaWYgKHJlc3VsdCAqIDEwID4gcGFyc2VJbnQoaW5wdXQubWF4KSkge1xuICAgICAgICAgIG5leHRJbnB1dC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0VGltZSh0aW1lOiBEYXRlKSB7XG4gICAgdGhpcy5zZWxlY3RlZFRpbWUgPSB0aW1lO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gIH1cblxuICAvLyNyZWdpb24gU2VsZWN0ZWRUaW1lXG4gIHByaXZhdGUgX3NlbGVjdGVkVGltZSA9IG5ldyBEYXRlKCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWRUaW1lQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRUaW1lO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc2VsZWN0ZWRUaW1lKHZhbHVlOiBEYXRlKSB7XG4gICAgLy8gdGhpcy5ob3VycyA9IHZhbHVlLmdldEhvdXJzKCk7XG4gICAgLy8gdGhpcy5taW51dGVzID0gdmFsdWUuZ2V0TWludXRlcygpO1xuICAgIHRoaXMuX3NlbGVjdGVkVGltZSA9IHZhbHVlO1xuICAgIHRoaXMuc2VsZWN0ZWRUaW1lQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWRUaW1lKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gSG91cnNcbiAgLy8gcHJpdmF0ZSBfaG91cnMgPSAwO1xuICBnZXQgaG91cnMoKSB7XG4gICAgLy8gcmV0dXJuIHRoaXMuX2hvdXJzO1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVGltZS5nZXRIb3VycygpO1xuICB9XG4gIHNldCBob3Vycyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgLy8gdGhpcy5faG91cnMgPSB2YWx1ZTtcbiAgICBjb25zdCBjbG9uZSA9IG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWRUaW1lKTtcbiAgICBjbG9uZS5zZXRIb3Vycyh2YWx1ZSk7XG4gICAgdGhpcy5zZWxlY3RlZFRpbWUgPSBjbG9uZTtcbiAgfVxuICAvLyBob3VycyA9IDA7XG4gIC8vI2VuZHJlZ2lvblxuICAvLyNyZWdpb24gTWludXRlc1xuICAvLyBwcml2YXRlIF9taW51dGVzID0gMDtcbiAgZ2V0IG1pbnV0ZXMoKSB7XG4gICAgLy8gcmV0dXJuIHRoaXMuX21pbnV0ZXM7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRUaW1lLmdldE1pbnV0ZXMoKTtcbiAgfVxuICBzZXQgbWludXRlcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgLy8gdGhpcy5fbWludXRlcyA9IHZhbHVlO1xuICAgIC8vIHRoaXMuc2VsZWN0ZWRUaW1lLnNldE1pbnV0ZXModmFsdWUpO1xuICAgIGNvbnN0IGNsb25lID0gbmV3IERhdGUodGhpcy5zZWxlY3RlZFRpbWUpO1xuICAgIGNsb25lLnNldE1pbnV0ZXModmFsdWUpO1xuICAgIHRoaXMuc2VsZWN0ZWRUaW1lID0gY2xvbmU7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgdGltZXNFcXVhbCh0aW1lMTogRGF0ZSwgdGltZTI6IERhdGUpIHtcbiAgICByZXR1cm4gKHRpbWUxLmdldEhvdXJzKCkgPT09IHRpbWUyLmdldEhvdXJzKCkpICYmICh0aW1lMS5nZXRNaW51dGVzKCkgPT09IHRpbWUyLmdldE1pbnV0ZXMoKSk7XG4gIH1cblxufVxuIiwiPGRpdiBic0Ryb3Bkb3duIFsoaXNPcGVuKV09XCJpc09wZW5cIiBbY2xvc2VPbkNsaWNrT3V0c2lkZV09XCJ0cnVlXCIgW3NhbWVEcm9wZG93bldpZHRoXT1cInRydWVcIj5cbiAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1jb250cm9sIGQtZmxleFwiIFtjbGFzcy5mb2N1c109XCJpc0ZvY3VzZWRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgW21pbl09XCIwXCIgW21heF09XCIyM1wiIChpbnB1dCk9XCJzZXROdW1iZXIoJGV2ZW50LCAyMywgbWludXRlQm94KVwiIGJzRW5oYW5jZWRQYXN0ZSBbbmdNb2RlbF09XCJob3VycyB8IG51bWJlcjogJzIuMCdcIiAobmdNb2RlbENoYW5nZSk9XCJob3VycyA9ICRldmVudFwiIChmb2N1cyk9XCJzZWxlY3RBbGwoaG91ckJveClcIiAoYmx1cik9XCJpc0ZvY3VzZWQgPSBmYWxzZVwiICNob3VyQm94IGNsYXNzPVwidy0xMDAgYm9yZGVyLTAgYmctdHJhbnNwYXJlbnQgdGV4dC1lbmRcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJweC0xXCI+Ojwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgW21pbl09XCIwXCIgW21heF09XCI1OVwiIChpbnB1dCk9XCJzZXROdW1iZXIoJGV2ZW50LCA1OSwgbnVsbClcIiBic0VuaGFuY2VkUGFzdGUgW25nTW9kZWxdPVwibWludXRlcyB8IG51bWJlcjogJzIuMCdcIiAobmdNb2RlbENoYW5nZSk9XCJtaW51dGVzID0gJGV2ZW50XCIgIChmb2N1cyk9XCJzZWxlY3RBbGwobWludXRlQm94KVwiIChibHVyKT1cImlzRm9jdXNlZCA9IGZhbHNlXCIgI21pbnV0ZUJveCBjbGFzcz1cInctMTAwIGJvcmRlci0wIGJnLXRyYW5zcGFyZW50XCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwiaXNPcGVuID0gIWlzT3BlblwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1jbG9ja1wiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9zcGFuPlxuICAgIDx1bCBjbGFzcz1cImxpc3QtZ3JvdXBcIiAqYnNEcm9wZG93bk1lbnU+XG4gICAgICAgIDxsaSBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbSBsaXN0LWdyb3VwLWl0ZW0tYWN0aW9uXCIgW2NsYXNzLmFjdGl2ZV09XCJ0aW1lc0VxdWFsKHNlbGVjdGVkVGltZSwgdGltZXN0YW1wKVwiICpuZ0Zvcj1cImxldCB0aW1lc3RhbXAgb2YgcHJlc2V0VGltZXN0YW1wc1wiIChjbGljayk9XCJzZXRUaW1lKHRpbWVzdGFtcClcIj5cbiAgICAgICAgICAgIHt7IHRpbWVzdGFtcCB8IGRhdGU6ICdISDptbScgfX1cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9kaXY+Il19
|
|
@@ -62,7 +62,7 @@ export class BsTypeaheadComponent {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
BsTypeaheadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsTypeaheadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
BsTypeaheadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", 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: i1.BsProgressComponent, selector: "bs-progress", inputs: ["height", "isIndeterminate"] }], directives: [{ type: i2.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: i4.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5.AsyncPipe } });
|
|
65
|
+
BsTypeaheadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", 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: i1.BsProgressComponent, selector: "bs-progress", inputs: ["height", "isIndeterminate"] }], directives: [{ type: i2.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "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: i4.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5.AsyncPipe } });
|
|
66
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: BsTypeaheadComponent, decorators: [{
|
|
67
67
|
type: Component,
|
|
68
68
|
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"] }]
|