12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- Morris = window.Morris = {}
- $ = jQuery
- # Very simple event-emitter class.
- #
- # @private
- class Morris.EventEmitter
- on: (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.length
- ret += strabsnum.slice(intnum.length)
- ret
- else
- '-'
- # Zero-pad numbers to two characters wide.
- #
- # @example
- # Morris.pad2(1) -> '01'
- Morris.pad2 = (number) -> (if number < 10 then '0' else '') + number
|