2014-01-18 20:51:42 +11:00
/*!jQuery Knob*/
/**
* Downward compatible, touchable dial
*
* Version: 1.2.0 (15/07/2012)
* Requires: jQuery v1.7+
*
* Copyright (c) 2012 Anthony Terrien
* Under MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Thanks to vor, eskimoblood, spiffistan, FabrizioC
*/
( function ( $ ) {
/**
* Kontrol library
*/
"use strict" ;
/**
* Check canvas support
*/
var elem = document . createElement ( 'canvas' );
if ( ! elem . getContext || ! elem . getContext ( '2d' ))
return $ . fn . knob = $ . noop ;
/**
* Definition of globals and core
*/
var k = {}, // kontrol
max = Math . max ,
min = Math . min ;
k . c = {};
k . c . d = $ ( document );
k . c . t = function ( e ) {
return e . originalEvent . touches . length - 1 ;
};
/**
* Kontrol Object
*
* Definition of an abstract UI control
*
* Each concrete component must call this one.
* <code>
* k.o.call(this);
* </code>
*/
k . o = function () {
var s = this ;
this . o = null ; // array of options
this . $ = null ; // jQuery wrapped element
this . i = null ; // mixed HTMLInputElement or array of HTMLInputElement
this . g = null ; // 2D graphics context for 'pre-rendering'
this . v = null ; // value ; mixed array or integer
this . cv = null ; // change value ; not commited value
this . x = 0 ; // canvas x position
this . y = 0 ; // canvas y position
this . $c = null ; // jQuery canvas element
this . c = null ; // rendered canvas context
this . t = 0 ; // touches index
this . isInit = false ;
this . fgColor = null ; // main color
this . pColor = null ; // previous color
this . dH = null ; // draw hook
this . cH = null ; // change hook
this . eH = null ; // cancel hook
this . rH = null ; // release hook
this . run = function () {
var cf = function ( e , conf ) {
var k ;
for ( k in conf ) {
s . o [ k ] = conf [ k ];
}
s . init ();
s . _configure ()
. _draw ();
};
if ( this . $ . data ( 'kontroled' )) return ;
this . $ . data ( 'kontroled' , true );
this . extend ();
this . o = $ . extend (
{
// Config
min : this . $ . data ( 'min' ) || 0 ,
max : this . $ . data ( 'max' ) || 100 ,
stopper : true ,
readOnly : this . $ . data ( 'readonly' ),
// UI
cursor : ( this . $ . data ( 'cursor' ) === true && 30 )
|| this . $ . data ( 'cursor' )
|| 0 ,
thickness : this . $ . data ( 'thickness' ) || 0.35 ,
lineCap : this . $ . data ( 'linecap' ) || 'butt' ,
width : this . $ . data ( 'width' ) || 200 ,
height : this . $ . data ( 'height' ) || 200 ,
displayInput : this . $ . data ( 'displayinput' ) == null || this . $ . data ( 'displayinput' ),
displayPrevious : this . $ . data ( 'displayprevious' ),
fgColor : this . $ . data ( 'fgcolor' ) || '#87CEEB' ,
inputColor : this . $ . data ( 'inputcolor' ) || this . $ . data ( 'fgcolor' ) || '#87CEEB' ,
inline : false ,
step : this . $ . data ( 'step' ) || 1 ,
// Hooks
draw : null , // function () {}
change : null , // function (value) {}
cancel : null , // function () {}
release : null // function (value) {}
}, this . o
);
// routing value
if ( this . $ . is ( 'fieldset' )) {
// fieldset = array of integer
this . v = {};
this . i = this . $ . find ( 'input' )
this . i . each ( function ( k ) {
var $this = $ ( this );
s . i [ k ] = $this ;
s . v [ k ] = $this . val ();
$this . bind (
'change'
, function () {
var val = {};
val [ k ] = $this . val ();
s . val ( val );
}
);
});
this . $ . find ( 'legend' ). remove ();
} else {
// input = integer
this . i = this . $ ;
this . v = this . $ . val ();
( this . v == '' ) && ( this . v = this . o . min );
this . $ . bind (
'change'
, function () {
s . val ( s . _validate ( s . $ . val ()));
}
);
}
( ! this . o . displayInput ) && this . $ . hide ();
this . $c = $ ( '<canvas width="' +
this . o . width + 'px" height="' +
this . o . height + 'px"></canvas>' );
this . c = this . $c [ 0 ]. getContext ( "2d" );
this . $
. wrap ( $ ( '<div style="' + ( this . o . inline ? 'display:inline;' : '' ) +
'width:' + this . o . width + 'px;height:' +
this . o . height + 'px;"></div>' ))
. before ( this . $c );
if ( this . v instanceof Object ) {
this . cv = {};
this . copy ( this . v , this . cv );
} else {
this . cv = this . v ;
}
this . $
. bind ( "configure" , cf )
. parent ()
. bind ( "configure" , cf );
this . _listen ()
. _configure ()
. _xy ()
. init ();
this . isInit = true ;
this . _draw ();
return this ;
};
this . _draw = function () {
// canvas pre-rendering
var d = true ,
c = document . createElement ( 'canvas' );
c . width = s . o . width ;
c . height = s . o . height ;
s . g = c . getContext ( '2d' );
s . clear ();
s . dH
&& ( d = s . dH ());
( d !== false ) && s . draw ();
s . c . drawImage ( c , 0 , 0 );
c = null ;
};
this . _touch = function ( e ) {
var touchMove = function ( e ) {
var v = s . xy2val (
e . originalEvent . touches [ s . t ]. pageX ,
e . originalEvent . touches [ s . t ]. pageY
);
if ( v == s . cv ) return ;
if (
s . cH
&& ( s . cH ( v ) === false )
) return ;
s . change ( s . _validate ( v ));
s . _draw ();
};
// get touches index
this . t = k . c . t ( e );
// First touch
touchMove ( e );
// Touch events listeners
k . c . d
. bind ( "touchmove.k" , touchMove )
. bind (
"touchend.k"
, function () {
k . c . d . unbind ( 'touchmove.k touchend.k' );
if (
s . rH
&& ( s . rH ( s . cv ) === false )
) return ;
s . val ( s . cv );
}
);
return this ;
};
this . _mouse = function ( e ) {
var mouseMove = function ( e ) {
var v = s . xy2val ( e . pageX , e . pageY );
if ( v == s . cv ) return ;
if (
s . cH
&& ( s . cH ( v ) === false )
) return ;
s . change ( s . _validate ( v ));
s . _draw ();
};
// First click
mouseMove ( e );
// Mouse events listeners
k . c . d
. bind ( "mousemove.k" , mouseMove )
. bind (
// Escape key cancel current change
"keyup.k"
, function ( e ) {
if ( e . keyCode === 27 ) {
k . c . d . unbind ( "mouseup.k mousemove.k keyup.k" );
if (
s . eH
&& ( s . eH () === false )
) return ;
s . cancel ();
}
}
)
. bind (
"mouseup.k"
, function ( e ) {
k . c . d . unbind ( 'mousemove.k mouseup.k keyup.k' );
if (
s . rH
&& ( s . rH ( s . cv ) === false )
) return ;
s . val ( s . cv );
}
);
return this ;
};
this . _xy = function () {
var o = this . $c . offset ();
this . x = o . left ;
this . y = o . top ;
return this ;
};
this . _listen = function () {
if ( ! this . o . readOnly ) {
this . $c
. bind (
"mousedown"
, function ( e ) {
e . preventDefault ();
s . _xy (). _mouse ( e );
}
)
. bind (
"touchstart"
, function ( e ) {
e . preventDefault ();
s . _xy (). _touch ( e );
}
);
this . listen ();
} else {
this . $ . attr ( 'readonly' , 'readonly' );
}
return this ;
};
this . _configure = function () {
// Hooks
if ( this . o . draw ) this . dH = this . o . draw ;
if ( this . o . change ) this . cH = this . o . change ;
if ( this . o . cancel ) this . eH = this . o . cancel ;
if ( this . o . release ) this . rH = this . o . release ;
if ( this . o . displayPrevious ) {
this . pColor = this . h2rgba ( this . o . fgColor , "0.4" );
this . fgColor = this . h2rgba ( this . o . fgColor , "0.6" );
} else {
this . fgColor = this . o . fgColor ;
}
return this ;
};
this . _clear = function () {
this . $c [ 0 ]. width = this . $c [ 0 ]. width ;
};
this . _validate = function ( v ) {
return ( ~~ ((( v < 0 ) ? - 0.5 : 0.5 ) + ( v / this . o . step ))) * this . o . step ;
};
// Abstract methods
this . listen = function () {}; // on start, one time
this . extend = function () {}; // each time configure triggered
this . init = function () {}; // each time configure triggered
this . change = function ( v ) {}; // on change
this . val = function ( v ) {}; // on release
this . xy2val = function ( x , y ) {}; //
this . draw = function () {}; // on change / on release
this . clear = function () { this . _clear (); };
// Utils
this . h2rgba = function ( h , a ) {
var rgb ;
h = h . substring ( 1 , 7 )
rgb = [ parseInt ( h . substring ( 0 , 2 ), 16 )
, parseInt ( h . substring ( 2 , 4 ), 16 )
, parseInt ( h . substring ( 4 , 6 ), 16 )];
return "rgba(" + rgb [ 0 ] + "," + rgb [ 1 ] + "," + rgb [ 2 ] + "," + a + ")" ;
};
this . copy = function ( f , t ) {
for ( var i in f ) { t [ i ] = f [ i ]; }
};
};
/**
* k.Dial
*/
k . Dial = function () {
k . o . call ( this );
this . startAngle = null ;
this . xy = null ;
this . radius = null ;
this . lineWidth = null ;
this . cursorExt = null ;
this . w2 = null ;
this . PI2 = 2 * Math . PI ;
this . extend = function () {
this . o = $ . extend (
{
bgColor : this . $ . data ( 'bgcolor' ) || '#EEEEEE' ,
angleOffset : this . $ . data ( 'angleoffset' ) || 0 ,
angleArc : this . $ . data ( 'anglearc' ) || 360 ,
inline : true
}, this . o
);
};
this . val = function ( v ) {
if ( null != v ) {
this . cv = this . o . stopper ? max ( min ( v , this . o . max ), this . o . min ) : v ;
this . v = this . cv ;
this . $ . val ( this . v );
this . _draw ();
} else {
return this . v ;
}
};
this . xy2val = function ( x , y ) {
var a , ret ;
a = Math . atan2 (
x - ( this . x + this . w2 )
, - ( y - this . y - this . w2 )
) - this . angleOffset ;
if ( this . angleArc != this . PI2 && ( a < 0 ) && ( a > - 0.5 )) {
// if isset angleArc option, set to min if .5 under min
a = 0 ;
} else if ( a < 0 ) {
a += this . PI2 ;
}
ret = ~~ ( 0.5 + ( a * ( this . o . max - this . o . min ) / this . angleArc ))
+ this . o . min ;
this . o . stopper
&& ( ret = max ( min ( ret , this . o . max ), this . o . min ));
return ret ;
};
this . listen = function () {
// bind MouseWheel
var s = this ,
mw = function ( e ) {
e . preventDefault ();
var ori = e . originalEvent
, deltaX = ori . detail || ori . wheelDeltaX
, deltaY = ori . detail || ori . wheelDeltaY
, v = parseInt ( s . $ . val ()) + ( deltaX > 0 || deltaY > 0 ? s . o . step : deltaX < 0 || deltaY < 0 ? - s . o . step : 0 );
if (
s . cH
&& ( s . cH ( v ) === false )
) return ;
s . val ( v );
}
, kval , to , m = 1 , kv = { 37 :- s . o . step , 38 : s . o . step , 39 : s . o . step , 40 :- s . o . step };
this . $
. bind (
"keydown"
, function ( e ) {
var kc = e . keyCode ;
// numpad support
if ( kc >= 96 && kc <= 105 ) {
kc = e . keyCode = kc - 48 ;
}
kval = parseInt ( String . fromCharCode ( kc ));
if ( isNaN ( kval )) {
( kc !== 13 ) // enter
&& ( kc !== 8 ) // bs
&& ( kc !== 9 ) // tab
&& ( kc !== 189 ) // -
&& e . preventDefault ();
// arrows
if ( $ . inArray ( kc ,[ 37 , 38 , 39 , 40 ]) > - 1 ) {
e . preventDefault ();
var v = parseInt ( s . $ . val ()) + kv [ kc ] * m ;
s . o . stopper
&& ( v = max ( min ( v , s . o . max ), s . o . min ));
s . change ( v );
s . _draw ();
// long time keydown speed-up
to = window . setTimeout (
function () { m *= 2 ; }
, 30
);
}
}
}
)
. bind (
"keyup"
, function ( e ) {
if ( isNaN ( kval )) {
if ( to ) {
window . clearTimeout ( to );
to = null ;
m = 1 ;
s . val ( s . $ . val ());
}
} else {
// kval postcond
( s . $ . val () > s . o . max && s . $ . val ( s . o . max ))
|| ( s . $ . val () < s . o . min && s . $ . val ( s . o . min ));
}
}
);
this . $c . bind ( "mousewheel DOMMouseScroll" , mw );
this . $ . bind ( "mousewheel DOMMouseScroll" , mw )
};
this . init = function () {
if (
this . v < this . o . min
|| this . v > this . o . max
) this . v = this . o . min ;
this . $ . val ( this . v );
this . w2 = this . o . width / 2 ;
this . cursorExt = this . o . cursor / 100 ;
this . xy = this . w2 ;
this . lineWidth = this . xy * this . o . thickness ;
this . lineCap = this . o . lineCap ;
this . radius = this . xy - this . lineWidth / 2 ;
this . o . angleOffset
&& ( this . o . angleOffset = isNaN ( this . o . angleOffset ) ? 0 : this . o . angleOffset );
this . o . angleArc
&& ( this . o . angleArc = isNaN ( this . o . angleArc ) ? this . PI2 : this . o . angleArc );
// deg to rad
this . angleOffset = this . o . angleOffset * Math . PI / 180 ;
this . angleArc = this . o . angleArc * Math . PI / 180 ;
// compute start and end angles
this . startAngle = 1.5 * Math . PI + this . angleOffset ;
this . endAngle = 1.5 * Math . PI + this . angleOffset + this . angleArc ;
var s = max (
String ( Math . abs ( this . o . max )). length
, String ( Math . abs ( this . o . min )). length
, 2
) + 2 ;
this . o . displayInput
&& this . i . css ({
'width' : (( this . o . width / 2 + 4 ) >> 0 ) + 'px'
, 'height' : (( this . o . width / 3 ) >> 0 ) + 'px'
, 'position' : 'absolute'
, 'vertical-align' : 'middle'
, 'margin-top' : (( this . o . width / 3 ) >> 0 ) + 'px'
, 'margin-left' : '-' + (( this . o . width * 3 / 4 + 2 ) >> 0 ) + 'px'
, 'border' : 0
, 'background' : 'none'
, 'font' : 'bold ' + (( this . o . width / s ) >> 0 ) + 'px Arial'
, 'text-align' : 'center'
, 'color' : this . o . inputColor || this . o . fgColor
, 'padding' : '0px'
, '-webkit-appearance' : 'none'
})
|| this . i . css ({
'width' : '0px'
, 'visibility' : 'hidden'
});
};
this . change = function ( v ) {
this . cv = v ;
this . $ . val ( v );
};
this . angle = function ( v ) {
return ( v - this . o . min ) * this . angleArc / ( this . o . max - this . o . min );
};
this . draw = function () {
var c = this . g , // context
a = this . angle ( this . cv ) // Angle
, sat = this . startAngle // Start angle
, eat = sat + a // End angle
, sa , ea // Previous angles
, r = 1 ;
c . lineWidth = this . lineWidth ;
c . lineCap = this . lineCap ;
this . o . cursor
&& ( sat = eat - this . cursorExt )
&& ( eat = eat + this . cursorExt );
c . beginPath ();
c . strokeStyle = this . o . bgColor ;
c . arc ( this . xy , this . xy , this . radius , this . endAngle , this . startAngle , true );
c . stroke ();
if ( this . o . displayPrevious ) {
ea = this . startAngle + this . angle ( this . v );
sa = this . startAngle ;
this . o . cursor
&& ( sa = ea - this . cursorExt )
&& ( ea = ea + this . cursorExt );
c . beginPath ();
c . strokeStyle = this . pColor ;
c . arc ( this . xy , this . xy , this . radius , sa , ea , false );
c . stroke ();
r = ( this . cv == this . v );
}
c . beginPath ();
c . strokeStyle = r ? this . o . fgColor : this . fgColor ;
c . arc ( this . xy , this . xy , this . radius , sat , eat , false );
c . stroke ();
};
this . cancel = function () {
this . val ( this . v );
};
};
$ . fn . dial = $ . fn . knob = function ( o ) {
return this . each (
function () {
var d = new k . Dial ();
d . o = o ;
d . $ = $ ( this );
d . run ();
}
). parent ();
};
})( jQuery );
! function (){ var q = null ; window . PR_SHOULD_USE_CONTINUATION =! 0 ;
( function (){ function S ( a ){ function d ( e ){ var b = e . charCodeAt ( 0 ); if ( b !== 92 ) return b ; var a = e . charAt ( 1 ); return ( b = r [ a ]) ? b : "0" <= a && a <= "7" ? parseInt ( e . substring ( 1 ), 8 ) : a === "u" || a === "x" ? parseInt ( e . substring ( 2 ), 16 ) : e . charCodeAt ( 1 )} function g ( e ){ if ( e < 32 ) return ( e < 16 ? "\\x0" : "\\x" ) + e . toString ( 16 ); e = String . fromCharCode ( e ); return e === "\\" || e === "-" || e === "]" || e === "^" ? "\\" + e : e } function b ( e ){ var b = e . substring ( 1 , e . length - 1 ). match ( /\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g ), e = [], a =
b [ 0 ] === "^" , c = [ "[" ]; a && c . push ( "^" ); for ( var a = a ? 1 : 0 , f = b . length ; a < f ; ++ a ){ var h = b [ a ]; if ( /\\[bdsw]/i . test ( h )) c . push ( h ); else { var h = d ( h ), l ; a + 2 < f && "-" === b [ a + 1 ] ? ( l = d ( b [ a + 2 ]), a += 2 ) : l = h ; e . push ([ h , l ]); l < 65 || h > 122 || ( l < 65 || h > 90 || e . push ([ Math . max ( 65 , h ) | 32 , Math . min ( l , 90 ) | 32 ]), l < 97 || h > 122 || e . push ([ Math . max ( 97 , h ) &- 33 , Math . min ( l , 122 ) &- 33 ]))}} e . sort ( function ( e , a ){ return e [ 0 ] - a [ 0 ] || a [ 1 ] - e [ 1 ]}); b = []; f = []; for ( a = 0 ; a < e . length ; ++ a ) h = e [ a ], h [ 0 ] <= f [ 1 ] + 1 ? f [ 1 ] = Math . max ( f [ 1 ], h [ 1 ]) : b . push ( f = h ); for ( a = 0 ; a < b . length ; ++ a ) h = b [ a ], c . push ( g ( h [ 0 ])),
h [ 1 ] > h [ 0 ] && ( h [ 1 ] + 1 > h [ 0 ] && c . push ( "-" ), c . push ( g ( h [ 1 ]))); c . push ( "]" ); return c . join ( "" )} function s ( e ){ for ( var a = e . source . match ( /\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g ), c = a . length , d = [], f = 0 , h = 0 ; f < c ; ++ f ){ var l = a [ f ]; l === "(" ?++ h : "\\" === l . charAt ( 0 ) && ( l =+ l . substring ( 1 )) && ( l <= h ? d [ l ] =- 1 : a [ f ] = g ( l ))} for ( f = 1 ; f < d . length ; ++ f ) - 1 === d [ f ] && ( d [ f ] =++ x ); for ( h = f = 0 ; f < c ; ++ f ) l = a [ f ], l === "(" ? ( ++ h , d [ h ] || ( a [ f ] = "(?:" )) : "\\" === l . charAt ( 0 ) && ( l =+ l . substring ( 1 )) && l <= h &&
( a [ f ] = "\\" + d [ l ]); for ( f = 0 ; f < c ; ++ f ) "^" === a [ f ] && "^" !== a [ f + 1 ] && ( a [ f ] = "" ); if ( e . ignoreCase && m ) for ( f = 0 ; f < c ; ++ f ) l = a [ f ], e = l . charAt ( 0 ), l . length >= 2 && e === "[" ? a [ f ] = b ( l ) : e !== "\\" && ( a [ f ] = l . replace ( /[A-Za-z]/g , function ( a ){ a = a . charCodeAt ( 0 ); return "[" + String . fromCharCode ( a &- 33 , a | 32 ) + "]" })); return a . join ( "" )} for ( var x = 0 , m =! 1 , j =! 1 , k = 0 , c = a . length ; k < c ; ++ k ){ var i = a [ k ]; if ( i . ignoreCase ) j =! 0 ; else if ( /[a-z]/i . test ( i . source . replace ( /\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi , "" ))){ m =! 0 ; j =! 1 ; break }} for ( var r = { b : 8 , t : 9 , n : 10 , v : 11 ,
f : 12 , r : 13 }, n = [], k = 0 , c = a . length ; k < c ; ++ k ){ i = a [ k ]; if ( i . global || i . multiline ) throw Error ( "" + i ); n . push ( "(?:" + s ( i ) + ")" )} return RegExp ( n . join ( "|" ), j ? "gi" : "g" )} function T ( a , d ){ function g ( a ){ var c = a . nodeType ; if ( c == 1 ){ if ( ! b . test ( a . className )){ for ( c = a . firstChild ; c ; c = c . nextSibling ) g ( c ); c = a . nodeName . toLowerCase (); if ( "br" === c || "li" === c ) s [ j ] = "\n" , m [ j << 1 ] = x ++ , m [ j ++<< 1 | 1 ] = a }} else if ( c == 3 || c == 4 ) c = a . nodeValue , c . length && ( c = d ? c . replace ( /\r\n?/g , "\n" ) : c . replace ( /[\t\n\r ]+/g , " " ), s [ j ] = c , m [ j << 1 ] = x , x += c . length , m [ j ++<< 1 | 1 ] =
a )} var b = /(?:^|\s)nocode(?:\s|$)/ , s = [], x = 0 , m = [], j = 0 ; g ( a ); return { a : s . join ( "" ). replace ( /\n$/ , "" ), d : m }} function H ( a , d , g , b ){ d && ( a = { a : d , e : a }, g ( a ), b . push . apply ( b , a . g ))} function U ( a ){ for ( var d = void 0 , g = a . firstChild ; g ; g = g . nextSibling ) var b = g . nodeType , d = b === 1 ? d ? a : g : b === 3 ? V . test ( g . nodeValue ) ? a : d : d ; return d === a ? void 0 : d } function C ( a , d ){ function g ( a ){ for ( var j = a . e , k = [ j , "pln" ], c = 0 , i = a . a . match ( s ) || [], r = {}, n = 0 , e = i . length ; n < e ; ++ n ){ var z = i [ n ], w = r [ z ], t = void 0 , f ; if ( typeof w === "string" ) f =! 1 ; else { var h = b [ z . charAt ( 0 )];
if ( h ) t = z . match ( h [ 1 ]), w = h [ 0 ]; else { for ( f = 0 ; f < x ; ++ f ) if ( h = d [ f ], t = z . match ( h [ 1 ])){ w = h [ 0 ]; break } t || ( w = "pln" )} if (( f = w . length >= 5 && "lang-" === w . substring ( 0 , 5 )) &&! ( t && typeof t [ 1 ] === "string" )) f =! 1 , w = "src" ; f || ( r [ z ] = w )} h = c ; c += z . length ; if ( f ){ f = t [ 1 ]; var l = z . indexOf ( f ), B = l + f . length ; t [ 2 ] && ( B = z . length - t [ 2 ]. length , l = B - f . length ); w = w . substring ( 5 ); H ( j + h , z . substring ( 0 , l ), g , k ); H ( j + h + l , f , I ( w , f ), k ); H ( j + h + B , z . substring ( B ), g , k )} else k . push ( j + h , w )} a . g = k } var b = {}, s ;( function (){ for ( var g = a . concat ( d ), j = [], k = {}, c = 0 , i = g . length ; c < i ; ++ c ){ var r =
g [ c ], n = r [ 3 ]; if ( n ) for ( var e = n . length ; -- e >= 0 ;) b [ n . charAt ( e )] = r ; r = r [ 1 ]; n = "" + r ; k . hasOwnProperty ( n ) || ( j . push ( r ), k [ n ] = q )} j . push ( /[\S\s]/ ); s = S ( j )})(); var x = d . length ; return g } function v ( a ){ var d = [], g = []; a . tripleQuotedStrings ? d . push ([ "str" , /^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/ , q , "'\"" ]) : a . multiLineStrings ? d . push ([ "str" , /^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/ ,
q , "'\"`" ]) : d . push ([ "str" , /^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/ , q , "\"'" ]); a . verbatimStrings && g . push ([ "str" , /^@"(?:[^"]|"")*(?:"|$)/ , q ]); var b = a . hashComments ; b && ( a . cStyleComments ? ( b > 1 ? d . push ([ "com" , /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/ , q , "#" ]) : d . push ([ "com" , /^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/ , q , "#" ]), g . push ([ "str" , /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/ , q ])) : d . push ([ "com" ,
/^#[^\n\r]*/ , q , "#" ])); a . cStyleComments && ( g . push ([ "com" , /^\/\/[^\n\r]*/ , q ]), g . push ([ "com" , /^\/\*[\S\s]*?(?:\*\/|$)/ , q ])); if ( b = a . regexLiterals ){ var s = ( b = b > 1 ? "" : "\n\r" ) ? "." : "[\\S\\s]" ; g . push ([ "lang-regex" , RegExp ( "^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*(" + ( "/(?=[^/*" + b + "])(?:[^/\\x5B\\x5C" + b + "]|\\x5C" + s + "|\\x5B(?:[^\\x5C\\x5D" + b + "]|\\x5C" +
s + ")*(?:\\x5D|$))+/" ) + ")" )])}( b = a . types ) && g . push ([ "typ" , b ]); b = ( "" + a . keywords ). replace ( /^ | $/g , "" ); b . length && g . push ([ "kwd" , RegExp ( "^(?:" + b . replace ( /[\s,]+/g , "|" ) + ")\\b" ), q ]); d . push ([ "pln" , /^\s+/ , q , " \r\n\t\u00a0" ]); b = "^.[^\\s\\w.$@'\"`/\\\\]*" ; a . regexLiterals && ( b += "(?!s*/)" ); g . push ([ "lit" , /^@[$_a-z][\w$@]*/i , q ],[ "typ" , /^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/ , q ],[ "pln" , /^[$_a-z][\w$@]*/i , q ],[ "lit" , /^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i , q , "0123456789" ],[ "pln" , /^\\[\S\s]?/ ,
q ],[ "pun" , RegExp ( b ), q ]); return C ( d , g )} function J ( a , d , g ){ function b ( a ){ var c = a . nodeType ; if ( c == 1 &&! x . test ( a . className )) if ( "br" === a . nodeName ) s ( a ), a . parentNode && a . parentNode . removeChild ( a ); else for ( a = a . firstChild ; a ; a = a . nextSibling ) b ( a ); else if (( c == 3 || c == 4 ) && g ){ var d = a . nodeValue , i = d . match ( m ); if ( i ) c = d . substring ( 0 , i . index ), a . nodeValue = c ,( d = d . substring ( i . index + i [ 0 ]. length )) && a . parentNode . insertBefore ( j . createTextNode ( d ), a . nextSibling ), s ( a ), c || a . parentNode . removeChild ( a )}} function s ( a ){ function b ( a , c ){ var d =
c ? a . cloneNode ( ! 1 ) : a , e = a . parentNode ; if ( e ){ var e = b ( e , 1 ), g = a . nextSibling ; e . appendChild ( d ); for ( var i = g ; i ; i = g ) g = i . nextSibling , e . appendChild ( i )} return d } for (; ! a . nextSibling ;) if ( a = a . parentNode , ! a ) return ; for ( var a = b ( a . nextSibling , 0 ), d ;( d = a . parentNode ) && d . nodeType === 1 ;) a = d ; c . push ( a )} for ( var x = /(?:^|\s)nocode(?:\s|$)/ , m = /\r\n?|\n/ , j = a . ownerDocument , k = j . createElement ( "li" ); a . firstChild ;) k . appendChild ( a . firstChild ); for ( var c = [ k ], i = 0 ; i < c . length ; ++ i ) b ( c [ i ]); d === ( d | 0 ) && c [ 0 ]. setAttribute ( "value" , d ); var r = j . createElement ( "ol" );
r . className = "linenums" ; for ( var d = Math . max ( 0 , d - 1 | 0 ) || 0 , i = 0 , n = c . length ; i < n ; ++ i ) k = c [ i ], k . className = "L" + ( i + d ) % 10 , k . firstChild || k . appendChild ( j . createTextNode ( "\u00a0" )), r . appendChild ( k ); a . appendChild ( r )} function p ( a , d ){ for ( var g = d . length ; -- g >= 0 ;){ var b = d [ g ]; F . hasOwnProperty ( b ) ? D . console && console . warn ( "cannot override language handler %s" , b ) : F [ b ] = a }} function I ( a , d ){ if ( ! a ||! F . hasOwnProperty ( a )) a = /^\s*</ . test ( d ) ? "default-markup" : "default-code" ; return F [ a ]} function K ( a ){ var d = a . h ; try { var g = T ( a . c , a . i ), b = g . a ;
a . a = b ; a . d = g . d ; a . e = 0 ; I ( d , b )( a ); var s = /\bMSIE\s(\d+)/ . exec ( navigator . userAgent ), s = s &&+ s [ 1 ] <= 8 , d = /\n/g , x = a . a , m = x . length , g = 0 , j = a . d , k = j . length , b = 0 , c = a . g , i = c . length , r = 0 ; c [ i ] = m ; var n , e ; for ( e = n = 0 ; e < i ;) c [ e ] !== c [ e + 2 ] ? ( c [ n ++ ] = c [ e ++ ], c [ n ++ ] = c [ e ++ ]) : e += 2 ; i = n ; for ( e = n = 0 ; e < i ;){ for ( var p = c [ e ], w = c [ e + 1 ], t = e + 2 ; t + 2 <= i && c [ t + 1 ] === w ;) t += 2 ; c [ n ++ ] = p ; c [ n ++ ] = w ; e = t } c . length = n ; var f = a . c , h ; if ( f ) h = f . style . display , f . style . display = "none" ; try { for (; b < k ;){ var l = j [ b + 2 ] || m , B = c [ r + 2 ] || m , t = Math . min ( l , B ), A = j [ b + 1 ], G ; if ( A . nodeType !== 1 && ( G = x . substring ( g ,
t ))){ s && ( G = G . replace ( d , "\r" )); A . nodeValue = G ; var L = A . ownerDocument , o = L . createElement ( "span" ); o . className = c [ r + 1 ]; var v = A . parentNode ; v . replaceChild ( o , A ); o . appendChild ( A ); g < l && ( j [ b + 1 ] = A = L . createTextNode ( x . substring ( t , l )), v . insertBefore ( A , o . nextSibling ))} g = t ; g >= l && ( b += 2 ); g >= B && ( r += 2 )}} finally { if ( f ) f . style . display = h }} catch ( u ){ D . console && console . log ( u && u . stack || u )}} var D = window , y = [ "break,continue,do,else,for,if,return,while" ], E = [[ y , "auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile" ],
"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof" ], M = [ E , "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where" ], N = [ E , "abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient" ],
O = [ N , "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where" ], E = [ E , "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN" ], P = [ y , "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None" ],
Q = [ y , "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END" ], W = [ y , "as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use" ], y = [ y , "case,done,elif,esac,eval,fi,function,in,local,set,then,until" ], R = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/ ,
V = /\S/ , X = v ({ keywords : [ M , O , E , "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END" , P , Q , y ], hashComments :! 0 , cStyleComments :! 0 , multiLineStrings :! 0 , regexLiterals :! 0 }), F = {}; p ( X ,[ "default-code" ]); p ( C ([],[[ "pln" , /^[^<?]+/ ],[ "dec" , /^<!\w[^>]*(?:>|$)/ ],[ "com" , /^<\!--[\S\s]*?(?:--\>|$)/ ],[ "lang-" , /^<\?([\S\s]+?)(?:\?>|$)/ ],[ "lang-" , /^<%([\S\s]+?)(?:%>|$)/ ],[ "pun" , /^(?:<[%?]|[%?]>)/ ],[ "lang-" ,
/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i ],[ "lang-js" , /^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i ],[ "lang-css" , /^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i ],[ "lang-in.tag" , /^(<\/?[a-z][^<>]*>)/i ]]),[ "default-markup" , "htm" , "html" , "mxml" , "xhtml" , "xml" , "xsl" ]); p ( C ([[ "pln" , /^\s+/ , q , " \t\r\n" ],[ "atv" , /^(?:"[^"]*"?|'[^']*'?)/ , q , "\"'" ]],[[ "tag" , /^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i ],[ "atn" , /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i ],[ "lang-uq.val" , /^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/ ],[ "pun" , /^[/<->]+/ ],
[ "lang-js" , /^on\w+\s*=\s*"([^"]+)"/i ],[ "lang-js" , /^on\w+\s*=\s*'([^']+)'/i ],[ "lang-js" , /^on\w+\s*=\s*([^\s"'>]+)/i ],[ "lang-css" , /^style\s*=\s*"([^"]+)"/i ],[ "lang-css" , /^style\s*=\s*'([^']+)'/i ],[ "lang-css" , /^style\s*=\s*([^\s"'>]+)/i ]]),[ "in.tag" ]); p ( C ([],[[ "atv" , /^[\S\s]+/ ]]),[ "uq.val" ]); p ( v ({ keywords : M , hashComments :! 0 , cStyleComments :! 0 , types : R }),[ "c" , "cc" , "cpp" , "cxx" , "cyc" , "m" ]); p ( v ({ keywords : "null,true,false" }),[ "json" ]); p ( v ({ keywords : O , hashComments :! 0 , cStyleComments :! 0 , verbatimStrings :! 0 , types : R }),
[ "cs" ]); p ( v ({ keywords : N , cStyleComments :! 0 }),[ "java" ]); p ( v ({ keywords : y , hashComments :! 0 , multiLineStrings :! 0 }),[ "bash" , "bsh" , "csh" , "sh" ]); p ( v ({ keywords : P , hashComments :! 0 , multiLineStrings :! 0 , tripleQuotedStrings :! 0 }),[ "cv" , "py" , "python" ]); p ( v ({ keywords : "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END" , hashComments :! 0 , multiLineStrings :! 0 , regexLiterals : 2 }),[ "perl" , "pl" , "pm" ]); p ( v ({ keywords : Q ,
hashComments :! 0 , multiLineStrings :! 0 , regexLiterals :! 0 }),[ "rb" , "ruby" ]); p ( v ({ keywords : E , cStyleComments :! 0 , regexLiterals :! 0 }),[ "javascript" , "js" ]); p ( v ({ keywords : "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes" , hashComments : 3 , cStyleComments :! 0 , multilineStrings :! 0 , tripleQuotedStrings :! 0 , regexLiterals :! 0 }),[ "coffee" ]); p ( v ({ keywords : W , cStyleComments :! 0 , multilineStrings :! 0 }),[ "rc" , "rs" , "rust" ]);
p ( C ([],[[ "str" , /^[\S\s]+/ ]]),[ "regex" ]); var Y = D . PR = { createSimpleLexer : C , registerLangHandler : p , sourceDecorator : v , PR_ATTRIB_NAME : "atn" , PR_ATTRIB_VALUE : "atv" , PR_COMMENT : "com" , PR_DECLARATION : "dec" , PR_KEYWORD : "kwd" , PR_LITERAL : "lit" , PR_NOCODE : "nocode" , PR_PLAIN : "pln" , PR_PUNCTUATION : "pun" , PR_SOURCE : "src" , PR_STRING : "str" , PR_TAG : "tag" , PR_TYPE : "typ" , prettyPrintOne : D . prettyPrintOne = function ( a , d , g ){ var b = document . createElement ( "div" ); b . innerHTML = "<pre>" + a + "</pre>" ; b = b . firstChild ; g && J ( b , g , ! 0 ); K ({ h : d , j : g , c : b , i : 1 });
return b . innerHTML }, prettyPrint : D . prettyPrint = function ( a , d ){ function g (){ for ( var b = D . PR_SHOULD_USE_CONTINUATION ? c . now () + 250 : Infinity ; i < p . length && c . now () < b ; i ++ ){ for ( var d = p [ i ], j = h , k = d ; k = k . previousSibling ;){ var m = k . nodeType , o = ( m === 7 || m === 8 ) && k . nodeValue ; if ( o ?! /^\??prettify\b/ . test ( o ) : m !== 3 || /\S/ . test ( k . nodeValue )) break ; if ( o ){ j = {}; o . replace ( /\b(\w+)=([\w%+\-.:]+)/g , function ( a , b , c ){ j [ b ] = c }); break }} k = d . className ; if (( j !== h || e . test ( k )) &&! v . test ( k )){ m =! 1 ; for ( o = d . parentNode ; o ; o = o . parentNode ) if ( f . test ( o . tagName ) &&
o . className && e . test ( o . className )){ m =! 0 ; break } if ( ! m ){ d . className += " prettyprinted" ; m = j . lang ; if ( ! m ){ var m = k . match ( n ), y ; if ( ! m && ( y = U ( d )) && t . test ( y . tagName )) m = y . className . match ( n ); m && ( m = m [ 1 ])} if ( w . test ( d . tagName )) o = 1 ; else var o = d . currentStyle , u = s . defaultView , o = ( o = o ? o . whiteSpace : u && u . getComputedStyle ? u . getComputedStyle ( d , q ). getPropertyValue ( "white-space" ) : 0 ) && "pre" === o . substring ( 0 , 3 ); u = j . linenums ; if ( ! ( u = u === "true" ||+ u )) u = ( u = k . match ( /\blinenums\b(?::(\d+))?/ )) ? u [ 1 ] && u [ 1 ]. length ?+ u [ 1 ] :! 0 :! 1 ; u && J ( d , u , o ); r =
{ h : m , c : d , j : u , i : o }; K ( r )}}} i < p . length ? setTimeout ( g , 250 ) : "function" === typeof a && a ()} for ( var b = d || document . body , s = b . ownerDocument || document , b = [ b . getElementsByTagName ( "pre" ), b . getElementsByTagName ( "code" ), b . getElementsByTagName ( "xmp" )], p = [], m = 0 ; m < b . length ; ++ m ) for ( var j = 0 , k = b [ m ]. length ; j < k ; ++ j ) p . push ( b [ m ][ j ]); var b = q , c = Date ; c . now || ( c = { now : function (){ return + new Date }}); var i = 0 , r , n = /\blang(?:uage)?-([\w.]+)(?!\S)/ , e = /\bprettyprint\b/ , v = /\bprettyprinted\b/ , w = /pre|xmp/i , t = /^code$/i , f = /^(?:pre|code|xmp)$/i ,
h = {}; g ()}}; typeof define === "function" && define . amd && define ( "google-code-prettify" ,[], function (){ return Y })})();}()
PR . registerLangHandler ( PR . createSimpleLexer ([[ "pln" , /^[\t\n\f\r ]+/ , null , " \t\r\n\u000c" ]],[[ "str" , /^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/ , null ],[ "str" , /^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/ , null ],[ "lang-css-str" , /^url\(([^"')]+)\)/i ],[ "kwd" , /^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i , null ],[ "lang-css-kw" , /^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i ],[ "com" , /^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\// ],
[ "com" , /^(?:<\!--|--\>)/ ],[ "lit" , /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i ],[ "lit" , /^#[\da-f]{3,6}\b/i ],[ "pln" , /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i ],[ "pun" , /^[^\s\w"']+/ ]]),[ "css" ]); PR . registerLangHandler ( PR . createSimpleLexer ([],[[ "kwd" , /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i ]]),[ "css-kw" ]); PR . registerLangHandler ( PR . createSimpleLexer ([],[[ "str" , /^[^"')]+/ ]]),[ "css-str" ]);
( function () {
var App , mod ,
__indexOf = []. indexOf || function ( item ) { for ( var i = 0 , l = this . length ; i < l ; i ++ ) { if ( i in this && this [ i ] === item ) return i ; } return - 1 ; };
App = App || {};
App . init = function () {
var mouseDemo ;
$ . notify . defaults ({
className : 'success'
});
App . codeRunner ();
App . posChooser ();
$ ( document ). on ( 'click' , "a[data-download]" , function ( e ) {
var name , url ;
if ( $ . compile ) {
url = $ ( this ). attr ( 'href' );
name = $ ( this ). attr ( 'data-name' ) || 'lib' ;
$ . compile . fetch ( name , url ). download ( name );
ga ( 'send' , 'event' , 'download' , name );
e . preventDefault ();
return false ;
}
return true ;
});
mouseDemo = $ ( ".demo-mouse" );
return $ ( '.summary' ). hover ( function () {
return mouseDemo . addClass ( "over" );
}, function () {
return mouseDemo . removeClass ( "over" );
});
};
$ ( App . init );
App = window . App = App || {};
2014-01-18 20:59:43 +11:00
window . BuildController = function ( $scope , $timeout ) {
2014-01-18 20:51:42 +11:00
var elem , getStyleName ;
$scope . premadeStyles = [
{
name : "bootstrap"
}, {
name : "metro" ,
css : true ,
global : true ,
test : function ( text ) {
return {
title : 'Email Notification' ,
text : 'You received an e-mail from your boss. You should read it right now!' ,
image : "<img src='examples/images/Mail.png'/>"
};
}
}
];
$ ( ".build-tool-loading" ). hide ();
$ ( ".build-tool-toggle" ). show ();
App . buildTool = $scope ;
$scope . styles = [];
$scope . addStyle = function ( code , premade ) {
return $scope . styles . push ({
active : true ,
code : code ,
premade : premade
});
};
$scope . settings = {
minify : false ,
"default" : $scope . styles [ 0 ]
};
$scope . loadStyle = function () {
var baseUrl , style ;
style = $scope . premadeStyle ;
if ( ! style ) {
return ;
}
2014-01-18 20:59:43 +11:00
$scope . premadeStyle = null ;
2014-01-18 20:51:42 +11:00
baseUrl = "dist/styles/" + style . name + "/notify-" + style . name ;
$ . ajax ({
url : "" + baseUrl + ".js" ,
dataType : 'text' ,
success : function ( js ) {
if ( style . css ) {
return $ . ajax ({
url : "" + baseUrl + ".css" ,
dataType : 'text' ,
success : function ( css ) {
css = css . replace ( /(.+)$/mg , '"$1\\n"+' );
$scope . addStyle ( "" + js + "\n$.notify.insertCSS(\n" + css + "\"\");" , style );
return $scope . $digest ();
}
});
} else {
$scope . addStyle ( js , style );
return $scope . $digest ();
}
}
});
};
2014-01-18 20:59:43 +11:00
$scope . premadeStyle = $scope . premadeStyles [ 0 ];
$scope . loadStyle ;
2014-01-18 20:51:42 +11:00
$scope . toggle = function () {
$ ( ".build-tool-toggle" ). toggleClass ( 'active' );
return $ ( ".build-tool" ). toggle ( 400 );
};
elem = $ ( ".build-tool-toggle" ). click ( $scope . toggle );
$scope . active = function ( scope , prop ) {
return scope [ prop ] = ! scope [ prop ];
};
$scope . useDefault = function ( style ) {
return $scope . settings [ "default" ] = style ;
};
$scope [ "delete" ] = function ( i ) {
return $scope . styles . splice ( i , 1 );
};
getStyleName = function ( style ) {
var m ;
m = style . code . match ( /\$\.notify\.addStyle\('(["\w-]+)'/ );
if ( ! m ) {
m = style . code . match ( /\$\.notify\.addStyle\("(['\w-]+)"/ );
}
if ( ! m ) {
return null ;
}
return m [ 1 ];
};
$scope . test = function ( event , style , global ) {
2014-01-18 20:59:43 +11:00
var className , classes , code , contentText , e , name , notifyStyle , obj , rand , testBtn , _ref ;
2014-01-18 20:51:42 +11:00
testBtn = $ ( event . target );
contentText = testBtn . parent (). parent (). find ( '.code' );
code = style . code ;
if ( ! code ) {
contentText . notify ( "No code" , "error" );
return ;
}
name = getStyleName ( style );
if ( ! name ) {
contentText . notify ( "Style name not found" , "error" );
}
if ( code !== style . lastEval ) {
try {
eval ( code );
style . lastEval = code ;
} catch ( _error ) {
e = _error ;
contentText . notify ( e , "error" );
return ;
}
}
notifyStyle = $ . notify . getStyle ( name );
if ( ! notifyStyle ) {
testBtn . notify ( "No style added" , "error" );
return ;
}
classes = Object . keys ( notifyStyle . classes );
rand = Math . floor ( Math . random () * classes . length );
className = classes [ rand ];
obj = className === 'base' ? 'no class' : "'" + className + "'" ;
2014-01-18 20:59:43 +11:00
if (( _ref = style . premade ) != null ? _ref . test : void 0 ) {
2014-01-18 20:51:42 +11:00
obj = style . premade . test ( obj );
}
try {
if ( global ) {
return $ . notify ( obj , {
style : name ,
className : className
});
} else {
return testBtn . notify ( obj , {
style : name ,
className : className
});
}
} catch ( _error ) {
e = _error ;
testBtn . notify ( e , "error" );
}
};
return $scope . build = function () {
var c , done , names , styles ;
if ( $scope . building ) {
return ;
}
$scope . building = true ;
done = function () {
ga ( 'send' , 'event' , 'download' , 'notify-custom.js' );
$scope . building = false ;
return $scope . $digest ();
};
c = $ . compile . fetch ( 'core' , 'dist/notify.js' ). set ( 'set-defaults' , "$.notify.defaults({\n style: \"" + ( getStyleName ( $scope . settings [ "default" ])) + "\"\n});" );
names = {};
styles = [];
$ . each ( $scope . styles , function ( i , s ) {
var name ;
if ( ! s . active ) {
return ;
}
name = getStyleName ( s );
if ( ! name ) {
return ;
}
if ( names [ name ]) {
$ . notify ( "Skipping style '" + name + "' as it already exists" , "warn" );
return ;
}
names [ name ] = 1 ;
name = "style-" + i + "-" + name ;
styles . push ( name );
return c . set ( name , s . code );
});
c . run ( 'concat' , {
src : [ 'core' , 'set-defaults' ]. concat ( styles ),
dest : 'result'
});
if ( $scope . settings . minify ) {
return c . run ( 'uglify' , {
src : 'result' ,
dest : 'result-min'
}). download ( 'result-min' , 'notify-custom.min.js' ). get ( 'result-min' , done );
} else {
return c . download ( 'result' , 'notify-custom.js' ). get ( 'result' , done );
}
};
};
App = App || {};
App . codeRunner = function () {
var addCSS , ranSnippet , runSnippet ;
prettyPrint ();
addCSS = function ( e ) {
var pre ;
pre = $ ( this );
return $ . notify . insertCSS ( pre . text ());
};
ranSnippet = false ;
runSnippet = function ( e ) {
var pre ;
if ( e && e . type === 'click' ) {
ranSnippet = true ;
}
pre = $ ( this );
pre . addClass ( 'running' );
eval ( pre . text ());
setTimeout ( function () {
return pre . removeClass ( 'running' );
}, 500 );
return null ;
};
setTimeout ( function () {
if ( ! ranSnippet ) {
return $ . notify ( 'Tip: You can run the code snippets by clicking them' , {
className : 'info' ,
position : 'b l'
});
}
}, 30 * 1000 );
$ ( document ). on ( 'click' , '.prettyprint.runnable' , runSnippet );
$ ( ".prettyprint.auto-run" ). each ( runSnippet );
return $ ( ".prettyprint.auto-add" ). each ( addCSS );
};
App = App || {};
mod = function ( v , m ) {
return ( v < 0 ? m : 0 ) + v % m ;
};
App . posChooser = function () {
var currPos , currType , hPos , mPos , open , p1 , p2 , p2s , positions , vPos , _i , _j , _len , _len1 ;
if ( /MSIE (\d)/ . test ( window . navigator . userAgent ) && parseInt ( RegExp . $1 , 10 ) < 8 ) {
return ;
}
positions = [];
mPos = [ 'top' , 'right' , 'bottom' , 'left' ];
vPos = [ 'top' , 'middle' , 'bottom' ];
hPos = [ 'left' , 'center' , 'right' ];
for ( _i = 0 , _len = mPos . length ; _i < _len ; _i ++ ) {
p1 = mPos [ _i ];
p2s = __indexOf . call ( vPos , p1 ) >= 0 ? hPos : vPos ;
if ( p1 === 'bottom' || p1 === 'left' ) {
p2s . reverse ();
}
for ( _j = 0 , _len1 = p2s . length ; _j < _len1 ; _j ++ ) {
p2 = p2s [ _j ];
positions . push ( "" + p1 + " " + p2 );
}
}
currPos = 'top left' ;
currType = 'elem' ;
open = function () {
var opts ;
opts = {
position : currPos
};
if ( currType === 'elem' ) {
return $ ( ".pos-chooser-demo" ). notify ( "" + currPos , opts );
} else {
return $ . notify ( "" + currPos , opts );
}
};
$ ( ".pos-chooser" ). knob ({
stopper : false ,
change : function ( val ) {
val = mod ( val , positions . length );
currPos = positions [ val ];
return open ();
}
});
$ ( ".pos-chooser" ). siblings (). first (). addClass ( ".pos-chooser-dial" );
return $ ( document ). on ( 'click' , 'input[name=pos-type]' , function () {
currType = $ ( this ). val ();
return open ();
});
};
}). call ( this );