@mintplayer/ng-bootstrap 16.8.0 → 16.9.0

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.
@@ -3,17 +3,18 @@ import { BehaviorSubject, Observable } from 'rxjs';
3
3
  import { PaginationResponse } from '@mintplayer/pagination';
4
4
  import { DatatableSettings } from '../datatable-settings';
5
5
  import { BsDatatableColumnDirective } from '../datatable-column/datatable-column.directive';
6
+ import { BsRowTemplateContext } from '../row-template/row-template.directive';
6
7
  import * as i0 from "@angular/core";
7
- export declare class BsDatatableComponent {
8
+ export declare class BsDatatableComponent<TData> {
8
9
  constructor();
9
10
  columns$: BehaviorSubject<BsDatatableColumnDirective[]>;
10
11
  numberOfColumns$: Observable<number>;
11
12
  set columns(value: BsDatatableColumnDirective[]);
12
13
  settings: DatatableSettings;
13
- data?: PaginationResponse<any>;
14
- rowTemplate?: TemplateRef<any>;
14
+ data?: PaginationResponse<TData>;
15
+ rowTemplate?: TemplateRef<BsRowTemplateContext<TData>>;
15
16
  settingsChange: EventEmitter<DatatableSettings>;
16
17
  columnHeaderClicked(column: BsDatatableColumnDirective): void;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<BsDatatableComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<BsDatatableComponent, "bs-datatable", never, { "settings": { "alias": "settings"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, { "settingsChange": "settingsChange"; }, ["columns"], never, false, never>;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<BsDatatableComponent<any>, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<BsDatatableComponent<any>, "bs-datatable", never, { "settings": { "alias": "settings"; "required": false; }; }, { "settingsChange": "settingsChange"; }, ["columns"], never, false, never>;
19
20
  }
@@ -1,9 +1,15 @@
1
1
  import { TemplateRef } from '@angular/core';
2
+ import { PaginationResponse } from '@mintplayer/pagination';
2
3
  import { BsDatatableComponent } from '../datatable/datatable.component';
3
4
  import * as i0 from "@angular/core";
4
- export declare class BsRowTemplateDirective {
5
+ export declare class BsRowTemplateDirective<TData> {
5
6
  private datatableComponent;
6
- constructor(datatableComponent: BsDatatableComponent, templateRef: TemplateRef<any>);
7
- static ɵfac: i0.ɵɵFactoryDeclaration<BsRowTemplateDirective, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<BsRowTemplateDirective, "[bsRowTemplate]", never, {}, {}, never, never, false, never>;
7
+ constructor(datatableComponent: BsDatatableComponent<TData>, templateRef: TemplateRef<BsRowTemplateContext<TData>>);
8
+ set bsRowTemplateOf(value: PaginationResponse<TData> | undefined);
9
+ static ngTemplateContextGuard<TData>(dir: BsRowTemplateDirective<TData>, ctx: any): ctx is BsRowTemplateContext<Exclude<TData, false | 0 | '' | null | undefined>>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<BsRowTemplateDirective<any>, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BsRowTemplateDirective<any>, "[bsRowTemplate]", never, { "bsRowTemplateOf": { "alias": "bsRowTemplateOf"; "required": false; }; }, {}, never, never, false, never>;
12
+ }
13
+ export declare class BsRowTemplateContext<TData = unknown> {
14
+ $implicit: TData;
9
15
  }
@@ -1,6 +1,5 @@
1
1
  import { Component, Input, ContentChildren, EventEmitter, Output } from '@angular/core';
2
2
  import { BehaviorSubject, map } from 'rxjs';
3
- import { PaginationResponse } from '@mintplayer/pagination';
4
3
  import { DatatableSettings } from '../datatable-settings';
5
4
  import { BsDatatableColumnDirective } from '../datatable-column/datatable-column.directive';
6
5
  import * as i0 from "@angular/core";
@@ -39,7 +38,7 @@ export class BsDatatableComponent {
39
38
  }
40
39
  }
41
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsDatatableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsDatatableComponent, selector: "bs-datatable", inputs: { settings: "settings", data: "data" }, outputs: { settingsChange: "settingsChange" }, queries: [{ propertyName: "columns", predicate: BsDatatableColumnDirective }], ngImport: i0, template: "<bs-table [isResponsive]=\"true\" [striped]=\"true\" [hover]=\"true\" class=\"mb-3\">\n <thead>\n <tr>\n <th *ngFor=\"let column of (columns$ | async)\" class=\"text-nowrap\"\n [class.sort]=\"column.sortable\"\n [class.sort-asc]=\"column.sortable && (settings.sortProperty === column.name) && (settings.sortDirection === 'ascending')\"\n [class.sort-desc]=\"column.sortable && (settings.sortProperty === column.name) && (settings.sortDirection === 'descending')\"\n (click)=\"columnHeaderClicked(column)\">\n <ng-container *ngTemplateOutlet=\"column.templateRef\"></ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"!!data && !!rowTemplate\">\n <ng-container *ngFor=\"let item of data.data\">\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: item }\"></ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n <tfoot>\n <tr>\n <td [colSpan]=\"numberOfColumns$ | async\">\n <bs-grid [stopFullWidthAt]=\"'never'\">\n <div bsRow>\n <div [bsColumn]=\"{md: 12}\">\n <bs-pagination class=\"float-start\" [pageNumbers]=\"settings.perPage.values\"\n [(selectedPageNumber)]=\"settings.perPage.selected\" (selectedPageNumberChange)=\"settingsChange.emit(settings)\"\n [showArrows]=\"false\"></bs-pagination>\n <bs-pagination class=\"float-end\" [pageNumbers]=\"settings.page.values\"\n [(selectedPageNumber)]=\"settings.page.selected\" (selectedPageNumberChange)=\"settingsChange.emit(settings)\"\n [showArrows]=\"true\"></bs-pagination>\n </div>\n </div>\n </bs-grid>\n </td>\n </tr>\n </tfoot>\n</bs-table>", styles: ["@charset \"UTF-8\";tfoot>tr>td{border-bottom:none}bs-table thead th.sort{position:relative;cursor:pointer;padding-right:2rem}bs-table thead th.sort:before,bs-table thead th.sort:after{position:absolute;display:block;opacity:.3;bottom:.5em}bs-table thead th.sort:before{content:\"\\2191\";right:1em}bs-table thead th.sort:after{content:\"\\2193\";right:.5em}bs-table thead th.sort.sort-asc:after{opacity:1}bs-table thead th.sort.sort-desc:before{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.BsGridComponent, selector: "bs-grid", inputs: ["stopFullWidthAt"] }, { kind: "directive", type: i2.BsGridRowDirective, selector: "[bsRow]" }, { kind: "directive", type: i2.BsGridColumnDirective, selector: "[bsColumn]", inputs: ["bsColumn"] }, { kind: "component", type: i3.BsTableComponent, selector: "bs-table", inputs: ["isResponsive", "striped", "hover"] }, { kind: "component", type: i4.BsPaginationComponent, selector: "bs-pagination", inputs: ["selectedPageNumber", "numberOfBoxes", "pageNumbers", "showArrows", "size"], outputs: ["selectedPageNumberChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsDatatableComponent, selector: "bs-datatable", inputs: { settings: "settings" }, outputs: { settingsChange: "settingsChange" }, queries: [{ propertyName: "columns", predicate: BsDatatableColumnDirective }], ngImport: i0, template: "<bs-table [isResponsive]=\"true\" [striped]=\"true\" [hover]=\"true\" class=\"mb-3\">\n <thead>\n <tr>\n <th *ngFor=\"let column of (columns$ | async)\" class=\"text-nowrap\"\n [class.sort]=\"column.sortable\"\n [class.sort-asc]=\"column.sortable && (settings.sortProperty === column.name) && (settings.sortDirection === 'ascending')\"\n [class.sort-desc]=\"column.sortable && (settings.sortProperty === column.name) && (settings.sortDirection === 'descending')\"\n (click)=\"columnHeaderClicked(column)\">\n <ng-container *ngTemplateOutlet=\"column.templateRef\"></ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"!!data && !!rowTemplate\">\n <ng-container *ngFor=\"let item of data.data\">\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: item }\"></ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n <tfoot>\n <tr>\n <td [colSpan]=\"numberOfColumns$ | async\">\n <bs-grid [stopFullWidthAt]=\"'never'\">\n <div bsRow>\n <div [bsColumn]=\"{md: 12}\">\n <bs-pagination class=\"float-start\" [pageNumbers]=\"settings.perPage.values\"\n [(selectedPageNumber)]=\"settings.perPage.selected\" (selectedPageNumberChange)=\"settingsChange.emit(settings)\"\n [showArrows]=\"false\"></bs-pagination>\n <bs-pagination class=\"float-end\" [pageNumbers]=\"settings.page.values\"\n [(selectedPageNumber)]=\"settings.page.selected\" (selectedPageNumberChange)=\"settingsChange.emit(settings)\"\n [showArrows]=\"true\"></bs-pagination>\n </div>\n </div>\n </bs-grid>\n </td>\n </tr>\n </tfoot>\n</bs-table>", styles: ["@charset \"UTF-8\";tfoot>tr>td{border-bottom:none}bs-table thead th.sort{position:relative;cursor:pointer;padding-right:2rem}bs-table thead th.sort:before,bs-table thead th.sort:after{position:absolute;display:block;opacity:.3;bottom:.5em}bs-table thead th.sort:before{content:\"\\2191\";right:1em}bs-table thead th.sort:after{content:\"\\2193\";right:.5em}bs-table thead th.sort.sort-asc:after{opacity:1}bs-table thead th.sort.sort-desc:before{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.BsGridComponent, selector: "bs-grid", inputs: ["stopFullWidthAt"] }, { kind: "directive", type: i2.BsGridRowDirective, selector: "[bsRow]" }, { kind: "directive", type: i2.BsGridColumnDirective, selector: "[bsColumn]", inputs: ["bsColumn"] }, { kind: "component", type: i3.BsTableComponent, selector: "bs-table", inputs: ["isResponsive", "striped", "hover"] }, { kind: "component", type: i4.BsPaginationComponent, selector: "bs-pagination", inputs: ["selectedPageNumber", "numberOfBoxes", "pageNumbers", "showArrows", "size"], outputs: ["selectedPageNumberChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
43
42
  }
44
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsDatatableComponent, decorators: [{
45
44
  type: Component,
@@ -49,9 +48,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
49
48
  args: [BsDatatableColumnDirective]
50
49
  }], settings: [{
51
50
  type: Input
52
- }], data: [{
53
- type: Input
54
51
  }], settingsChange: [{
55
52
  type: Output
56
53
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvZGF0YXRhYmxlL3NyYy9kYXRhdGFibGUvZGF0YXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvZGF0YXRhYmxlL3NyYy9kYXRhdGFibGUvZGF0YXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBZSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7QUFRNUYsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQjtRQVVBLGlCQUFpQjtRQUNqQixhQUFRLEdBQUcsSUFBSSxlQUFlLENBQStCLEVBQUUsQ0FBQyxDQUFDO1FBVXZELG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFwQi9ELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUVsRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUtELElBQWlELE9BQU8sQ0FBQyxLQUFtQztRQUMxRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBUUQsbUJBQW1CLENBQUMsTUFBa0M7UUFDcEQsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ25CLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEtBQUssTUFBTSxDQUFDLElBQUksRUFBRTtnQkFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDO2FBQzNDO2lCQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssWUFBWSxFQUFFO2dCQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUM7YUFDM0M7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO2FBQzVDO1lBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQzs4R0FyQ1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsMktBZWQsMEJBQTBCLDZCQzNCN0MsNmdFQXFDVzs7MkZEekJFLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxjQUFjOzBFQW1CeUIsT0FBTztzQkFBdkQsZUFBZTt1QkFBQywwQkFBMEI7Z0JBS2xDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDb250ZW50Q2hpbGRyZW4sIFRlbXBsYXRlUmVmLCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBhZ2luYXRpb25SZXNwb25zZSB9IGZyb20gJ0BtaW50cGxheWVyL3BhZ2luYXRpb24nO1xuaW1wb3J0IHsgRGF0YXRhYmxlU2V0dGluZ3MgfSBmcm9tICcuLi9kYXRhdGFibGUtc2V0dGluZ3MnO1xuaW1wb3J0IHsgQnNEYXRhdGFibGVDb2x1bW5EaXJlY3RpdmUgfSBmcm9tICcuLi9kYXRhdGFibGUtY29sdW1uL2RhdGF0YWJsZS1jb2x1bW4uZGlyZWN0aXZlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1kYXRhdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNEYXRhdGFibGVDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2V0dGluZ3MgPSBuZXcgRGF0YXRhYmxlU2V0dGluZ3MoKTtcbiAgICB0aGlzLnNldHRpbmdzLnNvcnRQcm9wZXJ0eSA9ICcnO1xuICAgIHRoaXMuc2V0dGluZ3Muc29ydERpcmVjdGlvbiA9ICdhc2NlbmRpbmcnO1xuICAgIHRoaXMuc2V0dGluZ3MucGVyUGFnZSA9IHsgdmFsdWVzOiBbMTAsIDIwLCA1MF0sIHNlbGVjdGVkOiAyMCB9O1xuICAgIHRoaXMuc2V0dGluZ3MucGFnZSA9IHsgdmFsdWVzOiBbMV0sIHNlbGVjdGVkOiAxIH07XG5cbiAgICB0aGlzLm51bWJlck9mQ29sdW1ucyQgPSB0aGlzLmNvbHVtbnMkLnBpcGUobWFwKGNvbHVtbnMgPT4gY29sdW1ucy5sZW5ndGgpKTtcbiAgfVxuICBcbiAgLy8jcmVnaW9uIENvbHVtbnNcbiAgY29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJzRGF0YXRhYmxlQ29sdW1uRGlyZWN0aXZlW10+KFtdKTtcbiAgbnVtYmVyT2ZDb2x1bW5zJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBAQ29udGVudENoaWxkcmVuKEJzRGF0YXRhYmxlQ29sdW1uRGlyZWN0aXZlKSBzZXQgY29sdW1ucyh2YWx1ZTogQnNEYXRhdGFibGVDb2x1bW5EaXJlY3RpdmVbXSkge1xuICAgIHRoaXMuY29sdW1ucyQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgQElucHV0KCkgc2V0dGluZ3M6IERhdGF0YWJsZVNldHRpbmdzO1xuICBASW5wdXQoKSBkYXRhPzogUGFnaW5hdGlvblJlc3BvbnNlPGFueT47XG4gIHJvd1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQE91dHB1dCgpIHNldHRpbmdzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRhdGFibGVTZXR0aW5ncz4oKTtcblxuICBjb2x1bW5IZWFkZXJDbGlja2VkKGNvbHVtbjogQnNEYXRhdGFibGVDb2x1bW5EaXJlY3RpdmUpIHtcbiAgICBpZiAoY29sdW1uLnNvcnRhYmxlKSB7XG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5zb3J0UHJvcGVydHkgIT09IGNvbHVtbi5uYW1lKSB7XG4gICAgICAgIHRoaXMuc2V0dGluZ3Muc29ydFByb3BlcnR5ID0gY29sdW1uLm5hbWU7XG4gICAgICAgIHRoaXMuc2V0dGluZ3Muc29ydERpcmVjdGlvbiA9ICdhc2NlbmRpbmcnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnNldHRpbmdzLnNvcnREaXJlY3Rpb24gPT09ICdkZXNjZW5kaW5nJykge1xuICAgICAgICB0aGlzLnNldHRpbmdzLnNvcnREaXJlY3Rpb24gPSAnYXNjZW5kaW5nJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2V0dGluZ3Muc29ydERpcmVjdGlvbiA9ICdkZXNjZW5kaW5nJztcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0dGluZ3NDaGFuZ2UuZW1pdCh0aGlzLnNldHRpbmdzKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGJzLXRhYmxlIFtpc1Jlc3BvbnNpdmVdPVwidHJ1ZVwiIFtzdHJpcGVkXT1cInRydWVcIiBbaG92ZXJdPVwidHJ1ZVwiIGNsYXNzPVwibWItM1wiPlxuICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgKGNvbHVtbnMkIHwgYXN5bmMpXCIgY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNvcnRdPVwiY29sdW1uLnNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc29ydC1hc2NdPVwiY29sdW1uLnNvcnRhYmxlICYmIChzZXR0aW5ncy5zb3J0UHJvcGVydHkgPT09IGNvbHVtbi5uYW1lKSAmJiAoc2V0dGluZ3Muc29ydERpcmVjdGlvbiA9PT0gJ2FzY2VuZGluZycpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc29ydC1kZXNjXT1cImNvbHVtbi5zb3J0YWJsZSAmJiAoc2V0dGluZ3Muc29ydFByb3BlcnR5ID09PSBjb2x1bW4ubmFtZSkgJiYgKHNldHRpbmdzLnNvcnREaXJlY3Rpb24gPT09ICdkZXNjZW5kaW5nJylcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb2x1bW5IZWFkZXJDbGlja2VkKGNvbHVtbilcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29sdW1uLnRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRib2R5PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISFkYXRhICYmICEhcm93VGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YS5kYXRhXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvd1RlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90Ym9keT5cbiAgICA8dGZvb3Q+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0ZCBbY29sU3Bhbl09XCJudW1iZXJPZkNvbHVtbnMkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgICA8YnMtZ3JpZCBbc3RvcEZ1bGxXaWR0aEF0XT1cIiduZXZlcidcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBic1Jvdz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2JzQ29sdW1uXT1cInttZDogMTJ9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJzLXBhZ2luYXRpb24gY2xhc3M9XCJmbG9hdC1zdGFydFwiIFtwYWdlTnVtYmVyc109XCJzZXR0aW5ncy5wZXJQYWdlLnZhbHVlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoc2VsZWN0ZWRQYWdlTnVtYmVyKV09XCJzZXR0aW5ncy5wZXJQYWdlLnNlbGVjdGVkXCIgKHNlbGVjdGVkUGFnZU51bWJlckNoYW5nZSk9XCJzZXR0aW5nc0NoYW5nZS5lbWl0KHNldHRpbmdzKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93QXJyb3dzXT1cImZhbHNlXCI+PC9icy1wYWdpbmF0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicy1wYWdpbmF0aW9uIGNsYXNzPVwiZmxvYXQtZW5kXCIgW3BhZ2VOdW1iZXJzXT1cInNldHRpbmdzLnBhZ2UudmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhzZWxlY3RlZFBhZ2VOdW1iZXIpXT1cInNldHRpbmdzLnBhZ2Uuc2VsZWN0ZWRcIiAoc2VsZWN0ZWRQYWdlTnVtYmVyQ2hhbmdlKT1cInNldHRpbmdzQ2hhbmdlLmVtaXQoc2V0dGluZ3MpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dBcnJvd3NdPVwidHJ1ZVwiPjwvYnMtcGFnaW5hdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2JzLWdyaWQ+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgIDwvdGZvb3Q+XG48L2JzLXRhYmxlPiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvZGF0YXRhYmxlL3NyYy9kYXRhdGFibGUvZGF0YXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvZGF0YXRhYmxlL3NyYy9kYXRhdGFibGUvZGF0YXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBZSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7QUFTNUYsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQjtRQVVBLGlCQUFpQjtRQUNqQixhQUFRLEdBQUcsSUFBSSxlQUFlLENBQStCLEVBQUUsQ0FBQyxDQUFDO1FBVXZELG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFwQi9ELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUVsRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUtELElBQWlELE9BQU8sQ0FBQyxLQUFtQztRQUMxRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBUUQsbUJBQW1CLENBQUMsTUFBa0M7UUFDcEQsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ25CLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEtBQUssTUFBTSxDQUFDLElBQUksRUFBRTtnQkFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDO2FBQzNDO2lCQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssWUFBWSxFQUFFO2dCQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUM7YUFDM0M7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO2FBQzVDO1lBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQzs4R0FyQ1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsNkpBZWQsMEJBQTBCLDZCQzVCN0MsNmdFQXFDVzs7MkZEeEJFLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxjQUFjOzBFQW1CeUIsT0FBTztzQkFBdkQsZUFBZTt1QkFBQywwQkFBMEI7Z0JBS2xDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0ksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgVGVtcGxhdGVSZWYsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGFnaW5hdGlvblJlc3BvbnNlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBEYXRhdGFibGVTZXR0aW5ncyB9IGZyb20gJy4uL2RhdGF0YWJsZS1zZXR0aW5ncyc7XG5pbXBvcnQgeyBCc0RhdGF0YWJsZUNvbHVtbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2RhdGF0YWJsZS1jb2x1bW4vZGF0YXRhYmxlLWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNSb3dUZW1wbGF0ZUNvbnRleHQgfSBmcm9tICcuLi9yb3ctdGVtcGxhdGUvcm93LXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtZGF0YXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGF0YWJsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJzRGF0YXRhYmxlQ29tcG9uZW50PFREYXRhPiB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zZXR0aW5ncyA9IG5ldyBEYXRhdGFibGVTZXR0aW5ncygpO1xuICAgIHRoaXMuc2V0dGluZ3Muc29ydFByb3BlcnR5ID0gJyc7XG4gICAgdGhpcy5zZXR0aW5ncy5zb3J0RGlyZWN0aW9uID0gJ2FzY2VuZGluZyc7XG4gICAgdGhpcy5zZXR0aW5ncy5wZXJQYWdlID0geyB2YWx1ZXM6IFsxMCwgMjAsIDUwXSwgc2VsZWN0ZWQ6IDIwIH07XG4gICAgdGhpcy5zZXR0aW5ncy5wYWdlID0geyB2YWx1ZXM6IFsxXSwgc2VsZWN0ZWQ6IDEgfTtcblxuICAgIHRoaXMubnVtYmVyT2ZDb2x1bW5zJCA9IHRoaXMuY29sdW1ucyQucGlwZShtYXAoY29sdW1ucyA9PiBjb2x1bW5zLmxlbmd0aCkpO1xuICB9XG4gIFxuICAvLyNyZWdpb24gQ29sdW1uc1xuICBjb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnNEYXRhdGFibGVDb2x1bW5EaXJlY3RpdmVbXT4oW10pO1xuICBudW1iZXJPZkNvbHVtbnMkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIEBDb250ZW50Q2hpbGRyZW4oQnNEYXRhdGFibGVDb2x1bW5EaXJlY3RpdmUpIHNldCBjb2x1bW5zKHZhbHVlOiBCc0RhdGF0YWJsZUNvbHVtbkRpcmVjdGl2ZVtdKSB7XG4gICAgdGhpcy5jb2x1bW5zJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBASW5wdXQoKSBzZXR0aW5nczogRGF0YXRhYmxlU2V0dGluZ3M7XG4gIGRhdGE/OiBQYWdpbmF0aW9uUmVzcG9uc2U8VERhdGE+O1xuICByb3dUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPEJzUm93VGVtcGxhdGVDb250ZXh0PFREYXRhPj47XG4gIEBPdXRwdXQoKSBzZXR0aW5nc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YXRhYmxlU2V0dGluZ3M+KCk7XG5cbiAgY29sdW1uSGVhZGVyQ2xpY2tlZChjb2x1bW46IEJzRGF0YXRhYmxlQ29sdW1uRGlyZWN0aXZlKSB7XG4gICAgaWYgKGNvbHVtbi5zb3J0YWJsZSkge1xuICAgICAgaWYgKHRoaXMuc2V0dGluZ3Muc29ydFByb3BlcnR5ICE9PSBjb2x1bW4ubmFtZSkge1xuICAgICAgICB0aGlzLnNldHRpbmdzLnNvcnRQcm9wZXJ0eSA9IGNvbHVtbi5uYW1lO1xuICAgICAgICB0aGlzLnNldHRpbmdzLnNvcnREaXJlY3Rpb24gPSAnYXNjZW5kaW5nJztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zZXR0aW5ncy5zb3J0RGlyZWN0aW9uID09PSAnZGVzY2VuZGluZycpIHtcbiAgICAgICAgdGhpcy5zZXR0aW5ncy5zb3J0RGlyZWN0aW9uID0gJ2FzY2VuZGluZyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldHRpbmdzLnNvcnREaXJlY3Rpb24gPSAnZGVzY2VuZGluZyc7XG4gICAgICB9XG4gICAgICB0aGlzLnNldHRpbmdzQ2hhbmdlLmVtaXQodGhpcy5zZXR0aW5ncyk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxicy10YWJsZSBbaXNSZXNwb25zaXZlXT1cInRydWVcIiBbc3RyaXBlZF09XCJ0cnVlXCIgW2hvdmVyXT1cInRydWVcIiBjbGFzcz1cIm1iLTNcIj5cbiAgICA8dGhlYWQ+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIChjb2x1bW5zJCB8IGFzeW5jKVwiIGNsYXNzPVwidGV4dC1ub3dyYXBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zb3J0XT1cImNvbHVtbi5zb3J0YWJsZVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNvcnQtYXNjXT1cImNvbHVtbi5zb3J0YWJsZSAmJiAoc2V0dGluZ3Muc29ydFByb3BlcnR5ID09PSBjb2x1bW4ubmFtZSkgJiYgKHNldHRpbmdzLnNvcnREaXJlY3Rpb24gPT09ICdhc2NlbmRpbmcnKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNvcnQtZGVzY109XCJjb2x1bW4uc29ydGFibGUgJiYgKHNldHRpbmdzLnNvcnRQcm9wZXJ0eSA9PT0gY29sdW1uLm5hbWUpICYmIChzZXR0aW5ncy5zb3J0RGlyZWN0aW9uID09PSAnZGVzY2VuZGluZycpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29sdW1uSGVhZGVyQ2xpY2tlZChjb2x1bW4pXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbi50ZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhZGF0YSAmJiAhIXJvd1RlbXBsYXRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGEuZGF0YVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdGJvZHk+XG4gICAgPHRmb290PlxuICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGQgW2NvbFNwYW5dPVwibnVtYmVyT2ZDb2x1bW5zJCB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgPGJzLWdyaWQgW3N0b3BGdWxsV2lkdGhBdF09XCInbmV2ZXInXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgYnNSb3c+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtic0NvbHVtbl09XCJ7bWQ6IDEyfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicy1wYWdpbmF0aW9uIGNsYXNzPVwiZmxvYXQtc3RhcnRcIiBbcGFnZU51bWJlcnNdPVwic2V0dGluZ3MucGVyUGFnZS52YWx1ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHNlbGVjdGVkUGFnZU51bWJlcildPVwic2V0dGluZ3MucGVyUGFnZS5zZWxlY3RlZFwiIChzZWxlY3RlZFBhZ2VOdW1iZXJDaGFuZ2UpPVwic2V0dGluZ3NDaGFuZ2UuZW1pdChzZXR0aW5ncylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0Fycm93c109XCJmYWxzZVwiPjwvYnMtcGFnaW5hdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnMtcGFnaW5hdGlvbiBjbGFzcz1cImZsb2F0LWVuZFwiIFtwYWdlTnVtYmVyc109XCJzZXR0aW5ncy5wYWdlLnZhbHVlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoc2VsZWN0ZWRQYWdlTnVtYmVyKV09XCJzZXR0aW5ncy5wYWdlLnNlbGVjdGVkXCIgKHNlbGVjdGVkUGFnZU51bWJlckNoYW5nZSk9XCJzZXR0aW5nc0NoYW5nZS5lbWl0KHNldHRpbmdzKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93QXJyb3dzXT1cInRydWVcIj48L2JzLXBhZ2luYXRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9icy1ncmlkPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICA8L3Rmb290PlxuPC9icy10YWJsZT4iXX0=
@@ -1,4 +1,4 @@
1
- import { Directive, TemplateRef } from '@angular/core';
1
+ import { Directive, Input, TemplateRef } from '@angular/core';
2
2
  import { BsDatatableComponent } from '../datatable/datatable.component';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../datatable/datatable.component";
@@ -7,13 +7,26 @@ export class BsRowTemplateDirective {
7
7
  this.datatableComponent = datatableComponent;
8
8
  this.datatableComponent.rowTemplate = templateRef;
9
9
  }
10
+ set bsRowTemplateOf(value) {
11
+ this.datatableComponent.data = value;
12
+ }
13
+ static ngTemplateContextGuard(dir, ctx) {
14
+ return true;
15
+ }
10
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsRowTemplateDirective, deps: [{ token: i1.BsDatatableComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
11
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsRowTemplateDirective, selector: "[bsRowTemplate]", ngImport: i0 }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsRowTemplateDirective, selector: "[bsRowTemplate]", inputs: { bsRowTemplateOf: "bsRowTemplateOf" }, ngImport: i0 }); }
12
18
  }
13
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsRowTemplateDirective, decorators: [{
14
20
  type: Directive,
15
21
  args: [{
16
22
  selector: '[bsRowTemplate]'
17
23
  }]
18
- }], ctorParameters: function () { return [{ type: i1.BsDatatableComponent }, { type: i0.TemplateRef }]; } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvZGF0YXRhYmxlL3NyYy9yb3ctdGVtcGxhdGUvcm93LXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBS3hFLE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsWUFBb0Isa0JBQXdDLEVBQUUsV0FBNkI7UUFBdkUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFzQjtRQUMxRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNwRCxDQUFDOzhHQUpVLHNCQUFzQjtrR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzRGF0YXRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YXRhYmxlL2RhdGF0YWJsZS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNSb3dUZW1wbGF0ZV0nXG59KVxuZXhwb3J0IGNsYXNzIEJzUm93VGVtcGxhdGVEaXJlY3RpdmUge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YXRhYmxlQ29tcG9uZW50OiBCc0RhdGF0YWJsZUNvbXBvbmVudCwgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLmRhdGF0YWJsZUNvbXBvbmVudC5yb3dUZW1wbGF0ZSA9IHRlbXBsYXRlUmVmO1xuICB9XG4gIFxufSJdfQ==
24
+ }], ctorParameters: function () { return [{ type: i1.BsDatatableComponent }, { type: i0.TemplateRef }]; }, propDecorators: { bsRowTemplateOf: [{
25
+ type: Input
26
+ }] } });
27
+ export class BsRowTemplateContext {
28
+ constructor() {
29
+ this.$implicit = null;
30
+ }
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvZGF0YXRhYmxlL3NyYy9yb3ctdGVtcGxhdGUvcm93LXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUt4RSxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDLFlBQW9CLGtCQUErQyxFQUFFLFdBQXFEO1FBQXRHLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBNkI7UUFDakUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQWEsZUFBZSxDQUFDLEtBQTRDO1FBQ3ZFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxNQUFNLENBQUMsc0JBQXNCLENBQ2xDLEdBQWtDLEVBQ2xDLEdBQVE7UUFFUixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBZlUsc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7cUlBT2MsZUFBZTtzQkFBM0IsS0FBSzs7QUFZUixNQUFNLE9BQU8sb0JBQW9CO0lBQWpDO1FBQ1MsY0FBUyxHQUFVLElBQUssQ0FBQztJQUNsQyxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFnaW5hdGlvblJlc3BvbnNlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBCc0RhdGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGF0YWJsZS9kYXRhdGFibGUuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2JzUm93VGVtcGxhdGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBCc1Jvd1RlbXBsYXRlRGlyZWN0aXZlPFREYXRhPiB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhdGFibGVDb21wb25lbnQ6IEJzRGF0YXRhYmxlQ29tcG9uZW50PFREYXRhPiwgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPEJzUm93VGVtcGxhdGVDb250ZXh0PFREYXRhPj4pIHtcbiAgICB0aGlzLmRhdGF0YWJsZUNvbXBvbmVudC5yb3dUZW1wbGF0ZSA9IHRlbXBsYXRlUmVmO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGJzUm93VGVtcGxhdGVPZih2YWx1ZTogUGFnaW5hdGlvblJlc3BvbnNlPFREYXRhPiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuZGF0YXRhYmxlQ29tcG9uZW50LmRhdGEgPSB2YWx1ZTtcbiAgfVxuICBcbiAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFREYXRhPihcbiAgICBkaXI6IEJzUm93VGVtcGxhdGVEaXJlY3RpdmU8VERhdGE+LFxuICAgIGN0eDogYW55XG4gICk6IGN0eCBpcyBCc1Jvd1RlbXBsYXRlQ29udGV4dDxFeGNsdWRlPFREYXRhLCBmYWxzZSB8IDAgfCAnJyB8IG51bGwgfCB1bmRlZmluZWQ+PiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEJzUm93VGVtcGxhdGVDb250ZXh0PFREYXRhID0gdW5rbm93bj4ge1xuICBwdWJsaWMgJGltcGxpY2l0OiBURGF0YSA9IG51bGwhO1xufSJdfQ==
@@ -9,7 +9,6 @@ import { BsTableModule } from '@mintplayer/ng-bootstrap/table';
9
9
  import * as i4 from '@mintplayer/ng-bootstrap/pagination';
10
10
  import { BsPaginationModule } from '@mintplayer/ng-bootstrap/pagination';
11
11
  import { BehaviorSubject, map } from 'rxjs';
12
- import '@mintplayer/pagination';
13
12
 
14
13
  class DatatableSettings {
15
14
  constructor(data) {
@@ -101,7 +100,7 @@ class BsDatatableComponent {
101
100
  }
102
101
  }
103
102
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsDatatableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
104
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsDatatableComponent, selector: "bs-datatable", inputs: { settings: "settings", data: "data" }, outputs: { settingsChange: "settingsChange" }, queries: [{ propertyName: "columns", predicate: BsDatatableColumnDirective }], ngImport: i0, template: "<bs-table [isResponsive]=\"true\" [striped]=\"true\" [hover]=\"true\" class=\"mb-3\">\n <thead>\n <tr>\n <th *ngFor=\"let column of (columns$ | async)\" class=\"text-nowrap\"\n [class.sort]=\"column.sortable\"\n [class.sort-asc]=\"column.sortable && (settings.sortProperty === column.name) && (settings.sortDirection === 'ascending')\"\n [class.sort-desc]=\"column.sortable && (settings.sortProperty === column.name) && (settings.sortDirection === 'descending')\"\n (click)=\"columnHeaderClicked(column)\">\n <ng-container *ngTemplateOutlet=\"column.templateRef\"></ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"!!data && !!rowTemplate\">\n <ng-container *ngFor=\"let item of data.data\">\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: item }\"></ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n <tfoot>\n <tr>\n <td [colSpan]=\"numberOfColumns$ | async\">\n <bs-grid [stopFullWidthAt]=\"'never'\">\n <div bsRow>\n <div [bsColumn]=\"{md: 12}\">\n <bs-pagination class=\"float-start\" [pageNumbers]=\"settings.perPage.values\"\n [(selectedPageNumber)]=\"settings.perPage.selected\" (selectedPageNumberChange)=\"settingsChange.emit(settings)\"\n [showArrows]=\"false\"></bs-pagination>\n <bs-pagination class=\"float-end\" [pageNumbers]=\"settings.page.values\"\n [(selectedPageNumber)]=\"settings.page.selected\" (selectedPageNumberChange)=\"settingsChange.emit(settings)\"\n [showArrows]=\"true\"></bs-pagination>\n </div>\n </div>\n </bs-grid>\n </td>\n </tr>\n </tfoot>\n</bs-table>", styles: ["@charset \"UTF-8\";tfoot>tr>td{border-bottom:none}bs-table thead th.sort{position:relative;cursor:pointer;padding-right:2rem}bs-table thead th.sort:before,bs-table thead th.sort:after{position:absolute;display:block;opacity:.3;bottom:.5em}bs-table thead th.sort:before{content:\"\\2191\";right:1em}bs-table thead th.sort:after{content:\"\\2193\";right:.5em}bs-table thead th.sort.sort-asc:after{opacity:1}bs-table thead th.sort.sort-desc:before{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.BsGridComponent, selector: "bs-grid", inputs: ["stopFullWidthAt"] }, { kind: "directive", type: i2.BsGridRowDirective, selector: "[bsRow]" }, { kind: "directive", type: i2.BsGridColumnDirective, selector: "[bsColumn]", inputs: ["bsColumn"] }, { kind: "component", type: i3.BsTableComponent, selector: "bs-table", inputs: ["isResponsive", "striped", "hover"] }, { kind: "component", type: i4.BsPaginationComponent, selector: "bs-pagination", inputs: ["selectedPageNumber", "numberOfBoxes", "pageNumbers", "showArrows", "size"], outputs: ["selectedPageNumberChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsDatatableComponent, selector: "bs-datatable", inputs: { settings: "settings" }, outputs: { settingsChange: "settingsChange" }, queries: [{ propertyName: "columns", predicate: BsDatatableColumnDirective }], ngImport: i0, template: "<bs-table [isResponsive]=\"true\" [striped]=\"true\" [hover]=\"true\" class=\"mb-3\">\n <thead>\n <tr>\n <th *ngFor=\"let column of (columns$ | async)\" class=\"text-nowrap\"\n [class.sort]=\"column.sortable\"\n [class.sort-asc]=\"column.sortable && (settings.sortProperty === column.name) && (settings.sortDirection === 'ascending')\"\n [class.sort-desc]=\"column.sortable && (settings.sortProperty === column.name) && (settings.sortDirection === 'descending')\"\n (click)=\"columnHeaderClicked(column)\">\n <ng-container *ngTemplateOutlet=\"column.templateRef\"></ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"!!data && !!rowTemplate\">\n <ng-container *ngFor=\"let item of data.data\">\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: item }\"></ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n <tfoot>\n <tr>\n <td [colSpan]=\"numberOfColumns$ | async\">\n <bs-grid [stopFullWidthAt]=\"'never'\">\n <div bsRow>\n <div [bsColumn]=\"{md: 12}\">\n <bs-pagination class=\"float-start\" [pageNumbers]=\"settings.perPage.values\"\n [(selectedPageNumber)]=\"settings.perPage.selected\" (selectedPageNumberChange)=\"settingsChange.emit(settings)\"\n [showArrows]=\"false\"></bs-pagination>\n <bs-pagination class=\"float-end\" [pageNumbers]=\"settings.page.values\"\n [(selectedPageNumber)]=\"settings.page.selected\" (selectedPageNumberChange)=\"settingsChange.emit(settings)\"\n [showArrows]=\"true\"></bs-pagination>\n </div>\n </div>\n </bs-grid>\n </td>\n </tr>\n </tfoot>\n</bs-table>", styles: ["@charset \"UTF-8\";tfoot>tr>td{border-bottom:none}bs-table thead th.sort{position:relative;cursor:pointer;padding-right:2rem}bs-table thead th.sort:before,bs-table thead th.sort:after{position:absolute;display:block;opacity:.3;bottom:.5em}bs-table thead th.sort:before{content:\"\\2191\";right:1em}bs-table thead th.sort:after{content:\"\\2193\";right:.5em}bs-table thead th.sort.sort-asc:after{opacity:1}bs-table thead th.sort.sort-desc:before{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.BsGridComponent, selector: "bs-grid", inputs: ["stopFullWidthAt"] }, { kind: "directive", type: i2.BsGridRowDirective, selector: "[bsRow]" }, { kind: "directive", type: i2.BsGridColumnDirective, selector: "[bsColumn]", inputs: ["bsColumn"] }, { kind: "component", type: i3.BsTableComponent, selector: "bs-table", inputs: ["isResponsive", "striped", "hover"] }, { kind: "component", type: i4.BsPaginationComponent, selector: "bs-pagination", inputs: ["selectedPageNumber", "numberOfBoxes", "pageNumbers", "showArrows", "size"], outputs: ["selectedPageNumberChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
105
104
  }
106
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsDatatableComponent, decorators: [{
107
106
  type: Component,
@@ -111,8 +110,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
111
110
  args: [BsDatatableColumnDirective]
112
111
  }], settings: [{
113
112
  type: Input
114
- }], data: [{
115
- type: Input
116
113
  }], settingsChange: [{
117
114
  type: Output
118
115
  }] } });
