You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			44 lines
		
	
	
		
			1006 B
		
	
	
	
		
			CoffeeScript
		
	
			
		
		
	
	
			44 lines
		
	
	
		
			1006 B
		
	
	
	
		
			CoffeeScript
		
	
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
 |