2

I use the primeng datatable beeing close to my final need, however I would like to overload it because I need an additional functionality (By example, I would like to change the header to be editable at click).

So I started by trying to execute an instruction by expanding the datatable class as follows:

My component that uses the datable:

providers: [{provide: DataTable, useExisting: CustomDataTable}]

My class extending the datatable :

import { DataTable, DomHandler } from 'primeng/primeng';
import { Component, Injectable, ElementRef, Renderer, IterableDiffers, Renderer2, NgZone, ChangeDetectorRef, Input } from '@angular/core';
import { ObjectUtils } from 'primeng/components/utils/objectutils';

export class CustomDataTable extends DataTable {

    constructor(el: ElementRef, domHandler: DomHandler, differs: IterableDiffers, renderer: Renderer2, changeDetector: ChangeDetectorRef, objectUtils: ObjectUtils, zone: NgZone) {
        super(el, domHandler, differs, renderer, changeDetector, objectUtils, zone);
        // CUSTOM INSTRUCTION
    }

    initColumns() {
        // super.initColumns(); // I tried adding it
        // CUSTOM INSTRUCTION
    }
}

However my "INSTRUCTIONS" are never executed, and no error appears in console or on the browser. Do I misuse the extend of the datatable?

0 Answers0