@@ -122,15 +119,28 @@ class BsRowTemplateDirective {
122
119
  this.datatableComponent = datatableComponent;
123
120
  this.datatableComponent.rowTemplate = templateRef;
124
121
  }
122
+ set bsRowTemplateOf(value) {
123
+ this.datatableComponent.data = value;
124
+ }
125
+ static ngTemplateContextGuard(dir, ctx) {
126
+ return true;
127
+ }
125
128
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsRowTemplateDirective, deps: [{ token: BsDatatableComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
126
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsRowTemplateDirective, selector: "[bsRowTemplate]", ngImport: i0 }); }
129
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsRowTemplateDirective, selector: "[bsRowTemplate]", inputs: { bsRowTemplateOf: "bsRowTemplateOf" }, ngImport: i0 }); }
127
130
  }
128
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsRowTemplateDirective, decorators: [{
129
132
  type: Directive,
130
133
  args: [{
131
134
  selector: '[bsRowTemplate]'
132
135
  }]
133
- }], ctorParameters: function () { return [{ type: BsDatatableComponent }, { type: i0.TemplateRef }]; } });
136
+ }], ctorParameters: function () { return [{ type: BsDatatableComponent }, { type: i0.TemplateRef }]; }, propDecorators: { bsRowTemplateOf: [{
137
+ type: Input
138
+ }] } });
139
+ class BsRowTemplateContext {
140
+ constructor() {
141
+ this.$implicit = null;
142
+ }
143
+ }
134
144
 
