@nebular/theme
Version:
@nebular/theme
273 lines • 12.2 kB
JavaScript
/*
* @license
* Copyright Akveo. All Rights Reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*/
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
import { ChangeDetectorRef, Directive, ElementRef, HostBinding, Inject, PLATFORM_ID, } from '@angular/core';
import { isPlatformBrowser } from '@angular/common';
import { DomSanitizer } from '@angular/platform-browser';
import { filter, takeWhile } from 'rxjs/operators';
import { NbLayoutDirectionService } from '../../services/direction.service';
import { NB_WINDOW } from '../../theme.options';
import { NbCellDirective, NbFooterCellDirective, NbHeaderCellDirective } from '../cdk/table/cell';
import { NbCdkCell, NbCdkFooterCell, NbCdkHeaderCell } from '../cdk/table/type-mappings';
import { NB_TREE_GRID } from './tree-grid-injection-tokens';
import { NbTreeGridColumnDefDirective } from './tree-grid-column-def.directive';
import { NB_DEFAULT_ROW_LEVEL } from './data-source/tree-grid.model';
import { NbColumnsService } from './tree-grid-columns.service';
var NbTreeGridCellDirective = /** @class */ (function (_super) {
__extends(NbTreeGridCellDirective, _super);
function NbTreeGridCellDirective(columnDef, elementRef, tree, platformId, window, sanitizer, directionService, columnService, cd) {
var _this = _super.call(this, columnDef, elementRef) || this;
_this.platformId = platformId;
_this.window = window;
_this.sanitizer = sanitizer;
_this.directionService = directionService;
_this.columnService = columnService;
_this.cd = cd;
_this.alive = true;
_this.initialLeftPadding = '';
_this.initialRightPadding = '';
_this.tree = tree;
_this.columnDef = columnDef;
_this.elementRef = elementRef;
return _this;
}
NbTreeGridCellDirective_1 = NbTreeGridCellDirective;
Object.defineProperty(NbTreeGridCellDirective.prototype, "columnWidth", {
get: function () {
this.latestWidth = this.tree.getColumnWidth();
return this.latestWidth || null;
},
enumerable: true,
configurable: true
});
Object.defineProperty(NbTreeGridCellDirective.prototype, "leftPadding", {
get: function () {
if (this.directionService.isLtr()) {
return this.getStartPadding();
}
return null;
},
enumerable: true,
configurable: true
});
Object.defineProperty(NbTreeGridCellDirective.prototype, "rightPadding", {
get: function () {
if (this.directionService.isRtl()) {
return this.getStartPadding();
}
return null;
},
enumerable: true,
configurable: true
});
NbTreeGridCellDirective.prototype.ngOnInit = function () {
var _this = this;
if (isPlatformBrowser(this.platformId)) {
var style = this.window.getComputedStyle(this.elementRef.nativeElement);
this.initialLeftPadding = style.paddingLeft;
this.initialRightPadding = style.paddingRight;
}
this.columnService.onColumnsChange()
.pipe(takeWhile(function () { return _this.alive; }), filter(function () { return _this.latestWidth !== _this.tree.getColumnWidth(); }))
.subscribe(function () { return _this.cd.detectChanges(); });
};
NbTreeGridCellDirective.prototype.ngOnDestroy = function () {
this.alive = false;
};
NbTreeGridCellDirective.prototype.toggleRow = function () {
this.tree.toggleCellRow(this);
};
Object.defineProperty(NbTreeGridCellDirective.prototype, "initialStartPadding", {
get: function () {
return this.directionService.isLtr()
? this.initialLeftPadding
: this.initialRightPadding;
},
enumerable: true,
configurable: true
});
NbTreeGridCellDirective.prototype.getStartPadding = function () {
var rowLevel = this.tree.getCellLevel(this, this.columnDef.name);
if (rowLevel === NB_DEFAULT_ROW_LEVEL) {
return null;
}
var nestingLevel = rowLevel + 1;
var padding = '';
if (this.tree.levelPadding) {
padding = "calc(" + this.tree.levelPadding + " * " + nestingLevel + ")";
}
else if (this.initialStartPadding) {
padding = "calc(" + this.initialStartPadding + " * " + nestingLevel + ")";
}
if (!padding) {
return null;
}
return this.sanitizer.bypassSecurityTrustStyle(padding);
};
var NbTreeGridCellDirective_1;
__decorate([
HostBinding('style.width'),
__metadata("design:type", String),
__metadata("design:paramtypes", [])
], NbTreeGridCellDirective.prototype, "columnWidth", null);
__decorate([
HostBinding('style.padding-left'),
__metadata("design:type", Object),
__metadata("design:paramtypes", [])
], NbTreeGridCellDirective.prototype, "leftPadding", null);
__decorate([
HostBinding('style.padding-right'),
__metadata("design:type", Object),
__metadata("design:paramtypes", [])
], NbTreeGridCellDirective.prototype, "rightPadding", null);
NbTreeGridCellDirective = NbTreeGridCellDirective_1 = __decorate([
Directive({
selector: 'td[nbTreeGridCell]',
host: {
'class': 'nb-tree-grid-cell',
'role': 'gridcell',
},
providers: [{ provide: NbCdkCell, useExisting: NbTreeGridCellDirective_1 }],
}),
__param(2, Inject(NB_TREE_GRID)),
__param(3, Inject(PLATFORM_ID)),
__param(4, Inject(NB_WINDOW)),
__metadata("design:paramtypes", [NbTreeGridColumnDefDirective,
ElementRef, Object, Object, Object, DomSanitizer,
NbLayoutDirectionService,
NbColumnsService,
ChangeDetectorRef])
], NbTreeGridCellDirective);
return NbTreeGridCellDirective;
}(NbCellDirective));
export { NbTreeGridCellDirective };
var NbTreeGridHeaderCellDirective = /** @class */ (function (_super) {
__extends(NbTreeGridHeaderCellDirective, _super);
function NbTreeGridHeaderCellDirective(columnDef, elementRef, tree, columnService, cd) {
var _this = _super.call(this, columnDef, elementRef) || this;
_this.columnService = columnService;
_this.cd = cd;
_this.alive = true;
_this.tree = tree;
return _this;
}
NbTreeGridHeaderCellDirective_1 = NbTreeGridHeaderCellDirective;
Object.defineProperty(NbTreeGridHeaderCellDirective.prototype, "columnWidth", {
get: function () {
this.latestWidth = this.tree.getColumnWidth();
return this.latestWidth || null;
},
enumerable: true,
configurable: true
});
NbTreeGridHeaderCellDirective.prototype.ngOnInit = function () {
var _this = this;
this.columnService.onColumnsChange()
.pipe(takeWhile(function () { return _this.alive; }), filter(function () { return _this.latestWidth !== _this.tree.getColumnWidth(); }))
.subscribe(function () { return _this.cd.detectChanges(); });
};
NbTreeGridHeaderCellDirective.prototype.ngOnDestroy = function () {
this.alive = false;
};
var NbTreeGridHeaderCellDirective_1;
__decorate([
HostBinding('style.width'),
__metadata("design:type", String),
__metadata("design:paramtypes", [])
], NbTreeGridHeaderCellDirective.prototype, "columnWidth", null);
NbTreeGridHeaderCellDirective = NbTreeGridHeaderCellDirective_1 = __decorate([
Directive({
selector: 'th[nbTreeGridHeaderCell]',
host: {
'class': 'nb-tree-grid-header-cell',
'role': 'columnheader',
},
providers: [{ provide: NbCdkHeaderCell, useExisting: NbTreeGridHeaderCellDirective_1 }],
}),
__param(2, Inject(NB_TREE_GRID)),
__metadata("design:paramtypes", [NbTreeGridColumnDefDirective,
ElementRef, Object, NbColumnsService,
ChangeDetectorRef])
], NbTreeGridHeaderCellDirective);
return NbTreeGridHeaderCellDirective;
}(NbHeaderCellDirective));
export { NbTreeGridHeaderCellDirective };
var NbTreeGridFooterCellDirective = /** @class */ (function (_super) {
__extends(NbTreeGridFooterCellDirective, _super);
function NbTreeGridFooterCellDirective(columnDef, elementRef, tree, columnService, cd) {
var _this = _super.call(this, columnDef, elementRef) || this;
_this.columnService = columnService;
_this.cd = cd;
_this.alive = true;
_this.tree = tree;
return _this;
}
NbTreeGridFooterCellDirective_1 = NbTreeGridFooterCellDirective;
Object.defineProperty(NbTreeGridFooterCellDirective.prototype, "columnWidth", {
get: function () {
this.latestWidth = this.tree.getColumnWidth();
return this.latestWidth || null;
},
enumerable: true,
configurable: true
});
NbTreeGridFooterCellDirective.prototype.ngOnInit = function () {
var _this = this;
this.columnService.onColumnsChange()
.pipe(takeWhile(function () { return _this.alive; }), filter(function () { return _this.latestWidth !== _this.tree.getColumnWidth(); }))
.subscribe(function () { return _this.cd.detectChanges(); });
};
NbTreeGridFooterCellDirective.prototype.ngOnDestroy = function () {
this.alive = false;
};
var NbTreeGridFooterCellDirective_1;
__decorate([
HostBinding('style.width'),
__metadata("design:type", String),
__metadata("design:paramtypes", [])
], NbTreeGridFooterCellDirective.prototype, "columnWidth", null);
NbTreeGridFooterCellDirective = NbTreeGridFooterCellDirective_1 = __decorate([
Directive({
selector: 'td[nbTreeGridFooterCell]',
host: {
'class': 'nb-tree-grid-footer-cell',
'role': 'gridcell',
},
providers: [{ provide: NbCdkFooterCell, useExisting: NbTreeGridFooterCellDirective_1 }],
}),
__param(2, Inject(NB_TREE_GRID)),
__metadata("design:paramtypes", [NbTreeGridColumnDefDirective,
ElementRef, Object, NbColumnsService,
ChangeDetectorRef])
], NbTreeGridFooterCellDirective);
return NbTreeGridFooterCellDirective;
}(NbFooterCellDirective));
export { NbTreeGridFooterCellDirective };
//# sourceMappingURL=tree-grid-cell.component.js.map