ngx-panemu-table / Class

PanemuTableService

Decorators:@Injectable

The main purpose of this class is to build columns to be rendered in the table. It provide various default setting such as label translation, pagination setting, default format for number or date etc. Those setting can be overriden globally so within one app, all tables will use the same setting.

It also provide editing and query functionality.

Constructor

The locale parameter is used by default number and date format.

Presentation
constructor(
	@Inject() protected locale: string
): PanemuTableService;
Parameters
NameTypeDescription
@Inject
p
locale
string

injected LOCALE_ID from angular framework. It is used for default number and date format.

Methods

buildColumns()

Build columns for the table. This method handle column initialization. The options argument is by default taken from PanemuTableService.getColumnOptions()

Presentation
buildColumns(columns: (NonGroupColumn<T> | GroupedColumn)[], options?: DefaultColumnOptions | undefined): ColumnDefinition<T>;
Parameters
NameTypeDescription
columns
(NonGroupColumn<T> | GroupedColumn)[]

columns to be displayed in table

options
DefaultColumnOptions | undefined

any specified value will override PanemuTableService.getColumnOptions().

Returns

deleteTableState()

Delete table state. If you override it, ensure to also override PanemuTableService.saveTableState() and PanemuTableService.getTableState().

Presentation
deleteTableState(stateKey: string): Observable<null>;
Parameters
NameTypeDescription
stateKey
string
Returns
Observable<null>

getColumnOptions()

Unspecified properties in BaseColumn when calling PanemuTableService.buildColumns() use values returned by this method.

Presentation
getColumnOptions(): Required<DefaultColumnOptions>;
Returns

getDateCellFormatter()

Get default formatter for ColumnType.DATE. Default is EEE, d MMM yyyy

Presentation
getDateCellFormatter(): CellFormatter;
Returns

getDateFilterComponent()

Default ColumnType.DATE filter component used by PanemuQueryComponent.

Presentation
getDateFilterComponent(): Type<FilterEditor>;
Returns

getDateTimeCellFormatter()

Get default formatter for ColumnType.DATETIME. Default is d MMM yyyy H:mm:ss

Presentation
getDateTimeCellFormatter(): CellFormatter;
Returns

getDateTimeFilterComponent()

Default ColumnType.DATETIME filter component used by PanemuQueryComponent.

Presentation
getDateTimeFilterComponent(): Type<FilterEditor>;
Returns

getDecimalCellFormatter()

Get default formatter for ColumnType.DECIMAL

Presentation
getDecimalCellFormatter(): CellFormatter;
Returns

getDefaultCellFormatter()

Get default cell formatter. It does nothing beside changing null or undefined to empty string.

Presentation
getDefaultCellFormatter(): CellFormatter;
Returns

getDefaultCellRenderer()

Override this method to specify default cell renderer globally.

Presentation
getDefaultCellRenderer(): CellRenderer;
Returns
CellRenderer -

cell renderer

getDefaultFilterComponent()

Default filter component used by PanemuQueryComponent.

Presentation
getDefaultFilterComponent(): Type<FilterEditor>;
Returns

getDefaultHeaderRenderer()

Override this method to specify default header renderer globally.

Presentation
getDefaultHeaderRenderer(): HeaderRenderer;
Returns
HeaderRenderer -

HeaderRenderer

getGroupModifierFormatter()

Get group modifier formatter.

Presentation
getGroupModifierFormatter(modifier: string): CellFormatter;
Parameters
NameTypeDescription
modifier
string
Returns

getIntCellFormatter()

Get default formatter for ColumnType.INT

Presentation
getIntCellFormatter(): CellFormatter;
Returns

getLabelTranslation()

Get label translation. Intended for internationalization.

Presentation
getLabelTranslation(): LabelTranslation;
Returns

getMapFilterComponent()

Default ColumnType.MAP filter component used by PanemuQueryComponent.

Presentation
getMapFilterComponent(): Type<FilterEditor>;
Returns

getMapFormatter()

Default formatter for MapColumn (ColumnType.MAP)

Presentation
getMapFormatter(map: Signal<{ [key: string]: any; }>): CellFormatter;
Parameters
NameTypeDescription
map
Signal<{ [key: string]: any; }>
Returns

getMonthCellFormatter()

Get default formatter for GroupBy functionality where the column type is ColumnType.DATE or ColumnType.DATETIME and the modifier is 'month'

Presentation
getMonthCellFormatter(): CellFormatter;
Returns

getPaginationMaxRows()

Get default value for pagination maxRows. Override this method to apply default maxRows app-wide.

Presentation
getPaginationMaxRows(): number;
Returns
number -

default 100

getPaginationMaxRowsLimit()

Limit for pagination maxRows to prevent user entering too big range in pagination input range for example 1-1000. In that case the maxRows is 1000 and it is bigger than the value returned by this method (500 by default). The pagination will fallback to 1-500.

Presentation
getPaginationMaxRowsLimit(): number;
Returns
number -

biggest possible number for pagination maxRows. Default is 500.

getTableOptions()

Get default table options.

Presentation
getTableOptions(): Required<TableOptions<T>>;
Returns
Required<TableOptions<T>>

getTableState()

Get table state. The state is by default stored in local storage. This method returns an Observable so it can be overriden with http call in case developer save the state in server side. If you override it, ensure to also override PanemuTableService.saveTableState() and PanemuTableService.deleteTableState().

Presentation
getTableState(stateKey: string): Observable<TableState | null>;
Parameters
NameTypeDescription
stateKey
string
Returns
Observable<TableState | null>

getYearCellFormatter()

Get default formatter for GroupBy functionality where the column type is ColumnType.DATE or ColumnType.DATETIME and the modifier is 'year'

Presentation
getYearCellFormatter(): CellFormatter;
Returns

handleError()

Function to handle error globally. Override this method to have your own error handler.

Presentation
handleError(err: any): void;
Parameters
NameTypeDescription
err
any
Returns
void

saveTableState()

By default TableState is saved to local storage. Override this method if you want to save it in a database server. If you override it, ensure to also override PanemuTableService.getTableState() and PanemuTableService.deleteTableState().

Presentation
saveTableState(stateKey: string, state: TableState): void;
Parameters
NameTypeDescription
stateKey
string
state
TableState
Returns
void