data-table-kit
Version:
A simple datatable/datagrid for Angular projects
129 lines • 8.28 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
export class DataTableColumnDirective {
/**
* @param {?} _columnTemplate
* @param {?} _viewContainerRef
*/
constructor(_columnTemplate, _viewContainerRef) {
this._columnTemplate = _columnTemplate;
this._viewContainerRef = _viewContainerRef;
this.align = "left";
this.verticalAlign = "top";
this.groupColumns = 0;
}
/**
* @param {?} value
* @return {?}
*/
set header(value) {
if (Array.isArray(value)) {
this._header = value;
}
else {
this._header = [value];
}
}
/**
* @return {?}
*/
get header() {
return this._header;
}
/**
* @param {?} values
* @return {?}
*/
set sort(values) {
if (Array.isArray(values)) {
this._sortfields = values;
}
else {
this._sortfields = [values];
}
}
/**
* @return {?}
*/
get sort() {
return this._sortfields;
}
/**
* @return {?}
*/
get dtcStyle() {
/** @type {?} */
let columnStyle = {
"text-align": this.align,
"vertical-align": this.verticalAlign
};
if (this.columnWidth != null && this.columnWidth.length > 0) {
columnStyle["width"] = this.columnWidth;
}
return columnStyle;
}
/**
* @return {?}
*/
get ColumnTemplate() {
return this._columnTemplate;
}
}
DataTableColumnDirective.decorators = [
{ type: Directive, args: [{
selector: "[data-table-column]"
},] }
];
/** @nocollapse */
DataTableColumnDirective.ctorParameters = () => [
{ type: TemplateRef },
{ type: ViewContainerRef }
];
DataTableColumnDirective.propDecorators = {
align: [{ type: Input, args: ["data-table-columnAlign",] }],
verticalAlign: [{ type: Input, args: ["data-table-columnVerticalAlign",] }],
header: [{ type: Input, args: ["data-table-columnHeader",] }],
sort: [{ type: Input, args: ["data-table-columnSort",] }],
groupColumns: [{ type: Input, args: ["data-table-columnGroupColumns",] }],
groupHeader: [{ type: Input, args: ["data-table-columnGroupHeader",] }],
sortFieldName: [{ type: Input, args: ["data-table-columnSortFieldName",] }],
columnWidth: [{ type: Input, args: ["data-table-columnWidth",] }]
};
if (false) {
/** @type {?} */
DataTableColumnDirective.prototype.align;
/** @type {?} */
DataTableColumnDirective.prototype.verticalAlign;
/**
* @type {?}
* @private
*/
DataTableColumnDirective.prototype._header;
/**
* @type {?}
* @private
*/
DataTableColumnDirective.prototype._sortfields;
/** @type {?} */
DataTableColumnDirective.prototype.groupColumns;
/** @type {?} */
DataTableColumnDirective.prototype.groupHeader;
/** @type {?} */
DataTableColumnDirective.prototype.sortFieldName;
/** @type {?} */
DataTableColumnDirective.prototype.columnWidth;
/**
* @type {?}
* @private
*/
DataTableColumnDirective.prototype._columnTemplate;
/**
* @type {?}
* @private
*/
DataTableColumnDirective.prototype._viewContainerRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb2x1bW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vZGF0YS10YWJsZS1raXQvIiwic291cmNlcyI6WyJsaWIvZGF0YS10YWJsZS1jb2x1bW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNaEYsTUFBTSxPQUFPLHdCQUF3Qjs7Ozs7SUEyQ25DLFlBQ1UsZUFBNkMsRUFDN0MsaUJBQW1DO1FBRG5DLG9CQUFlLEdBQWYsZUFBZSxDQUE4QjtRQUM3QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBNUNaLFVBQUssR0FBVyxNQUFNLENBQUM7UUFDZixrQkFBYSxHQUFXLEtBQUssQ0FBQztRQXlCL0IsaUJBQVksR0FBVyxDQUFDLENBQUM7SUFtQjlELENBQUM7Ozs7O0lBM0NKLElBQXNDLE1BQU0sQ0FBQyxLQUFlO1FBQzFELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7OztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOzs7OztJQUdELElBQW9DLElBQUksQ0FBQyxNQUFnQjtRQUN2RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7U0FDM0I7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7Ozs7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQzs7OztJQVFELElBQUksUUFBUTs7WUFDTixXQUFXLEdBQUc7WUFDaEIsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ3hCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxhQUFhO1NBQ3JDO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDM0QsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDekM7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzs7O0lBT0QsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDOzs7WUFyREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7Ozs7WUFMMEIsV0FBVztZQUFFLGdCQUFnQjs7O29CQU9yRCxLQUFLLFNBQUMsd0JBQXdCOzRCQUM5QixLQUFLLFNBQUMsZ0NBQWdDO3FCQUN0QyxLQUFLLFNBQUMseUJBQXlCO21CQVkvQixLQUFLLFNBQUMsdUJBQXVCOzJCQVk3QixLQUFLLFNBQUMsK0JBQStCOzBCQUNyQyxLQUFLLFNBQUMsOEJBQThCOzRCQUNwQyxLQUFLLFNBQUMsZ0NBQWdDOzBCQUN0QyxLQUFLLFNBQUMsd0JBQXdCOzs7O0lBN0IvQix5Q0FBd0Q7O0lBQ3hELGlEQUF1RTs7Ozs7SUFXdkUsMkNBQTBCOzs7OztJQVkxQiwrQ0FBOEI7O0lBRTlCLGdEQUFpRTs7SUFDakUsK0NBQXdEOztJQUN4RCxpREFBK0Q7O0lBQy9ELCtDQUFxRDs7Ozs7SUFjbkQsbURBQXFEOzs7OztJQUNyRCxxREFBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2VsbERhdGFDb250ZXh0IH0gZnJvbSAnLi9jZWxsLWRhdGEtY29udGV4dCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZGF0YS10YWJsZS1jb2x1bW5dXCJcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVRhYmxlQ29sdW1uRGlyZWN0aXZlIHtcbiAgQElucHV0KFwiZGF0YS10YWJsZS1jb2x1bW5BbGlnblwiKSBhbGlnbjogc3RyaW5nID0gXCJsZWZ0XCI7XG4gIEBJbnB1dChcImRhdGEtdGFibGUtY29sdW1uVmVydGljYWxBbGlnblwiKSB2ZXJ0aWNhbEFsaWduOiBzdHJpbmcgPSBcInRvcFwiO1xuICBASW5wdXQoXCJkYXRhLXRhYmxlLWNvbHVtbkhlYWRlclwiKSBzZXQgaGVhZGVyKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhpcy5faGVhZGVyID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2hlYWRlciA9IFt2YWx1ZV07XG4gICAgfVxuICB9XG4gIGdldCBoZWFkZXIoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9oZWFkZXI7XG4gIH1cbiAgcHJpdmF0ZSBfaGVhZGVyOiBzdHJpbmdbXTtcblxuICBASW5wdXQoXCJkYXRhLXRhYmxlLWNvbHVtblNvcnRcIikgc2V0IHNvcnQodmFsdWVzOiBzdHJpbmdbXSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlcykpIHtcbiAgICAgIHRoaXMuX3NvcnRmaWVsZHMgPSB2YWx1ZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NvcnRmaWVsZHMgPSBbdmFsdWVzXTtcbiAgICB9XG4gIH1cbiAgZ2V0IHNvcnQoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9zb3J0ZmllbGRzO1xuICB9XG4gIHByaXZhdGUgX3NvcnRmaWVsZHM6IHN0cmluZ1tdO1xuXG4gIEBJbnB1dChcImRhdGEtdGFibGUtY29sdW1uR3JvdXBDb2x1bW5zXCIpIGdyb3VwQ29sdW1uczogbnVtYmVyID0gMDtcbiAgQElucHV0KFwiZGF0YS10YWJsZS1jb2x1bW5Hcm91cEhlYWRlclwiKSBncm91cEhlYWRlcjogYW55O1xuICBASW5wdXQoXCJkYXRhLXRhYmxlLWNvbHVtblNvcnRGaWVsZE5hbWVcIikgc29ydEZpZWxkTmFtZTogc3RyaW5nO1xuICBASW5wdXQoXCJkYXRhLXRhYmxlLWNvbHVtbldpZHRoXCIpIGNvbHVtbldpZHRoOiBzdHJpbmc7XG5cbiAgZ2V0IGR0Y1N0eWxlKCkge1xuICAgIGxldCBjb2x1bW5TdHlsZSA9IHtcbiAgICAgIFwidGV4dC1hbGlnblwiOiB0aGlzLmFsaWduLFxuICAgICAgXCJ2ZXJ0aWNhbC1hbGlnblwiOiB0aGlzLnZlcnRpY2FsQWxpZ25cbiAgICB9O1xuICAgIGlmICh0aGlzLmNvbHVtbldpZHRoICE9IG51bGwgJiYgdGhpcy5jb2x1bW5XaWR0aC5sZW5ndGggPiAwKSB7XG4gICAgICBjb2x1bW5TdHlsZVtcIndpZHRoXCJdID0gdGhpcy5jb2x1bW5XaWR0aDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtblN0eWxlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY29sdW1uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPENlbGxEYXRhQ29udGV4dD4sXG4gICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHt9XG5cbiAgZ2V0IENvbHVtblRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5UZW1wbGF0ZTtcbiAgfVxufVxuIl19