timeline-chart 0.3.0-next.f3add09.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/README.md +12 -7
  2. package/lib/bigint-utils.d.ts +1 -0
  3. package/lib/bigint-utils.js +6 -0
  4. package/lib/bigint-utils.js.map +1 -1
  5. package/lib/components/time-graph-annotation.d.ts +9 -2
  6. package/lib/components/time-graph-annotation.js +15 -2
  7. package/lib/components/time-graph-annotation.js.map +1 -1
  8. package/lib/components/time-graph-arrow.d.ts +0 -1
  9. package/lib/components/time-graph-arrow.js +1 -5
  10. package/lib/components/time-graph-arrow.js.map +1 -1
  11. package/lib/components/time-graph-axis-scale.d.ts +4 -1
  12. package/lib/components/time-graph-axis-scale.js +41 -12
  13. package/lib/components/time-graph-axis-scale.js.map +1 -1
  14. package/lib/components/time-graph-component.d.ts +8 -7
  15. package/lib/components/time-graph-component.js +11 -1
  16. package/lib/components/time-graph-component.js.map +1 -1
  17. package/lib/components/time-graph-row.d.ts +33 -3
  18. package/lib/components/time-graph-row.js +42 -5
  19. package/lib/components/time-graph-row.js.map +1 -1
  20. package/lib/components/time-graph-state.d.ts +14 -2
  21. package/lib/components/time-graph-state.js +77 -37
  22. package/lib/components/time-graph-state.js.map +1 -1
  23. package/lib/layer/time-graph-axis.d.ts +2 -0
  24. package/lib/layer/time-graph-axis.js +4 -1
  25. package/lib/layer/time-graph-axis.js.map +1 -1
  26. package/lib/layer/time-graph-chart-arrows.d.ts +6 -2
  27. package/lib/layer/time-graph-chart-arrows.js +31 -12
  28. package/lib/layer/time-graph-chart-arrows.js.map +1 -1
  29. package/lib/layer/time-graph-chart-cursors.d.ts +3 -4
  30. package/lib/layer/time-graph-chart-cursors.js +34 -60
  31. package/lib/layer/time-graph-chart-cursors.js.map +1 -1
  32. package/lib/layer/time-graph-chart-grid.d.ts +1 -1
  33. package/lib/layer/time-graph-chart-grid.js +4 -2
  34. package/lib/layer/time-graph-chart-grid.js.map +1 -1
  35. package/lib/layer/time-graph-chart-layer.d.ts +2 -2
  36. package/lib/layer/time-graph-chart-layer.js +2 -2
  37. package/lib/layer/time-graph-chart-layer.js.map +1 -1
  38. package/lib/layer/time-graph-chart-selection-range.d.ts +2 -3
  39. package/lib/layer/time-graph-chart-selection-range.js +13 -10
  40. package/lib/layer/time-graph-chart-selection-range.js.map +1 -1
  41. package/lib/layer/time-graph-chart.d.ts +67 -22
  42. package/lib/layer/time-graph-chart.js +434 -171
  43. package/lib/layer/time-graph-chart.js.map +1 -1
  44. package/lib/layer/time-graph-layer.d.ts +2 -1
  45. package/lib/layer/time-graph-layer.js +14 -4
  46. package/lib/layer/time-graph-layer.js.map +1 -1
  47. package/lib/layer/time-graph-markers-chart-cursors.d.ts +5 -0
  48. package/lib/layer/time-graph-markers-chart-cursors.js +78 -0
  49. package/lib/layer/time-graph-markers-chart-cursors.js.map +1 -0
  50. package/lib/layer/time-graph-navigator.d.ts +1 -1
  51. package/lib/layer/time-graph-navigator.js +48 -10
  52. package/lib/layer/time-graph-navigator.js.map +1 -1
  53. package/lib/layer/time-graph-range-events-layer.d.ts +3 -3
  54. package/lib/layer/time-graph-range-events-layer.js +9 -9
  55. package/lib/layer/time-graph-range-events-layer.js.map +1 -1
  56. package/lib/layer/time-graph-vertical-scrollbar.d.ts +5 -0
  57. package/lib/layer/time-graph-vertical-scrollbar.js +65 -14
  58. package/lib/layer/time-graph-vertical-scrollbar.js.map +1 -1
  59. package/lib/layer/time-graph-viewport-layer.d.ts +19 -0
  60. package/lib/layer/time-graph-viewport-layer.js +70 -0
  61. package/lib/layer/time-graph-viewport-layer.js.map +1 -0
  62. package/lib/time-graph-container.d.ts +5 -2
  63. package/lib/time-graph-container.js +19 -0
  64. package/lib/time-graph-container.js.map +1 -1
  65. package/lib/time-graph-font-controller.d.ts +16 -5
  66. package/lib/time-graph-font-controller.js +48 -16
  67. package/lib/time-graph-font-controller.js.map +1 -1
  68. package/lib/time-graph-render-controller.d.ts +12 -0
  69. package/lib/time-graph-render-controller.js +57 -0
  70. package/lib/time-graph-render-controller.js.map +1 -0
  71. package/lib/time-graph-row-controller.d.ts +9 -2
  72. package/lib/time-graph-row-controller.js +41 -2
  73. package/lib/time-graph-row-controller.js.map +1 -1
  74. package/lib/time-graph-state-controller.d.ts +33 -6
  75. package/lib/time-graph-state-controller.js +121 -10
  76. package/lib/time-graph-state-controller.js.map +1 -1
  77. package/lib/time-graph-unit-controller.d.ts +14 -4
  78. package/lib/time-graph-unit-controller.js +27 -4
  79. package/lib/time-graph-unit-controller.js.map +1 -1
  80. package/package.json +20 -5
  81. package/src/bigint-utils.ts +7 -0
  82. package/src/components/time-graph-annotation.ts +18 -3
  83. package/src/components/time-graph-arrow.ts +1 -6
  84. package/src/components/time-graph-axis-scale.ts +51 -13
  85. package/src/components/time-graph-component.ts +14 -3
  86. package/src/components/time-graph-row.ts +50 -6
  87. package/src/components/time-graph-state.ts +84 -36
  88. package/src/layer/time-graph-axis.ts +7 -2
  89. package/src/layer/time-graph-chart-arrows.ts +33 -12
  90. package/src/layer/time-graph-chart-cursors.ts +39 -60
  91. package/src/layer/time-graph-chart-grid.ts +4 -2
  92. package/src/layer/time-graph-chart-layer.ts +4 -4
  93. package/src/layer/time-graph-chart-selection-range.ts +14 -12
  94. package/src/layer/time-graph-chart.ts +446 -205
  95. package/src/layer/time-graph-layer.ts +13 -4
  96. package/src/layer/time-graph-markers-chart-cursors.ts +66 -0
  97. package/src/layer/time-graph-navigator.ts +51 -13
  98. package/src/layer/time-graph-range-events-layer.ts +10 -10
  99. package/src/layer/time-graph-vertical-scrollbar.ts +68 -14
  100. package/src/layer/time-graph-viewport-layer.ts +57 -0
  101. package/src/time-graph-container.ts +25 -3
  102. package/src/time-graph-font-controller.ts +57 -16
  103. package/src/time-graph-render-controller.ts +65 -0
  104. package/src/time-graph-row-controller.ts +50 -7
  105. package/src/time-graph-state-controller.ts +128 -14
  106. package/src/time-graph-unit-controller.ts +38 -8
  107. package/jest.config.json +0 -26
  108. package/lib/components/__tests__/time-graph-arrow.test.d.ts +0 -1
  109. package/lib/components/__tests__/time-graph-arrow.test.js +0 -26
  110. package/lib/components/__tests__/time-graph-arrow.test.js.map +0 -1
  111. package/lib/components/__tests__/time-graph-axis-cursor.test.d.ts +0 -1
  112. package/lib/components/__tests__/time-graph-axis-cursor.test.js +0 -17
  113. package/lib/components/__tests__/time-graph-axis-cursor.test.js.map +0 -1
  114. package/lib/components/__tests__/time-graph-axis-scale.test.d.ts +0 -1
  115. package/lib/components/__tests__/time-graph-axis-scale.test.js +0 -33
  116. package/lib/components/__tests__/time-graph-axis-scale.test.js.map +0 -1
  117. package/src/components/__tests__/__snapshots__/time-graph-arrow.test.ts.snap +0 -1067
  118. package/src/components/__tests__/__snapshots__/time-graph-axis-cursor.test.ts.snap +0 -535
  119. package/src/components/__tests__/time-graph-arrow.test.ts +0 -26
  120. package/src/components/__tests__/time-graph-axis-cursor.test.ts +0 -17
  121. package/src/components/__tests__/time-graph-axis-scale.test.ts +0 -34
  122. package/tsconfig.json +0 -28
