@quartic/bokehjs
Version:
Interactive, novel data visualization
29 lines (21 loc) • 977 B
text/coffeescript
import {BasicTicker} from "./basic_ticker"
import {SingleIntervalTicker} from "./single_interval_ticker"
import * as util from "./util"
last_year_no_later_than = util.last_year_no_later_than
ONE_YEAR = util.ONE_YEAR
export class YearsTicker extends SingleIntervalTicker
type: 'YearsTicker'
initialize: (attrs, options) ->
super(attrs, options)
= ONE_YEAR
= new BasicTicker({num_minor_ticks:0})
get_ticks_no_defaults: (data_low, data_high, cross_loc, desired_n_ticks) ->
start_year = last_year_no_later_than(new Date(data_low)).getUTCFullYear()
end_year = last_year_no_later_than(new Date(data_high)).getUTCFullYear()
years = .get_ticks_no_defaults(start_year, end_year, cross_loc, desired_n_ticks).major
all_ticks = (Date.UTC(year, 0, 1) for year in years)
ticks_in_range = all_ticks.filter((tick) -> data_low <= tick <= data_high)
return {
major: ticks_in_range
minor: []
}