MCPcopy
hub / github.com/apache/echarts / getTicks

Method getTicks

src/scale/Time.ts:173–250  ·  view source on GitHub ↗
(opt?: ScaleGetTicksOpt)

Source from the content-addressed store, hash-verified

171 }
172
173 getTicks(opt?: ScaleGetTicksOpt): TimeScaleTick[] {
174 opt = opt || {};
175
176 const interval = this._interval;
177 const extent = getScaleExtentForTickUnsafe(this);
178 const scaleBreakHelper = getScaleBreakHelper();
179 const brk = this.brk;
180 const brkAvailable = scaleBreakHelper && brk;
181
182 let ticks = [] as TimeScaleTick[];
183 // If interval is 0, return [];
184 if (!interval) {
185 return ticks;
186 }
187
188 const useUTC = this._useUTC;
189
190 if (brkAvailable && opt.breakTicks === 'only_break') {
191 getScaleBreakHelper().addBreaksToTicks(ticks, brk.breaks, extent);
192 return ticks;
193 }
194
195 ticks = createIntervalTicks(
196 this._minLevelUnit,
197 this._approxInterval,
198 useUTC,
199 extent,
200 getScaleLinearSpanEffective(this),
201 brk
202 );
203
204 let upperUnitIndex = primaryTimeUnits.length - 1;
205 let maxLevel = 0;
206 each(ticks, tick => {
207 if (tick.time) {
208 upperUnitIndex = Math.min(upperUnitIndex, indexOf(primaryTimeUnits, tick.time.upperTimeUnit));
209 maxLevel = Math.max(maxLevel, tick.time.level);
210 }
211 });
212
213 if (brkAvailable) {
214 getScaleBreakHelper().pruneTicksByBreak(
215 opt.pruneByBreak,
216 ticks,
217 brk.breaks,
218 item => item.value,
219 this._approxInterval,
220 extent
221 );
222 }
223 if (brkAvailable && opt.breakTicks !== 'none') {
224 getScaleBreakHelper().addBreaksToTicks(ticks, brk.breaks, extent, trimmedBrk => {
225 // @see `parseTimeAxisLabelFormatterDictionary`.
226 const lowerBrkUnitIndex = Math.max(
227 indexOf(primaryTimeUnits, getUnitFromValue(trimmedBrk.vmin, useUTC)),
228 indexOf(primaryTimeUnits, getUnitFromValue(trimmedBrk.vmax, useUTC)),
229 );
230 let upperBrkUnitIndex = 0;

Callers

nothing calls this directly

Calls 7

getScaleBreakHelperFunction · 0.90
getUnitFromValueFunction · 0.90
createIntervalTicksFunction · 0.85
eachFunction · 0.50

Tested by

no test coverage detected