timeline-chart 0.4.0 → 0.4.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.
@@ -391,10 +391,13 @@ var TimeGraphChart = /** @class */ (function (_super) {
391
391
  }
392
392
  };
393
393
  TimeGraphChart.prototype.updateChart = function (filterExpressionsMap) {
394
- var update = true;
394
+ var _a;
395
+ if (!(0, lodash_1.isEqual)(filterExpressionsMap === null || filterExpressionsMap === void 0 ? void 0 : filterExpressionsMap[EXCLUDED], (_a = this._filterExpressionsMap) === null || _a === void 0 ? void 0 : _a[EXCLUDED])) {
396
+ this._excludedRows.clear();
397
+ }
395
398
  this._filterExpressionsMap = filterExpressionsMap;
396
399
  if (this.unitController && this.stateController) {
397
- this.maybeFetchNewData(update);
400
+ this.maybeFetchNewData(true);
398
401
  }
399
402
  };
400
403
  TimeGraphChart.prototype.update = function () {
@@ -472,7 +475,7 @@ var TimeGraphChart = /** @class */ (function (_super) {
472
475
  };
473
476
  TimeGraphChart.prototype.maybeFetchNewData = function (update, fine, fullSearch) {
474
477
  return __awaiter(this, void 0, void 0, function () {
475
- var visibleRowIds, viewRange, worldRange, resolutionFactor, resolution, rowIds, additionalParams, i, request, error_1, pendingFetch, i, rowComponent, request, error_2, pendingUpdate;
478
+ var visibleRowIds, movedRows, viewRange, worldRange, resolutionFactor, resolution, rowIds, additionalParams, i, request, error_1, pendingFetch, i, rowComponent, request, error_2, pendingUpdate, request;
476
479
  var _this = this;
477
480
  var _a, _b, _c, _d, _e, _f;
478
481
  return __generator(this, function (_g) {
@@ -491,44 +494,40 @@ var TimeGraphChart = /** @class */ (function (_super) {
491
494
  fine = true;
492
495
  }
493
496
  this._allRowIds = this.providers.rowProvider().rowIds;
494
- if (update) {
495
- this._excludedRows.clear();
496
- this.rowIds = this._allRowIds.slice();
497
- }
498
- else {
499
- this.rowIds = this._allRowIds.filter(function (rowId) { return !_this._excludedRows.has(rowId); });
500
- }
497
+ this.rowIds = this._allRowIds.filter(function (rowId) { return !_this._excludedRows.has(rowId); });
501
498
  visibleRowIds = this.getVisibleRowIds(VISIBLE_ROW_BUFFER);
502
- if (update) {
503
- // update position of existing rows and remove deleted rows
504
- this.rowComponents.forEach(function (rowComponent, rowId) {
505
- var index = _this.rowIds.indexOf(rowId);
506
- if (index == -1) {
499
+ movedRows = [];
500
+ this.rowComponents.forEach(function (rowComponent, rowId) {
501
+ var index = _this.rowIds.indexOf(rowId);
502
+ if (index == -1) {
503
+ _this.rowComponents.delete(rowId);
504
+ _this.removeChild(rowComponent);
505
+ }
506
+ else {
507
+ var y = _this.rowController.rowHeight * index;
508
+ if (!visibleRowIds.includes(rowId)) {
507
509
  _this.rowComponents.delete(rowId);
508
510
  _this.removeChild(rowComponent);
509
511
  }
510
- else {
511
- rowComponent.position.y = _this.rowController.rowHeight * index;
512
- if (!visibleRowIds.includes(rowId)) {
513
- _this.rowComponents.delete(rowId);
514
- _this.removeChild(rowComponent);
515
- }
516
- }
517
- });
518
- // update selected row
519
- if (this.rowController.selectedRow) {
520
- this.rowController.selectedRowIndex = this.rowIds.indexOf(this.rowController.selectedRow.id);
521
- if (this.rowController.selectedRowIndex === -1) {
522
- this.rowController.selectedRow = undefined;
512
+ else if (rowComponent.position.y !== y) {
513
+ movedRows.push(rowComponent);
523
514
  }
515
+ rowComponent.position.y = y;
516
+ }
517
+ });
518
+ // update selected row
519
+ if (this.rowController.selectedRow) {
520
+ this.rowController.selectedRowIndex = this.rowIds.indexOf(this.rowController.selectedRow.id);
521
+ if (this.rowController.selectedRowIndex === -1) {
522
+ this.rowController.selectedRow = undefined;
524
523
  }
525
- // create placeholder rows
526
- this.rowIds.forEach(function (rowId) {
527
- if (!_this.rowComponents.get(rowId)) {
528
- _this.addRow(rowId);
529
- }
530
- });
531
524
  }
525
+ // create placeholder rows
526
+ this.rowIds.forEach(function (rowId) {
527
+ if (!_this.rowComponents.get(rowId)) {
528
+ _this.addRow(rowId);
529
+ }
530
+ });
532
531
  viewRange = this.unitController.viewRange;
533
532
  worldRange = this.stateController.computeWorldRangeFromViewRange();
534
533
  resolutionFactor = fine ? FINE_RESOLUTION_FACTOR : this._coarseResolutionFactor;
@@ -543,6 +542,14 @@ var TimeGraphChart = /** @class */ (function (_super) {
543
542
  !(0, lodash_1.isEqual)(worldRange, rowComponent.providedModel.range) ||
544
543
  resolution < rowComponent.providedModel.resolution || !(0, lodash_1.isEqual)(rowComponent.providedModel.filterExpressionsMap, _this._filterExpressionsMap));
545
544
  });
545
+ // rebuild rows that have changed position but that won't be fetched
546
+ movedRows.forEach(function (rowComponent) {
547
+ var _a, _b;
548
+ if (rowComponent.model && !rowIds.includes(rowComponent.model.id) && rowComponent.providedModel) {
549
+ var rowData = { rows: [rowComponent.model], range: (_a = rowComponent.providedModel) === null || _a === void 0 ? void 0 : _a.range, resolution: (_b = rowComponent.providedModel) === null || _b === void 0 ? void 0 : _b.resolution };
550
+ _this.addOrUpdateRows(rowData);
551
+ }
552
+ });
546
553
  if (fullSearch && ((_e = this._filterExpressionsMap) === null || _e === void 0 ? void 0 : _e[EXCLUDED])) {
547
554
  this._excludedRows.forEach(function (range, rowId) {
548
555
  // add excluded rows to request to determine if they should reappear
@@ -619,14 +626,21 @@ var TimeGraphChart = /** @class */ (function (_super) {
619
626
  this.maybeFetchNewData(pendingUpdate.update, pendingUpdate.fine, pendingUpdate.fullSearch);
620
627
  }
621
628
  return [7 /*endfinally*/];
622
- case 12: return [3 /*break*/, 14];
629
+ case 12: return [3 /*break*/, 16];
623
630
  case 13:
631
+ if (!(movedRows.length > 0)) return [3 /*break*/, 15];
632
+ request = { worldRange: worldRange, resolution: resolution, rowIds: [], additionalParams: {}, fullSearch: fullSearch };
633
+ return [4 /*yield*/, this.fetchRows(request, true, fine)];
634
+ case 14:
635
+ _g.sent();
636
+ _g.label = 15;
637
+ case 15:
624
638
  if (!fine && this._coarseResolutionFactor !== FINE_RESOLUTION_FACTOR) {
625
639
  // no row to update for coarse resolution, try fine resolution
626
640
  this.maybeFetchNewData(update, true);
627
641
  }
628
- _g.label = 14;
629
- case 14: return [2 /*return*/];
642
+ _g.label = 16;
643
+ case 16: return [2 /*return*/];
630
644
  }
631
645
  });
632
646
  });
@@ -812,52 +826,27 @@ var TimeGraphChart = /** @class */ (function (_super) {
812
826
  rowComponent.providedModel = providedModel;
813
827
  };
814
828
  TimeGraphChart.prototype.updateGap = function (state, rowComponent, gapStyle, x, lastX, lastTime, lastBlank) {
815
- var _a, _b, _c, _d, _e;
829
+ var _a, _b;
816
830
  /* add gap if there is visible space between states or if there is a time gap between two blank states */
817
831
  var isFilteredOut = ((_a = state.data) === null || _a === void 0 ? void 0 : _a.tags) >= EXCLUDED;
818
832
  if (lastX &&
819
833
  lastTime &&
820
834
  (x > lastX || (lastBlank && !((_b = state.data) === null || _b === void 0 ? void 0 : _b.style) && state.range.start > lastTime)) &&
821
835
  !isFilteredOut) {
822
- var gap = (_c = state.data) === null || _c === void 0 ? void 0 : _c.gap;
823
- if (gap) {
824
- var width = Math.max(1, x - lastX);
825
- var opts = {
826
- height: gap.height,
827
- position: {
828
- x: lastX,
829
- y: gap.position.y
830
- },
831
- width: width,
832
- displayWidth: width
833
- };
834
- gap.update(opts);
835
- }
836
- else {
837
- var stateModel = {
838
- id: rowComponent.id + '-gap',
839
- range: {
840
- start: lastTime,
841
- end: state.range.start
842
- },
843
- data: {
844
- style: gapStyle
845
- }
846
- };
847
- var gap_1 = this.createNewState(stateModel, rowComponent);
848
- if (gap_1) {
849
- rowComponent.addChild(gap_1);
850
- if (state.data) {
851
- state.data['gap'] = gap_1;
852
- }
853
- this.addElementInteractions(gap_1);
836
+ var stateModel = {
837
+ id: rowComponent.id + '-gap',
838
+ range: {
839
+ start: lastTime,
840
+ end: state.range.start
841
+ },
842
+ data: {
843
+ style: gapStyle
854
844
  }
855
- }
856
- }
857
- else {
858
- if (state.data && ((_d = state.data) === null || _d === void 0 ? void 0 : _d.gap)) {
859
- rowComponent.removeChild((_e = state.data) === null || _e === void 0 ? void 0 : _e.gap);
860
- state.data.gap = undefined;
845
+ };
846
+ var gap = this.createNewState(stateModel, rowComponent);
847
+ if (gap) {
848
+ rowComponent.addChild(gap);
849
+ this.addElementInteractions(gap);
861
850
  }
862
851
  }
863
852
  };
@@ -1 +1 @@
1
- {"version":3,"file":"time-graph-chart.js","sourceRoot":"","sources":["../../src/layer/time-graph-chart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"time-graph-chart.js","sourceRoot":"","sources":["../../src/layer/time-graph-chart.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "timeline-chart",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "A time graph / gantt chart library for large data (e.g. traces)",
5
5
  "keywords": [
6
6
  "gantt",
@@ -42,5 +42,5 @@
42
42
  "bugs": {
43
43
  "url": "https://github.com/eclipse-cdt-cloud/timeline-chart/issues"
44
44
  },
45
- "gitHead": "2c0022dbbac24b8ecb65f7152ba05bf8be6b7931"
45
+ "gitHead": "9b3fb2b40f7c5e304c057f6abe9c3054aff018b8"
46
46
  }
@@ -1,6 +1,6 @@
1
1
  import * as PIXI from "pixi.js-legacy";
2
2
  import { TimeGraphAnnotationComponent, TimeGraphAnnotationStyle } from "../components/time-graph-annotation";
3
- import { TimeGraphComponent, TimeGraphStyledRect } from "../components/time-graph-component";
3
+ import { TimeGraphComponent } from "../components/time-graph-component";
4
4
  import { TimeGraphRectangle } from "../components/time-graph-rectangle";
5
5
  import { TimeGraphRow, TimeGraphRowStyle } from "../components/time-graph-row";
6
6
  import { TimeGraphStateComponent, TimeGraphStateStyle } from "../components/time-graph-state";
@@ -388,10 +388,12 @@ export class TimeGraphChart extends TimeGraphChartLayer {
388
388
  }
389
389
 
390
390
  updateChart(filterExpressionsMap?: {[key: number]: string[]}) {
391
- const update = true;
391
+ if (!isEqual(filterExpressionsMap?.[EXCLUDED], this._filterExpressionsMap?.[EXCLUDED])) {
392
+ this._excludedRows.clear();
393
+ }
392
394
  this._filterExpressionsMap = filterExpressionsMap;
393
395
  if (this.unitController && this.stateController) {
394
- this.maybeFetchNewData(update);
396
+ this.maybeFetchNewData(true);
395
397
  }
396
398
  }
397
399
 
@@ -485,42 +487,39 @@ export class TimeGraphChart extends TimeGraphChartLayer {
485
487
  fine = true;
486
488
  }
487
489
  this._allRowIds = this.providers.rowProvider().rowIds;
488
- if (update) {
489
- this._excludedRows.clear();
490
- this.rowIds = this._allRowIds.slice();
491
- } else {
492
- this.rowIds = this._allRowIds.filter(rowId => !this._excludedRows.has(rowId));
493
- }
490
+ this.rowIds = this._allRowIds.filter(rowId => !this._excludedRows.has(rowId));
494
491
  const visibleRowIds = this.getVisibleRowIds(VISIBLE_ROW_BUFFER);
495
- if (update) {
496
- // update position of existing rows and remove deleted rows
497
- this.rowComponents.forEach((rowComponent, rowId) => {
498
- const index = this.rowIds.indexOf(rowId);
499
- if (index == -1) {
492
+ // update position of existing rows and remove deleted rows
493
+ const movedRows: TimeGraphRow[] = [];
494
+ this.rowComponents.forEach((rowComponent, rowId) => {
495
+ const index = this.rowIds.indexOf(rowId);
496
+ if (index == -1) {
497
+ this.rowComponents.delete(rowId);
498
+ this.removeChild(rowComponent);
499
+ } else {
500
+ const y = this.rowController.rowHeight * index;
501
+ if (!visibleRowIds.includes(rowId)) {
500
502
  this.rowComponents.delete(rowId);
501
503
  this.removeChild(rowComponent);
502
- } else {
503
- rowComponent.position.y = this.rowController.rowHeight * index;
504
- if (!visibleRowIds.includes(rowId)) {
505
- this.rowComponents.delete(rowId);
506
- this.removeChild(rowComponent);
507
- }
508
- }
509
- });
510
- // update selected row
511
- if (this.rowController.selectedRow) {
512
- this.rowController.selectedRowIndex = this.rowIds.indexOf(this.rowController.selectedRow.id);
513
- if (this.rowController.selectedRowIndex === -1) {
514
- this.rowController.selectedRow = undefined;
504
+ } else if (rowComponent.position.y !== y) {
505
+ movedRows.push(rowComponent);
515
506
  }
507
+ rowComponent.position.y = y;
508
+ }
509
+ });
510
+ // update selected row
511
+ if (this.rowController.selectedRow) {
512
+ this.rowController.selectedRowIndex = this.rowIds.indexOf(this.rowController.selectedRow.id);
513
+ if (this.rowController.selectedRowIndex === -1) {
514
+ this.rowController.selectedRow = undefined;
516
515
  }
517
- // create placeholder rows
518
- this.rowIds.forEach((rowId) => {
519
- if (!this.rowComponents.get(rowId)) {
520
- this.addRow(rowId);
521
- }
522
- });
523
516
  }
517
+ // create placeholder rows
518
+ this.rowIds.forEach((rowId) => {
519
+ if (!this.rowComponents.get(rowId)) {
520
+ this.addRow(rowId);
521
+ }
522
+ });
524
523
  const { viewRange } = this.unitController;
525
524
  const worldRange = this.stateController.computeWorldRangeFromViewRange();
526
525
  const resolutionFactor = fine ? FINE_RESOLUTION_FACTOR : this._coarseResolutionFactor;
@@ -539,6 +538,13 @@ export class TimeGraphChart extends TimeGraphChartLayer {
539
538
  resolution < rowComponent.providedModel.resolution || !isEqual(rowComponent.providedModel.filterExpressionsMap, this._filterExpressionsMap)
540
539
  );
541
540
  });
541
+ // rebuild rows that have changed position but that won't be fetched
542
+ movedRows.forEach(rowComponent => {
543
+ if (rowComponent.model && !rowIds.includes(rowComponent.model.id) && rowComponent.providedModel) {
544
+ const rowData = { rows: [rowComponent.model], range: rowComponent.providedModel?.range, resolution: rowComponent.providedModel?.resolution };
545
+ this.addOrUpdateRows(rowData);
546
+ }
547
+ });
542
548
  if (fullSearch && this._filterExpressionsMap?.[EXCLUDED]) {
543
549
  this._excludedRows.forEach((range, rowId) => {
544
550
  // add excluded rows to request to determine if they should reappear
@@ -600,9 +606,16 @@ export class TimeGraphChart extends TimeGraphChartLayer {
600
606
  }
601
607
  }
602
608
  }
603
- } else if (!fine && this._coarseResolutionFactor !== FINE_RESOLUTION_FACTOR) {
604
- // no row to update for coarse resolution, try fine resolution
605
- this.maybeFetchNewData(update, true);
609
+ } else {
610
+ if (movedRows.length > 0) {
611
+ // no rows to update but may need to fetch arrows
612
+ const request = { worldRange, resolution, rowIds: [], additionalParams: {}, fullSearch };
613
+ await this.fetchRows(request, true, fine);
614
+ }
615
+ if (!fine && this._coarseResolutionFactor !== FINE_RESOLUTION_FACTOR) {
616
+ // no row to update for coarse resolution, try fine resolution
617
+ this.maybeFetchNewData(update, true);
618
+ }
606
619
  }
607
620
  }
608
621
 
@@ -787,43 +800,20 @@ export class TimeGraphChart extends TimeGraphChartLayer {
787
800
  (x > lastX || (lastBlank && !state.data?.style && state.range.start > lastTime)) &&
788
801
  !isFilteredOut
789
802
  ) {
790
- const gap = state.data?.gap;
791
- if (gap) {
792
- const width = Math.max(1, x - lastX);
793
- const opts: TimeGraphStyledRect = {
794
- height: gap.height,
795
- position: {
796
- x: lastX,
797
- y: gap.position.y
798
- },
799
- width: width,
800
- displayWidth: width
801
- }
802
- gap.update(opts);
803
- } else {
804
- const stateModel = {
805
- id: rowComponent.id + '-gap',
806
- range: {
807
- start: lastTime,
808
- end: state.range.start
809
- },
810
- data: {
811
- style: gapStyle
812
- }
813
- };
814
- const gap = this.createNewState(stateModel, rowComponent);
815
- if (gap) {
816
- rowComponent.addChild(gap);
817
- if (state.data) {
818
- state.data['gap'] = gap;
819
- }
820
- this.addElementInteractions(gap);
803
+ const stateModel = {
804
+ id: rowComponent.id + '-gap',
805
+ range: {
806
+ start: lastTime,
807
+ end: state.range.start
808
+ },
809
+ data: {
810
+ style: gapStyle
821
811
  }
822
- }
823
- } else {
824
- if (state.data && state.data?.gap) {
825
- rowComponent.removeChild(state.data?.gap);
826
- state.data.gap = undefined;
812
+ };
813
+ const gap = this.createNewState(stateModel, rowComponent);
814
+ if (gap) {
815
+ rowComponent.addChild(gap);
816
+ this.addElementInteractions(gap);
827
817
  }
828
818
  }
829
819
  }