Skip to content

Commit

Permalink
Better names, revert mode->active change
Browse files Browse the repository at this point in the history
  • Loading branch information
kurkle committed Nov 6, 2020
1 parent 690d297 commit a6f8a93
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 36 deletions.
5 changes: 2 additions & 3 deletions src/controllers/controller.bar.js
Original file line number Diff line number Diff line change
Expand Up @@ -255,12 +255,11 @@ export default class BarController extends DatasetController {
updateElements(bars, start, count, mode) {
const me = this;
const reset = mode === 'reset';
const active = mode === 'active';
const vscale = me._cachedMeta.vScale;
const base = vscale.getBasePixel();
const horizontal = vscale.isHorizontal();
const ruler = me._getRuler();
const firstOpts = me.resolveDataElementOptions(start, active);
const firstOpts = me.resolveDataElementOptions(start, mode);
const sharedOptions = me.getSharedOptions(firstOpts);
const includeOptions = me.includeOptions(mode, sharedOptions);

Expand All @@ -280,7 +279,7 @@ export default class BarController extends DatasetController {
};

if (includeOptions) {
properties.options = sharedOptions || me.resolveDataElementOptions(i, active);
properties.options = sharedOptions || me.resolveDataElementOptions(i, mode);
}
me.updateElement(bars[i], i, properties, mode);
}
Expand Down
14 changes: 7 additions & 7 deletions src/controllers/controller.bubble.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,8 @@ export default class BubbleController extends DatasetController {
updateElements(points, start, count, mode) {
const me = this;
const reset = mode === 'reset';
const active = mode === 'active';
const {xScale, yScale} = me._cachedMeta;
const firstOpts = me.resolveDataElementOptions(start, active);
const firstOpts = me.resolveDataElementOptions(start, mode);
const sharedOptions = me.getSharedOptions(firstOpts);
const includeOptions = me.includeOptions(mode, sharedOptions);

Expand All @@ -89,7 +88,7 @@ export default class BubbleController extends DatasetController {
};

if (includeOptions) {
properties.options = me.resolveDataElementOptions(i, active);
properties.options = me.resolveDataElementOptions(i, mode);

if (reset) {
properties.options.radius = 0;
Expand All @@ -104,14 +103,15 @@ export default class BubbleController extends DatasetController {

/**
* @param {number} index
* @param {boolean} [active]
* @param {string} [mode]
* @param {string} [prefix]
* @protected
*/
resolveDataElementOptions(index, active, prefix) {
resolveDataElementOptions(index, mode, prefix) {
const me = this;
const active = mode === 'active';
const parsed = me.getParsed(index);
let values = super.resolveDataElementOptions(index, active, prefix);
let values = super.resolveDataElementOptions(index, mode, prefix);

// In case values were cached (and thus frozen), we need to clone the values
if (values.$shared) {
Expand All @@ -123,7 +123,7 @@ export default class BubbleController extends DatasetController {
if (radius !== undefined) {
values.radius = (active ? values.radius : 0) + radius;
} else if (active) {
const normal = super.resolveDataElementOptions(index, false, prefix);
const normal = super.resolveDataElementOptions(index, '', prefix);
values.radius += normal.radius;
}

Expand Down
5 changes: 2 additions & 3 deletions src/controllers/controller.doughnut.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,6 @@ export default class DoughnutController extends DatasetController {
updateElements(arcs, start, count, mode) {
const me = this;
const reset = mode === 'reset';
const active = mode === 'active';
const chart = me.chart;
const chartArea = chart.chartArea;
const opts = chart.options;
Expand All @@ -175,7 +174,7 @@ export default class DoughnutController extends DatasetController {
const animateScale = reset && animationOpts.animateScale;
const innerRadius = animateScale ? 0 : me.innerRadius;
const outerRadius = animateScale ? 0 : me.outerRadius;
const firstOpts = me.resolveDataElementOptions(start, active);
const firstOpts = me.resolveDataElementOptions(start, mode);
const sharedOptions = me.getSharedOptions(firstOpts);
const includeOptions = me.includeOptions(mode, sharedOptions);
let startAngle = me._getRotation();
Expand All @@ -198,7 +197,7 @@ export default class DoughnutController extends DatasetController {
innerRadius
};
if (includeOptions) {
properties.options = sharedOptions || me.resolveDataElementOptions(i, active);
properties.options = sharedOptions || me.resolveDataElementOptions(i, mode);
}
startAngle += circumference;

Expand Down
5 changes: 2 additions & 3 deletions src/controllers/controller.line.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,8 @@ export default class LineController extends DatasetController {
updateElements(points, start, count, mode) {
const me = this;
const reset = mode === 'reset';
const active = mode === 'active';
const {xScale, yScale, _stacked} = me._cachedMeta;
const firstOpts = me.resolveDataElementOptions(start, active);
const firstOpts = me.resolveDataElementOptions(start, mode);
const sharedOptions = me.getSharedOptions(firstOpts);
const includeOptions = me.includeOptions(mode, sharedOptions);
const spanGaps = me.options.spanGaps;
Expand All @@ -65,7 +64,7 @@ export default class LineController extends DatasetController {
};

if (includeOptions) {
properties.options = sharedOptions || me.resolveDataElementOptions(i, active);
properties.options = sharedOptions || me.resolveDataElementOptions(i, mode);
}

me.updateElement(point, i, properties, mode);
Expand Down
5 changes: 2 additions & 3 deletions src/controllers/controller.polarArea.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ export default class PolarAreaController extends DatasetController {

updateElements(arcs, start, count, mode) {
const me = this;
const active = mode === 'active';
const reset = mode === 'reset';
const chart = me.chart;
const dataset = me.getDataset();
Expand All @@ -59,10 +58,10 @@ export default class PolarAreaController extends DatasetController {
const defaultAngle = 360 / me.countVisibleElements();

for (i = 0; i < start; ++i) {
angle += toRadians(me.resolveDataElementOptions(i, active).angle || defaultAngle);
angle += toRadians(me.resolveDataElementOptions(i, mode).angle || defaultAngle);
}
for (i = start; i < start + count; i++) {
const options = me.resolveDataElementOptions(i, active);
const options = me.resolveDataElementOptions(i, mode);
const arc = arcs[i];
let startAngle = angle;
let endAngle = angle + toRadians(options.angle || defaultAngle);
Expand Down
3 changes: 1 addition & 2 deletions src/controllers/controller.radar.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,10 @@ export default class RadarController extends DatasetController {
const dataset = me.getDataset();
const scale = me._cachedMeta.rScale;
const reset = mode === 'reset';
const active = mode === 'active';

for (let i = start; i < start + count; i++) {
const point = points[i];
const options = me.resolveDataElementOptions(i, active);
const options = me.resolveDataElementOptions(i, mode);
const pointPosition = scale.getPointPositionForValue(i, dataset.data[i]);

const x = reset ? scale.xCenter : pointPosition.x;
Expand Down
27 changes: 14 additions & 13 deletions src/core/core.datasetController.js
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ export default class DatasetController {
this._ctx = chart.ctx;
this.index = datasetIndex;
this._cachedAnimations = {};
this._cachedDataOpts = {};
this._cachedOptions = {};
this._cachedMeta = this.getMeta();
this._type = this._cachedMeta.type;
this.options = undefined;
Expand Down Expand Up @@ -384,12 +384,12 @@ export default class DatasetController {
*/
configure() {
const me = this;
me.options = me.resolveOptions();
me.options = me.resolveControllerOptions();

me._parsing = valueOrDefault(me.options.parsing, true);
}

_mergeOptions(prefix) {
_mergeControllerOptions(prefix) {
const me = this;
const config = me.chart.config;
const datasetType = me._type;
Expand Down Expand Up @@ -700,7 +700,7 @@ export default class DatasetController {
const me = this;
const meta = me._cachedMeta;
me._cachedAnimations = {};
me._cachedDataOpts = {};
me._cachedOptions = {};
me.configure();
me.update(mode || 'default');
meta._clip = toClip(valueOrDefault(me.options.clip, defaultClip(meta.xScale, meta.yScale, me.getMaxOverflow())));
Expand Down Expand Up @@ -774,8 +774,8 @@ export default class DatasetController {
}

const maxIndex = meta.data.length;
const options = index >= 0 && index < maxIndex ? me.resolveDataElementOptions(index, active, prefix)
: dataset ? me.resolveDatasetElementOptions(active, prefix) : me.resolveOptions(prefix);
const options = index >= 0 && index < maxIndex ? me.resolveDataElementOptions(index, active && 'active', prefix)
: dataset ? me.resolveDatasetElementOptions(active, prefix) : me.resolveControllerOptions(prefix);

if (active) {
me._addAutomaticHoverColors(index, options);
Expand Down Expand Up @@ -814,24 +814,25 @@ export default class DatasetController {

/**
* @param {number} index
* @param {boolean} [active]
* @param {string} [mode]
* @param {string} [prefix]
* @protected
*/
resolveDataElementOptions(index, active, prefix) {
resolveDataElementOptions(index, mode, prefix) {
const active = mode === 'active';
const elemType = this.dataElementType.id;
return this._resolveElementOptions(elemType, active, index, prefix);
}

/**
* @param {string} [prefix]
*/
resolveOptions(prefix) {
resolveControllerOptions(prefix) {
prefix = prefix || '';
const me = this;
const cache = me._cachedDataOpts;
const datasetOptionsCache = cache.dataset || (cache.dataset = {});
const options = datasetOptionsCache[prefix] || (datasetOptionsCache[prefix] = me._mergeOptions(prefix));
const cache = me._cachedOptions;
const controllerOptionsCache = cache.controller || (cache.controller = {});
const options = controllerOptionsCache[prefix] || (controllerOptionsCache[prefix] = me._mergeControllerOptions(prefix));
return options.resolve(me.getContext());
}

Expand All @@ -844,7 +845,7 @@ export default class DatasetController {
_resolveElementOptions(elemType, active, index, prefix) {
prefix = prefix || (active ? 'hover' : '');
const me = this;
const cache = me._cachedDataOpts;
const cache = me._cachedOptions;
const elemTypeCache = cache[elemType] || (cache[elemType] = {});
const options = elemTypeCache[prefix] || (elemTypeCache[prefix] = me._mergeElementOptions(elemType, prefix));
const context = options.isContextSensitive() && me.getContext(index, active);
Expand Down
4 changes: 2 additions & 2 deletions types/core/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -362,9 +362,9 @@ export class DatasetController<E extends Element = Element, DSE extends Element
buildOrUpdateElements(): void;

getStyle(index: number, active?: boolean, prefix?: string): any;
protected resolveOptions(prefix?: string): any;
protected resolveControllerOptions(prefix?: string): any;
protected resolveDatasetElementOptions(active?: boolean, prefix?: string): any;
protected resolveDataElementOptions(index: number, active?: boolean, prefix?: string): any;
protected resolveDataElementOptions(index: number, mode?: string, prefix?: string): any;
/**
* Utility for checking if the options are shared and should be animated separately.
* @protected
Expand Down

0 comments on commit a6f8a93

Please sign in to comment.