igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
172 lines • 13.8 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, ElementRef, forwardRef, HostListener, Inject } from '@angular/core';
import { IgxGridBaseComponent } from './grid-base.component';
import { first, tap } from 'rxjs/operators';
import { IgxGridNavigationService } from './grid-navigation.service';
/**
* @hidden
*/
var IgxRowEditTemplateDirective = /** @class */ (function () {
function IgxRowEditTemplateDirective() {
}
IgxRowEditTemplateDirective.decorators = [
{ type: Directive, args: [{
selector: '[igxRowEdit]'
},] }
];
return IgxRowEditTemplateDirective;
}());
export { IgxRowEditTemplateDirective };
/**
* @hidden
*/
var IgxRowEditTextDirective = /** @class */ (function () {
function IgxRowEditTextDirective() {
}
IgxRowEditTextDirective.decorators = [
{ type: Directive, args: [{
selector: '[igxRowEditText]'
},] }
];
return IgxRowEditTextDirective;
}());
export { IgxRowEditTextDirective };
/**
* @hidden
*/
var IgxRowEditActionsDirective = /** @class */ (function () {
function IgxRowEditActionsDirective() {
}
IgxRowEditActionsDirective.decorators = [
{ type: Directive, args: [{
selector: '[igxRowEditActions]'
},] }
];
return IgxRowEditActionsDirective;
}());
export { IgxRowEditActionsDirective };
// TODO: Refactor circular ref, deps and logic
/**
* @hidden
*/
var IgxRowEditTabStopDirective = /** @class */ (function () {
function IgxRowEditTabStopDirective(grid, element, navigationService) {
this.element = element;
this.grid = grid;
this.navigationService = navigationService;
this.navigationService.grid = grid;
}
Object.defineProperty(IgxRowEditTabStopDirective.prototype, "allTabs", {
get: /**
* @private
* @return {?}
*/
function () {
return this.grid.rowEditTabs;
},
enumerable: true,
configurable: true
});
/**
* @param {?} event
* @return {?}
*/
IgxRowEditTabStopDirective.prototype.handleTab = /**
* @param {?} event
* @return {?}
*/
function (event) {
event.stopPropagation();
if (this.allTabs.length > 1) {
if ((this.allTabs.last === this && !event.shiftKey) ||
(this.allTabs.first === this && event.shiftKey)) {
this.move(event);
}
}
else {
this.move(event);
}
};
/**
* @private
* @param {?} rowIndex
* @param {?} cellIndex
* @return {?}
*/
IgxRowEditTabStopDirective.prototype.focusNextCell = /**
* @private
* @param {?} rowIndex
* @param {?} cellIndex
* @return {?}
*/
function (rowIndex, cellIndex) {
/** @type {?} */
var grid = (/** @type {?} */ (this.grid));
grid.parentVirtDir.onChunkLoad.pipe(first(), tap(function () { return grid.markForCheck(); })).subscribe(function () {
grid.rowInEditMode.cells.find(function (c) { return c.visibleColumnIndex === cellIndex; }).element.nativeElement.focus();
});
};
/**
* @private
* @param {?} event
* @return {?}
*/
IgxRowEditTabStopDirective.prototype.move = /**
* @private
* @param {?} event
* @return {?}
*/
function (event) {
event.preventDefault();
/** @type {?} */
var horizontalScroll = this.grid.parentVirtDir.getHorizontalScroll();
/** @type {?} */
var targetIndex = event.shiftKey ? this.grid.lastEditableColumnIndex : this.grid.firstEditableColumnIndex;
/** @type {?} */
var targetCell = this.grid.rowInEditMode.cells.find(function (e) { return e.visibleColumnIndex === targetIndex; });
if (!targetCell ||
!this.navigationService.isColumnFullyVisible(targetIndex)
|| !this.navigationService.isColumnLeftFullyVisible(targetIndex)) {
this.focusNextCell(this.grid.rowInEditMode.index, targetIndex);
horizontalScroll.scrollLeft =
this.grid.rowInEditMode.virtDirRow.getColumnScrollLeft(this.navigationService.getColumnUnpinnedIndex(targetIndex));
}
else {
targetCell.nativeElement.focus();
}
};
IgxRowEditTabStopDirective.decorators = [
{ type: Directive, args: [{
selector: "[igxRowEditTabStop]"
},] }
];
/** @nocollapse */
IgxRowEditTabStopDirective.ctorParameters = function () { return [
{ type: undefined, decorators: [{ type: Inject, args: [forwardRef(function () { return IgxGridBaseComponent; }),] }] },
{ type: ElementRef },
{ type: undefined, decorators: [{ type: Inject, args: [forwardRef(function () { return IgxGridNavigationService; }),] }] }
]; };
IgxRowEditTabStopDirective.propDecorators = {
handleTab: [{ type: HostListener, args: ['keydown.Tab', ["$event"],] }, { type: HostListener, args: ['keydown.Shift.Tab', ["$event"],] }]
};
return IgxRowEditTabStopDirective;
}());
export { IgxRowEditTabStopDirective };
if (false) {
/**
* @type {?}
* @private
*/
IgxRowEditTabStopDirective.prototype.grid;
/**
* @type {?}
* @private
*/
IgxRowEditTabStopDirective.prototype.navigationService;
/** @type {?} */
IgxRowEditTabStopDirective.prototype.element;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5yb3dFZGl0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2lnbml0ZXVpLWFuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZ3JpZHMvZ3JpZC5yb3dFZGl0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUdyRTtJQUFBO0lBRzJDLENBQUM7O2dCQUgzQyxTQUFTLFNBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCOztJQUMwQyxrQ0FBQztDQUFBLEFBSDVDLElBRzRDO1NBQS9CLDJCQUEyQjs7OztBQUd4QztJQUFBO0lBR3VDLENBQUM7O2dCQUh2QyxTQUFTLFNBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0I7O0lBQ3NDLDhCQUFDO0NBQUEsQUFIeEMsSUFHd0M7U0FBM0IsdUJBQXVCOzs7O0FBR3BDO0lBQUE7SUFHMEMsQ0FBQzs7Z0JBSDFDLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO2lCQUNsQzs7SUFDeUMsaUNBQUM7Q0FBQSxBQUgzQyxJQUcyQztTQUE5QiwwQkFBMEI7Ozs7O0FBS3ZDO0lBV0ksb0NBQ29ELElBQUksRUFDN0MsT0FBbUIsRUFDMEIsaUJBQWlCO1FBRDlELFlBQU8sR0FBUCxPQUFPLENBQVk7UUFFdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7SUFkTCxzQkFBWSwrQ0FBTzs7Ozs7UUFBbkI7WUFDSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ2pDLENBQUM7OztPQUFBOzs7OztJQWVNLDhDQUFTOzs7O0lBRmhCLFVBRWlCLEtBQW9CO1FBQ2pDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztnQkFDaEQsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBTSxJQUFJLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUNsRDtnQkFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3BCO1NBQ0o7YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7SUFDTCxDQUFDOzs7Ozs7O0lBQ08sa0RBQWE7Ozs7OztJQUFyQixVQUFzQixRQUFRLEVBQUUsU0FBUzs7WUFDL0IsSUFBSSxHQUFHLG1CQUFBLElBQUksQ0FBQyxJQUFJLEVBQU87UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQyxjQUFNLE9BQUEsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFuQixDQUFtQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbkYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLGtCQUFrQixLQUFLLFNBQVMsRUFBbEMsQ0FBa0MsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekcsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs7Ozs7SUFDTyx5Q0FBSTs7Ozs7SUFBWixVQUFhLEtBQW9CO1FBQzdCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzs7WUFDakIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLEVBQUU7O1lBQ2hFLFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3Qjs7WUFDckcsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsa0JBQWtCLEtBQUssV0FBVyxFQUFwQyxDQUFvQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxVQUFVO1lBQ1gsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDO2VBQ3RELENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQy9ELGdCQUFnQixDQUFDLFVBQVU7Z0JBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztTQUN0SDthQUFNO1lBQ0gsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNwQztJQUNMLENBQUM7O2dCQXJESixTQUFTLFNBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtpQkFDbEM7Ozs7Z0RBVVEsTUFBTSxTQUFDLFVBQVUsQ0FBQyxjQUFNLE9BQUEsb0JBQW9CLEVBQXBCLENBQW9CLENBQUM7Z0JBdENsQyxVQUFVO2dEQXdDckIsTUFBTSxTQUFDLFVBQVUsQ0FBQyxjQUFNLE9BQUEsd0JBQXdCLEVBQXhCLENBQXdCLENBQUM7Ozs0QkFLckQsWUFBWSxTQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUN0QyxZQUFZLFNBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0lBa0NqRCxpQ0FBQztDQUFBLEFBdERELElBc0RDO1NBbkRZLDBCQUEwQjs7Ozs7O0lBS25DLDBDQUFtQzs7Ozs7SUFDbkMsdURBQW9EOztJQUloRCw2Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElneEdyaWRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9ncmlkLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IGZpcnN0LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJZ3hHcmlkTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuL2dyaWQtbmF2aWdhdGlvbi5zZXJ2aWNlJztcblxuLyoqIEBoaWRkZW4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneFJvd0VkaXRdJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hSb3dFZGl0VGVtcGxhdGVEaXJlY3RpdmUgeyB9XG5cbi8qKiBAaGlkZGVuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tpZ3hSb3dFZGl0VGV4dF0nXG59KVxuZXhwb3J0IGNsYXNzIElneFJvd0VkaXRUZXh0RGlyZWN0aXZlIHsgfVxuXG4vKiogQGhpZGRlbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbaWd4Um93RWRpdEFjdGlvbnNdJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hSb3dFZGl0QWN0aW9uc0RpcmVjdGl2ZSB7IH1cblxuXG4vLyBUT0RPOiBSZWZhY3RvciBjaXJjdWxhciByZWYsIGRlcHMgYW5kIGxvZ2ljXG4vKiogQGhpZGRlbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGBbaWd4Um93RWRpdFRhYlN0b3BdYFxufSlcbmV4cG9ydCBjbGFzcyBJZ3hSb3dFZGl0VGFiU3RvcERpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSBnZXQgYWxsVGFicygpOiBRdWVyeUxpc3Q8SWd4Um93RWRpdFRhYlN0b3BEaXJlY3RpdmU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZC5yb3dFZGl0VGFicztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdyaWQ6IElneEdyaWRCYXNlQ29tcG9uZW50O1xuICAgIHByaXZhdGUgbmF2aWdhdGlvblNlcnZpY2U6IElneEdyaWROYXZpZ2F0aW9uU2VydmljZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gSWd4R3JpZEJhc2VDb21wb25lbnQpKSBncmlkLFxuICAgICAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IElneEdyaWROYXZpZ2F0aW9uU2VydmljZSkpIG5hdmlnYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmdyaWQgPSBncmlkO1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZSA9IG5hdmlnYXRpb25TZXJ2aWNlO1xuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5ncmlkID0gZ3JpZDtcbiAgICAgICAgfVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uVGFiJywgW2AkZXZlbnRgXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLlNoaWZ0LlRhYicsIFtgJGV2ZW50YF0pXG4gICAgcHVibGljIGhhbmRsZVRhYihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuYWxsVGFicy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICBpZiAoKHRoaXMuYWxsVGFicy5sYXN0ID09PSAgdGhpcyAmJiAhZXZlbnQuc2hpZnRLZXkpIHx8XG4gICAgICAgICAgICAgICAgKHRoaXMuYWxsVGFicy5maXJzdCA9PT0gIHRoaXMgJiYgZXZlbnQuc2hpZnRLZXkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmUoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tb3ZlKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIGZvY3VzTmV4dENlbGwocm93SW5kZXgsIGNlbGxJbmRleCkge1xuICAgICAgICBjb25zdCBncmlkID0gdGhpcy5ncmlkIGFzIGFueTtcbiAgICAgICAgZ3JpZC5wYXJlbnRWaXJ0RGlyLm9uQ2h1bmtMb2FkLnBpcGUoZmlyc3QoKSwgdGFwKCgpID0+IGdyaWQubWFya0ZvckNoZWNrKCkpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgZ3JpZC5yb3dJbkVkaXRNb2RlLmNlbGxzLmZpbmQoYyA9PiBjLnZpc2libGVDb2x1bW5JbmRleCA9PT0gY2VsbEluZGV4KS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgbW92ZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBob3Jpem9udGFsU2Nyb2xsID0gdGhpcy5ncmlkLnBhcmVudFZpcnREaXIuZ2V0SG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgICBjb25zdCB0YXJnZXRJbmRleCA9IGV2ZW50LnNoaWZ0S2V5ID8gdGhpcy5ncmlkLmxhc3RFZGl0YWJsZUNvbHVtbkluZGV4IDogdGhpcy5ncmlkLmZpcnN0RWRpdGFibGVDb2x1bW5JbmRleDtcbiAgICAgICAgY29uc3QgdGFyZ2V0Q2VsbCA9IHRoaXMuZ3JpZC5yb3dJbkVkaXRNb2RlLmNlbGxzLmZpbmQoZSA9PiBlLnZpc2libGVDb2x1bW5JbmRleCA9PT0gdGFyZ2V0SW5kZXgpO1xuICAgICAgICBpZiAoIXRhcmdldENlbGwgfHxcbiAgICAgICAgICAgICF0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmlzQ29sdW1uRnVsbHlWaXNpYmxlKHRhcmdldEluZGV4KVxuICAgICAgICAgICAgfHwgIXRoaXMubmF2aWdhdGlvblNlcnZpY2UuaXNDb2x1bW5MZWZ0RnVsbHlWaXNpYmxlKHRhcmdldEluZGV4KSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c05leHRDZWxsKHRoaXMuZ3JpZC5yb3dJbkVkaXRNb2RlLmluZGV4LCB0YXJnZXRJbmRleCk7XG4gICAgICAgICAgICBob3Jpem9udGFsU2Nyb2xsLnNjcm9sbExlZnQgPVxuICAgICAgICAgICAgdGhpcy5ncmlkLnJvd0luRWRpdE1vZGUudmlydERpclJvdy5nZXRDb2x1bW5TY3JvbGxMZWZ0KHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0Q29sdW1uVW5waW5uZWRJbmRleCh0YXJnZXRJbmRleCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGFyZ2V0Q2VsbC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=