@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.
- package/datatable/src/datatable/datatable.component.d.ts +6 -5
- package/datatable/src/row-template/row-template.directive.d.ts +10 -4
- package/esm2022/datatable/src/datatable/datatable.component.mjs +2 -5
- package/esm2022/datatable/src/row-template/row-template.directive.mjs +17 -4
- package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +17 -7
- package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -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<
|
|
14
|
-
rowTemplate?: TemplateRef<
|
|
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
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BsDatatableComponent
|
|
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
|
|
7
|
-
|
|
8
|
-
static
|
|
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"
|
|
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,
|
|
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
|
-
|
|
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"
|
|
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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"}
|