UNPKG

igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

109 lines 9.83 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { CommonModule } from '@angular/common'; import { Directive, Component, NgModule, ChangeDetectorRef } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { IgxCheckboxModule } from '../checkbox/checkbox.component'; import { ColumnChooserBase } from './column-chooser-base'; import { ColumnChooserItemBase } from './column-chooser-item-base'; import { IgxInputGroupModule } from '../input-group/input-group.component'; export class IgxColumnPinningItemDirective extends ColumnChooserItemBase { constructor() { super('pinned'); } /** * Returns whether a column could be pinned. * It's not possible to pin a column if there is not enough space for the unpinned area. * ```typescript * const columnItem: IgxColumnPinningItemDirective; * this.columnItem.pinnable; * ``` * @return {?} */ get pinnable() { if (this.column.grid.getUnpinnedWidth(true) - this.column.width < this.column.grid.unpinnedAreaMinWidth) { return false; } return true; } } IgxColumnPinningItemDirective.decorators = [ { type: Directive, args: [{ selector: '[igxColumnPinningItem]' },] } ]; /** @nocollapse */ IgxColumnPinningItemDirective.ctorParameters = () => []; export class IgxColumnPinningComponent extends ColumnChooserBase { /** * @param {?} cdr */ constructor(cdr) { super(cdr); this.cdr = cdr; } /** * @hidden * @param {?} container * @param {?} column * @return {?} */ createColumnItem(container, column) { if (column.level !== 0 || column.disablePinning) { return null; } /** @type {?} */ const item = new IgxColumnPinningItemDirective(); item.container = container; item.column = column; return item; } /** * @hidden * @param {?} event * @param {?} columnItem * @return {?} */ checkboxValueChange(event, columnItem) { if (event.checked && !columnItem.pinnable) { event.checkbox.checked = false; return false; } columnItem.value = !columnItem.value; } } IgxColumnPinningComponent.decorators = [ { type: Component, args: [{ preserveWhitespaces: false, selector: 'igx-column-pinning', template: "\n<div class=\"igx-column-hiding__header\">\n <h4 class=\"igx-column-hiding__header-title\" *ngIf=\"title\">{{ title }}</h4>\n\n <igx-input-group class=\"igx-column-hiding__header-input\" *ngIf=\"!disableFilter\">\n <input igxInput\n type=\"text\"\n [(ngModel)]=\"filterCriteria\"\n [placeholder]=\"filterColumnsPrompt\"\n autocomplete=\"off\" />\n </igx-input-group>\n</div>\n\n<div class=\"igx-column-hiding__columns\"\n [style.max-height]=\"columnsAreaMaxHeight\">\n <igx-checkbox igxColumnPinningItem\n *ngFor=\"let columnItem of columnItems\"\n class=\"igx-column-hiding__columns-item\"\n (change)=\"checkboxValueChange($event, columnItem)\"\n [checked]=\"columnItem.value\">\n {{ columnItem.name }}\n </igx-checkbox>\n</div>\n" }] } ]; /** @nocollapse */ IgxColumnPinningComponent.ctorParameters = () => [ { type: ChangeDetectorRef } ]; if (false) { /** @type {?} */ IgxColumnPinningComponent.prototype.cdr; } /** * @hidden */ export class IgxColumnPinningModule { } IgxColumnPinningModule.decorators = [ { type: NgModule, args: [{ declarations: [IgxColumnPinningComponent, IgxColumnPinningItemDirective], exports: [IgxColumnPinningComponent], imports: [ IgxCheckboxModule, IgxInputGroupModule, CommonModule, FormsModule ] },] } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXBpbm5pbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vaWduaXRldWktYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9ncmlkcy9jb2x1bW4tcGlubmluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBd0IsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUszRSxNQUFNLE9BQU8sNkJBQThCLFNBQVEscUJBQXFCO0lBRXBFO1FBQ0ksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7Ozs7Ozs7Ozs7SUFVRCxJQUFJLFFBQVE7UUFDUixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQ3JHLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7O1lBdEJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsd0JBQXdCO2FBQ3JDOzs7O0FBNEJELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxpQkFBaUI7Ozs7SUFFNUQsWUFBbUIsR0FBc0I7UUFDckMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBREksUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFFekMsQ0FBQzs7Ozs7OztJQUtELGdCQUFnQixDQUFDLFNBQWMsRUFBRSxNQUFXO1FBQ3hDLElBQUksTUFBTSxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLGNBQWMsRUFBRTtZQUM3QyxPQUFPLElBQUksQ0FBQztTQUNmOztjQUNLLElBQUksR0FBRyxJQUFJLDZCQUE2QixFQUFFO1FBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Ozs7Ozs7SUFLTSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsVUFBeUM7UUFDdkUsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtZQUN2QyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDL0IsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUN6QyxDQUFDOzs7WUFqQ0osU0FBUyxTQUFDO2dCQUNQLG1CQUFtQixFQUFFLEtBQUs7Z0JBQzFCLFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLGcxQkFBOEM7YUFDakQ7Ozs7WUFwQzhELGlCQUFpQjs7OztJQXVDaEUsd0NBQTZCOzs7OztBQTBDN0MsTUFBTSxPQUFPLHNCQUFzQjs7O1lBVmxDLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSw2QkFBNkIsQ0FBQztnQkFDeEUsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7Z0JBQ3BDLE9BQU8sRUFBRTtvQkFDTCxpQkFBaUI7b0JBQ2pCLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixXQUFXO2lCQUNkO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE5nTW9kdWxlLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJZ3hDaGVja2JveE1vZHVsZSB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2x1bW5DaG9vc2VyQmFzZSB9IGZyb20gJy4vY29sdW1uLWNob29zZXItYmFzZSc7XG5pbXBvcnQgeyBDb2x1bW5DaG9vc2VySXRlbUJhc2UgfSBmcm9tICcuL2NvbHVtbi1jaG9vc2VyLWl0ZW0tYmFzZSc7XG5pbXBvcnQgeyBJZ3hJbnB1dEdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4Q29sdW1uUGlubmluZ0l0ZW1dJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hDb2x1bW5QaW5uaW5nSXRlbURpcmVjdGl2ZSBleHRlbmRzIENvbHVtbkNob29zZXJJdGVtQmFzZSB7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ3Bpbm5lZCcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgd2hldGhlciBhIGNvbHVtbiBjb3VsZCBiZSBwaW5uZWQuXG4gICAgICogSXQncyBub3QgcG9zc2libGUgdG8gcGluIGEgY29sdW1uIGlmIHRoZXJlIGlzIG5vdCBlbm91Z2ggc3BhY2UgZm9yIHRoZSB1bnBpbm5lZCBhcmVhLlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCBjb2x1bW5JdGVtOiBJZ3hDb2x1bW5QaW5uaW5nSXRlbURpcmVjdGl2ZTtcbiAgICAgKiB0aGlzLmNvbHVtbkl0ZW0ucGlubmFibGU7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgZ2V0IHBpbm5hYmxlKCkge1xuICAgICAgICBpZiAodGhpcy5jb2x1bW4uZ3JpZC5nZXRVbnBpbm5lZFdpZHRoKHRydWUpIC0gdGhpcy5jb2x1bW4ud2lkdGggPCB0aGlzLmNvbHVtbi5ncmlkLnVucGlubmVkQXJlYU1pbldpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBzZWxlY3RvcjogJ2lneC1jb2x1bW4tcGlubmluZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbi1waW5uaW5nLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hDb2x1bW5QaW5uaW5nQ29tcG9uZW50IGV4dGVuZHMgQ29sdW1uQ2hvb3NlckJhc2Uge1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgY3JlYXRlQ29sdW1uSXRlbShjb250YWluZXI6IGFueSwgY29sdW1uOiBhbnkpIHtcbiAgICAgICAgaWYgKGNvbHVtbi5sZXZlbCAhPT0gMCB8fCBjb2x1bW4uZGlzYWJsZVBpbm5pbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBuZXcgSWd4Q29sdW1uUGlubmluZ0l0ZW1EaXJlY3RpdmUoKTtcbiAgICAgICAgaXRlbS5jb250YWluZXIgPSBjb250YWluZXI7XG4gICAgICAgIGl0ZW0uY29sdW1uID0gY29sdW1uO1xuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHVibGljIGNoZWNrYm94VmFsdWVDaGFuZ2UoZXZlbnQsIGNvbHVtbkl0ZW06IElneENvbHVtblBpbm5pbmdJdGVtRGlyZWN0aXZlKSB7XG4gICAgICAgIGlmIChldmVudC5jaGVja2VkICYmICFjb2x1bW5JdGVtLnBpbm5hYmxlKSB7XG4gICAgICAgICAgICBldmVudC5jaGVja2JveC5jaGVja2VkID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29sdW1uSXRlbS52YWx1ZSA9ICFjb2x1bW5JdGVtLnZhbHVlO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAaGlkZGVuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbSWd4Q29sdW1uUGlubmluZ0NvbXBvbmVudCwgSWd4Q29sdW1uUGlubmluZ0l0ZW1EaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtJZ3hDb2x1bW5QaW5uaW5nQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIElneENoZWNrYm94TW9kdWxlLFxuICAgICAgICBJZ3hJbnB1dEdyb3VwTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJZ3hDb2x1bW5QaW5uaW5nTW9kdWxlIHtcbn1cbiJdfQ==