@handsontable/angular-wrapper
Version:
Best Data Grid for Angular with Spreadsheet Look and Feel.
55 lines • 5.5 kB
JavaScript
import { Component, Input } from '@angular/core';
import * as i0 from "@angular/core";
/**
* Abstract base component for creating custom cell renderer components for Handsontable.
*
* This class provides a common interface and properties required by any custom cell renderer.
*
* @template TValue - The type of the component renderer.
* @template TProps - The type of additional renderer properties.
*/
export class HotCellRendererComponent {
static RENDERER_MARKER = Symbol('HotCellRendererComponent');
value = '';
instance;
td;
row;
col;
prop;
/**
* The cell properties provided by Handsontable, extended with optional renderer-specific properties.
*/
cellProperties;
/**
* Retrieves the renderer-specific properties from the cell properties.
*
* @returns The additional properties for the renderer.
*/
getProps() {
return this.cellProperties?.rendererProps ?? {};
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HotCellRendererComponent, selector: "hot-cell-renderer", inputs: { value: "value", instance: "instance", td: "td", row: "row", col: "col", prop: "prop", cellProperties: "cellProperties" }, ngImport: i0, template: `<!-- This is an abstract component. Extend this component and provide your own template. -->`, isInline: true });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HotCellRendererComponent, decorators: [{
type: Component,
args: [{
selector: 'hot-cell-renderer',
template: `<!-- This is an abstract component. Extend this component and provide your own template. -->`
}]
}], propDecorators: { value: [{
type: Input
}], instance: [{
type: Input
}], td: [{
type: Input
}], row: [{
type: Input
}], col: [{
type: Input
}], prop: [{
type: Input
}], cellProperties: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaG90LXRhYmxlL3NyYy9saWIvcmVuZGVyZXIvaG90LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUUvQzs7Ozs7OztHQU9HO0FBS0gsTUFBTSxPQUFnQix3QkFBd0I7SUFDNUMsTUFBTSxDQUFVLGVBQWUsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUU1RCxLQUFLLEdBQVcsRUFBWSxDQUFDO0lBRTdCLFFBQVEsQ0FBZTtJQUN2QixFQUFFLENBQXVCO0lBQ3pCLEdBQUcsQ0FBUztJQUNaLEdBQUcsQ0FBUztJQUNaLElBQUksQ0FBUztJQUV0Qjs7T0FFRztJQUNNLGNBQWMsQ0FBMkQ7SUFFbEY7Ozs7T0FJRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxJQUFLLEVBQWEsQ0FBQztJQUM5RCxDQUFDO3dHQXZCbUIsd0JBQXdCOzRGQUF4Qix3QkFBd0IsNkxBRmxDLDhGQUE4Rjs7NEZBRXBGLHdCQUF3QjtrQkFKN0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsOEZBQThGO2lCQUN6Rzs4QkFJVSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBIYW5kc29udGFibGUgZnJvbSAnaGFuZHNvbnRhYmxlL2Jhc2UnO1xuaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBBYnN0cmFjdCBiYXNlIGNvbXBvbmVudCBmb3IgY3JlYXRpbmcgY3VzdG9tIGNlbGwgcmVuZGVyZXIgY29tcG9uZW50cyBmb3IgSGFuZHNvbnRhYmxlLlxuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYSBjb21tb24gaW50ZXJmYWNlIGFuZCBwcm9wZXJ0aWVzIHJlcXVpcmVkIGJ5IGFueSBjdXN0b20gY2VsbCByZW5kZXJlci5cbiAqXG4gKiBAdGVtcGxhdGUgVFZhbHVlIC0gVGhlIHR5cGUgb2YgdGhlIGNvbXBvbmVudCByZW5kZXJlci5cbiAqIEB0ZW1wbGF0ZSBUUHJvcHMgLSBUaGUgdHlwZSBvZiBhZGRpdGlvbmFsIHJlbmRlcmVyIHByb3BlcnRpZXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hvdC1jZWxsLXJlbmRlcmVyJyxcbiAgdGVtcGxhdGU6IGA8IS0tIFRoaXMgaXMgYW4gYWJzdHJhY3QgY29tcG9uZW50LiBFeHRlbmQgdGhpcyBjb21wb25lbnQgYW5kIHByb3ZpZGUgeW91ciBvd24gdGVtcGxhdGUuIC0tPmBcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSG90Q2VsbFJlbmRlcmVyQ29tcG9uZW50PFRWYWx1ZSBleHRlbmRzIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gPSBzdHJpbmcsIFRQcm9wcyBleHRlbmRzIHt9ID0gYW55PiB7XG4gIHN0YXRpYyByZWFkb25seSBSRU5ERVJFUl9NQVJLRVIgPSBTeW1ib2woJ0hvdENlbGxSZW5kZXJlckNvbXBvbmVudCcpO1xuXG4gIEBJbnB1dCgpIHZhbHVlOiBUVmFsdWUgPSAnJyBhcyBUVmFsdWU7XG5cbiAgQElucHV0KCkgaW5zdGFuY2U6IEhhbmRzb250YWJsZTtcbiAgQElucHV0KCkgdGQ6IEhUTUxUYWJsZUNlbGxFbGVtZW50O1xuICBASW5wdXQoKSByb3c6IG51bWJlcjtcbiAgQElucHV0KCkgY29sOiBudW1iZXI7XG4gIEBJbnB1dCgpIHByb3A6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNlbGwgcHJvcGVydGllcyBwcm92aWRlZCBieSBIYW5kc29udGFibGUsIGV4dGVuZGVkIHdpdGggb3B0aW9uYWwgcmVuZGVyZXItc3BlY2lmaWMgcHJvcGVydGllcy5cbiAgICovXG4gIEBJbnB1dCgpIGNlbGxQcm9wZXJ0aWVzOiBIYW5kc29udGFibGUuQ2VsbFByb3BlcnRpZXMgJiB7IHJlbmRlcmVyUHJvcHM/OiBUUHJvcHMgfTtcblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSByZW5kZXJlci1zcGVjaWZpYyBwcm9wZXJ0aWVzIGZyb20gdGhlIGNlbGwgcHJvcGVydGllcy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgdGhlIHJlbmRlcmVyLlxuICAgKi9cbiAgcHVibGljIGdldFByb3BzKCk6IFRQcm9wcyB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbFByb3BlcnRpZXM/LnJlbmRlcmVyUHJvcHMgPz8gKHt9IGFzIFRQcm9wcyk7XG4gIH1cbn1cbiJdfQ==