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/timeline-transformer.ts

28 lines
950 B

import {States} from "../../../states.service";
import {injectorBridge} from "../../../angular/angular-injector-bridge.functions";
import {WorkPackageTable} from "../../wp-fast-table";
8 years ago
import {WorkPackageTableTimelineState} from "../../wp-table-timeline";
export class TimelineTransformer {
public states:States;
constructor(table:WorkPackageTable) {
injectorBridge(this);
this.states.table.timelineVisible.values$()
.takeUntil(this.states.table.stopAllSubscriptions).subscribe((state:WorkPackageTableTimelineState) => {
this.renderVisibility(state.isVisible);
});
}
/**
* Update all currently visible rows to match the selection state.
*/
private renderVisibility(visible:boolean) {
jQuery('.work-packages-tabletimeline--timeline-side').toggle(visible);
jQuery('.work-packages-tabletimeline--table-side').toggleClass('-timeline-visible', visible);
}
}
TimelineTransformer.$inject = ['states'];