in Hands-on lab/lab-files/starter-project/NorthwindMVC/wwwroot/lib/Chart.js/chart.js [5005:5055]
update(maxWidth, maxHeight, margins) {
const me = this;
const tickOpts = me.options.ticks;
const sampleSize = tickOpts.sampleSize;
me.beforeUpdate();
me.maxWidth = maxWidth;
me.maxHeight = maxHeight;
me._margins = margins = Object.assign({
left: 0,
right: 0,
top: 0,
bottom: 0
}, margins);
me.ticks = null;
me._labelSizes = null;
me._gridLineItems = null;
me._labelItems = null;
me.beforeSetDimensions();
me.setDimensions();
me.afterSetDimensions();
me._maxLength = me.isHorizontal()
? me.width + margins.left + margins.right
: me.height + margins.top + margins.bottom;
if (!me._dataLimitsCached) {
me.beforeDataLimits();
me.determineDataLimits();
me.afterDataLimits();
me._range = _addGrace(me, me.options.grace);
me._dataLimitsCached = true;
}
me.beforeBuildTicks();
me.ticks = me.buildTicks() || [];
me.afterBuildTicks();
const samplingEnabled = sampleSize < me.ticks.length;
me._convertTicksToLabels(samplingEnabled ? sample(me.ticks, sampleSize) : me.ticks);
me.configure();
me.beforeCalculateLabelRotation();
me.calculateLabelRotation();
me.afterCalculateLabelRotation();
if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {
me.ticks = autoSkip(me, me.ticks);
me._labelSizes = null;
}
if (samplingEnabled) {
me._convertTicksToLabels(me.ticks);
}
me.beforeFit();
me.fit();
me.afterFit();
me.afterUpdate();
}