@@ -9,16 +9,28 @@ export interface TimeGraphStateStyle {
9
9
  height?: number;
10
10
  borderWidth?: number;
11
11
  borderColor?: number;
12
+ scale?: number;
12
13
  }
13
14
  export declare class TimeGraphStateComponent extends TimeGraphComponent<TimelineChart.TimeGraphState> {
14
15
  protected _row: TimeGraphRow;
15
16
  protected _style: TimeGraphStateStyle;
16
17
  protected displayWidth: number;
18
+ protected scaleFactor: number;
17
19
  static fontController: FontController;
18
20
  protected _options: TimeGraphStyledRect;
19
- constructor(id: string, model: TimelineChart.TimeGraphState, xStart: number, xEnd: number, _row: TimeGraphRow, _style: TimeGraphStateStyle, displayWidth: number, displayObject?: PIXI.Graphics);
21
+ private textLabelObject;
22
+ constructor(id: string, model: TimelineChart.TimeGraphState, xStart: number, xEnd: number, _row: TimeGraphRow, _style: TimeGraphStateStyle, displayWidth: number, scaleFactor: number, displayObject?: PIXI.Graphics);
23
+ /**
24
+ * Conveniently generate the labels of states and apply proper scaling when zooming
25
+ */
20
26
  renderLabel(): void;
21
- clearLabel(): void;
27
+ /**
28
+ * Scale only state labels that actually have text displayed.
29
+ *
30
+ * @param scaleFactor
31
+ */
32
+ scaleLabel(scaleFactor: number): void;
33
+ private removeLabel;
22
34
  get height(): number;
23
35
  get width(): number;
24
36
  get position(): TimeGraphElementPosition;
@@ -19,14 +19,35 @@ exports.TimeGraphStateComponent = void 0;
19
19
  var time_graph_component_1 = require("./time-graph-component");
20
20
  var time_graph_font_controller_1 = require("../time-graph-font-controller");
21
21
  var PIXI = require("pixi.js-legacy");
22
+ /**
23
+ * Using BitMapText.getLocalBounds() to measure the full label width is expensive, because
24
+ * we need to create a BitMapText object to use it. This means that we need to create a BitMapText
25
+ * for every state, even if we don't use it. When we remove the states, these objects need to
26
+ * be removed as well. In the case where we have a lot states, this cause multiple garbage collection
27
+ * and hogs the performance of the timeline chart.
28
+ *
29
+ * An alternative to measure the width of the label is to use PIXI.TextMetrics.measureText().
30
+ * However, this method applies only for Text objects, and not BitMapText; therefore there is a
31
+ * slight difference between the values returned by the two methods. PIXI.TextMetrics returns a
32
+ * slightly smaller value. Currently, PIXI does not support measureText() for BitMapText.
33
+ *
34
+ * Through some trials, it looks like the ratio between the text width returned by the two methods is
35
+ * consistent. Hence, we can use PIXI.TextMetrics.measureText() to get a good estimation of the text width,
36
+ * then multiply with the SCALING_FACTOR to determine the actual width of the label when rendered
37
+ * with BitMapText.
38
+ *
39
+ * SCALING_FACTOR = BitMapText.getLocalBounds() / PIXI.TextMetrics.measureText()
40
+ */
41
+ var SCALING_FACTOR = 1.04;
22
42
  var TimeGraphStateComponent = /** @class */ (function (_super) {
23
43
  __extends(TimeGraphStateComponent, _super);
24
- function TimeGraphStateComponent(id, model, xStart, xEnd, _row, _style, displayWidth, displayObject) {
44
+ function TimeGraphStateComponent(id, model, xStart, xEnd, _row, _style, displayWidth, scaleFactor, displayObject) {
25
45
  if (_style === void 0) { _style = { color: 0xfffa66, height: 14 }; }
26
46
  var _this = _super.call(this, id, displayObject, model) || this;
27
47
  _this._row = _row;
28
48
  _this._style = _style;
29
49
  _this.displayWidth = displayWidth;
50
+ _this.scaleFactor = scaleFactor;
30
51
  var height = _row.height === 0 ? 0 : Math.min(_style.height || 14, _row.height - 1);
31
52
  var position = {
32
53
  x: xStart,
@@ -47,12 +68,16 @@ var TimeGraphStateComponent = /** @class */ (function (_super) {
47
68
  };
48
69
  return _this;
49
70
  }
71
+ /**
72
+ * Conveniently generate the labels of states and apply proper scaling when zooming
73
+ */
50
74
  TimeGraphStateComponent.prototype.renderLabel = function () {
75
+ var _a;
51
76
  if (!this.model.label) {
52
77
  return;
53
78
  }
54
- var fontName = TimeGraphStateComponent.fontController.getFontName(this._options.color ? this._options.color : 0, this._options.height - 2) ||
55
- TimeGraphStateComponent.fontController.getDefaultFontName();
79
+ var _b = TimeGraphStateComponent.fontController.getFont(this._options.color ? this._options.color : 0, this._options.height - 2) ||
80
+ TimeGraphStateComponent.fontController.getDefaultFont(), fontName = _b.fontName, fontStyle = _b.fontStyle;
56
81
  var position = {
57
82
  x: this._options.position.x + this._options.width < 0 ? this._options.position.x : Math.max(0, this._options.position.x),
58
83
  y: this._options.position.y
@@ -61,45 +86,61 @@ var TimeGraphStateComponent = /** @class */ (function (_super) {
61
86
  var labelText = this.model.label;
62
87
  var textPadding = 0.5;
63
88
  if (displayWidth < 3) {
64
- this.clearLabel();
89
+ this.removeLabel();
65
90
  return;
66
91
  }
67
- var textObj = new PIXI.BitmapText(this.model.label, { fontName: fontName });
68
- var textWidth = textObj.getLocalBounds().width;
69
- var textObjX = position.x + textPadding;
70
- var textObjY = position.y + textPadding;
71
- var displayLabel = "";
72
- if (displayWidth > textWidth) {
73
- textObjX = position.x + (displayWidth - textWidth) / 2;
74
- displayLabel = labelText;
75
- }
76
- else {
77
- var textScaler = displayWidth / textWidth;
78
- var index = Math.min(Math.floor(textScaler * labelText.length), labelText.length - 1);
79
- var partialLabel = labelText.substr(0, Math.max(index - 3, 0));
80
- if (partialLabel.length > 0) {
81
- displayLabel = partialLabel.concat("...");
92
+ if (fontStyle) {
93
+ var metrics = PIXI.TextMetrics.measureText(this.model.label, fontStyle);
94
+ // Round the text width up just to be sure that it will fit in the state
95
+ var textWidth = Math.ceil(metrics.width * SCALING_FACTOR / this.scaleFactor);
96
+ var textObjX = position.x + textPadding;
97
+ var textObjY = position.y + textPadding;
98
+ var displayLabel = "";
99
+ if (displayWidth > textWidth) {
100
+ textObjX = position.x + (displayWidth - textWidth) / 2;
101
+ displayLabel = labelText;
82
102
  }
103
+ else {
104
+ var textScaler = displayWidth / textWidth;
105
+ var index = Math.min(Math.floor(textScaler * labelText.length), labelText.length - 1);
106
+ var partialLabel = labelText.substr(0, Math.max(index - 1, 0));
107
+ if (partialLabel.length > 0) {
108
+ displayLabel = partialLabel.concat("…");
109
+ }
110
+ }
111
+ if (displayLabel === "") {
112
+ this.removeLabel();
113
+ return;
114
+ }
115
+ if (!this.textLabelObject) {
116
+ this.textLabelObject = new PIXI.BitmapText(displayLabel, { fontName: fontName });
117
+ this.displayObject.addChild(this.textLabelObject);
118
+ }
119
+ else {
120
+ this.textLabelObject.text = displayLabel;
121
+ }
122
+ this.textLabelObject.alpha = (_a = this._options.opacity) !== null && _a !== void 0 ? _a : 1;
123
+ this.textLabelObject.x = textObjX;
124
+ this.textLabelObject.y = textObjY;
125
+ this.textLabelObject.scale.x = 1 / this.scaleFactor;
83
126
  }
84
- if (displayLabel === "") {
85
- this.clearLabel();
86
- return;
87
- }
88
- if (displayLabel === this.model.label) {
89
- textObj.x = textObjX;
90
- textObj.y = textObjY;
91
- this.displayObject.addChild(textObj);
92
- }
93
- else {
94
- var newTextObj = new PIXI.BitmapText(displayLabel, { fontName: fontName });
95
- newTextObj.x = textObjX;
96
- newTextObj.y = textObjY;
97
- this.displayObject.addChild(newTextObj);
127
+ };
128
+ /**
129
+ * Scale only state labels that actually have text displayed.
130
+ *
131
+ * @param scaleFactor
132
+ */
133
+ TimeGraphStateComponent.prototype.scaleLabel = function (scaleFactor) {
134
+ this.scaleFactor = scaleFactor;
135
+ if (this.textLabelObject && this.textLabelObject.scale) {
136
+ this.renderLabel();
98
137
  }
99
138
  };
100
- TimeGraphStateComponent.prototype.clearLabel = function () {
101
- this.displayObject.children.forEach(function (element) { return element.destroy(); });
102
- this.displayObject.removeChildren();
139
+ TimeGraphStateComponent.prototype.removeLabel = function () {
140
+ if (this.textLabelObject) {
141
+ this.textLabelObject.destroy();
142
+ this.textLabelObject = undefined;
143
+ }
103
144
  };
104
145
  Object.defineProperty(TimeGraphStateComponent.prototype, "height", {
105
146
  get: function () {
@@ -167,7 +208,6 @@ var TimeGraphStateComponent = /** @class */ (function (_super) {
167
208
  this.renderLabel();
168
209
  };
169
210
  TimeGraphStateComponent.prototype.clear = function () {
170
- this.clearLabel();
171
211
  _super.prototype.clear.call(this);
172
212
  };
173
213
  TimeGraphStateComponent.fontController = new time_graph_font_controller_1.FontController();
@@ -1 +1 @@
1
- {"version":3,"file":"time-graph-state.js","sourceRoot":"","sources":["../../src/components/time-graph-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"time-graph-state.js","sourceRoot":"","sources":["../../src/components/time-graph-state.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare class TimeGraphAxis extends TimeGraphLayer {
7
7
  protected style?: {
8
8
  color?: number | undefined;
9
9
  lineColor?: number | undefined;
10
+ verticalAlign?: string | undefined;
10
11
  } | undefined;
11
12
  protected scaleComponent: TimeGraphAxisScale;
12
13
  protected controlKeyDown: boolean;
@@ -17,6 +18,7 @@ export declare class TimeGraphAxis extends TimeGraphLayer {
17
18
  constructor(id: string, style?: {
18
19
  color?: number | undefined;
19
20
  lineColor?: number | undefined;
21
+ verticalAlign?: string | undefined;
20
22
  } | undefined);
21
23
  protected getOptions(): TimeGraphAxisStyle;
22
24
  protected afterAddToContainer(): void;
@@ -30,9 +30,11 @@ var TimeGraphAxis = /** @class */ (function (_super) {
30
30
  TimeGraphAxis.prototype.getOptions = function () {
31
31
  var color;
32
32
  var lineColor;
33
+ var verticalAlign = 'top'; // Default position is top, same as CSS verticalAlign is 'baseline'
33
34
  if (this.style) {
34
35
  color = this.style.color;
35
36
  lineColor = this.style.lineColor;
37
+ verticalAlign = this.style.verticalAlign;
36
38
  }
37
39
  return {
38
40
  height: this.stateController.canvasDisplayHeight,
@@ -42,7 +44,8 @@ var TimeGraphAxis = /** @class */ (function (_super) {
42
44
  y: 0
43
45
  },
44
46
  color: color,
45
- lineColor: lineColor
47
+ lineColor: lineColor,
48
+ verticalAlign: verticalAlign
46
49
  };
47
50
  };
48
51
  TimeGraphAxis.prototype.afterAddToContainer = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"time-graph-axis.js","sourceRoot":"","sources":["../../src/layer/time-graph-axis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"time-graph-axis.js","sourceRoot":"","sources":["../../src/layer/time-graph-axis.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  import { TimeGraphArrowComponent, TimeGraphArrowCoordinates } from "../components/time-graph-arrow";
2
2
  import { TimelineChart } from "../time-graph-model";
3
+ import { TimeGraphRowController } from "../time-graph-row-controller";
3
4
  import { TimeGraphChartLayer } from "./time-graph-chart-layer";
4
5
  export declare class TimeGraphChartArrows extends TimeGraphChartLayer {
6
+ protected rowController: TimeGraphRowController;
5
7
  protected arrows: Map<TimelineChart.TimeGraphArrow, TimeGraphArrowComponent>;
8
+ protected rowIds: number[];
6
9
  private _updateHandler;
10
+ constructor(id: string, rowController: TimeGraphRowController);
7
11
  protected afterAddToContainer(): void;
8
- protected getCoordinates(arrow: TimelineChart.TimeGraphArrow): TimeGraphArrowCoordinates;
12
+ protected getCoordinates(arrow: TimelineChart.TimeGraphArrow): TimeGraphArrowCoordinates | undefined;
9
13
  protected addArrow(arrow: TimelineChart.TimeGraphArrow): void;
10
- addArrows(arrows: TimelineChart.TimeGraphArrow[]): void;
14
+ addArrows(arrows: TimelineChart.TimeGraphArrow[], rowIds: number[]): void;
11
15
  update(): void;
12
16
  protected updateArrow(arrow: TimelineChart.TimeGraphArrow): void;
13
17
  destroy(): void;
@@ -31,37 +31,50 @@ var time_graph_arrow_1 = require("../components/time-graph-arrow");
31
31
  var time_graph_chart_layer_1 = require("./time-graph-chart-layer");
32
32
  var TimeGraphChartArrows = /** @class */ (function (_super) {
33
33
  __extends(TimeGraphChartArrows, _super);
34
- function TimeGraphChartArrows() {
35
- return _super !== null && _super.apply(this, arguments) || this;
34
+ function TimeGraphChartArrows(id, rowController) {
35
+ var _this = _super.call(this, id, rowController) || this;
36
+ _this.rowController = rowController;
37
+ _this.rowIds = [];
38
+ _this.isScalable = false;
39
+ return _this;
36
40
  }
37
41
  TimeGraphChartArrows.prototype.afterAddToContainer = function () {
38
42
  var _this = this;
39
43
  this._updateHandler = function () { return _this.update(); };
40
- this.unitController.onViewRangeChanged(this._updateHandler);
44
+ this.stateController.onWorldRender(this._updateHandler);
45
+ this.stateController.onScaleFactorChange(this._updateHandler);
41
46
  this.rowController.onVerticalOffsetChangedHandler(function (verticalOffset) {
42
47
  _this.layer.position.y = -verticalOffset;
43
48
  });
44
49
  };
45
50
  TimeGraphChartArrows.prototype.getCoordinates = function (arrow) {
46
- var relativeStartPosition = arrow.range.start - this.unitController.viewRange.start;
51
+ var sourceIndex = this.rowIds.indexOf(arrow.sourceId);
52
+ var destinationIndex = this.rowIds.indexOf(arrow.destinationId);
53
+ if (sourceIndex === -1 || destinationIndex === -1) {
54
+ return undefined;
55
+ }
47
56
  var start = {
48
- x: this.getPixel(relativeStartPosition),
49
- y: (arrow.sourceId * this.rowController.rowHeight) + (this.rowController.rowHeight / 2)
57
+ x: this.getWorldPixel(arrow.range.start),
58
+ y: (sourceIndex * this.rowController.rowHeight) + (this.rowController.rowHeight / 2)
50
59
  };
51
60
  var end = {
52
- x: this.getPixel(relativeStartPosition + arrow.range.end - arrow.range.start),
53
- y: (arrow.destinationId * this.rowController.rowHeight) + (this.rowController.rowHeight / 2)
61
+ x: this.getWorldPixel(arrow.range.end),
62
+ y: (destinationIndex * this.rowController.rowHeight) + (this.rowController.rowHeight / 2)
54
63
  };
55
64
  return { start: start, end: end };
56
65
  };
57
66
  TimeGraphChartArrows.prototype.addArrow = function (arrow) {
58
67
  var coords = this.getCoordinates(arrow);
68
+ if (!coords) {
69
+ return;
70
+ }
59
71
  var arrowComponent = new time_graph_arrow_1.TimeGraphArrowComponent('arrow', arrow, coords);
60
72
  this.arrows.set(arrow, arrowComponent);
61
73
  this.addChild(arrowComponent);
62
74
  };
63
- TimeGraphChartArrows.prototype.addArrows = function (arrows) {
75
+ TimeGraphChartArrows.prototype.addArrows = function (arrows, rowIds) {
64
76
  var _this = this;
77
+ this.rowIds = rowIds;
65
78
  if (!this.stateController) {
66
79
  throw ('Add this TimeGraphChartArrows to a container before adding arrows.');
67
80
  }
@@ -92,15 +105,21 @@ var TimeGraphChartArrows = /** @class */ (function (_super) {
92
105
  }
93
106
  };
94
107
  TimeGraphChartArrows.prototype.updateArrow = function (arrow) {
95
- var _a = this.getCoordinates(arrow), start = _a.start, end = _a.end;
96
108
  var arrowComponent = this.arrows.get(arrow);
97
109
  if (arrowComponent) {
98
- arrowComponent.update({ start: start, end: end });
110
+ var coords = this.getCoordinates(arrow);
111
+ if (!coords) {
112
+ this.removeChild(arrowComponent);
113
+ this.arrows.delete(arrow);
114
+ }
115
+ else {
116
+ arrowComponent.update(coords);
117
+ }
99
118
  }
100
119
  };
101
120
  TimeGraphChartArrows.prototype.destroy = function () {
102
121
  if (this.unitController) {
103
- this.unitController.removeViewRangeChangedHandler(this._updateHandler);
122
+ this.stateController.removeWorldRenderHandler(this._updateHandler);
104
123
  }
105
124
  _super.prototype.destroy.call(this);
106
125
  };
@@ -1 +1 @@
1
- {"version":3,"file":"time-graph-chart-arrows.js","sourceRoot":"","sources":["../../src/layer/time-graph-chart-arrows.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAoG;AAGpG,mEAA+D;AAE/D;IAA0C,wCAAmB;IAA7D;;IAqEA,CAAC;IAhEa,kDAAmB,GAA7B;QAAA,iBAOC;QANG,IAAI,CAAC,cAAc,GAAG,cAAY,OAAA,KAAI,CAAC,MAAM,EAAE,EAAb,CAAa,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE5D,IAAI,CAAC,aAAa,CAAC,8BAA8B,CAAC,UAAA,cAAc;YAC5D,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC;IAES,6CAAc,GAAxB,UAAyB,KAAmC;QACxD,IAAM,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC;QACtF,IAAM,KAAK,GAA6B;YACpC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACvC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;SAC1F,CAAA;QACD,IAAM,GAAG,GAA6B;YAClC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;YAC7E,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;SAC/F,CAAA;QACD,OAAO,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,CAAC;IAC1B,CAAC;IAES,uCAAQ,GAAlB,UAAmB,KAAmC;QAClD,IAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAM,cAAc,GAAG,IAAI,0CAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,wCAAS,GAAT,UAAU,MAAsC;QAAhD,iBAWC;QAVG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,MAAM,CAAC,oEAAoE,CAAC,CAAC;SAChF;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,UAAA,KAAK;YAChB,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,qCAAM,GAAN;;QACI,IAAI,IAAI,CAAC,MAAM,EAAE;;gBACb,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA,gBAAA,4BAAE;oBAAnC,IAAM,KAAK,WAAA;oBACZ,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;iBAC3B;;;;;;;;;SACJ;IACL,CAAC;IAES,0CAAW,GAArB,UAAsB,KAAmC;QAC/C,IAAA,KAAiB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAzC,KAAK,WAAA,EAAE,GAAG,SAA+B,CAAC;QAClD,IAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,cAAc,EAAE;YAChB,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;SACzC;IACL,CAAC;IAED,sCAAO,GAAP;QACI,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC1E;QACD,iBAAM,OAAO,WAAE,CAAC;IACpB,CAAC;IACL,2BAAC;AAAD,CAAC,AArED,CAA0C,4CAAmB,GAqE5D;AArEY,oDAAoB"}
1
+ {"version":3,"file":"time-graph-chart-arrows.js","sourceRoot":"","sources":["../../src/layer/time-graph-chart-arrows.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,9 @@ export declare class TimeGraphChartCursors extends TimeGraphChartLayer {
16
16
  private _stageMouseUpHandler;
17
17
  private _updateHandler;
18
18
  private _mouseDownHandler;
19
- private _keyDownHandler;
20
- private _keyUpHandler;
19
+ private _cursorKeyDownHandler;
20
+ private _cursorKeyUpHandler;
21
+ protected _keyboardShortcutKeyDownHandler: (event: KeyboardEvent) => void;
21
22
  constructor(id: string, chartLayer: TimeGraphChart, rowController: TimeGraphRowController, style?: {
22
23
  color?: number;
23
24
  });
@@ -25,8 +26,6 @@ export declare class TimeGraphChartCursors extends TimeGraphChartLayer {
25
26
  maybeCenterCursor(): void;
26
27
  protected navigateOrSelectLeft(): void;
27
28
  protected navigateOrSelectRight(): void;
28
- protected navigateDown(): void;
29
- protected navigateUp(): void;
30
29
  centerCursor(): void;
31
30
  removeCursors(): void;
32
31
  update(): void;
@@ -16,7 +16,6 @@ var __extends = (this && this.__extends) || (function () {
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TimeGraphChartCursors = void 0;
19
- var keyboardKey = require("keyboard-key");
20
19
  var time_graph_cursor_1 = require("../components/time-graph-cursor");
21
20
  var time_graph_chart_layer_1 = require("./time-graph-chart-layer");
22
21
  var bigint_utils_1 = require("../bigint-utils");
@@ -29,6 +28,7 @@ var TimeGraphChartCursors = /** @class */ (function (_super) {
29
28
  _this.mouseSelecting = false;
30
29
  _this.mouseButtons = 0;
31
30
  _this.color = 0x0000ff;
31
+ _this.isScalable = false;
32
32
  if (style && style.color) {
33
33
  _this.color = style.color;
34
34
  }
@@ -40,7 +40,7 @@ var TimeGraphChartCursors = /** @class */ (function (_super) {
40
40
  this.shiftKeyDown = false;
41
41
  this.stage.interactive = true;
42
42
  this._updateHandler = function () { return _this.update(); };
43
- this._keyDownHandler = function (event) {
43
+ this._cursorKeyDownHandler = function (event) {
44
44
  if (event.key === 'Shift' && _this.mouseButtons === 0 && !event.ctrlKey && !event.altKey) {
45
45
  _this.stage.cursor = 'crosshair';
46
46
  }
@@ -49,28 +49,28 @@ var TimeGraphChartCursors = /** @class */ (function (_super) {
49
49
  _this.stage.cursor = 'default';
50
50
  }
51
51
  _this.shiftKeyDown = event.shiftKey;
52
- // TODO: keyCode is deprecated. We should change these.
53
- if (event.keyCode === keyboardKey.ArrowLeft) {
54
- _this.navigateOrSelectLeft();
55
- }
56
- else if (event.keyCode === keyboardKey.ArrowRight) {
57
- _this.navigateOrSelectRight();
58
- }
59
- else if (event.keyCode === keyboardKey.ArrowUp) {
60
- _this.navigateUp();
61
- }
62
- else if (event.keyCode === keyboardKey.ArrowDown) {
63
- _this.navigateDown();
64
- }
65
52
  };
66
- this._keyUpHandler = function (event) {
53
+ this._cursorKeyUpHandler = function (event) {
67
54
  _this.shiftKeyDown = event.shiftKey;
68
55
  if (_this.stage.cursor === 'crosshair' && !_this.mouseSelecting && event.key === 'Shift') {
69
56
  _this.stage.cursor = 'default';
70
57
  }
71
58
  };
72
- this.onCanvasEvent('keydown', this._keyDownHandler);
73
- this.onCanvasEvent('keyup', this._keyUpHandler);
59
+ this._keyboardShortcutKeyDownHandler = function (event) {
60
+ switch (event.key) {
61
+ case "ArrowLeft":
62
+ _this.navigateOrSelectLeft();
63
+ break;
64
+ case "ArrowRight":
65
+ _this.navigateOrSelectRight();
66
+ break;
67
+ default:
68
+ break;
69
+ }
70
+ };
71
+ this.onCanvasEvent('keydown', this._cursorKeyDownHandler);
72
+ this.onCanvasEvent('keydown', this._keyboardShortcutKeyDownHandler);
73
+ this.onCanvasEvent('keyup', this._cursorKeyUpHandler);
74
74
  this._stageMouseDownHandler = function (event) {
75
75
  _this.mouseButtons = event.data.buttons;
76
76
  // if only left button is pressed with or without Shift key
@@ -149,8 +149,9 @@ var TimeGraphChartCursors = /** @class */ (function (_super) {
149
149
  }
150
150
  };
151
151
  this.onCanvasEvent('mousedown', this._mouseDownHandler);
152
- this.unitController.onViewRangeChanged(this._updateHandler);
152
+ this.stateController.onWorldRender(this._updateHandler);
153
153
  this.unitController.onSelectionRangeChange(this._updateHandler);
154
+ this.stateController.onScaleFactorChange(this._updateHandler);
154
155
  this.update();
155
156
  };
156
157
  TimeGraphChartCursors.prototype.maybeCenterCursor = function () {
@@ -198,40 +199,6 @@ var TimeGraphChartCursors = /** @class */ (function (_super) {
198
199
  this.maybeCenterCursor();
199
200
  }
200
201
  };
201
- TimeGraphChartCursors.prototype.navigateDown = function () {
202
- var _this = this;
203
- var rows = this.chartLayer.getRowModels();
204
- var selectedRow = this.rowController.selectedRow;
205
- var idx = rows.findIndex(function (row) { return row === selectedRow; });
206
- if (idx < rows.length) {
207
- this.chartLayer.selectRow(rows[idx + 1]);
208
- }
209
- selectedRow = this.rowController.selectedRow;
210
- var state = selectedRow.states.find(function (state) {
211
- if (_this.unitController.selectionRange) {
212
- return state.range.start <= _this.unitController.selectionRange.start && state.range.end > _this.unitController.selectionRange.start;
213
- }
214
- return false;
215
- });
216
- state && this.chartLayer.selectState(state);
217
- };
218
- TimeGraphChartCursors.prototype.navigateUp = function () {
219
- var _this = this;
220
- var rows = this.chartLayer.getRowModels();
221
- var selectedRow = this.rowController.selectedRow;
222
- var idx = rows.findIndex(function (row) { return row === selectedRow; });
223
- if (idx > 0) {
224
- this.chartLayer.selectRow(rows[idx - 1]);
225
- }
226
- selectedRow = this.rowController.selectedRow;
227
- var state = selectedRow.states.find(function (state) {
228
- if (_this.unitController.selectionRange) {
229
- return state.range.start <= _this.unitController.selectionRange.start && state.range.end > _this.unitController.selectionRange.start;
230
- }
231
- return false;
232
- });
233
- state && this.chartLayer.selectState(state);
234
- };
235
202
  TimeGraphChartCursors.prototype.centerCursor = function () {
236
203
  if (this.unitController.selectionRange) {
237
204
  var cursorPosition = this.unitController.selectionRange.end;
@@ -257,8 +224,12 @@ var TimeGraphChartCursors = /** @class */ (function (_super) {
257
224
  };
258
225
  TimeGraphChartCursors.prototype.update = function () {
259
226
  if (this.unitController.selectionRange) {
260
- var firstCursorPosition = this.getPixel(this.unitController.selectionRange.start - this.unitController.viewRange.start);
261
- var secondCursorPosition = this.getPixel(this.unitController.selectionRange.end - this.unitController.viewRange.start);
227
+ /**
228
+ * When user selects a range on the timeline chart, the selection position must correspond to the cursor of the user,
229
+ * and not the timeline chart itself since scaling might be applied.
230
+ */
231
+ var firstCursorPosition = this.getWorldPixel(this.unitController.selectionRange.start);
232
+ var secondCursorPosition = this.getWorldPixel(this.unitController.selectionRange.end);
262
233
  var firstCursorOptions = {
263
234
  color: this.color,
264
235
  height: this.stateController.canvasDisplayHeight,
@@ -304,17 +275,20 @@ var TimeGraphChartCursors = /** @class */ (function (_super) {
304
275
  };
305
276
  TimeGraphChartCursors.prototype.destroy = function () {
306
277
  if (this.unitController) {
307
- this.unitController.removeViewRangeChangedHandler(this._updateHandler);
278
+ this.stateController.removeWorldRenderHandler(this._updateHandler);
308
279
  this.unitController.removeSelectionRangeChangedHandler(this._updateHandler);
309
280
  }
310
281
  if (this._mouseDownHandler) {
311
282
  this.removeOnCanvasEvent('mousedown', this._mouseDownHandler);
312
283
  }
313
- if (this._keyDownHandler) {
314
- this.removeOnCanvasEvent('keydown', this._keyDownHandler);
284
+ if (this._cursorKeyDownHandler) {
285
+ this.removeOnCanvasEvent('keydown', this._cursorKeyDownHandler);
286
+ }
287
+ if (this._keyboardShortcutKeyDownHandler) {
288
+ this.removeOnCanvasEvent('keydown', this._keyboardShortcutKeyDownHandler);
315
289
  }
316
- if (this._keyUpHandler) {
317
- this.removeOnCanvasEvent('mousedown', this._keyUpHandler);
290
+ if (this._cursorKeyUpHandler) {
291
+ this.removeOnCanvasEvent('mousedown', this._cursorKeyUpHandler);
318
292
  }
319
293
  if (this.stage) {
320
294
  this.stage.off('mousedown', this._stageMouseDownHandler);