@clr/angular
Version:
Angular components for Clarity
77 lines • 8.17 kB
JavaScript
/*
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
* This software is released under MIT license.
* The full license information can be found in LICENSE in the root directory of this project.
*/
import { Component } from '@angular/core';
import { SelectionType } from './enums/selection-type';
import * as i0 from "@angular/core";
import * as i1 from "./providers/selection";
import * as i2 from "./providers/detail.service";
import * as i3 from "./providers/columns.service";
import * as i4 from "../../utils";
import * as i5 from "@angular/common";
import * as i6 from "../../forms/common/label";
import * as i7 from "../../forms/checkbox/checkbox";
import * as i8 from "../../forms/checkbox/checkbox-wrapper";
import * as i9 from "./datagrid-column-toggle";
export class ClrDatagridFooter {
constructor(selection, detailService, columnsService, commonStrings) {
this.selection = selection;
this.detailService = detailService;
this.columnsService = columnsService;
this.commonStrings = commonStrings;
/* reference to the enum so that template can access */
this.SELECTION_TYPE = SelectionType;
}
get hasHideableColumns() {
return this.columnsService.hasHideableColumns;
}
}
ClrDatagridFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridFooter, deps: [{ token: i1.Selection }, { token: i2.DetailService }, { token: i3.ColumnsService }, { token: i4.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
ClrDatagridFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatagridFooter, selector: "clr-dg-footer", host: { properties: { "class.datagrid-footer": "true" } }, ngImport: i0, template: `
<ng-container *ngIf="selection.selectionType === SELECTION_TYPE.Multi && selection.current.length > 0">
<div class="clr-form-control-disabled">
<clr-checkbox-wrapper class="datagrid-footer-select">
<input clrCheckbox type="checkbox" checked="checked" disabled />
<label>{{ selection.current.length }}</label>
<span class="clr-sr-only">{{ commonStrings.keys.selectedRows }}</span>
</clr-checkbox-wrapper>
</div>
</ng-container>
<ng-container *ngIf="!detailService.isOpen">
<clr-dg-column-toggle *ngIf="hasHideableColumns"></clr-dg-column-toggle>
<div class="datagrid-footer-description">
<ng-content></ng-content>
</div>
</ng-container>
<ng-content select="clr-dg-pagination"></ng-content>
`, isInline: true, dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i7.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i8.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "component", type: i9.ClrDatagridColumnToggle, selector: "clr-dg-column-toggle" }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridFooter, decorators: [{
type: Component,
args: [{
selector: 'clr-dg-footer',
template: `
<ng-container *ngIf="selection.selectionType === SELECTION_TYPE.Multi && selection.current.length > 0">
<div class="clr-form-control-disabled">
<clr-checkbox-wrapper class="datagrid-footer-select">
<input clrCheckbox type="checkbox" checked="checked" disabled />
<label>{{ selection.current.length }}</label>
<span class="clr-sr-only">{{ commonStrings.keys.selectedRows }}</span>
</clr-checkbox-wrapper>
</div>
</ng-container>
<ng-container *ngIf="!detailService.isOpen">
<clr-dg-column-toggle *ngIf="hasHideableColumns"></clr-dg-column-toggle>
<div class="datagrid-footer-description">
<ng-content></ng-content>
</div>
</ng-container>
<ng-content select="clr-dg-pagination"></ng-content>
`,
host: {
'[class.datagrid-footer]': 'true',
},
}]
}], ctorParameters: function () { return [{ type: i1.Selection }, { type: i2.DetailService }, { type: i3.ColumnsService }, { type: i4.ClrCommonStringsService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtZm9vdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvZGF0YS9kYXRhZ3JpZC9kYXRhZ3JpZC1mb290ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7OztBQTZCdkQsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUNTLFNBQXVCLEVBQ3ZCLGFBQTRCLEVBQzNCLGNBQThCLEVBQy9CLGFBQXNDO1FBSHRDLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtRQVAvQyx1REFBdUQ7UUFDdkQsbUJBQWMsR0FBRyxhQUFhLENBQUM7SUFPNUIsQ0FBQztJQUVKLElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQztJQUNoRCxDQUFDOzs4R0FiVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixnSEF0QmxCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDsyRkFLVSxpQkFBaUI7a0JBeEI3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJUO29CQUNELElBQUksRUFBRTt3QkFDSix5QkFBeUIsRUFBRSxNQUFNO3FCQUNsQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uVHlwZSB9IGZyb20gJy4vZW51bXMvc2VsZWN0aW9uLXR5cGUnO1xuaW1wb3J0IHsgQ29sdW1uc1NlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9jb2x1bW5zLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGV0YWlsU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL2RldGFpbC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlbGVjdGlvbiB9IGZyb20gJy4vcHJvdmlkZXJzL3NlbGVjdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1kZy1mb290ZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb24uc2VsZWN0aW9uVHlwZSA9PT0gU0VMRUNUSU9OX1RZUEUuTXVsdGkgJiYgc2VsZWN0aW9uLmN1cnJlbnQubGVuZ3RoID4gMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNsci1mb3JtLWNvbnRyb2wtZGlzYWJsZWRcIj5cbiAgICAgICAgPGNsci1jaGVja2JveC13cmFwcGVyIGNsYXNzPVwiZGF0YWdyaWQtZm9vdGVyLXNlbGVjdFwiPlxuICAgICAgICAgIDxpbnB1dCBjbHJDaGVja2JveCB0eXBlPVwiY2hlY2tib3hcIiBjaGVja2VkPVwiY2hlY2tlZFwiIGRpc2FibGVkIC8+XG4gICAgICAgICAgPGxhYmVsPnt7IHNlbGVjdGlvbi5jdXJyZW50Lmxlbmd0aCB9fTwvbGFiZWw+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjbHItc3Itb25seVwiPnt7IGNvbW1vblN0cmluZ3Mua2V5cy5zZWxlY3RlZFJvd3MgfX08L3NwYW4+XG4gICAgICAgIDwvY2xyLWNoZWNrYm94LXdyYXBwZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRldGFpbFNlcnZpY2UuaXNPcGVuXCI+XG4gICAgICA8Y2xyLWRnLWNvbHVtbi10b2dnbGUgKm5nSWY9XCJoYXNIaWRlYWJsZUNvbHVtbnNcIj48L2Nsci1kZy1jb2x1bW4tdG9nZ2xlPlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGFncmlkLWZvb3Rlci1kZXNjcmlwdGlvblwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjbHItZGctcGFnaW5hdGlvblwiPjwvbmctY29udGVudD5cbiAgYCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuZGF0YWdyaWQtZm9vdGVyXSc6ICd0cnVlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRGF0YWdyaWRGb290ZXI8VCA9IGFueT4ge1xuICAvKiByZWZlcmVuY2UgdG8gdGhlIGVudW0gc28gdGhhdCB0ZW1wbGF0ZSBjYW4gYWNjZXNzICovXG4gIFNFTEVDVElPTl9UWVBFID0gU2VsZWN0aW9uVHlwZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc2VsZWN0aW9uOiBTZWxlY3Rpb248VD4sXG4gICAgcHVibGljIGRldGFpbFNlcnZpY2U6IERldGFpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb2x1bW5zU2VydmljZTogQ29sdW1uc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbW1vblN0cmluZ3M6IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlXG4gICkge31cblxuICBnZXQgaGFzSGlkZWFibGVDb2x1bW5zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnNTZXJ2aWNlLmhhc0hpZGVhYmxlQ29sdW1ucztcbiAgfVxufVxuIl19