OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/frontend/app/components/wp-fast-table/handlers/state/columns-transformer.ts

32 lines
1.1 KiB

import {debugLog} from '../../../../helpers/debug_output';
import {$injectFields, injectorBridge} from '../../../angular/angular-injector-bridge.functions';
import {States} from '../../../states.service';
import {WorkPackageTable} from '../../wp-fast-table';
import {WorkPackageTableColumnsService} from '../../state/wp-table-columns.service';
export class ColumnsTransformer {
public states:States;
public wpTableColumns:WorkPackageTableColumnsService;
constructor(public table: WorkPackageTable) {
$injectFields(this, 'states', 'wpTableColumns');
this.states.updates.columnsUpdates
.values$('Refreshing columns on user request')
.filter(() => this.wpTableColumns.hasRelationColumns() === false)
.takeUntil(this.states.table.stopAllSubscriptions)
.subscribe(() => {
if (table.rows.length > 0) {
var t0 = performance.now();
// Redraw the table section, ignore timeline
table.redrawTable();
var t1 = performance.now();
debugLog("column redraw took " + (t1 - t0) + " milliseconds.");
}
});
}
}