mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[AAE-7856] Show variables in table
This commit is contained in:
@@ -29,7 +29,7 @@ export interface DataColumnTypes {
|
||||
|
||||
export type DataColumnType = keyof DataColumnTypes;
|
||||
|
||||
export interface DataColumn {
|
||||
export interface DataColumn<T = unknown> {
|
||||
id?: string;
|
||||
key: string;
|
||||
type: DataColumnType;
|
||||
@@ -47,4 +47,5 @@ export interface DataColumn {
|
||||
header?: TemplateRef<any>;
|
||||
draggable?: boolean;
|
||||
isHidden?: boolean;
|
||||
customData?: T;
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@ import { ObjectDataColumn } from './object-datacolumn.model';
|
||||
|
||||
@Directive()
|
||||
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
||||
export abstract class DataTableSchema {
|
||||
export abstract class DataTableSchema<T = unknown> {
|
||||
|
||||
@ContentChild(DataColumnListComponent)
|
||||
columnList: DataColumnListComponent;
|
||||
@@ -33,7 +33,7 @@ export abstract class DataTableSchema {
|
||||
@Input()
|
||||
presetColumn: string;
|
||||
|
||||
columns: any;
|
||||
columns: DataColumn<T>[];
|
||||
|
||||
protected columnsOrder: string[] | undefined;
|
||||
protected columnsOrderedByKey: string = 'id';
|
||||
@@ -91,7 +91,7 @@ export abstract class DataTableSchema {
|
||||
return customSchemaColumns;
|
||||
}
|
||||
|
||||
public getSchemaFromHtml(columnList: DataColumnListComponent): any {
|
||||
public getSchemaFromHtml(columnList: DataColumnListComponent): DataColumn[] {
|
||||
let schema = [];
|
||||
if (columnList && columnList.columns && columnList.columns.length > 0) {
|
||||
schema = columnList.columns.map((c) => c as DataColumn);
|
||||
|
@@ -29,6 +29,7 @@ export interface DataTableAdapter {
|
||||
getColumns(): Array<DataColumn>;
|
||||
setColumns(columns: Array<DataColumn>): void;
|
||||
getValue(row: DataRow, col: DataColumn, resolverFn?: (_row: DataRow, _col: DataColumn) => any): any;
|
||||
getColumnType(row: DataRow, col: DataColumn): string;
|
||||
getSorting(): DataSorting;
|
||||
setSorting(sorting: DataSorting): void;
|
||||
sort(key?: string, direction?: string): void;
|
||||
|
@@ -19,7 +19,7 @@ import { TemplateRef } from '@angular/core';
|
||||
import { DataColumn, DataColumnType } from './data-column.model';
|
||||
|
||||
// Simple implementation of the DataColumn interface.
|
||||
export class ObjectDataColumn implements DataColumn {
|
||||
export class ObjectDataColumn<T = unknown> implements DataColumn<T> {
|
||||
id?: string;
|
||||
key: string;
|
||||
type: DataColumnType;
|
||||
@@ -35,6 +35,7 @@ export class ObjectDataColumn implements DataColumn {
|
||||
header?: TemplateRef<any>;
|
||||
draggable: boolean;
|
||||
isHidden: boolean;
|
||||
customData?: T;
|
||||
|
||||
constructor(input: any) {
|
||||
this.id = input.id ?? '';
|
||||
@@ -52,5 +53,6 @@ export class ObjectDataColumn implements DataColumn {
|
||||
this.header = input.header;
|
||||
this.draggable = input.draggable ?? false;
|
||||
this.isHidden = input.isHidden ?? false;
|
||||
this.customData = input.customData;
|
||||
}
|
||||
}
|
||||
|
@@ -77,6 +77,10 @@ export class ObjectDataTableAdapter implements DataTableAdapter {
|
||||
this.rowsChanged = new Subject<Array<DataRow>>();
|
||||
}
|
||||
|
||||
getColumnType(_row: DataRow, col: DataColumn): string {
|
||||
return col.type;
|
||||
}
|
||||
|
||||
getRows(): Array<DataRow> {
|
||||
return this._rows;
|
||||
}
|
||||
|
Reference in New Issue
Block a user