@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
122 lines • 12.7 kB
JavaScript
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