updateDataPoints method

  1. @override
void updateDataPoints(
  1. List<int>? removedIndexes,
  2. List<int>? addedIndexes,
  3. List<int>? replacedIndexes, [
  4. List<ChartValueMapper<T, num>>? yPaths,
  5. List<List<num>>? chaoticYLists,
  6. List<List<num>>? yLists,
  7. List<ChartValueMapper<T, Object>>? fPaths,
  8. List<List<Object?>>? fLists,
])

Implementation

@override
void updateDataPoints(
  List<int>? removedIndexes,
  List<int>? addedIndexes,
  List<int>? replacedIndexes, [
  List<ChartValueMapper<T, num>>? yPaths,
  List<List<num>>? chaoticYLists,
  List<List<num>>? yLists,
  List<ChartValueMapper<T, Object>>? fPaths,
  List<List<Object?>>? fLists,
]) {
  if (dataSource == null ||
      dataSource!.isEmpty ||
      xValueMapper == null ||
      yValueMapper == null) {
    return;
  }

  if (fPaths == null) {
    fPaths = <ChartValueMapper<T, Object>>[];
    fLists = <List<Object?>>[];
  }
  _addPointColorMapper(fPaths, fLists);
  _addSortValueMapper(fPaths, fLists);

  if (removedIndexes != null) {
    _removeDataPoints(
        removedIndexes, yPaths, chaoticYLists, yLists, fPaths, fLists);
  }

  if (addedIndexes != null) {
    _addDataPoints(
        addedIndexes, yPaths, chaoticYLists, yLists, fPaths, fLists);
  }

  if (replacedIndexes != null) {
    _replaceDataPoints(
        replacedIndexes, yPaths, chaoticYLists, yLists, fPaths, fLists);
  }

  _applyEmptyPointModeIfNeeded(chaoticYValues);
  _doSortingIfNeeded(chaoticYValues, yLists);
  final DoubleRange xRange = _findMinMaxXRange(xValues);
  final DoubleRange yRange = _findMinMaxYRange(chaoticYValues);
  _updateAxisRange(
      xRange.minimum, xRange.maximum, yRange.minimum, yRange.maximum);
  computeNonEmptyYValues();
  _populateTrendlineDataSource();

  canUpdateOrCreateSegments = true;
  markNeedsLayout();
}