Blame | Last modification | View Log | Download | RSS feed
Morris = window.Morris = {}$ = jQuery# Very simple event-emitter class.## @privateclass Morris.EventEmitteron: (name, handler) ->unless @handlers?@handlers = {}unless @handlers[name]?@handlers[name] = []@handlers[name].push(handler)@fire: (name, args...) ->if @handlers? and @handlers[name]?for handler in @handlers[name]handler(args...)# Make long numbers prettier by inserting commas.## @example# Morris.commas(1234567) -> '1,234,567'Morris.commas = (num) ->if num?ret = if num < 0 then "-" else ""absnum = Math.abs(num)intnum = Math.floor(absnum).toFixed(0)ret += intnum.replace(/(?=(?:\d{3})+$)(?!^)/g, ',')strabsnum = absnum.toString()if strabsnum.length > intnum.lengthret += strabsnum.slice(intnum.length)retelse'-'# Zero-pad numbers to two characters wide.## @example# Morris.pad2(1) -> '01'Morris.pad2 = (number) -> (if number < 10 then '0' else '') + number