135
145
  class BsDatatableModule {
136
146
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsDatatableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -173,5 +183,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
173
183
  * Generated bundle index. Do not edit.
174
184
  */
175
185
 
176
- export { BsDatatableColumnDirective, BsDatatableComponent, BsDatatableModule, BsRowTemplateDirective, DatatableSettings };
186
+ export { BsDatatableColumnDirective, BsDatatableComponent, BsDatatableModule, BsRowTemplateContext, BsRowTemplateDirective, DatatableSettings };
177
187
  //# sourceMappingURL=mintplayer-ng-bootstrap-datatable.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-datatable.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/datatable/src/datatable-settings.ts","../../../../libs/mintplayer-ng-bootstrap/datatable/src/datatable-column/datatable-column.directive.ts","../../../../libs/mintplayer-ng-bootstrap/datatable/src/datatable/datatable.component.ts","../../../../libs/mintplayer-ng-bootstrap/datatable/src/datatable/datatable.component.html","../../../../libs/mintplayer-ng-bootstrap/datatable/src/row-template/row-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/datatable/src/datatable.module.ts","../../../../libs/mintplayer-ng-bootstrap/datatable/mintplayer-ng-bootstrap-datatable.ts"],"sourcesContent":["import { PaginationRequest } from \"@mintplayer/pagination\";\n\nexport class DatatableSettings {\n constructor(data?: Partial<DatatableSettings>) {\n Object.assign(this, data);\n\n if (data && data.perPage) {\n this.perPage = data.perPage;\n } else {\n // Set default value\n this.perPage = {\n values: [10, 20, 50],\n selected: 20\n };\n }\n \n if (data && data.page) {\n this.page = data.page;\n } else {\n // Set default value\n this.page = {\n values: [1],\n selected: 1\n };\n }\n }\n\n public sortProperty = '';\n public sortDirection: 'ascending' | 'descending' = 'ascending';\n public perPage: { values: number[], selected: number };\n public page: { values: number[], selected: number };\n\n public toPagination() {\n const res = <PaginationRequest>{\n sortProperty: this.sortProperty,\n sortDirection: this.sortDirection,\n perPage: this.perPage.selected,\n page: this.page.selected\n };\n return res;\n }\n}","import { Directive, Input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[bsDatatableColumn]'\n})\nexport class BsDatatableColumnDirective {\n\n constructor(templateRef: TemplateRef<any>) {\n this.templateRef = templateRef;\n }\n\n templateRef: TemplateRef<any>;\n @Input('bsDatatableColumn') public name = '';\n @Input('bsDatatableColumnSortable') public sortable = true;\n\n}","import { Component, Input, ContentChildren, TemplateRef, EventEmitter, Output } from '@angular/core';\nimport { BehaviorSubject, Observable, map } from 'rxjs';\nimport { PaginationResponse } from '@mintplayer/pagination';\nimport { DatatableSettings } from '../datatable-settings';\nimport { BsDatatableColumnDirective } from '../datatable-column/datatable-column.directive';\n\n\n@Component({\n selector: 'bs-datatable',\n templateUrl: './datatable.component.html',\n styleUrls: ['./datatable.component.scss']\n})\nexport class BsDatatableComponent {\n\n constructor() {\n this.settings = new DatatableSettings();\n this.settings.sortProperty = '';\n this.settings.sortDirection = 'ascending';\n this.settings.perPage = { values: [10, 20, 50], selected: 20 };\n this.settings.page = { values: [1], selected: 1 };\n\n this.numberOfColumns$ = this.columns$.pipe(map(columns => columns.length));\n }\n \n //#region Columns\n columns$ = new BehaviorSubject<BsDatatableColumnDirective[]>([]);\n numberOfColumns$: Observable<number>;\n @ContentChildren(BsDatatableColumnDirective) set columns(value: BsDatatableColumnDirective[]) {\n this.columns$.next(value);\n }\n //#endregion\n\n @Input() settings: DatatableSettings;\n @Input() data?: PaginationResponse<any>;\n rowTemplate?: TemplateRef<any>;\n @Output() settingsChange = new EventEmitter<DatatableSettings>();\n\n columnHeaderClicked(column: BsDatatableColumnDirective) {\n if (column.sortable) {\n if (this.settings.sortProperty !== column.name) {\n this.settings.sortProperty = column.name;\n this.settings.sortDirection = 'ascending';\n } else if (this.settings.sortDirection === 'descending') {\n this.settings.sortDirection = 'ascending';\n } else {\n this.settings.sortDirection = 'descending';\n }\n this.settingsChange.emit(this.settings);\n }\n }\n\n}\n","<bs-table [isResponsive]=\"true\" [striped]=\"true\" [hover]=\"true\" class=\"mb-3\">\n <thead>\n <tr>\n <th *ngFor=\"let column of (columns$ | async)\" class=\"text-nowrap\"\n [class.sort]=\"column.sortable\"\n [class.sort-asc]=\"column.sortable && (settings.sortProperty === column.name) && (settings.sortDirection === 'ascending')\"\n [class.sort-desc]=\"column.sortable && (settings.sortProperty === column.name) && (settings.sortDirection === 'descending')\"\n (click)=\"columnHeaderClicked(column)\">\n <ng-container *ngTemplateOutlet=\"column.templateRef\"></ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"!!data && !!rowTemplate\">\n <ng-container *ngFor=\"let item of data.data\">\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: item }\"></ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n <tfoot>\n <tr>\n <td [colSpan]=\"numberOfColumns$ | async\">\n <bs-grid [stopFullWidthAt]=\"'never'\">\n <div bsRow>\n <div [bsColumn]=\"{md: 12}\">\n <bs-pagination class=\"float-start\" [pageNumbers]=\"settings.perPage.values\"\n [(selectedPageNumber)]=\"settings.perPage.selected\" (selectedPageNumberChange)=\"settingsChange.emit(settings)\"\n [showArrows]=\"false\"></bs-pagination>\n <bs-pagination class=\"float-end\" [pageNumbers]=\"settings.page.values\"\n [(selectedPageNumber)]=\"settings.page.selected\" (selectedPageNumberChange)=\"settingsChange.emit(settings)\"\n [showArrows]=\"true\"></bs-pagination>\n </div>\n </div>\n </bs-grid>\n </td>\n </tr>\n </tfoot>\n</bs-table>","import { Directive, Input, TemplateRef } from '@angular/core';\nimport { BsDatatableComponent } from '../datatable/datatable.component';\n\n@Directive({\n selector: '[bsRowTemplate]'\n})\nexport class BsRowTemplateDirective {\n\n constructor(private datatableComponent: BsDatatableComponent, templateRef: TemplateRef<any>) {\n this.datatableComponent.rowTemplate = templateRef;\n }\n \n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsGridModule } from '@mintplayer/ng-bootstrap/grid';\nimport { BsTableModule } from '@mintplayer/ng-bootstrap/table';\nimport { BsPaginationModule } from '@mintplayer/ng-bootstrap/pagination';\nimport { BsDatatableComponent } from './datatable/datatable.component';\nimport { BsDatatableColumnDirective } from './datatable-column/datatable-column.directive';\nimport { BsRowTemplateDirective } from './row-template/row-template.directive';\n\n@NgModule({\n declarations: [\n BsDatatableComponent,\n BsDatatableColumnDirective,\n BsRowTemplateDirective\n ],\n imports: [\n CommonModule,\n BsGridModule,\n BsTableModule,\n BsPaginationModule\n ],\n exports: [\n BsDatatableComponent,\n BsDatatableColumnDirective,\n BsRowTemplateDirective\n ]\n})\nexport class BsDatatableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsDatatableComponent"],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-datatable.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/datatable/src/datatable-settings.ts","../../../../libs/mintplayer-ng-bootstrap/datatable/src/datatable-column/datatable-column.directive.ts","../../../../libs/mintplayer-ng-bootstrap/datatable/src/datatable/datatable.component.ts","../../../../libs/mintplayer-ng-bootstrap/datatable/src/datatable/datatable.component.html","../../../../libs/mintplayer-ng-bootstrap/datatable/src/row-template/row-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/datatable/src/datatable.module.ts","../../../../libs/mintplayer-ng-bootstrap/datatable/mintplayer-ng-bootstrap-datatable.ts"],"sourcesContent":["import { PaginationRequest } from \"@mintplayer/pagination\";\n\nexport class DatatableSettings {\n constructor(data?: Partial<DatatableSettings>) {\n Object.assign(this, data);\n\n if (data && data.perPage) {\n this.perPage = data.perPage;\n } else {\n // Set default value\n this.perPage = {\n values: [10, 20, 50],\n selected: 20\n };\n }\n \n if (data && data.page) {\n this.page = data.page;\n } else {\n // Set default value\n this.page = {\n values: [1],\n selected: 1\n };\n }\n }\n\n public sortProperty = '';\n public sortDirection: 'ascending' | 'descending' = 'ascending';\n public perPage: { values: number[], selected: number };\n public page: { values: number[], selected: number };\n\n public toPagination() {\n const res = <PaginationRequest>{\n sortProperty: this.sortProperty,\n sortDirection: this.sortDirection,\n perPage: this.perPage.selected,\n page: this.page.selected\n };\n return res;\n }\n}","import { Directive, Input, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[bsDatatableColumn]'\n})\nexport class BsDatatableColumnDirective {\n\n constructor(templateRef: TemplateRef<any>) {\n this.templateRef = templateRef;\n }\n\n templateRef: TemplateRef<any>;\n @Input('bsDatatableColumn') public name = '';\n @Input('bsDatatableColumnSortable') public sortable = true;\n\n}","import { Component, Input, ContentChildren, TemplateRef, EventEmitter, Output } from '@angular/core';\nimport { BehaviorSubject, Observable, map } from 'rxjs';\nimport { PaginationResponse } from '@mintplayer/pagination';\nimport { DatatableSettings } from '../datatable-settings';\nimport { BsDatatableColumnDirective } from '../datatable-column/datatable-column.directive';\nimport { BsRowTemplateContext } from '../row-template/row-template.directive';\n\n\n@Component({\n selector: 'bs-datatable',\n templateUrl: './datatable.component.html',\n styleUrls: ['./datatable.component.scss']\n})\nexport class BsDatatableComponent<TData> {\n\n constructor() {\n this.settings = new DatatableSettings();\n this.settings.sortProperty = '';\n this.settings.sortDirection = 'ascending';\n this.settings.perPage = { values: [10, 20, 50], selected: 20 };\n this.settings.page = { values: [1], selected: 1 };\n\n this.numberOfColumns$ = this.columns$.pipe(map(columns => columns.length));\n }\n \n //#region Columns\n columns$ = new BehaviorSubject<BsDatatableColumnDirective[]>([]);\n numberOfColumns$: Observable<number>;\n @ContentChildren(BsDatatableColumnDirective) set columns(value: BsDatatableColumnDirective[]) {\n this.columns$.next(value);\n }\n //#endregion\n\n @Input() settings: DatatableSettings;\n data?: PaginationResponse<TData>;\n rowTemplate?: TemplateRef<BsRowTemplateContext<TData>>;\n @Output() settingsChange = new EventEmitter<DatatableSettings>();\n\n columnHeaderClicked(column: BsDatatableColumnDirective) {\n if (column.sortable) {\n if (this.settings.sortProperty !== column.name) {\n this.settings.sortProperty = column.name;\n this.settings.sortDirection = 'ascending';\n } else if (this.settings.sortDirection === 'descending') {\n this.settings.sortDirection = 'ascending';\n } else {\n this.settings.sortDirection = 'descending';\n }\n this.settingsChange.emit(this.settings);\n }\n }\n\n}\n","<bs-table [isResponsive]=\"true\" [striped]=\"true\" [hover]=\"true\" class=\"mb-3\">\n <thead>\n <tr>\n <th *ngFor=\"let column of (columns$ | async)\" class=\"text-nowrap\"\n [class.sort]=\"column.sortable\"\n [class.sort-asc]=\"column.sortable && (settings.sortProperty === column.name) && (settings.sortDirection === 'ascending')\"\n [class.sort-desc]=\"column.sortable && (settings.sortProperty === column.name) && (settings.sortDirection === 'descending')\"\n (click)=\"columnHeaderClicked(column)\">\n <ng-container *ngTemplateOutlet=\"column.templateRef\"></ng-container>\n </th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"!!data && !!rowTemplate\">\n <ng-container *ngFor=\"let item of data.data\">\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { $implicit: item }\"></ng-container>\n </ng-container>\n </ng-container>\n </tbody>\n <tfoot>\n <tr>\n <td [colSpan]=\"numberOfColumns$ | async\">\n <bs-grid [stopFullWidthAt]=\"'never'\">\n <div bsRow>\n <div [bsColumn]=\"{md: 12}\">\n <bs-pagination class=\"float-start\" [pageNumbers]=\"settings.perPage.values\"\n [(selectedPageNumber)]=\"settings.perPage.selected\" (selectedPageNumberChange)=\"settingsChange.emit(settings)\"\n [showArrows]=\"false\"></bs-pagination>\n <bs-pagination class=\"float-end\" [pageNumbers]=\"settings.page.values\"\n [(selectedPageNumber)]=\"settings.page.selected\" (selectedPageNumberChange)=\"settingsChange.emit(settings)\"\n [showArrows]=\"true\"></bs-pagination>\n </div>\n </div>\n </bs-grid>\n </td>\n </tr>\n </tfoot>\n</bs-table>","import { Directive, Input, TemplateRef } from '@angular/core';\nimport { PaginationResponse } from '@mintplayer/pagination';\nimport { BsDatatableComponent } from '../datatable/datatable.component';\n\n@Directive({\n selector: '[bsRowTemplate]'\n})\nexport class BsRowTemplateDirective<TData> {\n\n constructor(private datatableComponent: BsDatatableComponent<TData>, templateRef: TemplateRef<BsRowTemplateContext<TData>>) {\n this.datatableComponent.rowTemplate = templateRef;\n }\n\n @Input() set bsRowTemplateOf(value: PaginationResponse<TData> | undefined) {\n this.datatableComponent.data = value;\n }\n \n public static ngTemplateContextGuard<TData>(\n dir: BsRowTemplateDirective<TData>,\n ctx: any\n ): ctx is BsRowTemplateContext<Exclude<TData, false | 0 | '' | null | undefined>> {\n return true;\n }\n}\n\nexport class BsRowTemplateContext<TData = unknown> {\n public $implicit: TData = null!;\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsGridModule } from '@mintplayer/ng-bootstrap/grid';\nimport { BsTableModule } from '@mintplayer/ng-bootstrap/table';\nimport { BsPaginationModule } from '@mintplayer/ng-bootstrap/pagination';\nimport { BsDatatableComponent } from './datatable/datatable.component';\nimport { BsDatatableColumnDirective } from './datatable-column/datatable-column.directive';\nimport { BsRowTemplateDirective } from './row-template/row-template.directive';\n\n@NgModule({\n declarations: [\n BsDatatableComponent,\n BsDatatableColumnDirective,\n BsRowTemplateDirective\n ],\n imports: [\n CommonModule,\n BsGridModule,\n BsTableModule,\n BsPaginationModule\n ],\n exports: [\n BsDatatableComponent,\n BsDatatableColumnDirective,\n BsRowTemplateDirective\n ]\n})\nexport class BsDatatableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsDatatableComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mintplayer/ng-bootstrap",
3
3
  "private": false,
4
- "version": "16.8.0",
4
+ "version": "16.9.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/MintPlayer/mintplayer-ng-bootstrap",