UNPKG

@catull/igniteui-angular

Version:

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

122 lines 12.7 kB
import { __decorate, __metadata } from "tslib"; import { Directive, ElementRef, HostListener } from '@angular/core'; import { GridBaseAPIService } from './api.service'; /** @hidden */ var IgxRowEditTemplateDirective = /** @class */ (function () { function IgxRowEditTemplateDirective() { } IgxRowEditTemplateDirective = __decorate([ Directive({ selector: '[igxRowEdit]' }) ], IgxRowEditTemplateDirective); return IgxRowEditTemplateDirective; }()); export { IgxRowEditTemplateDirective }; /** @hidden */ var IgxRowEditTextDirective = /** @class */ (function () { function IgxRowEditTextDirective() { } IgxRowEditTextDirective = __decorate([ Directive({ selector: '[igxRowEditText]' }) ], IgxRowEditTextDirective); return IgxRowEditTextDirective; }()); export { IgxRowEditTextDirective }; /** @hidden */ var IgxRowEditActionsDirective = /** @class */ (function () { function IgxRowEditActionsDirective() { } IgxRowEditActionsDirective = __decorate([ Directive({ selector: '[igxRowEditActions]' }) ], IgxRowEditActionsDirective); return IgxRowEditActionsDirective; }()); export { IgxRowEditActionsDirective }; // TODO: Refactor circular ref, deps and logic /** @hidden */ var IgxRowEditTabStopDirective = /** @class */ (function () { function IgxRowEditTabStopDirective(api, element) { var _this = this; this.api = api; this.element = element; /** * Sets the cell in edit mode and focus its native element * @param cellIndex index of the cell to activate */ this.activateCell = function () { var cell = _this.grid.rowInEditMode.cells.find(function (e) { return e.visibleColumnIndex === _this.currentCellIndex; }); cell.nativeElement.focus(); cell.setEditMode(true); _this.currentCellIndex = -1; }; } Object.defineProperty(IgxRowEditTabStopDirective.prototype, "grid", { get: function () { return this.api.grid; }, enumerable: true, configurable: true }); IgxRowEditTabStopDirective.prototype.handleTab = function (event) { event.stopPropagation(); if ((this.grid.rowEditTabs.last === this && !event.shiftKey) || (this.grid.rowEditTabs.first === this && event.shiftKey)) { this.move(event); } }; IgxRowEditTabStopDirective.prototype.handleEscape = function (event) { this.grid.endEdit(false, event); var activeNode = this.grid.selectionService.activeElement; // on right click activeNode is deleted, so we may have no one if (activeNode) { var cell = this.grid.navigation.getCellElementByVisibleIndex(activeNode.row, activeNode.layout ? activeNode.layout.columnVisibleIndex : activeNode.column); cell.focus(); } }; /** * Moves focus to first/last editable cell in the editable row and put the cell in edit mode. * If cell is out of view first scrolls to the cell * @param event keyboard event containing information about whether SHIFT key was pressed */ IgxRowEditTabStopDirective.prototype.move = function (event) { event.preventDefault(); this.currentCellIndex = event.shiftKey ? this.grid.lastEditableColumnIndex : this.grid.firstEditableColumnIndex; if (!this.grid.navigation.isColumnFullyVisible(this.currentCellIndex)) { this.grid.navigation.performHorizontalScrollToCell(this.grid.rowInEditMode.index, this.currentCellIndex, false, this.activateCell); } else { this.activateCell(); } }; IgxRowEditTabStopDirective.ctorParameters = function () { return [ { type: GridBaseAPIService }, { type: ElementRef } ]; }; __decorate([ HostListener('keydown.Tab', ["$event"]), HostListener('keydown.Shift.Tab', ["$event"]), __metadata("design:type", Function), __metadata("design:paramtypes", [KeyboardEvent]), __metadata("design:returntype", void 0) ], IgxRowEditTabStopDirective.prototype, "handleTab", null); __decorate([ HostListener('keydown.Escape', ["$event"]), __metadata("design:type", Function), __metadata("design:paramtypes", [KeyboardEvent]), __metadata("design:returntype", void 0) ], IgxRowEditTabStopDirective.prototype, "handleEscape", null); IgxRowEditTabStopDirective = __decorate([ Directive({ selector: "[igxRowEditTabStop]" }), __metadata("design:paramtypes", [GridBaseAPIService, ElementRef]) ], IgxRowEditTabStopDirective); return IgxRowEditTabStopDirective; }()); export { IgxRowEditTabStopDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5yb3dFZGl0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2lnbml0ZXVpLWFuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZ3JpZHMvZ3JpZC5yb3dFZGl0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxjQUFjO0FBSWQ7SUFBQTtJQUEyQyxDQUFDO0lBQS9CLDJCQUEyQjtRQUh2QyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsY0FBYztTQUMzQixDQUFDO09BQ1csMkJBQTJCLENBQUk7SUFBRCxrQ0FBQztDQUFBLEFBQTVDLElBQTRDO1NBQS9CLDJCQUEyQjtBQUV4QyxjQUFjO0FBSWQ7SUFBQTtJQUF1QyxDQUFDO0lBQTNCLHVCQUF1QjtRQUhuQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsa0JBQWtCO1NBQy9CLENBQUM7T0FDVyx1QkFBdUIsQ0FBSTtJQUFELDhCQUFDO0NBQUEsQUFBeEMsSUFBd0M7U0FBM0IsdUJBQXVCO0FBRXBDLGNBQWM7QUFJZDtJQUFBO0lBQTBDLENBQUM7SUFBOUIsMEJBQTBCO1FBSHRDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxxQkFBcUI7U0FDbEMsQ0FBQztPQUNXLDBCQUEwQixDQUFJO0lBQUQsaUNBQUM7Q0FBQSxBQUEzQyxJQUEyQztTQUE5QiwwQkFBMEI7QUFHdkMsOENBQThDO0FBQzlDLGNBQWM7QUFJZDtJQUlJLG9DQUFtQixHQUE0QixFQUFTLE9BQW1CO1FBQTNFLGlCQUErRTtRQUE1RCxRQUFHLEdBQUgsR0FBRyxDQUF5QjtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQVk7UUE4QzNFOzs7V0FHRztRQUNLLGlCQUFZLEdBQUc7WUFDbkIsSUFBTSxJQUFJLEdBQUcsS0FBSSxDQUFD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LENBQUM7WUFDUCxRQUFRLEVBQUUscUJBQXFCO1NBQ2xDLENBQUM7eUNBSzBCLGtCQUFrQixFQUF1QixVQUFVO09BSmxFLDBCQUEwQixDQTREdEM7SUFBRCxpQ0FBQztDQUFBLEFBNURELElBNERDO1NBNURZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmlkQmFzZUFQSVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRUeXBlIH0gZnJvbSAnLi9jb21tb24vZ3JpZC5pbnRlcmZhY2UnO1xuXG4vKiogQGhpZGRlbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4Um93RWRpdF0nXG59KVxuZXhwb3J0IGNsYXNzIElneFJvd0VkaXRUZW1wbGF0ZURpcmVjdGl2ZSB7IH1cblxuLyoqIEBoaWRkZW4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneFJvd0VkaXRUZXh0XSdcbn0pXG5leHBvcnQgY2xhc3MgSWd4Um93RWRpdFRleHREaXJlY3RpdmUgeyB9XG5cbi8qKiBAaGlkZGVuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hSb3dFZGl0QWN0aW9uc10nXG59KVxuZXhwb3J0IGNsYXNzIElneFJvd0VkaXRBY3Rpb25zRGlyZWN0aXZlIHsgfVxuXG5cbi8vIFRPRE86IFJlZmFjdG9yIGNpcmN1bGFyIHJlZiwgZGVwcyBhbmQgbG9naWNcbi8qKiBAaGlkZGVuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogYFtpZ3hSb3dFZGl0VGFiU3RvcF1gXG59KVxuZXhwb3J0IGNsYXNzIElneFJvd0VkaXRUYWJTdG9wRGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIGN1cnJlbnRDZWxsSW5kZXg6IG51bWJlcjtcblxuXG4gICAgY29uc3RydWN0b3IocHVibGljIGFwaTogR3JpZEJhc2VBUElTZXJ2aWNlPGFueT4sIHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxuXG4gICAgZ2V0IGdyaWQoKTogR3JpZFR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ3JpZDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLlRhYicsIFtgJGV2ZW50YF0pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5TaGlmdC5UYWInLCBbYCRldmVudGBdKVxuICAgIHB1YmxpYyBoYW5kbGVUYWIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICgodGhpcy5ncmlkLnJvd0VkaXRUYWJzLmxhc3QgPT09IHRoaXMgJiYgIWV2ZW50LnNoaWZ0S2V5KSB8fFxuICAgICAgICAgICAgKHRoaXMuZ3JpZC5yb3dFZGl0VGFicy5maXJzdCA9PT0gdGhpcyAmJiBldmVudC5zaGlmdEtleSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLm1vdmUoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5Fc2NhcGUnLCBbYCRldmVudGBdKVxuICAgIHB1YmxpYyBoYW5kbGVFc2NhcGUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ncmlkLmVuZEVkaXQoZmFsc2UsIGV2ZW50KTtcbiAgICAgICAgY29uc3QgYWN0aXZlTm9kZSA9IHRoaXMuZ3JpZC5zZWxlY3Rpb25TZXJ2aWNlLmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgIC8vICBvbiByaWdodCBjbGljayBhY3RpdmVOb2RlIGlzIGRlbGV0ZWQsIHNvIHdlIG1heSBoYXZlIG5vIG9uZVxuICAgICAgICBpZiAoYWN0aXZlTm9kZSkge1xuICAgICAgICAgICAgY29uc3QgY2VsbCA9IHRoaXMuZ3JpZC5uYXZpZ2F0aW9uLmdldENlbGxFbGVtZW50QnlWaXNpYmxlSW5kZXgoXG4gICAgICAgICAgICAgICAgYWN0aXZlTm9kZS5yb3csXG4gICAgICAgICAgICAgICAgYWN0aXZlTm9kZS5sYXlvdXQgPyBhY3RpdmVOb2RlLmxheW91dC5jb2x1bW5WaXNpYmxlSW5kZXggOiBhY3RpdmVOb2RlLmNvbHVtbik7XG4gICAgICAgICAgICBjZWxsLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNb3ZlcyBmb2N1cyB0byBmaXJzdC9sYXN0IGVkaXRhYmxlIGNlbGwgaW4gdGhlIGVkaXRhYmxlIHJvdyBhbmQgcHV0IHRoZSBjZWxsIGluIGVkaXQgbW9kZS5cbiAgICAgKiBJZiBjZWxsIGlzIG91dCBvZiB2aWV3IGZpcnN0IHNjcm9sbHMgdG8gdGhlIGNlbGxcbiAgICAgKiBAcGFyYW0gZXZlbnQga2V5Ym9hcmQgZXZlbnQgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB3aGV0aGVyIFNISUZUIGtleSB3YXMgcHJlc3NlZFxuICAgICAqL1xuICAgIHByaXZhdGUgbW92ZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmN1cnJlbnRDZWxsSW5kZXggPSBldmVudC5zaGlmdEtleSA/IHRoaXMuZ3JpZC5sYXN0RWRpdGFibGVDb2x1bW5JbmRleCA6IHRoaXMuZ3JpZC5maXJzdEVkaXRhYmxlQ29sdW1uSW5kZXg7XG4gICAgICAgIGlmICghdGhpcy5ncmlkLm5hdmlnYXRpb24uaXNDb2x1bW5GdWxseVZpc2libGUodGhpcy5jdXJyZW50Q2VsbEluZGV4KSkge1xuICAgICAgICAgICAgdGhpcy5ncmlkLm5hdmlnYXRpb24ucGVyZm9ybUhvcml6b250YWxTY3JvbGxUb0NlbGwoXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkLnJvd0luRWRpdE1vZGUuaW5kZXgsIHRoaXMuY3VycmVudENlbGxJbmRleCwgZmFsc2UsIHRoaXMuYWN0aXZhdGVDZWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVDZWxsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBjZWxsIGluIGVkaXQgbW9kZSBhbmQgZm9jdXMgaXRzIG5hdGl2ZSBlbGVtZW50XG4gICAgICogQHBhcmFtIGNlbGxJbmRleCBpbmRleCBvZiB0aGUgY2VsbCB0byBhY3RpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgYWN0aXZhdGVDZWxsID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBjZWxsID0gdGhpcy5ncmlkLnJvd0luRWRpdE1vZGUuY2VsbHMuZmluZChlID0+IGUudmlzaWJsZUNvbHVtbkluZGV4ID09PSB0aGlzLmN1cnJlbnRDZWxsSW5kZXgpO1xuICAgICAgICBjZWxsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgY2VsbC5zZXRFZGl0TW9kZSh0cnVlKTtcbiAgICAgICAgdGhpcy5jdXJyZW50Q2VsbEluZGV4ID0gLTE7XG4gICAgfVxufVxuIl19