From 04694e2705c2763f4c366d1153520509ce1364a6 Mon Sep 17 00:00:00 2001 From: Roman Roelofsen Date: Wed, 9 Nov 2016 16:46:09 +0100 Subject: [PATCH] WIP Timeline: modify view params --- .../wp-table/timeline/wp-timeline-cell.ts | 3 +- .../wp-table/timeline/wp-timeline.service.ts | 37 ++++++++++++++----- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/frontend/app/components/wp-table/timeline/wp-timeline-cell.ts b/frontend/app/components/wp-table/timeline/wp-timeline-cell.ts index 33b2668600..5497f159f8 100644 --- a/frontend/app/components/wp-table/timeline/wp-timeline-cell.ts +++ b/frontend/app/components/wp-table/timeline/wp-timeline-cell.ts @@ -52,7 +52,7 @@ export class WorkPackageTimelineCell { private workPackageId: string, private timelineCell: HTMLTableElement) { - this.wpState = this.states.workPackages.get(this.workPackageId); + // this.wpState = this.states.workPackages.get(this.workPackageId); } activate() { @@ -83,7 +83,6 @@ export class WorkPackageTimelineCell { const viewParams = renderInfo.viewParams; const wp = renderInfo.workPackage; - // const cellHeight = jQuery(this.timelineCell).outerHeight(); const start = moment(wp.startDate as any); const due = moment(wp.dueDate as any); diff --git a/frontend/app/components/wp-table/timeline/wp-timeline.service.ts b/frontend/app/components/wp-table/timeline/wp-timeline.service.ts index 0f54a0086b..ff4d651816 100644 --- a/frontend/app/components/wp-table/timeline/wp-timeline.service.ts +++ b/frontend/app/components/wp-table/timeline/wp-timeline.service.ts @@ -84,12 +84,17 @@ export class WorkPackageTimelineService { this.globalElementsRegistry["today"] = (wp: WorkPackage, elem: HTMLDivElement) => { elem.style.position = "absolute"; elem.style.width = "2px"; - elem.style.borderLeft = "2px dotted red"; + elem.style.borderLeft = "2px solid red"; elem.style.zIndex = "10"; const offsetToday = this._viewParameters.now.diff(this._viewParameters.dateDisplayStart, "days"); elem.style.left = calculatePositionValueForDayCount(this._viewParameters, offsetToday); }; + + // setTimeout(() => { + // console.log("time up"); + // }, 3000); + } get viewParameters() { @@ -113,7 +118,14 @@ export class WorkPackageTimelineService { const wp = renderInfo.workPackage; this.workPackagesInView[wp.id] = wp; - const viewParamsChanged = this.calculateViewParams(); + // console.log("start1:" + this._viewParameters.dateDisplayStart.toString()); + + const viewParamsChanged = this.calculateViewParams(renderInfo.viewParams); + + // console.log("changed:" + viewParamsChanged); + // console.log("start2:" + this._viewParameters.dateDisplayStart.toString()); + // console.log(""); + if (viewParamsChanged) { // view params have changed, notify all cells this.viewParamsSubject.onNext(this._viewParameters); @@ -125,12 +137,15 @@ export class WorkPackageTimelineService { }); } - private calculateViewParams(): boolean { - let changed = false; + private calculateViewParams(currentParams: TimelineViewParameters): boolean { + console.log("calculateViewParams()"); + const newParams = new TimelineViewParameters(); + let changed = false; // Calculate view parameters for (const wpId in this.workPackagesInView) { + console.log(" wpId=" + wpId); const workPackage = this.workPackagesInView[wpId]; if (workPackage.startDate && workPackage.dueDate) { @@ -138,27 +153,29 @@ export class WorkPackageTimelineService { const due = moment(workPackage.dueDate as any); // start date - newParams.dateDisplayStart = moment.min(newParams.dateDisplayStart, newParams.now, start); + newParams.dateDisplayStart = moment.min(currentParams.dateDisplayStart, currentParams.now, start); // due date - newParams.dateDisplayEnd = moment.max(newParams.dateDisplayEnd, newParams.now, due); + newParams.dateDisplayEnd = moment.max(currentParams.dateDisplayEnd, currentParams.now, due); } } // Check if view params changed: // start date - if (!this._viewParameters.dateDisplayStart.isSame(newParams.dateDisplayStart)) { + if (!newParams.dateDisplayStart.isSame(currentParams.dateDisplayStart)) { changed = true; - this._viewParameters.dateDisplayStart = newParams.dateDisplayStart; + this._viewParameters.dateDisplayStart = currentParams.dateDisplayStart; } // end date - if (!this._viewParameters.dateDisplayEnd.isSame(newParams.dateDisplayEnd)) { + if (!newParams.dateDisplayEnd.isSame(currentParams.dateDisplayEnd)) { changed = true; - this._viewParameters.dateDisplayEnd = newParams.dateDisplayEnd; + this._viewParameters.dateDisplayEnd = currentParams.dateDisplayEnd; } + console.log(" changed=" + changed); + return changed; }