ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
57 lines • 10.9 kB
JavaScript
import { ChangeDetectionStrategy, Component, Injector, TemplateRef, ViewChild } from '@angular/core';
import { Util } from '../../../../../util/util';
import { OBaseTableCellRenderer } from '../o-base-table-cell-renderer.class';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@angular/flex-layout/extended";
export const DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_IMAGE = [
'imageType: image-type',
'emptyImage: empty-image',
'avatar'
];
export const DEFAULT_OUTPUTS_O_TABLE_CELL_RENDERER_IMAGE = [
'onClick'
];
export class OTableCellRendererImageComponent extends OBaseTableCellRenderer {
constructor(injector) {
super(injector);
this.injector = injector;
this.tableColumn.type = 'image';
this.tableColumn.orderable = false;
this.tableColumn.searchable = false;
this.tableColumn.groupable = false;
}
initialize() {
super.initialize();
if (this.table) {
const oCol = this.table.getOColumn(this.tableColumn.attr);
oCol.title = Util.isDefined(this.tableColumn.title) ? this.tableColumn.title : undefined;
oCol.definition.contentAlign = oCol.definition.contentAlign ? oCol.definition.contentAlign : 'center';
}
}
getSource(cellData) {
this._source = '';
switch (this.imageType) {
case 'base64':
this._source = cellData ? ('data:image/png;base64,' + ((typeof (cellData.bytes) !== 'undefined') ? cellData.bytes : cellData)) : this.emptyImage;
break;
case 'url':
this._source = cellData ? cellData : this.emptyImage;
break;
default:
this._source = this.emptyImage;
break;
}
return this._source;
}
}
OTableCellRendererImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableCellRendererImageComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
OTableCellRendererImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableCellRendererImageComponent, selector: "o-table-cell-renderer-image", inputs: { imageType: ["image-type", "imageType"], emptyImage: ["empty-image", "emptyImage"], avatar: "avatar" }, viewQueries: [{ propertyName: "templateref", first: true, predicate: ["templateref"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #templateref let-cellvalue=\"cellvalue\">\n <div [ngClass]=\"{'image-avatar':avatar,'image-plain':!avatar} \">\n <img [src]=\"getSource(cellvalue)\" alt=\"renderer cell image\">\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableCellRendererImageComponent, decorators: [{
type: Component,
args: [{ selector: 'o-table-cell-renderer-image', changeDetection: ChangeDetectionStrategy.OnPush, inputs: DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_IMAGE, template: "<ng-template #templateref let-cellvalue=\"cellvalue\">\n <div [ngClass]=\"{'image-avatar':avatar,'image-plain':!avatar} \">\n <img [src]=\"getSource(cellvalue)\" alt=\"renderer cell image\">\n </div>\n</ng-template>\n" }]
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { templateref: [{
type: ViewChild,
args: ['templateref', { read: TemplateRef, static: true }]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jZWxsLXJlbmRlcmVyLWltYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2NvbHVtbi9jZWxsLXJlbmRlcmVyL2ltYWdlL28tdGFibGUtY2VsbC1yZW5kZXJlci1pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9jb2x1bW4vY2VsbC1yZW5kZXJlci9pbWFnZS9vLXRhYmxlLWNlbGwtcmVuZGVyZXItaW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFFN0UsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQUc7SUFFeEQsdUJBQXVCO0lBRXZCLHlCQUF5QjtJQUV6QixRQUFRO0NBQ1QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJDQUEyQyxHQUFHO0lBQ3pELFNBQVM7Q0FDVixDQUFDO0FBUUYsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLHNCQUFzQjtJQVExRSxZQUFzQixRQUFrQjtRQUN0QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFESSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRXRDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRUQsVUFBVTtRQUNSLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxNQUFNLElBQUksR0FBWSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQ3ZHO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxRQUFhO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLFFBQVEsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN0QixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ2pKLE1BQU07WUFDUixLQUFLLEtBQUs7Z0JBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDckQsTUFBTTtZQUNSO2dCQUNFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDL0IsTUFBTTtTQUNUO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7OzhIQXZDVSxnQ0FBZ0M7a0hBQWhDLGdDQUFnQywyUUFNVCxXQUFXLGtFQy9CL0MsZ09BS0E7NEZEb0JhLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDRSw2QkFBNkIsbUJBRXRCLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsMENBQTBDOytGQVFvQixXQUFXO3NCQUFoRixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgdHlwZSB7IE9Db2x1bW4gfSBmcm9tICcuLi8uLi9vLWNvbHVtbi5jbGFzcyc7XG5pbXBvcnQgeyBPQmFzZVRhYmxlQ2VsbFJlbmRlcmVyIH0gZnJvbSAnLi4vby1iYXNlLXRhYmxlLWNlbGwtcmVuZGVyZXIuY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19UQUJMRV9DRUxMX1JFTkRFUkVSX0lNQUdFID0gW1xuICAvLyBpbWFnZS10eXBlIFtiYXNlNjR8dXJsXTogaW1hZ2UgdHlwZSAoZXh0ZXJuIHVybCBvciBiYXNlNjQpLiBEZWZhdWx0OiBubyB2YWx1ZS5cbiAgJ2ltYWdlVHlwZTogaW1hZ2UtdHlwZScsXG4gIC8vIGVtcHR5LWltYWdlIFtzdHJpbmddOiB1cmwgb2YgdGhlIGltYWdlIHRvIGJlIHNob3duIGlmIHRoZSBjb2x1bW4gaGFzIG5vdCBhbnkgdmFsdWUuIERlZmF1bHQ6IG5vIHZhbHVlLlxuICAnZW1wdHlJbWFnZTogZW1wdHktaW1hZ2UnLFxuICAvLyBhdmF0YXIgW25vfHllc106IHZpZXcgaW1hZ2UgYXMgYXZhdGFyIChjaXJjbGUpLCBvbmx5IGF0IHByZXNlbnRhdGlvbiBsZXZlbC4gRGVmYXVsdDogbm8uXG4gICdhdmF0YXInXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9PVVRQVVRTX09fVEFCTEVfQ0VMTF9SRU5ERVJFUl9JTUFHRSA9IFtcbiAgJ29uQ2xpY2snXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXRhYmxlLWNlbGwtcmVuZGVyZXItaW1hZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vby10YWJsZS1jZWxsLXJlbmRlcmVyLWltYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19UQUJMRV9DRUxMX1JFTkRFUkVSX0lNQUdFXG59KVxuZXhwb3J0IGNsYXNzIE9UYWJsZUNlbGxSZW5kZXJlckltYWdlQ29tcG9uZW50IGV4dGVuZHMgT0Jhc2VUYWJsZUNlbGxSZW5kZXJlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGltYWdlVHlwZTogc3RyaW5nO1xuICBwdWJsaWMgZW1wdHlJbWFnZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NvdXJjZTogc3RyaW5nO1xuICBhdmF0YXI6IHN0cmluZztcbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVyZWYnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSkgcHVibGljIHRlbXBsYXRlcmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgdGhpcy50YWJsZUNvbHVtbi50eXBlID0gJ2ltYWdlJztcbiAgICB0aGlzLnRhYmxlQ29sdW1uLm9yZGVyYWJsZSA9IGZhbHNlO1xuICAgIHRoaXMudGFibGVDb2x1bW4uc2VhcmNoYWJsZSA9IGZhbHNlO1xuICAgIHRoaXMudGFibGVDb2x1bW4uZ3JvdXBhYmxlID0gZmFsc2U7XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICBpZiAodGhpcy50YWJsZSkge1xuICAgICAgY29uc3Qgb0NvbDogT0NvbHVtbiA9IHRoaXMudGFibGUuZ2V0T0NvbHVtbih0aGlzLnRhYmxlQ29sdW1uLmF0dHIpO1xuICAgICAgb0NvbC50aXRsZSA9IFV0aWwuaXNEZWZpbmVkKHRoaXMudGFibGVDb2x1bW4udGl0bGUpID8gdGhpcy50YWJsZUNvbHVtbi50aXRsZSA6IHVuZGVmaW5lZDtcbiAgICAgIG9Db2wuZGVmaW5pdGlvbi5jb250ZW50QWxpZ24gPSBvQ29sLmRlZmluaXRpb24uY29udGVudEFsaWduID8gb0NvbC5kZWZpbml0aW9uLmNvbnRlbnRBbGlnbiA6ICdjZW50ZXInO1xuICAgIH1cbiAgfVxuXG4gIGdldFNvdXJjZShjZWxsRGF0YTogYW55KSB7XG4gICAgdGhpcy5fc291cmNlID0gJyc7XG4gICAgc3dpdGNoICh0aGlzLmltYWdlVHlwZSkge1xuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgICAgdGhpcy5fc291cmNlID0gY2VsbERhdGEgPyAoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnICsgKCh0eXBlb2YgKGNlbGxEYXRhLmJ5dGVzKSAhPT0gJ3VuZGVmaW5lZCcpID8gY2VsbERhdGEuYnl0ZXMgOiBjZWxsRGF0YSkpIDogdGhpcy5lbXB0eUltYWdlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3VybCc6XG4gICAgICAgIHRoaXMuX3NvdXJjZSA9IGNlbGxEYXRhID8gY2VsbERhdGEgOiB0aGlzLmVtcHR5SW1hZ2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5fc291cmNlID0gdGhpcy5lbXB0eUltYWdlO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZTtcbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlcmVmIGxldC1jZWxsdmFsdWU9XCJjZWxsdmFsdWVcIj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7J2ltYWdlLWF2YXRhcic6YXZhdGFyLCdpbWFnZS1wbGFpbic6IWF2YXRhcn0gXCI+XG4gICAgPGltZyBbc3JjXT1cImdldFNvdXJjZShjZWxsdmFsdWUpXCIgYWx0PVwicmVuZGVyZXIgY2VsbCBpbWFnZVwiPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=