UNPKG

@catull/igniteui-angular

Version:

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

50 lines 7.97 kB
import { __decorate, __extends } from "tslib"; import { Directive } from '@angular/core'; import { ConnectedPositioningStrategy } from '../services'; import { VerticalAlignment } from '../services/overlay/utilities'; import { scaleInVerBottom, scaleInVerTop } from '../animations/main'; import { IgxForOfSyncService } from '../directives/for-of/for_of.sync.service'; var IgxGridBodyDirective = /** @class */ (function () { function IgxGridBodyDirective() { } IgxGridBodyDirective = __decorate([ Directive({ selector: '[igxGridBody]', providers: [IgxForOfSyncService] }) ], IgxGridBodyDirective); return IgxGridBodyDirective; }()); export { IgxGridBodyDirective }; /** * @hidden */ var RowEditPositionStrategy = /** @class */ (function (_super) { __extends(RowEditPositionStrategy, _super); function RowEditPositionStrategy() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.isTop = false; _this.isTopInitialPosition = null; return _this; } RowEditPositionStrategy.prototype.position = function (contentElement, size, document, initialCall) { var container = this.settings.container; // grid.tbody var target = this.settings.target; // current grid.row // Position of the overlay depends on the available space in the grid. // If the bottom space is not enough then the the row overlay will show at the top of the row. // Once shown, either top or bottom, then this position stays until the overlay is closed (isTopInitialPosition property), // which means that when scrolling then overlay may hide, while the row is still visible (UX requirement). this.isTop = this.isTopInitialPosition !== null ? this.isTopInitialPosition : container.getBoundingClientRect().bottom < target.getBoundingClientRect().bottom + contentElement.getBoundingClientRect().height; // Set width of the row editing overlay to equal row width, otherwise it fits 100% of the grid. contentElement.style.width = target.clientWidth + 'px'; this.settings.verticalStartPoint = this.settings.verticalDirection = this.isTop ? VerticalAlignment.Top : VerticalAlignment.Bottom; this.settings.openAnimation = this.isTop ? scaleInVerBottom : scaleInVerTop; _super.prototype.position.call(this, contentElement, { width: target.clientWidth, height: target.clientHeight }, document, initialCall); }; return RowEditPositionStrategy; }(ConnectedPositioningStrategy)); export { RowEditPositionStrategy }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21tb24uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pZ25pdGV1aS1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL2dyaWRzL2dyaWQuY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQW9CLE1BQU0sK0JBQStCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBTy9FO0lBQUE7SUFBbUMsQ0FBQztJQUF2QixvQkFBb0I7UUFKaEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7U0FDbkMsQ0FBQztPQUNXLG9CQUFvQixDQUFHO0lBQUQsMkJBQUM7Q0FBQSxBQUFwQyxJQUFvQztTQUF2QixvQkFBb0I7QUFVakM7O0dBRUc7QUFDSDtJQUE2QywyQ0FBNEI7SUFBekU7UUFBQSxxRUF3QkM7UUF2QkcsV0FBSyxHQUFHLEtBQUssQ0FBQztRQUNkLDBCQUFvQixHQUFHLElBQUksQ0FBQzs7SUFzQmhDLENBQUM7SUFwQkcsMENBQVEsR0FBUixVQUFTLGNBQTJCLEVBQUUsSUFBdUMsRUFBRSxRQUFtQixFQUFFLFdBQXFCO1FBQ3JILElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYTtRQUN4RCxJQUFNLE1BQU0sR0FBZ0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxtQkFBbUI7UUFFckUsc0VBQXNFO1FBQ3RFLDhGQUE4RjtRQUM5RiwwSEFBMEg7UUFDMUgsMEdBQTBHO1FBQzFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixLQUFLLElBQUksQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQzNCLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU07Z0JBQ3BDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFFOUYsK0ZBQStGO1FBQy9GLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztRQUNuSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBRTVFLGlCQUFNLFFBQVEsWUFBQyxjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN0SCxDQUFDO0lBQ0wsOEJBQUM7QUFBRCxDQUFDLEFBeEJELENBQTZDLDRCQUE0QixHQXdCeEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uaW5nU3RyYXRlZ3kgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBWZXJ0aWNhbEFsaWdubWVudCwgUG9zaXRpb25TZXR0aW5ncyB9IGZyb20gJy4uL3NlcnZpY2VzL292ZXJsYXkvdXRpbGl0aWVzJztcbmltcG9ydCB7IHNjYWxlSW5WZXJCb3R0b20sIHNjYWxlSW5WZXJUb3AgfSBmcm9tICcuLi9hbmltYXRpb25zL21haW4nO1xuaW1wb3J0IHsgSWd4Rm9yT2ZTeW5jU2VydmljZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZm9yLW9mL2Zvcl9vZi5zeW5jLnNlcnZpY2UnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2lneEdyaWRCb2R5XScsXG4gICAgcHJvdmlkZXJzOiBbSWd4Rm9yT2ZTeW5jU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgSWd4R3JpZEJvZHlEaXJlY3RpdmUge31cblxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSb3dFZGl0UG9zaXRpb25TZXR0aW5ncyBleHRlbmRzIFBvc2l0aW9uU2V0dGluZ3Mge1xuICAgIGNvbnRhaW5lcj86IEhUTUxFbGVtZW50O1xufVxuXG4vKipcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGNsYXNzIFJvd0VkaXRQb3NpdGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29ubmVjdGVkUG9zaXRpb25pbmdTdHJhdGVneSB7XG4gICAgaXNUb3AgPSBmYWxzZTtcbiAgICBpc1RvcEluaXRpYWxQb3NpdGlvbiA9IG51bGw7XG4gICAgcHVibGljIHNldHRpbmdzOiBSb3dFZGl0UG9zaXRpb25TZXR0aW5ncztcbiAgICBwb3NpdGlvbihjb250ZW50RWxlbWVudDogSFRNTEVsZW1lbnQsIHNpemU6IHsgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIgfSwgZG9jdW1lbnQ/OiBEb2N1bWVudCwgaW5pdGlhbENhbGw/OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuc2V0dGluZ3MuY29udGFpbmVyOyAvLyBncmlkLnRib2R5XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IDxIVE1MRWxlbWVudD50aGlzLnNldHRpbmdzLnRhcmdldDsgLy8gY3VycmVudCBncmlkLnJvd1xuXG4gICAgICAgIC8vIFBvc2l0aW9uIG9mIHRoZSBvdmVybGF5IGRlcGVuZHMgb24gdGhlIGF2YWlsYWJsZSBzcGFjZSBpbiB0aGUgZ3JpZC5cbiAgICAgICAgLy8gSWYgdGhlIGJvdHRvbSBzcGFjZSBpcyBub3QgZW5vdWdoIHRoZW4gdGhlIHRoZSByb3cgb3ZlcmxheSB3aWxsIHNob3cgYXQgdGhlIHRvcCBvZiB0aGUgcm93LlxuICAgICAgICAvLyBPbmNlIHNob3duLCBlaXRoZXIgdG9wIG9yIGJvdHRvbSwgdGhlbiB0aGlzIHBvc2l0aW9uIHN0YXlzIHVudGlsIHRoZSBvdmVybGF5IGlzIGNsb3NlZCAoaXNUb3BJbml0aWFsUG9zaXRpb24gcHJvcGVydHkpLFxuICAgICAgICAvLyB3aGljaCBtZWFucyB0aGF0IHdoZW4gc2Nyb2xsaW5nIHRoZW4gb3ZlcmxheSBtYXkgaGlkZSwgd2hpbGUgdGhlIHJvdyBpcyBzdGlsbCB2aXNpYmxlIChVWCByZXF1aXJlbWVudCkuXG4gICAgICAgIHRoaXMuaXNUb3AgPSB0aGlzLmlzVG9wSW5pdGlhbFBvc2l0aW9uICE9PSBudWxsID9cbiAgICAgICAgICAgIHRoaXMuaXNUb3BJbml0aWFsUG9zaXRpb24gOlxuICAgICAgICAgICAgY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSA8XG4gICAgICAgICAgICAgICAgdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSArIGNvbnRlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcblxuICAgICAgICAvLyBTZXQgd2lkdGggb2YgdGhlIHJvdyBlZGl0aW5nIG92ZXJsYXkgdG8gZXF1YWwgcm93IHdpZHRoLCBvdGhlcndpc2UgaXQgZml0cyAxMDAlIG9mIHRoZSBncmlkLlxuICAgICAgICBjb250ZW50RWxlbWVudC5zdHlsZS53aWR0aCA9IHRhcmdldC5jbGllbnRXaWR0aCArICdweCc7XG4gICAgICAgIHRoaXMuc2V0dGluZ3MudmVydGljYWxTdGFydFBvaW50ID0gdGhpcy5zZXR0aW5ncy52ZXJ0aWNhbERpcmVjdGlvbiA9IHRoaXMuaXNUb3AgPyBWZXJ0aWNhbEFsaWdubWVudC5Ub3AgOiBWZXJ0aWNhbEFsaWdubWVudC5Cb3R0b207XG4gICAgICAgIHRoaXMuc2V0dGluZ3Mub3BlbkFuaW1hdGlvbiA9IHRoaXMuaXNUb3AgPyBzY2FsZUluVmVyQm90dG9tIDogc2NhbGVJblZlclRvcDtcblxuICAgICAgICBzdXBlci5wb3NpdGlvbihjb250ZW50RWxlbWVudCwgeyB3aWR0aDogdGFyZ2V0LmNsaWVudFdpZHRoLCBoZWlnaHQ6IHRhcmdldC5jbGllbnRIZWlnaHQgfSwgZG9jdW1lbnQsIGluaXRpYWxDYWxsKTtcbiAgICB9XG59XG4iXX0=